Skip to content

require('sass.js') slows down TS Server #19458

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mjbvz opened this issue Oct 24, 2017 · 15 comments
Closed

require('sass.js') slows down TS Server #19458

mjbvz opened this issue Oct 24, 2017 · 15 comments
Assignees
Labels
Bug A bug in TypeScript

Comments

@mjbvz
Copy link
Contributor

mjbvz commented Oct 24, 2017

TypeScript Version: 2.6.1-insiders

Code
In a new project

npm i sass.js

With an index.js file:

require('sass.js')

Trigger intellisense in the file

Expected behavior:
Should return suggestions pretty quickly.

Actual behavior:
Delay of a few second before suggestions are returned

// @octref

@mjbvz
Copy link
Contributor Author

mjbvz commented Oct 24, 2017

Here's a tsserver log of this:

Info 0    [15:32:48.735] Binding...
Info 1    [15:32:48.742] request:
    {"seq":0,"type":"request","command":"configure","arguments":{"hostInfo":"vscode"}}
Info 2    [15:32:48.743] Host information vscode
Info 3    [15:32:48.743] response:
    {"seq":0,"type":"response","command":"configure","request_seq":0,"success":true}
Perf 4    [15:32:48.743] 0::configure: async elapsed time (in milliseconds) 1.1560
Info 5    [15:32:48.745] request:
    {"seq":1,"type":"request","command":"compilerOptionsForInferredProjects","arguments":{"options":{"module":"CommonJS","target":"ES6","allowSyntheticDefaultImports":true,"allowNonTsExtensions":true,"allowJs":true,"jsx":"Preserve","checkJs":true}}}
Info 6    [15:32:48.746] Scheduled: *refreshInferredProjects*
Perf 7    [15:32:48.746] 1::compilerOptionsForInferredProjects: elapsed time (in milliseconds) 0.9534
Info 8    [15:32:48.746] response:
    {"seq":0,"type":"response","command":"compilerOptionsForInferredProjects","request_seq":1,"success":true,"body":true}
Info 9    [15:32:48.746] request:
    {"seq":2,"type":"request","command":"open","arguments":{"file":"/Users/matb/projects/san/index.ts","fileContent":"require('sass.js')\n","scriptKindName":"TS","projectRootPath":"/Users/matb/projects/san"}}
Info 10   [15:32:48.747] Search path: /Users/matb/projects/san
Info 11   [15:32:48.748] ConfigFilePresence:: Current Watches: :: File: /Users/matb/projects/san/tsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /Users/matb/projects/san/index.ts Status: File added to open files impacted by this config file
Info 12   [15:32:48.748] ConfigFilePresence:: Current Watches: :: File: /Users/matb/projects/san/jsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /Users/matb/projects/san/index.ts Status: File added to open files impacted by this config file
Info 13   [15:32:48.748] For info: /Users/matb/projects/san/index.ts :: No config files found.
Info 14   [15:32:48.789] ConfigFilePresence:: Current Watches: :: File: /Users/matb/projects/san/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 15   [15:32:48.790] FileWatcher:: Added: PathInfo: /Users/matb/projects/san/tsconfig.json Project:  WatchType: Config file for the inferred project root
Info 16   [15:32:48.790] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/san/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 17   [15:32:48.790] ConfigFilePresence:: Current Watches: :: File: /Users/matb/projects/san/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 18   [15:32:48.790] FileWatcher:: Added: PathInfo: /Users/matb/projects/san/jsconfig.json Project:  WatchType: Config file for the inferred project root
Info 19   [15:32:48.790] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/san/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 20   [15:32:48.790] ConfigFilePresence:: Current Watches: :: File: /Users/matb/projects/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 21   [15:32:48.790] FileWatcher:: Added: PathInfo: /Users/matb/projects/tsconfig.json Project:  WatchType: Config file for the inferred project root
Info 22   [15:32:48.790] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 23   [15:32:48.790] ConfigFilePresence:: Current Watches: :: File: /Users/matb/projects/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 24   [15:32:48.790] FileWatcher:: Added: PathInfo: /Users/matb/projects/jsconfig.json Project:  WatchType: Config file for the inferred project root
Info 25   [15:32:48.790] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 26   [15:32:48.791] ConfigFilePresence:: Current Watches: :: File: /Users/matb/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 27   [15:32:48.791] FileWatcher:: Added: PathInfo: /Users/matb/tsconfig.json Project:  WatchType: Config file for the inferred project root
Info 28   [15:32:48.791] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 29   [15:32:48.791] ConfigFilePresence:: Current Watches: :: File: /Users/matb/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 30   [15:32:48.791] FileWatcher:: Added: PathInfo: /Users/matb/jsconfig.json Project:  WatchType: Config file for the inferred project root
Info 31   [15:32:48.791] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 32   [15:32:48.791] ConfigFilePresence:: Current Watches: :: File: /Users/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 33   [15:32:48.791] FileWatcher:: Added: PathInfo: /Users/tsconfig.json Project:  WatchType: Config file for the inferred project root
Info 34   [15:32:48.791] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 35   [15:32:48.791] ConfigFilePresence:: Current Watches: :: File: /Users/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 36   [15:32:48.791] FileWatcher:: Added: PathInfo: /Users/jsconfig.json Project:  WatchType: Config file for the inferred project root
Info 37   [15:32:48.791] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 38   [15:32:48.791] ConfigFilePresence:: Current Watches: :: File: /tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 39   [15:32:48.791] FileWatcher:: Added: PathInfo: /tsconfig.json Project:  WatchType: Config file for the inferred project root
Info 40   [15:32:48.791] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 41   [15:32:48.791] ConfigFilePresence:: Current Watches: :: File: /jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Open file was set as Inferred root
Info 42   [15:32:48.791] FileWatcher:: Added: PathInfo: /jsconfig.json Project:  WatchType: Config file for the inferred project root
Info 43   [15:32:48.791] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles:  Status: Updated the callback
Info 44   [15:32:48.792] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 45   [15:32:48.806] FileWatcher:: Added: PathInfo: /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/lib.es6.d.ts Project:  WatchType: Closed Script info
Info 46   [15:32:49.262] DirectoryWatcher recursive:: Added: PathInfo: /Users/matb/projects/san/node_modules/@types Project: /dev/null/inferredProject1* WatchType: Type root directory
Info 47   [15:32:49.263] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: true Elapsed: 471ms
Info 48   [15:32:49.264] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 49   [15:32:49.268] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 4ms
Info 50   [15:32:49.269] Project '/dev/null/inferredProject1*' (Inferred) 0
Info 50   [15:32:49.269] 	Files (2)
	/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/lib.es6.d.ts
	/Users/matb/projects/san/index.ts

Info 50   [15:32:49.269] -----------------------------------------------
Info 50   [15:32:49.269] Open files: 
Info 50   [15:32:49.269] 	/Users/matb/projects/san/index.ts
Perf 50   [15:32:49.269] 2::open: async elapsed time (in milliseconds) 522.7722
Info 51   [15:32:49.269] request:
    {"seq":3,"type":"request","command":"open","arguments":{"file":"/Users/matb/projects/san/x.js","fileContent":"require('sass.js')\n","scriptKindName":"JS","projectRootPath":"/Users/matb/projects/san"}}
Info 52   [15:32:49.269] Search path: /Users/matb/projects/san
Info 53   [15:32:49.269] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/san/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles: /Users/matb/projects/san/x.js Status: File added to open files impacted by this config file
Info 54   [15:32:49.269] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/san/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts OtherOpenFiles: /Users/matb/projects/san/x.js Status: File added to open files impacted by this config file
Info 55   [15:32:49.269] For info: /Users/matb/projects/san/x.js :: No config files found.
Info 56   [15:32:49.269] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/san/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 57   [15:32:49.269] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/san/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 58   [15:32:49.269] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 59   [15:32:49.269] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/projects/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 60   [15:32:49.269] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 61   [15:32:49.269] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/matb/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 62   [15:32:49.270] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 63   [15:32:49.270] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /Users/jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 64   [15:32:49.270] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /tsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 65   [15:32:49.270] ConfigFilePresence:: Current Watches: Config file for the inferred project root:: File: /jsconfig.json Currently impacted open files: RootsOfInferredProjects: /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js OtherOpenFiles:  Status: Open file was set as Inferred root
Info 66   [15:32:49.270] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 67   [15:32:49.279] DirectoryWatcher recursive:: Added: PathInfo: /Users/matb/projects/san Project: /dev/null/inferredProject1* WatchType: Directory of Failed lookup locations in module resolution
Info 68   [15:32:49.284] FileWatcher:: Added: PathInfo: /Users/matb/projects/san/node_modules/sass.js/dist/sass.sync.js Project:  WatchType: Closed Script info
Info 69   [15:32:53.116] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: true Elapsed: 3846ms
Info 70   [15:32:53.117] Project '/dev/null/inferredProject1*' (Inferred) 0
Info 70   [15:32:53.117] 	Files (4)
	/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/lib.es6.d.ts
	/Users/matb/projects/san/index.ts
	/Users/matb/projects/san/node_modules/sass.js/dist/sass.sync.js
	/Users/matb/projects/san/x.js

Info 70   [15:32:53.117] -----------------------------------------------
Info 70   [15:32:53.117] Open files: 
Info 70   [15:32:53.117] 	/Users/matb/projects/san/index.ts
Info 70   [15:32:53.117] 	/Users/matb/projects/san/x.js
Perf 70   [15:32:53.117] 3::open: async elapsed time (in milliseconds) 3848.0385
Info 71   [15:32:53.117] Running: *refreshInferredProjects*
Info 72   [15:32:53.117] refreshInferredProjects: updating project structure from ...
Info 73   [15:32:53.117] Project '/dev/null/inferredProject1*' (Inferred) 0
Info 73   [15:32:53.117] 	Files (4)
	/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/lib.es6.d.ts
	/Users/matb/projects/san/index.ts
	/Users/matb/projects/san/node_modules/sass.js/dist/sass.sync.js
	/Users/matb/projects/san/x.js

Info 73   [15:32:53.117] -----------------------------------------------
Info 73   [15:32:53.117] Open files: 
Info 73   [15:32:53.117] 	/Users/matb/projects/san/index.ts
Info 73   [15:32:53.118] 	/Users/matb/projects/san/x.js
Info 73   [15:32:53.118] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 74   [15:32:53.118] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Info 75   [15:32:53.118] refreshInferredProjects: updated project structure ...
Info 76   [15:32:53.118] Project '/dev/null/inferredProject1*' (Inferred) 0
Info 76   [15:32:53.118] 	Files (4)
	/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib/lib.es6.d.ts
	/Users/matb/projects/san/index.ts
	/Users/matb/projects/san/node_modules/sass.js/dist/sass.sync.js
	/Users/matb/projects/san/x.js

Info 76   [15:32:53.118] -----------------------------------------------
Info 76   [15:32:53.118] Open files: 
Info 76   [15:32:53.118] 	/Users/matb/projects/san/index.ts
Info 76   [15:32:53.118] 	/Users/matb/projects/san/x.js
Info 76   [15:32:53.118] got projects updated in background, updating diagnostics for /Users/matb/projects/san/index.ts,/Users/matb/projects/san/x.js
Info 77   [15:32:53.119] event:
    {"seq":0,"type":"event","event":"projectsUpdatedInBackground","body":{"openFiles":["/Users/matb/projects/san/index.ts","/Users/matb/projects/san/x.js"]}}
Info 78   [15:32:53.120] request:
    {"seq":4,"type":"request","command":"completions","arguments":{"file":"/Users/matb/projects/san/x.js","line":2,"offset":1}}
Info 79   [15:32:53.120] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 80   [15:32:53.120] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Perf 81   [15:32:53.142] 4::completions: elapsed time (in milliseconds) 22.1265
Info 82   [15:32:53.142] response:
    {"seq":0,"type":"response","command":"completions","request_seq":4,"success":true,"body":[{"name":"ANGLE_instanced_arrays","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ActiveXObject","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AnalyserNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AnimationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ApplicationCache","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ArrayBuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Attr","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Audio","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"AudioBuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioBufferSourceNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioContext","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioDestinationNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioListener","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioParam","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioProcessingEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioTrack","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioTrackList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"BarProp","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"BeforeUnloadEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"BiquadFilterNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Blob","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Boolean","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"BroadcastChannel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CDATASection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSS","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSConditionRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSFontFaceRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSGroupingRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSImportRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSKeyframeRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSKeyframesRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSMediaRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSNamespaceRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSPageRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSRuleList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSStyleDeclaration","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSStyleRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSStyleSheet","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSSupportsRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Cache","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CacheStorage","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CanvasGradient","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CanvasPattern","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CanvasRenderingContext2D","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ChannelMergerNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ChannelSplitterNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CharacterData","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ClientRect","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ClientRectList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ClipboardEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CloseEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Comment","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CompositionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Console","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ConvolverNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Coordinates","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Crypto","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CryptoKey","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CryptoKeyPair","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CustomEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMException","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMImplementation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMParser","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMSettableTokenList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMStringList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMStringMap","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMTokenList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataCue","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataTransfer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataTransferItem","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataTransferItemList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataView","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Date","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeferredPermissionRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DelayNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceAcceleration","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceLightEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceMotionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceOrientationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceRotationRate","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Document","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DocumentFragment","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DocumentType","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DragEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DynamicsCompressorNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"EXT_frag_depth","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"EXT_texture_filter_anisotropic","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Element","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Enumerator","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Error","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ErrorEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"EvalError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Event","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"EventTarget","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ExtensionScriptApis","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"External","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"File","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FileList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FileReader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Float32Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Float64Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FocusEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FocusNavigationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FormData","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Function","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"GainNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Gamepad","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"GamepadButton","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"GamepadEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"GeneratorFunction","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Geolocation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAllCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAnchorElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAppletElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAreaElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAreasCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAudioElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLBRElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLBaseElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLBaseFontElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLBodyElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLButtonElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLCanvasElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDListElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDataElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDataListElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDetailsElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDialogElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDirectoryElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDivElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDocument","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLEmbedElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFieldSetElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFontElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFormControlsCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFormElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFrameElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFrameSetElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLHRElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLHeadElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLHeadingElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLHtmlElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLIFrameElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLImageElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLInputElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLLIElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLLabelElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLLegendElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLLinkElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMainElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMapElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMarqueeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMediaElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMenuElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMetaElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMeterElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLModElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOListElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLObjectElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOptGroupElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOptionElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOptionsCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOutputElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLParagraphElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLParamElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLPictureElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLPreElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLProgressElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLQuoteElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLScriptElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLSelectElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLSourceElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLSpanElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLStyleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLSummaryElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableCaptionElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableCellElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableColElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableDataCellElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableHeaderCellElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableRowElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableSectionElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTemplateElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTextAreaElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTimeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTitleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTrackElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLUListElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLUnknownElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLVideoElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HashChangeEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Headers","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"History","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBCursor","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBCursorWithValue","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBDatabase","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBFactory","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBIndex","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBKeyRange","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBObjectStore","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBOpenDBRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBTransaction","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBVersionChangeEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IIRFilterNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Image","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ImageData","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Infinity","kind":"const","kindModifiers":"declare","sortText":"0"},{"name":"Int16Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Int32Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Int8Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IntersectionObserver","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IntersectionObserverEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Intl","kind":"module","kindModifiers":"declare","sortText":"0"},{"name":"JSON","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"KeyboardEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ListeningStateChangedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Location","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"LongRunningScriptDetectedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSApp","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSAppAsyncOperation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSAssertion","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSBlobBuilder","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSCredentials","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSFIDOCredentialAssertion","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSFIDOSignature","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSFIDOSignatureAssertion","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSGesture","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSGestureEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSGraphicsTrust","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSHTMLWebViewElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSInputMethodContext","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSManipulationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeyError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeyMessageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeyNeededEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeySession","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeys","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSPointerEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSRangeCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSSiteModeEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSStream","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSStreamReader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSWebViewAsyncOperation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSWebViewSettings","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Map","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Math","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaDeviceInfo","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaDevices","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaElementAudioSourceNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaEncryptedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeyMessageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeySession","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeyStatusMap","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeySystemAccess","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeys","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaQueryList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaSource","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStream","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamAudioSourceNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamErrorEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamTrack","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamTrackEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MessageChannel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MessageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MessagePort","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MimeType","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MimeTypeArray","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MouseEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MutationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MutationObserver","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MutationRecord","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NaN","kind":"const","kindModifiers":"declare","sortText":"0"},{"name":"NamedNodeMap","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NavigationCompletedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NavigationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NavigationEventWithReferrer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Navigator","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Node","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NodeFilter","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NodeIterator","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NodeList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Notification","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Number","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_element_index_uint","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_standard_derivatives","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_texture_float","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_texture_float_linear","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_texture_half_float","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_texture_half_float_linear","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Object","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OfflineAudioCompletionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OfflineAudioContext","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Option","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"OscillatorNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OverflowEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PageTransitionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PannerNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Path2D","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PaymentAddress","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PaymentRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PaymentRequestUpdateEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PaymentResponse","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerfWidgetExternal","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Performance","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceMark","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceMeasure","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceNavigation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceNavigationTiming","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceResourceTiming","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceTiming","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PeriodicWave","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PermissionRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PermissionRequestedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Plugin","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PluginArray","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PointerEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PopStateEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Position","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PositionError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ProcessingInstruction","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ProgressEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Promise","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Proxy","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"PushManager","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PushSubscription","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PushSubscriptionOptions","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCDTMFToneChangeEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCDtlsTransport","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCDtlsTransportStateChangedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCDtmfSender","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceCandidate","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceCandidatePairChangedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceGatherer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceGathererEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceTransport","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceTransportStateChangedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCPeerConnection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCPeerConnectionIceEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCRtpReceiver","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCRtpSender","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCSessionDescription","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCSrtpSdesTransport","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCSsrcConflictEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCStatsProvider","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Range","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RangeError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ReadableStream","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ReadableStreamReader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ReferenceError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Reflect","kind":"module","kindModifiers":"declare","sortText":"0"},{"name":"RegExp","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Request","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Response","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAngle","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedAngle","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedBoolean","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedEnumeration","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedInteger","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedLength","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedLengthList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedNumber","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedNumberList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedPreserveAspectRatio","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedRect","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedString","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedTransformList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGCircleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGClipPathElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGComponentTransferFunctionElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGDefsElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGDescElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGElementInstance","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGElementInstanceList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGEllipseElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEBlendElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEColorMatrixElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEComponentTransferElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFECompositeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEConvolveMatrixElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEDiffuseLightingElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEDisplacementMapElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEDistantLightElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFloodElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFuncAElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFuncBElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFuncGElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFuncRElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEGaussianBlurElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEImageElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEMergeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEMergeNodeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEMorphologyElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEOffsetElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEPointLightElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFESpecularLightingElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFESpotLightElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFETileElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFETurbulenceElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFilterElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGForeignObjectElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGGElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGGradientElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGGraphicsElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGImageElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGLength","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGLengthList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGLineElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGLinearGradientElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGMarkerElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGMaskElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGMatrix","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGMetadataElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGNumber","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGNumberList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSeg","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegArcAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegArcRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegClosePath","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoCubicAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoCubicRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoCubicSmoothAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoCubicSmoothRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoQuadraticAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoQuadraticRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoQuadraticSmoothAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoQuadraticSmoothRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoHorizontalAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoHorizontalRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoVerticalAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoVerticalRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegMovetoAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegMovetoRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPatternElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPoint","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPointList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPolygonElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPolylineElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPreserveAspectRatio","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGRadialGradientElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGRect","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGRectElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGSVGElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGScriptElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGStopElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGStringList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGStyleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGSwitchElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGSymbolElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTSpanElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTextContentElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTextElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTextPathElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTextPositioningElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTitleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTransform","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTransformList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGUnitTypes","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGUseElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGViewElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGZoomAndPan","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGZoomEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SafeArray","kind":"class","kindModifiers":"declare","sortText":"0"},{"name":"ScopedCredential","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ScopedCredentialInfo","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Screen","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ScriptNotifyEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ScriptProcessorNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Selection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ServiceWorker","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ServiceWorkerContainer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ServiceWorkerMessageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ServiceWorkerRegistration","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Set","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SourceBuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SourceBufferList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SpeechSynthesis","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SpeechSynthesisEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SpeechSynthesisUtterance","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SpeechSynthesisVoice","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StereoPannerNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Storage","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StorageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"String","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StyleMedia","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StyleSheet","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StyleSheetList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StyleSheetPageList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SubtleCrypto","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Symbol","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SyncManager","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SyntaxError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Text","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextMetrics","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextTrack","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextTrackCue","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextTrackCueList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextTrackList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TimeRanges","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Touch","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TouchEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TouchList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TrackEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TransitionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TreeWalker","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TypeError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"UIEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"URIError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"URL","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"URLSearchParams","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Uint16Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Uint32Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Uint8Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Uint8ClampedArray","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"UnviewableContentIdentifiedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"VBArray","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ValidityState","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"VarDate","kind":"class","kindModifiers":"declare","sortText":"0"},{"name":"VideoPlaybackQuality","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"VideoTrack","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"VideoTrackList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WEBGL_compressed_texture_s3tc","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WEBGL_debug_renderer_info","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WEBGL_depth_texture","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WScript","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"WaveShaperNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WeakMap","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WeakSet","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebAuthentication","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebAuthnAssertion","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLActiveInfo","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLBuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLContextEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLFramebuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLObject","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLProgram","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLRenderbuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLRenderingContext","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLShader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLShaderPrecisionFormat","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLTexture","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLUniformLocation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitCSSMatrix","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitDirectoryEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitDirectoryReader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitFileEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitFileSystem","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitPoint","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebSocket","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WheelEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Window","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Worker","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XMLDocument","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XMLHttpRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XMLHttpRequestUpload","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XMLSerializer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XPathEvaluator","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XPathExpression","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XPathNSResolver","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XPathResult","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XSLTProcessor","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"abstract","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"addEventListener","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"alert","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"any","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"applicationCache","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"as","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"async","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"atob","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"await","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"blur","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"boolean","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"break","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"btoa","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"caches","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"cancelAnimationFrame","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"captureEvents","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"case","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"catch","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"class","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"clearImmediate","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"clearInterval","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"clearTimeout","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"clientInformation","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"close","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"closed","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"confirm","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"console","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"const","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"constructor","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"continue","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"createImageBitmap","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"crypto","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"customElements","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"debugger","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"declare","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"decodeURI","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"decodeURIComponent","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"default","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"defaultStatus","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"delete","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"departFocus","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"devicePixelRatio","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"dispatchEvent","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"do","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"doNotTrack","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"document","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"else","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"encodeURI","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"encodeURIComponent","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"enum","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"eval","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"event","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"export","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"extends","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"external","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"false","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"fetch","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"finally","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"focus","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"for","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"frameElement","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"frames","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"from","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"function","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"get","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"getComputedStyle","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"getMatchedCSSRules","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"getSelection","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"global","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"history","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"if","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"implements","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"import","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"importScripts","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"in","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"indexedDB","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"innerHeight","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"innerWidth","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"instanceof","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"interface","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"is","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"isFinite","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"isNaN","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"isSecureContext","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"keyof","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"length","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"let","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"localStorage","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"location","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"locationbar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"matchMedia","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"menubar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"module","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"moveBy","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"moveTo","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"msContentScript","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"msCredentials","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"msWriteProfilerMark","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"name","kind":"const","kindModifiers":"declare","sortText":"0"},{"name":"namespace","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"navigator","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"never","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"new","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"null","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"number","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"object","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"of","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"offscreenBuffering","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onabort","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onafterprint","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onbeforeprint","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onbeforeunload","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onblur","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oncanplay","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oncanplaythrough","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onchange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onclick","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oncompassneedscalibration","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oncontextmenu","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondblclick","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondevicelight","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondevicemotion","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondeviceorientation","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondrag","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragend","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragenter","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragleave","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragover","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragstart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondrop","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondurationchange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onemptied","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onended","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onerror","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onfocus","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onhashchange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oninput","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oninvalid","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onkeydown","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onkeypress","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onkeyup","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onload","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onloadeddata","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onloadedmetadata","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onloadstart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmessage","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmousedown","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseenter","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseleave","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmousemove","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseout","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseover","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseup","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmousewheel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturechange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturedoubletap","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgestureend","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturehold","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturestart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturetap","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsinertiastart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointercancel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerdown","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerenter","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerleave","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointermove","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerout","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerover","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerup","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onoffline","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ononline","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onorientationchange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpagehide","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpageshow","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpause","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onplay","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onplaying","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointercancel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerdown","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerenter","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerleave","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointermove","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerout","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerover","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerup","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpopstate","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onprogress","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onratechange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onreadystatechange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onreset","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onresize","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onscroll","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onseeked","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onseeking","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onselect","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onstalled","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onstorage","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onsubmit","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onsuspend","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontimeupdate","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontouchcancel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontouchend","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontouchmove","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontouchstart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onunload","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onvolumechange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onwaiting","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onwheel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"open","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"opener","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"orientation","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"outerHeight","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"outerWidth","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"package","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"pageXOffset","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"pageYOffset","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"parent","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"parseFloat","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"parseInt","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"performance","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"personalbar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"postMessage","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"print","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"private","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"prompt","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"protected","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"public","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"readonly","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"releaseEvents","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"removeEventListener","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"requestAnimationFrame","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"require","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"require","kind":"warning","kindModifiers":"","sortText":"1"},{"name":"resizeBy","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"resizeTo","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"return","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"screen","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"screenLeft","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"screenTop","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"screenX","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"screenY","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"scroll","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"scrollBy","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"scrollTo","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"scrollX","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"scrollY","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"scrollbars","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"self","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"sessionStorage","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"set","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"setImmediate","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"setInterval","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"setTimeout","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"speechSynthesis","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"static","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"status","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"statusbar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"stop","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"string","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"styleMedia","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"super","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"switch","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"symbol","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"this","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"throw","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"toString","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"toolbar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"top","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"true","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"try","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"type","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"typeof","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"undefined","kind":"var","kindModifiers":"","sortText":"0"},{"name":"undefined","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"var","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"void","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"webkitCancelAnimationFrame","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"webkitConvertPointFromNodeToPage","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"webkitConvertPointFromPageToNode","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"webkitRTCPeerConnection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"webkitRequestAnimationFrame","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"while","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"window","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"with","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"yield","kind":"keyword","kindModifiers":"","sortText":"0"}]}
Info 83   [15:32:53.146] request:
    {"seq":5,"type":"request","command":"navtree","arguments":{"file":"/Users/matb/projects/san/x.js"}}
Perf 84   [15:32:53.149] 5::navtree: elapsed time (in milliseconds) 2.1742
Info 85   [15:32:53.149] response:
    {"seq":0,"type":"response","command":"navtree","request_seq":5,"success":true,"body":{"text":"<global>","kind":"script","kindModifiers":"","spans":[{"start":{"line":1,"offset":1},"end":{"line":1,"offset":20}}]}}
Info 86   [15:32:53.162] request:
    {"seq":6,"type":"request","command":"geterr","arguments":{"delay":0,"files":["/Users/matb/projects/san/index.ts"]}}
Perf 87   [15:32:53.163] 6::geterr: async elapsed time (in milliseconds) 0.5506
Info 88   [15:32:53.163] request:
    {"seq":7,"type":"request","command":"geterr","arguments":{"delay":0,"files":["/Users/matb/projects/san/x.js"]}}
Info 89   [15:32:53.163] event:
    {"seq":0,"type":"event","event":"requestCompleted","body":{"request_seq":6}}
Perf 90   [15:32:53.163] 7::geterr: async elapsed time (in milliseconds) 0.2687
Info 91   [15:32:53.165] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 92   [15:32:53.165] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Info 93   [15:32:53.166] event:
    {"seq":0,"type":"event","event":"syntaxDiag","body":{"file":"/Users/matb/projects/san/x.js","diagnostics":[]}}
Info 94   [15:32:53.167] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 95   [15:32:53.167] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Info 96   [15:32:53.167] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 97   [15:32:53.167] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Info 98   [15:33:0.162] event:
    {"seq":0,"type":"event","event":"semanticDiag","body":{"file":"/Users/matb/projects/san/x.js","diagnostics":[{"start":{"line":1,"offset":1},"end":{"line":1,"offset":8},"text":"Cannot find name 'require'.","code":2304,"category":"error"}]}}
Info 99   [15:33:0.162] event:
    {"seq":0,"type":"event","event":"requestCompleted","body":{"request_seq":7}}

The bug seems to be triggered even if I create a jsconfig.json to exclude node_modules:

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "ES6"
    },
    "exclude": [
        "node_modules",
        "**/node_modules/*"
    ]
}

@mjbvz
Copy link
Contributor Author

mjbvz commented Oct 24, 2017

The problem does appear to be ./node_modules/sass.js/dist/sass.sync.js which contains some minified code. I also confirmed the same issue exists in TS 2.5 and 2.4

@mhegazy
Copy link
Contributor

mhegazy commented Oct 24, 2017

I am not seeing this locally.. i see a slight delay on the first completion, which is something i expect since the file is 3 MBs and we need to parse it. but after that completions almost instantaneously.. am i missing something in my setup?

from the log above, i see the time between open command and getting a completion command response is less than 1 sec.

@mhegazy mhegazy added the Needs More Info The issue still hasn't been fully clarified label Oct 24, 2017
@mjbvz
Copy link
Contributor Author

mjbvz commented Oct 24, 2017

Hmm, not sure. @octref and I have been able to reproduce it pretty reliably on mac using TS 2.6.1-20171019-insiders. I was using npm 5 and he was on yarn but I'm not sure if that makes any difference

I'm also not sure the full delay shows up in the tsserver log. Here's what I see for VS Code's communication with the TSServer for example:

[Trace  - 16:26:52] Sending request: completions (209). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "/Users/matb/projects/san/x.js",
    "line": 2,
    "offset": 1
}
[Trace  - 16:27:01] Response received: completions (209). Request took 12133 ms. Success: true 

The tsserver log for this same event:

Info 617  [16:26:48.619] request: {"seq":204,"type":"request","command":"open","arguments":{"file":"/Users/matb/projects/san/x.js","fileContent":"require('sass.js')\n","scriptKindName":"JS","projectRootPath":"/Users/matb/projects/san"}}
Info 618  [16:26:48.619] Search path: /Users/matb/projects/san
Info 619  [16:26:48.619] Config file name: /Users/matb/projects/san/tsconfig.json
Info 620  [16:26:48.632] Add watcher for: /Users/matb/projects/san
Info 621  [16:26:48.633] Add watcher for: /Users/matb/projects
Info 622  [16:26:48.633] Add watcher for: /Users/matb
Info 623  [16:26:48.633] Add watcher for: /Users
Info 624  [16:26:52.708] Scheduling throttled operation: {"projectName":"/dev/null/inferredProject1*","fileNames":["/Users/matb/projects/san/node_modules/typescript/lib/lib.es6.d.ts","/Users/matb/projects/san/x.js"],"compilerOptions":{"module":1,"target":2,"allowSyntheticDefaultImports":true,"allowNonTsExtensions":true,"allowJs":true,"jsx":1,"checkJs":true,"noEmitForJsFiles":true,"maxNodeModuleJsDepth":2},"typeAcquisition":{"enable":true,"include":[],"exclude":[]},"unresolvedImports":["crypto","fs","path"],"projectRootPath":"","kind":"discover"}
Info 625  [16:26:52.709] Scheduling request for: /dev/null/inferredProject1*
Info 626  [16:26:52.710] Project '/Users/matb/projects/san/tsconfig.json' (Configured) 0
Info 626  [16:26:52.710] 	/Users/matb/projects/san/node_modules/typescript/lib/lib.es6.d.ts
	/Users/matb/projects/san/index.ts

Info 626  [16:26:52.710] -----------------------------------------------
Info 626  [16:26:52.711] Project '/dev/null/inferredProject1*' (Inferred) 1
Info 626  [16:26:52.711] 	/Users/matb/projects/san/node_modules/typescript/lib/lib.es6.d.ts
	/Users/matb/projects/san/node_modules/sass.js/dist/sass.sync.js
	/Users/matb/projects/san/x.js

Info 626  [16:26:52.711] -----------------------------------------------
Info 626  [16:26:52.711] Open files: 
Info 626  [16:26:52.711] 	/Users/matb/projects/san/index.ts
Info 626  [16:26:52.711] 	/Users/matb/projects/san/x.js
Info 626  [16:26:52.711] event: {"seq":0,"type":"event","event":"configFileDiag","body":{"triggerFile":"/Users/matb/projects/san/x.js","configFile":"/Users/matb/projects/san/tsconfig.json","diagnostics":[]}}
Perf 627  [16:26:52.711] 204::open: async elapsed time (in milliseconds) 4092.5487
...
Info 639  [16:26:52.715] request: {"seq":209,"type":"request","command":"completions","arguments":{"file":"/Users/matb/projects/san/x.js","line":2,"offset":1}}
Perf 640  [16:26:52.724] 209::completions: elapsed time (in milliseconds) 8.9733

@mhegazy
Copy link
Contributor

mhegazy commented Oct 24, 2017

I see a 2 sec delay on my machine on the first completion, but later ones seem to be fine:

[Trace  - 4:49:45 PM] Response received: completions (7). Request took 2447 ms. Success: true
...
[Trace  - 4:49:45 PM] Response received: completions (15). Request took 10 ms. Success: true
...
[Trace  - 4:49:45 PM] Response received: completions (20). Request took 311 ms. Success: true
...
[Trace  - 4:51:12 PM] Response received: completions (26). Request took 44 ms. Success: true 

do you see the same?

@mjbvz
Copy link
Contributor Author

mjbvz commented Oct 25, 2017

I sometimes see a much larger delay whenever triggering completions:

oct-24-2017 17-20-12

[Info  - 17:22:55] Using tsserver from: /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/node_modules/typescript/lib
[Info  - 17:22:55] TSServer log file: /var/folders/_0/611900jn0yb43f1rc47_2wmh0000gp/T/vscode-tsserver-log-Bh8Ksf/tsserver.log
[Info  - 17:22:55] Forking TSServer
PATH: /usr/local/opt/opencv3/bin:/Users/matb/.nvm/versions/node/v7.6.0/bin:/Users/matb/Library/Python/2.7/bin:/Users/matb/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/share/dotnet
[Info  - 17:22:55] Started TSServer
[Trace  - 17:22:55] Sending request: configure (0). Response expected: yes. Current queue length: 0
[Trace  - 17:22:55] Response received: configure (0). Request took 322 ms. Success: true 
[Trace  - 17:22:55] Sending request: compilerOptionsForInferredProjects (1). Response expected: yes. Current queue length: 1
[Trace  - 17:22:55] Response received: compilerOptionsForInferredProjects (1). Request took 323 ms. Success: true 
[Trace  - 17:22:55] Sending request: open (2). Response expected: no. Current queue length: 0
[Trace  - 17:22:56] Sending request: geterr (3). Response expected: no. Current queue length: 0
[Trace  - 17:22:56] Sending request: navtree (4). Response expected: yes. Current queue length: 0
[Trace  - 17:23:01] Event received: projectsUpdatedInBackground (0).
[Trace  - 17:23:01] Response received: navtree (4). Request took 5220 ms. Success: true 
[Trace  - 17:23:01] Sending request: completions (5). Response expected: yes. Current queue length: 0
[Trace  - 17:23:01] Event received: syntaxDiag (0).
[Trace  - 17:23:07] Response received: completions (5). Request took 11096 ms. Success: true 
[Trace  - 17:23:07] Event received: semanticDiag (0).
[Trace  - 17:23:07] Event received: requestCompleted (0).
[Trace  - 17:23:08] Event received: projectsUpdatedInBackground (0).
[Trace  - 17:23:08] Event received: syntaxDiag (0).

That was in a new project with only sass.js installed and an index.js file. The completions request itself does not seem to be causing the delay itself, rather it just seems to trigger it

@mhegazy
Copy link
Contributor

mhegazy commented Oct 25, 2017

The first time the delay is in parsing/binding the file. locally it takes somewhere between 2-4 seconds. once that has happened things should be fast. that is not different from a large project, where building the project takes a few seconds, then things should all be in memory.

do you see delays in later completions requests after the first one?

@octref
Copy link

octref commented Oct 25, 2017

@mhegazy #19459 (comment)

ts

@mjbvz
Copy link
Contributor Author

mjbvz commented Oct 25, 2017

I still see a significant delay for each subsequent completions request after I edit the file. Looking at the logs again, this delay seems to come when we invoke geterr:

    {"seq":2028,"type":"request","command":"geterr","arguments":{"delay":0,"files":["/Users/matb/projects/san/index.js"]}}
Perf 10176[11:3:3.491] 2028::geterr: async elapsed time (in milliseconds) 0.5162
Info 10177[11:3:3.491] request:
    {"seq":2029,"type":"request","command":"completions","arguments":{"file":"/Users/matb/projects/san/index.js","line":3,"offset":9}}
Info 10178[11:3:3.491] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 10179[11:3:3.492] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 1ms
Perf 10180[11:3:3.499] 2029::completions: elapsed time (in milliseconds) 8.4384
Info 10181[11:3:3.500] response:
    {"seq":0,"type":"response","command":"completions","request_seq":2029,"success":true,"body":[{"name":"ANGLE_instanced_arrays","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ActiveXObject","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AnalyserNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AnimationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ApplicationCache","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ArrayBuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Attr","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Audio","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"AudioBuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioBufferSourceNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioContext","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioDestinationNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioListener","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioParam","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioProcessingEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioTrack","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"AudioTrackList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"BarProp","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"BeforeUnloadEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"BiquadFilterNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Blob","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Boolean","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"BroadcastChannel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CDATASection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSS","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSConditionRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSFontFaceRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSGroupingRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSImportRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSKeyframeRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSKeyframesRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSMediaRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSNamespaceRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSPageRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSRuleList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSStyleDeclaration","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSStyleRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSStyleSheet","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CSSSupportsRule","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Cache","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CacheStorage","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CanvasGradient","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CanvasPattern","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CanvasRenderingContext2D","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ChannelMergerNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ChannelSplitterNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CharacterData","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ClientRect","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ClientRectList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ClipboardEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CloseEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Comment","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CompositionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Console","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ConvolverNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Coordinates","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Crypto","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CryptoKey","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CryptoKeyPair","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"CustomEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMException","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMImplementation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMParser","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMSettableTokenList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMStringList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMStringMap","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DOMTokenList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataCue","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataTransfer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataTransferItem","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataTransferItemList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DataView","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Date","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeferredPermissionRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DelayNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceAcceleration","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceLightEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceMotionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceOrientationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DeviceRotationRate","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Document","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DocumentFragment","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DocumentType","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DragEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"DynamicsCompressorNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"EXT_frag_depth","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"EXT_texture_filter_anisotropic","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Element","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Enumerator","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Error","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ErrorEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"EvalError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Event","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"EventTarget","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ExtensionScriptApis","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"External","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"File","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FileList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FileReader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Float32Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Float64Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FocusEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FocusNavigationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"FormData","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Function","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"GainNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Gamepad","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"GamepadButton","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"GamepadEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"GeneratorFunction","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Geolocation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAllCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAnchorElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAppletElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAreaElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAreasCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLAudioElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLBRElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLBaseElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLBaseFontElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLBodyElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLButtonElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLCanvasElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDListElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDataElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDataListElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDetailsElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDialogElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDirectoryElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDivElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLDocument","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLEmbedElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFieldSetElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFontElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFormControlsCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFormElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFrameElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLFrameSetElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLHRElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLHeadElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLHeadingElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLHtmlElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLIFrameElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLImageElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLInputElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLLIElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLLabelElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLLegendElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLLinkElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMainElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMapElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMarqueeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMediaElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMenuElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMetaElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLMeterElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLModElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOListElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLObjectElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOptGroupElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOptionElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOptionsCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLOutputElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLParagraphElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLParamElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLPictureElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLPreElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLProgressElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLQuoteElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLScriptElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLSelectElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLSourceElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLSpanElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLStyleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLSummaryElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableCaptionElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableCellElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableColElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableDataCellElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableHeaderCellElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableRowElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTableSectionElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTemplateElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTextAreaElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTimeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTitleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLTrackElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLUListElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLUnknownElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HTMLVideoElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"HashChangeEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Headers","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"History","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBCursor","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBCursorWithValue","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBDatabase","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBFactory","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBIndex","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBKeyRange","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBObjectStore","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBOpenDBRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBTransaction","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IDBVersionChangeEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IIRFilterNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Image","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ImageData","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Infinity","kind":"const","kindModifiers":"declare","sortText":"0"},{"name":"Int16Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Int32Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Int8Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IntersectionObserver","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"IntersectionObserverEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Intl","kind":"module","kindModifiers":"declare","sortText":"0"},{"name":"JSON","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"KeyboardEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ListeningStateChangedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Location","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"LongRunningScriptDetectedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSApp","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSAppAsyncOperation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSAssertion","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSBlobBuilder","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSCredentials","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSFIDOCredentialAssertion","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSFIDOSignature","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSFIDOSignatureAssertion","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSGesture","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSGestureEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSGraphicsTrust","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSHTMLWebViewElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSInputMethodContext","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSManipulationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeyError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeyMessageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeyNeededEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeySession","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSMediaKeys","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSPointerEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSRangeCollection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSSiteModeEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSStream","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSStreamReader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSWebViewAsyncOperation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MSWebViewSettings","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Map","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Math","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaDeviceInfo","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaDevices","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaElementAudioSourceNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaEncryptedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeyMessageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeySession","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeyStatusMap","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeySystemAccess","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaKeys","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaQueryList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaSource","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStream","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamAudioSourceNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamErrorEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamTrack","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MediaStreamTrackEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MessageChannel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MessageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MessagePort","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MimeType","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MimeTypeArray","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MouseEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MutationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MutationObserver","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"MutationRecord","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NaN","kind":"const","kindModifiers":"declare","sortText":"0"},{"name":"NamedNodeMap","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NavigationCompletedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NavigationEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NavigationEventWithReferrer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Navigator","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Node","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NodeFilter","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NodeIterator","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"NodeList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Notification","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Number","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_element_index_uint","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_standard_derivatives","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_texture_float","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_texture_float_linear","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_texture_half_float","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OES_texture_half_float_linear","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Object","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OfflineAudioCompletionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OfflineAudioContext","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Option","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"OscillatorNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"OverflowEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PageTransitionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PannerNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Path2D","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PaymentAddress","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PaymentRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PaymentRequestUpdateEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PaymentResponse","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerfWidgetExternal","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Performance","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceMark","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceMeasure","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceNavigation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceNavigationTiming","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceResourceTiming","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PerformanceTiming","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PeriodicWave","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PermissionRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PermissionRequestedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Plugin","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PluginArray","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PointerEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PopStateEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Position","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PositionError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ProcessingInstruction","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ProgressEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Promise","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Proxy","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"PushManager","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PushSubscription","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"PushSubscriptionOptions","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCDTMFToneChangeEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCDtlsTransport","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCDtlsTransportStateChangedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCDtmfSender","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceCandidate","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceCandidatePairChangedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceGatherer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceGathererEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceTransport","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCIceTransportStateChangedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCPeerConnection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCPeerConnectionIceEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCRtpReceiver","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCRtpSender","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCSessionDescription","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCSrtpSdesTransport","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCSsrcConflictEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RTCStatsProvider","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Range","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"RangeError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ReadableStream","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ReadableStreamReader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ReferenceError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Reflect","kind":"module","kindModifiers":"declare","sortText":"0"},{"name":"RegExp","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Request","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Response","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAngle","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedAngle","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedBoolean","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedEnumeration","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedInteger","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedLength","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedLengthList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedNumber","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedNumberList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedPreserveAspectRatio","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedRect","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedString","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGAnimatedTransformList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGCircleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGClipPathElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGComponentTransferFunctionElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGDefsElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGDescElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGElementInstance","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGElementInstanceList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGEllipseElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEBlendElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEColorMatrixElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEComponentTransferElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFECompositeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEConvolveMatrixElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEDiffuseLightingElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEDisplacementMapElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEDistantLightElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFloodElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFuncAElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFuncBElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFuncGElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEFuncRElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEGaussianBlurElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEImageElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEMergeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEMergeNodeElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEMorphologyElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEOffsetElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFEPointLightElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFESpecularLightingElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFESpotLightElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFETileElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFETurbulenceElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGFilterElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGForeignObjectElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGGElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGGradientElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGGraphicsElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGImageElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGLength","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGLengthList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGLineElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGLinearGradientElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGMarkerElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGMaskElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGMatrix","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGMetadataElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGNumber","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGNumberList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSeg","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegArcAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegArcRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegClosePath","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoCubicAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoCubicRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoCubicSmoothAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoCubicSmoothRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoQuadraticAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoQuadraticRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoQuadraticSmoothAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegCurvetoQuadraticSmoothRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoHorizontalAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoHorizontalRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoVerticalAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegLinetoVerticalRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegMovetoAbs","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPathSegMovetoRel","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPatternElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPoint","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPointList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPolygonElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPolylineElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGPreserveAspectRatio","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGRadialGradientElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGRect","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGRectElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGSVGElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGScriptElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGStopElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGStringList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGStyleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGSwitchElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGSymbolElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTSpanElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTextContentElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTextElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTextPathElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTextPositioningElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTitleElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTransform","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGTransformList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGUnitTypes","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGUseElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGViewElement","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGZoomAndPan","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SVGZoomEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SafeArray","kind":"class","kindModifiers":"declare","sortText":"0"},{"name":"ScopedCredential","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ScopedCredentialInfo","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Screen","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ScriptNotifyEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ScriptProcessorNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Selection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ServiceWorker","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ServiceWorkerContainer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ServiceWorkerMessageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ServiceWorkerRegistration","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Set","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SourceBuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SourceBufferList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SpeechSynthesis","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SpeechSynthesisEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SpeechSynthesisUtterance","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SpeechSynthesisVoice","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StereoPannerNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Storage","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StorageEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"String","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StyleMedia","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StyleSheet","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StyleSheetList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"StyleSheetPageList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SubtleCrypto","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Symbol","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SyncManager","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"SyntaxError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Text","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextMetrics","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextTrack","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextTrackCue","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextTrackCueList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TextTrackList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TimeRanges","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Touch","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TouchEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TouchList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TrackEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TransitionEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TreeWalker","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"TypeError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"UIEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"URIError","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"URL","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"URLSearchParams","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Uint16Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Uint32Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Uint8Array","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Uint8ClampedArray","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"UnviewableContentIdentifiedEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"VBArray","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"ValidityState","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"VarDate","kind":"class","kindModifiers":"declare","sortText":"0"},{"name":"VideoPlaybackQuality","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"VideoTrack","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"VideoTrackList","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Vue","kind":"interface","kindModifiers":"export,declare","sortText":"0","hasAction":true},{"name":"WEBGL_compressed_texture_s3tc","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WEBGL_debug_renderer_info","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WEBGL_depth_texture","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WScript","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"WaveShaperNode","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WeakMap","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WeakSet","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebAuthentication","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebAuthnAssertion","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLActiveInfo","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLBuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLContextEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLFramebuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLObject","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLProgram","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLRenderbuffer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLRenderingContext","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLShader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLShaderPrecisionFormat","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLTexture","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebGLUniformLocation","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitCSSMatrix","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitDirectoryEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitDirectoryReader","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitFileEntry","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitFileSystem","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebKitPoint","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WebSocket","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"WheelEvent","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Window","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"Worker","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XMLDocument","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XMLHttpRequest","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XMLHttpRequestUpload","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XMLSerializer","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XPathEvaluator","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XPathExpression","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XPathNSResolver","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XPathResult","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"XSLTProcessor","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"abstract","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"addEventListener","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"alert","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"any","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"applicationCache","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"as","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"async","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"atob","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"await","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"blur","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"boolean","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"break","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"btoa","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"caches","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"cancelAnimationFrame","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"captureEvents","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"case","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"catch","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"class","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"clearImmediate","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"clearInterval","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"clearTimeout","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"clientInformation","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"close","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"closed","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"confirm","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"console","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"const","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"constructor","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"continue","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"createImageBitmap","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"crypto","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"customElements","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"debugger","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"declare","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"decodeURI","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"decodeURIComponent","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"default","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"default","kind":"alias","kindModifiers":"declare","sortText":"0","hasAction":true},{"name":"defaultStatus","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"delete","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"departFocus","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"devicePixelRatio","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"dispatchEvent","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"do","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"doNotTrack","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"document","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"else","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"encodeURI","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"encodeURIComponent","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"enum","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"eval","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"event","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"export","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"extends","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"external","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"false","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"fetch","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"finally","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"focus","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"for","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"frameElement","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"frames","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"from","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"function","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"get","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"getComputedStyle","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"getMatchedCSSRules","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"getSelection","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"global","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"history","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"if","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"implements","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"import","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"importScripts","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"in","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"indexedDB","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"innerHeight","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"innerWidth","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"instanceof","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"interface","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"is","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"isFinite","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"isNaN","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"isSecureContext","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"keyof","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"length","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"let","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"localStorage","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"location","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"locationbar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"matchMedia","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"menubar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"module","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"moveBy","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"moveTo","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"msContentScript","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"msCredentials","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"msWriteProfilerMark","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"name","kind":"const","kindModifiers":"declare","sortText":"0"},{"name":"namespace","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"navigator","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"never","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"new","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"null","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"number","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"object","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"of","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"offscreenBuffering","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onabort","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onafterprint","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onbeforeprint","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onbeforeunload","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onblur","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oncanplay","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oncanplaythrough","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onchange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onclick","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oncompassneedscalibration","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oncontextmenu","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondblclick","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondevicelight","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondevicemotion","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondeviceorientation","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondrag","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragend","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragenter","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragleave","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragover","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondragstart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondrop","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ondurationchange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onemptied","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onended","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onerror","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onfocus","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onhashchange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oninput","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"oninvalid","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onkeydown","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onkeypress","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onkeyup","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onload","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onloadeddata","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onloadedmetadata","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onloadstart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmessage","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmousedown","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseenter","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseleave","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmousemove","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseout","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseover","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmouseup","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmousewheel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturechange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturedoubletap","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgestureend","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturehold","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturestart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsgesturetap","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmsinertiastart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointercancel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerdown","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerenter","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerleave","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointermove","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerout","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerover","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onmspointerup","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onoffline","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ononline","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onorientationchange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpagehide","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpageshow","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpause","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onplay","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onplaying","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointercancel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerdown","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerenter","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerleave","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointermove","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerout","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerover","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpointerup","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onpopstate","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onprogress","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onratechange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onreadystatechange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onreset","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onresize","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onscroll","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onseeked","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onseeking","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onselect","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onstalled","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onstorage","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onsubmit","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onsuspend","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontimeupdate","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontouchcancel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontouchend","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontouchmove","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"ontouchstart","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onunload","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onvolumechange","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onwaiting","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"onwheel","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"open","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"opener","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"orientation","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"outerHeight","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"outerWidth","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"package","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"pageXOffset","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"pageYOffset","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"parent","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"parseFloat","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"parseInt","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"performance","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"personalbar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"postMessage","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"print","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"private","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"prompt","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"protected","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"public","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"readonly","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"releaseEvents","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"removeEventListener","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"requestAnimationFrame","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"require","kind":"warning","kindModifiers":"","sortText":"1"},{"name":"require","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"resizeBy","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"resizeTo","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"return","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"screen","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"screenLeft","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"screenTop","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"screenX","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"screenY","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"scroll","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"scrollBy","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"scrollTo","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"scrollX","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"scrollY","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"scrollbars","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"self","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"sessionStorage","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"set","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"setImmediate","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"setInterval","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"setTimeout","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"speechSynthesis","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"static","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"status","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"statusbar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"stop","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"string","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"styleMedia","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"super","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"switch","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"symbol","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"this","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"throw","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"toString","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"toolbar","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"top","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"true","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"try","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"type","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"typeof","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"undefined","kind":"var","kindModifiers":"","sortText":"0"},{"name":"undefined","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"var","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"void","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"webkitCancelAnimationFrame","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"webkitConvertPointFromNodeToPage","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"webkitConvertPointFromPageToNode","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"webkitRTCPeerConnection","kind":"interface","kindModifiers":"declare","sortText":"0"},{"name":"webkitRequestAnimationFrame","kind":"function","kindModifiers":"declare","sortText":"0"},{"name":"while","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"window","kind":"var","kindModifiers":"declare","sortText":"0"},{"name":"with","kind":"keyword","kindModifiers":"","sortText":"0"},{"name":"x","kind":"var","kindModifiers":"","sortText":"0"},{"name":"yield","kind":"keyword","kindModifiers":"","sortText":"0"}]}
Info 10182[11:3:3.501] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 10183[11:3:3.501] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Info 10184[11:3:3.501] event:
    {"seq":0,"type":"event","event":"syntaxDiag","body":{"file":"/Users/matb/projects/san/index.js","diagnostics":[{"start":{"line":3,"offset":8},"end":{"line":3,"offset":8},"text":"Expression expected.","code":1109,"category":"error"}]}}
Info 10185[11:3:3.501] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 10186[11:3:3.501] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Info 10187[11:3:3.501] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 10188[11:3:3.501] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Info 10189[11:3:10.864] event:
    {"seq":0,"type":"event","event":"semanticDiag","body":{"file":"/Users/matb/projects/san/index.js","diagnostics":[{"start":{"line":1,"offset":1},"end":{"line":1,"offset":8},"text":"Cannot find name 'require'.","code":2304,"category":"error"}]}}
Info 10190[11:3:10.864] event:
    {"seq":0,"type":"event","event":"requestCompleted","body":{"request_seq":2028}}
Info 10191[11:3:10.893] request:
    {"seq":2030,"type":"request","command":"completionEntryDetails","arguments":{"file":"/Users/matb/projects/san/index.js","line":3,"offset":9,"entryNames":["abstract"]}}
Info 10192[11:3:10.893] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 10193[11:3:10.893] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* structureChanged: false Elapsed: 0ms
Perf 10194[11:3:10.896] 2030::completionEntryDetails: elapsed time (in milliseconds) 2.9846

The delay seems to happen between Finishing updateGraphWorker at (11:3:3.501) and the event for semanticDiag at (11:3:10.864). At this point, VS Code has already issues a completionEntryDetails request against the TS Server which has been queued

@mhegazy mhegazy added the Bug A bug in TypeScript label Oct 26, 2017
@mhegazy mhegazy self-assigned this Oct 26, 2017
@mhegazy
Copy link
Contributor

mhegazy commented Oct 26, 2017

tested this side by side with @mjbvz and there is definitely something going on mac's that is not happening on windows boxes. need to investigate further on a mac.

@sheetalkamat sheetalkamat assigned sheetalkamat and unassigned mhegazy Nov 2, 2017
@mhegazy mhegazy added this to the TypeScript 2.9 milestone Apr 12, 2018
@sheetalkamat
Copy link
Member

Investigating this shows the issue with the way events are received and processed:
Used these steps to repro:

  • npm i sass.js
  • index.js with contents:
//@ts-check
// key to repro is having ts-check so diagnostics are calculated
const compile = require('sass.js/dist/sass.node');

compile('test.scss', { style: compile.Sass.style.compressed}, res => {
    res.
})
  • code .
  • open index.js and let it finish the first refresh so we arent looking at the initial lag.
  • delete . in res. and type it again. Notice the lag here to show completions.

Here is whats happening at vscode side and tsserver side according to chronological order:

  • [Trace - 11:34:23 AM] change request (12) is sent for deletion of . by vscode
[Trace  - 11:34:23 AM] Sending request: change (12). Response expected: no. Current queue length: 0
Arguments: {
    "file": "c:/temp/test2/index.js",
    "line": 5,
    "offset": 8,
    "endLine": 5,
    "endOffset": 9,
    "insertString": ""
}
  • [11:34:23.277] tsserver receives the request and processes it.
Info 183  [11:34:23.277] request:
    {"seq":12,"type":"request","command":"change","arguments":{"file":"c:/temp/test2/index.js","line":5,"offset":8,"endLine":5,"endOffset":9,"insertString":""}}
Perf 184  [11:34:23.277] 12::change: async elapsed time (in milliseconds) 0.3064
  • vscode sends geterr request (13)
[Trace  - 11:34:23 AM] Sending request: geterr (13). Response expected: no. Current queue length: 0
Arguments: {
    "delay": 0,
    "files": [
        "c:/temp/test2/index.js"
    ]
}
  • tsserver receives the request and schedules the timeout of delay 0 for syntax diagnostics
Info 185  [11:34:23.582] request:
    {"seq":13,"type":"request","command":"geterr","arguments":{"delay":0,"files":["c:/temp/test2/index.js"]}}
Perf 186  [11:34:23.582] 13::geterr: async elapsed time (in milliseconds) 1.1375
  • timeout occurs and syntax diagnostics are calculated by tsserver and sends syntaxDiag event. Also schedules the semantic diagnostics calculation with setImmediate
Info 187  [11:34:23.587] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 188  [11:34:23.600] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* Version: 6 structureChanged: false Elapsed: 13ms
Info 189  [11:34:23.601] event:
    {"seq":0,"type":"event","event":"syntaxDiag","body":{"file":"c:/temp/test2/index.js","diagnostics":[]}}
  • vscode receives the syntaxDiag event
[Trace  - 11:34:23 AM] Event received: syntaxDiag (0).
Data: {
    "file": "c:/temp/test2/index.js",
    "diagnostics": []
}
  • tsserver starts semantic diagnostics calculation work which takes few seconds for completion
Info 190  [11:34:23.602] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 191  [11:34:23.602] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* Version: 6 structureChanged: false Elapsed: 0ms
Info 192  [11:34:23.603] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 193  [11:34:23.603] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* Version: 6 structureChanged: false Elapsed: 0ms
  • vscode schedules change request which is not received by tsserver till all its set immediate work is completed
[Trace  - 11:34:23 AM] Sending request: change (14). Response expected: no. Current queue length: 0
Arguments: {
    "file": "c:/temp/test2/index.js",
    "line": 5,
    "offset": 8,
    "endLine": 5,
    "endOffset": 8,
    "insertString": "."
}
  • vscode sends completion request 15 again which is not processed by tsserver till setImmediate actions are completed.
[Trace  - 11:34:23 AM] Sending request: completions (15). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "c:/temp/test2/index.js",
    "line": 5,
    "offset": 9,
    "includeExternalModuleExports": true,
    "includeInsertTextCompletions": true
}
  • tsserver completes semantic diagnostics and sends the semanticDiag event to vscode. Sets suggetionDiagnostics calculation with setImmediate
Info 194  [11:34:29.611] event:
    {"seq":0,"type":"event","event":"semanticDiag","body":{"file":"c:/temp/test2/index.js","diagnostics":[]}}
  • tsserver starts suggestion diagnostics calculation (this approximately took 6 seconds)
Info 195  [11:34:29.998] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 196  [11:34:29.998] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* Version: 6 structureChanged: false Elapsed: 0ms
  • vscode receives semanticDiag event
[Trace  - 11:34:29 AM] Event received: semanticDiag (0).
Data: {
    "file": "c:/temp/test2/index.js",
    "diagnostics": []
}
  • tsserver finished suggestion diagnostics calculation and send suggestionDiag and request completed event
Info 197  [11:34:30.16] event:
    {"seq":0,"type":"event","event":"suggestionDiag","body":{"file":"c:/temp/test2/index.js","diagnostics":[suggestion diagnostics trimmed here for readability]}}
Info 198  [11:34:30.18] event:
    {"seq":0,"type":"event","event":"requestCompleted","body":{"request_seq":13}}
  • vscode receives suggestionDiag
[Trace  - 11:34:30 AM] Event received: suggestionDiag (0).
Data: {
    "file": "c:/temp/test2/index.js",
    "diagnostics": [
        suggestion diagnostics trimmed here for readability
    ]
}
[Trace  - 11:34:30 AM] Event received: requestCompleted (0).
Data: {
    "request_seq": 13
}
  • tsserver processes next request
Info 199  [11:34:30.19] request:
    {"seq":14,"type":"request","command":"change","arguments":{"file":"c:/temp/test2/index.js","line":5,"offset":8,"endLine":5,"endOffset":8,"insertString":"."}}
Perf 200  [11:34:30.19] 14::change: async elapsed time (in milliseconds) 0.1886
  • tsserver processes next request that is completion
Info 201  [11:34:30.19] request:
    {"seq":15,"type":"request","command":"completions","arguments":{"file":"c:/temp/test2/index.js","line":5,"offset":9,"includeExternalModuleExports":true,"includeInsertTextCompletions":true}}
Info 202  [11:34:30.19] Starting updateGraphWorker: Project: /dev/null/inferredProject1*
Info 203  [11:34:30.26] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* Version: 7 structureChanged: false Elapsed: 7ms
Info 204  [11:34:30.27] getCompletionData: Get current token: 0
Info 205  [11:34:30.27] getCompletionData: Is inside comment: 0
Info 206  [11:34:30.27] getCompletionData: Get previous token 1: 0
Info 207  [11:34:30.27] getCompletionsAtPosition: isCompletionListBlocker: 0
Info 208  [11:34:30.39] getCompletionData: Semantic work: 11
Info 209  [11:34:30.39] getCompletionsAtPosition: getCompletionEntriesFromSymbols: 0
Perf 210  [11:34:30.40] 15::completions: elapsed time (in milliseconds) 20.4117
Info 211  [11:34:30.40] response:
    {"seq":0,"type":"response","command":"completions","request_seq":15,"success":true,"body":[{"name":"compile","kind":"warning","kindModifiers":"","sortText":"1"},{"name":"compressed","kind":"warning","kindModifiers":"","sortText":"1"},{"name":"require","kind":"warning","kindModifiers":"","sortText":"1"},{"name":"res","kind":"warning","kindModifiers":"","sortText":"1"},{"name":"Sass","kind":"warning","kindModifiers":"","sortText":"1"},{"name":"style","kind":"warning","kindModifiers":"","sortText":"1"}]}
  • vscode recieves completions
[Trace  - 11:34:30 AM] Response received: completions (15). Request took 6365 ms. Success: true 
Result: [
    {
        "name": "compile",
        "kind": "warning",
        "kindModifiers": "",
        "sortText": "1"
    },
    {
        "name": "compressed",
        "kind": "warning",
        "kindModifiers": "",
        "sortText": "1"
    },
    {
        "name": "require",
        "kind": "warning",
        "kindModifiers": "",
        "sortText": "1"
    },
    {
        "name": "res",
        "kind": "warning",
        "kindModifiers": "",
        "sortText": "1"
    },
    {
        "name": "Sass",
        "kind": "warning",
        "kindModifiers": "",
        "sortText": "1"
    },
    {
        "name": "style",
        "kind": "warning",
        "kindModifiers": "",
        "sortText": "1"
    }
]

Resulting in delay in completion because tsserver cannot receive message till its too late.

vscodetsservercallbacks

The issue here are multiple:

  1. error calculation happens without any delay resulting in them being calculated right away most of the time rather than being able to check for next request
  2. semantic and suggestion diagnostics happen through setImmediate resulting in they happening before next request is received since the polling phase idle would result in executing setImmediate callbacks per node documentation:
    https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#check

generally, as the code is executed, the event loop will eventually hit the poll phase where it will wait for an incoming connection, request, etc. However, if a callback has been scheduled with setImmediate() and the poll phase becomes idle, it will end and continue to the check phase rather than waiting for poll events.

  1. Vscode runs "getErr" without cancellation token since it passes expected result as false this.client.execute('geterr', args, false);. Thus there is no cancellation occuring on it. If the change request could cancel the geterr at vscode side, we would be able to eliminate this delay, I created branch cancellationRequestLog to log cancellation request and with that it shows that there are enough number of queries to isCancellationRequested to show that this could work.

@sheetalkamat
Copy link
Member

@mjbvz is it possible on vscode side to add cancellation on geterr request whenever change request is queued in?

@sheetalkamat
Copy link
Member

Messaged @mjbvz offline about the microsoft/vscode#49251 not fixing the issue and detailed logs.

@sheetalkamat
Copy link
Member

Investigating this with latest code-insiders still repros the issue but the issue now lies with us since we spend time in parsing the sass.async file

Info 2901 [14:57:40.213] Parse c:/temp/test2/node_modules/sass.js/dist/sass.sync.js time:   2.45s

This is what I did:
in index.js typed require("sass.js") and waited till all the diagnostics are reported.

After this I completely deleted the line and typed it again followed by new line and completion list invoke. At this point I see long wait for the completion just like you will see right after opening index.js(and not waiting for initial refresh)

The cause of this is that, even though the script info for sass.async.js is in memory, its source file that's registered in the documentRegistery is released as soon as it gets removed from all projects, resulting in not being able to reuse the source file. If we can keep source file alive, that will help with the faster program creation. But interesting to note is that sourceFiles document registry is dependent on the compiler options so its not as simple and we need to handle cases when document is part of multiple projects etc well.

@sheetalkamat
Copy link
Member

Used branch programInServerPerfLogging to investigate this

@mhegazy mhegazy added this to the TypeScript 3.0 milestone May 21, 2018
sheetalkamat added a commit that referenced this issue May 21, 2018
…s check for open files

This will ensure that the getErr will be queued in by host and hence would make sure that it is cancellable.
Handles one of the scenario delaying completions in #19458
sheetalkamat added a commit that referenced this issue May 21, 2018
…s check for open files

This will ensure that the getErr will be queued in by host and hence would make sure that it is cancellable.
Handles one of the scenario delaying completions in #19458
sheetalkamat added a commit that referenced this issue May 31, 2018
This especially needed if its a js file without the ts-check, the file wont be typechecked in getSemanticDiagnostics
Fixes part of #19458
@mhegazy mhegazy modified the milestones: TypeScript 3.0, TypeScript 3.1 Jul 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug A bug in TypeScript
Projects
None yet
Development

No branches or pull requests

5 participants