From eb5c87cd372c0eba9066cc4c8311899624c39ff4 Mon Sep 17 00:00:00 2001 From: Rudis Muiznieks <rudis@sitosis.com> Date: Tue, 18 Feb 2025 08:31:51 -0600 Subject: [PATCH] replaced neovim config with helix config --- git/gitconfig | 3 +- helix/config.toml | 21 + helix/languages.toml | 3 + kitty/kitty.conf | 2 + nvim/init.vim | 1 - nvim/install-packer | 4 - nvim/lua/.luarc.json | 3 - nvim/lua/autocmd.lua | 17 - nvim/lua/config.lua | 33 - nvim/lua/keybindings.lua | 69 --- .../.bin/typescript-language-server | 1 - nvim/lua/node_modules/.package-lock.json | 18 - .../typescript-language-server/CHANGELOG.md | 514 ---------------- .../typescript-language-server/LICENSE | 240 -------- .../typescript-language-server/README.md | 576 ------------------ .../typescript-language-server/lib/cli.mjs | 3 - .../lib/cli.mjs.map | 1 - .../typescript-language-server/package.json | 84 --- nvim/lua/plugins-conf.lua | 270 -------- nvim/lua/plugins.lua | 48 -- nvim/lua/userfuncs.lua | 51 -- nvim/snippets/cs.snippets | 11 - nvim/spell/en.utf-8.add | 31 - nvim/spell/en.utf-8.add.spl | Bin 340 -> 0 bytes scripts/change-resolution | 14 + scripts/pgq | 30 + sway/config.d/01-theme | 2 +- sway/config.d/03-keybindings | 1 + wallpaper/earthlike.jpg | Bin 0 -> 793094 bytes wallpaper/horizon.png | Bin 0 -> 192146 bytes 30 files changed, 74 insertions(+), 1977 deletions(-) create mode 100644 helix/config.toml create mode 100644 helix/languages.toml delete mode 100644 nvim/init.vim delete mode 100755 nvim/install-packer delete mode 100644 nvim/lua/.luarc.json delete mode 100644 nvim/lua/autocmd.lua delete mode 100644 nvim/lua/config.lua delete mode 100644 nvim/lua/keybindings.lua delete mode 120000 nvim/lua/node_modules/.bin/typescript-language-server delete mode 100644 nvim/lua/node_modules/.package-lock.json delete mode 100644 nvim/lua/node_modules/typescript-language-server/CHANGELOG.md delete mode 100644 nvim/lua/node_modules/typescript-language-server/LICENSE delete mode 100644 nvim/lua/node_modules/typescript-language-server/README.md delete mode 100755 nvim/lua/node_modules/typescript-language-server/lib/cli.mjs delete mode 100644 nvim/lua/node_modules/typescript-language-server/lib/cli.mjs.map delete mode 100644 nvim/lua/node_modules/typescript-language-server/package.json delete mode 100644 nvim/lua/plugins-conf.lua delete mode 100644 nvim/lua/plugins.lua delete mode 100644 nvim/lua/userfuncs.lua delete mode 100644 nvim/snippets/cs.snippets delete mode 100644 nvim/spell/en.utf-8.add delete mode 100644 nvim/spell/en.utf-8.add.spl create mode 100755 scripts/change-resolution create mode 100755 scripts/pgq create mode 100644 wallpaper/earthlike.jpg create mode 100644 wallpaper/horizon.png diff --git a/git/gitconfig b/git/gitconfig index 671bfcc..20c6774 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -15,7 +15,8 @@ [push] autoSetupRemote = true [core] - editor = nvim + editor = hx + autocrlf = input [filter "lfs"] clean = git-lfs clean -- %f smudge = git-lfs smudge -- %f diff --git a/helix/config.toml b/helix/config.toml new file mode 100644 index 0000000..4207bf2 --- /dev/null +++ b/helix/config.toml @@ -0,0 +1,21 @@ +theme = "catppuccin_mocha" + +[editor] +color-modes = true +end-of-line-diagnostics = "hint" +auto-pairs = false + +[editor.statusline] +left = ["mode", "separator", "file-name"] +right = ["spinner", "diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"] +separator = "" + +[editor.whitespace.render] +tab = "all" +newline = "all" + +[editor.soft-wrap] +enable = true + +[editor.inline-diagnostics] +cursor-line = "warning" diff --git a/helix/languages.toml b/helix/languages.toml new file mode 100644 index 0000000..6bbcac8 --- /dev/null +++ b/helix/languages.toml @@ -0,0 +1,3 @@ +[[language]] +name = "markdown" +language-servers = [ "ltex-ls" ] diff --git a/kitty/kitty.conf b/kitty/kitty.conf index 28d8187..7ce16b8 100644 --- a/kitty/kitty.conf +++ b/kitty/kitty.conf @@ -35,3 +35,5 @@ font_family family='MonoLisa' style=Light features='+ss02 +ss07 +ss11 +ss18 bold_font family='MonoLisa' style=Medium features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt' italic_font family='MonoLisa' style='Light Italic' features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt' bold_italic_font family='MonoLisa' style='Medium Italic' features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt' + +notify_on_cmd_finish never diff --git a/nvim/init.vim b/nvim/init.vim deleted file mode 100644 index 4091a5f..0000000 --- a/nvim/init.vim +++ /dev/null @@ -1 +0,0 @@ -lua require('config') diff --git a/nvim/install-packer b/nvim/install-packer deleted file mode 100755 index 697a1a4..0000000 --- a/nvim/install-packer +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -git clone --depth 1 https://github.com/wbthomason/packer.nvim\ - ~/.local/share/nvim/site/pack/packer/start/packer.nvim diff --git a/nvim/lua/.luarc.json b/nvim/lua/.luarc.json deleted file mode 100644 index 23b9ee2..0000000 --- a/nvim/lua/.luarc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "workspace.checkThirdParty": false -} \ No newline at end of file diff --git a/nvim/lua/autocmd.lua b/nvim/lua/autocmd.lua deleted file mode 100644 index de39d00..0000000 --- a/nvim/lua/autocmd.lua +++ /dev/null @@ -1,17 +0,0 @@ --- recognize csx files as csharp -vim.api.nvim_command('au BufRead,BufNewFile *.csx set filetype=cs') - --- enable dadbod completion for sql files -vim.api.nvim_command("au FileType sql let b:db = exists('*DotenvGet') ? DotenvGet('DATABASE_URL') : eval('$DATABASE_URL')") -vim.api.nvim_command([[au FileType sql lua require'cmp'.setup.buffer { - sources = { - { name = 'vim-dadbod-completion' }, - { name = 'buffer' }, - }} -]]) - --- word break and spelling in markdown files -vim.api.nvim_command('au BufRead,BufNewFile *.md set spell lbr') - --- hard wrap and spelling in gph files -vim.api.nvim_command('au BufRead,BufNewFile *.gph set spell tw=72 colorcolumn=+0') diff --git a/nvim/lua/config.lua b/nvim/lua/config.lua deleted file mode 100644 index 8864205..0000000 --- a/nvim/lua/config.lua +++ /dev/null @@ -1,33 +0,0 @@ -vim.o.termguicolors = true - -vim.g.mapleader = ',' - -vim.opt.guicursor = '' -vim.opt.cursorline = true -vim.opt.expandtab = true -vim.opt.hidden = true -vim.opt.ignorecase = true -vim.opt.list = true -vim.opt.listchars = 'eol:¶,tab:→ ,trail:␣,extends:»,precedes:«' -vim.opt.fillchars = 'stl: ,stlnc:-,vert:|,fold:-,diff:-' -vim.opt.mouse = 'a' -vim.opt.number = true -vim.opt.shiftwidth = 2 -vim.opt.signcolumn = 'yes' -vim.opt.softtabstop = 2 -vim.opt.tabstop = 2 -vim.opt.undofile = true -vim.opt.undolevels = 9999 -vim.opt.wrap = true -vim.opt.autoindent = true -vim.opt.smartindent = true - -vim.g['loaded_netrw'] = 1 -vim.g['loaded_netrwPlugin'] = 1 -vim.cmd('filetype plugin on') - -require('userfuncs') -require('plugins') -require('plugins-conf') -require('keybindings') -require('autocmd') diff --git a/nvim/lua/keybindings.lua b/nvim/lua/keybindings.lua deleted file mode 100644 index b19c5e2..0000000 --- a/nvim/lua/keybindings.lua +++ /dev/null @@ -1,69 +0,0 @@ -local cwdopt = '{cwd = require("userfuncs").find_project_root()}' - -local noremap = {noremap = true} -local snoremap = { noremap = true, silent = true } - --- up and down between wrapped lines -vim.api.nvim_set_keymap('', 'k', 'gk', snoremap) -vim.api.nvim_set_keymap('', 'j', 'gj', snoremap) -vim.api.nvim_set_keymap('', '<Up>', 'gk', snoremap) -vim.api.nvim_set_keymap('', '<Down>', 'gj', snoremap) -vim.api.nvim_set_keymap('i', '<Up>', '<c-\\><c-o>gk', snoremap) -vim.api.nvim_set_keymap('i', '<Down>', '<c-\\><c-o>gj', snoremap) - --- file navigation -vim.api.nvim_set_keymap('n', '-', '<cmd>:Telescope file_browser path=%:p:h select_buffer=true<cr>', noremap) -vim.api.nvim_set_keymap('n', '<F1>', '<cmd>b#<cr>', noremap) -vim.api.nvim_set_keymap('i', '<F1>', '<cmd>b#<cr>', noremap) -vim.api.nvim_set_keymap('n', '<leader>-', '<cmd>lua require("telescope.builtin").find_files('..cwdopt..')<cr>', noremap) -vim.api.nvim_set_keymap('n', '_', '<cmd>lua require("telescope.builtin").buffers('..cwdopt..')<cr>', noremap) -vim.api.nvim_set_keymap('n', '<leader>gg', '<cmd>lua require("telescope.builtin").live_grep('..cwdopt..')<cr>', noremap) - --- lsp stuff -vim.api.nvim_set_keymap('n', '<leader>fu', '<cmd>Telescope lsp_references<cr>', noremap) -vim.api.nvim_set_keymap('n', '<leader>gd', '<cmd>Telescope lsp_definitions<cr>', noremap) -vim.api.nvim_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<cr>', noremap) -vim.api.nvim_set_keymap('n', '<leader>dn', '<cmd>lua vim.diagnostic.goto_next()<cr>', noremap) -vim.api.nvim_set_keymap('n', '<leader>dN', '<cmd>lua vim.diagnostic.goto_prev()<cr>', noremap) -vim.api.nvim_set_keymap('n', '<leader>xx', '<cmd>lua vim.lsp.buf.code_action()<cr>', noremap) - --- dadbod stuff -vim.cmd([[ -augroup dadbod_keybindings - autocmd! - autocmd FileType sql nnoremap <buffer> <F5> :'{,'}DB<cr> - autocmd FileType sql vnoremap <buffer> <F5> :DB<cr> - autocmd FileType sql inoremap <buffer> <F5> <C-o>:'{,'}DB<cr> -augroup end -]]) - --- misc --- f2 gets highlight details of thing under cursor -vim.api.nvim_set_keymap('n', '<F2>', '<cmd>echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . "> trans<" . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<cr>', noremap) --- f3 for synonym list under cursor -vim.api.nvim_set_keymap('n', '<F3>', '<cmd>lua require("telescope").extensions.dict.synonyms()<cr>', noremap) --- replace z= with telescope spell_suggest -vim.api.nvim_set_keymap('n', 'z=', '<cmd>Telescope spell_suggest<cr>', noremap) - --- f12 for zen mode -vim.api.nvim_set_keymap('n', '<F12>', '<cmd>TZAtaraxis<cr>', noremap) - --- clipboard history -vim.api.nvim_set_keymap('n', '<leader>y', '<cmd>YankBank<cr>', noremap) - -vim.api.nvim_set_keymap('', '<S-ScrollWheelUp>', '<ScrollWheelLeft>', noremap) -vim.api.nvim_set_keymap('', '<S-ScrollWheelDown>', '<ScrollWheelRight>', noremap) -vim.api.nvim_set_keymap('', '<S-2-ScrollWheelUp>', '<2-ScrollWheelLeft>', noremap) -vim.api.nvim_set_keymap('', '<S-2-ScrollWheelDown>', '<2-ScrollWheelRight>', noremap) -vim.api.nvim_set_keymap('', '<S-3-ScrollWheelUp>', '<3-ScrollWheelLeft>', noremap) -vim.api.nvim_set_keymap('', '<S-3-ScrollWheelDown>', '<3-ScrollWheelRight>', noremap) -vim.api.nvim_set_keymap('', '<S-4-ScrollWheelUp>', '<4-ScrollWheelLeft>', noremap) -vim.api.nvim_set_keymap('', '<S-4-ScrollWheelDown>', '<4-ScrollWheelRight>', noremap) -vim.api.nvim_set_keymap('', '<S-PageUp>', '<ScrollWheelLeft>', noremap) -vim.api.nvim_set_keymap('', '<S-PageDown>', '<ScrollWheelRight>', noremap) -vim.api.nvim_set_keymap('', '<S-2-PageUp>', '<2-ScrollWheelLeft>', noremap) -vim.api.nvim_set_keymap('', '<S-2-PageDown>', '<2-ScrollWheelRight>', noremap) -vim.api.nvim_set_keymap('', '<S-3-PageUp>', '<3-ScrollWheelLeft>', noremap) -vim.api.nvim_set_keymap('', '<S-3-PageDown>', '<3-ScrollWheelRight>', noremap) -vim.api.nvim_set_keymap('', '<S-4-PageUp>', '<4-ScrollWheelLeft>', noremap) -vim.api.nvim_set_keymap('', '<S-4-PageDown>', '<4-ScrollWheelRight>', noremap) diff --git a/nvim/lua/node_modules/.bin/typescript-language-server b/nvim/lua/node_modules/.bin/typescript-language-server deleted file mode 120000 index 3293d8d..0000000 --- a/nvim/lua/node_modules/.bin/typescript-language-server +++ /dev/null @@ -1 +0,0 @@ -../typescript-language-server/lib/cli.mjs \ No newline at end of file diff --git a/nvim/lua/node_modules/.package-lock.json b/nvim/lua/node_modules/.package-lock.json deleted file mode 100644 index 339ecba..0000000 --- a/nvim/lua/node_modules/.package-lock.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "lua", - "lockfileVersion": 2, - "requires": true, - "packages": { - "node_modules/typescript-language-server": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-3.3.1.tgz", - "integrity": "sha512-sm9KNsjYMxzXTNhkNK05K3BN1NkYlOFF4TgqVvzk8l9E2I5SBE7Odrhe3LzCA/78MASO1nWfXx3u96wAhLIhsw==", - "bin": { - "typescript-language-server": "lib/cli.mjs" - }, - "engines": { - "node": ">=14.17" - } - } - } -} diff --git a/nvim/lua/node_modules/typescript-language-server/CHANGELOG.md b/nvim/lua/node_modules/typescript-language-server/CHANGELOG.md deleted file mode 100644 index 8ae4ef9..0000000 --- a/nvim/lua/node_modules/typescript-language-server/CHANGELOG.md +++ /dev/null @@ -1,514 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -## [3.3.1](https://github.com/typescript-language-server/typescript-language-server/compare/v3.3.0...v3.3.1) (2023-03-27) - - -### Bug Fixes - -* don't report InternalError on tsserver error response ([#709](https://github.com/typescript-language-server/typescript-language-server/issues/709)) ([3e63165](https://github.com/typescript-language-server/typescript-language-server/commit/3e6316546eb5c8b6fd2fb8c26c88b7b6a6331472)) - -## [3.3.0](https://github.com/typescript-language-server/typescript-language-server/compare/v3.2.0...v3.3.0) (2023-02-20) - - -### Features - -* start separate tsServer instance for semantic requests ([#688](https://github.com/typescript-language-server/typescript-language-server/issues/688)) ([fa65b84](https://github.com/typescript-language-server/typescript-language-server/commit/fa65b847f4a87672cc28302f38fd86e8f56d6112)) - - -### Bug Fixes - -* **completions:** include `filterText` property by default ([#693](https://github.com/typescript-language-server/typescript-language-server/issues/693)) ([c07426a](https://github.com/typescript-language-server/typescript-language-server/commit/c07426adc8b079273c267e18d11993d53d482886)) - -## [3.2.0](https://github.com/typescript-language-server/typescript-language-server/compare/v3.1.0...v3.2.0) (2023-02-14) - - -### Features - -* `source.removeUnusedImports.ts` and `source.sortImports.ts` actions ([#681](https://github.com/typescript-language-server/typescript-language-server/issues/681)) ([a43b2df](https://github.com/typescript-language-server/typescript-language-server/commit/a43b2df471572ca2e25b12899f65fca77853af35)) -* provide filterText property in completions ([#678](https://github.com/typescript-language-server/typescript-language-server/issues/678)) ([af44f8b](https://github.com/typescript-language-server/typescript-language-server/commit/af44f8b1b5a252ca9ba019691ad81dc2e5006468)) -* support `workspace/willRenameFiles` request ([#685](https://github.com/typescript-language-server/typescript-language-server/issues/685)) ([c3f3529](https://github.com/typescript-language-server/typescript-language-server/commit/c3f3529be45a1630fe7903a5af9e732855f2c664)) - - -### Bug Fixes - -* **completions:** don't set `filterText` after all ([#686](https://github.com/typescript-language-server/typescript-language-server/issues/686)) ([4c5d295](https://github.com/typescript-language-server/typescript-language-server/commit/4c5d295d4f71f6b5d8f2c58e908d5cc79cb9e3d2)) -* **completions:** don't set commitCharacters unless client supports those ([#684](https://github.com/typescript-language-server/typescript-language-server/issues/684)) ([af10a97](https://github.com/typescript-language-server/typescript-language-server/commit/af10a977f38626797dbadca935c71f92556fdb39)) -* **deps:** update devdependency typescript to ^4.9.5 ([#677](https://github.com/typescript-language-server/typescript-language-server/issues/677)) ([916c326](https://github.com/typescript-language-server/typescript-language-server/commit/916c326d576b9f13a05563495dffa27b4d02ee6e)) -* line offset off by one when at the last line ([#683](https://github.com/typescript-language-server/typescript-language-server/issues/683)) ([0db9a5f](https://github.com/typescript-language-server/typescript-language-server/commit/0db9a5faa4bc03560506ffd030e795a35e45e3f8)) - -## [3.1.0](https://github.com/typescript-language-server/typescript-language-server/compare/v3.0.3...v3.1.0) (2023-01-30) - - -### Features - -* send `$/typescriptVersion` notification with TypeScript version ([#674](https://github.com/typescript-language-server/typescript-language-server/issues/674)) ([b081112](https://github.com/typescript-language-server/typescript-language-server/commit/b081112f12a35fa70aae3a134191dea025de64da)) -* support for canceling LSP requests ([#672](https://github.com/typescript-language-server/typescript-language-server/issues/672)) ([1daf209](https://github.com/typescript-language-server/typescript-language-server/commit/1daf209121fc20bbc0a64ec0491cd40582cb9a4b)) - -## [3.0.3](https://github.com/typescript-language-server/typescript-language-server/compare/v3.0.2...v3.0.3) (2023-01-23) - - -### Bug Fixes - -* restore tsserver version logging on initialization ([#669](https://github.com/typescript-language-server/typescript-language-server/issues/669)) ([232219c](https://github.com/typescript-language-server/typescript-language-server/commit/232219cd0fe138558ed98e22aa7314e0941e4f10)) - -## [3.0.2](https://github.com/typescript-language-server/typescript-language-server/compare/v3.0.1...v3.0.2) (2023-01-14) - - -### Bug Fixes - -* remove hard dependency on typescript ([#661](https://github.com/typescript-language-server/typescript-language-server/issues/661)) ([9a2e2c8](https://github.com/typescript-language-server/typescript-language-server/commit/9a2e2c83d4992cd90cebc706618a9af604fcf1a9)) - - -### Refactors - -* bundle with rollup and switch to jest for testing ([#663](https://github.com/typescript-language-server/typescript-language-server/issues/663)) ([2c9eb63](https://github.com/typescript-language-server/typescript-language-server/commit/2c9eb632659a3bb9995095576afe88e84833bbdd)) - -## [3.0.1](https://github.com/typescript-language-server/typescript-language-server/compare/v3.0.0...v3.0.1) (2022-12-30) - - -### Bug Fixes - -* cancel pending geterr request before triggering new ([#651](https://github.com/typescript-language-server/typescript-language-server/issues/651)) ([95b92e5](https://github.com/typescript-language-server/typescript-language-server/commit/95b92e5d15f47eea77e08765a1e378dbcd90d1f0)) - -## [3.0.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.3.0...v3.0.0) (2022-12-29) - - -### ⚠ BREAKING CHANGES - -* Remove experimental and legacy implementations of inlay hints and call hierarchy. Use to the official `textDocument/inlayHint` and `textDocument/prepareCallHierarchy` implementations instead. - -### Features - -* drop experimental `textDocument/calls`, `typescript/inlayHints` ([#647](https://github.com/typescript-language-server/typescript-language-server/issues/647)) ([b15f8a7](https://github.com/typescript-language-server/typescript-language-server/commit/b15f8a7cca8470b0ef9e9878e94fba95e278d372)) -* implement support for spec version of Call Hierarchy ([#649](https://github.com/typescript-language-server/typescript-language-server/issues/649)) ([3ce0e17](https://github.com/typescript-language-server/typescript-language-server/commit/3ce0e17e72f32913739c9d67d3dfb6092f09a2aa)) - -## [2.3.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.2.0...v2.3.0) (2022-12-27) - - -### Features - -* implement `textDocument/selectionRange` request ([#642](https://github.com/typescript-language-server/typescript-language-server/issues/642)) ([a5598c6](https://github.com/typescript-language-server/typescript-language-server/commit/a5598c68aac961cbd6294133a9235e4db5b95929)) - - -### Bug Fixes - -* **completions:** don't insert call snippet if already a call ([#646](https://github.com/typescript-language-server/typescript-language-server/issues/646)) ([5d34de5](https://github.com/typescript-language-server/typescript-language-server/commit/5d34de5fd38ce5a9dcafc4a385ccb39b0a89f2b0)) - -## [2.2.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.1.0...v2.2.0) (2022-12-09) - - -### Features - -* communicate with tsserver >=4.9.0 using IPC ([#630](https://github.com/typescript-language-server/typescript-language-server/issues/630)) ([06abfde](https://github.com/typescript-language-server/typescript-language-server/commit/06abfdeb133127f4567efb77a2bf725549e9d957)) -* support `textDocument/prepareRename` request ([#628](https://github.com/typescript-language-server/typescript-language-server/issues/628)) ([9c66794](https://github.com/typescript-language-server/typescript-language-server/commit/9c6679438d6190b72a15f32c0eb83cacd7780213)) -* update typescript to 4.9.3 ([#629](https://github.com/typescript-language-server/typescript-language-server/issues/629)) ([0005648](https://github.com/typescript-language-server/typescript-language-server/commit/00056483da3f1089a3a426f08bc66651178c3665)) - - -### Bug Fixes - -* **deps:** update devdependency typescript to ^4.9.4 ([#637](https://github.com/typescript-language-server/typescript-language-server/issues/637)) ([d2b18b6](https://github.com/typescript-language-server/typescript-language-server/commit/d2b18b6d318c4b441e42f4f977ba6bd4eca36d58)) -* surface stderr output from the tsserver process ([#624](https://github.com/typescript-language-server/typescript-language-server/issues/624)) ([adf2689](https://github.com/typescript-language-server/typescript-language-server/commit/adf268927a2f4b5e689572be9bedc349573aadd5)) - -## [2.1.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.0.1...v2.1.0) (2022-10-17) - - -### Features - -* add `_typescript.configurePlugin` workspace command ([#607](https://github.com/typescript-language-server/typescript-language-server/issues/607)) ([59a5217](https://github.com/typescript-language-server/typescript-language-server/commit/59a52174148f3dc95fa2969971a1f95c6e432812)) -* add `tsserver.logVerbosity` and `tsserver.path` to `initializationOptions` ([#611](https://github.com/typescript-language-server/typescript-language-server/issues/611)) ([a03eab5](https://github.com/typescript-language-server/typescript-language-server/commit/a03eab5f1442ad68745d6bec464191a66ab85fc7)) -* add support for `[@link](https://github.com/link)` references in JSDoc ([#612](https://github.com/typescript-language-server/typescript-language-server/issues/612)) ([3722b51](https://github.com/typescript-language-server/typescript-language-server/commit/3722b51c0ad8e758c4e42f622bbe25ae981071e1)) -* add workspace implicit project defaults configuration ([#605](https://github.com/typescript-language-server/typescript-language-server/issues/605)) ([c6b3947](https://github.com/typescript-language-server/typescript-language-server/commit/c6b39473ed5343f99434506ee034fd0d45a5364d)) - - -### Bug Fixes - -* loading progress sometimes getting stuck ([#603](https://github.com/typescript-language-server/typescript-language-server/issues/603)) ([8cf4381](https://github.com/typescript-language-server/typescript-language-server/commit/8cf43810e0ff7a32d3499afc6da2344939b2d6de)) -* respect user-provided tsserver.js path from `--tsserver-path` ([#610](https://github.com/typescript-language-server/typescript-language-server/issues/610)) ([417339f](https://github.com/typescript-language-server/typescript-language-server/commit/417339fa66bc1910c80888c3f909e3d059da8ee5)) - -## [2.0.1](https://github.com/typescript-language-server/typescript-language-server/compare/v2.0.0...v2.0.1) (2022-10-07) - - -### Bug Fixes - -* disable IPC communication until TypeScript bug is fixed ([#600](https://github.com/typescript-language-server/typescript-language-server/issues/600)) ([a6153a6](https://github.com/typescript-language-server/typescript-language-server/commit/a6153a66e88bed52704761f92dd4168605ef9a45)) - -## [2.0.0](https://github.com/typescript-language-server/typescript-language-server/compare/v1.2.0...v2.0.0) (2022-09-28) - - -### ⚠ BREAKING CHANGES - -* Replace the CLI argument `--tsserver-log-file` with `tsserver.logDirectory` option provided through `initializationOptions` of the `initialize` request. - -### Features - -* add `tsserver.logDirectory` to `initializationOptions` ([#588](https://github.com/typescript-language-server/typescript-language-server/issues/588)) ([114d430](https://github.com/typescript-language-server/typescript-language-server/commit/114d4309cb1450585f991604118d3eff3690237c)) -* add `tsserver.trace` init option for tracing tsserver ([#586](https://github.com/typescript-language-server/typescript-language-server/issues/586)) ([e3e8930](https://github.com/typescript-language-server/typescript-language-server/commit/e3e893094e501e3d6a72148e05f11286d688d2bd)) - - -### Bug Fixes - -* **completions:** don't create snippet kind without `completeFunctionCalls` ([#595](https://github.com/typescript-language-server/typescript-language-server/issues/595)) ([7f69c27](https://github.com/typescript-language-server/typescript-language-server/commit/7f69c27eb8cce71d3db006623757a74f93d76dd3)) -* **completions:** remove filterText override for bracket accessor ([#593](https://github.com/typescript-language-server/typescript-language-server/issues/593)) ([1ed4e2e](https://github.com/typescript-language-server/typescript-language-server/commit/1ed4e2eccf0b52e10204b5c2617d4944ae513afd)) -* wrong import completion when insert/replace supported ([#592](https://github.com/typescript-language-server/typescript-language-server/issues/592)) ([4fe902a](https://github.com/typescript-language-server/typescript-language-server/commit/4fe902a9e28ec4c3ccc14a9e75488efeb8079544)) - -## [1.2.0](https://github.com/typescript-language-server/typescript-language-server/compare/v1.1.2...v1.2.0) (2022-09-12) - - -### Features - -* Add insert replace support for completions ([#583](https://github.com/typescript-language-server/typescript-language-server/issues/583)) ([fdf9d11](https://github.com/typescript-language-server/typescript-language-server/commit/fdf9d11200c49a160ed3c3bd523e4792bc98e99d)) -* add support for new features from TypeScript 4.8 ([#576](https://github.com/typescript-language-server/typescript-language-server/issues/576)) ([7e88db3](https://github.com/typescript-language-server/typescript-language-server/commit/7e88db301a56d6d2dcd0fc1872d6baa386210497)) -* include "triggerReason" and "kind" in code action requests ([#579](https://github.com/typescript-language-server/typescript-language-server/issues/579)) ([f872078](https://github.com/typescript-language-server/typescript-language-server/commit/f872078fa3b40d8b9b90f737fec7a4c808f1ccc7)) -* support communicating with tsserver using IPC ([#585](https://github.com/typescript-language-server/typescript-language-server/issues/585)) ([8725b9b](https://github.com/typescript-language-server/typescript-language-server/commit/8725b9bee4432b7520ebd9adc67f4c65303b2c8c)) -* support for codeAction disabledSupport client capability ([#578](https://github.com/typescript-language-server/typescript-language-server/issues/578)) ([f93b849](https://github.com/typescript-language-server/typescript-language-server/commit/f93b8493eeafda32c865c93e99025c8ca11c3226)) - - -### Bug Fixes - -* only use optionalReplacementSpan if client supports InsertReplace ([#584](https://github.com/typescript-language-server/typescript-language-server/issues/584)) ([899ba6b](https://github.com/typescript-language-server/typescript-language-server/commit/899ba6b5c5f13faac8eec6478ced4d9f8d90836d)) - -## [1.1.2](https://github.com/typescript-language-server/typescript-language-server/compare/v1.1.1...v1.1.2) (2022-08-25) - - -### Bug Fixes - -* definition request crashing on getting span ([#574](https://github.com/typescript-language-server/typescript-language-server/issues/574)) ([4e1c82b](https://github.com/typescript-language-server/typescript-language-server/commit/4e1c82b82878316a12ff6b524d7dd5ab54b86acd)) - -## [1.1.1](https://github.com/typescript-language-server/typescript-language-server/compare/v1.1.0...v1.1.1) (2022-08-22) - - -### Bug Fixes - -* move deepmerge to dependencies ([06109d4](https://github.com/typescript-language-server/typescript-language-server/commit/06109d4646d94bdf1bbeb2768e18f1323ae1b630)) - -## [1.1.0](https://github.com/typescript-language-server/typescript-language-server/compare/v1.0.0...v1.1.0) (2022-08-21) - - -### Features - -* add "Go To Source Definition" command ([#560](https://github.com/typescript-language-server/typescript-language-server/issues/560)) ([9bcdaf2](https://github.com/typescript-language-server/typescript-language-server/commit/9bcdaf2b0b09da9aa4d7e6ed79bdcd742b3cfc17)) -* support `textDocument/inlayHint` request from 3.17.0 spec ([#566](https://github.com/typescript-language-server/typescript-language-server/issues/566)) ([9a2fd4e](https://github.com/typescript-language-server/typescript-language-server/commit/9a2fd4e34b6c50c57b974f617018dcefdb469788)) -* support LocationLink[] for textDocument/definition response ([#563](https://github.com/typescript-language-server/typescript-language-server/issues/563)) ([196f328](https://github.com/typescript-language-server/typescript-language-server/commit/196f328cd9fd7a06998151d59bed0b945cc68b40)) - - -### Bug Fixes - -* don't trigger error on empty Source Definition response ([#568](https://github.com/typescript-language-server/typescript-language-server/issues/568)) ([146a6ba](https://github.com/typescript-language-server/typescript-language-server/commit/146a6ba97f0792701ff8afcc431d3a1dfdb978a6)) -* make wording in the typescript lookup error more generic ([585a05e](https://github.com/typescript-language-server/typescript-language-server/commit/585a05e43a0b530f10e488aed634fac0436109ae)), closes [#554](https://github.com/typescript-language-server/typescript-language-server/issues/554) -* snippet completions returned to clients that don't support them ([#556](https://github.com/typescript-language-server/typescript-language-server/issues/556)) ([050d335](https://github.com/typescript-language-server/typescript-language-server/commit/050d3350e16fe78b7c60d7443ed3ad6d2cc4730d)) -* update signature help feature to v3.15.0 LSP spec ([#555](https://github.com/typescript-language-server/typescript-language-server/issues/555)) ([da074a6](https://github.com/typescript-language-server/typescript-language-server/commit/da074a618ca6c29819834a0344682094d6ff08f6)) - -## [1.0.0](https://github.com/typescript-language-server/typescript-language-server/compare/v0.11.2...v1.0.0) (2022-08-06) - - -### ⚠ BREAKING CHANGES - -* Ship as an ES module. Might be breaking for programmatic users of this server. Read more about consuming ES module packages at gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c -* **deps:** LSP libraries updated to match the 3.17 version of the LSP spec. Requires minimum Node 14. - -### Features - -* add support for CompletionItem.labelDetails ([#534](https://github.com/typescript-language-server/typescript-language-server/issues/534)) ([3c140d9](https://github.com/typescript-language-server/typescript-language-server/commit/3c140d958507300d7d186adb84f5b0baa549edb2)) - - -### Bug Fixes - -* declare quickfix/refactor CodeAction capabilities ([#553](https://github.com/typescript-language-server/typescript-language-server/issues/553)) ([e76fc64](https://github.com/typescript-language-server/typescript-language-server/commit/e76fc6493295649d6ada83c8a5f6d88abe2a6167)) -* handle shutdown lifecycle properly ([#536](https://github.com/typescript-language-server/typescript-language-server/issues/536)) ([ac8536b](https://github.com/typescript-language-server/typescript-language-server/commit/ac8536bf8eb805bfc28e484a8f4827b5375d6824)) - - -### Miscellaneous Chores - -* **deps:** update LSP libraries to match 3.17 spec ([#532](https://github.com/typescript-language-server/typescript-language-server/issues/532)) ([bdbdd83](https://github.com/typescript-language-server/typescript-language-server/commit/bdbdd8379815583aa28d2a770034253050ba24de)) - - -### Code Refactoring - -* ship as an ES module ([#547](https://github.com/typescript-language-server/typescript-language-server/issues/547)) ([0dfd411](https://github.com/typescript-language-server/typescript-language-server/commit/0dfd41125c04868b547a3893334bb0bb822e0517)) - -## [0.11.2](https://github.com/typescript-language-server/typescript-language-server/compare/v0.11.1...v0.11.2) (2022-06-24) - - -### Bug Fixes - -* apply refactoring returns -1 positions in ranges ([#502](https://github.com/typescript-language-server/typescript-language-server/issues/502)) ([5f52db0](https://github.com/typescript-language-server/typescript-language-server/commit/5f52db0383d6c326cd321c13fc969ab9d3958011)) - -## [0.11.1](https://github.com/typescript-language-server/typescript-language-server/compare/v0.11.0...v0.11.1) (2022-06-13) - - -### Bug Fixes - -* completion for strings with trigger character ([#492](https://github.com/typescript-language-server/typescript-language-server/issues/492)) ([76bf9a4](https://github.com/typescript-language-server/typescript-language-server/commit/76bf9a4817ffa1e340422cfd5177dbcb96528ddb)) - -## [0.11.0](https://github.com/typescript-language-server/typescript-language-server/compare/v0.10.1...v0.11.0) (2022-06-06) - - -### Features - -* add support for rename prefixText and suffixText on rename ([#478](https://github.com/typescript-language-server/typescript-language-server/issues/478)) ([b3c8535](https://github.com/typescript-language-server/typescript-language-server/commit/b3c85354c71dc36e1d4775bf61d7064a6b85e958)) - -### [0.10.1](https://github.com/typescript-language-server/typescript-language-server/compare/v0.10.0...v0.10.1) (2022-05-18) - - -### Bug Fixes - -* pin old version of LSP libraries for node <14 compatibility ([#467](https://github.com/typescript-language-server/typescript-language-server/issues/467)) ([55600e1](https://github.com/typescript-language-server/typescript-language-server/commit/55600e12635c01d5a531b776b33d10f9e622a7a6)) - -## [0.10.0](https://github.com/typescript-language-server/typescript-language-server/compare/v0.9.7...v0.10.0) (2022-05-11) - - -### Features - -* add support for locale option ([#461](https://github.com/typescript-language-server/typescript-language-server/issues/461)) ([be6a95d](https://github.com/typescript-language-server/typescript-language-server/commit/be6a95ddf6abf8cb68689a6995e3e55858eacb23)) - -### [0.9.7](https://github.com/typescript-language-server/typescript-language-server/compare/v0.9.6...v0.9.7) (2022-02-27) - - -### Bug Fixes - -* add more logging for resolving user-specified tsserver ([#412](https://github.com/typescript-language-server/typescript-language-server/issues/412)) ([7139a32](https://github.com/typescript-language-server/typescript-language-server/commit/7139a32da05b6e3dfcd3252bde934dc499412d3d)) -* help users resolve no valid tsserver version error ([#337](https://github.com/typescript-language-server/typescript-language-server/issues/337)) ([d835543](https://github.com/typescript-language-server/typescript-language-server/commit/d835543e455a51ec159457a1479a550712574099)) - -## [0.9.6] - 2022-02-02 - - - **fix**: don't transform zipfile URIs from Vim (#386) - -## [0.9.5] - 2022-01-27 - - - **fix**: don't transform Yarn zipfile URIs (#384) - -## [0.9.4] - 2022-01-19 - - - **fix**: call configure before completion resolve (#377) - -## [0.9.3] - 2022-01-16 - - - **fix**: wait for tsserver configuration requests to finish (#372) - -## [0.9.2] - 2022-01-14 - - - **fix**: use correct name for the addMissingImports code action (#371) - -## [0.9.1] - 2022-01-07 - - - **fix**: don't use the postinstall script - -## [0.9.0] - 2022-01-07 - - - **feat**: implement additional code actions for handling auto-fixing (#318) - - - **feat**: report progress when loading the project (#326) - - - **feat**: add new preferences from typescript 4.5.3 (#304) - - - **fix**: correct matching of "only" kinds provided by the client (#334) - - - **fix**: pass format options for organizing import (#348) - - - **fix**: use snippet type for jsx attribute completions (#362) - -## [0.8.1] - 2021-11-25 - - - **fix**: lookup workspace typescript in dirs higher up the tree also (#314) - -## [0.8.0] - 2021-11-21 - - - **feat**: implement semantic tokens support (#290) - - - **feat**: add support for snippet completions for methods/functions (#303) - - - **feat**: ability to ignore diagnostics by code (#272) - Adds new `diagnostics.ignoredCodes` workspace setting to ignore specific diagnostics. - - - **feat**: add `npmLocation` option to specify NPM location (#293) - - - **fix**: don't announce support for codeActionKinds (#289) - - - **fix**: mark import completions as snippets (#291) - - - **fix**: specify minimum node version to be v12 (#301) - - - **fix**: ensure that the `tsserver` subprocess uses forked node instance (#292) - Potentially **BREAKING**. The lookup of `tsserver` was refactored to never use `spawn` logic but instead always `fork` the current node instance. See more info in the PR. - - - **fix**: exit the server if tsserver process crashes (#305) - - - **fix**: respect "includeDeclaration" for references request (#306) - -## [0.7.1] - 2021-11-10 - - - fix: add missing `semver` dependency (#288) - -## [0.7.0] - 2021-11-09 - -### Breaking - -Changes to default options sent to tsserver could affect behavior (hopefully for the better). Read changes below for more details. - -### Changes - -- **feat**: include import specifier for import completions (#281) - For completions that import from another package, the completions will include a "detail" field with the name of the module. - - Also aligned some other logic with the typescript language services used in VSCode: - * annotate the completions with the local name of the import when completing a path in import foo from '...' - * update completion "sortText" regardless if the completion "isRecommended" - -- **feat**: allow skip destructive actions on running OrganizeImports (#228) - Add support for the new skipDestructiveCodeActions argument to TypeScript's organize imports feature - [1] to support [2]. - - Support is added in two places: - * Automatically inferring the proper value based on diagnostics for the file when returning code actions. - * Supporting sending it when manually executing the organize imports action. - - Also added documentation to the readme about the supported commands that can be manually executed. - - [1] https://github.com/microsoft/TypeScript/issues/43051 - [2] https://github.com/apexskier/nova-typescript/issues/273 - -- **feat**: support running server on files without root workspace (#286) - The tsserver seems to be good at inferring the project configuration when opening single files without a workspace so don't crash on missing `rootPath`. - -- **feat**: add `disableAutomaticTypingAcquisition` option to disable automatic type acquisition (#285) -- **feat**: update default tsserver options (#284) - Set the following additional options by default: - ``` - allowRenameOfImportPath: true, - displayPartsForJSDoc: true, - generateReturnInDocTemplate: true, - includeAutomaticOptionalChainCompletions: true, - includeCompletionsForImportStatements: true, - includeCompletionsWithSnippetText: true, - ``` - This aligns more with the default options of the typescript language services in VSCode. -- **feat**: announce support for "source.organizeImports.ts-ls" action (#283) - Announcing support for that code action allows editors that support - running code actions on save to automatically run the code action if - the user has configured the editor with settings like - - ```js - "codeActionsOnSave": { - "source.organizeImports": true, - // or - "source.organizeImports.ts-ls": true, - }, - ``` - - **chore**: change default log level from "warn" to "info" (#287) - -## [0.6.5] - 2021-11-03 - - - fix: normalize client and tsserver paths (#275) - This should ensure consistent behavior regradless of the platform. Previously some functionality could be malfunctioning on Windows depending on the LSP client used due to using non-normalized file paths. - - Handle the `APPLY_COMPLETION_CODE_ACTION` command internally (#270) - This means that the clients that have implemented a custom handling for the `_typescript.applyCompletionCodeAction` command can remove that code. - Without removing the custom handling everything should work as before but some edge cases might work better when custom handling is removed. - - fix: ignore empty code blocks in content returned from `textDocument/hover` (#276) - - fix: remove unsupported --node-ipc and --socket options (#278) - -## [0.6.4] - 2021-10-12 - - - Fix broken logging (#267) - - Add support for `workspace/didChangeConfiguration` and setting formatting options per language (#268) - - Add option to set inlayHints preferences by language (#266) - -## [0.6.3] - 2021-10-27 - - - Implement experimental inlay hints (#259) ([documentation](https://github.com/typescript-language-server/typescript-language-server#typescriptinlayhints-experimental-supported-from-typescript-v442)) - - Send diagnostics even to clients that don't signal support (#261) (reverts #229) - -## [0.6.2] - 2021-08-16 - - - Mark completion items as deprecated if JSDoc says so (#227) - - Add a `maxTsServerMemory` option (#252) - - (chore) Add Windows and Mac CI runner (#248) - -## [0.6.1] - 2021-08-16 - -- Fix Windows path regression introduced in #220 (#249) - -## [0.6.0] - 2021-08-12 - -- Refactor code actions to better support filtering against "only" (#170) -- Support Yarn PnP (#220) -- Update internal Typescript dependency from 3.9.0 to 4.3.4 (#226) -- Only publish diagnostics if client supports the capability (#229) -- Add support for "unnecessary" and "deprecated" diagnostic tags (#230) -- Upgrade vscode-languageserver (#231) -- Lookup tsserver using direct path rather than through .bin alias (#234) -- Don't pass deprecated options to Completion request - -## [0.5.4] - 2021-07-01 - -- Remove hardcoded request timeouts -- Forward user preferences in `initializationOptions` -- Use `require.resolve` for module resolution (#195) - -## [0.5.0] - 2021-01-16 - -- Fix empty documentHighlight results due to inconsistent path delimiters -- Update command line option `tssserver-log-verbosity` to support `off` -- Call compilerOptionsForInferredProjects during initialization (set good defaults when tsconfig.json missing) -- Remove warnings from LSP completion results -- Add support for formatting range (textDocument/rangeFormatting) -- Ensure TSP request cancellation cancels timeout handling - -## [0.4.0] - 2019-08-28 - -- Upgraded to LSP 5.3.0 and Monaco 0.17.0. [#115](https://github.com/theia-ide/typescript-language-server/pull/115) - -## [0.3.7] - 2018-11-18 - -- Let documentSymbol return the correct results when mergeable elements are used [#77](https://github.com/theia-ide/typescript-language-server/pull/77) -- Return correct ranges for hierarchical document symbol [#79](https://github.com/theia-ide/typescript-language-server/pull/79) -- Return null when resolving completion request at an invalid location [#81](https://github.com/theia-ide/typescript-language-server/pull/81) -- Initial call hierarchy support [#85](https://github.com/theia-ide/typescript-language-server/pull/85) -- Allowing starting tsserver as a module using cp.fork [#88](https://github.com/theia-ide/typescript-language-server/pull/88) - -Thanks to [@AlexTugarev](https://github.com/AlexTugarev) and [@keyboardDrummer](https://github.com/keyboardDrummer) - -## [0.3.6] - 2018-09-18 - -- Respect URIs received from clients [#75](https://github.com/theia-ide/typescript-language-server/pull/75) - -## [0.3.5] - 2018-09-14 -- Fixed publishing diagnostics for all opened documents [#71](https://github.com/theia-ide/typescript-language-server/pull/71) - thanks to [@keyboardDrummer](https://github.com/keyboardDrummer) -- Support global tsserver plugins [#73](https://github.com/theia-ide/typescript-language-server/pull/73) -- Configure a tsserver log file via `TSSERVER_LOG_FILE` env variable [#73](https://github.com/theia-ide/typescript-language-server/pull/73) - -## [0.3.4] - 2018-09-12 -- Restore containerName for non-hierarchical symbols [#69](https://github.com/theia-ide/typescript-language-server/pull/69) - -## [0.3.3] - 2018-09-11 -- Fix updating documents on `didChange` notification [#65](https://github.com/theia-ide/typescript-language-server/pull/65) -- Debounce triggering diagnostics if a client is spamming with edits [#65](https://github.com/theia-ide/typescript-language-server/pull/65) - -## [0.3.2] - 2018-09-06 -- Hierarchical document symbols support [#62](https://github.com/theia-ide/typescript-language-server/pull/62) - -## [0.3.1] - 2018-09-04 - -- Allow a client to enable tsserver logging [#59](https://github.com/theia-ide/typescript-language-server/pull/59) - -## [0.3.0] - 2018-08-23 - -- Setup the monorepo with yarn workspaces and ts project references [#48](https://github.com/theia-ide/typescript-language-server/pull/48) -- Added a Monaco based example [#48](https://github.com/theia-ide/typescript-language-server/pull/48) -- Aligned `completion/completionResolve` with VS Code behaviour [#50](https://github.com/theia-ide/typescript-language-server/pull/50) -- Interrupt diagnostics to improve response time for other requests, as completion and signature help [#51](https://github.com/theia-ide/typescript-language-server/pull/51) -- Applied refactorings support [#51](https://github.com/theia-ide/typescript-language-server/pull/51) -- Suggest diagnostics support [#51](https://github.com/theia-ide/typescript-language-server/pull/51) -- Diagnostics buffering [#51](https://github.com/theia-ide/typescript-language-server/pull/51) -- Tolerating non-file URIs [#51](https://github.com/theia-ide/typescript-language-server/pull/51) -- Organize imports support [#51](https://github.com/theia-ide/typescript-language-server/pull/51) -- Added `Apply Rename File` command [#56](https://github.com/theia-ide/typescript-language-server/pull/56) - -[0.4.0]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.7...v0.4.0 -[0.3.7]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.6...v0.3.7 -[0.3.6]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.5...v0.3.6 -[0.3.5]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.4...v0.3.5 -[0.3.4]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.3...v0.3.4 -[0.3.3]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.2...v0.3.3 -[0.3.2]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.1...v0.3.2 -[0.3.1]: https://github.com/theia-ide/typescript-language-server/compare/961d937f3ee3ea6b68cb98a6c235c6beea5f2fa5...v0.3.1 -[0.3.0]: https://github.com/theia-ide/typescript-language-server/compare/v0.2.0...961d937f3ee3ea6b68cb98a6c235c6beea5f2fa5 diff --git a/nvim/lua/node_modules/typescript-language-server/LICENSE b/nvim/lua/node_modules/typescript-language-server/LICENSE deleted file mode 100644 index 671b6d7..0000000 --- a/nvim/lua/node_modules/typescript-language-server/LICENSE +++ /dev/null @@ -1,240 +0,0 @@ -Parts of the code copied from the https://github.com/microsoft/vscode repository are licensed under the following license: - -BEGIN LICENSE ---------------------------------------------------------------- - -MIT License - -Copyright (c) 2015 - present Microsoft Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -END LICESE ------------------------------------------------------------------- - -This applies to files that include the following license header: - -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - - -The rest of the code licensed under: - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/nvim/lua/node_modules/typescript-language-server/README.md b/nvim/lua/node_modules/typescript-language-server/README.md deleted file mode 100644 index 568668e..0000000 --- a/nvim/lua/node_modules/typescript-language-server/README.md +++ /dev/null @@ -1,576 +0,0 @@ -[](https://travis-ci.org/theia-ide/typescript-language-server) -[](https://discord.gg/AC7Vs6hwFa) - -# TypeScript Language Server - -[Language Server Protocol](https://github.com/Microsoft/language-server-protocol) implementation for TypeScript wrapping `tsserver`. - -[](https://www.npmjs.com/package/typescript-language-server) - -Based on concepts and ideas from https://github.com/prabirshrestha/typescript-language-server and originally maintained by [TypeFox](https://typefox.io) - -Maintained by a [community of contributors](https://github.com/typescript-language-server/typescript-language-server/graphs/contributors) like you - -<!-- MarkdownTOC --> - -- [Installing](#installing) -- [Running the language server](#running-the-language-server) -- [CLI Options](#cli-options) -- [initializationOptions](#initializationoptions) -- [workspace/didChangeConfiguration](#workspacedidchangeconfiguration) -- [Code actions on save](#code-actions-on-save) -- [Workspace commands \(`workspace/executeCommand`\)](#workspace-commands-workspaceexecutecommand) - - [Go to Source Definition](#go-to-source-definition) - - [Apply Workspace Edits](#apply-workspace-edits) - - [Apply Code Action](#apply-code-action) - - [Apply Refactoring](#apply-refactoring) - - [Organize Imports](#organize-imports) - - [Rename File](#rename-file) - - [Configure plugin](#configure-plugin) -- [Inlay hints \(`textDocument/inlayHint`\)](#inlay-hints-textdocumentinlayhint) -- [TypeScript Version Notification](#typescript-version-notification) -- [Supported Protocol features](#supported-protocol-features) -- [Development](#development) - - [Build](#build) - - [Test](#test) - - [Watch](#watch) - - [Publishing](#publishing) - -<!-- /MarkdownTOC --> - -## Installing - -```sh -npm install -g typescript-language-server typescript -``` - -## Running the language server - -``` -typescript-language-server --stdio -``` - -## CLI Options - -``` - Usage: typescript-language-server [options] - - - Options: - - -V, --version output the version number - --stdio use stdio (required option) - --log-level <log-level> A number indicating the log level (4 = log, 3 = info, 2 = warn, 1 = error). Defaults to `3`. - --tsserver-log-verbosity <verbosity> [deprecated] Specify tsserver log verbosity (off, terse, normal, verbose). Defaults to `normal`. example: --tsserver-log-verbosity=verbose - --tsserver-path <path> [deprecated] Specify path to tsserver directory. example: --tsserver-path=/Users/me/typescript/lib/ - -h, --help output usage information -``` - -> The `--tsserver-log-verbosity` and `--tsserver-path` options are deprecated and it is recommended to pass those through corresponding `tsserver.*` `initializationOptions` instead. - -> Note: The path passed to `--tsserver-path` should be a path to the `[...]/typescript/lib/tssserver.js` file or to the `[...]/typescript/lib/` directory and not to the shell script `[...]/node_modules/.bin/tsserver`. Though for backward-compatibility reasons, the server will try to do the right thing even when passed a path to the shell script. - -## initializationOptions - -The language server accepts various settings through the `initializationOptions` object passed through the `initialize` request. Refer to your LSP client's documentation on how to set these. Here is the list of supported options: - -| Setting | Type | Description | -|:------------------|:---------|:--------------------------------------------------------------------------------------| -| hostInfo | string | Information about the host, for example `"Emacs 24.4"` or `"Sublime Text v3075"`. **Default**: `undefined` | -| completionDisableFilterText | boolean | Don't set `filterText` property on completion items. **Default**: `false` | -| disableAutomaticTypingAcquisition | boolean | Disables tsserver from automatically fetching missing type definitions (`@types` packages) for external modules. | -| maxTsServerMemory | number | The maximum size of the V8's old memory section in megabytes (for example `4096` means 4GB). The default value is dynamically configured by Node so can differ per system. Increase for very big projects that exceed allowed memory usage. **Default**: `undefined` | -| npmLocation | string | Specifies the path to the NPM executable used for Automatic Type Acquisition. | -| locale | string | The locale to use to show error messages. | -| plugins | object[] | An array of `{ name: string, location: string }` objects for registering a Typescript plugins. **Default**: [] | -| preferences | object | Preferences passed to the Typescript (`tsserver`) process. See below for more | -| tsserver | object | Options related to the `tsserver` process. See below for more | - -The `tsserver` setting specifies additional options related to the internal `tsserver` process, like tracing and logging. - -```ts -interface TsserverOptions { - /** - * The path to the directory where the `tsserver` log files will be created. - * If not provided, the log files will be created within the workspace, inside the `.log` directory. - * If no workspace root is provided when initializating the server and no custom path is specified then - * the logs will not be created. - * - * @default undefined - */ - logDirectory?: string; - /** - * Verbosity of the information logged into the `tsserver` log files. - * - * Log levels from least to most amount of details: `'terse'`, `'normal'`, `'requestTime`', `'verbose'`. - * Enabling particular level also enables all lower levels. - * - * @default 'off' - */ - logVerbosity?: 'off' | 'terse' | 'normal' | 'requestTime' | 'verbose'; - /** - * The path to the `tsserver.js` file or the typescript lib directory. For example: `/Users/me/typescript/lib/tsserver.js`. - */ - path?: string; - /** - * The verbosity of logging of the tsserver communication. - * Delivered through the LSP messages and not related to file logging. - * - * @default 'off' - */ - trace?: 'off' | 'messages' | 'verbose'; - /** - * Whether a dedicated server is launched to more quickly handle syntax related operations, such as computing diagnostics or code folding. - * - * Allowed values: - * - auto: Spawn both a full server and a lighter weight server dedicated to syntax operations. The syntax server is used to speed up syntax operations and provide IntelliSense while projects are loading. - * - never: Don't use a dedicated syntax server. Use a single server to handle all IntelliSense operations. - * - * @default 'auto' - */ - useSyntaxServer?: 'auto' | 'never'; -} -``` - -The `preferences` object is an object specifying preferences for the internal `tsserver` process. Those options depend on the version of Typescript used but at the time of writing Typescript v4.4.3 contains these options: - -```ts -interface UserPreferences { - /** - * Glob patterns of files to exclude from auto imports. Requires using TypeScript 4.8 or newer in the workspace. - * Relative paths are resolved relative to the workspace root. - * @since 4.8.2 - */ - autoImportFileExcludePatterns: [], - disableSuggestions: boolean; - quotePreference: "auto" | "double" | "single"; - /** - * If enabled, TypeScript will search through all external modules' exports and add them to the completions list. - * This affects lone identifier completions but not completions on the right hand side of `obj.`. - */ - includeCompletionsForModuleExports: boolean; - /** - * Enables auto-import-style completions on partially-typed import statements. E.g., allows - * `import write|` to be completed to `import { writeFile } from "fs"`. - */ - includeCompletionsForImportStatements: boolean; - /** - * Allows completions to be formatted with snippet text, indicated by `CompletionItem["isSnippet"]`. - */ - includeCompletionsWithSnippetText: boolean; - /** - * If enabled, the completion list will include completions with invalid identifier names. - * For those entries, The `insertText` and `replacementSpan` properties will be set to change from `.x` property access to `["x"]`. - */ - includeCompletionsWithInsertText: boolean; - /** - * Unless this option is `false`, or `includeCompletionsWithInsertText` is not enabled, - * member completion lists triggered with `.` will include entries on potentially-null and potentially-undefined - * values, with insertion text to replace preceding `.` tokens with `?.`. - */ - includeAutomaticOptionalChainCompletions: boolean; - /** - * If enabled, completions for class members (e.g. methods and properties) will include - * a whole declaration for the member. - * E.g., `class A { f| }` could be completed to `class A { foo(): number {} }`, instead of - * `class A { foo }`. - * @since 4.5.2 - * @default true - */ - includeCompletionsWithClassMemberSnippets: boolean; - /** - * If enabled, object literal methods will have a method declaration completion entry in addition - * to the regular completion entry containing just the method name. - * E.g., `const objectLiteral: T = { f| }` could be completed to `const objectLiteral: T = { foo(): void {} }`, - * in addition to `const objectLiteral: T = { foo }`. - * @since 4.7.2 - * @default true - */ - includeCompletionsWithObjectLiteralMethodSnippets: boolean; - /** - * Indicates whether {@link CompletionEntry.labelDetails completion entry label details} are supported. - * If not, contents of `labelDetails` may be included in the {@link CompletionEntry.name} property. - * Only supported if the client supports `textDocument.completion.completionItem.labelDetailsSupport` capability - * and a compatible TypeScript version is used. - * @since 4.7.2 - * @default true - */ - useLabelDetailsInCompletionEntries: boolean; - /** - * Allows import module names to be resolved in the initial completions request. - * @default false - */ - allowIncompleteCompletions: boolean; - importModuleSpecifierPreference: "shortest" | "project-relative" | "relative" | "non-relative"; - /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */ - importModuleSpecifierEnding: "auto" | "minimal" | "index" | "js"; - allowTextChangesInNewFiles: boolean; - lazyConfiguredProjectsFromExternalProject: boolean; - providePrefixAndSuffixTextForRename: boolean; - provideRefactorNotApplicableReason: boolean; - allowRenameOfImportPath: boolean; - includePackageJsonAutoImports: "auto" | "on" | "off"; - /** - * Preferred style for JSX attribute completions: - * - `"auto"` - Insert `={}` or `=\"\"` after attribute names based on the prop type. - * - `"braces"` - Insert `={}` after attribute names. - * - `"none"` - Only insert attribute names. - * @since 4.5.2 - * @default 'auto' - */ - jsxAttributeCompletionStyle: "auto" | "braces" | "none"; - displayPartsForJSDoc: boolean; - generateReturnInDocTemplate: boolean; - - includeInlayParameterNameHints: "none" | "literals" | "all"; - includeInlayParameterNameHintsWhenArgumentMatchesName: boolean; - includeInlayFunctionParameterTypeHints: boolean, - includeInlayVariableTypeHints: boolean; - /** - * When disabled then type hints on variables whose name is identical to the type name won't be shown. Requires using TypeScript 4.8+ in the workspace. - * @since 4.8.2 - * @default false - */ - includeInlayVariableTypeHintsWhenTypeMatchesName: boolean; - includeInlayPropertyDeclarationTypeHints: boolean; - includeInlayFunctionLikeReturnTypeHints: boolean; - includeInlayEnumMemberValueHints: boolean; -} -``` - -From the `preferences` options listed above, this server explicilty sets the following options (all other options use their default values): - -```js -{ - allowIncompleteCompletions: true, - allowRenameOfImportPath: true, - allowTextChangesInNewFiles: true, - displayPartsForJSDoc: true, - generateReturnInDocTemplate: true, - includeAutomaticOptionalChainCompletions: true, - includeCompletionsForImportStatements: true, - includeCompletionsForModuleExports: true, - includeCompletionsWithClassMemberSnippets: true, - includeCompletionsWithObjectLiteralMethodSnippets: true, - includeCompletionsWithInsertText: true, - includeCompletionsWithSnippetText: true, - jsxAttributeCompletionStyle: "auto", - providePrefixAndSuffixTextForRename: true, - provideRefactorNotApplicableReason: true, -} -``` - -## workspace/didChangeConfiguration - -Some of the preferences can be controlled through the `workspace/didChangeConfiguration` notification. Below is a list of supported options that can be passed. Note that the settings are specified separately for the typescript and javascript files so `[language]` can be either `javascript` or `typescript`. - -```ts -// Formatting preferences -[language].format.baseIndentSize: number; -[language].format.convertTabsToSpaces: boolean; -[language].format.indentSize: number; -[language].format.indentStyle: 'None' | 'Block' | 'Smart'; -[language].format.insertSpaceAfterCommaDelimiter: boolean; -[language].format.insertSpaceAfterConstructor: boolean; -[language].format.insertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean; -[language].format.insertSpaceAfterKeywordsInControlFlowStatements: boolean; -[language].format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces: boolean; -[language].format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces: boolean; -[language].format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: boolean; -[language].format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean; -[language].format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean; -[language].format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean; -[language].format.insertSpaceAfterSemicolonInForStatements: boolean; -[language].format.insertSpaceAfterTypeAssertion: boolean; -[language].format.insertSpaceBeforeAndAfterBinaryOperators: boolean; -[language].format.insertSpaceBeforeFunctionParenthesis: boolean; -[language].format.insertSpaceBeforeTypeAnnotation: boolean; -[language].format.newLineCharacter: string; -[language].format.placeOpenBraceOnNewLineForControlBlocks: boolean; -[language].format.placeOpenBraceOnNewLineForFunctions: boolean; -[language].format.semicolons: 'ignore' | 'insert' | 'remove'; -[language].format.tabSize: number; -[language].format.trimTrailingWhitespace: boolean; -// Inlay Hints preferences -[language].inlayHints.includeInlayEnumMemberValueHints: boolean; -[language].inlayHints.includeInlayFunctionLikeReturnTypeHints: boolean; -[language].inlayHints.includeInlayFunctionParameterTypeHints: boolean; -[language].inlayHints.includeInlayParameterNameHints: 'none' | 'literals' | 'all'; -[language].inlayHints.includeInlayParameterNameHintsWhenArgumentMatchesName: boolean; -[language].inlayHints.includeInlayPropertyDeclarationTypeHints: boolean; -[language].inlayHints.includeInlayVariableTypeHints: boolean; -[language].inlayHints.includeInlayVariableTypeHintsWhenTypeMatchesName: boolean; -/** - * Complete functions with their parameter signature. - * - * This functionality relies on LSP client resolving the completion using the `completionItem/resolve` call. If the - * client can't do that before inserting the completion then it's not safe to enable it as it will result in some - * completions having a snippet type without actually being snippets, which can then cause problems when inserting them. - * - * @default false - */ -completions.completeFunctionCalls: boolean; -// Diagnostics code to be omitted when reporting diagnostics. -// See https://github.com/microsoft/TypeScript/blob/master/src/compiler/diagnosticMessages.json for a full list of valid codes. -diagnostics.ignoredCodes: number[]; -/** - * Enable/disable semantic checking of JavaScript files. Existing `jsconfig.json` or `tsconfig.json` files override this setting. - * - * @default false - */ -implicitProjectConfiguration.checkJs: boolean; -/** - * Enable/disable `experimentalDecorators` in JavaScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting. - * - * @default false - */ -implicitProjectConfiguration.experimentalDecorators: boolean; -/** - * Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module. - * - * @default 'ESNext' - */ -implicitProjectConfiguration.module: string; -/** - * Enable/disable [strict function types](https://www.typescriptlang.org/tsconfig#strictFunctionTypes) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting. - * - * @default true - */ -implicitProjectConfiguration.strictFunctionTypes: boolean; -/** - * Enable/disable [strict null checks](https://www.typescriptlang.org/tsconfig#strictNullChecks) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting. - * - * @default true - */ -implicitProjectConfiguration.strictNullChecks: boolean; -/** - * Set target JavaScript language version for emitted JavaScript and include library declarations. See more: https://www.typescriptlang.org/tsconfig#target. - * - * @default 'ES2020' - */ -implicitProjectConfiguration.target: string; -``` - -## Code actions on save - -Server announces support for the following code action kinds: - - - `source.fixAll.ts` - despite the name, fixes a couple of specific issues: unreachable code, await in non-async functions, incorrectly implemented interface - - `source.removeUnused.ts` - removes declared but unused variables - - `source.addMissingImports.ts` - adds imports for used but not imported symbols - - `source.removeUnusedImports.ts` - removes unused imports - - `source.sortImports.ts` - sorts imports - - `source.organizeImports.ts` - organizes and removes unused imports - -This allows editors that support running code actions on save to automatically run fixes associated with those kinds. - -Those code actions, if they apply in the current code, should also be presented in the list of "Source Actions" if the editor exposes those. - -The user can enable it with a setting similar to (can vary per-editor): - -```js -"codeActionsOnSave": { - "source.organizeImports.ts": true, - // or just - "source.organizeImports": true, -} -``` - -## Workspace commands (`workspace/executeCommand`) - -See [LSP specification](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_executeCommand). - -Most of the time, you'll execute commands with arguments retrieved from another request like `textDocument/codeAction`. There are some use cases for calling them manually. - -`lsp` refers to the language server protocol types, `tsp` refers to the typescript server protocol types. - -### Go to Source Definition - -- Request: - ```ts - { - command: `_typescript.goToSourceDefinition` - arguments: [ - lsp.DocumentUri, // String URI of the document - lsp.Position, // Line and character position (zero-based) - ] - } - ``` -- Response: - ```ts - lsp.Location[] | null - ``` - -(This command is supported from Typescript 4.7.) - -### Apply Workspace Edits - -- Request: - ```ts - { - command: `_typescript.applyWorkspaceEdit` - arguments: [lsp.WorkspaceEdit] - } - ``` -- Response: - ```ts - lsp.ApplyWorkspaceEditResult - ``` - -### Apply Code Action - -- Request: - ```ts - { - command: `_typescript.applyCodeAction` - arguments: [ - tsp.CodeAction, // TypeScript Code Action object - ] - } - ``` -- Response: - ```ts - void - ``` - -### Apply Refactoring - -- Request: - ```ts - { - command: `_typescript.applyRefactoring` - arguments: [ - tsp.GetEditsForRefactorRequestArgs, - ] - } - ``` -- Response: - ```ts - void - ``` - -### Organize Imports - -- Request: - ```ts - { - command: `_typescript.organizeImports` - arguments: [ - // The "skipDestructiveCodeActions" argument is supported from Typescript 4.4+ - [string] | [string, { skipDestructiveCodeActions?: boolean }], - ] - } - ``` -- Response: - ```ts - void - ``` - -### Rename File - -- Request: - ```ts - { - command: `_typescript.applyRenameFile` - arguments: [ - { sourceUri: string; targetUri: string; }, - ] - } - ``` -- Response: - ```ts - void - ``` - -### Configure plugin - -- Request: - ```ts - { - command: `_typescript.configurePlugin` - arguments: [pluginName: string, configuration: any] - } - ``` -- Response: - ```ts - void - ``` - -## Inlay hints (`textDocument/inlayHint`) - -For the request to return any results, some or all of the following options need to be enabled through `preferences`: - -```ts -export interface InlayHintsOptions extends UserPreferences { - includeInlayParameterNameHints: 'none' | 'literals' | 'all'; - includeInlayParameterNameHintsWhenArgumentMatchesName: boolean; - includeInlayFunctionParameterTypeHints: boolean; - includeInlayVariableTypeHints: boolean; - includeInlayVariableTypeHintsWhenTypeMatchesName: boolean; - includeInlayPropertyDeclarationTypeHints: boolean; - includeInlayFunctionLikeReturnTypeHints: boolean; - includeInlayEnumMemberValueHints: boolean; -} -``` - -## TypeScript Version Notification - -Right after initializing, the server sends a custom `$/typescriptVersion` notification that carries information about the version of TypeScript that is utilized by the server. The editor can then display that information in the UI. - -The `$/typescriptVersion` notification params include two properties: - - - `version` - a semantic version (for example `4.8.4`) - - `source` - a string specifying whether used TypeScript version comes from the local workspace (`workspace`), is explicitly specified through a `initializationOptions.tsserver.path` setting (`user-setting`) or was bundled with the server (`bundled`) - -## Supported Protocol features - -- [x] textDocument/codeAction -- [x] textDocument/completion (incl. `completion/resolve`) -- [x] textDocument/definition -- [x] textDocument/didChange (incremental) -- [x] textDocument/didClose -- [x] textDocument/didOpen -- [x] textDocument/didSave -- [x] textDocument/documentHighlight -- [x] textDocument/documentSymbol -- [x] textDocument/executeCommand -- [x] textDocument/formatting -- [x] textDocument/hover -- [x] textDocument/inlayHint (no support for `inlayHint/resolve` or `workspace/inlayHint/refresh`) -- [x] textDocument/prepareCallHierarchy -- [x] callHierarchy/incomingCalls -- [x] callHierarchy/outgoingCalls -- [x] textDocument/prepareRename -- [x] textDocument/rangeFormatting -- [x] textDocument/references -- [x] textDocument/rename -- [x] textDocument/selectionRange -- [x] textDocument/signatureHelp -- [x] workspace/symbol -- [x] workspace/didChangeConfiguration -- [x] workspace/executeCommand - -## Development - -### Build - -```sh -yarn -``` - -### Test - - - `yarn test` - run all tests - - `yarn test:watch` - run all tests and enable watch mode for developing - -By default only console logs of level `warning` and higher are printed to the console. You can override the `CONSOLE_LOG_LEVEL` level in `package.json` to either `log`, `info`, `warning` or `error` to log other levels. - -### Watch - -```sh -yarn watch -``` - -### Publishing - -New version of the package is published automatically on pushing new tag to the upstream repo. diff --git a/nvim/lua/node_modules/typescript-language-server/lib/cli.mjs b/nvim/lua/node_modules/typescript-language-server/lib/cli.mjs deleted file mode 100755 index 0cbd860..0000000 --- a/nvim/lua/node_modules/typescript-language-server/lib/cli.mjs +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node -import e,{statSync as t,existsSync as n,readFileSync as r}from"node:fs";import i from"events";import o from"child_process";import s from"path";import a from"fs";import c from"process";import u,{promisify as l}from"util";import h from"os";import d from"crypto";import p from"net";import f from"url";import*as m from"node:path";import g,{resolve as y}from"node:path";import v from"constants";import b from"stream";import S from"assert";import"node:fs/promises";import w from"node:stream";import{promisify as R}from"node:util";import C from"node:child_process";import{createRequire as E}from"node:module";import{fileURLToPath as _}from"node:url";import D from"node:process";var T="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function k(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function x(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var n=function e(){if(this instanceof e){var n=[null];n.push.apply(n,arguments);var r=Function.bind.apply(t,n);return new r}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var P={},O={get exports(){return P},set exports(e){P=e}},N={},q={};let I=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}};q.CommanderError=I,q.InvalidArgumentError=class extends I{constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};const{InvalidArgumentError:A}=q;N.Argument=class{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this._name=e.slice(1,-1);break;case"[":this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e}this._name.length>3&&"..."===this._name.slice(-3)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_concatValue(e,t){return t!==this.defaultValue&&Array.isArray(t)?t.concat(e):[e]}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new A(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(e,t):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}},N.humanReadableArgName=function(e){const t=e.name()+(!0===e.variadic?"...":"");return e.required?"<"+t+">":"["+t+"]"};var M={},F={};const{humanReadableArgName:L}=N;F.Help=class{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(e){const t=e.commands.filter((e=>!e._hidden));if(e._hasImplicitHelpCommand()){const[,n,r]=e._helpCommandnameAndArgs.match(/([^ ]+) *(.*)/),i=e.createCommand(n).helpOption(!1);i.description(e._helpCommandDescription),r&&i.arguments(r),t.push(i)}return this.sortSubcommands&&t.sort(((e,t)=>e.name().localeCompare(t.name()))),t}compareOptions(e,t){const n=e=>e.short?e.short.replace(/^-/,""):e.long.replace(/^--/,"");return n(e).localeCompare(n(t))}visibleOptions(e){const t=e.options.filter((e=>!e.hidden)),n=e._hasHelpOption&&e._helpShortFlag&&!e._findOption(e._helpShortFlag),r=e._hasHelpOption&&!e._findOption(e._helpLongFlag);if(n||r){let i;i=n?r?e.createOption(e._helpFlags,e._helpDescription):e.createOption(e._helpShortFlag,e._helpDescription):e.createOption(e._helpLongFlag,e._helpDescription),t.push(i)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];const t=[];for(let n=e.parent;n;n=n.parent){const e=n.options.filter((e=>!e.hidden));t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e._args.forEach((t=>{t.description=t.description||e._argsDescription[t.name()]||""})),e._args.find((e=>e.description))?e._args:[]}subcommandTerm(e){const t=e._args.map((e=>L(e))).join(" ");return e._name+(e._aliases[0]?"|"+e._aliases[0]:"")+(e.options.length?" [options]":"")+(t?" "+t:"")}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce(((e,n)=>Math.max(e,t.subcommandTerm(n).length)),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce(((e,n)=>Math.max(e,t.optionTerm(n).length)),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce(((e,n)=>Math.max(e,t.optionTerm(n).length)),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce(((e,n)=>Math.max(e,t.argumentTerm(n).length)),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+"|"+e._aliases[0]);let n="";for(let t=e.parent;t;t=t.parent)n=t.name()+" "+n;return n+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){const t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map((e=>JSON.stringify(e))).join(", ")}`),void 0!==e.defaultValue){(e.required||e.optional||e.isBoolean()&&"boolean"==typeof e.defaultValue)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`)}return void 0!==e.presetArg&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),void 0!==e.envVar&&t.push(`env: ${e.envVar}`),t.length>0?`${e.description} (${t.join(", ")})`:e.description}argumentDescription(e){const t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map((e=>JSON.stringify(e))).join(", ")}`),void 0!==e.defaultValue&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){const n=`(${t.join(", ")})`;return e.description?`${e.description} ${n}`:n}return e.description}formatHelp(e,t){const n=t.padWidth(e,t),r=t.helpWidth||80;function i(e,i){if(i){const o=`${e.padEnd(n+2)}${i}`;return t.wrap(o,r-2,n+2)}return e}function o(e){return e.join("\n").replace(/^/gm," ".repeat(2))}let s=[`Usage: ${t.commandUsage(e)}`,""];const a=t.commandDescription(e);a.length>0&&(s=s.concat([t.wrap(a,r,0),""]));const c=t.visibleArguments(e).map((e=>i(t.argumentTerm(e),t.argumentDescription(e))));c.length>0&&(s=s.concat(["Arguments:",o(c),""]));const u=t.visibleOptions(e).map((e=>i(t.optionTerm(e),t.optionDescription(e))));if(u.length>0&&(s=s.concat(["Options:",o(u),""])),this.showGlobalOptions){const n=t.visibleGlobalOptions(e).map((e=>i(t.optionTerm(e),t.optionDescription(e))));n.length>0&&(s=s.concat(["Global Options:",o(n),""]))}const l=t.visibleCommands(e).map((e=>i(t.subcommandTerm(e),t.subcommandDescription(e))));return l.length>0&&(s=s.concat(["Commands:",o(l),""])),s.join("\n")}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}wrap(e,t,n,r=40){const i=new RegExp("[\\n][ \\f\\t\\v - \ufeff]+");if(e.match(i))return e;const o=t-n;if(o<r)return e;const s=e.slice(0,n),a=e.slice(n).replace("\r\n","\n"),c=" ".repeat(n),u="\\s",l=new RegExp(`\n|.{1,${o-1}}([${u}]|$)|[^${u}]+?([${u}]|$)`,"g");return s+(a.match(l)||[]).map(((e,t)=>"\n"===e?"":(t>0?c:"")+e.trimEnd())).join("\n")}};var j={};const{InvalidArgumentError:$}=q;function H(e){let t,n;const r=e.split(/[ |,]+/);return r.length>1&&!/^[[<]/.test(r[1])&&(t=r.shift()),n=r.shift(),!t&&/^-[^-]$/.test(n)&&(t=n,n=void 0),{shortFlag:t,longFlag:n}}j.Option=class{constructor(e,t){this.flags=e,this.description=t||"",this.required=e.includes("<"),this.optional=e.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;const n=H(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith("--no-")),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){return this.implied=Object.assign(this.implied||{},e),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_concatValue(e,t){return t!==this.defaultValue&&Array.isArray(t)?t.concat(e):[e]}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new $(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(e,t):e},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return this.name().replace(/^no-/,"").split("-").reduce(((e,t)=>e+t[0].toUpperCase()+t.slice(1)))}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},j.splitOptionFlags=H,j.DualOptions=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach((e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)})),this.negativeOptions.forEach(((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)}))}valueFromOption(e,t){const n=t.attributeName();if(!this.dualOptions.has(n))return!0;const r=this.negativeOptions.get(n).presetArg,i=void 0!==r&&r;return t.negate===(i===e)}};var W={};W.suggestSimilar=function(e,t){if(!t||0===t.length)return"";t=Array.from(new Set(t));const n=e.startsWith("--");n&&(e=e.slice(2),t=t.map((e=>e.slice(2))));let r=[],i=3;return t.forEach((t=>{if(t.length<=1)return;const n=function(e,t){if(Math.abs(e.length-t.length)>3)return Math.max(e.length,t.length);const n=[];for(let t=0;t<=e.length;t++)n[t]=[t];for(let e=0;e<=t.length;e++)n[0][e]=e;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++){let o=1;o=e[i-1]===t[r-1]?0:1,n[i][r]=Math.min(n[i-1][r]+1,n[i][r-1]+1,n[i-1][r-1]+o),i>1&&r>1&&e[i-1]===t[r-2]&&e[i-2]===t[r-1]&&(n[i][r]=Math.min(n[i][r],n[i-2][r-2]+1))}return n[e.length][t.length]}(e,t),o=Math.max(e.length,t.length);(o-n)/o>.4&&(n<i?(i=n,r=[t]):n===i&&r.push(t))})),r.sort(((e,t)=>e.localeCompare(t))),n&&(r=r.map((e=>`--${e}`))),r.length>1?`\n(Did you mean one of ${r.join(", ")}?)`:1===r.length?`\n(Did you mean ${r[0]}?)`:""};const V=i.EventEmitter,U=o,K=s,G=a,z=c,{Argument:B,humanReadableArgName:J}=N,{CommanderError:X}=q,{Help:Y}=F,{Option:Q,splitOptionFlags:Z,DualOptions:ee}=j,{suggestSimilar:te}=W;function ne(e,t){e._hasHelpOption&&t.find((t=>t===e._helpLongFlag||t===e._helpShortFlag))&&(e.outputHelp(),e._exit(0,"commander.helpDisplayed","(outputHelp)"))}function re(e){return e.map((e=>{if(!e.startsWith("--inspect"))return e;let t,n,r="127.0.0.1",i="9229";return null!==(n=e.match(/^(--inspect(-brk)?)$/))?t=n[1]:null!==(n=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))?(t=n[1],/^\d+$/.test(n[3])?i=n[3]:r=n[3]):null!==(n=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))&&(t=n[1],r=n[3],i=n[4]),t&&"0"!==i?`${t}=${r}:${parseInt(i)+1}`:e}))}function ie(e){const t=[];for(let n=e;n;n=n.parent)t.push(n);return t}M.Command=class e extends V{constructor(e){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!0,this._args=[],this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=e||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._outputConfiguration={writeOut:e=>z.stdout.write(e),writeErr:e=>z.stderr.write(e),getOutHelpWidth:()=>z.stdout.isTTY?z.stdout.columns:void 0,getErrHelpWidth:()=>z.stderr.isTTY?z.stderr.columns:void 0,outputError:(e,t)=>t(e)},this._hidden=!1,this._hasHelpOption=!0,this._helpFlags="-h, --help",this._helpDescription="display help for command",this._helpShortFlag="-h",this._helpLongFlag="--help",this._addImplicitHelpCommand=void 0,this._helpCommandName="help",this._helpCommandnameAndArgs="help [command]",this._helpCommandDescription="display help for command",this._helpConfiguration={}}copyInheritedSettings(e){return this._outputConfiguration=e._outputConfiguration,this._hasHelpOption=e._hasHelpOption,this._helpFlags=e._helpFlags,this._helpDescription=e._helpDescription,this._helpShortFlag=e._helpShortFlag,this._helpLongFlag=e._helpLongFlag,this._helpCommandName=e._helpCommandName,this._helpCommandnameAndArgs=e._helpCommandnameAndArgs,this._helpCommandDescription=e._helpCommandDescription,this._helpConfiguration=e._helpConfiguration,this._exitCallback=e._exitCallback,this._storeOptionsAsProperties=e._storeOptionsAsProperties,this._combineFlagAndOptionalValue=e._combineFlagAndOptionalValue,this._allowExcessArguments=e._allowExcessArguments,this._enablePositionalOptions=e._enablePositionalOptions,this._showHelpAfterError=e._showHelpAfterError,this._showSuggestionAfterError=e._showSuggestionAfterError,this}command(e,t,n){let r=t,i=n;"object"==typeof r&&null!==r&&(i=r,r=null),i=i||{};const[,o,s]=e.match(/([^ ]+) *(.*)/),a=this.createCommand(o);return r&&(a.description(r),a._executableHandler=!0),i.isDefault&&(this._defaultCommandName=a._name),a._hidden=!(!i.noHelp&&!i.hidden),a._executableFile=i.executableFile||null,s&&a.arguments(s),this.commands.push(a),a.parent=this,a.copyInheritedSettings(this),r?this:a}createCommand(t){return new e(t)}createHelp(){return Object.assign(new Y,this.configureHelp())}configureHelp(e){return void 0===e?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return void 0===e?this._outputConfiguration:(Object.assign(this._outputConfiguration,e),this)}showHelpAfterError(e=!0){return"string"!=typeof e&&(e=!!e),this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,t){if(!e._name)throw new Error("Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()");return(t=t||{}).isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this.commands.push(e),e.parent=this,this}createArgument(e,t){return new B(e,t)}argument(e,t,n,r){const i=this.createArgument(e,t);return"function"==typeof n?i.default(r).argParser(n):i.default(n),this.addArgument(i),this}arguments(e){return e.split(/ +/).forEach((e=>{this.argument(e)})),this}addArgument(e){const t=this._args.slice(-1)[0];if(t&&t.variadic)throw new Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&void 0!==e.defaultValue&&void 0===e.parseArg)throw new Error(`a default value for a required argument is never used: '${e.name()}'`);return this._args.push(e),this}addHelpCommand(e,t){return!1===e?this._addImplicitHelpCommand=!1:(this._addImplicitHelpCommand=!0,"string"==typeof e&&(this._helpCommandName=e.split(" ")[0],this._helpCommandnameAndArgs=e),this._helpCommandDescription=t||this._helpCommandDescription),this}_hasImplicitHelpCommand(){return void 0===this._addImplicitHelpCommand?this.commands.length&&!this._actionHandler&&!this._findCommand("help"):this._addImplicitHelpCommand}hook(e,t){const n=["preSubcommand","preAction","postAction"];if(!n.includes(e))throw new Error(`Unexpected value for event passed to hook : '${e}'.\nExpecting one of '${n.join("', '")}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(t):this._lifeCycleHooks[e]=[t],this}exitOverride(e){return this._exitCallback=e||(e=>{if("commander.executeSubCommandAsync"!==e.code)throw e}),this}_exit(e,t,n){this._exitCallback&&this._exitCallback(new X(e,t,n)),z.exit(e)}action(e){return this._actionHandler=t=>{const n=this._args.length,r=t.slice(0,n);return this._storeOptionsAsProperties?r[n]=this:r[n]=this.opts(),r.push(this),e.apply(this,r)},this}createOption(e,t){return new Q(e,t)}addOption(e){const t=e.name(),n=e.attributeName();if(e.negate){const t=e.long.replace(/^--no-/,"--");this._findOption(t)||this.setOptionValueWithSource(n,void 0===e.defaultValue||e.defaultValue,"default")}else void 0!==e.defaultValue&&this.setOptionValueWithSource(n,e.defaultValue,"default");this.options.push(e);const r=(t,r,i)=>{null==t&&void 0!==e.presetArg&&(t=e.presetArg);const o=this.getOptionValue(n);if(null!==t&&e.parseArg)try{t=e.parseArg(t,o)}catch(e){if("commander.invalidArgument"===e.code){const t=`${r} ${e.message}`;this.error(t,{exitCode:e.exitCode,code:e.code})}throw e}else null!==t&&e.variadic&&(t=e._concatValue(t,o));null==t&&(t=!e.negate&&(!(!e.isBoolean()&&!e.optional)||"")),this.setOptionValueWithSource(n,t,i)};return this.on("option:"+t,(t=>{const n=`error: option '${e.flags}' argument '${t}' is invalid.`;r(t,n,"cli")})),e.envVar&&this.on("optionEnv:"+t,(t=>{const n=`error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`;r(t,n,"env")})),this}_optionEx(e,t,n,r,i){if("object"==typeof t&&t instanceof Q)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");const o=this.createOption(t,n);if(o.makeOptionMandatory(!!e.mandatory),"function"==typeof r)o.default(i).argParser(r);else if(r instanceof RegExp){const e=r;r=(t,n)=>{const r=e.exec(t);return r?r[0]:n},o.default(i).argParser(r)}else o.default(r);return this.addOption(o)}option(e,t,n,r){return this._optionEx({},e,t,n,r)}requiredOption(e,t,n,r){return this._optionEx({mandatory:!0},e,t,n,r)}combineFlagAndOptionalValue(e=!0){return this._combineFlagAndOptionalValue=!!e,this}allowUnknownOption(e=!0){return this._allowUnknownOption=!!e,this}allowExcessArguments(e=!0){return this._allowExcessArguments=!!e,this}enablePositionalOptions(e=!0){return this._enablePositionalOptions=!!e,this}passThroughOptions(e=!0){if(this._passThroughOptions=!!e,this.parent&&e&&!this.parent._enablePositionalOptions)throw new Error("passThroughOptions can not be used without turning on enablePositionalOptions for parent command(s)");return this}storeOptionsAsProperties(e=!0){if(this._storeOptionsAsProperties=!!e,this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");return this}getOptionValue(e){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,n){return this._storeOptionsAsProperties?this[e]=t:this._optionValues[e]=t,this._optionValueSources[e]=n,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return ie(this).forEach((n=>{void 0!==n.getOptionValueSource(e)&&(t=n.getOptionValueSource(e))})),t}_prepareUserArgs(e,t){if(void 0!==e&&!Array.isArray(e))throw new Error("first parameter to parse must be array or undefined");let n;switch(t=t||{},void 0===e&&(e=z.argv,z.versions&&z.versions.electron&&(t.from="electron")),this.rawArgs=e.slice(),t.from){case void 0:case"node":this._scriptPath=e[1],n=e.slice(2);break;case"electron":z.defaultApp?(this._scriptPath=e[1],n=e.slice(2)):n=e.slice(1);break;case"user":n=e.slice(0);break;default:throw new Error(`unexpected parse option { from: '${t.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||"program",n}parse(e,t){const n=this._prepareUserArgs(e,t);return this._parseCommand([],n),this}async parseAsync(e,t){const n=this._prepareUserArgs(e,t);return await this._parseCommand([],n),this}_executeSubCommand(e,t){t=t.slice();let n=!1;const r=[".js",".ts",".tsx",".mjs",".cjs"];function i(e,t){const n=K.resolve(e,t);if(G.existsSync(n))return n;if(r.includes(K.extname(t)))return;const i=r.find((e=>G.existsSync(`${n}${e}`)));return i?`${n}${i}`:void 0}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let o,s=e._executableFile||`${this._name}-${e._name}`,a=this._executableDir||"";if(this._scriptPath){let e;try{e=G.realpathSync(this._scriptPath)}catch(t){e=this._scriptPath}a=K.resolve(K.dirname(e),a)}if(a){let t=i(a,s);if(!t&&!e._executableFile&&this._scriptPath){const n=K.basename(this._scriptPath,K.extname(this._scriptPath));n!==this._name&&(t=i(a,`${n}-${e._name}`))}s=t||s}if(n=r.includes(K.extname(s)),"win32"!==z.platform?n?(t.unshift(s),t=re(z.execArgv).concat(t),o=U.spawn(z.argv[0],t,{stdio:"inherit"})):o=U.spawn(s,t,{stdio:"inherit"}):(t.unshift(s),t=re(z.execArgv).concat(t),o=U.spawn(z.execPath,t,{stdio:"inherit"})),!o.killed){["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((e=>{z.on(e,(()=>{!1===o.killed&&null===o.exitCode&&o.kill(e)}))}))}const c=this._exitCallback;c?o.on("close",(()=>{c(new X(z.exitCode||0,"commander.executeSubCommandAsync","(close)"))})):o.on("close",z.exit.bind(z)),o.on("error",(t=>{if("ENOENT"===t.code){const t=a?`searched for local subcommand relative to directory '${a}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",n=`'${s}' does not exist\n - if '${e._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead\n - if the default executable name is not suitable, use the executableFile option to supply a custom name or path\n - ${t}`;throw new Error(n)}if("EACCES"===t.code)throw new Error(`'${s}' not executable`);if(c){const e=new X(1,"commander.executeSubCommandAsync","(error)");e.nestedError=t,c(e)}else z.exit(1)})),this.runningCommand=o}_dispatchSubcommand(e,t,n){const r=this._findCommand(e);let i;return r||this.help({error:!0}),i=this._chainOrCallSubCommandHook(i,r,"preSubcommand"),i=this._chainOrCall(i,(()=>{if(!r._executableHandler)return r._parseCommand(t,n);this._executeSubCommand(r,t.concat(n))})),i}_checkNumberOfArguments(){this._args.forEach(((e,t)=>{e.required&&null==this.args[t]&&this.missingArgument(e.name())})),this._args.length>0&&this._args[this._args.length-1].variadic||this.args.length>this._args.length&&this._excessArguments(this.args)}_processArguments(){const e=(e,t,n)=>{let r=t;if(null!==t&&e.parseArg)try{r=e.parseArg(t,n)}catch(n){if("commander.invalidArgument"===n.code){const r=`error: command-argument value '${t}' is invalid for argument '${e.name()}'. ${n.message}`;this.error(r,{exitCode:n.exitCode,code:n.code})}throw n}return r};this._checkNumberOfArguments();const t=[];this._args.forEach(((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce(((t,r)=>e(n,r,t)),n.defaultValue))):void 0===i&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i})),this.processedArgs=t}_chainOrCall(e,t){return e&&e.then&&"function"==typeof e.then?e.then((()=>t())):t()}_chainOrCallHooks(e,t){let n=e;const r=[];return ie(this).reverse().filter((e=>void 0!==e._lifeCycleHooks[t])).forEach((e=>{e._lifeCycleHooks[t].forEach((t=>{r.push({hookedCommand:e,callback:t})}))})),"postAction"===t&&r.reverse(),r.forEach((e=>{n=this._chainOrCall(n,(()=>e.callback(e.hookedCommand,this)))})),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return void 0!==this._lifeCycleHooks[n]&&this._lifeCycleHooks[n].forEach((e=>{r=this._chainOrCall(r,(()=>e(this,t)))})),r}_parseCommand(e,t){const n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._hasImplicitHelpCommand()&&e[0]===this._helpCommandName)return 1===e.length&&this.help(),this._dispatchSubcommand(e[1],[],[this._helpLongFlag]);if(this._defaultCommandName)return ne(this,t),this._dispatchSubcommand(this._defaultCommandName,e,t);!this.commands.length||0!==this.args.length||this._actionHandler||this._defaultCommandName||this.help({error:!0}),ne(this,n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();const r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){let n;return r(),this._processArguments(),n=this._chainOrCallHooks(n,"preAction"),n=this._chainOrCall(n,(()=>this._actionHandler(this.processedArgs))),this.parent&&(n=this._chainOrCall(n,(()=>{this.parent.emit(i,e,t)}))),n=this._chainOrCallHooks(n,"postAction"),n}if(this.parent&&this.parent.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",e,t);this.listenerCount("command:*")?this.emit("command:*",e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find((t=>t._name===e||t._aliases.includes(e)))}_findOption(e){return this.options.find((t=>t.is(e)))}_checkForMissingMandatoryOptions(){for(let e=this;e;e=e.parent)e.options.forEach((t=>{t.mandatory&&void 0===e.getOptionValue(t.attributeName())&&e.missingMandatoryOptionValue(t)}))}_checkForConflictingLocalOptions(){const e=this.options.filter((e=>{const t=e.attributeName();return void 0!==this.getOptionValue(t)&&"default"!==this.getOptionValueSource(t)})),t=e.filter((e=>e.conflictsWith.length>0));t.forEach((t=>{const n=e.find((e=>t.conflictsWith.includes(e.attributeName())));n&&this._conflictingOption(t,n)}))}_checkForConflictingOptions(){for(let e=this;e;e=e.parent)e._checkForConflictingLocalOptions()}parseOptions(e){const t=[],n=[];let r=t;const i=e.slice();function o(e){return e.length>1&&"-"===e[0]}let s=null;for(;i.length;){const e=i.shift();if("--"===e){r===n&&r.push(e),r.push(...i);break}if(!s||o(e)){if(s=null,o(e)){const t=this._findOption(e);if(t){if(t.required){const e=i.shift();void 0===e&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,e)}else if(t.optional){let e=null;i.length>0&&!o(i[0])&&(e=i.shift()),this.emit(`option:${t.name()}`,e)}else this.emit(`option:${t.name()}`);s=t.variadic?t:null;continue}}if(e.length>2&&"-"===e[0]&&"-"!==e[1]){const t=this._findOption(`-${e[1]}`);if(t){t.required||t.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${t.name()}`,e.slice(2)):(this.emit(`option:${t.name()}`),i.unshift(`-${e.slice(2)}`));continue}}if(/^--[^=]+=/.test(e)){const t=e.indexOf("="),n=this._findOption(e.slice(0,t));if(n&&(n.required||n.optional)){this.emit(`option:${n.name()}`,e.slice(t+1));continue}}if(o(e)&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&0===t.length&&0===n.length){if(this._findCommand(e)){t.push(e),i.length>0&&n.push(...i);break}if(e===this._helpCommandName&&this._hasImplicitHelpCommand()){t.push(e),i.length>0&&t.push(...i);break}if(this._defaultCommandName){n.push(e),i.length>0&&n.push(...i);break}}if(this._passThroughOptions){r.push(e),i.length>0&&r.push(...i);break}r.push(e)}else this.emit(`option:${s.name()}`,e)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){const e={},t=this.options.length;for(let n=0;n<t;n++){const t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return ie(this).reduce(((e,t)=>Object.assign(e,t.opts())),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),"string"==typeof this._showHelpAfterError?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr("\n"),this.outputHelp({error:!0}));const n=t||{},r=n.exitCode||1,i=n.code||"commander.error";this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach((e=>{if(e.envVar&&e.envVar in z.env){const t=e.attributeName();(void 0===this.getOptionValue(t)||["default","config","env"].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,z.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}}))}_parseOptionsImplied(){const e=new ee(this.options),t=e=>void 0!==this.getOptionValue(e)&&!["default","implied"].includes(this.getOptionValueSource(e));this.options.filter((n=>void 0!==n.implied&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n))).forEach((e=>{Object.keys(e.implied).filter((e=>!t(e))).forEach((t=>{this.setOptionValueWithSource(t,e.implied[t],"implied")}))}))}missingArgument(e){const t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){const t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){const t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,t){const n=e=>{const t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find((e=>e.negate&&t===e.attributeName())),i=this.options.find((e=>!e.negate&&t===e.attributeName()));return r&&(void 0===r.presetArg&&!1===n||void 0!==r.presetArg&&n===r.presetArg)?r:i||e},r=e=>{const t=n(e),r=t.attributeName();return"env"===this.getOptionValueSource(r)?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let n=[],r=this;do{const e=r.createHelp().visibleOptions(r).filter((e=>e.long)).map((e=>e.long));n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=te(e,n)}const n=`error: unknown option '${e}'${t}`;this.error(n,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;const t=this._args.length,n=1===t?"":"s",r=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${t} argument${n} but got ${e.length}.`;this.error(r,{code:"commander.excessArguments"})}unknownCommand(){const e=this.args[0];let t="";if(this._showSuggestionAfterError){const n=[];this.createHelp().visibleCommands(this).forEach((e=>{n.push(e.name()),e.alias()&&n.push(e.alias())})),t=te(e,n)}const n=`error: unknown command '${e}'${t}`;this.error(n,{code:"commander.unknownCommand"})}version(e,t,n){if(void 0===e)return this._version;this._version=e,t=t||"-V, --version",n=n||"output the version number";const r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this.options.push(r),this.on("option:"+r.name(),(()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,"commander.version",e)})),this}description(e,t){return void 0===e&&void 0===t?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return void 0===e?this._summary:(this._summary=e,this)}alias(e){if(void 0===e)return this._aliases[0];let t=this;if(0!==this.commands.length&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw new Error("Command alias can't be the same as its name");return t._aliases.push(e),this}aliases(e){return void 0===e?this._aliases:(e.forEach((e=>this.alias(e))),this)}usage(e){if(void 0===e){if(this._usage)return this._usage;const e=this._args.map((e=>J(e)));return[].concat(this.options.length||this._hasHelpOption?"[options]":[],this.commands.length?"[command]":[],this._args.length?e:[]).join(" ")}return this._usage=e,this}name(e){return void 0===e?this._name:(this._name=e,this)}nameFromFilename(e){return this._name=K.basename(e,K.extname(e)),this}executableDir(e){return void 0===e?this._executableDir:(this._executableDir=e,this)}helpInformation(e){const t=this.createHelp();return void 0===t.helpWidth&&(t.helpWidth=e&&e.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth()),t.formatHelp(this,t)}_getHelpContext(e){const t={error:!!(e=e||{}).error};let n;return n=t.error?e=>this._outputConfiguration.writeErr(e):e=>this._outputConfiguration.writeOut(e),t.write=e.write||n,t.command=this,t}outputHelp(e){let t;"function"==typeof e&&(t=e,e=void 0);const n=this._getHelpContext(e);ie(this).reverse().forEach((e=>e.emit("beforeAllHelp",n))),this.emit("beforeHelp",n);let r=this.helpInformation(n);if(t&&(r=t(r),"string"!=typeof r&&!Buffer.isBuffer(r)))throw new Error("outputHelp callback must return a string or a Buffer");n.write(r),this.emit(this._helpLongFlag),this.emit("afterHelp",n),ie(this).forEach((e=>e.emit("afterAllHelp",n)))}helpOption(e,t){if("boolean"==typeof e)return this._hasHelpOption=e,this;this._helpFlags=e||this._helpFlags,this._helpDescription=t||this._helpDescription;const n=Z(this._helpFlags);return this._helpShortFlag=n.shortFlag,this._helpLongFlag=n.longFlag,this}help(e){this.outputHelp(e);let t=z.exitCode||0;0===t&&e&&"function"!=typeof e&&e.error&&(t=1),this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){const n=["beforeAll","before","after","afterAll"];if(!n.includes(e))throw new Error(`Unexpected value for position to addHelpText.\nExpecting one of '${n.join("', '")}'`);const r=`${e}Help`;return this.on(r,(e=>{let n;n="function"==typeof t?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)})),this}},function(e,t){const{Argument:n}=N,{Command:r}=M,{CommanderError:i,InvalidArgumentError:o}=q,{Help:s}=F,{Option:a}=j;(t=e.exports=new r).program=t,t.Argument=n,t.Command=r,t.CommanderError=i,t.Help=s,t.InvalidArgumentError=o,t.InvalidOptionArgumentError=o,t.Option=a}(O,P);const oe=P,{program:se,createCommand:ae,createArgument:ce,createOption:ue,CommanderError:le,InvalidArgumentError:he,InvalidOptionArgumentError:de,Command:pe,Argument:fe,Option:me,Help:ge}=oe;var ye={},ve={};function be(e){return"string"==typeof e||e instanceof String}function Se(e){return"function"==typeof e}function we(e){return Array.isArray(e)}Object.defineProperty(ve,"__esModule",{value:!0}),ve.thenable=ve.typedArray=ve.stringArray=ve.array=ve.func=ve.error=ve.number=ve.string=ve.boolean=void 0,ve.boolean=function(e){return!0===e||!1===e},ve.string=be,ve.number=function(e){return"number"==typeof e||e instanceof Number},ve.error=function(e){return e instanceof Error},ve.func=Se,ve.array=we,ve.stringArray=function(e){return we(e)&&e.every((e=>be(e)))},ve.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},ve.thenable=function(e){return e&&Se(e.then)};var Re,Ce,Ee={},_e={},De={},Te={get exports(){return De},set exports(e){De=e}},ke={},xe={},Pe={},Oe={},Ne={};function qe(){if(Re)return Ne;function e(e){return"string"==typeof e||e instanceof String}function t(e){return Array.isArray(e)}return Re=1,Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.stringArray=Ne.array=Ne.func=Ne.error=Ne.number=Ne.string=Ne.boolean=void 0,Ne.boolean=function(e){return!0===e||!1===e},Ne.string=e,Ne.number=function(e){return"number"==typeof e||e instanceof Number},Ne.error=function(e){return e instanceof Error},Ne.func=function(e){return"function"==typeof e},Ne.array=t,Ne.stringArray=function(n){return t(n)&&n.every((t=>e(t)))},Ne}function Ie(){return Ce||(Ce=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;const t=qe();var n,r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=-32099,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.PendingResponseRejected=-32097,e.ConnectionInactive=-32096,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=-32e3}(n=e.ErrorCodes||(e.ErrorCodes={}));class i extends Error{constructor(e,r,o){super(r),this.code=t.number(e)?e:n.UnknownErrorCode,this.data=o,Object.setPrototypeOf(this,i.prototype)}toJson(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}}e.ResponseError=i;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}e.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class s{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}e.AbstractMessageSignature=s;e.RequestType0=class extends s{constructor(e){super(e,0)}};e.RequestType=class extends s{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.RequestType1=class extends s{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.RequestType2=class extends s{constructor(e){super(e,2)}};e.RequestType3=class extends s{constructor(e){super(e,3)}};e.RequestType4=class extends s{constructor(e){super(e,4)}};e.RequestType5=class extends s{constructor(e){super(e,5)}};e.RequestType6=class extends s{constructor(e){super(e,6)}};e.RequestType7=class extends s{constructor(e){super(e,7)}};e.RequestType8=class extends s{constructor(e){super(e,8)}};e.RequestType9=class extends s{constructor(e){super(e,9)}};e.NotificationType=class extends s{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.NotificationType0=class extends s{constructor(e){super(e,0)}};e.NotificationType1=class extends s{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.NotificationType2=class extends s{constructor(e){super(e,2)}};e.NotificationType3=class extends s{constructor(e){super(e,3)}};e.NotificationType4=class extends s{constructor(e){super(e,4)}};e.NotificationType5=class extends s{constructor(e){super(e,5)}};e.NotificationType6=class extends s{constructor(e){super(e,6)}};e.NotificationType7=class extends s{constructor(e){super(e,7)}};e.NotificationType8=class extends s{constructor(e){super(e,8)}};e.NotificationType9=class extends s{constructor(e){super(e,9)}},(r=e.Message||(e.Message={})).isRequest=function(e){const n=e;return n&&t.string(n.method)&&(t.string(n.id)||t.number(n.id))},r.isNotification=function(e){const n=e;return n&&t.string(n.method)&&void 0===e.id},r.isResponse=function(e){const n=e;return n&&(void 0!==n.result||!!n.error)&&(t.string(n.id)||t.number(n.id)||null===n.id)}}(Oe)),Oe}var Ae,Me={};function Fe(){return Ae||(Ae=1,function(e){var t,n;Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=e.Touch||(e.Touch={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){const r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.key,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}values(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.value,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}entries(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:[t.key,t.value],done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}e.LinkedMap=r;e.LRUCache=class extends r{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}}(Me)),Me}var Le,je={};var $e,He,We={},Ve={};function Ue(){if($e)return Ve;let e;function t(){if(void 0===e)throw new Error("No runtime abstraction layer installed");return e}return $e=1,Object.defineProperty(Ve,"__esModule",{value:!0}),function(t){t.install=function(t){if(void 0===t)throw new Error("No runtime abstraction layer provided");e=t}}(t||(t={})),Ve.default=t,Ve}function Ke(){return He||(He=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;const t=Ue();!function(e){const t={dispose(){}};e.None=function(){return t}}(e.Event||(e.Event={}));class n{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let r=0,i=this._callbacks.length;r<i;r++)if(this._callbacks[r]===e){if(this._contexts[r]===t)return this._callbacks.splice(r,1),void this._contexts.splice(r,1);n=!0}if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];const n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=r.length;o<s;o++)try{n.push(r[o].apply(i[o],e))}catch(e){(0,t.default)().console.error(e)}return n}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,i)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const o={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),o.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(o),o}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}e.Emitter=r,r._noop=function(){}}(We)),We}var Ge,ze={};function Be(){return Ge||(Ge=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;const t=Ue(),n=qe(),r=Ke();var i;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None}),e.is=function(t){const r=t;return r&&(r===e.None||r===e.Cancelled||n.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}}(i=e.CancellationToken||(e.CancellationToken={}));const o=Object.freeze((function(e,n){const r=(0,t.default)().timer.setTimeout(e.bind(n),0);return{dispose(){r.dispose()}}}));class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}e.CancellationTokenSource=class{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=i.None}}}(ze)),ze}var Je,Xe={};var Ye,Qe,Ze={},et={};function tt(){if(Ye)return et;Ye=1,Object.defineProperty(et,"__esModule",{value:!0}),et.Semaphore=void 0;const e=Ue();return et.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,e.default)().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}},et}var nt,rt={};var it,ot={};var st,at,ct={};function ut(){return st||(st=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;const t=Ue(),n=qe(),r=Ie(),i=Fe(),o=Ke(),s=Be();var a,c,u,l,h,d,p,f,m,g,y,v,b,S,w,R,C,E;!function(e){e.type=new r.NotificationType("$/cancelRequest")}(a||(a={})),function(e){e.is=function(e){return"string"==typeof e||"number"==typeof e}}(c=e.ProgressToken||(e.ProgressToken={})),function(e){e.type=new r.NotificationType("$/progress")}(u||(u={}));e.ProgressType=class{constructor(){}},function(e){e.is=function(e){return n.func(e)}}(l||(l={})),e.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Compact=2]="Compact",e[e.Verbose=3]="Verbose"}(h=e.Trace||(e.Trace={})),(d=e.TraceValues||(e.TraceValues={})).Off="off",d.Messages="messages",d.Compact="compact",d.Verbose="verbose",function(e){e.fromString=function(t){if(!n.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":default:return e.Off;case"messages":return e.Messages;case"compact":return e.Compact;case"verbose":return e.Verbose}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Compact:return"compact";case e.Verbose:return"verbose";default:return"off"}}}(h=e.Trace||(e.Trace={})),function(e){e.Text="text",e.JSON="json"}(e.TraceFormat||(e.TraceFormat={})),function(e){e.fromString=function(t){return n.string(t)&&"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(p=e.TraceFormat||(e.TraceFormat={})),function(e){e.type=new r.NotificationType("$/setTrace")}(f=e.SetTraceNotification||(e.SetTraceNotification={})),function(e){e.type=new r.NotificationType("$/logTrace")}(m=e.LogTraceNotification||(e.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=e.ConnectionErrors||(e.ConnectionErrors={}));class _ extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,_.prototype)}}e.ConnectionError=_,function(e){e.is=function(e){const t=e;return t&&n.func(t.cancelUndispatched)}}(y=e.ConnectionStrategy||(e.ConnectionStrategy={})),function(e){e.is=function(e){const t=e;return t&&(void 0===t.kind||"id"===t.kind)&&n.func(t.createCancellationTokenSource)&&(void 0===t.dispose||n.func(t.dispose))}}(v=e.IdCancellationReceiverStrategy||(e.IdCancellationReceiverStrategy={})),function(e){e.is=function(e){const t=e;return t&&"request"===t.kind&&n.func(t.createCancellationTokenSource)&&(void 0===t.dispose||n.func(t.dispose))}}(b=e.RequestCancellationReceiverStrategy||(e.RequestCancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new s.CancellationTokenSource}),e.is=function(e){return v.is(e)||b.is(e)}}(S=e.CancellationReceiverStrategy||(e.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(a.type,{id:t}),cleanup(e){}}),e.is=function(e){const t=e;return t&&n.func(t.sendCancellation)&&n.func(t.cleanup)}}(w=e.CancellationSenderStrategy||(e.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:S.Message,sender:w.Message}),e.is=function(e){const t=e;return t&&S.is(t.receiver)&&w.is(t.sender)}}(R=e.CancellationStrategy||(e.CancellationStrategy={})),function(e){e.is=function(e){const t=e;return t&&n.func(t.handleMessage)}}(C=e.MessageStrategy||(e.MessageStrategy={})),(e.ConnectionOptions||(e.ConnectionOptions={})).is=function(e){const t=e;return t&&(R.is(t.cancellationStrategy)||y.is(t.connectionStrategy)||C.is(t.messageStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(E||(E={})),e.createMessageConnection=function(d,y,b,S){const w=void 0!==b?b:e.NullLogger;let D=0,T=0,k=0;const x="2.0";let P;const O=new Map;let N;const q=new Map,I=new Map;let A,M,F=new i.LinkedMap,L=new Map,j=new Set,$=new Map,H=h.Off,W=p.Text,V=E.New;const U=new o.Emitter,K=new o.Emitter,G=new o.Emitter,z=new o.Emitter,B=new o.Emitter,J=S&&S.cancellationStrategy?S.cancellationStrategy:R.Message;function X(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function Y(e,t){var n;r.Message.isRequest(t)?e.set(X(t.id),t):r.Message.isResponse(t)?e.set(null===(n=t.id)?"res-unknown-"+(++k).toString():"res-"+n.toString(),t):e.set("not-"+(++T).toString(),t)}function Q(e){}function Z(){return V===E.Listening}function ee(){return V===E.Closed}function te(){return V===E.Disposed}function ne(){V!==E.New&&V!==E.Listening||(V=E.Closed,K.fire(void 0))}function re(){A||0===F.size||(A=(0,t.default)().timer.setImmediate((()=>{A=void 0,function(){if(0===F.size)return;const e=F.shift();try{const t=S?.messageStrategy;C.is(t)?t.handleMessage(e,ie):ie(e)}finally{re()}}()})))}function ie(e){r.Message.isRequest(e)?function(e){if(te())return;function t(t,n,i){const o={jsonrpc:x,id:e.id};t instanceof r.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ae(o,n,i),y.write(o).catch((()=>w.error("Sending response failed.")))}function i(t,n,r){const i={jsonrpc:x,id:e.id,error:t.toJson()};ae(i,n,r),y.write(i).catch((()=>w.error("Sending response failed.")))}function o(t,n,r){void 0===t&&(t=null);const i={jsonrpc:x,id:e.id,result:t};ae(i,n,r),y.write(i).catch((()=>w.error("Sending response failed.")))}!function(e){if(H===h.Off||!M)return;if(W===p.Text){let t;H!==h.Verbose&&H!==h.Compact||!e.params||(t=`Params: ${se(e.params)}\n\n`),M.log(`Received request '${e.method} - (${e.id})'.`,t)}else ue("receive-request",e)}(e);const s=O.get(e.method);let a,c;s&&(a=s.type,c=s.handler);const u=Date.now();if(c||P){const s=e.id??String(Date.now()),l=v.is(J.receiver)?J.receiver.createCancellationTokenSource(s):J.receiver.createCancellationTokenSource(e);null!==e.id&&j.has(e.id)&&l.cancel(),null!==e.id&&$.set(s,l);try{let h;if(c)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but received none.`),e.method,u);h=c(l.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===r.ParameterStructures.byName)return void i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,u);h=c(...e.params,l.token)}else{if(void 0!==a&&a.parameterStructures===r.ParameterStructures.byPosition)return void i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,u);h=c(e.params,l.token)}else P&&(h=P(e.method,e.params,l.token));const d=h;h?d.then?d.then((n=>{$.delete(s),t(n,e.method,u)}),(t=>{$.delete(s),t instanceof r.ResponseError?i(t,e.method,u):t&&n.string(t.message)?i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,u):i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,u)})):($.delete(s),t(h,e.method,u)):($.delete(s),o(h,e.method,u))}catch(o){$.delete(s),o instanceof r.ResponseError?t(o,e.method,u):o&&n.string(o.message)?i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${o.message}`),e.method,u):i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,u)}}else i(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,u)}(e):r.Message.isNotification(e)?function(e){if(te())return;let t,n;if(e.method===a.type.method){const t=e.params.id;return j.delete(t),void ce(e)}{const r=q.get(e.method);r&&(n=r.handler,t=r.type)}if(n||N)try{if(ce(e),n)if(void 0===e.params)void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==r.ParameterStructures.byName&&w.error(`Notification ${e.method} defines ${t.numberOfParams} params but received none.`),n();else if(Array.isArray(e.params)){const i=e.params;e.method===u.type.method&&2===i.length&&c.is(i[0])?n({token:i[0],value:i[1]}):(void 0!==t&&(t.parameterStructures===r.ParameterStructures.byName&&w.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&w.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${i.length} arguments`)),n(...i))}else void 0!==t&&t.parameterStructures===r.ParameterStructures.byPosition&&w.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params);else N&&N(e.method,e.params)}catch(t){t.message?w.error(`Notification handler '${e.method}' failed with message: ${t.message}`):w.error(`Notification handler '${e.method}' failed unexpectedly.`)}else G.fire(e)}(e):r.Message.isResponse(e)?function(e){if(te())return;if(null===e.id)e.error?w.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):w.error("Received response message without id. No further error information provided.");else{const t=e.id,n=L.get(t);if(function(e,t){if(H===h.Off||!M)return;if(W===p.Text){let n;if(H!==h.Verbose&&H!==h.Compact||(e.error&&e.error.data?n=`Error data: ${se(e.error.data)}\n\n`:e.result?n=`Result: ${se(e.result)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const r=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";M.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${r}`,n)}else M.log(`Received response ${e.id} without active response promise.`,n)}else ue("receive-response",e)}(e,n),void 0!==n){L.delete(t);try{if(e.error){const t=e.error;n.reject(new r.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?w.error(`Response handler '${n.method}' failed with message: ${e.message}`):w.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void w.error("Received empty message.");w.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(n.string(t.id)||n.number(t.id)){const e=t.id,n=L.get(e);n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}d.onClose(ne),d.onError((function(e){U.fire([e,void 0,void 0])})),y.onClose(ne),y.onError((function(e){U.fire(e)}));const oe=e=>{try{if(r.Message.isNotification(e)&&e.method===a.type.method){const t=e.params.id,n=X(t),i=F.get(n);if(r.Message.isRequest(i)){const r=S?.connectionStrategy,o=r&&r.cancelUndispatched?r.cancelUndispatched(i,Q):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return F.delete(n),$.delete(t),o.id=i.id,ae(o,e.method,Date.now()),void y.write(o).catch((()=>w.error("Sending response for canceled message failed.")))}const o=$.get(t);if(void 0!==o)return o.cancel(),void ce(e);j.add(t)}Y(F,e)}finally{re()}};function se(e){if(null!=e)switch(H){case h.Verbose:return JSON.stringify(e,null,4);case h.Compact:return JSON.stringify(e);default:return}}function ae(e,t,n){if(H!==h.Off&&M)if(W===p.Text){let r;H!==h.Verbose&&H!==h.Compact||(e.error&&e.error.data?r=`Error data: ${se(e.error.data)}\n\n`:e.result?r=`Result: ${se(e.result)}\n\n`:void 0===e.error&&(r="No result returned.\n\n")),M.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,r)}else ue("send-response",e)}function ce(e){if(H!==h.Off&&M&&e.method!==m.type.method)if(W===p.Text){let t;H!==h.Verbose&&H!==h.Compact||(t=e.params?`Params: ${se(e.params)}\n\n`:"No parameters provided.\n\n"),M.log(`Received notification '${e.method}'.`,t)}else ue("receive-notification",e)}function ue(e,t){if(!M||H===h.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};M.log(n)}function le(){if(ee())throw new _(g.Closed,"Connection is closed.");if(te())throw new _(g.Disposed,"Connection is disposed.")}function he(e){return void 0===e?null:e}function de(e){return null===e?void 0:e}function pe(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function fe(e,t){switch(e){case r.ParameterStructures.auto:return pe(t)?de(t):[he(t)];case r.ParameterStructures.byName:if(!pe(t))throw new Error("Received parameters by name but param is not an object literal.");return de(t);case r.ParameterStructures.byPosition:return[he(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function me(e,t){let n;const r=e.numberOfParams;switch(r){case 0:n=void 0;break;case 1:n=fe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e<t.length&&e<r;e++)n.push(he(t[e]));if(t.length<r)for(let e=t.length;e<r;e++)n.push(null)}return n}const ge={sendNotification:(e,...t)=>{let i,o;if(le(),n.string(e)){i=e;const n=t[0];let s=0,a=r.ParameterStructures.auto;r.ParameterStructures.is(n)&&(s=1,a=n);let c=t.length;const u=c-s;switch(u){case 0:o=void 0;break;case 1:o=fe(a,t[s]);break;default:if(a===r.ParameterStructures.byName)throw new Error(`Received ${u} parameters for 'by Name' notification parameter structure.`);o=t.slice(s,c).map((e=>he(e)))}}else{const n=t;i=e.method,o=me(e,n)}const s={jsonrpc:x,method:i,params:o};return function(e){if(H!==h.Off&&M)if(W===p.Text){let t;H!==h.Verbose&&H!==h.Compact||(t=e.params?`Params: ${se(e.params)}\n\n`:"No parameters provided.\n\n"),M.log(`Sending notification '${e.method}'.`,t)}else ue("send-notification",e)}(s),y.write(s).catch((e=>{throw w.error("Sending notification failed."),e}))},onNotification:(e,t)=>{let r;return le(),n.func(e)?N=e:t&&(n.string(e)?(r=e,q.set(e,{type:void 0,handler:t})):(r=e.method,q.set(e.method,{type:e,handler:t}))),{dispose:()=>{void 0!==r?q.delete(r):N=void 0}}},onProgress:(e,t,n)=>{if(I.has(t))throw new Error(`Progress handler for token ${t} already registered`);return I.set(t,n),{dispose:()=>{I.delete(t)}}},sendProgress:(e,t,n)=>ge.sendNotification(u.type,{token:t,value:n}),onUnhandledProgress:z.event,sendRequest:(e,...t)=>{let i,o,a;if(le(),function(){if(!Z())throw new Error("Call listen() first.")}(),n.string(e)){i=e;const n=t[0],c=t[t.length-1];let u=0,l=r.ParameterStructures.auto;r.ParameterStructures.is(n)&&(u=1,l=n);let h=t.length;s.CancellationToken.is(c)&&(h-=1,a=c);const d=h-u;switch(d){case 0:o=void 0;break;case 1:o=fe(l,t[u]);break;default:if(l===r.ParameterStructures.byName)throw new Error(`Received ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(u,h).map((e=>he(e)))}}else{const n=t;i=e.method,o=me(e,n);const r=e.numberOfParams;a=s.CancellationToken.is(n[r])?n[r]:void 0}const c=D++;let u;a&&(u=a.onCancellationRequested((()=>{const e=J.sender.sendCancellation(ge,c);return void 0===e?(w.log(`Received no promise from cancellation strategy when cancelling id ${c}`),Promise.resolve()):e.catch((()=>{w.log(`Sending cancellation messages for id ${c} failed`)}))})));const l={jsonrpc:x,id:c,method:i,params:o};return function(e){if(H!==h.Off&&M)if(W===p.Text){let t;H!==h.Verbose&&H!==h.Compact||!e.params||(t=`Params: ${se(e.params)}\n\n`),M.log(`Sending request '${e.method} - (${e.id})'.`,t)}else ue("send-request",e)}(l),"function"==typeof J.sender.enableCancellation&&J.sender.enableCancellation(l),new Promise((async(e,t)=>{const n={method:i,timerStart:Date.now(),resolve:t=>{e(t),J.sender.cleanup(c),u?.dispose()},reject:e=>{t(e),J.sender.cleanup(c),u?.dispose()}};try{await y.write(l),L.set(c,n)}catch(e){throw w.error("Sending request failed."),n.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),e}}))},onRequest:(e,t)=>{le();let r=null;return l.is(e)?(r=void 0,P=e):n.string(e)?(r=null,void 0!==t&&(r=e,O.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,O.set(e.method,{type:e,handler:t})),{dispose:()=>{null!==r&&(void 0!==r?O.delete(r):P=void 0)}}},hasPendingResponse:()=>L.size>0,trace:async(e,t,r)=>{let i=!1,o=p.Text;void 0!==r&&(n.boolean(r)?i=r:(i=r.sendNotification||!1,o=r.traceFormat||p.Text)),H=e,W=o,M=H===h.Off?void 0:t,!i||ee()||te()||await ge.sendNotification(f.type,{value:h.toString(e)})},onError:U.event,onClose:K.event,onUnhandledNotification:G.event,onDispose:B.event,end:()=>{y.end()},dispose:()=>{if(te())return;V=E.Disposed,B.fire(void 0);const e=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const t of L.values())t.reject(e);L=new Map,$=new Map,j=new Set,F=new i.LinkedMap,n.func(y.dispose)&&y.dispose(),n.func(d.dispose)&&d.dispose()},listen:()=>{le(),function(){if(Z())throw new _(g.AlreadyListening,"Connection is already listening")}(),V=E.Listening,d.listen(oe)},inspect:()=>{(0,t.default)().console.log("inspect")}};return ge.onNotification(m.type,(e=>{if(H===h.Off||!M)return;const t=H===h.Verbose||H===h.Compact;M.log(e.message,t?e.verbose:void 0)})),ge.onNotification(u.type,(e=>{const t=I.get(e.token);t?t(e.value):z.fire(e)})),ge}}(ct)),ct}function lt(){return at||(at=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;const t=Ie();Object.defineProperty(e,"Message",{enumerable:!0,get:function(){return t.Message}}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:function(){return t.RequestType}}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:function(){return t.RequestType0}}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:function(){return t.RequestType1}}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:function(){return t.RequestType2}}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:function(){return t.RequestType3}}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:function(){return t.RequestType4}}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:function(){return t.RequestType5}}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:function(){return t.RequestType6}}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:function(){return t.RequestType7}}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:function(){return t.RequestType8}}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:function(){return t.RequestType9}}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:function(){return t.ResponseError}}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:function(){return t.ErrorCodes}}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:function(){return t.NotificationType}}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:function(){return t.NotificationType0}}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:function(){return t.NotificationType1}}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:function(){return t.NotificationType2}}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:function(){return t.NotificationType3}}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:function(){return t.NotificationType4}}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:function(){return t.NotificationType5}}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:function(){return t.NotificationType6}}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:function(){return t.NotificationType7}}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:function(){return t.NotificationType8}}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:function(){return t.NotificationType9}}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:function(){return t.ParameterStructures}});const n=Fe();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(e,"Touch",{enumerable:!0,get:function(){return n.Touch}});const r=function(){return Le||(Le=1,e=je,Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0,(e.Disposable||(e.Disposable={})).create=function(e){return{dispose:e}}),je;var e}();Object.defineProperty(e,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Ke();Object.defineProperty(e,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const o=Be();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const s=function(){if(Je)return Xe;Je=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.SharedArrayReceiverStrategy=Xe.SharedArraySenderStrategy=void 0;const e=Be();var t;!function(e){e.Continue=0,e.Cancelled=1}(t||(t={})),Xe.SharedArraySenderStrategy=class{constructor(){this.buffers=new Map}enableCancellation(e){if(null===e.id)return;const n=new SharedArrayBuffer(4);new Int32Array(n,0,1)[0]=t.Continue,this.buffers.set(e.id,n),e.$cancellationData=n}async sendCancellation(e,n){const r=this.buffers.get(n);if(void 0===r)return;const i=new Int32Array(r,0,1);Atomics.store(i,0,t.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};class n{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===t.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class r{constructor(e){this.token=new n(e)}cancel(){}dispose(){}}return Xe.SharedArrayReceiverStrategy=class{constructor(){this.kind="request"}createCancellationTokenSource(t){const n=t.$cancellationData;return void 0===n?new e.CancellationTokenSource:new r(n)}},Xe}();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const a=(Qe||(Qe=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;const t=Ue(),n=qe(),r=Ke(),i=tt();var o;(e.MessageReader||(e.MessageReader={})).is=function(e){let t=e;return t&&n.func(t.listen)&&n.func(t.dispose)&&n.func(t.onError)&&n.func(t.onClose)&&n.func(t.onPartialMessage)};class s{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${n.string(e.message)?e.message:"unknown"}`)}}e.AbstractMessageReader=s,function(e){e.fromOptions=function(e){let n,r;const i=new Map;let o;const s=new Map;if(void 0===e||"string"==typeof e)n=e??"utf-8";else{if(n=e.charset??"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,i.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)i.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,s.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)s.set(t.name,t)}return void 0===o&&(o=(0,t.default)().applicationJson.decoder,s.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:i,contentTypeDecoder:o,contentTypeDecoders:s}}}(o||(o={})),e.ReadableStreamMessageReader=class extends s{constructor(e,n){super(),this.readable=e,this.options=o.fromOptions(n),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new i.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders(!0);if(!e)return;const t=e.get("content-length");if(!t)return void this.fireError(new Error("Header must provide a Content-Length property."));const n=parseInt(t);if(isNaN(n))return void this.fireError(new Error("Content-Length value must be a number."));this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock((async()=>{const t=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(e):e,n=await this.options.contentTypeDecoder.decode(t,this.options);this.callback(n)})).catch((e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,t.default)().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}}(Ze)),Ze);Object.defineProperty(e,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const c=(nt||(nt=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;const t=Ue(),n=qe(),r=tt(),i=Ke();var o;(e.MessageWriter||(e.MessageWriter={})).is=function(e){let t=e;return t&&n.func(t.dispose)&&n.func(t.onClose)&&n.func(t.onError)&&n.func(t.write)};class s{constructor(){this.errorEmitter=new i.Emitter,this.closeEmitter=new i.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${n.string(e.message)?e.message:"unknown"}`)}}e.AbstractMessageWriter=s,function(e){e.fromOptions=function(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}}(o||(o={})),e.WriteableStreamMessageWriter=class extends s{constructor(e,t){super(),this.writable=e,this.options=o.fromOptions(t),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}}(rt)),rt);Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const u=(it||(it=1,Object.defineProperty(ot,"__esModule",{value:!0}),ot.AbstractMessageBuffer=void 0,ot.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(0===this._chunks.length)return;let t=0,n=0,r=0,i=0;e:for(;n<this._chunks.length;){const e=this._chunks[n];for(r=0;r<e.length;){switch(e[r]){case 13:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case 10:switch(t){case 1:t=2;break;case 3:t=4,r++;break e;default:t=0}break;default:t=0}r++}i+=e.byteLength,n++}if(4!==t)return;const o=this._read(i+r),s=new Map,a=this.toString(o,"ascii").split("\r\n");if(a.length<2)return s;for(let t=0;t<a.length-2;t++){const n=a[t],r=n.indexOf(":");if(-1===r)throw new Error("Message header must separate key and value using :");const i=n.substr(0,r),o=n.substr(r+1).trim();s.set(e?i.toLowerCase():i,o)}return s}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(0===e)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const r=this._chunks[0];if(r.byteLength>e){const i=r.slice(0,e);t.set(i,n),n+=e,this._chunks[0]=r.slice(e),this._totalLength-=e,e-=e}else t.set(r,n),n+=r.byteLength,this._chunks.shift(),this._totalLength-=r.byteLength,e-=r.byteLength}return t}}),ot);Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const l=ut();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:function(){return l.ConnectionStrategy}}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:function(){return l.ConnectionOptions}}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:function(){return l.NullLogger}}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:function(){return l.createMessageConnection}}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:function(){return l.ProgressToken}}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:function(){return l.ProgressType}}),Object.defineProperty(e,"Trace",{enumerable:!0,get:function(){return l.Trace}}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:function(){return l.TraceValues}}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:function(){return l.TraceFormat}}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:function(){return l.SetTraceNotification}}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:function(){return l.LogTraceNotification}}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:function(){return l.ConnectionErrors}}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:function(){return l.ConnectionError}}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return l.CancellationReceiverStrategy}}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:function(){return l.CancellationSenderStrategy}}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:function(){return l.CancellationStrategy}}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:function(){return l.MessageStrategy}});const h=Ue();e.RAL=h.default}(Pe)),Pe}Object.defineProperty(xe,"__esModule",{value:!0});const ht=u,dt=lt();class pt extends dt.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return pt.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new ht.TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}}pt.emptyBuffer=Buffer.allocUnsafe(0);class ft{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),dt.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),dt.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),dt.Disposable.create((()=>this.stream.off("end",e)))}onData(e){return this.stream.on("data",e),dt.Disposable.create((()=>this.stream.off("data",e)))}}class mt{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),dt.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),dt.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),dt.Disposable.create((()=>this.stream.off("end",e)))}write(e,t){return new Promise(((n,r)=>{const i=e=>{null==e?n():r(e)};"string"==typeof e?this.stream.write(e,t,i):this.stream.write(e,i)}))}end(){this.stream.end()}}const gt=Object.freeze({messageBuffer:Object.freeze({create:e=>new pt(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(e,void 0,0),t.charset))}catch(e){return Promise.reject(e)}}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{try{return e instanceof Buffer?Promise.resolve(JSON.parse(e.toString(t.charset))):Promise.resolve(JSON.parse(new ht.TextDecoder(t.charset).decode(e)))}catch(e){return Promise.reject(e)}}})}),stream:Object.freeze({asReadableStream:e=>new ft(e),asWritableStream:e=>new mt(e)}),console:console,timer:Object.freeze({setTimeout(e,t,...n){const r=setTimeout(e,t,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(e,...t){const n=setImmediate(e,...t);return{dispose:()=>clearImmediate(n)}},setInterval(e,t,...n){const r=setInterval(e,t,...n);return{dispose:()=>clearInterval(r)}}})});function yt(){return gt}!function(e){e.install=function(){dt.RAL.install(gt)}}(yt||(yt={})),xe.default=yt,function(e){var t=T&&T.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T&&T.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.createServerSocketTransport=e.createClientSocketTransport=e.createServerPipeTransport=e.createClientPipeTransport=e.generateRandomPipeName=e.StreamMessageWriter=e.StreamMessageReader=e.SocketMessageWriter=e.SocketMessageReader=e.PortMessageWriter=e.PortMessageReader=e.IPCMessageWriter=e.IPCMessageReader=void 0;const r=xe;r.default.install();const i=s,o=h,a=d,c=p,u=lt();n(lt(),e);class l extends u.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose()))}listen(e){return this.process.on("message",e),u.Disposable.create((()=>this.process.off("message",e)))}}e.IPCMessageReader=l;class f extends u.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;const t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose))}write(e){try{return"function"==typeof this.process.send&&this.process.send(e,void 0,void 0,(t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0})),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}e.IPCMessageWriter=f;class m extends u.AbstractMessageReader{constructor(e){super(),this.onData=new u.Emitter,e.on("close",(()=>this.fireClose)),e.on("error",(e=>this.fireError(e))),e.on("message",(e=>{this.onData.fire(e)}))}listen(e){return this.onData.event(e)}}e.PortMessageReader=m;class g extends u.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.on("close",(()=>this.fireClose())),e.on("error",(e=>this.fireError(e)))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}e.PortMessageWriter=g;class y extends u.ReadableStreamMessageReader{constructor(e,t="utf-8"){super((0,r.default)().stream.asReadableStream(e),t)}}e.SocketMessageReader=y;class v extends u.WriteableStreamMessageWriter{constructor(e,t){super((0,r.default)().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}}e.SocketMessageWriter=v;class b extends u.ReadableStreamMessageReader{constructor(e,t){super((0,r.default)().stream.asReadableStream(e),t)}}e.StreamMessageReader=b;class S extends u.WriteableStreamMessageWriter{constructor(e,t){super((0,r.default)().stream.asWritableStream(e),t)}}e.StreamMessageWriter=S;const w=process.env.XDG_RUNTIME_DIR,R=new Map([["linux",107],["darwin",103]]);e.generateRandomPipeName=function(){const e=(0,a.randomBytes)(21).toString("hex");if("win32"===process.platform)return`\\\\.\\pipe\\vscode-jsonrpc-${e}-sock`;let t;t=w?i.join(w,`vscode-ipc-${e}.sock`):i.join(o.tmpdir(),`vscode-${e}.sock`);const n=R.get(process.platform);return void 0!==n&&t.length>n&&(0,r.default)().console.warn(`WARNING: IPC handle "${t}" is longer than ${n} characters.`),t},e.createClientPipeTransport=function(e,t="utf-8"){let n;const r=new Promise(((e,t)=>{n=e}));return new Promise(((i,o)=>{let s=(0,c.createServer)((e=>{s.close(),n([new y(e,t),new v(e,t)])}));s.on("error",o),s.listen(e,(()=>{s.removeListener("error",o),i({onConnected:()=>r})}))}))},e.createServerPipeTransport=function(e,t="utf-8"){const n=(0,c.createConnection)(e);return[new y(n,t),new v(n,t)]},e.createClientSocketTransport=function(e,t="utf-8"){let n;const r=new Promise(((e,t)=>{n=e}));return new Promise(((i,o)=>{const s=(0,c.createServer)((e=>{s.close(),n([new y(e,t),new v(e,t)])}));s.on("error",o),s.listen(e,"127.0.0.1",(()=>{s.removeListener("error",o),i({onConnected:()=>r})}))}))},e.createServerSocketTransport=function(e,t="utf-8"){const n=(0,c.createConnection)(e,"127.0.0.1");return[new y(n,t),new v(n,t)]},e.createMessageConnection=function(e,t,n,r){n||(n=u.NullLogger);const i=function(e){const t=e;return void 0!==t.read&&void 0!==t.addListener}(e)?new b(e):e,o=function(e){const t=e;return void 0!==t.write&&void 0!==t.addListener}(t)?new S(t):t;return u.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,u.createMessageConnection)(i,o,n,r)}}(ke),Te.exports=ke;var vt,bt,St,wt,Rt,Ct,Et,_t,Dt,Tt,kt,xt,Pt,Ot,Nt,qt,It,At,Mt,Ft,Lt,jt,$t,Ht,Wt,Vt,Ut,Kt,Gt={};!function(e){e.is=function(e){return"string"==typeof e}}(vt||(vt={})),(bt||(bt={})).is=function(e){return"string"==typeof e},function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647,e.is=function(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(St||(St={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647,e.is=function(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(wt||(wt={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=wt.MAX_VALUE),t===Number.MAX_VALUE&&(t=wt.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Wn.uinteger(t.line)&&Wn.uinteger(t.character)}}(Rt||(Rt={})),function(e){e.create=function(e,t,n,r){if(Wn.uinteger(e)&&Wn.uinteger(t)&&Wn.uinteger(n)&&Wn.uinteger(r))return{start:Rt.create(e,t),end:Rt.create(n,r)};if(Rt.is(e)&&Rt.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments[".concat(e,", ").concat(t,", ").concat(n,", ").concat(r,"]"))},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Rt.is(t.start)&&Rt.is(t.end)}}(Ct||(Ct={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Ct.is(t.range)&&(Wn.string(t.uri)||Wn.undefined(t.uri))}}(Et||(Et={})),function(e){e.create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Ct.is(t.targetRange)&&Wn.string(t.targetUri)&&Ct.is(t.targetSelectionRange)&&(Ct.is(t.originSelectionRange)||Wn.undefined(t.originSelectionRange))}}(_t||(_t={})),function(e){e.create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Wn.numberRange(t.red,0,1)&&Wn.numberRange(t.green,0,1)&&Wn.numberRange(t.blue,0,1)&&Wn.numberRange(t.alpha,0,1)}}(Dt||(Dt={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Ct.is(t.range)&&Dt.is(t.color)}}(Tt||(Tt={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Wn.string(t.label)&&(Wn.undefined(t.textEdit)||Ft.is(t))&&(Wn.undefined(t.additionalTextEdits)||Wn.typedArray(t.additionalTextEdits,Ft.is))}}(kt||(kt={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(xt||(xt={})),function(e){e.create=function(e,t,n,r,i,o){var s={startLine:e,endLine:t};return Wn.defined(n)&&(s.startCharacter=n),Wn.defined(r)&&(s.endCharacter=r),Wn.defined(i)&&(s.kind=i),Wn.defined(o)&&(s.collapsedText=o),s},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Wn.uinteger(t.startLine)&&Wn.uinteger(t.startLine)&&(Wn.undefined(t.startCharacter)||Wn.uinteger(t.startCharacter))&&(Wn.undefined(t.endCharacter)||Wn.uinteger(t.endCharacter))&&(Wn.undefined(t.kind)||Wn.string(t.kind))}}(Pt||(Pt={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return Wn.defined(t)&&Et.is(t.location)&&Wn.string(t.message)}}(Ot||(Ot={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(Nt||(Nt={})),function(e){e.Unnecessary=1,e.Deprecated=2}(qt||(qt={})),function(e){e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Wn.string(t.href)}}(It||(It={})),function(e){e.create=function(e,t,n,r,i,o){var s={range:e,message:t};return Wn.defined(n)&&(s.severity=n),Wn.defined(r)&&(s.code=r),Wn.defined(i)&&(s.source=i),Wn.defined(o)&&(s.relatedInformation=o),s},e.is=function(e){var t,n=e;return Wn.defined(n)&&Ct.is(n.range)&&Wn.string(n.message)&&(Wn.number(n.severity)||Wn.undefined(n.severity))&&(Wn.integer(n.code)||Wn.string(n.code)||Wn.undefined(n.code))&&(Wn.undefined(n.codeDescription)||Wn.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(Wn.string(n.source)||Wn.undefined(n.source))&&(Wn.undefined(n.relatedInformation)||Wn.typedArray(n.relatedInformation,Ot.is))}}(At||(At={})),function(e){e.create=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={title:e,command:t};return Wn.defined(n)&&n.length>0&&(i.arguments=n),i},e.is=function(e){var t=e;return Wn.defined(t)&&Wn.string(t.title)&&Wn.string(t.command)}}(Mt||(Mt={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Wn.string(t.newText)&&Ct.is(t.range)}}(Ft||(Ft={})),function(e){e.create=function(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Wn.string(t.label)&&(Wn.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(Wn.string(t.description)||void 0===t.description)}}(Lt||(Lt={})),function(e){e.is=function(e){var t=e;return Wn.string(t)}}(jt||(jt={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return Ft.is(t)&&(Lt.is(t.annotationId)||jt.is(t.annotationId))}}($t||($t={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return Wn.defined(t)&&Jt.is(t.textDocument)&&Array.isArray(t.edits)}}(Ht||(Ht={})),function(e){e.create=function(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){var t=e;return t&&"create"===t.kind&&Wn.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||Wn.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Wn.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||jt.is(t.annotationId))}}(Wt||(Wt={})),function(e){e.create=function(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},e.is=function(e){var t=e;return t&&"rename"===t.kind&&Wn.string(t.oldUri)&&Wn.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||Wn.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Wn.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||jt.is(t.annotationId))}}(Vt||(Vt={})),function(e){e.create=function(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){var t=e;return t&&"delete"===t.kind&&Wn.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||Wn.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||Wn.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||jt.is(t.annotationId))}}(Ut||(Ut={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return Wn.string(e.kind)?Wt.is(e)||Vt.is(e)||Ut.is(e):Ht.is(e)})))}}(Kt||(Kt={}));var zt,Bt,Jt,Xt,Yt,Qt,Zt,en,tn,nn,rn,on,sn,an,cn,un,ln,hn,dn,pn,fn,mn,gn,yn,vn,bn,Sn,wn,Rn,Cn,En,_n,Dn,Tn,kn,xn,Pn,On,Nn,qn,In,An,Mn,Fn,Ln=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=Ft.insert(e,t):jt.is(n)?(i=n,r=$t.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=$t.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=Ft.replace(e,t):jt.is(n)?(i=n,r=$t.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=$t.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=Ft.del(e):jt.is(t)?(r=t,n=$t.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=$t.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),jn=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(jt.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id ".concat(n," is already in use."));if(void 0===t)throw new Error("No annotation provided for id ".concat(n));return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),$n=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new jn(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(Ht.is(e)){var n=new Ln(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new Ln(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(Jt.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new Ln(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new Ln(i),this._textEditChanges[e]=r}return r},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new jn,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(Lt.is(t)||jt.is(t)?r=t:n=t,void 0===r?i=Wt.create(e,n):(o=jt.is(r)?r:this._changeAnnotations.manage(r),i=Wt.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,s;if(Lt.is(n)||jt.is(n)?i=n:r=n,void 0===i?o=Vt.create(e,t,r):(s=jt.is(i)?i:this._changeAnnotations.manage(i),o=Vt.create(e,t,r,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(Lt.is(t)||jt.is(t)?r=t:n=t,void 0===r?i=Ut.create(e,n):(o=jt.is(r)?r:this._changeAnnotations.manage(r),i=Ut.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return Wn.defined(t)&&Wn.string(t.uri)}}(zt||(zt={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return Wn.defined(t)&&Wn.string(t.uri)&&Wn.integer(t.version)}}(Bt||(Bt={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return Wn.defined(t)&&Wn.string(t.uri)&&(null===t.version||Wn.integer(t.version))}}(Jt||(Jt={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return Wn.defined(t)&&Wn.string(t.uri)&&Wn.string(t.languageId)&&Wn.integer(t.version)&&Wn.string(t.text)}}(Xt||(Xt={})),function(e){e.PlainText="plaintext",e.Markdown="markdown",e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(Yt||(Yt={})),function(e){e.is=function(e){var t=e;return Wn.objectLiteral(e)&&Yt.is(t.kind)&&Wn.string(t.value)}}(Qt||(Qt={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(Zt||(Zt={})),function(e){e.PlainText=1,e.Snippet=2}(en||(en={})),function(e){e.Deprecated=1}(tn||(tn={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&Wn.string(t.newText)&&Ct.is(t.insert)&&Ct.is(t.replace)}}(nn||(nn={})),function(e){e.asIs=1,e.adjustIndentation=2}(rn||(rn={})),function(e){e.is=function(e){var t=e;return t&&(Wn.string(t.detail)||void 0===t.detail)&&(Wn.string(t.description)||void 0===t.description)}}(on||(on={})),function(e){e.create=function(e){return{label:e}}}(sn||(sn={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(an||(an={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return Wn.string(t)||Wn.objectLiteral(t)&&Wn.string(t.language)&&Wn.string(t.value)}}(cn||(cn={})),function(e){e.is=function(e){var t=e;return!!t&&Wn.objectLiteral(t)&&(Qt.is(t.contents)||cn.is(t.contents)||Wn.typedArray(t.contents,cn.is))&&(void 0===e.range||Ct.is(e.range))}}(un||(un={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(ln||(ln={})),function(e){e.create=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={label:e};return Wn.defined(t)&&(i.documentation=t),Wn.defined(n)?i.parameters=n:i.parameters=[],i}}(hn||(hn={})),function(e){e.Text=1,e.Read=2,e.Write=3}(dn||(dn={})),function(e){e.create=function(e,t){var n={range:e};return Wn.number(t)&&(n.kind=t),n}}(pn||(pn={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(fn||(fn={})),function(e){e.Deprecated=1}(mn||(mn={})),function(e){e.create=function(e,t,n,r,i){var o={name:e,kind:t,location:{uri:r,range:n}};return i&&(o.containerName=i),o}}(gn||(gn={})),function(e){e.create=function(e,t,n,r){return void 0!==r?{name:e,kind:t,location:{uri:n,range:r}}:{name:e,kind:t,location:{uri:n}}}}(yn||(yn={})),function(e){e.create=function(e,t,n,r,i,o){var s={name:e,detail:t,kind:n,range:r,selectionRange:i};return void 0!==o&&(s.children=o),s},e.is=function(e){var t=e;return t&&Wn.string(t.name)&&Wn.number(t.kind)&&Ct.is(t.range)&&Ct.is(t.selectionRange)&&(void 0===t.detail||Wn.string(t.detail))&&(void 0===t.deprecated||Wn.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))}}(vn||(vn={})),function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"}(bn||(bn={})),function(e){e.Invoked=1,e.Automatic=2}(Sn||(Sn={})),function(e){e.create=function(e,t,n){var r={diagnostics:e};return null!=t&&(r.only=t),null!=n&&(r.triggerKind=n),r},e.is=function(e){var t=e;return Wn.defined(t)&&Wn.typedArray(t.diagnostics,At.is)&&(void 0===t.only||Wn.typedArray(t.only,Wn.string))&&(void 0===t.triggerKind||t.triggerKind===Sn.Invoked||t.triggerKind===Sn.Automatic)}}(wn||(wn={})),function(e){e.create=function(e,t,n){var r={title:e},i=!0;return"string"==typeof t?(i=!1,r.kind=t):Mt.is(t)?r.command=t:r.edit=t,i&&void 0!==n&&(r.kind=n),r},e.is=function(e){var t=e;return t&&Wn.string(t.title)&&(void 0===t.diagnostics||Wn.typedArray(t.diagnostics,At.is))&&(void 0===t.kind||Wn.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||Mt.is(t.command))&&(void 0===t.isPreferred||Wn.boolean(t.isPreferred))&&(void 0===t.edit||Kt.is(t.edit))}}(Rn||(Rn={})),function(e){e.create=function(e,t){var n={range:e};return Wn.defined(t)&&(n.data=t),n},e.is=function(e){var t=e;return Wn.defined(t)&&Ct.is(t.range)&&(Wn.undefined(t.command)||Mt.is(t.command))}}(Cn||(Cn={})),function(e){e.create=function(e,t){return{tabSize:e,insertSpaces:t}},e.is=function(e){var t=e;return Wn.defined(t)&&Wn.uinteger(t.tabSize)&&Wn.boolean(t.insertSpaces)}}(En||(En={})),function(e){e.create=function(e,t,n){return{range:e,target:t,data:n}},e.is=function(e){var t=e;return Wn.defined(t)&&Ct.is(t.range)&&(Wn.undefined(t.target)||Wn.string(t.target))}}(_n||(_n={})),function(e){e.create=function(e,t){return{range:e,parent:t}},e.is=function(t){var n=t;return Wn.objectLiteral(n)&&Ct.is(n.range)&&(void 0===n.parent||e.is(n.parent))}}(Dn||(Dn={})),function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"}(Tn||(Tn={})),function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"}(kn||(kn={})),function(e){e.is=function(e){var t=e;return Wn.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])}}(xn||(xn={})),function(e){e.create=function(e,t){return{range:e,text:t}},e.is=function(e){var t=e;return null!=t&&Ct.is(t.range)&&Wn.string(t.text)}}(Pn||(Pn={})),function(e){e.create=function(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}},e.is=function(e){var t=e;return null!=t&&Ct.is(t.range)&&Wn.boolean(t.caseSensitiveLookup)&&(Wn.string(t.variableName)||void 0===t.variableName)}}(On||(On={})),function(e){e.create=function(e,t){return{range:e,expression:t}},e.is=function(e){var t=e;return null!=t&&Ct.is(t.range)&&(Wn.string(t.expression)||void 0===t.expression)}}(Nn||(Nn={})),function(e){e.create=function(e,t){return{frameId:e,stoppedLocation:t}},e.is=function(e){var t=e;return Wn.defined(t)&&Ct.is(e.stoppedLocation)}}(qn||(qn={})),function(e){e.Type=1,e.Parameter=2,e.is=function(e){return 1===e||2===e}}(In||(In={})),function(e){e.create=function(e){return{value:e}},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&(void 0===t.tooltip||Wn.string(t.tooltip)||Qt.is(t.tooltip))&&(void 0===t.location||Et.is(t.location))&&(void 0===t.command||Mt.is(t.command))}}(An||(An={})),function(e){e.create=function(e,t,n){var r={position:e,label:t};return void 0!==n&&(r.kind=n),r},e.is=function(e){var t=e;return Wn.objectLiteral(t)&&Rt.is(t.position)&&(Wn.string(t.label)||Wn.typedArray(t.label,An.is))&&(void 0===t.kind||In.is(t.kind))&&void 0===t.textEdits||Wn.typedArray(t.textEdits,Ft.is)&&(void 0===t.tooltip||Wn.string(t.tooltip)||Qt.is(t.tooltip))&&(void 0===t.paddingLeft||Wn.boolean(t.paddingLeft))&&(void 0===t.paddingRight||Wn.boolean(t.paddingRight))}}(Mn||(Mn={})),function(e){e.is=function(e){var t=e;return Wn.objectLiteral(t)&&bt.is(t.uri)&&Wn.string(t.name)}}(Fn||(Fn={}));var Hn;!function(e){function t(e,n){if(e.length<=1)return e;var r=e.length/2|0,i=e.slice(0,r),o=e.slice(r);t(i,n),t(o,n);for(var s=0,a=0,c=0;s<i.length&&a<o.length;){var u=n(i[s],o[a]);e[c++]=u<=0?i[s++]:o[a++]}for(;s<i.length;)e[c++]=i[s++];for(;a<o.length;)e[c++]=o[a++];return e}e.create=function(e,t,n,r){return new Vn(e,t,n,r)},e.is=function(e){var t=e;return!!(Wn.defined(t)&&Wn.string(t.uri)&&(Wn.undefined(t.languageId)||Wn.string(t.languageId))&&Wn.uinteger(t.lineCount)&&Wn.func(t.getText)&&Wn.func(t.positionAt)&&Wn.func(t.offsetAt))},e.applyEdits=function(e,n){for(var r=e.getText(),i=t(n,(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),o=r.length,s=i.length-1;s>=0;s--){var a=i[s],c=e.offsetAt(a.range.start),u=e.offsetAt(a.range.end);if(!(u<=o))throw new Error("Overlapping edit");r=r.substring(0,c)+a.newText+r.substring(u,r.length),o=c}return r}}(Hn||(Hn={}));var Wn,Vn=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r<t.length;r++){n&&(e.push(r),n=!1);var i=t.charAt(r);n="\r"===i||"\n"===i,"\r"===i&&r+1<t.length&&"\n"===t.charAt(r+1)&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return Rt.create(0,e);for(;n<r;){var i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}var o=n-1;return Rt.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)},Object.defineProperty(e.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),e}();!function(e){var t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.numberRange=function(e,n,r){return"[object Number]"===t.call(e)&&n<=e&&e<=r},e.integer=function(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(Wn||(Wn={}));const Un=x(Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return $t},get ChangeAnnotation(){return Lt},get ChangeAnnotationIdentifier(){return jt},get CodeAction(){return Rn},get CodeActionContext(){return wn},get CodeActionKind(){return bn},get CodeActionTriggerKind(){return Sn},get CodeDescription(){return It},get CodeLens(){return Cn},get Color(){return Dt},get ColorInformation(){return Tt},get ColorPresentation(){return kt},get Command(){return Mt},get CompletionItem(){return sn},get CompletionItemKind(){return Zt},get CompletionItemLabelDetails(){return on},get CompletionItemTag(){return tn},get CompletionList(){return an},get CreateFile(){return Wt},get DeleteFile(){return Ut},get Diagnostic(){return At},get DiagnosticRelatedInformation(){return Ot},get DiagnosticSeverity(){return Nt},get DiagnosticTag(){return qt},get DocumentHighlight(){return pn},get DocumentHighlightKind(){return dn},get DocumentLink(){return _n},get DocumentSymbol(){return vn},get DocumentUri(){return vt},EOL:["\n","\r\n","\r"],get FoldingRange(){return Pt},get FoldingRangeKind(){return xt},get FormattingOptions(){return En},get Hover(){return un},get InlayHint(){return Mn},get InlayHintKind(){return In},get InlayHintLabelPart(){return An},get InlineValueContext(){return qn},get InlineValueEvaluatableExpression(){return Nn},get InlineValueText(){return Pn},get InlineValueVariableLookup(){return On},get InsertReplaceEdit(){return nn},get InsertTextFormat(){return en},get InsertTextMode(){return rn},get Location(){return Et},get LocationLink(){return _t},get MarkedString(){return cn},get MarkupContent(){return Qt},get MarkupKind(){return Yt},get OptionalVersionedTextDocumentIdentifier(){return Jt},get ParameterInformation(){return ln},get Position(){return Rt},get Range(){return Ct},get RenameFile(){return Vt},get SelectionRange(){return Dn},get SemanticTokenModifiers(){return kn},get SemanticTokenTypes(){return Tn},get SemanticTokens(){return xn},get SignatureInformation(){return hn},get SymbolInformation(){return gn},get SymbolKind(){return fn},get SymbolTag(){return mn},get TextDocument(){return Hn},get TextDocumentEdit(){return Ht},get TextDocumentIdentifier(){return zt},get TextDocumentItem(){return Xt},get TextEdit(){return Ft},get URI(){return bt},get VersionedTextDocumentIdentifier(){return Bt},WorkspaceChange:$n,get WorkspaceEdit(){return Kt},get WorkspaceFolder(){return Fn},get WorkspaceSymbol(){return yn},get integer(){return St},get uinteger(){return wt}},Symbol.toStringTag,{value:"Module"})));var Kn={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;const t=ke;var n;(n=e.MessageDirection||(e.MessageDirection={})).clientToServer="clientToServer",n.serverToClient="serverToClient",n.both="both";e.RegistrationType=class{constructor(e){this.method=e}};e.ProtocolRequestType0=class extends t.RequestType0{constructor(e){super(e)}};e.ProtocolRequestType=class extends t.RequestType{constructor(e){super(e,t.ParameterStructures.byName)}};e.ProtocolNotificationType0=class extends t.NotificationType0{constructor(e){super(e)}};e.ProtocolNotificationType=class extends t.NotificationType{constructor(e){super(e,t.ParameterStructures.byName)}}}(Kn);var Gn={},zn={};function Bn(e){return"string"==typeof e||e instanceof String}function Jn(e){return Array.isArray(e)}Object.defineProperty(zn,"__esModule",{value:!0}),zn.objectLiteral=zn.typedArray=zn.stringArray=zn.array=zn.func=zn.error=zn.number=zn.string=zn.boolean=void 0,zn.boolean=function(e){return!0===e||!1===e},zn.string=Bn,zn.number=function(e){return"number"==typeof e||e instanceof Number},zn.error=function(e){return e instanceof Error},zn.func=function(e){return"function"==typeof e},zn.array=Jn,zn.stringArray=function(e){return Jn(e)&&e.every((e=>Bn(e)))},zn.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},zn.objectLiteral=function(e){return null!==e&&"object"==typeof e};var Xn={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;const t=Kn;var n;(n=e.ImplementationRequest||(e.ImplementationRequest={})).method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(Xn);var Yn={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;const t=Kn;var n;(n=e.TypeDefinitionRequest||(e.TypeDefinitionRequest={})).method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(Yn);var Qn={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;const t=Kn;var n,r;(n=e.WorkspaceFoldersRequest||(e.WorkspaceFoldersRequest={})).method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method),(r=e.DidChangeWorkspaceFoldersNotification||(e.DidChangeWorkspaceFoldersNotification={})).method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)}(Qn);var Zn={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;const t=Kn;var n;(n=e.ConfigurationRequest||(e.ConfigurationRequest={})).method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)}(Zn);var er={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;const t=Kn;var n,r;(n=e.DocumentColorRequest||(e.DocumentColorRequest={})).method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.ColorPresentationRequest||(e.ColorPresentationRequest={})).method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)}(er);var tr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRequest=void 0;const t=Kn;var n;(n=e.FoldingRangeRequest||(e.FoldingRangeRequest={})).method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(tr);var nr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;const t=Kn;var n;(n=e.DeclarationRequest||(e.DeclarationRequest={})).method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(nr);var rr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;const t=Kn;var n;(n=e.SelectionRangeRequest||(e.SelectionRangeRequest={})).method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(rr);var ir={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;const t=ke,n=Kn;var r,i,o;(r=e.WorkDoneProgress||(e.WorkDoneProgress={})).type=new t.ProgressType,r.is=function(e){return e===r.type},(i=e.WorkDoneProgressCreateRequest||(e.WorkDoneProgressCreateRequest={})).method="window/workDoneProgress/create",i.messageDirection=n.MessageDirection.serverToClient,i.type=new n.ProtocolRequestType(i.method),(o=e.WorkDoneProgressCancelNotification||(e.WorkDoneProgressCancelNotification={})).method="window/workDoneProgress/cancel",o.messageDirection=n.MessageDirection.clientToServer,o.type=new n.ProtocolNotificationType(o.method)}(ir);var or={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;const t=Kn;var n,r,i;(n=e.CallHierarchyPrepareRequest||(e.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.CallHierarchyIncomingCallsRequest||(e.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),(i=e.CallHierarchyOutgoingCallsRequest||(e.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(or);var sr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;const t=Kn;var n,r,i,o,s;(e.TokenFormat||(e.TokenFormat={})).Relative="relative",function(e){e.method="textDocument/semanticTokens",e.type=new t.RegistrationType(e.method)}(n=e.SemanticTokensRegistrationType||(e.SemanticTokensRegistrationType={})),(r=e.SemanticTokensRequest||(e.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),r.registrationMethod=n.method,(i=e.SemanticTokensDeltaRequest||(e.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method),i.registrationMethod=n.method,(o=e.SemanticTokensRangeRequest||(e.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method,(s=e.SemanticTokensRefreshRequest||(e.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",s.messageDirection=t.MessageDirection.serverToClient,s.type=new t.ProtocolRequestType0(s.method)}(sr);var ar={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;const t=Kn;var n;(n=e.ShowDocumentRequest||(e.ShowDocumentRequest={})).method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)}(ar);var cr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;const t=Kn;var n;(n=e.LinkedEditingRangeRequest||(e.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(cr);var ur={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;const t=Kn;var n,r,i,o,s,a,c;(n=e.FileOperationPatternKind||(e.FileOperationPatternKind={})).file="file",n.folder="folder",(r=e.WillCreateFilesRequest||(e.WillCreateFilesRequest={})).method="workspace/willCreateFiles",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),(i=e.DidCreateFilesNotification||(e.DidCreateFilesNotification={})).method="workspace/didCreateFiles",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolNotificationType(i.method),(o=e.WillRenameFilesRequest||(e.WillRenameFilesRequest={})).method="workspace/willRenameFiles",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),(s=e.DidRenameFilesNotification||(e.DidRenameFilesNotification={})).method="workspace/didRenameFiles",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolNotificationType(s.method),(a=e.DidDeleteFilesNotification||(e.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolNotificationType(a.method),(c=e.WillDeleteFilesRequest||(e.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)}(ur);var lr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;const t=Kn;var n,r,i;(n=e.UniquenessLevel||(e.UniquenessLevel={})).document="document",n.project="project",n.group="group",n.scheme="scheme",n.global="global",(r=e.MonikerKind||(e.MonikerKind={})).$import="import",r.$export="export",r.local="local",(i=e.MonikerRequest||(e.MonikerRequest={})).method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(lr);var hr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;const t=Kn;var n,r,i;(n=e.TypeHierarchyPrepareRequest||(e.TypeHierarchyPrepareRequest={})).method="textDocument/prepareTypeHierarchy",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.TypeHierarchySupertypesRequest||(e.TypeHierarchySupertypesRequest={})).method="typeHierarchy/supertypes",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),(i=e.TypeHierarchySubtypesRequest||(e.TypeHierarchySubtypesRequest={})).method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(hr);var dr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;const t=Kn;var n,r;(n=e.InlineValueRequest||(e.InlineValueRequest={})).method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.InlineValueRefreshRequest||(e.InlineValueRefreshRequest={})).method="workspace/inlineValue/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)}(dr);var pr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;const t=Kn;var n,r,i;(n=e.InlayHintRequest||(e.InlayHintRequest={})).method="textDocument/inlayHint",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.InlayHintResolveRequest||(e.InlayHintResolveRequest={})).method="inlayHint/resolve",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),(i=e.InlayHintRefreshRequest||(e.InlayHintRefreshRequest={})).method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)}(pr);var fr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;const t=ke,n=zn,r=Kn;var i,o,s,a;(e.DiagnosticServerCancellationData||(e.DiagnosticServerCancellationData={})).is=function(e){const t=e;return t&&n.boolean(t.retriggerRequest)},(i=e.DocumentDiagnosticReportKind||(e.DocumentDiagnosticReportKind={})).Full="full",i.Unchanged="unchanged",(o=e.DocumentDiagnosticRequest||(e.DocumentDiagnosticRequest={})).method="textDocument/diagnostic",o.messageDirection=r.MessageDirection.clientToServer,o.type=new r.ProtocolRequestType(o.method),o.partialResult=new t.ProgressType,(s=e.WorkspaceDiagnosticRequest||(e.WorkspaceDiagnosticRequest={})).method="workspace/diagnostic",s.messageDirection=r.MessageDirection.clientToServer,s.type=new r.ProtocolRequestType(s.method),s.partialResult=new t.ProgressType,(a=e.DiagnosticRefreshRequest||(e.DiagnosticRefreshRequest={})).method="workspace/diagnostic/refresh",a.messageDirection=r.MessageDirection.serverToClient,a.type=new r.ProtocolRequestType0(a.method)}(fr);var mr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;const t=Un,n=zn,r=Kn;var i,o,s,a,c,u,l,h,d,p;!function(e){e.Markup=1,e.Code=2,e.is=function(e){return 1===e||2===e}}(i=e.NotebookCellKind||(e.NotebookCellKind={})),function(e){e.create=function(e,t){const n={executionOrder:e};return!0!==t&&!1!==t||(n.success=t),n},e.is=function(e){const r=e;return n.objectLiteral(r)&&t.uinteger.is(r.executionOrder)&&(void 0===r.success||n.boolean(r.success))},e.equals=function(e,t){return e===t||null!=e&&null!=t&&(e.executionOrder===t.executionOrder&&e.success===t.success)}}(o=e.ExecutionSummary||(e.ExecutionSummary={})),function(e){function r(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;const i=Array.isArray(e),o=Array.isArray(t);if(i!==o)return!1;if(i&&o){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}if(n.objectLiteral(e)&&n.objectLiteral(t)){const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;if(n.sort(),i.sort(),!r(n,i))return!1;for(let i=0;i<n.length;i++){const o=n[i];if(!r(e[o],t[o]))return!1}}return!0}e.create=function(e,t){return{kind:e,document:t}},e.is=function(e){const r=e;return n.objectLiteral(r)&&i.is(r.kind)&&t.DocumentUri.is(r.document)&&(void 0===r.metadata||n.objectLiteral(r.metadata))},e.diff=function(e,t){const n=new Set;return e.document!==t.document&&n.add("document"),e.kind!==t.kind&&n.add("kind"),e.executionSummary!==t.executionSummary&&n.add("executionSummary"),void 0===e.metadata&&void 0===t.metadata||r(e.metadata,t.metadata)||n.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||o.equals(e.executionSummary,t.executionSummary)||n.add("executionSummary"),n}}(s=e.NotebookCell||(e.NotebookCell={})),(a=e.NotebookDocument||(e.NotebookDocument={})).create=function(e,t,n,r){return{uri:e,notebookType:t,version:n,cells:r}},a.is=function(e){const r=e;return n.objectLiteral(r)&&n.string(r.uri)&&t.integer.is(r.version)&&n.typedArray(r.cells,s.is)},function(e){e.method="notebookDocument/sync",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.RegistrationType(e.method)}(c=e.NotebookDocumentSyncRegistrationType||(e.NotebookDocumentSyncRegistrationType={})),(u=e.DidOpenNotebookDocumentNotification||(e.DidOpenNotebookDocumentNotification={})).method="notebookDocument/didOpen",u.messageDirection=r.MessageDirection.clientToServer,u.type=new r.ProtocolNotificationType(u.method),u.registrationMethod=c.method,(l=e.NotebookCellArrayChange||(e.NotebookCellArrayChange={})).is=function(e){const r=e;return n.objectLiteral(r)&&t.uinteger.is(r.start)&&t.uinteger.is(r.deleteCount)&&(void 0===r.cells||n.typedArray(r.cells,s.is))},l.create=function(e,t,n){const r={start:e,deleteCount:t};return void 0!==n&&(r.cells=n),r},(h=e.DidChangeNotebookDocumentNotification||(e.DidChangeNotebookDocumentNotification={})).method="notebookDocument/didChange",h.messageDirection=r.MessageDirection.clientToServer,h.type=new r.ProtocolNotificationType(h.method),h.registrationMethod=c.method,(d=e.DidSaveNotebookDocumentNotification||(e.DidSaveNotebookDocumentNotification={})).method="notebookDocument/didSave",d.messageDirection=r.MessageDirection.clientToServer,d.type=new r.ProtocolNotificationType(d.method),d.registrationMethod=c.method,(p=e.DidCloseNotebookDocumentNotification||(e.DidCloseNotebookDocumentNotification={})).method="notebookDocument/didClose",p.messageDirection=r.MessageDirection.clientToServer,p.type=new r.ProtocolNotificationType(p.method),p.registrationMethod=c.method}(mr),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=void 0;const t=Kn,n=Un,r=zn,i=Xn;Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const o=Yn;Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const s=Qn;Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return s.WorkspaceFoldersRequest}}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return s.DidChangeWorkspaceFoldersNotification}});const a=Zn;Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:function(){return a.ConfigurationRequest}});const c=er;Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=tr;Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const l=nr;Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:function(){return l.DeclarationRequest}});const h=rr;Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:function(){return h.SelectionRangeRequest}});const d=ir;Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:function(){return d.WorkDoneProgress}}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return d.WorkDoneProgressCreateRequest}}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return d.WorkDoneProgressCancelNotification}});const p=or;Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return p.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return p.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return p.CallHierarchyPrepareRequest}});const f=sr;Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const m=ar;Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:function(){return m.ShowDocumentRequest}});const g=cr;Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return g.LinkedEditingRangeRequest}});const y=ur;Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:function(){return y.FileOperationPatternKind}}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:function(){return y.DidCreateFilesNotification}}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:function(){return y.WillCreateFilesRequest}}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:function(){return y.DidRenameFilesNotification}}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:function(){return y.WillRenameFilesRequest}}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return y.DidDeleteFilesNotification}}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return y.WillDeleteFilesRequest}});const v=lr;Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}});const b=hr;Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return b.TypeHierarchyPrepareRequest}}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySubtypesRequest}}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySupertypesRequest}});const S=dr;Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:function(){return S.InlineValueRequest}}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return S.InlineValueRefreshRequest}});const w=pr;Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:function(){return w.InlayHintRequest}}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:function(){return w.InlayHintResolveRequest}}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return w.InlayHintRefreshRequest}});const R=fr;Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return R.DiagnosticServerCancellationData}}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return R.DocumentDiagnosticReportKind}}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return R.DocumentDiagnosticRequest}}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return R.WorkspaceDiagnosticRequest}}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return R.DiagnosticRefreshRequest}});const C=mr;var E,_,D,T,k,x,P,O,N,q,I,A,M,F,L,j,$,H,W,V,U,K,G,z,B,J,X,Y,Q,Z,ee,te,ne,re,ie,oe,se,ae,ce,ue,le,he,de,pe,fe,me,ge,ye,ve,be,Se,we,Re,Ce,Ee,_e,De,Te,ke;Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:function(){return C.NotebookCellKind}}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:function(){return C.ExecutionSummary}}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:function(){return C.NotebookCell}}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:function(){return C.NotebookDocument}}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return C.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return C.DidOpenNotebookDocumentNotification}}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:function(){return C.NotebookCellArrayChange}}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return C.DidChangeNotebookDocumentNotification}}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return C.DidSaveNotebookDocumentNotification}}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return C.DidCloseNotebookDocumentNotification}}),function(e){e.is=function(e){const t=e;return r.string(t.language)||r.string(t.scheme)||r.string(t.pattern)}}(E=e.TextDocumentFilter||(e.TextDocumentFilter={})),function(e){e.is=function(e){const t=e;return r.objectLiteral(t)&&(r.string(t.notebookType)||r.string(t.scheme)||r.string(t.pattern))}}(_=e.NotebookDocumentFilter||(e.NotebookDocumentFilter={})),function(e){e.is=function(e){const t=e;return r.objectLiteral(t)&&(r.string(t.notebook)||_.is(t.notebook))&&(void 0===t.language||r.string(t.language))}}(D=e.NotebookCellTextDocumentFilter||(e.NotebookCellTextDocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!r.string(t)&&!E.is(t)&&!D.is(t))return!1;return!0}}(T=e.DocumentSelector||(e.DocumentSelector={})),(k=e.RegistrationRequest||(e.RegistrationRequest={})).method="client/registerCapability",k.messageDirection=t.MessageDirection.serverToClient,k.type=new t.ProtocolRequestType(k.method),(x=e.UnregistrationRequest||(e.UnregistrationRequest={})).method="client/unregisterCapability",x.messageDirection=t.MessageDirection.serverToClient,x.type=new t.ProtocolRequestType(x.method),(P=e.ResourceOperationKind||(e.ResourceOperationKind={})).Create="create",P.Rename="rename",P.Delete="delete",(O=e.FailureHandlingKind||(e.FailureHandlingKind={})).Abort="abort",O.Transactional="transactional",O.TextOnlyTransactional="textOnlyTransactional",O.Undo="undo",(N=e.PositionEncodingKind||(e.PositionEncodingKind={})).UTF8="utf-8",N.UTF16="utf-16",N.UTF32="utf-32",(e.StaticRegistrationOptions||(e.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&r.string(t.id)&&t.id.length>0},(e.TextDocumentRegistrationOptions||(e.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||T.is(t.documentSelector))},(q=e.WorkDoneProgressOptions||(e.WorkDoneProgressOptions={})).is=function(e){const t=e;return r.objectLiteral(t)&&(void 0===t.workDoneProgress||r.boolean(t.workDoneProgress))},q.hasWorkDoneProgress=function(e){const t=e;return t&&r.boolean(t.workDoneProgress)},(I=e.InitializeRequest||(e.InitializeRequest={})).method="initialize",I.messageDirection=t.MessageDirection.clientToServer,I.type=new t.ProtocolRequestType(I.method),(e.InitializeErrorCodes||(e.InitializeErrorCodes={})).unknownProtocolVersion=1,(A=e.InitializedNotification||(e.InitializedNotification={})).method="initialized",A.messageDirection=t.MessageDirection.clientToServer,A.type=new t.ProtocolNotificationType(A.method),(M=e.ShutdownRequest||(e.ShutdownRequest={})).method="shutdown",M.messageDirection=t.MessageDirection.clientToServer,M.type=new t.ProtocolRequestType0(M.method),(F=e.ExitNotification||(e.ExitNotification={})).method="exit",F.messageDirection=t.MessageDirection.clientToServer,F.type=new t.ProtocolNotificationType0(F.method),(L=e.DidChangeConfigurationNotification||(e.DidChangeConfigurationNotification={})).method="workspace/didChangeConfiguration",L.messageDirection=t.MessageDirection.clientToServer,L.type=new t.ProtocolNotificationType(L.method),(j=e.MessageType||(e.MessageType={})).Error=1,j.Warning=2,j.Info=3,j.Log=4,($=e.ShowMessageNotification||(e.ShowMessageNotification={})).method="window/showMessage",$.messageDirection=t.MessageDirection.serverToClient,$.type=new t.ProtocolNotificationType($.method),(H=e.ShowMessageRequest||(e.ShowMessageRequest={})).method="window/showMessageRequest",H.messageDirection=t.MessageDirection.serverToClient,H.type=new t.ProtocolRequestType(H.method),(W=e.LogMessageNotification||(e.LogMessageNotification={})).method="window/logMessage",W.messageDirection=t.MessageDirection.serverToClient,W.type=new t.ProtocolNotificationType(W.method),(V=e.TelemetryEventNotification||(e.TelemetryEventNotification={})).method="telemetry/event",V.messageDirection=t.MessageDirection.serverToClient,V.type=new t.ProtocolNotificationType(V.method),(U=e.TextDocumentSyncKind||(e.TextDocumentSyncKind={})).None=0,U.Full=1,U.Incremental=2,(K=e.DidOpenTextDocumentNotification||(e.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",K.messageDirection=t.MessageDirection.clientToServer,K.type=new t.ProtocolNotificationType(K.method),(G=e.TextDocumentContentChangeEvent||(e.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},G.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(z=e.DidChangeTextDocumentNotification||(e.DidChangeTextDocumentNotification={})).method="textDocument/didChange",z.messageDirection=t.MessageDirection.clientToServer,z.type=new t.ProtocolNotificationType(z.method),(B=e.DidCloseTextDocumentNotification||(e.DidCloseTextDocumentNotification={})).method="textDocument/didClose",B.messageDirection=t.MessageDirection.clientToServer,B.type=new t.ProtocolNotificationType(B.method),(J=e.DidSaveTextDocumentNotification||(e.DidSaveTextDocumentNotification={})).method="textDocument/didSave",J.messageDirection=t.MessageDirection.clientToServer,J.type=new t.ProtocolNotificationType(J.method),(X=e.TextDocumentSaveReason||(e.TextDocumentSaveReason={})).Manual=1,X.AfterDelay=2,X.FocusOut=3,(Y=e.WillSaveTextDocumentNotification||(e.WillSaveTextDocumentNotification={})).method="textDocument/willSave",Y.messageDirection=t.MessageDirection.clientToServer,Y.type=new t.ProtocolNotificationType(Y.method),(Q=e.WillSaveTextDocumentWaitUntilRequest||(e.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",Q.messageDirection=t.MessageDirection.clientToServer,Q.type=new t.ProtocolRequestType(Q.method),(Z=e.DidChangeWatchedFilesNotification||(e.DidChangeWatchedFilesNotification={})).method="workspace/didChangeWatchedFiles",Z.messageDirection=t.MessageDirection.clientToServer,Z.type=new t.ProtocolNotificationType(Z.method),(ee=e.FileChangeType||(e.FileChangeType={})).Created=1,ee.Changed=2,ee.Deleted=3,(e.RelativePattern||(e.RelativePattern={})).is=function(e){const t=e;return r.objectLiteral(t)&&(n.URI.is(t.baseUri)||n.WorkspaceFolder.is(t.baseUri))&&r.string(t.pattern)},(te=e.WatchKind||(e.WatchKind={})).Create=1,te.Change=2,te.Delete=4,(ne=e.PublishDiagnosticsNotification||(e.PublishDiagnosticsNotification={})).method="textDocument/publishDiagnostics",ne.messageDirection=t.MessageDirection.serverToClient,ne.type=new t.ProtocolNotificationType(ne.method),(re=e.CompletionTriggerKind||(e.CompletionTriggerKind={})).Invoked=1,re.TriggerCharacter=2,re.TriggerForIncompleteCompletions=3,(ie=e.CompletionRequest||(e.CompletionRequest={})).method="textDocument/completion",ie.messageDirection=t.MessageDirection.clientToServer,ie.type=new t.ProtocolRequestType(ie.method),(oe=e.CompletionResolveRequest||(e.CompletionResolveRequest={})).method="completionItem/resolve",oe.messageDirection=t.MessageDirection.clientToServer,oe.type=new t.ProtocolRequestType(oe.method),(se=e.HoverRequest||(e.HoverRequest={})).method="textDocument/hover",se.messageDirection=t.MessageDirection.clientToServer,se.type=new t.ProtocolRequestType(se.method),(ae=e.SignatureHelpTriggerKind||(e.SignatureHelpTriggerKind={})).Invoked=1,ae.TriggerCharacter=2,ae.ContentChange=3,(ce=e.SignatureHelpRequest||(e.SignatureHelpRequest={})).method="textDocument/signatureHelp",ce.messageDirection=t.MessageDirection.clientToServer,ce.type=new t.ProtocolRequestType(ce.method),(ue=e.DefinitionRequest||(e.DefinitionRequest={})).method="textDocument/definition",ue.messageDirection=t.MessageDirection.clientToServer,ue.type=new t.ProtocolRequestType(ue.method),(le=e.ReferencesRequest||(e.ReferencesRequest={})).method="textDocument/references",le.messageDirection=t.MessageDirection.clientToServer,le.type=new t.ProtocolRequestType(le.method),(he=e.DocumentHighlightRequest||(e.DocumentHighlightRequest={})).method="textDocument/documentHighlight",he.messageDirection=t.MessageDirection.clientToServer,he.type=new t.ProtocolRequestType(he.method),(de=e.DocumentSymbolRequest||(e.DocumentSymbolRequest={})).method="textDocument/documentSymbol",de.messageDirection=t.MessageDirection.clientToServer,de.type=new t.ProtocolRequestType(de.method),(pe=e.CodeActionRequest||(e.CodeActionRequest={})).method="textDocument/codeAction",pe.messageDirection=t.MessageDirection.clientToServer,pe.type=new t.ProtocolRequestType(pe.method),(fe=e.CodeActionResolveRequest||(e.CodeActionResolveRequest={})).method="codeAction/resolve",fe.messageDirection=t.MessageDirection.clientToServer,fe.type=new t.ProtocolRequestType(fe.method),(me=e.WorkspaceSymbolRequest||(e.WorkspaceSymbolRequest={})).method="workspace/symbol",me.messageDirection=t.MessageDirection.clientToServer,me.type=new t.ProtocolRequestType(me.method),(ge=e.WorkspaceSymbolResolveRequest||(e.WorkspaceSymbolResolveRequest={})).method="workspaceSymbol/resolve",ge.messageDirection=t.MessageDirection.clientToServer,ge.type=new t.ProtocolRequestType(ge.method),(ye=e.CodeLensRequest||(e.CodeLensRequest={})).method="textDocument/codeLens",ye.messageDirection=t.MessageDirection.clientToServer,ye.type=new t.ProtocolRequestType(ye.method),(ve=e.CodeLensResolveRequest||(e.CodeLensResolveRequest={})).method="codeLens/resolve",ve.messageDirection=t.MessageDirection.clientToServer,ve.type=new t.ProtocolRequestType(ve.method),(be=e.CodeLensRefreshRequest||(e.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",be.messageDirection=t.MessageDirection.serverToClient,be.type=new t.ProtocolRequestType0(be.method),(Se=e.DocumentLinkRequest||(e.DocumentLinkRequest={})).method="textDocument/documentLink",Se.messageDirection=t.MessageDirection.clientToServer,Se.type=new t.ProtocolRequestType(Se.method),(we=e.DocumentLinkResolveRequest||(e.DocumentLinkResolveRequest={})).method="documentLink/resolve",we.messageDirection=t.MessageDirection.clientToServer,we.type=new t.ProtocolRequestType(we.method),(Re=e.DocumentFormattingRequest||(e.DocumentFormattingRequest={})).method="textDocument/formatting",Re.messageDirection=t.MessageDirection.clientToServer,Re.type=new t.ProtocolRequestType(Re.method),(Ce=e.DocumentRangeFormattingRequest||(e.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",Ce.messageDirection=t.MessageDirection.clientToServer,Ce.type=new t.ProtocolRequestType(Ce.method),(Ee=e.DocumentOnTypeFormattingRequest||(e.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",Ee.messageDirection=t.MessageDirection.clientToServer,Ee.type=new t.ProtocolRequestType(Ee.method),(e.PrepareSupportDefaultBehavior||(e.PrepareSupportDefaultBehavior={})).Identifier=1,(_e=e.RenameRequest||(e.RenameRequest={})).method="textDocument/rename",_e.messageDirection=t.MessageDirection.clientToServer,_e.type=new t.ProtocolRequestType(_e.method),(De=e.PrepareRenameRequest||(e.PrepareRenameRequest={})).method="textDocument/prepareRename",De.messageDirection=t.MessageDirection.clientToServer,De.type=new t.ProtocolRequestType(De.method),(Te=e.ExecuteCommandRequest||(e.ExecuteCommandRequest={})).method="workspace/executeCommand",Te.messageDirection=t.MessageDirection.clientToServer,Te.type=new t.ProtocolRequestType(Te.method),(ke=e.ApplyWorkspaceEditRequest||(e.ApplyWorkspaceEditRequest={})).method="workspace/applyEdit",ke.messageDirection=t.MessageDirection.serverToClient,ke.type=new t.ProtocolRequestType("workspace/applyEdit")}(Gn);var gr={};Object.defineProperty(gr,"__esModule",{value:!0}),gr.createProtocolConnection=void 0;const yr=ke;gr.createProtocolConnection=function(e,t,n,r){return yr.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,yr.createMessageConnection)(e,t,n,r)},function(e){var t=T&&T.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T&&T.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,n(ke,e),n(Un,e),n(Kn,e),n(Gn,e);var r,i=gr;Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:function(){return i.createProtocolConnection}}),(r=e.LSPErrorCodes||(e.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,r.RequestFailed=-32803,r.ServerCancelled=-32802,r.ContentModified=-32801,r.RequestCancelled=-32800,r.lspReservedErrorRangeEnd=-32800}(Gt),function(e){var t=T&&T.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T&&T.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;const r=De;n(De,e),n(Gt,e),e.createProtocolConnection=function(e,t,n,i){return(0,r.createMessageConnection)(e,t,n,i)}}(_e);const vr=k(_e);var br={};Object.defineProperty(br,"__esModule",{value:!0}),br.generateUuid=br.parse=br.isUUID=br.v4=br.empty=void 0;class Sr{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class wr extends Sr{constructor(){super([wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),"-",wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),"-","4",wr._randomHex(),wr._randomHex(),wr._randomHex(),"-",wr._oneOf(wr._timeHighBits),wr._randomHex(),wr._randomHex(),wr._randomHex(),"-",wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex(),wr._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return wr._oneOf(wr._chars)}}function Rr(){return new wr}wr._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],wr._timeHighBits=["8","9","a","b"],br.empty=new Sr("00000000-0000-0000-0000-000000000000"),br.v4=Rr;const Cr=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Er(e){return Cr.test(e)}br.isUUID=Er,br.parse=function(e){if(!Er(e))throw new Error("invalid uuid");return new Sr(e)},br.generateUuid=function(){return Rr().asHex()};var _r={};Object.defineProperty(_r,"__esModule",{value:!0}),_r.attachPartialResult=_r.ProgressFeature=Nr=_r.attachWorkDone=void 0;const Dr=_e,Tr=br;class kr{constructor(e,t){this._connection=e,this._token=t,kr.Instances.set(this._token,this)}begin(e,t,n,r){let i={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(Dr.WorkDoneProgress.type,this._token,i)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(Dr.WorkDoneProgress.type,this._token,n)}done(){kr.Instances.delete(this._token),this._connection.sendProgress(Dr.WorkDoneProgress.type,this._token,{kind:"end"})}}kr.Instances=new Map;class xr extends kr{constructor(e,t){super(e,t),this._source=new Dr.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class Pr{constructor(){}begin(){}report(){}done(){}}class Or extends Pr{constructor(){super(),this._source=new Dr.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var Nr=_r.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new Pr;const n=t.workDoneToken;return delete t.workDoneToken,new kr(e,n)};var qr;_r.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){super.initialize(e),!0===e?.window?.workDoneProgress&&(this._progressSupported=!0,this.connection.onNotification(Dr.WorkDoneProgressCancelNotification.type,(e=>{let t=kr.Instances.get(e.token);(t instanceof xr||t instanceof Or)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new Pr:new kr(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=(0,Tr.generateUuid)();return this.connection.sendRequest(Dr.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new xr(this.connection,e)))}return Promise.resolve(new Or)}},function(e){e.type=new Dr.ProgressType}(qr||(qr={}));class Ir{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(qr.type,this._token,e)}}_r.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new Ir(e,n)};var Ar={};Object.defineProperty(Ar,"__esModule",{value:!0}),Ar.ConfigurationFeature=void 0;const Mr=_e,Fr=ve;Ar.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?Fr.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(Mr.ConfigurationRequest.type,t).then((t=>Array.isArray(t)?Array.isArray(e)?t:t[0]:Array.isArray(e)?[]:null))}};var Lr={};Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.WorkspaceFoldersFeature=void 0;const jr=_e;Lr.WorkspaceFoldersFeature=e=>class extends e{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(e){super.initialize(e);let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new jr.Emitter,this.connection.onNotification(jr.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}fillServerCapabilities(e){super.fillServerCapabilities(e);const t=e.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=!0===t||"string"==typeof t}getWorkspaceFolders(){return this.connection.sendRequest(jr.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._notificationIsAutoRegistered||this._unregistration||(this._unregistration=this.connection.client.register(jr.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};var $r={};Object.defineProperty($r,"__esModule",{value:!0}),$r.CallHierarchyFeature=void 0;const Hr=_e;$r.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>this.connection.onRequest(Hr.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0))),onIncomingCalls:e=>{const t=Hr.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=Hr.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}};var Wr={};Object.defineProperty(Wr,"__esModule",{value:!0}),Wr.SemanticTokensBuilder=Wr.SemanticTokensDiff=Wr.SemanticTokensFeature=void 0;const Vr=_e;Wr.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(Vr.SemanticTokensRefreshRequest.type),on:e=>{const t=Vr.SemanticTokensRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=Vr.SemanticTokensDeltaRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=Vr.SemanticTokensRangeRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}};class Ur{constructor(e,t){this.originalSequence=e,this.modifiedSequence=t}computeDiff(){const e=this.originalSequence.length,t=this.modifiedSequence.length;let n=0;for(;n<t&&n<e&&this.originalSequence[n]===this.modifiedSequence[n];)n++;if(n<t&&n<e){let r=e-1,i=t-1;for(;r>=n&&i>=n&&this.originalSequence[r]===this.modifiedSequence[i];)r--,i--;(r<n||i<n)&&(r++,i++);const o=r-n+1,s=this.modifiedSequence.slice(n,i+1);return 1===s.length&&s[0]===this.originalSequence[r]?[{start:n,deleteCount:o-1}]:[{start:n,deleteCount:o,data:s}]}return n<t?[{start:n,deleteCount:0,data:this.modifiedSequence.slice(n)}]:n<e?[{start:n,deleteCount:e-n}]:[]}}Wr.SemanticTokensDiff=Ur;Wr.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,r,i){let o=e,s=t;this._dataLen>0&&(o-=this._prevLine,0===o&&(s-=this._prevChar)),this._data[this._dataLen++]=o,this._data[this._dataLen++]=s,this._data[this._dataLen++]=n,this._data[this._dataLen++]=r,this._data[this._dataLen++]=i,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){return void 0!==this._prevData?{resultId:this.id,edits:new Ur(this._prevData,this._data).computeDiff()}:this.build()}};var Kr={};Object.defineProperty(Kr,"__esModule",{value:!0}),Kr.ShowDocumentFeature=void 0;const Gr=_e;Kr.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(Gr.ShowDocumentRequest.type,e)}};var zr={};Object.defineProperty(zr,"__esModule",{value:!0}),zr.FileOperationsFeature=void 0;const Br=_e;zr.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){return this.connection.onNotification(Br.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){return this.connection.onNotification(Br.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){return this.connection.onNotification(Br.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(Br.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(Br.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(Br.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}};var Jr={};Object.defineProperty(Jr,"__esModule",{value:!0}),Jr.LinkedEditingRangeFeature=void 0;const Xr=_e;Jr.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){return this.connection.onRequest(Xr.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}};var Yr={};Object.defineProperty(Yr,"__esModule",{value:!0}),Yr.TypeHierarchyFeature=void 0;const Qr=_e;Yr.TypeHierarchyFeature=e=>class extends e{get typeHierarchy(){return{onPrepare:e=>this.connection.onRequest(Qr.TypeHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0))),onSupertypes:e=>{const t=Qr.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onSubtypes:e=>{const t=Qr.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}};var Zr={};Object.defineProperty(Zr,"__esModule",{value:!0}),Zr.InlineValueFeature=void 0;const ei=_e;Zr.InlineValueFeature=e=>class extends e{get inlineValue(){return{refresh:()=>this.connection.sendRequest(ei.InlineValueRefreshRequest.type),on:e=>this.connection.onRequest(ei.InlineValueRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t))))}}};var ti={};Object.defineProperty(ti,"__esModule",{value:!0}),ti.InlayHintFeature=void 0;const ni=_e;ti.InlayHintFeature=e=>class extends e{get inlayHint(){return{refresh:()=>this.connection.sendRequest(ni.InlayHintRefreshRequest.type),on:e=>this.connection.onRequest(ni.InlayHintRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t)))),resolve:e=>this.connection.onRequest(ni.InlayHintResolveRequest.type,((t,n)=>e(t,n)))}}};var ri={};Object.defineProperty(ri,"__esModule",{value:!0}),ri.DiagnosticFeature=void 0;const ii=_e;ri.DiagnosticFeature=e=>class extends e{get diagnostics(){return{refresh:()=>this.connection.sendRequest(ii.DiagnosticRefreshRequest.type),on:e=>this.connection.onRequest(ii.DocumentDiagnosticRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),this.attachPartialResultProgress(ii.DocumentDiagnosticRequest.partialResult,t)))),onWorkspace:e=>this.connection.onRequest(ii.WorkspaceDiagnosticRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),this.attachPartialResultProgress(ii.WorkspaceDiagnosticRequest.partialResult,t))))}}};var oi={},si={};Object.defineProperty(si,"__esModule",{value:!0}),si.TextDocuments=void 0;const ai=_e;si.TextDocuments=class{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new ai.Emitter,this._onDidOpen=new ai.Emitter,this._onDidClose=new ai.Emitter,this._onDidSave=new ai.Emitter,this._onWillSave=new ai.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(e)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=ai.TextDocumentSyncKind.Incremental;const t=[];return t.push(e.onDidOpenTextDocument((e=>{const t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._syncedDocuments.set(t.uri,n);const r=Object.freeze({document:n});this._onDidOpen.fire(r),this._onDidChangeContent.fire(r)}))),t.push(e.onDidChangeTextDocument((e=>{const t=e.textDocument,n=e.contentChanges;if(0===n.length)return;const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);let i=this._syncedDocuments.get(t.uri);void 0!==i&&(i=this._configuration.update(i,n,r),this._syncedDocuments.set(t.uri,i),this._onDidChangeContent.fire(Object.freeze({document:i})))}))),t.push(e.onDidCloseTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&(this._syncedDocuments.delete(e.textDocument.uri),this._onDidClose.fire(Object.freeze({document:t})))}))),t.push(e.onWillSaveTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))}))),t.push(e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._syncedDocuments.get(e.textDocument.uri);return void 0!==n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]}))),t.push(e.onDidSaveTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&this._onDidSave.fire(Object.freeze({document:t}))}))),ai.Disposable.create((()=>{t.forEach((e=>e.dispose()))}))}},Object.defineProperty(oi,"__esModule",{value:!0}),oi.NotebookDocuments=oi.NotebookSyncFeature=void 0;const ci=_e,ui=si;oi.NotebookSyncFeature=e=>class extends e{get synchronization(){return{onDidOpenNotebookDocument:e=>this.connection.onNotification(ci.DidOpenNotebookDocumentNotification.type,(t=>{e(t)})),onDidChangeNotebookDocument:e=>this.connection.onNotification(ci.DidChangeNotebookDocumentNotification.type,(t=>{e(t)})),onDidSaveNotebookDocument:e=>this.connection.onNotification(ci.DidSaveNotebookDocumentNotification.type,(t=>{e(t)})),onDidCloseNotebookDocument:e=>this.connection.onNotification(ci.DidCloseNotebookDocumentNotification.type,(t=>{e(t)}))}}};class li{onDidOpenTextDocument(e){return this.openHandler=e,ci.Disposable.create((()=>{this.openHandler=void 0}))}openTextDocument(e){this.openHandler&&this.openHandler(e)}onDidChangeTextDocument(e){return this.changeHandler=e,ci.Disposable.create((()=>{this.changeHandler=e}))}changeTextDocument(e){this.changeHandler&&this.changeHandler(e)}onDidCloseTextDocument(e){return this.closeHandler=e,ci.Disposable.create((()=>{this.closeHandler=void 0}))}closeTextDocument(e){this.closeHandler&&this.closeHandler(e)}onWillSaveTextDocument(){return li.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return li.NULL_DISPOSE}onDidSaveTextDocument(){return li.NULL_DISPOSE}}li.NULL_DISPOSE=Object.freeze({dispose:()=>{}});oi.NotebookDocuments=class{constructor(e){e instanceof ui.TextDocuments?this._cellTextDocuments=e:this._cellTextDocuments=new ui.TextDocuments(e),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new ci.Emitter,this._onDidChange=new ci.Emitter,this._onDidSave=new ci.Emitter,this._onDidClose=new ci.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(e){return this._cellTextDocuments.get(e.document)}getNotebookDocument(e){return this.notebookDocuments.get(e)}getNotebookCell(e){const t=this.notebookCellMap.get(e);return t&&t[0]}findNotebookDocumentForCell(e){const t="string"==typeof e?e:e.document,n=this.notebookCellMap.get(t);return n&&n[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(e){const t=new li,n=[];return n.push(this.cellTextDocuments.listen(t)),n.push(e.notebooks.synchronization.onDidOpenNotebookDocument((e=>{this.notebookDocuments.set(e.notebookDocument.uri,e.notebookDocument);for(const n of e.cellTextDocuments)t.openTextDocument({textDocument:n});this.updateCellMap(e.notebookDocument),this._onDidOpen.fire(e.notebookDocument)}))),n.push(e.notebooks.synchronization.onDidChangeNotebookDocument((e=>{const n=this.notebookDocuments.get(e.notebookDocument.uri);if(void 0===n)return;n.version=e.notebookDocument.version;const r=n.metadata;let i=!1;const o=e.change;void 0!==o.metadata&&(i=!0,n.metadata=o.metadata);const s=[],a=[],c=[],u=[];if(void 0!==o.cells){const e=o.cells;if(void 0!==e.structure){const r=e.structure.array;if(n.cells.splice(r.start,r.deleteCount,...void 0!==r.cells?r.cells:[]),void 0!==e.structure.didOpen)for(const n of e.structure.didOpen)t.openTextDocument({textDocument:n}),s.push(n.uri);if(e.structure.didClose)for(const n of e.structure.didClose)t.closeTextDocument({textDocument:n}),a.push(n.uri)}if(void 0!==e.data){const t=new Map(e.data.map((e=>[e.document,e])));for(let e=0;e<=n.cells.length;e++){const r=t.get(n.cells[e].document);if(void 0!==r){const i=n.cells.splice(e,1,r);if(c.push({old:i[0],new:r}),t.delete(r.document),0===t.size)break}}}if(void 0!==e.textContent)for(const n of e.textContent)t.changeTextDocument({textDocument:n.document,contentChanges:n.changes}),u.push(n.document.uri)}this.updateCellMap(n);const l={notebookDocument:n};i&&(l.metadata={old:r,new:n.metadata});const h=[];for(const e of s)h.push(this.getNotebookCell(e));const d=[];for(const e of a)d.push(this.getNotebookCell(e));const p=[];for(const e of u)p.push(this.getNotebookCell(e));(h.length>0||d.length>0||c.length>0||p.length>0)&&(l.cells={added:h,removed:d,changed:{data:c,textContent:p}}),void 0===l.metadata&&void 0===l.cells||this._onDidChange.fire(l)}))),n.push(e.notebooks.synchronization.onDidSaveNotebookDocument((e=>{const t=this.notebookDocuments.get(e.notebookDocument.uri);void 0!==t&&this._onDidSave.fire(t)}))),n.push(e.notebooks.synchronization.onDidCloseNotebookDocument((e=>{const n=this.notebookDocuments.get(e.notebookDocument.uri);if(void 0!==n){this._onDidClose.fire(n);for(const n of e.cellTextDocuments)t.closeTextDocument({textDocument:n});this.notebookDocuments.delete(e.notebookDocument.uri);for(const e of n.cells)this.notebookCellMap.delete(e.document)}}))),ci.Disposable.create((()=>{n.forEach((e=>e.dispose()))}))}updateCellMap(e){for(const t of e.cells)this.notebookCellMap.set(t.document,[t,e])}};var hi={};Object.defineProperty(hi,"__esModule",{value:!0}),hi.MonikerFeature=void 0;const di=_e;hi.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=di.MonikerRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createConnection=e.combineFeatures=e.combineNotebooksFeatures=e.combineLanguagesFeatures=e.combineWorkspaceFeatures=e.combineWindowFeatures=e.combineClientFeatures=e.combineTracerFeatures=e.combineTelemetryFeatures=e.combineConsoleFeatures=e._NotebooksImpl=e._LanguagesImpl=e.BulkUnregistration=e.BulkRegistration=e.ErrorMessageTracker=void 0;const t=_e,n=ve,r=br,i=_r,o=Ar,s=Lr,a=$r,c=Wr,u=Kr,l=zr,h=Jr,d=Yr,p=Zr,f=ti,m=ri,g=oi,y=hi;function v(e){if(null!==e)return e}e.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class b{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(t.MessageType.Error,e)}warn(e){this.send(t.MessageType.Warning,e)}info(e){this.send(t.MessageType.Info,e)}log(e){this.send(t.MessageType.Log,e)}send(e,n){this._rawConnection&&this._rawConnection.sendNotification(t.LogMessageNotification.type,{type:e,message:n}).catch((()=>{(0,t.RAL)().console.error("Sending log message failed")}))}}const S=(0,u.ShowDocumentFeature)((0,i.ProgressFeature)(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...n){let r={type:t.MessageType.Error,message:e,actions:n};return this.connection.sendRequest(t.ShowMessageRequest.type,r).then(v)}showWarningMessage(e,...n){let r={type:t.MessageType.Warning,message:e,actions:n};return this.connection.sendRequest(t.ShowMessageRequest.type,r).then(v)}showInformationMessage(e,...n){let r={type:t.MessageType.Info,message:e,actions:n};return this.connection.sendRequest(t.ShowMessageRequest.type,r).then(v)}}));(e.BulkRegistration||(e.BulkRegistration={})).create=function(){return new w};class w{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const i=n.string(e)?e:e.method;if(this._registered.has(i))throw new Error(`${i} is already added to this registration`);const o=r.generateUuid();this._registrations.push({id:o,method:i,registerOptions:t||{}}),this._registered.add(i)}asRegistrationParams(){return{registrations:this._registrations}}}(e.BulkUnregistration||(e.BulkUnregistration={})).create=function(){return new R(void 0,[])};class R{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let n={unregisterations:e};this._connection.sendRequest(t.UnregistrationRequest.type,n).catch((()=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const r=n.string(e)?e:e.method,i=this._unregistrations.get(r);if(!i)return!1;let o={unregisterations:[i]};return this._connection.sendRequest(t.UnregistrationRequest.type,o).then((()=>{this._unregistrations.delete(r)}),(e=>{this._connection.console.info(`Un-registering request handler for ${i.id} failed.`)})),!0}}class C{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof w?this.registerMany(e):e instanceof R?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,i,o){const s=n.string(i)?i:i.method,a=r.generateUuid();let c={registrations:[{id:a,method:s,registerOptions:o||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(t.RegistrationRequest.type,c).then((t=>(e.add({id:a,method:s}),e)),(e=>(this.connection.console.info(`Registering request handler for ${s} failed.`),Promise.reject(e))))}registerSingle2(e,i){const o=n.string(e)?e:e.method,s=r.generateUuid();let a={registrations:[{id:s,method:o,registerOptions:i||{}}]};return this.connection.sendRequest(t.RegistrationRequest.type,a).then((e=>t.Disposable.create((()=>{this.unregisterSingle(s,o).catch((()=>{this.connection.console.info(`Un-registering capability with id ${s} failed.`)}))}))),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}unregisterSingle(e,n){let r={unregisterations:[{id:e,method:n}]};return this.connection.sendRequest(t.UnregistrationRequest.type,r).catch((()=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let n=e.asRegistrationParams();return this.connection.sendRequest(t.RegistrationRequest.type,n).then((()=>new R(this._connection,n.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const E=(0,l.FileOperationsFeature)((0,s.WorkspaceFoldersFeature)((0,o.ConfigurationFeature)(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let n=(r=e)&&r.edit?e:{edit:e};var r;return this.connection.sendRequest(t.ApplyWorkspaceEditRequest.type,n)}})));class _{constructor(){this._trace=t.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,n){this._trace!==t.Trace.Off&&this.connection.sendNotification(t.LogTraceNotification.type,{message:e,verbose:this._trace===t.Trace.Verbose?n:void 0}).catch((()=>{}))}}class D{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(t.TelemetryEventNotification.type,e).catch((()=>{this.connection.console.log("Sending TelemetryEventNotification failed")}))}}class T{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,i.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,t){return(0,i.attachPartialResult)(this.connection,t)}}e._LanguagesImpl=T;const k=(0,y.MonikerFeature)((0,m.DiagnosticFeature)((0,f.InlayHintFeature)((0,p.InlineValueFeature)((0,d.TypeHierarchyFeature)((0,h.LinkedEditingRangeFeature)((0,c.SemanticTokensFeature)((0,a.CallHierarchyFeature)(T))))))));class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,i.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,t){return(0,i.attachPartialResult)(this.connection,t)}}e._NotebooksImpl=x;const P=(0,g.NotebookSyncFeature)(x);function O(e,t){return function(n){return t(e(n))}}function N(e,t){return function(n){return t(e(n))}}function q(e,t){return function(n){return t(e(n))}}function I(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function M(e,t){return function(n){return t(e(n))}}function F(e,t){return function(n){return t(e(n))}}function L(e,t){return function(n){return t(e(n))}}e.combineConsoleFeatures=O,e.combineTelemetryFeatures=N,e.combineTracerFeatures=q,e.combineClientFeatures=I,e.combineWindowFeatures=A,e.combineWorkspaceFeatures=M,e.combineLanguagesFeatures=F,e.combineNotebooksFeatures=L,e.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,O),tracer:n(e.tracer,t.tracer,q),telemetry:n(e.telemetry,t.telemetry,N),client:n(e.client,t.client,I),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,M),languages:n(e.languages,t.languages,F),notebooks:n(e.notebooks,t.notebooks,L)}},e.createConnection=function(e,r,o){const s=o&&o.console?new(o.console(b)):new b,a=e(s);s.rawAttach(a);const c=o&&o.tracer?new(o.tracer(_)):new _,u=o&&o.telemetry?new(o.telemetry(D)):new D,l=o&&o.client?new(o.client(C)):new C,h=o&&o.window?new(o.window(S)):new S,d=o&&o.workspace?new(o.workspace(E)):new E,p=o&&o.languages?new(o.languages(k)):new k,f=o&&o.notebooks?new(o.notebooks(P)):new P,m=[s,c,u,l,h,d,p,f];function g(e){return e instanceof Promise?e:n.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let y,v,w,R={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(n.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const r=n.string(e)?e:e.method;return 1===arguments.length?a.sendNotification(r):a.sendNotification(r,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>(v=e,{dispose:()=>{v=void 0}}),onInitialized:e=>a.onNotification(t.InitializedNotification.type,e),onShutdown:e=>(y=e,{dispose:()=>{y=void 0}}),onExit:e=>(w=e,{dispose:()=>{w=void 0}}),get console(){return s},get telemetry(){return u},get tracer(){return c},get client(){return l},get window(){return h},get workspace(){return d},get languages(){return p},get notebooks(){return f},onDidChangeConfiguration:e=>a.onNotification(t.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(t.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(t.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(t.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(t.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(t.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(t.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(t.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(t.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(t.HoverRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),void 0))),onCompletion:e=>a.onRequest(t.CompletionRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onCompletionResolve:e=>a.onRequest(t.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(t.SignatureHelpRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),void 0))),onDeclaration:e=>a.onRequest(t.DeclarationRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onDefinition:e=>a.onRequest(t.DefinitionRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onTypeDefinition:e=>a.onRequest(t.TypeDefinitionRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onImplementation:e=>a.onRequest(t.ImplementationRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onReferences:e=>a.onRequest(t.ReferencesRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onDocumentHighlight:e=>a.onRequest(t.DocumentHighlightRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onDocumentSymbol:e=>a.onRequest(t.DocumentSymbolRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onWorkspaceSymbol:e=>a.onRequest(t.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onWorkspaceSymbolResolve:e=>a.onRequest(t.WorkspaceSymbolResolveRequest.type,e),onCodeAction:e=>a.onRequest(t.CodeActionRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onCodeActionResolve:e=>a.onRequest(t.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(t.CodeLensRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onCodeLensResolve:e=>a.onRequest(t.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(t.DocumentFormattingRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(t.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(t.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(t.RenameRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),void 0))),onPrepareRename:e=>a.onRequest(t.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(t.DocumentLinkRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onDocumentLinkResolve:e=>a.onRequest(t.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(t.DocumentColorRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onColorPresentation:e=>a.onRequest(t.ColorPresentationRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onFoldingRanges:e=>a.onRequest(t.FoldingRangeRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onSelectionRanges:e=>a.onRequest(t.SelectionRangeRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),(0,i.attachPartialResult)(a,t)))),onExecuteCommand:e=>a.onRequest(t.ExecuteCommandRequest.type,((t,n)=>e(t,n,(0,i.attachWorkDone)(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(R);return a.onRequest(t.InitializeRequest.type,(e=>{r.initialize(e),n.string(e.trace)&&(c.trace=t.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v){return g(v(e,(new t.CancellationTokenSource).token,(0,i.attachWorkDone)(a,e),void 0)).then((e=>{if(e instanceof t.ResponseError)return e;let r=e;r||(r={capabilities:{}});let i=r.capabilities;i||(i={},r.capabilities=i),void 0===i.textDocumentSync||null===i.textDocumentSync?i.textDocumentSync=n.number(R.__textDocumentSync)?R.__textDocumentSync:t.TextDocumentSyncKind.None:n.number(i.textDocumentSync)||n.number(i.textDocumentSync.change)||(i.textDocumentSync.change=n.number(R.__textDocumentSync)?R.__textDocumentSync:t.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(i);return r}))}{let e={capabilities:{textDocumentSync:t.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(t.ShutdownRequest.type,(()=>(r.shutdownReceived=!0,y?y((new t.CancellationTokenSource).token):void 0))),a.onNotification(t.ExitNotification.type,(()=>{try{w&&w()}finally{r.shutdownReceived?r.exit(0):r.exit(1)}})),a.onNotification(t.SetTraceNotification.type,(e=>{c.trace=t.Trace.fromString(e.value)})),R}}(Ee);var pi={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.resolveModulePath=e.FileSystem=e.resolveGlobalYarnPath=e.resolveGlobalNodePath=e.resolve=e.uriToFilePath=void 0;const t=f,n=s,r=a,i=o;function c(){return"win32"===process.platform}function u(e,t,o,s){const a="NODE_PATH",c=["var p = process;","p.on('message',function(m){","if(m.c==='e'){","p.exit(0);","}","else if(m.c==='rs'){","try{","var r=require.resolve(m.a);","p.send({c:'r',s:true,r:r});","}","catch(err){","p.send({c:'r',s:false});","}","}","});"].join("");return new Promise(((u,l)=>{let h=process.env,d=Object.create(null);Object.keys(h).forEach((e=>d[e]=h[e])),t&&r.existsSync(t)&&(d[a]?d[a]=t+n.delimiter+d[a]:d[a]=t,s&&s(`NODE_PATH value is: ${d[a]}`)),d.ELECTRON_RUN_AS_NODE="1";try{let t=(0,i.fork)("",[],{cwd:o,env:d,execArgv:["-e",c]});if(void 0===t.pid)return void l(new Error(`Starting process to resolve node module ${e} failed`));t.on("error",(e=>{l(e)})),t.on("message",(n=>{"r"===n.c&&(t.send({c:"e"}),n.s?u(n.r):l(new Error(`Failed to resolve module: ${e}`)))}));let n={c:"rs",a:e};t.send(n)}catch(e){l(e)}}))}function l(e){let t="npm";const r=Object.create(null);Object.keys(process.env).forEach((e=>r[e]=process.env[e])),r.NO_UPDATE_NOTIFIER="true";const o={encoding:"utf8",env:r};c()&&(t="npm.cmd",o.shell=!0);let s=()=>{};try{process.on("SIGPIPE",s);let r=(0,i.spawnSync)(t,["config","get","prefix"],o).stdout;if(!r)return void(e&&e("'npm config get prefix' didn't return a value."));let a=r.trim();return e&&e(`'npm config get prefix' value is: ${a}`),a.length>0?c()?n.join(a,"node_modules"):n.join(a,"lib","node_modules"):void 0}catch(e){return}finally{process.removeListener("SIGPIPE",s)}}var h;e.uriToFilePath=function(e){let r=t.parse(e);if("file:"!==r.protocol||!r.path)return;let i=r.path.split("/");for(var o=0,s=i.length;o<s;o++)i[o]=decodeURIComponent(i[o]);if("win32"===process.platform&&i.length>1){let e=i[0],t=i[1];0===e.length&&t.length>1&&":"===t[1]&&i.shift()}return n.normalize(i.join("/"))},e.resolve=u,e.resolveGlobalNodePath=l,e.resolveGlobalYarnPath=function(e){let t="yarn",r={encoding:"utf8"};c()&&(t="yarn.cmd",r.shell=!0);let o=()=>{};try{process.on("SIGPIPE",o);let s=(0,i.spawnSync)(t,["global","dir","--json"],r),a=s.stdout;if(!a)return void(e&&(e("'yarn global dir' didn't return a value."),s.stderr&&e(s.stderr)));let c=a.trim().split(/\r?\n/);for(let e of c)try{let t=JSON.parse(e);if("log"===t.type)return n.join(t.data,"node_modules")}catch(e){}return}catch(e){return}finally{process.removeListener("SIGPIPE",o)}},function(e){let t;function i(){return void 0!==t||(t="win32"!==process.platform&&(!r.existsSync(__filename.toUpperCase())||!r.existsSync(__filename.toLowerCase()))),t}e.isCaseSensitive=i,e.isParent=function(e,t){return i()?0===n.normalize(t).indexOf(n.normalize(e)):0===n.normalize(t).toLowerCase().indexOf(n.normalize(e).toLowerCase())}}(h=e.FileSystem||(e.FileSystem={})),e.resolveModulePath=function(e,t,r,i){return r?(n.isAbsolute(r)||(r=n.join(e,r)),u(t,r,r,i).then((e=>h.isParent(r,e)?e:Promise.reject(new Error(`Failed to load ${t} from node path location.`)))).then(void 0,(n=>u(t,l(i),e,i)))):u(t,l(i),e,i)}}(pi);var fi={};({get exports(){return fi},set exports(e){fi=e}}).exports=_e;var mi={};!function(e){var t=T&&T.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T&&T.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.ProposedFeatures=e.NotebookDocuments=e.TextDocuments=e.SemanticTokensBuilder=void 0;const r=Wr;Object.defineProperty(e,"SemanticTokensBuilder",{enumerable:!0,get:function(){return r.SemanticTokensBuilder}}),n(_e,e);const i=si;Object.defineProperty(e,"TextDocuments",{enumerable:!0,get:function(){return i.TextDocuments}});const o=oi;Object.defineProperty(e,"NotebookDocuments",{enumerable:!0,get:function(){return o.NotebookDocuments}}),n(Ee,e),(e.ProposedFeatures||(e.ProposedFeatures={})).all={__brand:"features"}}(mi),function(e){var t=T&&T.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T&&T.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.createConnection=e.Files=void 0;const r=ve,i=Ee,o=pi,s=fi;var a;n(fi,e),n(mi,e),(a=e.Files||(e.Files={})).uriToFilePath=o.uriToFilePath,a.resolveGlobalNodePath=o.resolveGlobalNodePath,a.resolveGlobalYarnPath=o.resolveGlobalYarnPath,a.resolve=o.resolve,a.resolveModulePath=o.resolveModulePath;let c,u=!1;!function(){const e="--clientProcessId";function t(e){try{let t=parseInt(e);isNaN(t)||(c=setInterval((()=>{try{process.kill(t,0)}catch(e){process.exit(u?0:1)}}),3e3))}catch(e){}}for(let n=2;n<process.argv.length;n++){let r=process.argv[n];if(r===e&&n+1<process.argv.length)return void t(process.argv[n+1]);{let n=r.split("=");n[0]===e&&t(n[1])}}}();const l={initialize:e=>{const t=e.processId;r.number(t)&&void 0===c&&setInterval((()=>{try{process.kill(t,0)}catch(e){process.exit(u?0:1)}}),3e3)},get shutdownReceived(){return u},set shutdownReceived(e){u=e},exit:e=>{process.exit(e)}};e.createConnection=function(e,t,n,o){let a,c,h,d;return void 0!==e&&"features"===e.__brand&&(a=e,e=t,t=n,n=o),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?d=e:(c=e,h=t,d=n),function(e,t,n,o){if(!e&&!t&&process.argv.length>2){let n,r,i=process.argv.slice(2);for(let o=0;o<i.length;o++){let c=i[o];if("--node-ipc"===c){e=new s.IPCMessageReader(process),t=new s.IPCMessageWriter(process);break}if("--stdio"===c){e=process.stdin,t=process.stdout;break}if("--socket"===c){n=parseInt(i[o+1]);break}if("--pipe"===c){r=i[o+1];break}var a=c.split("=");if("--socket"===a[0]){n=parseInt(a[1]);break}if("--pipe"===a[0]){r=a[1];break}}if(n){let r=(0,s.createServerSocketTransport)(n);e=r[0],t=r[1]}else if(r){let n=(0,s.createServerPipeTransport)(r);e=n[0],t=n[1]}}var c="Use arguments of createConnection or set command line parameters: '--node-ipc', '--stdio' or '--socket={number}'";if(!e)throw new Error("Connection input stream is not set. "+c);if(!t)throw new Error("Connection output stream is not set. "+c);if(r.func(e.read)&&r.func(e.on)){let t=e;t.on("end",(()=>{process.exit(u?0:1)})),t.on("close",(()=>{process.exit(u?0:1)}))}const h=r=>(0,s.createProtocolConnection)(e,t,r,n);return(0,i.createConnection)(h,l,o)}(c,h,d,a)}}(ye);const gi=k(ye);var yi={};({get exports(){return yi},set exports(e){yi=e}}).exports=ye;const vi=k(yi);var bi;!function(e){e[e.Error=0]="Error",e[e.Warning=1]="Warning",e[e.Info=2]="Info",e[e.Log=3]="Log"}(bi=bi||(bi={})),function(e){e.fromString=function(t){switch(t?.toLowerCase()){case"log":return e.Log;case"info":return e.Info;case"warning":return e.Warning;default:return e.Error}},e.toString=function(t){switch(t){case e.Error:return"error";case e.Warning:return"warning";case e.Info:return"info";case e.Log:return"log"}}}(bi=bi||(bi={}));class Si{constructor(e,t){this.client=e,this.level=t}sendMessage(e,t,n){if(this.level>=e||n?.overrideLevel){const n=t.map((e=>"object"==typeof e?JSON.stringify(e,null,2):e)).join(" ");this.client.logMessage({type:e,message:n})}}logLevelToLspMessageType(e){switch(e){case bi.Log:return gi.MessageType.Log;case bi.Info:return gi.MessageType.Info;case bi.Warning:return gi.MessageType.Warning;case bi.Error:return gi.MessageType.Error}}error(...e){this.sendMessage(gi.MessageType.Error,e)}warn(...e){this.sendMessage(gi.MessageType.Warning,e)}info(...e){this.sendMessage(gi.MessageType.Info,e)}log(...e){this.sendMessage(gi.MessageType.Log,e)}logIgnoringVerbosity(e,...t){this.sendMessage(this.logLevelToLspMessageType(e),t,{overrideLevel:!0})}trace(e,t,n){this.logIgnoringVerbosity(bi.Log,`[${e} - ${Ri()}] ${t}`),n&&this.logIgnoringVerbosity(bi.Log,Ei(n))}}class wi{constructor(e,t){this.logger=e,this.prefix=t}error(...e){this.logger.error(this.prefix,...e)}warn(...e){this.logger.warn(this.prefix,...e)}info(...e){this.logger.info(this.prefix,...e)}log(...e){this.logger.log(this.prefix,...e)}logIgnoringVerbosity(e,...t){this.logger.logIgnoringVerbosity(e,this.prefix,...t)}trace(e,t,n){this.logIgnoringVerbosity(bi.Log,this.prefix,`[${e} - ${Ri()}] ${t}`),n&&this.logIgnoringVerbosity(bi.Log,this.prefix,Ei(n))}}function Ri(){const e=new Date;return`${Ci(`${e.getUTCHours()}`,2,"0")}:${Ci(`${e.getMinutes()}`,2,"0")}:${Ci(`${e.getUTCSeconds()}`,2,"0")}.${e.getMilliseconds()}`}function Ci(e,t,n=" "){return n.repeat(Math.max(0,t-e.length))+e}function Ei(e){return e instanceof Error?e.stack||e.message:!1===e.success&&e.message?e.message:e.toString()}var _i={},Di={fromCallback:function(e){return Object.defineProperty((function(...t){if("function"!=typeof t[t.length-1])return new Promise(((n,r)=>{e.call(this,...t,((e,t)=>null!=e?r(e):n(t)))}));e.apply(this,t)}),"name",{value:e.name})},fromPromise:function(e){return Object.defineProperty((function(...t){const n=t[t.length-1];if("function"!=typeof n)return e.apply(this,t);e.apply(this,t.slice(0,-1)).then((e=>n(null,e)),n)}),"name",{value:e.name})}},Ti=v,ki=process.cwd,xi=null,Pi=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return xi||(xi=ki.call(process)),xi};try{process.cwd()}catch(e){}if("function"==typeof process.chdir){var Oi=process.chdir;process.chdir=function(e){xi=null,Oi.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,Oi)}var Ni=function(e){Ti.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&function(e){e.lchmod=function(t,n,r){e.open(t,Ti.O_WRONLY|Ti.O_SYMLINK,n,(function(t,i){t?r&&r(t):e.fchmod(i,n,(function(t){e.close(i,(function(e){r&&r(t||e)}))}))}))},e.lchmodSync=function(t,n){var r,i=e.openSync(t,Ti.O_WRONLY|Ti.O_SYMLINK,n),o=!0;try{r=e.fchmodSync(i,n),o=!1}finally{if(o)try{e.closeSync(i)}catch(e){}else e.closeSync(i)}return r}}(e);e.lutimes||function(e){Ti.hasOwnProperty("O_SYMLINK")?(e.lutimes=function(t,n,r,i){e.open(t,Ti.O_SYMLINK,(function(t,o){t?i&&i(t):e.futimes(o,n,r,(function(t){e.close(o,(function(e){i&&i(t||e)}))}))}))},e.lutimesSync=function(t,n,r){var i,o=e.openSync(t,Ti.O_SYMLINK),s=!0;try{i=e.futimesSync(o,n,r),s=!1}finally{if(s)try{e.closeSync(o)}catch(e){}else e.closeSync(o)}return i}):(e.lutimes=function(e,t,n,r){r&&process.nextTick(r)},e.lutimesSync=function(){})}(e);e.chown=i(e.chown),e.fchown=i(e.fchown),e.lchown=i(e.lchown),e.chmod=n(e.chmod),e.fchmod=n(e.fchmod),e.lchmod=n(e.lchmod),e.chownSync=o(e.chownSync),e.fchownSync=o(e.fchownSync),e.lchownSync=o(e.lchownSync),e.chmodSync=r(e.chmodSync),e.fchmodSync=r(e.fchmodSync),e.lchmodSync=r(e.lchmodSync),e.stat=s(e.stat),e.fstat=s(e.fstat),e.lstat=s(e.lstat),e.statSync=a(e.statSync),e.fstatSync=a(e.fstatSync),e.lstatSync=a(e.lstatSync),e.lchmod||(e.lchmod=function(e,t,n){n&&process.nextTick(n)},e.lchmodSync=function(){});e.lchown||(e.lchown=function(e,t,n,r){r&&process.nextTick(r)},e.lchownSync=function(){});"win32"===Pi&&(e.rename=(t=e.rename,function(n,r,i){var o=Date.now(),s=0;t(n,r,(function a(c){if(c&&("EACCES"===c.code||"EPERM"===c.code)&&Date.now()-o<6e4)return setTimeout((function(){e.stat(r,(function(e,o){e&&"ENOENT"===e.code?t(n,r,a):i(c)}))}),s),void(s<100&&(s+=10));i&&i(c)}))}));var t;function n(t){return t?function(n,r,i){return t.call(e,n,r,(function(e){c(e)&&(e=null),i&&i.apply(this,arguments)}))}:t}function r(t){return t?function(n,r){try{return t.call(e,n,r)}catch(e){if(!c(e))throw e}}:t}function i(t){return t?function(n,r,i,o){return t.call(e,n,r,i,(function(e){c(e)&&(e=null),o&&o.apply(this,arguments)}))}:t}function o(t){return t?function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!c(e))throw e}}:t}function s(t){return t?function(n,r,i){function o(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return"function"==typeof r&&(i=r,r=null),r?t.call(e,n,r,o):t.call(e,n,o)}:t}function a(t){return t?function(n,r){var i=r?t.call(e,n,r):t.call(e,n);return i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296),i}:t}function c(e){return!e||("ENOSYS"===e.code||!(process.getuid&&0===process.getuid()||"EINVAL"!==e.code&&"EPERM"!==e.code))}e.read=function(t){function n(n,r,i,o,s,a){var c;if(a&&"function"==typeof a){var u=0;c=function(l,h,d){if(l&&"EAGAIN"===l.code&&u<10)return u++,t.call(e,n,r,i,o,s,c);a.apply(this,arguments)}}return t.call(e,n,r,i,o,s,c)}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n}(e.read),e.readSync=(u=e.readSync,function(t,n,r,i,o){for(var s=0;;)try{return u.call(e,t,n,r,i,o)}catch(e){if("EAGAIN"===e.code&&s<10){s++;continue}throw e}});var u};var qi=b.Stream,Ii=function(e){return{ReadStream:function t(n,r){if(!(this instanceof t))return new t(n,r);qi.call(this);var i=this;this.path=n,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,r=r||{};for(var o=Object.keys(r),s=0,a=o.length;s<a;s++){var c=o[s];this[c]=r[c]}this.encoding&&this.setEncoding(this.encoding);if(void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(void 0===this.end)this.end=1/0;else if("number"!=typeof this.end)throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(null!==this.fd)return void process.nextTick((function(){i._read()}));e.open(this.path,this.flags,this.mode,(function(e,t){if(e)return i.emit("error",e),void(i.readable=!1);i.fd=t,i.emit("open",t),i._read()}))},WriteStream:function t(n,r){if(!(this instanceof t))return new t(n,r);qi.call(this),this.path=n,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,r=r||{};for(var i=Object.keys(r),o=0,s=i.length;o<s;o++){var a=i[o];this[a]=r[a]}if(void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],null===this.fd&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}};var Ai=function(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Object)var t={__proto__:Mi(e)};else t=Object.create(null);return Object.getOwnPropertyNames(e).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})),t},Mi=Object.getPrototypeOf||function(e){return e.__proto__};var Fi,Li,ji=a,$i=Ni,Hi=Ii,Wi=Ai,Vi=u;function Ui(e,t){Object.defineProperty(e,Fi,{get:function(){return t}})}"function"==typeof Symbol&&"function"==typeof Symbol.for?(Fi=Symbol.for("graceful-fs.queue"),Li=Symbol.for("graceful-fs.previous")):(Fi="___graceful-fs.queue",Li="___graceful-fs.previous");var Ki=function(){};if(Vi.debuglog?Ki=Vi.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(Ki=function(){var e=Vi.format.apply(Vi,arguments);e="GFS4: "+e.split(/\n/).join("\nGFS4: "),console.error(e)}),!ji[Fi]){var Gi=T[Fi]||[];Ui(ji,Gi),ji.close=function(e){function t(t,n){return e.call(ji,t,(function(e){e||Yi(),"function"==typeof n&&n.apply(this,arguments)}))}return Object.defineProperty(t,Li,{value:e}),t}(ji.close),ji.closeSync=function(e){function t(t){e.apply(ji,arguments),Yi()}return Object.defineProperty(t,Li,{value:e}),t}(ji.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",(function(){Ki(ji[Fi]),S.equal(ji[Fi].length,0)}))}T[Fi]||Ui(T,ji[Fi]);var zi,Bi=Ji(Wi(ji));function Ji(e){$i(e),e.gracefulify=Ji,e.createReadStream=function(t,n){return new e.ReadStream(t,n)},e.createWriteStream=function(t,n){return new e.WriteStream(t,n)};var t=e.readFile;e.readFile=function(e,n,r){"function"==typeof n&&(r=n,n=null);return function e(n,r,i,o){return t(n,r,(function(t){!t||"EMFILE"!==t.code&&"ENFILE"!==t.code?"function"==typeof i&&i.apply(this,arguments):Xi([e,[n,r,i],t,o||Date.now(),Date.now()])}))}(e,n,r)};var n=e.writeFile;e.writeFile=function(e,t,r,i){"function"==typeof r&&(i=r,r=null);return function e(t,r,i,o,s){return n(t,r,i,(function(n){!n||"EMFILE"!==n.code&&"ENFILE"!==n.code?"function"==typeof o&&o.apply(this,arguments):Xi([e,[t,r,i,o],n,s||Date.now(),Date.now()])}))}(e,t,r,i)};var r=e.appendFile;r&&(e.appendFile=function(e,t,n,i){"function"==typeof n&&(i=n,n=null);return function e(t,n,i,o,s){return r(t,n,i,(function(r){!r||"EMFILE"!==r.code&&"ENFILE"!==r.code?"function"==typeof o&&o.apply(this,arguments):Xi([e,[t,n,i,o],r,s||Date.now(),Date.now()])}))}(e,t,n,i)});var i=e.copyFile;i&&(e.copyFile=function(e,t,n,r){"function"==typeof n&&(r=n,n=0);return function e(t,n,r,o,s){return i(t,n,r,(function(i){!i||"EMFILE"!==i.code&&"ENFILE"!==i.code?"function"==typeof o&&o.apply(this,arguments):Xi([e,[t,n,r,o],i,s||Date.now(),Date.now()])}))}(e,t,n,r)});var o=e.readdir;if(e.readdir=function(e,t,n){"function"==typeof t&&(n=t,t=null);return function e(t,n,r,i){return o(t,n,(function(o,s){!o||"EMFILE"!==o.code&&"ENFILE"!==o.code?(s&&s.sort&&s.sort(),"function"==typeof r&&r.call(this,o,s)):Xi([e,[t,n,r],o,i||Date.now(),Date.now()])}))}(e,t,n)},"v0.8"===process.version.substr(0,4)){var s=Hi(e);h=s.ReadStream,d=s.WriteStream}var a=e.ReadStream;a&&(h.prototype=Object.create(a.prototype),h.prototype.open=function(){var e=this;f(e.path,e.flags,e.mode,(function(t,n){t?(e.autoClose&&e.destroy(),e.emit("error",t)):(e.fd=n,e.emit("open",n),e.read())}))});var c=e.WriteStream;c&&(d.prototype=Object.create(c.prototype),d.prototype.open=function(){var e=this;f(e.path,e.flags,e.mode,(function(t,n){t?(e.destroy(),e.emit("error",t)):(e.fd=n,e.emit("open",n))}))}),Object.defineProperty(e,"ReadStream",{get:function(){return h},set:function(e){h=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return d},set:function(e){d=e},enumerable:!0,configurable:!0});var u=h;Object.defineProperty(e,"FileReadStream",{get:function(){return u},set:function(e){u=e},enumerable:!0,configurable:!0});var l=d;function h(e,t){return this instanceof h?(a.apply(this,arguments),this):h.apply(Object.create(h.prototype),arguments)}function d(e,t){return this instanceof d?(c.apply(this,arguments),this):d.apply(Object.create(d.prototype),arguments)}Object.defineProperty(e,"FileWriteStream",{get:function(){return l},set:function(e){l=e},enumerable:!0,configurable:!0});var p=e.open;function f(e,t,n,r){return"function"==typeof n&&(r=n,n=null),function e(t,n,r,i,o){return p(t,n,r,(function(s,a){!s||"EMFILE"!==s.code&&"ENFILE"!==s.code?"function"==typeof i&&i.apply(this,arguments):Xi([e,[t,n,r,i],s,o||Date.now(),Date.now()])}))}(e,t,n,r)}return e.open=f,e}function Xi(e){Ki("ENQUEUE",e[0].name,e[1]),ji[Fi].push(e),Qi()}function Yi(){for(var e=Date.now(),t=0;t<ji[Fi].length;++t)ji[Fi][t].length>2&&(ji[Fi][t][3]=e,ji[Fi][t][4]=e);Qi()}function Qi(){if(clearTimeout(zi),zi=void 0,0!==ji[Fi].length){var e=ji[Fi].shift(),t=e[0],n=e[1],r=e[2],i=e[3],o=e[4];if(void 0===i)Ki("RETRY",t.name,n),t.apply(null,n);else if(Date.now()-i>=6e4){Ki("TIMEOUT",t.name,n);var s=n.pop();"function"==typeof s&&s.call(null,r)}else{var a=Date.now()-o,c=Math.max(o-i,1);a>=Math.min(1.2*c,100)?(Ki("RETRY",t.name,n),t.apply(null,n.concat([i]))):ji[Fi].push(e)}void 0===zi&&(zi=setTimeout(Qi,0))}}process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!ji.__patched&&(Bi=Ji(ji),ji.__patched=!0),function(e){const t=Di.fromCallback,n=Bi,r=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter((e=>"function"==typeof n[e]));Object.assign(e,n),r.forEach((r=>{e[r]=t(n[r])})),e.exists=function(e,t){return"function"==typeof t?n.exists(e,t):new Promise((t=>n.exists(e,t)))},e.read=function(e,t,r,i,o,s){return"function"==typeof s?n.read(e,t,r,i,o,s):new Promise(((s,a)=>{n.read(e,t,r,i,o,((e,t,n)=>{if(e)return a(e);s({bytesRead:t,buffer:n})}))}))},e.write=function(e,t,...r){return"function"==typeof r[r.length-1]?n.write(e,t,...r):new Promise(((i,o)=>{n.write(e,t,...r,((e,t,n)=>{if(e)return o(e);i({bytesWritten:t,buffer:n})}))}))},e.readv=function(e,t,...r){return"function"==typeof r[r.length-1]?n.readv(e,t,...r):new Promise(((i,o)=>{n.readv(e,t,...r,((e,t,n)=>{if(e)return o(e);i({bytesRead:t,buffers:n})}))}))},e.writev=function(e,t,...r){return"function"==typeof r[r.length-1]?n.writev(e,t,...r):new Promise(((i,o)=>{n.writev(e,t,...r,((e,t,n)=>{if(e)return o(e);i({bytesWritten:t,buffers:n})}))}))},"function"==typeof n.realpath.native?e.realpath.native=t(n.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")}(_i);var Zi={},eo={};const to=s;eo.checkPath=function(e){if("win32"===process.platform){if(/[<>:"|?*]/.test(e.replace(to.parse(e).root,""))){const t=new Error(`Path contains invalid characters: ${e}`);throw t.code="EINVAL",t}}};const no=_i,{checkPath:ro}=eo,io=e=>"number"==typeof e?e:{mode:511,...e}.mode;Zi.makeDir=async(e,t)=>(ro(e),no.mkdir(e,{mode:io(t),recursive:!0})),Zi.makeDirSync=(e,t)=>(ro(e),no.mkdirSync(e,{mode:io(t),recursive:!0}));const oo=Di.fromPromise,{makeDir:so,makeDirSync:ao}=Zi,co=oo(so);var uo={mkdirs:co,mkdirsSync:ao,mkdirp:co,mkdirpSync:ao,ensureDir:co,ensureDirSync:ao};const lo=Di.fromPromise,ho=_i;var po={pathExists:lo((function(e){return ho.access(e).then((()=>!0)).catch((()=>!1))})),pathExistsSync:ho.existsSync};const fo=Bi;var mo=function(e,t,n,r){fo.open(e,"r+",((e,i)=>{if(e)return r(e);fo.futimes(i,t,n,(e=>{fo.close(i,(t=>{r&&r(e||t)}))}))}))},go=function(e,t,n){const r=fo.openSync(e,"r+");return fo.futimesSync(r,t,n),fo.closeSync(r)};const yo=_i,vo=s,bo=u;function So(e,t,n){const r=n.dereference?e=>yo.stat(e,{bigint:!0}):e=>yo.lstat(e,{bigint:!0});return Promise.all([r(e),r(t).catch((e=>{if("ENOENT"===e.code)return null;throw e}))]).then((([e,t])=>({srcStat:e,destStat:t})))}function wo(e,t){return t.ino&&t.dev&&t.ino===e.ino&&t.dev===e.dev}function Ro(e,t){const n=vo.resolve(e).split(vo.sep).filter((e=>e)),r=vo.resolve(t).split(vo.sep).filter((e=>e));return n.reduce(((e,t,n)=>e&&r[n]===t),!0)}function Co(e,t,n){return`Cannot ${n} '${e}' to a subdirectory of itself, '${t}'.`}var Eo={checkPaths:function(e,t,n,r,i){bo.callbackify(So)(e,t,r,((r,o)=>{if(r)return i(r);const{srcStat:s,destStat:a}=o;if(a){if(wo(s,a)){const r=vo.basename(e),o=vo.basename(t);return"move"===n&&r!==o&&r.toLowerCase()===o.toLowerCase()?i(null,{srcStat:s,destStat:a,isChangingCase:!0}):i(new Error("Source and destination must not be the same."))}if(s.isDirectory()&&!a.isDirectory())return i(new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`));if(!s.isDirectory()&&a.isDirectory())return i(new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`))}return s.isDirectory()&&Ro(e,t)?i(new Error(Co(e,t,n))):i(null,{srcStat:s,destStat:a})}))},checkPathsSync:function(e,t,n,r){const{srcStat:i,destStat:o}=function(e,t,n){let r;const i=n.dereference?e=>yo.statSync(e,{bigint:!0}):e=>yo.lstatSync(e,{bigint:!0}),o=i(e);try{r=i(t)}catch(e){if("ENOENT"===e.code)return{srcStat:o,destStat:null};throw e}return{srcStat:o,destStat:r}}(e,t,r);if(o){if(wo(i,o)){const r=vo.basename(e),s=vo.basename(t);if("move"===n&&r!==s&&r.toLowerCase()===s.toLowerCase())return{srcStat:i,destStat:o,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!o.isDirectory())throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`);if(!i.isDirectory()&&o.isDirectory())throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}if(i.isDirectory()&&Ro(e,t))throw new Error(Co(e,t,n));return{srcStat:i,destStat:o}},checkParentPaths:function e(t,n,r,i,o){const s=vo.resolve(vo.dirname(t)),a=vo.resolve(vo.dirname(r));if(a===s||a===vo.parse(a).root)return o();yo.stat(a,{bigint:!0},((s,c)=>s?"ENOENT"===s.code?o():o(s):wo(n,c)?o(new Error(Co(t,r,i))):e(t,n,a,i,o)))},checkParentPathsSync:function e(t,n,r,i){const o=vo.resolve(vo.dirname(t)),s=vo.resolve(vo.dirname(r));if(s===o||s===vo.parse(s).root)return;let a;try{a=yo.statSync(s,{bigint:!0})}catch(e){if("ENOENT"===e.code)return;throw e}if(wo(n,a))throw new Error(Co(t,r,i));return e(t,n,s,i)},isSrcSubdir:Ro,areIdentical:wo};const _o=Bi,Do=s,To=uo.mkdirs,ko=po.pathExists,xo=mo,Po=Eo;function Oo(e,t,n,r){if(!n.filter)return r(null,!0);Promise.resolve(n.filter(e,t)).then((e=>r(null,e)),(e=>r(e)))}function No(e,t,n,r,i){(r.dereference?_o.stat:_o.lstat)(t,((o,s)=>o?i(o):s.isDirectory()?function(e,t,n,r,i,o){return t?Mo(n,r,i,o):function(e,t,n,r,i){_o.mkdir(n,(o=>{if(o)return i(o);Mo(t,n,r,(t=>t?i(t):Ao(n,e,i)))}))}(e.mode,n,r,i,o)}(s,e,t,n,r,i):s.isFile()||s.isCharacterDevice()||s.isBlockDevice()?function(e,t,n,r,i,o){return t?function(e,t,n,r,i){if(!r.overwrite)return r.errorOnExist?i(new Error(`'${n}' already exists`)):i();_o.unlink(n,(o=>o?i(o):qo(e,t,n,r,i)))}(e,n,r,i,o):qo(e,n,r,i,o)}(s,e,t,n,r,i):s.isSymbolicLink()?function(e,t,n,r,i){_o.readlink(t,((t,o)=>t?i(t):(r.dereference&&(o=Do.resolve(process.cwd(),o)),e?void _o.readlink(n,((e,t)=>e?"EINVAL"===e.code||"UNKNOWN"===e.code?_o.symlink(o,n,i):i(e):(r.dereference&&(t=Do.resolve(process.cwd(),t)),Po.isSrcSubdir(o,t)?i(new Error(`Cannot copy '${o}' to a subdirectory of itself, '${t}'.`)):Po.isSrcSubdir(t,o)?i(new Error(`Cannot overwrite '${t}' with '${o}'.`)):function(e,t,n){_o.unlink(t,(r=>r?n(r):_o.symlink(e,t,n)))}(o,n,i)))):_o.symlink(o,n,i))))}(e,t,n,r,i):s.isSocket()?i(new Error(`Cannot copy a socket file: ${t}`)):s.isFIFO()?i(new Error(`Cannot copy a FIFO pipe: ${t}`)):i(new Error(`Unknown file: ${t}`))))}function qo(e,t,n,r,i){_o.copyFile(t,n,(o=>o?i(o):r.preserveTimestamps?function(e,t,n,r){if(function(e){return 0==(128&e)}(e))return function(e,t,n){return Ao(e,128|t,n)}(n,e,(i=>i?r(i):Io(e,t,n,r)));return Io(e,t,n,r)}(e.mode,t,n,i):Ao(n,e.mode,i)))}function Io(e,t,n,r){!function(e,t,n){_o.stat(e,((e,r)=>e?n(e):xo(t,r.atime,r.mtime,n)))}(t,n,(t=>t?r(t):Ao(n,e,r)))}function Ao(e,t,n){return _o.chmod(e,t,n)}function Mo(e,t,n,r){_o.readdir(e,((i,o)=>i?r(i):Fo(o,e,t,n,r)))}function Fo(e,t,n,r,i){const o=e.pop();return o?function(e,t,n,r,i,o){const s=Do.join(n,t),a=Do.join(r,t);Oo(s,a,i,((t,c)=>t?o(t):c?void Po.checkPaths(s,a,"copy",i,((t,c)=>{if(t)return o(t);const{destStat:u}=c;No(u,s,a,i,(t=>t?o(t):Fo(e,n,r,i,o)))})):Fo(e,n,r,i,o)))}(e,o,t,n,r,i):i()}var Lo=function(e,t,n,r){"function"!=typeof n||r?"function"==typeof n&&(n={filter:n}):(r=n,n={}),r=r||function(){},(n=n||{}).clobber=!("clobber"in n)||!!n.clobber,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&"ia32"===process.arch&&process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0001"),Po.checkPaths(e,t,"copy",n,((i,o)=>{if(i)return r(i);const{srcStat:s,destStat:a}=o;Po.checkParentPaths(e,s,t,"copy",(i=>{if(i)return r(i);Oo(e,t,n,((i,o)=>i?r(i):o?void function(e,t,n,r,i){const o=Do.dirname(n);ko(o,((s,a)=>s?i(s):a?No(e,t,n,r,i):void To(o,(o=>o?i(o):No(e,t,n,r,i)))))}(a,e,t,n,r):r()))}))}))};const jo=Bi,$o=s,Ho=uo.mkdirsSync,Wo=go,Vo=Eo;function Uo(e,t,n,r){const i=(r.dereference?jo.statSync:jo.lstatSync)(t);if(i.isDirectory())return function(e,t,n,r,i){return t?zo(n,r,i):function(e,t,n,r){return jo.mkdirSync(n),zo(t,n,r),Go(n,e)}(e.mode,n,r,i)}(i,e,t,n,r);if(i.isFile()||i.isCharacterDevice()||i.isBlockDevice())return function(e,t,n,r,i){return t?function(e,t,n,r){if(r.overwrite)return jo.unlinkSync(n),Ko(e,t,n,r);if(r.errorOnExist)throw new Error(`'${n}' already exists`)}(e,n,r,i):Ko(e,n,r,i)}(i,e,t,n,r);if(i.isSymbolicLink())return function(e,t,n,r){let i=jo.readlinkSync(t);r.dereference&&(i=$o.resolve(process.cwd(),i));if(e){let e;try{e=jo.readlinkSync(n)}catch(e){if("EINVAL"===e.code||"UNKNOWN"===e.code)return jo.symlinkSync(i,n);throw e}if(r.dereference&&(e=$o.resolve(process.cwd(),e)),Vo.isSrcSubdir(i,e))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${e}'.`);if(Vo.isSrcSubdir(e,i))throw new Error(`Cannot overwrite '${e}' with '${i}'.`);return function(e,t){return jo.unlinkSync(t),jo.symlinkSync(e,t)}(i,n)}return jo.symlinkSync(i,n)}(e,t,n,r);if(i.isSocket())throw new Error(`Cannot copy a socket file: ${t}`);if(i.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${t}`);throw new Error(`Unknown file: ${t}`)}function Ko(e,t,n,r){return jo.copyFileSync(t,n),r.preserveTimestamps&&function(e,t,n){(function(e){return 0==(128&e)})(e)&&function(e,t){Go(e,128|t)}(n,e);(function(e,t){const n=jo.statSync(e);Wo(t,n.atime,n.mtime)})(t,n)}(e.mode,t,n),Go(n,e.mode)}function Go(e,t){return jo.chmodSync(e,t)}function zo(e,t,n){jo.readdirSync(e).forEach((r=>function(e,t,n,r){const i=$o.join(t,e),o=$o.join(n,e);if(r.filter&&!r.filter(i,o))return;const{destStat:s}=Vo.checkPathsSync(i,o,"copy",r);return Uo(s,i,o,r)}(r,e,t,n)))}var Bo=function(e,t,n){"function"==typeof n&&(n={filter:n}),(n=n||{}).clobber=!("clobber"in n)||!!n.clobber,n.overwrite="overwrite"in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&"ia32"===process.arch&&process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0002");const{srcStat:r,destStat:i}=Vo.checkPathsSync(e,t,"copy",n);if(Vo.checkParentPathsSync(e,r,t,"copy"),n.filter&&!n.filter(e,t))return;const o=$o.dirname(t);return jo.existsSync(o)||Ho(o),Uo(i,e,t,n)};var Jo={copy:(0,Di.fromCallback)(Lo),copySync:Bo};const Xo=Bi;var Yo={remove:(0,Di.fromCallback)((function(e,t){Xo.rm(e,{recursive:!0,force:!0},t)})),removeSync:function(e){Xo.rmSync(e,{recursive:!0,force:!0})}};const Qo=Di.fromPromise,Zo=_i,es=s,ts=uo,ns=Yo,rs=Qo((async function(e){let t;try{t=await Zo.readdir(e)}catch{return ts.mkdirs(e)}return Promise.all(t.map((t=>ns.remove(es.join(e,t)))))}));function is(e){let t;try{t=Zo.readdirSync(e)}catch{return ts.mkdirsSync(e)}t.forEach((t=>{t=es.join(e,t),ns.removeSync(t)}))}var os={emptyDirSync:is,emptydirSync:is,emptyDir:rs,emptydir:rs};const ss=Di.fromCallback,as=s,cs=Bi,us=uo;var ls={createFile:ss((function(e,t){function n(){cs.writeFile(e,"",(e=>{if(e)return t(e);t()}))}cs.stat(e,((r,i)=>{if(!r&&i.isFile())return t();const o=as.dirname(e);cs.stat(o,((e,r)=>{if(e)return"ENOENT"===e.code?us.mkdirs(o,(e=>{if(e)return t(e);n()})):t(e);r.isDirectory()?n():cs.readdir(o,(e=>{if(e)return t(e)}))}))}))})),createFileSync:function(e){let t;try{t=cs.statSync(e)}catch{}if(t&&t.isFile())return;const n=as.dirname(e);try{cs.statSync(n).isDirectory()||cs.readdirSync(n)}catch(e){if(!e||"ENOENT"!==e.code)throw e;us.mkdirsSync(n)}cs.writeFileSync(e,"")}};const hs=Di.fromCallback,ds=s,ps=Bi,fs=uo,ms=po.pathExists,{areIdentical:gs}=Eo;var ys={createLink:hs((function(e,t,n){function r(e,t){ps.link(e,t,(e=>{if(e)return n(e);n(null)}))}ps.lstat(t,((i,o)=>{ps.lstat(e,((i,s)=>{if(i)return i.message=i.message.replace("lstat","ensureLink"),n(i);if(o&&gs(s,o))return n(null);const a=ds.dirname(t);ms(a,((i,o)=>i?n(i):o?r(e,t):void fs.mkdirs(a,(i=>{if(i)return n(i);r(e,t)}))))}))}))})),createLinkSync:function(e,t){let n;try{n=ps.lstatSync(t)}catch{}try{const t=ps.lstatSync(e);if(n&&gs(t,n))return}catch(e){throw e.message=e.message.replace("lstat","ensureLink"),e}const r=ds.dirname(t);return ps.existsSync(r)||fs.mkdirsSync(r),ps.linkSync(e,t)}};const vs=s,bs=Bi,Ss=po.pathExists;var ws={symlinkPaths:function(e,t,n){if(vs.isAbsolute(e))return bs.lstat(e,(t=>t?(t.message=t.message.replace("lstat","ensureSymlink"),n(t)):n(null,{toCwd:e,toDst:e})));{const r=vs.dirname(t),i=vs.join(r,e);return Ss(i,((t,o)=>t?n(t):o?n(null,{toCwd:i,toDst:e}):bs.lstat(e,(t=>t?(t.message=t.message.replace("lstat","ensureSymlink"),n(t)):n(null,{toCwd:e,toDst:vs.relative(r,e)})))))}},symlinkPathsSync:function(e,t){let n;if(vs.isAbsolute(e)){if(n=bs.existsSync(e),!n)throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}{const r=vs.dirname(t),i=vs.join(r,e);if(n=bs.existsSync(i),n)return{toCwd:i,toDst:e};if(n=bs.existsSync(e),!n)throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:vs.relative(r,e)}}}};const Rs=Bi;var Cs={symlinkType:function(e,t,n){if(n="function"==typeof t?t:n,t="function"!=typeof t&&t)return n(null,t);Rs.lstat(e,((e,r)=>{if(e)return n(null,"file");t=r&&r.isDirectory()?"dir":"file",n(null,t)}))},symlinkTypeSync:function(e,t){let n;if(t)return t;try{n=Rs.lstatSync(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}};const Es=Di.fromCallback,_s=s,Ds=_i,Ts=uo.mkdirs,ks=uo.mkdirsSync,xs=ws.symlinkPaths,Ps=ws.symlinkPathsSync,Os=Cs.symlinkType,Ns=Cs.symlinkTypeSync,qs=po.pathExists,{areIdentical:Is}=Eo;function As(e,t,n,r){xs(e,t,((i,o)=>{if(i)return r(i);e=o.toDst,Os(o.toCwd,n,((n,i)=>{if(n)return r(n);const o=_s.dirname(t);qs(o,((n,s)=>n?r(n):s?Ds.symlink(e,t,i,r):void Ts(o,(n=>{if(n)return r(n);Ds.symlink(e,t,i,r)}))))}))}))}var Ms={createSymlink:Es((function(e,t,n,r){r="function"==typeof n?n:r,n="function"!=typeof n&&n,Ds.lstat(t,((i,o)=>{!i&&o.isSymbolicLink()?Promise.all([Ds.stat(e),Ds.stat(t)]).then((([i,o])=>{if(Is(i,o))return r(null);As(e,t,n,r)})):As(e,t,n,r)}))})),createSymlinkSync:function(e,t,n){let r;try{r=Ds.lstatSync(t)}catch{}if(r&&r.isSymbolicLink()){const n=Ds.statSync(e),r=Ds.statSync(t);if(Is(n,r))return}const i=Ps(e,t);e=i.toDst,n=Ns(i.toCwd,n);const o=_s.dirname(t);return Ds.existsSync(o)||ks(o),Ds.symlinkSync(e,t,n)}};const{createFile:Fs,createFileSync:Ls}=ls,{createLink:js,createLinkSync:$s}=ys,{createSymlink:Hs,createSymlinkSync:Ws}=Ms;var Vs,Us,Ks,Gs,zs,Bs,Js,Xs,Ys={createFile:Fs,createFileSync:Ls,ensureFile:Fs,ensureFileSync:Ls,createLink:js,createLinkSync:$s,ensureLink:js,ensureLinkSync:$s,createSymlink:Hs,createSymlinkSync:Ws,ensureSymlink:Hs,ensureSymlinkSync:Ws};function Qs(){if(Us)return Vs;Us=1;var e=v,t=process.cwd,n=null,r=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return n||(n=t.call(process)),n};try{process.cwd()}catch(e){}if("function"==typeof process.chdir){var i=process.chdir;process.chdir=function(e){n=null,i.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,i)}return Vs=function(t){e.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&function(t){t.lchmod=function(n,r,i){t.open(n,e.O_WRONLY|e.O_SYMLINK,r,(function(e,n){e?i&&i(e):t.fchmod(n,r,(function(e){t.close(n,(function(t){i&&i(e||t)}))}))}))},t.lchmodSync=function(n,r){var i,o=t.openSync(n,e.O_WRONLY|e.O_SYMLINK,r),s=!0;try{i=t.fchmodSync(o,r),s=!1}finally{if(s)try{t.closeSync(o)}catch(e){}else t.closeSync(o)}return i}}(t);t.lutimes||function(t){e.hasOwnProperty("O_SYMLINK")?(t.lutimes=function(n,r,i,o){t.open(n,e.O_SYMLINK,(function(e,n){e?o&&o(e):t.futimes(n,r,i,(function(e){t.close(n,(function(t){o&&o(e||t)}))}))}))},t.lutimesSync=function(n,r,i){var o,s=t.openSync(n,e.O_SYMLINK),a=!0;try{o=t.futimesSync(s,r,i),a=!1}finally{if(a)try{t.closeSync(s)}catch(e){}else t.closeSync(s)}return o}):(t.lutimes=function(e,t,n,r){r&&process.nextTick(r)},t.lutimesSync=function(){})}(t);t.chown=s(t.chown),t.fchown=s(t.fchown),t.lchown=s(t.lchown),t.chmod=i(t.chmod),t.fchmod=i(t.fchmod),t.lchmod=i(t.lchmod),t.chownSync=a(t.chownSync),t.fchownSync=a(t.fchownSync),t.lchownSync=a(t.lchownSync),t.chmodSync=o(t.chmodSync),t.fchmodSync=o(t.fchmodSync),t.lchmodSync=o(t.lchmodSync),t.stat=c(t.stat),t.fstat=c(t.fstat),t.lstat=c(t.lstat),t.statSync=u(t.statSync),t.fstatSync=u(t.fstatSync),t.lstatSync=u(t.lstatSync),t.lchmod||(t.lchmod=function(e,t,n){n&&process.nextTick(n)},t.lchmodSync=function(){});t.lchown||(t.lchown=function(e,t,n,r){r&&process.nextTick(r)},t.lchownSync=function(){});"win32"===r&&(t.rename=(n=t.rename,function(e,r,i){var o=Date.now(),s=0;n(e,r,(function a(c){if(c&&("EACCES"===c.code||"EPERM"===c.code)&&Date.now()-o<6e4)return setTimeout((function(){t.stat(r,(function(t,o){t&&"ENOENT"===t.code?n(e,r,a):i(c)}))}),s),void(s<100&&(s+=10));i&&i(c)}))}));var n;function i(e){return e?function(n,r,i){return e.call(t,n,r,(function(e){l(e)&&(e=null),i&&i.apply(this,arguments)}))}:e}function o(e){return e?function(n,r){try{return e.call(t,n,r)}catch(e){if(!l(e))throw e}}:e}function s(e){return e?function(n,r,i,o){return e.call(t,n,r,i,(function(e){l(e)&&(e=null),o&&o.apply(this,arguments)}))}:e}function a(e){return e?function(n,r,i){try{return e.call(t,n,r,i)}catch(e){if(!l(e))throw e}}:e}function c(e){return e?function(n,r,i){function o(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return"function"==typeof r&&(i=r,r=null),r?e.call(t,n,r,o):e.call(t,n,o)}:e}function u(e){return e?function(n,r){var i=r?e.call(t,n,r):e.call(t,n);return i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296),i}:e}function l(e){return!e||("ENOSYS"===e.code||!(process.getuid&&0===process.getuid()||"EINVAL"!==e.code&&"EPERM"!==e.code))}t.read=function(e){function n(n,r,i,o,s,a){var c;if(a&&"function"==typeof a){var u=0;c=function(l,h,d){if(l&&"EAGAIN"===l.code&&u<10)return u++,e.call(t,n,r,i,o,s,c);a.apply(this,arguments)}}return e.call(t,n,r,i,o,s,c)}return Object.setPrototypeOf&&Object.setPrototypeOf(n,e),n}(t.read),t.readSync=(h=t.readSync,function(e,n,r,i,o){for(var s=0;;)try{return h.call(t,e,n,r,i,o)}catch(e){if("EAGAIN"===e.code&&s<10){s++;continue}throw e}});var h},Vs}var Zs={stringify:function(e,{EOL:t="\n",finalEOL:n=!0,replacer:r=null,spaces:i}={}){const o=n?t:"";return JSON.stringify(e,r,i).replace(/\n/g,t)+o},stripBom:function(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}};let ea;try{ea=function(){if(Xs)return Js;Xs=1;var e,t,n=a,r=Qs(),i=function(){if(Gs)return Ks;Gs=1;var e=b.Stream;return Ks=function(t){return{ReadStream:function n(r,i){if(!(this instanceof n))return new n(r,i);e.call(this);var o=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,i=i||{};for(var s=Object.keys(i),a=0,c=s.length;a<c;a++){var u=s[a];this[u]=i[u]}if(this.encoding&&this.setEncoding(this.encoding),void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(void 0===this.end)this.end=1/0;else if("number"!=typeof this.end)throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}null===this.fd?t.open(this.path,this.flags,this.mode,(function(e,t){if(e)return o.emit("error",e),void(o.readable=!1);o.fd=t,o.emit("open",t),o._read()})):process.nextTick((function(){o._read()}))},WriteStream:function n(r,i){if(!(this instanceof n))return new n(r,i);e.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var o=Object.keys(i),s=0,a=o.length;s<a;s++){var c=o[s];this[c]=i[c]}if(void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],null===this.fd&&(this._open=t.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}},Ks}(),o=function(){if(Bs)return zs;Bs=1,zs=function(t){if(null===t||"object"!=typeof t)return t;if(t instanceof Object)var n={__proto__:e(t)};else n=Object.create(null);return Object.getOwnPropertyNames(t).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})),n};var e=Object.getPrototypeOf||function(e){return e.__proto__};return zs}(),s=u;function c(t,n){Object.defineProperty(t,e,{get:function(){return n}})}"function"==typeof Symbol&&"function"==typeof Symbol.for?(e=Symbol.for("graceful-fs.queue"),t=Symbol.for("graceful-fs.previous")):(e="___graceful-fs.queue",t="___graceful-fs.previous");var l,h=function(){};if(s.debuglog?h=s.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(h=function(){var e=s.format.apply(s,arguments);e="GFS4: "+e.split(/\n/).join("\nGFS4: "),console.error(e)}),!n[e]){var d=T[e]||[];c(n,d),n.close=function(e){function r(t,r){return e.call(n,t,(function(e){e||m(),"function"==typeof r&&r.apply(this,arguments)}))}return Object.defineProperty(r,t,{value:e}),r}(n.close),n.closeSync=function(e){function r(t){e.apply(n,arguments),m()}return Object.defineProperty(r,t,{value:e}),r}(n.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",(function(){h(n[e]),S.equal(n[e].length,0)}))}function p(e){r(e),e.gracefulify=p,e.createReadStream=function(t,n){return new e.ReadStream(t,n)},e.createWriteStream=function(t,n){return new e.WriteStream(t,n)};var t=e.readFile;e.readFile=function(e,n,r){return"function"==typeof n&&(r=n,n=null),function e(n,r,i,o){return t(n,r,(function(t){!t||"EMFILE"!==t.code&&"ENFILE"!==t.code?"function"==typeof i&&i.apply(this,arguments):f([e,[n,r,i],t,o||Date.now(),Date.now()])}))}(e,n,r)};var n=e.writeFile;e.writeFile=function(e,t,r,i){return"function"==typeof r&&(i=r,r=null),function e(t,r,i,o,s){return n(t,r,i,(function(n){!n||"EMFILE"!==n.code&&"ENFILE"!==n.code?"function"==typeof o&&o.apply(this,arguments):f([e,[t,r,i,o],n,s||Date.now(),Date.now()])}))}(e,t,r,i)};var o=e.appendFile;o&&(e.appendFile=function(e,t,n,r){return"function"==typeof n&&(r=n,n=null),function e(t,n,r,i,s){return o(t,n,r,(function(o){!o||"EMFILE"!==o.code&&"ENFILE"!==o.code?"function"==typeof i&&i.apply(this,arguments):f([e,[t,n,r,i],o,s||Date.now(),Date.now()])}))}(e,t,n,r)});var s=e.copyFile;s&&(e.copyFile=function(e,t,n,r){return"function"==typeof n&&(r=n,n=0),function e(t,n,r,i,o){return s(t,n,r,(function(s){!s||"EMFILE"!==s.code&&"ENFILE"!==s.code?"function"==typeof i&&i.apply(this,arguments):f([e,[t,n,r,i],s,o||Date.now(),Date.now()])}))}(e,t,n,r)});var a=e.readdir;if(e.readdir=function(e,t,n){return"function"==typeof t&&(n=t,t=null),function e(t,n,r,i){return a(t,n,(function(o,s){!o||"EMFILE"!==o.code&&"ENFILE"!==o.code?(s&&s.sort&&s.sort(),"function"==typeof r&&r.call(this,o,s)):f([e,[t,n,r],o,i||Date.now(),Date.now()])}))}(e,t,n)},"v0.8"===process.version.substr(0,4)){var c=i(e);m=c.ReadStream,g=c.WriteStream}var u=e.ReadStream;u&&(m.prototype=Object.create(u.prototype),m.prototype.open=function(){var e=this;v(e.path,e.flags,e.mode,(function(t,n){t?(e.autoClose&&e.destroy(),e.emit("error",t)):(e.fd=n,e.emit("open",n),e.read())}))});var l=e.WriteStream;l&&(g.prototype=Object.create(l.prototype),g.prototype.open=function(){var e=this;v(e.path,e.flags,e.mode,(function(t,n){t?(e.destroy(),e.emit("error",t)):(e.fd=n,e.emit("open",n))}))}),Object.defineProperty(e,"ReadStream",{get:function(){return m},set:function(e){m=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return g},set:function(e){g=e},enumerable:!0,configurable:!0});var h=m;Object.defineProperty(e,"FileReadStream",{get:function(){return h},set:function(e){h=e},enumerable:!0,configurable:!0});var d=g;function m(e,t){return this instanceof m?(u.apply(this,arguments),this):m.apply(Object.create(m.prototype),arguments)}function g(e,t){return this instanceof g?(l.apply(this,arguments),this):g.apply(Object.create(g.prototype),arguments)}Object.defineProperty(e,"FileWriteStream",{get:function(){return d},set:function(e){d=e},enumerable:!0,configurable:!0});var y=e.open;function v(e,t,n,r){return"function"==typeof n&&(r=n,n=null),function e(t,n,r,i,o){return y(t,n,r,(function(s,a){!s||"EMFILE"!==s.code&&"ENFILE"!==s.code?"function"==typeof i&&i.apply(this,arguments):f([e,[t,n,r,i],s,o||Date.now(),Date.now()])}))}(e,t,n,r)}return e.open=v,e}function f(t){h("ENQUEUE",t[0].name,t[1]),n[e].push(t),g()}function m(){for(var t=Date.now(),r=0;r<n[e].length;++r)n[e][r].length>2&&(n[e][r][3]=t,n[e][r][4]=t);g()}function g(){if(clearTimeout(l),l=void 0,0!==n[e].length){var t=n[e].shift(),r=t[0],i=t[1],o=t[2],s=t[3],a=t[4];if(void 0===s)h("RETRY",r.name,i),r.apply(null,i);else if(Date.now()-s>=6e4){h("TIMEOUT",r.name,i);var c=i.pop();"function"==typeof c&&c.call(null,o)}else{var u=Date.now()-a,d=Math.max(a-s,1);u>=Math.min(1.2*d,100)?(h("RETRY",r.name,i),r.apply(null,i.concat([s]))):n[e].push(t)}void 0===l&&(l=setTimeout(g,0))}}return T[e]||c(T,n[e]),Js=p(o(n)),process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!n.__patched&&(Js=p(n),n.__patched=!0),Js}()}catch(e){ea=a}const ta=Di,{stringify:na,stripBom:ra}=Zs;const ia=ta.fromPromise((async function(e,t={}){"string"==typeof t&&(t={encoding:t});const n=t.fs||ea,r=!("throws"in t)||t.throws;let i,o=await ta.fromCallback(n.readFile)(e,t);o=ra(o);try{i=JSON.parse(o,t?t.reviver:null)}catch(t){if(r)throw t.message=`${e}: ${t.message}`,t;return null}return i}));const oa=ta.fromPromise((async function(e,t,n={}){const r=n.fs||ea,i=na(t,n);await ta.fromCallback(r.writeFile)(e,i,n)}));const sa={readFile:ia,readFileSync:function(e,t={}){"string"==typeof t&&(t={encoding:t});const n=t.fs||ea,r=!("throws"in t)||t.throws;try{let r=n.readFileSync(e,t);return r=ra(r),JSON.parse(r,t.reviver)}catch(t){if(r)throw t.message=`${e}: ${t.message}`,t;return null}},writeFile:oa,writeFileSync:function(e,t,n={}){const r=n.fs||ea,i=na(t,n);return r.writeFileSync(e,i,n)}};var aa={readJson:sa.readFile,readJsonSync:sa.readFileSync,writeJson:sa.writeFile,writeJsonSync:sa.writeFileSync};const ca=Di.fromCallback,ua=Bi,la=s,ha=uo,da=po.pathExists;var pa={outputFile:ca((function(e,t,n,r){"function"==typeof n&&(r=n,n="utf8");const i=la.dirname(e);da(i,((o,s)=>o?r(o):s?ua.writeFile(e,t,n,r):void ha.mkdirs(i,(i=>{if(i)return r(i);ua.writeFile(e,t,n,r)}))))})),outputFileSync:function(e,...t){const n=la.dirname(e);if(ua.existsSync(n))return ua.writeFileSync(e,...t);ha.mkdirsSync(n),ua.writeFileSync(e,...t)}};const{stringify:fa}=Zs,{outputFile:ma}=pa;var ga=async function(e,t,n={}){const r=fa(t,n);await ma(e,r,n)};const{stringify:ya}=Zs,{outputFileSync:va}=pa;var ba=function(e,t,n){const r=ya(t,n);va(e,r,n)};const Sa=Di.fromPromise,wa=aa;wa.outputJson=Sa(ga),wa.outputJsonSync=ba,wa.outputJSON=wa.outputJson,wa.outputJSONSync=wa.outputJsonSync,wa.writeJSON=wa.writeJson,wa.writeJSONSync=wa.writeJsonSync,wa.readJSON=wa.readJson,wa.readJSONSync=wa.readJsonSync;var Ra=wa;const Ca=Bi,Ea=s,_a=Jo.copy,Da=Yo.remove,Ta=uo.mkdirp,ka=po.pathExists,xa=Eo;function Pa(e,t,n,r,i){return r?Oa(e,t,n,i):n?Da(t,(r=>r?i(r):Oa(e,t,n,i))):void ka(t,((r,o)=>r?i(r):o?i(new Error("dest already exists.")):Oa(e,t,n,i)))}function Oa(e,t,n,r){Ca.rename(e,t,(i=>i?"EXDEV"!==i.code?r(i):function(e,t,n,r){const i={overwrite:n,errorOnExist:!0,preserveTimestamps:!0};_a(e,t,i,(t=>t?r(t):Da(e,r)))}(e,t,n,r):r()))}var Na=function(e,t,n,r){"function"==typeof n&&(r=n,n={});const i=(n=n||{}).overwrite||n.clobber||!1;xa.checkPaths(e,t,"move",n,((n,o)=>{if(n)return r(n);const{srcStat:s,isChangingCase:a=!1}=o;xa.checkParentPaths(e,s,t,"move",(n=>n?r(n):function(e){const t=Ea.dirname(e);return Ea.parse(t).root===t}(t)?Pa(e,t,i,a,r):void Ta(Ea.dirname(t),(n=>n?r(n):Pa(e,t,i,a,r)))))}))};const qa=Bi,Ia=s,Aa=Jo.copySync,Ma=Yo.removeSync,Fa=uo.mkdirpSync,La=Eo;function ja(e,t,n){try{qa.renameSync(e,t)}catch(r){if("EXDEV"!==r.code)throw r;return function(e,t,n){const r={overwrite:n,errorOnExist:!0,preserveTimestamps:!0};return Aa(e,t,r),Ma(e)}(e,t,n)}}var $a=function(e,t,n){const r=(n=n||{}).overwrite||n.clobber||!1,{srcStat:i,isChangingCase:o=!1}=La.checkPathsSync(e,t,"move",n);return La.checkParentPathsSync(e,i,t,"move"),function(e){const t=Ia.dirname(e);return Ia.parse(t).root===t}(t)||Fa(Ia.dirname(t)),function(e,t,n,r){if(r)return ja(e,t,n);if(n)return Ma(t),ja(e,t,n);if(qa.existsSync(t))throw new Error("dest already exists.");return ja(e,t,n)}(e,t,r,o)};var Ha={move:(0,Di.fromCallback)(Na),moveSync:$a};const Wa={..._i,...Jo,...os,...Ys,...Ra,...uo,...Ha,...pa,...po,...Yo},Va=(e,t,n={})=>{if(!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let r,i,o=[];return function(...s){return new Promise((a=>{const c=n.before&&!i;clearTimeout(i),i=setTimeout((()=>{i=null;const t=n.before?r:e.apply(this,s);for(a of o)a(t);o=[]}),t),c?(r=e.apply(this,s),a(r)):o.push(a)}))}};Va.promise=e=>{let t;return async function(...n){if(t)return t;try{return t=e.apply(this,n),await t}finally{t=void 0}}};var Ua={},Ka={get exports(){return Ua},set exports(e){Ua=e}};var Ga={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16};var za="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=Ga,r=za,i=(t=e.exports={}).re=[],o=t.src=[],s=t.t={};let a=0;const c=(e,t,n)=>{const c=a++;r(e,c,t),s[e]=c,o[c]=t,i[c]=new RegExp(t,n?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${o[s.NUMERICIDENTIFIER]})\\.(${o[s.NUMERICIDENTIFIER]})\\.(${o[s.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${o[s.NUMERICIDENTIFIERLOOSE]})\\.(${o[s.NUMERICIDENTIFIERLOOSE]})\\.(${o[s.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${o[s.NUMERICIDENTIFIER]}|${o[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${o[s.NUMERICIDENTIFIERLOOSE]}|${o[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${o[s.PRERELEASEIDENTIFIER]}(?:\\.${o[s.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${o[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${o[s.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${o[s.BUILDIDENTIFIER]}(?:\\.${o[s.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${o[s.MAINVERSION]}${o[s.PRERELEASE]}?${o[s.BUILD]}?`),c("FULL",`^${o[s.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${o[s.MAINVERSIONLOOSE]}${o[s.PRERELEASELOOSE]}?${o[s.BUILD]}?`),c("LOOSE",`^${o[s.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${o[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${o[s.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${o[s.XRANGEIDENTIFIER]})(?:\\.(${o[s.XRANGEIDENTIFIER]})(?:\\.(${o[s.XRANGEIDENTIFIER]})(?:${o[s.PRERELEASE]})?${o[s.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${o[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[s.XRANGEIDENTIFIERLOOSE]})(?:${o[s.PRERELEASELOOSE]})?${o[s.BUILD]}?)?)?`),c("XRANGE",`^${o[s.GTLT]}\\s*${o[s.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${o[s.GTLT]}\\s*${o[s.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?(?:$|[^\\d])`),c("COERCERTL",o[s.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${o[s.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",c("TILDE",`^${o[s.LONETILDE]}${o[s.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${o[s.LONETILDE]}${o[s.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${o[s.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",c("CARET",`^${o[s.LONECARET]}${o[s.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${o[s.LONECARET]}${o[s.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${o[s.GTLT]}\\s*(${o[s.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${o[s.GTLT]}\\s*(${o[s.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${o[s.GTLT]}\\s*(${o[s.LOOSEPLAIN]}|${o[s.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${o[s.XRANGEPLAIN]})\\s+-\\s+(${o[s.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${o[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${o[s.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(Ka,Ua);const Ba=["includePrerelease","loose","rtl"];var Ja=e=>e?"object"!=typeof e?{loose:!0}:Ba.filter((t=>e[t])).reduce(((e,t)=>(e[t]=!0,e)),{}):{};const Xa=/^[0-9]+$/,Ya=(e,t)=>{const n=Xa.test(e),r=Xa.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e<t?-1:1};var Qa={compareIdentifiers:Ya,rcompareIdentifiers:(e,t)=>Ya(t,e)};const Za=za,{MAX_LENGTH:ec,MAX_SAFE_INTEGER:tc}=Ga,{re:nc,t:rc}=Ua,ic=Ja,{compareIdentifiers:oc}=Qa;var sc=class e{constructor(t,n){if(n=ic(n),t instanceof e){if(t.loose===!!n.loose&&t.includePrerelease===!!n.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid Version: ${t}`);if(t.length>ec)throw new TypeError(`version is longer than ${ec} characters`);Za("SemVer",t,n),this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease;const r=t.trim().match(n.loose?nc[rc.LOOSE]:nc[rc.FULL]);if(!r)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>tc||this.major<0)throw new TypeError("Invalid major version");if(this.minor>tc||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>tc||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<tc)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(Za("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if("string"==typeof t&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),oc(this.major,t.major)||oc(this.minor,t.minor)||oc(this.patch,t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{const e=this.prerelease[n],r=t.prerelease[n];if(Za("prerelease compare",n,e,r),void 0===e&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===e)return-1;if(e!==r)return oc(e,r)}while(++n)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let n=0;do{const e=this.build[n],r=t.build[n];if(Za("prerelease compare",n,e,r),void 0===e&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===e)return-1;if(e!==r)return oc(e,r)}while(++n)}inc(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t),this.inc("pre",t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(0===oc(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};const{MAX_LENGTH:ac}=Ga,{re:cc,t:uc}=Ua,lc=sc,hc=Ja;var dc=(e,t)=>{if(t=hc(t),e instanceof lc)return e;if("string"!=typeof e)return null;if(e.length>ac)return null;if(!(t.loose?cc[uc.LOOSE]:cc[uc.FULL]).test(e))return null;try{return new lc(e,t)}catch(e){return null}};const pc=dc;var fc=(e,t)=>{const n=pc(e,t);return n?n.version:null};const mc=dc;var gc=(e,t)=>{const n=mc(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null};const yc=sc;var vc=(e,t,n,r)=>{"string"==typeof n&&(r=n,n=void 0);try{return new yc(e instanceof yc?e.version:e,n).inc(t,r).version}catch(e){return null}};const bc=sc;var Sc=(e,t,n)=>new bc(e,n).compare(new bc(t,n));const wc=Sc;var Rc=(e,t,n)=>0===wc(e,t,n);const Cc=dc,Ec=Rc;var _c=(e,t)=>{if(Ec(e,t))return null;{const n=Cc(e),r=Cc(t),i=n.prerelease.length||r.prerelease.length,o=i?"pre":"",s=i?"prerelease":"";for(const e in n)if(("major"===e||"minor"===e||"patch"===e)&&n[e]!==r[e])return o+e;return s}};const Dc=sc;var Tc=(e,t)=>new Dc(e,t).major;const kc=sc;var xc=(e,t)=>new kc(e,t).minor;const Pc=sc;var Oc=(e,t)=>new Pc(e,t).patch;const Nc=dc;var qc=(e,t)=>{const n=Nc(e,t);return n&&n.prerelease.length?n.prerelease:null};const Ic=Sc;var Ac=(e,t,n)=>Ic(t,e,n);const Mc=Sc;var Fc=(e,t)=>Mc(e,t,!0);const Lc=sc;var jc=(e,t,n)=>{const r=new Lc(e,n),i=new Lc(t,n);return r.compare(i)||r.compareBuild(i)};const $c=jc;var Hc=(e,t)=>e.sort(((e,n)=>$c(e,n,t)));const Wc=jc;var Vc=(e,t)=>e.sort(((e,n)=>Wc(n,e,t)));const Uc=Sc;var Kc=(e,t,n)=>Uc(e,t,n)>0;const Gc=Sc;var zc=(e,t,n)=>Gc(e,t,n)<0;const Bc=Sc;var Jc=(e,t,n)=>0!==Bc(e,t,n);const Xc=Sc;var Yc=(e,t,n)=>Xc(e,t,n)>=0;const Qc=Sc;var Zc=(e,t,n)=>Qc(e,t,n)<=0;const eu=Rc,tu=Jc,nu=Kc,ru=Yc,iu=zc,ou=Zc;var su=(e,t,n,r)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return eu(e,n,r);case"!=":return tu(e,n,r);case">":return nu(e,n,r);case">=":return ru(e,n,r);case"<":return iu(e,n,r);case"<=":return ou(e,n,r);default:throw new TypeError(`Invalid operator: ${t}`)}};const au=sc,cu=dc,{re:uu,t:lu}=Ua;var hu,du,pu,fu,mu,gu,yu,vu,bu,Su,wu=(e,t)=>{if(e instanceof au)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let n=null;if((t=t||{}).rtl){let t;for(;(t=uu[lu.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&t.index+t[0].length===n.index+n[0].length||(n=t),uu[lu.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;uu[lu.COERCERTL].lastIndex=-1}else n=e.match(uu[lu.COERCE]);return null===n?null:cu(`${n[2]}.${n[3]||"0"}.${n[4]||"0"}`,t)};function Ru(){if(fu)return pu;function e(t){var n=this;if(n instanceof e||(n=new e),n.tail=null,n.head=null,n.length=0,t&&"function"==typeof t.forEach)t.forEach((function(e){n.push(e)}));else if(arguments.length>0)for(var r=0,i=arguments.length;r<i;r++)n.push(arguments[r]);return n}function t(e,t,n){var r=t===e.head?new i(n,null,t,e):new i(n,t,t.next,e);return null===r.next&&(e.tail=r),null===r.prev&&(e.head=r),e.length++,r}function n(e,t){e.tail=new i(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function r(e,t){e.head=new i(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function i(e,t,n,r){if(!(this instanceof i))return new i(e,t,n,r);this.list=r,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}fu=1,pu=e,e.Node=i,e.create=e,e.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,n=e.prev;return t&&(t.prev=n),n&&(n.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=n),e.list.length--,e.next=null,e.prev=null,e.list=null,t},e.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},e.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},e.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)n(this,arguments[e]);return this.length},e.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)r(this,arguments[e]);return this.length},e.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},e.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},e.prototype.forEach=function(e,t){t=t||this;for(var n=this.head,r=0;null!==n;r++)e.call(t,n.value,r,this),n=n.next},e.prototype.forEachReverse=function(e,t){t=t||this;for(var n=this.tail,r=this.length-1;null!==n;r--)e.call(t,n.value,r,this),n=n.prev},e.prototype.get=function(e){for(var t=0,n=this.head;null!==n&&t<e;t++)n=n.next;if(t===e&&null!==n)return n.value},e.prototype.getReverse=function(e){for(var t=0,n=this.tail;null!==n&&t<e;t++)n=n.prev;if(t===e&&null!==n)return n.value},e.prototype.map=function(t,n){n=n||this;for(var r=new e,i=this.head;null!==i;)r.push(t.call(n,i.value,this)),i=i.next;return r},e.prototype.mapReverse=function(t,n){n=n||this;for(var r=new e,i=this.tail;null!==i;)r.push(t.call(n,i.value,this)),i=i.prev;return r},e.prototype.reduce=function(e,t){var n,r=this.head;if(arguments.length>1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,n=this.head.value}for(var i=0;null!==r;i++)n=e(n,r.value,i),r=r.next;return n},e.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,n=this.tail.value}for(var i=this.length-1;null!==r;i--)n=e(n,r.value,i),r=r.prev;return n},e.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},e.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},e.prototype.slice=function(t,n){(n=n||this.length)<0&&(n+=this.length),(t=t||0)<0&&(t+=this.length);var r=new e;if(n<t||n<0)return r;t<0&&(t=0),n>this.length&&(n=this.length);for(var i=0,o=this.head;null!==o&&i<t;i++)o=o.next;for(;null!==o&&i<n;i++,o=o.next)r.push(o.value);return r},e.prototype.sliceReverse=function(t,n){(n=n||this.length)<0&&(n+=this.length),(t=t||0)<0&&(t+=this.length);var r=new e;if(n<t||n<0)return r;t<0&&(t=0),n>this.length&&(n=this.length);for(var i=this.length,o=this.tail;null!==o&&i>n;i--)o=o.prev;for(;null!==o&&i>t;i--,o=o.prev)r.push(o.value);return r},e.prototype.splice=function(e,n,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var i=0,o=this.head;null!==o&&i<e;i++)o=o.next;var s=[];for(i=0;o&&i<n;i++)s.push(o.value),o=this.removeNode(o);null===o&&(o=this.tail),o!==this.head&&o!==this.tail&&(o=o.prev);for(i=0;i<r.length;i++)o=t(this,o,r[i]);return s},e.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;null!==n;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this};try{(du?hu:(du=1,hu=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}))(e)}catch(e){}return pu}function Cu(){if(vu)return yu;vu=1;class e{constructor(t,n){if(n=r(n),t instanceof e)return t.loose===!!n.loose&&t.includePrerelease===!!n.includePrerelease?t:new e(t.raw,n);if(t instanceof i)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease,this.raw=t,this.set=t.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${t}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!d(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&p(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();const t=`parseRange:${Object.keys(this.options).join(",")}:${e}`,r=n.get(t);if(r)return r;const s=this.options.loose,p=s?a[c.HYPHENRANGELOOSE]:a[c.HYPHENRANGE];e=e.replace(p,_(this.options.includePrerelease)),o("hyphen replace",e),e=e.replace(a[c.COMPARATORTRIM],u),o("comparator trim",e);let f=(e=(e=(e=e.replace(a[c.TILDETRIM],l)).replace(a[c.CARETTRIM],h)).split(/\s+/).join(" ")).split(" ").map((e=>m(e,this.options))).join(" ").split(/\s+/).map((e=>E(e,this.options)));s&&(f=f.filter((e=>(o("loose invalid filter",e,this.options),!!e.match(a[c.COMPARATORLOOSE]))))),o("range list",f);const g=new Map,y=f.map((e=>new i(e,this.options)));for(const e of y){if(d(e))return[e];g.set(e.value,e)}g.size>1&&g.has("")&&g.delete("");const v=[...g.values()];return n.set(t,v),v}intersects(t,n){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some((e=>f(e,n)&&t.set.some((t=>f(t,n)&&e.every((e=>t.every((t=>e.intersects(t,n)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new s(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(D(this.set[t],e,this.options))return!0;return!1}}yu=e;const t=function(){if(gu)return mu;gu=1;const e=Ru(),t=Symbol("max"),n=Symbol("length"),r=Symbol("lengthCalculator"),i=Symbol("allowStale"),o=Symbol("maxAge"),s=Symbol("dispose"),a=Symbol("noDisposeOnSet"),c=Symbol("lruList"),u=Symbol("cache"),l=Symbol("updateAgeOnGet"),h=()=>1,d=(e,t,n)=>{const r=e[u].get(t);if(r){const t=r.value;if(p(e,t)){if(m(e,r),!e[i])return}else n&&(e[l]&&(r.value.now=Date.now()),e[c].unshiftNode(r));return t.value}},p=(e,t)=>{if(!t||!t.maxAge&&!e[o])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[o]&&n>e[o]},f=e=>{if(e[n]>e[t])for(let r=e[c].tail;e[n]>e[t]&&null!==r;){const t=r.prev;m(e,r),r=t}},m=(e,t)=>{if(t){const r=t.value;e[s]&&e[s](r.key,r.value),e[n]-=r.length,e[u].delete(r.key),e[c].removeNode(t)}};class g{constructor(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}}const y=(e,t,n,r)=>{let o=n.value;p(e,o)&&(m(e,n),e[i]||(o=void 0)),o&&t.call(r,o.value,o.key,e)};return mu=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[t]=e.max||1/0;const n=e.length||h;if(this[r]="function"!=typeof n?h:n,this[i]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[o]=e.maxAge||0,this[s]=e.dispose,this[a]=e.noDisposeOnSet||!1,this[l]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[t]=e||1/0,f(this)}get max(){return this[t]}set allowStale(e){this[i]=!!e}get allowStale(){return this[i]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[o]=e,f(this)}get maxAge(){return this[o]}set lengthCalculator(e){"function"!=typeof e&&(e=h),e!==this[r]&&(this[r]=e,this[n]=0,this[c].forEach((e=>{e.length=this[r](e.value,e.key),this[n]+=e.length}))),f(this)}get lengthCalculator(){return this[r]}get length(){return this[n]}get itemCount(){return this[c].length}rforEach(e,t){t=t||this;for(let n=this[c].tail;null!==n;){const r=n.prev;y(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[c].head;null!==n;){const r=n.next;y(this,e,n,t),n=r}}keys(){return this[c].toArray().map((e=>e.key))}values(){return this[c].toArray().map((e=>e.value))}reset(){this[s]&&this[c]&&this[c].length&&this[c].forEach((e=>this[s](e.key,e.value))),this[u]=new Map,this[c]=new e,this[n]=0}dump(){return this[c].map((e=>!p(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[c]}set(e,i,l){if((l=l||this[o])&&"number"!=typeof l)throw new TypeError("maxAge must be a number");const h=l?Date.now():0,d=this[r](i,e);if(this[u].has(e)){if(d>this[t])return m(this,this[u].get(e)),!1;const r=this[u].get(e).value;return this[s]&&(this[a]||this[s](e,r.value)),r.now=h,r.maxAge=l,r.value=i,this[n]+=d-r.length,r.length=d,this.get(e),f(this),!0}const p=new g(e,i,d,h,l);return p.length>this[t]?(this[s]&&this[s](e,i),!1):(this[n]+=p.length,this[c].unshift(p),this[u].set(e,this[c].head),f(this),!0)}has(e){if(!this[u].has(e))return!1;const t=this[u].get(e).value;return!p(this,t)}get(e){return d(this,e,!0)}peek(e){return d(this,e,!1)}pop(){const e=this[c].tail;return e?(m(this,e),e.value):null}del(e){m(this,this[u].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{const e=i-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[u].forEach(((e,t)=>d(this,t,!1)))}},mu}(),n=new t({max:1e3}),r=Ja,i=Eu(),o=za,s=sc,{re:a,t:c,comparatorTrimReplace:u,tildeTrimReplace:l,caretTrimReplace:h}=Ua,d=e=>"<0.0.0-0"===e.value,p=e=>""===e.value,f=(e,t)=>{let n=!0;const r=e.slice();let i=r.pop();for(;n&&r.length;)n=r.every((e=>i.intersects(e,t))),i=r.pop();return n},m=(e,t)=>(o("comp",e,t),e=b(e,t),o("caret",e),e=y(e,t),o("tildes",e),e=w(e,t),o("xrange",e),e=C(e,t),o("stars",e),e),g=e=>!e||"x"===e.toLowerCase()||"*"===e,y=(e,t)=>e.trim().split(/\s+/).map((e=>v(e,t))).join(" "),v=(e,t)=>{const n=t.loose?a[c.TILDELOOSE]:a[c.TILDE];return e.replace(n,((t,n,r,i,s)=>{let a;return o("tilde",e,t,n,r,i,s),g(n)?a="":g(r)?a=`>=${n}.0.0 <${+n+1}.0.0-0`:g(i)?a=`>=${n}.${r}.0 <${n}.${+r+1}.0-0`:s?(o("replaceTilde pr",s),a=`>=${n}.${r}.${i}-${s} <${n}.${+r+1}.0-0`):a=`>=${n}.${r}.${i} <${n}.${+r+1}.0-0`,o("tilde return",a),a}))},b=(e,t)=>e.trim().split(/\s+/).map((e=>S(e,t))).join(" "),S=(e,t)=>{o("caret",e,t);const n=t.loose?a[c.CARETLOOSE]:a[c.CARET],r=t.includePrerelease?"-0":"";return e.replace(n,((t,n,i,s,a)=>{let c;return o("caret",e,t,n,i,s,a),g(n)?c="":g(i)?c=`>=${n}.0.0${r} <${+n+1}.0.0-0`:g(s)?c="0"===n?`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.0${r} <${+n+1}.0.0-0`:a?(o("replaceCaret pr",a),c="0"===n?"0"===i?`>=${n}.${i}.${s}-${a} <${n}.${i}.${+s+1}-0`:`>=${n}.${i}.${s}-${a} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${s}-${a} <${+n+1}.0.0-0`):(o("no pr"),c="0"===n?"0"===i?`>=${n}.${i}.${s}${r} <${n}.${i}.${+s+1}-0`:`>=${n}.${i}.${s}${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${s} <${+n+1}.0.0-0`),o("caret return",c),c}))},w=(e,t)=>(o("replaceXRanges",e,t),e.split(/\s+/).map((e=>R(e,t))).join(" ")),R=(e,t)=>{e=e.trim();const n=t.loose?a[c.XRANGELOOSE]:a[c.XRANGE];return e.replace(n,((n,r,i,s,a,c)=>{o("xRange",e,n,r,i,s,a,c);const u=g(i),l=u||g(s),h=l||g(a),d=h;return"="===r&&d&&(r=""),c=t.includePrerelease?"-0":"",u?n=">"===r||"<"===r?"<0.0.0-0":"*":r&&d?(l&&(s=0),a=0,">"===r?(r=">=",l?(i=+i+1,s=0,a=0):(s=+s+1,a=0)):"<="===r&&(r="<",l?i=+i+1:s=+s+1),"<"===r&&(c="-0"),n=`${r+i}.${s}.${a}${c}`):l?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:h&&(n=`>=${i}.${s}.0${c} <${i}.${+s+1}.0-0`),o("xRange return",n),n}))},C=(e,t)=>(o("replaceStars",e,t),e.trim().replace(a[c.STAR],"")),E=(e,t)=>(o("replaceGTE0",e,t),e.trim().replace(a[t.includePrerelease?c.GTE0PRE:c.GTE0],"")),_=e=>(t,n,r,i,o,s,a,c,u,l,h,d,p)=>`${n=g(r)?"":g(i)?`>=${r}.0.0${e?"-0":""}`:g(o)?`>=${r}.${i}.0${e?"-0":""}`:s?`>=${n}`:`>=${n}${e?"-0":""}`} ${c=g(u)?"":g(l)?`<${+u+1}.0.0-0`:g(h)?`<${u}.${+l+1}.0-0`:d?`<=${u}.${l}.${h}-${d}`:e?`<${u}.${l}.${+h+1}-0`:`<=${c}`}`.trim(),D=(e,t,n)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let n=0;n<e.length;n++)if(o(e[n].semver),e[n].semver!==i.ANY&&e[n].semver.prerelease.length>0){const r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0};return yu}function Eu(){if(Su)return bu;Su=1;const e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(r,i){if(i=n(i),r instanceof t){if(r.loose===!!i.loose)return r;r=r.value}s("comparator",r,i),this.options=i,this.loose=!!i.loose,this.parse(r),this.semver===e?this.value="":this.value=this.operator+this.semver.version,s("comp",this)}parse(t){const n=this.options.loose?r[i.COMPARATORLOOSE]:r[i.COMPARATOR],o=t.match(n);if(!o)throw new TypeError(`Invalid comparator: ${t}`);this.operator=void 0!==o[1]?o[1]:"","="===this.operator&&(this.operator=""),o[2]?this.semver=new a(o[2],this.options.loose):this.semver=e}toString(){return this.value}test(t){if(s("Comparator.test",t,this.options.loose),this.semver===e||t===e)return!0;if("string"==typeof t)try{t=new a(t,this.options)}catch(e){return!1}return o(t,this.operator,this.semver,this.options)}intersects(e,n){if(!(e instanceof t))throw new TypeError("a Comparator is required");if(n&&"object"==typeof n||(n={loose:!!n,includePrerelease:!1}),""===this.operator)return""===this.value||new c(e.value,n).test(this.value);if(""===e.operator)return""===e.value||new c(this.value,n).test(e.semver);const r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),s=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),u=o(this.semver,"<",e.semver,n)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),l=o(this.semver,">",e.semver,n)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||i||s&&a||u||l}}bu=t;const n=Ja,{re:r,t:i}=Ua,o=su,s=za,a=sc,c=Cu();return bu}const _u=Cu();var Du=(e,t,n)=>{try{t=new _u(t,n)}catch(e){return!1}return t.test(e)};const Tu=Cu();var ku=(e,t)=>new Tu(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")));const xu=sc,Pu=Cu();var Ou=(e,t,n)=>{let r=null,i=null,o=null;try{o=new Pu(t,n)}catch(e){return null}return e.forEach((e=>{o.test(e)&&(r&&-1!==i.compare(e)||(r=e,i=new xu(r,n)))})),r};const Nu=sc,qu=Cu();var Iu=(e,t,n)=>{let r=null,i=null,o=null;try{o=new qu(t,n)}catch(e){return null}return e.forEach((e=>{o.test(e)&&(r&&1!==i.compare(e)||(r=e,i=new Nu(r,n)))})),r};const Au=sc,Mu=Cu(),Fu=Kc;var Lu=(e,t)=>{e=new Mu(e,t);let n=new Au("0.0.0");if(e.test(n))return n;if(n=new Au("0.0.0-0"),e.test(n))return n;n=null;for(let t=0;t<e.set.length;++t){const r=e.set[t];let i=null;r.forEach((e=>{const t=new Au(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":i&&!Fu(t,i)||(i=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!i||n&&!Fu(n,i)||(n=i)}return n&&e.test(n)?n:null};const ju=Cu();var $u=(e,t)=>{try{return new ju(e,t).range||"*"}catch(e){return null}};const Hu=sc,Wu=Eu(),{ANY:Vu}=Wu,Uu=Cu(),Ku=Du,Gu=Kc,zu=zc,Bu=Zc,Ju=Yc;var Xu=(e,t,n,r)=>{let i,o,s,a,c;switch(e=new Hu(e,r),t=new Uu(t,r),n){case">":i=Gu,o=Bu,s=zu,a=">",c=">=";break;case"<":i=zu,o=Ju,s=Gu,a="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ku(e,t,r))return!1;for(let n=0;n<t.set.length;++n){const u=t.set[n];let l=null,h=null;if(u.forEach((e=>{e.semver===Vu&&(e=new Wu(">=0.0.0")),l=l||e,h=h||e,i(e.semver,l.semver,r)?l=e:s(e.semver,h.semver,r)&&(h=e)})),l.operator===a||l.operator===c)return!1;if((!h.operator||h.operator===a)&&o(e,h.semver))return!1;if(h.operator===c&&s(e,h.semver))return!1}return!0};const Yu=Xu;var Qu=(e,t,n)=>Yu(e,t,">",n);const Zu=Xu;var el=(e,t,n)=>Zu(e,t,"<",n);const tl=Cu();var nl=(e,t,n)=>(e=new tl(e,n),t=new tl(t,n),e.intersects(t));const rl=Du,il=Sc;const ol=Cu(),sl=Eu(),{ANY:al}=sl,cl=Du,ul=Sc,ll=(e,t,n)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===al){if(1===t.length&&t[0].semver===al)return!0;e=n.includePrerelease?[new sl(">=0.0.0-0")]:[new sl(">=0.0.0")]}if(1===t.length&&t[0].semver===al){if(n.includePrerelease)return!0;t=[new sl(">=0.0.0")]}const r=new Set;let i,o,s,a,c,u,l;for(const t of e)">"===t.operator||">="===t.operator?i=hl(i,t,n):"<"===t.operator||"<="===t.operator?o=dl(o,t,n):r.add(t.semver);if(r.size>1)return null;if(i&&o){if(s=ul(i.semver,o.semver,n),s>0)return null;if(0===s&&(">="!==i.operator||"<="!==o.operator))return null}for(const e of r){if(i&&!cl(e,String(i),n))return null;if(o&&!cl(e,String(o),n))return null;for(const r of t)if(!cl(e,String(r),n))return!1;return!0}let h=!(!o||n.includePrerelease||!o.semver.prerelease.length)&&o.semver,d=!(!i||n.includePrerelease||!i.semver.prerelease.length)&&i.semver;h&&1===h.prerelease.length&&"<"===o.operator&&0===h.prerelease[0]&&(h=!1);for(const e of t){if(l=l||">"===e.operator||">="===e.operator,u=u||"<"===e.operator||"<="===e.operator,i)if(d&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===d.major&&e.semver.minor===d.minor&&e.semver.patch===d.patch&&(d=!1),">"===e.operator||">="===e.operator){if(a=hl(i,e,n),a===e&&a!==i)return!1}else if(">="===i.operator&&!cl(i.semver,String(e),n))return!1;if(o)if(h&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===h.major&&e.semver.minor===h.minor&&e.semver.patch===h.patch&&(h=!1),"<"===e.operator||"<="===e.operator){if(c=dl(o,e,n),c===e&&c!==o)return!1}else if("<="===o.operator&&!cl(o.semver,String(e),n))return!1;if(!e.operator&&(o||i)&&0!==s)return!1}return!(i&&u&&!o&&0!==s)&&(!(o&&l&&!i&&0!==s)&&(!d&&!h))},hl=(e,t,n)=>{if(!e)return t;const r=ul(e.semver,t.semver,n);return r>0?e:r<0||">"===t.operator&&">="===e.operator?t:e},dl=(e,t,n)=>{if(!e)return t;const r=ul(e.semver,t.semver,n);return r<0?e:r>0||"<"===t.operator&&"<="===e.operator?t:e};var pl=(e,t,n={})=>{if(e===t)return!0;e=new ol(e,n),t=new ol(t,n);let r=!1;e:for(const i of e.set){for(const e of t.set){const t=ll(i,e,n);if(r=r||null!==t,t)continue e}if(r)return!1}return!0};const fl=Ua,ml=Ga,gl=sc,yl=Qa,vl=(e,t,n)=>{const r=[];let i=null,o=null;const s=e.sort(((e,t)=>il(e,t,n)));for(const e of s){rl(e,t,n)?(o=e,i||(i=e)):(o&&r.push([i,o]),o=null,i=null)}i&&r.push([i,null]);const a=[];for(const[e,t]of r)e===t?a.push(e):t||e!==s[0]?t?e===s[0]?a.push(`<=${t}`):a.push(`${e} - ${t}`):a.push(`>=${e}`):a.push("*");const c=a.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return c.length<u.length?c:t};var bl,Sl,wl,Rl,Cl,El,_l,Dl,Tl,kl,xl,Pl,Ol={parse:dc,valid:fc,clean:gc,inc:vc,diff:_c,major:Tc,minor:xc,patch:Oc,prerelease:qc,compare:Sc,rcompare:Ac,compareLoose:Fc,compareBuild:jc,sort:Hc,rsort:Vc,gt:Kc,lt:zc,eq:Rc,neq:Jc,gte:Yc,lte:Zc,cmp:su,coerce:wu,Comparator:Eu(),Range:Cu(),satisfies:Du,toComparators:ku,maxSatisfying:Ou,minSatisfying:Iu,minVersion:Lu,validRange:$u,outside:Xu,gtr:Qu,ltr:el,intersects:nl,simplifyRange:vl,subset:pl,SemVer:gl,re:fl.re,src:fl.src,tokens:fl.t,SEMVER_SPEC_VERSION:ml.SEMVER_SPEC_VERSION,compareIdentifiers:yl.compareIdentifiers,rcompareIdentifiers:yl.rcompareIdentifiers};class Nl{static fromSimpleString(e){return new Nl(e,e,e)}static fromVersionString(e){let t=Ol.valid(e);if(!t)return new Nl("invalid version","1.0.0","1.0.0");const n=e.indexOf("-");return n>=0&&(t=t.substr(0,n)),new Nl(e,t,e)}constructor(e,t,n){this.displayName=e,this.version=t,this.fullVersionString=n}eq(e){return Ol.eq(this.version,e.version)}gte(e){return Ol.gte(this.version,e.version)}lt(e){return!this.gte(e)}}Nl.defaultVersion=Nl.fromSimpleString("1.0.0"),Nl.v240=Nl.fromSimpleString("2.4.0"),Nl.v250=Nl.fromSimpleString("2.5.0"),Nl.v260=Nl.fromSimpleString("2.6.0"),Nl.v270=Nl.fromSimpleString("2.7.0"),Nl.v280=Nl.fromSimpleString("2.8.0"),Nl.v290=Nl.fromSimpleString("2.9.0"),Nl.v291=Nl.fromSimpleString("2.9.1"),Nl.v300=Nl.fromSimpleString("3.0.0"),Nl.v310=Nl.fromSimpleString("3.1.0"),Nl.v314=Nl.fromSimpleString("3.1.4"),Nl.v320=Nl.fromSimpleString("3.2.0"),Nl.v333=Nl.fromSimpleString("3.3.3"),Nl.v340=Nl.fromSimpleString("3.4.0"),Nl.v345=Nl.fromSimpleString("3.4.5"),Nl.v350=Nl.fromSimpleString("3.5.0"),Nl.v380=Nl.fromSimpleString("3.8.0"),Nl.v381=Nl.fromSimpleString("3.8.1"),Nl.v390=Nl.fromSimpleString("3.9.0"),Nl.v400=Nl.fromSimpleString("4.0.0"),Nl.v401=Nl.fromSimpleString("4.0.1"),Nl.v420=Nl.fromSimpleString("4.2.0"),Nl.v430=Nl.fromSimpleString("4.3.0"),Nl.v440=Nl.fromSimpleString("4.4.0"),Nl.v460=Nl.fromSimpleString("4.6.0"),Nl.v470=Nl.fromSimpleString("4.7.0"),Nl.v480=Nl.fromSimpleString("4.8.0"),Nl.v490=Nl.fromSimpleString("4.9.0"),function(e){e.type=new vr.RequestType("_typescript.rename")}(bl=bl||(bl={})),function(e){e.JsxClosingTag="jsxClosingTag",e.Brace="brace",e.BraceCompletion="braceCompletion",e.GetSpanOfEnclosingComment="getSpanOfEnclosingComment",e.Change="change",e.Close="close",e.Completions="completions",e.CompletionEntryDetails="completionEntryDetails",e.CompletionInfo="completionInfo",e.CompletionDetails="completionEntryDetails",e.CompileOnSaveAffectedFileList="compileOnSaveAffectedFileList",e.CompileOnSaveEmitFile="compileOnSaveEmitFile",e.Configure="configure",e.Definition="definition",e.DefinitionAndBoundSpan="definitionAndBoundSpan",e.EncodedSemanticClassificationsFull="encodedSemanticClassifications-full",e.Implementation="implementation",e.Exit="exit",e.FileReferences="fileReferences",e.Format="format",e.Formatonkey="formatonkey",e.Geterr="geterr",e.GeterrForProject="geterrForProject",e.SemanticDiagnosticsSync="semanticDiagnosticsSync",e.SyntacticDiagnosticsSync="syntacticDiagnosticsSync",e.SuggestionDiagnosticsSync="suggestionDiagnosticsSync",e.NavBar="navbar",e.Navto="navto",e.NavTree="navtree",e.NavTreeFull="navtree-full",e.Occurrences="occurrences",e.DocumentHighlights="documentHighlights",e.Open="open",e.Quickinfo="quickinfo",e.References="references",e.Reload="reload",e.Rename="rename",e.Saveto="saveto",e.SignatureHelp="signatureHelp",e.FindSourceDefinition="findSourceDefinition",e.Status="status",e.TypeDefinition="typeDefinition",e.ProjectInfo="projectInfo",e.ReloadProjects="reloadProjects",e.Unknown="unknown",e.OpenExternalProject="openExternalProject",e.OpenExternalProjects="openExternalProjects",e.CloseExternalProject="closeExternalProject",e.UpdateOpen="updateOpen",e.GetOutliningSpans="getOutliningSpans",e.TodoComments="todoComments",e.Indentation="indentation",e.DocCommentTemplate="docCommentTemplate",e.CompilerOptionsForInferredProjects="compilerOptionsForInferredProjects",e.GetCodeFixes="getCodeFixes",e.GetCombinedCodeFix="getCombinedCodeFix",e.ApplyCodeActionCommand="applyCodeActionCommand",e.GetSupportedCodeFixes="getSupportedCodeFixes",e.GetApplicableRefactors="getApplicableRefactors",e.GetEditsForRefactor="getEditsForRefactor",e.OrganizeImports="organizeImports",e.GetEditsForFileRename="getEditsForFileRename",e.ConfigurePlugin="configurePlugin",e.SelectionRange="selectionRange",e.ToggleLineComment="toggleLineComment",e.ToggleMultilineComment="toggleMultilineComment",e.CommentSelection="commentSelection",e.UncommentSelection="uncommentSelection",e.PrepareCallHierarchy="prepareCallHierarchy",e.ProvideCallHierarchyIncomingCalls="provideCallHierarchyIncomingCalls",e.ProvideCallHierarchyOutgoingCalls="provideCallHierarchyOutgoingCalls",e.ProvideInlayHints="provideInlayHints"}(Sl=Sl||(Sl={})),function(e){e.none="none",e.definition="definition",e.reference="reference",e.writtenReference="writtenReference"}(wl=wl||(wl={})),function(e){e.None="None",e.Preserve="Preserve",e.ReactNative="ReactNative",e.React="React"}(Rl=Rl||(Rl={})),function(e){e.None="None",e.CommonJS="CommonJS",e.AMD="AMD",e.UMD="UMD",e.System="System",e.ES6="ES6",e.ES2015="ES2015",e.ESNext="ESNext"}(Cl=Cl||(Cl={})),function(e){e.Classic="Classic",e.Node="Node"}(El=El||(El={})),function(e){e.Ignore="ignore",e.Insert="insert",e.Remove="remove"}(_l=_l||(_l={})),function(e){e.unknown="",e.warning="warning",e.keyword="keyword",e.scriptElement="script",e.moduleElement="module",e.classElement="class",e.localClassElement="local class",e.interfaceElement="interface",e.typeElement="type",e.enumElement="enum",e.enumMemberElement="enum member",e.variableElement="var",e.localVariableElement="local var",e.functionElement="function",e.localFunctionElement="local function",e.memberFunctionElement="method",e.memberGetAccessorElement="getter",e.memberSetAccessorElement="setter",e.memberVariableElement="property",e.memberAccessorVariableElement="accessor",e.constructorImplementationElement="constructor",e.callSignatureElement="call",e.indexSignatureElement="index",e.constructSignatureElement="construct",e.parameterElement="parameter",e.typeParameterElement="type parameter",e.primitiveType="primitive type",e.label="label",e.alias="alias",e.constElement="const",e.letElement="let",e.directory="directory",e.externalModuleName="external module name",e.jsxAttribute="JSX attribute",e.string="string",e.link="link",e.linkName="link name",e.linkText="link text"}(Dl=Dl||(Dl={})),function(e){e.none="",e.publicMemberModifier="public",e.privateMemberModifier="private",e.protectedMemberModifier="protected",e.exportedModifier="export",e.ambientModifier="declare",e.staticModifier="static",e.abstractModifier="abstract",e.optionalModifier="optional",e.deprecatedModifier="deprecated",e.dtsModifier=".d.ts",e.tsModifier=".ts",e.tsxModifier=".tsx",e.jsModifier=".js",e.jsxModifier=".jsx",e.jsonModifier=".json",e.dmtsModifier=".d.mts",e.mtsModifier=".mts",e.mjsModifier=".mjs",e.dctsModifier=".d.cts",e.ctsModifier=".cts",e.cjsModifier=".cjs"}(Tl=Tl||(Tl={})),function(e){e.ES3="ES3",e.ES5="ES5",e.ES6="ES6",e.ES2015="ES2015",e.ES2016="ES2016",e.ES2017="ES2017",e.ES2018="ES2018",e.ES2019="ES2019",e.ES2020="ES2020",e.ES2021="ES2021",e.ES2022="ES2022",e.ESNext="ESNext"}(kl=kl||(kl={})),function(e){e[e.aliasName=0]="aliasName",e[e.className=1]="className",e[e.enumName=2]="enumName",e[e.fieldName=3]="fieldName",e[e.interfaceName=4]="interfaceName",e[e.keyword=5]="keyword",e[e.lineBreak=6]="lineBreak",e[e.numericLiteral=7]="numericLiteral",e[e.stringLiteral=8]="stringLiteral",e[e.localName=9]="localName",e[e.methodName=10]="methodName",e[e.moduleName=11]="moduleName",e[e.operator=12]="operator",e[e.parameterName=13]="parameterName",e[e.propertyName=14]="propertyName",e[e.punctuation=15]="punctuation",e[e.space=16]="space",e[e.text=17]="text",e[e.typeParameterName=18]="typeParameterName",e[e.enumMemberName=19]="enumMemberName",e[e.functionName=20]="functionName",e[e.regularExpressionLiteral=21]="regularExpressionLiteral",e[e.link=22]="link",e[e.linkName=23]="linkName",e[e.linkText=24]="linkText"}(xl=xl||(xl={})),function(e){e.All="All",e.SortAndCombine="SortAndCombine",e.RemoveUnused="RemoveUnused"}(Pl=Pl||(Pl={}));class ql{}ql.optional="optional",ql.deprecated="deprecated",ql.dtsFile=".d.ts",ql.tsFile=".ts",ql.tsxFile=".tsx",ql.jsFile=".js",ql.jsxFile=".jsx",ql.jsonFile=".json",ql.fileExtensionKindModifiers=[ql.dtsFile,ql.tsFile,ql.tsxFile,ql.jsFile,ql.jsxFile,ql.jsonFile];const Il={aliasName:0,className:1,enumName:2,fieldName:3,interfaceName:4,keyword:5,lineBreak:6,numericLiteral:7,stringLiteral:8,localName:9,methodName:10,moduleName:11,operator:12,parameterName:13,propertyName:14,punctuation:15,space:16,text:17,typeParameterName:18,enumMemberName:19,functionName:20,regularExpressionLiteral:21,link:22,linkName:23,linkText:24};function Al(e){return Il[e]}var Ml,Fl,Ll;!function(e){e.Syntax="syntax",e.Semantic="semantic"}(Ml=Ml||(Ml={})),function(e){e.Cancelled=class{constructor(e){this.reason=e,this.type="cancelled"}},e.NoContent={type:"noContent"},e.NoServer={type:"noServer"}}(Fl=Fl||(Fl={})),function(e){e[e.Syntax=0]="Syntax",e[e.EnhancedSyntax=1]="EnhancedSyntax",e[e.Semantic=2]="Semantic"}(Ll=Ll||(Ll={}));class jl{constructor(...e){this.capabilities=new Set(e)}has(e){return this.capabilities.has(e)}}class $l extends Error{static create(e,t,n){const r=$l.parseErrorText(n);return new $l(e,t,n,r?.message,r?.stack)}constructor(e,t,n,r,i){super(`<${e}> TypeScript Server Error (${t.versionString})\n${r}\n${i}`),this.serverId=e,this.version=t,this.response=n,this.serverMessage=r,this.serverStack=i}get serverErrorText(){return this.response.message}get serverCommand(){return this.response.command}static parseErrorText(e){const t=e.message;if(t){const e="Error processing request. ";if(t.startsWith(e)){const n=t.substr(e.length),r=n.indexOf("\n");if(r>=0){const e=n.substring(r+1);return{message:n.substring(0,r),stack:e}}}}}}const Hl=l(d.randomBytes),Wl="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~".split(""),Vl="0123456789".split(""),Ul="CDEHKMPRTUWXY012458".split(""),Kl="!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~".split(""),Gl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),zl=new Set([void 0,"hex","base64","url-safe","numeric","distinguishable","ascii-printable","alphanumeric"]),Bl=(e,t)=>({length:n,type:r,characters:i})=>{if(!(n>=0&&Number.isFinite(n)))throw new TypeError("Expected a `length` to be a non-negative finite number");if(void 0!==r&&void 0!==i)throw new TypeError("Expected either `type` or `characters`");if(void 0!==i&&"string"!=typeof i)throw new TypeError("Expected `characters` to be string");if(!zl.has(r))throw new TypeError(`Unknown type: ${r}`);if(void 0===r&&void 0===i&&(r="hex"),"hex"===r||void 0===r&&void 0===i)return t(Math.ceil(.5*n),"hex",n);if("base64"===r)return t(Math.ceil(.75*n),"base64",n);if("url-safe"===r)return e(n,Wl);if("numeric"===r)return e(n,Vl);if("distinguishable"===r)return e(n,Ul);if("ascii-printable"===r)return e(n,Kl);if("alphanumeric"===r)return e(n,Gl);if(0===i.length)throw new TypeError("Expected `characters` string length to be greater than or equal to 1");if(i.length>65536)throw new TypeError("Expected `characters` string length to be less or equal to 65536");return e(n,i.split(""))},Jl=Bl(((e,t)=>{const n=t.length,r=Math.floor(65536/n)*n-1,i=2*Math.ceil(1.1*e);let o="",s=0;for(;s<e;){const a=d.randomBytes(i);let c=0;for(;c<i&&s<e;){const e=a.readUInt16LE(c);c+=2,e>r||(o+=t[e%n],s++)}}return o}),((e,t,n)=>d.randomBytes(e).toString(t).slice(0,n)));Jl.async=Bl((async(e,t)=>{const n=t.length,r=Math.floor(65536/n)*n-1,i=2*Math.ceil(1.1*e);let o="",s=0;for(;s<e;){const a=await Hl(i);let c=0;for(;c<i&&s<e;){const e=a.readUInt16LE(c);c+=2,e>r||(o+=t[e%n],s++)}}return o}),(async(e,t,n)=>(await Hl(e)).toString(t).slice(0,n)));const Xl=a,Yl=h,Ql=Symbol.for("__RESOLVED_TEMP_DIRECTORY__");T[Ql]||Object.defineProperty(T,Ql,{value:Xl.realpathSync(Yl.tmpdir())});var Zl=T[Ql];R(w.pipeline);const eh=(e="")=>g.join(Zl,e+Jl({length:32}));function th({name:t,extension:n}={}){if(t){if(null!=n)throw new Error("The `name` and `extension` options are mutually exclusive");return g.join(function({prefix:t=""}={}){const n=eh(t);return e.mkdirSync(n),n}(),t)}return eh()+(null==n?"":"."+n.replace(/^\./,""))}class nh{constructor(e,t){this._serverId=e,this._tracer=t,this.cancellationPipeName=th({name:"tscancellation"})}tryCancelOngoingRequest(t){if(!this.cancellationPipeName)return!1;this._tracer.logTrace(this._serverId,`TypeScript Server: trying to cancel ongoing request with sequence number ${t}`);try{e.writeFileSync(this.cancellationPipeName+String(t),"")}catch{}return!0}}const rh=new class{create(e,t){return new nh(e,t)}};var ih,oh,sh;!function(e){e[e.Normal=1]="Normal",e[e.LowPriority=2]="LowPriority",e[e.Fence=3]="Fence"}(ih=ih||(ih={}));class ah{constructor(){this.queue=[],this.sequenceNumber=0}get length(){return this.queue.length}enqueue(e){if(e.queueingType===ih.Normal){let t=this.queue.length-1;for(;t>=0&&this.queue[t].queueingType===ih.LowPriority;)--t;this.queue.splice(t+1,0,e)}else this.queue.push(e)}dequeue(){return this.queue.shift()}tryDeletePendingRequest(e){for(let t=0;t<this.queue.length;t++)if(this.queue[t].request.seq===e)return this.queue.splice(t,1),!0;return!1}createRequest(e,t){return{seq:this.sequenceNumber++,type:"request",command:e,arguments:t}}}class ch{constructor(){this._callbacks=new Map,this._asyncCallbacks=new Map}destroy(e){const t=new Fl.Cancelled(e);for(const e of this._callbacks.values())e.onSuccess(t);this._callbacks.clear();for(const e of this._asyncCallbacks.values())e.onSuccess(t);this._asyncCallbacks.clear()}add(e,t,n){n?this._asyncCallbacks.set(e,t):this._callbacks.set(e,t)}fetch(e){const t=this._callbacks.get(e)||this._asyncCallbacks.get(e);return this.delete(e),t}delete(e){this._callbacks.delete(e)||this._asyncCallbacks.delete(e)}}!function(e){e[e.Semantic=0]="Semantic",e[e.Syntax=1]="Syntax"}(oh=oh||(oh={}));class uh{constructor(e,t,n,r,i,o,s){this._serverId=e,this._serverSource=t,this._process=n,this._tsServerLogFile=r,this._requestCanceller=i,this._version=o,this._tracer=s,this._requestQueue=new ah,this._callbacks=new ch,this._pendingResponses=new Set,this._eventHandlers=new Set,this._exitHandlers=new Set,this._errorHandlers=new Set,this._stdErrHandlers=new Set,this._process.onData((e=>{this.dispatchMessage(e)})),this._process.onStdErr((e=>{this._stdErrHandlers.forEach((t=>t(e)))})),this._process.onExit(((e,t)=>{this._exitHandlers.forEach((n=>n({code:e,signal:t}))),this._callbacks.destroy("server exited")})),this._process.onError((e=>{this._errorHandlers.forEach((t=>t(e))),this._callbacks.destroy("server errored")}))}onEvent(e){this._eventHandlers.add(e)}onExit(e){this._exitHandlers.add(e)}onStdErr(e){this._stdErrHandlers.add(e)}onError(e){this._errorHandlers.add(e)}get tsServerLogFile(){return this._tsServerLogFile}write(e){this._process.write(e)}dispose(){this._callbacks.destroy("server disposed"),this._pendingResponses.clear(),this._eventHandlers.clear(),this._exitHandlers.clear(),this._errorHandlers.clear()}kill(){this.dispose(),this._process.kill()}dispatchMessage(e){try{switch(e.type){case"response":this._serverSource?this.dispatchResponse({...e}):this.dispatchResponse(e);break;case"event":{const t=e;if("requestCompleted"===t.event){const e=t.body.request_seq,n=this._callbacks.fetch(e);n&&(this._tracer.traceRequestCompleted(this._serverId,"requestCompleted",e,n),n.onSuccess(void 0))}else this._tracer.traceEvent(this._serverId,t),this._eventHandlers.forEach((e=>e(t)));break}default:throw new Error(`Unknown message type ${e.type} received`)}}finally{this.sendNextRequests()}}tryCancelRequest(e,t){try{return this._requestQueue.tryDeletePendingRequest(e)?(this.logTrace(`Canceled request with sequence number ${e}`),!0):!!this._requestCanceller.tryCancelOngoingRequest(e)||(this.logTrace(`Tried to cancel request with sequence number ${e}. But request got already delivered.`),!1)}finally{this.fetchCallback(e)?.onSuccess(new Fl.Cancelled(`Cancelled request ${e} - ${t}`))}}dispatchResponse(e){const t=this.fetchCallback(e.request_seq);t&&(this._tracer.traceResponse(this._serverId,e,t),e.success?t.onSuccess(e):"No content available."===e.message?t.onSuccess(Fl.NoContent):t.onError($l.create(this._serverId,this._version,e)))}executeImpl(e,t,n){const r=this._requestQueue.createRequest(e,t),i={request:r,expectsResponse:n.expectsResult,isAsync:n.isAsync,queueingType:uh.getQueueingType(e,n.lowPriority)};let o;return n.expectsResult&&(o=new Promise(((t,i)=>{this._callbacks.add(r.seq,{onSuccess:t,onError:i,queuingStartTime:Date.now(),isAsync:n.isAsync},n.isAsync),n.token&&n.token.onCancellationRequested((()=>{this.tryCancelRequest(r.seq,e)}))}))),this._requestQueue.enqueue(i),this.sendNextRequests(),[o]}sendNextRequests(){for(;0===this._pendingResponses.size&&this._requestQueue.length>0;){const e=this._requestQueue.dequeue();e&&this.sendRequest(e)}}sendRequest(e){const t=e.request;this._tracer.traceRequest(this._serverId,t,e.expectsResponse,this._requestQueue.length),e.expectsResponse&&!e.isAsync&&this._pendingResponses.add(e.request.seq);try{this.write(t)}catch(e){this.fetchCallback(t.seq)?.onError(e)}}fetchCallback(e){const t=this._callbacks.fetch(e);if(t)return this._pendingResponses.delete(e),t}logTrace(e){this._tracer.logTrace(this._serverId,e)}static getQueueingType(e,t){return uh.fenceCommands.has(e)?ih.Fence:t?ih.LowPriority:ih.Normal}}uh.fenceCommands=new Set(["change","close","open","updateOpen"]);class lh{constructor(e,t){this.servers=e,this.delegate=t}execute(e,t,n){if(lh.sharedCommands.has(e)&&void 0===n.executionTarget){const r=this.servers.map((()=>sh.Unresolved));let i;if(n.token){const e=new ye.CancellationTokenSource;n.token.onCancellationRequested((()=>{r.some((e=>e===sh.Resolved))||e.cancel()})),i=e.token}const o=[];for(let s=0;s<this.servers.length;++s){const a=this.servers[s].server.executeImpl(e,t,{...n,token:i})[0];o.push(a),a&&a.then((t=>{r[s]=sh.Resolved;const n=r.find((e=>2===e.type));return n&&this.delegate.onFatalError(e,n.err),t}),(t=>{throw r[s]=new sh.Errored(t),r.some((e=>e===sh.Resolved))&&this.delegate.onFatalError(e,t),t}))}return o}for(const{canRun:r,server:i}of this.servers)if(!r||r(e,n))return i.executeImpl(e,t,n);throw new Error(`Could not find server for command: '${e}'`)}}lh.sharedCommands=new Set([Sl.Change,Sl.Close,Sl.Open,Sl.UpdateOpen,Sl.Configure]);class hh{constructor(e,t,n){this._projectLoading=!0,this._eventHandlers=new Set,this._exitHandlers=new Set,this._errorHandlers=new Set,this.syntaxServer=e.syntax,this.semanticServer=e.semantic,this.router=new lh([{server:this.syntaxServer,canRun:(e,t)=>{switch(t.executionTarget){case oh.Semantic:return!1;case oh.Syntax:return!0}return!!hh.syntaxAlwaysCommands.has(e)||!hh.semanticCommands.has(e)&&!!(n&&this.projectLoading&&hh.syntaxAllowedCommands.has(e))}},{server:this.semanticServer,canRun:void 0}],t),this.syntaxServer.onEvent((e=>{this._eventHandlers.forEach((t=>t(e)))})),this.semanticServer.onEvent((e=>{switch(e.event){case"projectLoadingStart":this._projectLoading=!0;break;case"projectLoadingFinish":case"semanticDiag":case"syntaxDiag":case"suggestionDiag":case"configFileDiag":this._projectLoading=!1}this._eventHandlers.forEach((t=>t(e)))})),this.semanticServer.onExit((e=>{this._exitHandlers.forEach((t=>t(e))),this.syntaxServer.kill()})),this.semanticServer.onError((e=>this._errorHandlers.forEach((t=>t(e)))))}get projectLoading(){return this._projectLoading}dispose(){this._eventHandlers.clear(),this._exitHandlers.clear(),this._errorHandlers.clear()}onEvent(e){this._eventHandlers.add(e)}onExit(e){this._exitHandlers.add(e)}onError(e){this._errorHandlers.add(e)}onStdErr(e){}get tsServerLogFile(){return this.semanticServer.tsServerLogFile}kill(){this.dispose(),this.syntaxServer.kill(),this.semanticServer.kill()}executeImpl(e,t,n){return this.router.execute(e,t,n)}}hh.syntaxAlwaysCommands=new Set([Sl.NavTree,Sl.GetOutliningSpans,Sl.JsxClosingTag,Sl.SelectionRange,Sl.Format,Sl.Formatonkey,Sl.DocCommentTemplate]),hh.semanticCommands=new Set([Sl.Geterr,Sl.GeterrForProject,Sl.ProjectInfo,Sl.ConfigurePlugin]),hh.syntaxAllowedCommands=new Set([Sl.CompletionEntryDetails,Sl.CompletionInfo,Sl.Definition,Sl.DefinitionAndBoundSpan,Sl.DocumentHighlights,Sl.Implementation,Sl.Navto,Sl.Quickinfo,Sl.References,Sl.Rename,Sl.SignatureHelp]),function(e){e.Unresolved={type:0},e.Resolved={type:1};e.Errored=class{constructor(e){this.err=e,this.type=2}}}(sh||(sh={}));class dh{fork(e,t,n,r){const i=e.tsServerPath,o=e.version?.gte(Nl.v490),s=[...t];o&&s.push("--useNodeIpc");const a=C.fork(i,s,{silent:!0,cwd:void 0,env:ph(process.env,i),execArgv:fh(n,r),stdio:o?["pipe","pipe","pipe","ipc"]:void 0});return o?new gh(a):new yh(a)}}function ph(e,t){const n=Object.assign({},e);return n.NODE_PATH=g.join(t,"..","..",".."),n.PATH=n.PATH||process.env.PATH,n}function fh(e,t){const n=[],r=function(e){if("syntax"===e)return;const t=mh()||process.env.TSS_DEBUG;if(t){const e=parseInt(t);if(!isNaN(e))return e}return}(e);if(r){const e=mh()?"--inspect-brk":"--inspect";n.push(`${e}=${r}`)}return t.maxTsServerMemory&&n.push(`--max-old-space-size=${t.maxTsServerMemory}`),n}function mh(){return process.env.TSS_DEBUG_BRK}class gh{constructor(e){this._process=e}write(e){this._process.send(e)}onData(e){this._process.on("message",e)}onExit(e){this._process.on("exit",e)}onStdErr(e){this._process.stderr.on("data",(t=>e(t.toString())))}onError(e){this._process.on("error",e)}kill(){this._process.kill()}}class yh{constructor(e){this._process=e,this._reader=new vh(this._process.stdout)}get reader(){return this._reader}write(e){this._process.stdin.write(`${JSON.stringify(e)}\r\n`,"utf8")}onData(e){this.reader.onData(e)}onExit(e){this._process.on("exit",e)}onStdErr(e){this._process.stderr.on("data",(t=>e(t.toString())))}onError(e){this._process.on("error",e),this.reader.onError(e)}kill(){this._process.kill(),this.reader.dispose(),this._reader=null}}class vh{constructor(e){this.buffer=new Eh,this.nextMessageLength=-1,this._onError=e=>{},this._onData=e=>{},this.isDisposed=!1,e.on("data",(e=>this.onLengthData(e)))}dispose(){this.isDisposed=!0,this._onError=e=>{},this._onData=e=>{}}onError(e){this._onError=e}onData(e){this._onData=e}onLengthData(e){if(!this.isDisposed)try{for(this.buffer.append(e);;){if(-1===this.nextMessageLength&&(this.nextMessageLength=this.buffer.tryReadContentLength(),-1===this.nextMessageLength))return;const e=this.buffer.tryReadContent(this.nextMessageLength);if(null===e)return;this.nextMessageLength=-1;const t=JSON.parse(e);this._onData(t)}}catch(e){this._onError(e)}}}const bh=8192,Sh=Buffer.byteLength("Content-Length: ","utf8"),wh=Buffer.from(" ","utf8")[0],Rh=Buffer.from("\r","utf8")[0],Ch=Buffer.from("\n","utf8")[0];class Eh{constructor(){this.index=0,this.buffer=Buffer.allocUnsafe(bh)}append(e){let t=null;if(t=Buffer.isBuffer(e)?e:Buffer.from(e,"utf8"),this.buffer.length-this.index>=t.length)t.copy(this.buffer,this.index,0,t.length);else{const e=(Math.ceil((this.index+t.length)/bh)+1)*bh;0===this.index?(this.buffer=Buffer.allocUnsafe(e),t.copy(this.buffer,0,0,t.length)):this.buffer=Buffer.concat([this.buffer.slice(0,this.index),t],e)}this.index+=t.length}tryReadContentLength(){let e=-1,t=0;for(;t<this.index&&(this.buffer[t]===wh||this.buffer[t]===Rh||this.buffer[t]===Ch);)t++;if(this.index<t+Sh)return e;t+=Sh;const n=t;for(;t<this.index&&this.buffer[t]!==Rh;)t++;if(t+3>=this.index||this.buffer[t+1]!==Ch||this.buffer[t+2]!==Rh||this.buffer[t+3]!==Ch)return e;const r=this.buffer.toString("utf8",n,t);return e=parseInt(r),this.buffer=this.buffer.slice(t+4),this.index=this.index-(t+4),e}tryReadContent(e){if(this.index<e)return null;const t=this.buffer.toString("utf8",0,e);let n=e;for(;n<this.index&&(this.buffer[n]===Rh||this.buffer[n]===Ch);)n++;return this.buffer.copy(this.buffer,0,n),this.index=this.index-n,t}}var _h,Dh,Th,kh;function xh(e){switch(e){case"never":return 0;case"auto":return 2}return 2}!function(e){e[e.Off=0]="Off",e[e.Normal=1]="Normal",e[e.Terse=2]="Terse",e[e.RequestTime=3]="RequestTime",e[e.Verbose=4]="Verbose"}(_h=_h||(_h={})),function(e){e.fromString=function(t){switch(t?.toLowerCase()){case"normal":return e.Normal;case"terse":return e.Terse;case"requestTime":return e.RequestTime;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Normal:return"normal";case e.Terse:return"terse";case e.Verbose:return"verbose";case e.Off:default:return"off"}}}(_h=_h||(_h={}));class Ph{constructor(e,t,n,r){this._apiVersion=e,this._logDirectoryProvider=t,this._logger=n,this._tracer=r}spawn(e,t,n,r){let i;const o=this.getCompositeServerType(e,t,n);switch(o){case 1:case 2:{const t=2===o;i=new hh({syntax:this.spawnTsServer("syntax",e,n),semantic:this.spawnTsServer("semantic",e,n)},r,t);break}case 0:i=this.spawnTsServer("main",e,n);break;case 3:i=this.spawnTsServer("syntax",e,n)}return i}getCompositeServerType(e,t,n){if(!t.has(Ll.Semantic))return 3;switch(n.useSyntaxServer){case 1:return 3;case 0:return 0;case 2:return e.version?.gte(Nl.v340)?e.version?.gte(Nl.v400)?2:1:0}}spawnTsServer(e,t,n){const r=new dh,i=rh.create(e,this._tracer),{args:o,tsServerLogFile:s}=this.getTsServerArgs(e,n,this._apiVersion,i.cancellationPipeName);this.isLoggingEnabled(n)&&(s?this._logger.logIgnoringVerbosity(bi.Info,`<${e}> Log file: ${s}`):this._logger.logIgnoringVerbosity(bi.Error,`<${e}> Could not create log directory`));const a=r.fork(t,o,e,n);return this._logger.log("Starting tsserver"),new uh(e,this.kindToServerType(e),a,s,i,t,this._tracer)}kindToServerType(e){return"syntax"===e?Ml.Syntax:Ml.Semantic}getTsServerArgs(e,t,n,r){const i=[];let o;"syntax"===e&&(n.gte(Nl.v401)?i.push("--serverMode","partialSemantic"):i.push("--syntaxOnly")),n.gte(Nl.v250)?i.push("--useInferredProjectPerProjectRoot"):i.push("--useSingleInferredProject");const{disableAutomaticTypingAcquisition:s,globalPlugins:a,locale:c,npmLocation:u,pluginProbeLocations:l}=t;if((s||"syntax"===e||"diagnostics"===e)&&i.push("--disableAutomaticTypingAcquisition"),r&&i.push("--cancellationPipeName",`${r}*`),this.isLoggingEnabled(t)){const e=this._logDirectoryProvider.getNewLogDirectory();e&&(o=g.join(e,"tsserver.log"),i.push("--logVerbosity",_h.toString(t.logVerbosity)),i.push("--logFile",o))}return a?.length&&i.push("--globalPlugins",a.join(",")),l?.length&&i.push("--pluginProbeLocations",l.join(",")),u&&(this._logger.info(`using npm from ${u}`),i.push("--npmLocation",`"${u}"`)),i.push("--locale",c||"en"),i.push("--validateDefaultNpmLocation"),{args:i,tsServerLogFile:o,tsServerTraceDirectory:undefined}}isLoggingEnabled(e){return e.logVerbosity!==_h.Off}}!function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(Dh=Dh||(Dh={})),function(e){e.fromString=function(t){switch(t=t.toLowerCase()){case"off":default:return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose}}}(Dh=Dh||(Dh={}));class Oh{constructor(e,t){this.logger=e,this.trace=t}traceRequest(e,t,n,r){if(this.trace===Dh.Off)return;let i;this.trace===Dh.Verbose&&t.arguments&&(i=`Arguments: ${JSON.stringify(t.arguments,null,4)}`),this.logTrace(e,`Sending request: ${t.command} (${t.seq}). Response expected: ${n?"yes":"no"}. Current queue length: ${r}`,i)}traceResponse(e,t,n){if(this.trace===Dh.Off)return;let r;this.trace===Dh.Verbose&&t.body&&(r=`Result: ${JSON.stringify(t.body,null,4)}`),this.logTrace(e,`Response received: ${t.command} (${t.request_seq}). Request took ${Date.now()-n.queuingStartTime} ms. Success: ${t.success} ${t.success?"":`. Message: ${t.message}`}`,r)}traceRequestCompleted(e,t,n,r){this.trace!==Dh.Off&&this.logTrace(e,`Async response received: ${t} (${n}). Request took ${Date.now()-r.queuingStartTime} ms.`)}traceEvent(e,t){if(this.trace===Dh.Off)return;let n;this.trace===Dh.Verbose&&t.body&&(n=`Data: ${JSON.stringify(t.body,null,4)}`),this.logTrace(e,`Event received: ${t.event} (${t.seq}).`,n)}logTrace(e,t,n){this.trace!==Dh.Off&&this.logger.trace("Trace",`<${e}> ${t}`,n)}}!function(e){e.None={type:0};e.Running=class{constructor(e,t,n,r){this.server=e,this.apiVersion=t,this.tsserverVersion=n,this.languageServiceEnabled=r,this.type=1}updateTsserverVersion(e){this.tsserverVersion=e}updateLanguageServiceEnabled(e){this.languageServiceEnabled=e}};e.Errored=class{constructor(e,t){this.error=e,this.tsServerLogFile=t,this.type=2}}}(Th||(Th={}));class Nh{constructor(e){this.lspClient=e}reset(){if(this._task){const e=this._task;this._task=void 0,e.then((e=>e.done()))}}startedLoadingProject(e){this.reset(),this._loadingProjectName=e,this._task=this.lspClient.createProgressReporter(),this._task.then((e=>e.begin("Initializing JS/TS language features…")))}finishedLoadingProject(e){this._loadingProjectName===e&&this.reset()}}class qh{constructor(e){this.options=e,this.serverState=Th.None,this.apiVersion=e.typescriptVersion.version||Nl.defaultVersion,this.typescriptVersionSource=e.typescriptVersion.source,this.logger=new wi(e.logger,"[tsclient]"),this.tsserverLogger=new wi(e.logger,"[tsserver]"),this.loadingIndicator=new Nh(e.lspClient),this.tracer=new Oh(this.tsserverLogger,e.trace)}get capabilities(){return 1===this.options.useSyntaxServer?new jl(Ll.Syntax,Ll.EnhancedSyntax):this.apiVersion.gte(Nl.v400)?new jl(Ll.Syntax,Ll.EnhancedSyntax,Ll.Semantic):new jl(Ll.Syntax,Ll.Semantic)}hasCapabilityForResource(e,t){if(!this.capabilities.has(t))return!1;switch(t){case Ll.Semantic:return["file","untitled"].includes(e.scheme);case Ll.Syntax:case Ll.EnhancedSyntax:return!0}}start(){const e=new Ph(this.apiVersion,this.options.logDirectoryProvider,this.logger,this.tracer).spawn(this.options.typescriptVersion,this.capabilities,this.options,{onFatalError:(e,t)=>this.fatalError(e,t)});return this.serverState=new Th.Running(e,this.apiVersion,void 0,!0),e.onExit((e=>{this.serverState=Th.None,this.shutdown(),this.tsserverLogger.error(`Exited. Code: ${e.code}. Signal: ${e.signal}`),this.options.onExit&&this.options.onExit(e.code,e.signal)})),e.onStdErr((e=>{e&&this.logger.error(e)})),e.onError((t=>{this.serverState=new Th.Errored(t,e.tsServerLogFile),t&&this.tsserverLogger.error("Exited with error. Error message is: {0}",t.message||t.name),this.serviceExited()})),e.onEvent((e=>this.dispatchEvent(e))),this.apiVersion.gte(Nl.v300)&&this.capabilities.has(Ll.Semantic)&&this.loadingIndicator.startedLoadingProject(""),!0}serviceExited(){1===this.serverState.type&&this.serverState.server.kill(),this.loadingIndicator.reset()}dispatchEvent(e){switch(e.event){case"syntaxDiag":case"semanticDiag":case"suggestionDiag":this.loadingIndicator.reset(),this.options.onEvent?.(e);break;case"projectsUpdatedInBackground":this.loadingIndicator.reset();break;case"projectLoadingStart":this.loadingIndicator.startedLoadingProject(e.body.projectName);break;case"projectLoadingFinish":this.loadingIndicator.finishedLoadingProject(e.body.projectName)}}shutdown(){this.loadingIndicator&&this.loadingIndicator.reset(),1===this.serverState.type&&this.serverState.server.kill(),this.serverState=Th.None}notify(e,t){this.executeWithoutWaitingForResponse(e,t)}requestGeterr(e,t){return this.executeAsync(Sl.Geterr,e,t)}async request(e,t,n,r){try{return await this.execute(e,t,n,r)}catch(e){throw new ye.ResponseError(1,e.message)}}execute(e,t,n,r){let i;return i||(i=this.executeImpl(e,t,{isAsync:!1,token:n,expectsResult:!0,...r})),r?.nonRecoverable&&i[0].catch((t=>this.fatalError(e,t))),e===Sl.UpdateOpen&&Promise.all(i).then((()=>{this.loadingIndicator.reset()})),i[0]}executeWithoutWaitingForResponse(e,t){this.executeImpl(e,t,{isAsync:!1,token:void 0,expectsResult:!1})}executeAsync(e,t,n){return this.executeImpl(e,t,{isAsync:!0,token:n,expectsResult:!0})[0]}executeImpl(e,t,n){const r=this.serverState;return 1===r.type?r.server.executeImpl(e,t,n):[Promise.resolve(Fl.NoServer)]}fatalError(e,t){if(this.tsserverLogger.error(`A non-recoverable error occurred while executing command: ${e}`),t instanceof $l&&t.serverErrorText&&this.tsserverLogger.error(t.serverErrorText),1===this.serverState.type){this.logger.info("Killing TS Server");const e=this.serverState.server.tsServerLogFile;this.serverState.server.kill(),t instanceof $l&&(this.serverState=new Th.Errored(t,e))}}}(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,o=-1,s=0,a=0;a<=e.length;++a){if(a<e.length)n=e.charCodeAt(a);else{if(47===n)break;n=47}if(47===n){if(o===a-1||1===s);else if(o!==a-1&&2===s){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var c=r.lastIndexOf("/");if(c!==r.length-1){-1===c?(r="",i=0):i=(r=r.slice(0,c)).length-1-r.lastIndexOf("/"),o=a,s=0;continue}}else if(2===r.length||1===r.length){r="",i=0,o=a,s=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(o+1,a):r=e.slice(o+1,a),i=a-o-1;o=a,s=0}else 46===n&&-1!==s?++s:s=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var s;o>=0?s=arguments[o]:(void 0===e&&(e=process.cwd()),s=e),t(s),0!==s.length&&(r=s+"/"+r,i=47===s.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n<arguments.length;++n){var i=arguments[n];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var o=e.length,s=o-i,a=1;a<n.length&&47===n.charCodeAt(a);++a);for(var c=n.length-a,u=s<c?s:c,l=-1,h=0;h<=u;++h){if(h===u){if(c>u){if(47===n.charCodeAt(a+h))return n.slice(a+h+1);if(0===h)return n.slice(a+h)}else s>u&&(47===e.charCodeAt(i+h)?l=h:0===h&&(l=0));break}var d=e.charCodeAt(i+h);if(d!==n.charCodeAt(a+h))break;47===d&&(l=h)}var p="";for(h=i+l+1;h<=o;++h)h!==o&&47!==e.charCodeAt(h)||(0===p.length?p+="..":p+="/..");return p.length>0?p+n.slice(a+l):(a+=l,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,o=!0,s=e.length-1;s>=1;--s)if(47===(n=e.charCodeAt(s))){if(!o){i=s;break}}else o=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,o=-1,s=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,c=-1;for(r=e.length-1;r>=0;--r){var u=e.charCodeAt(r);if(47===u){if(!s){i=r+1;break}}else-1===c&&(s=!1,c=r+1),a>=0&&(u===n.charCodeAt(a)?-1==--a&&(o=r):(a=-1,o=c))}return i===o?o=c:-1===o&&(o=e.length),e.slice(i,o)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!s){i=r+1;break}}else-1===o&&(s=!1,o=r+1);return-1===o?"":e.slice(i,o)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,o=!0,s=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47!==c)-1===i&&(o=!1,i=a+1),46===c?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1);else if(!o){r=a+1;break}}return-1===n||-1===i||0===s||1===s&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+"/"+r:r}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),o=47===i;o?(n.root="/",r=1):r=0;for(var s=-1,a=0,c=-1,u=!0,l=e.length-1,h=0;l>=r;--l)if(47!==(i=e.charCodeAt(l)))-1===c&&(u=!1,c=l+1),46===i?-1===s?s=l:1!==h&&(h=1):-1!==s&&(h=-1);else if(!u){a=l+1;break}return-1===s||-1===c||0===h||1===h&&s===c-1&&s===a+1?-1!==c&&(n.base=n.name=0===a&&o?e.slice(1,c):e.slice(a,c)):(0===a&&o?(n.name=e.slice(1,s),n.base=e.slice(1,c)):(n.name=e.slice(a,s),n.base=e.slice(a,c)),n.ext=e.slice(s,c)),a>0?n.dir=e.slice(0,a-1):o&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{var e;if(n.r(r),n.d(r,{URI:()=>f,Utils:()=>_}),"object"==typeof process)e="win32"===process.platform;else if("object"==typeof navigator){var t=navigator.userAgent;e=t.indexOf("Windows")>=0}var i,o,s=(i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},i(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function l(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var h="",d="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function t(e,t,n,r,i,o){void 0===o&&(o=!1),"object"==typeof e?(this.scheme=e.scheme||h,this.authority=e.authority||h,this.path=e.path||h,this.query=e.query||h,this.fragment=e.fragment||h):(this.scheme=function(e,t){return e||t?e:"file"}(e,o),this.authority=t||h,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==d&&(t=d+t):t=d}return t}(this.scheme,n||h),this.query=r||h,this.fragment=i||h,l(this,o))}return t.isUri=function(e){return e instanceof t||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString},Object.defineProperty(t.prototype,"fsPath",{get:function(){return S(this,!1)},enumerable:!1,configurable:!0}),t.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,o=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=h),void 0===n?n=this.authority:null===n&&(n=h),void 0===r?r=this.path:null===r&&(r=h),void 0===i?i=this.query:null===i&&(i=h),void 0===o?o=this.fragment:null===o&&(o=h),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new g(t,n,r,i,o)},t.parse=function(e,t){void 0===t&&(t=!1);var n=p.exec(e);return n?new g(n[2]||h,E(n[4]||h),E(n[5]||h),E(n[7]||h),E(n[9]||h),t):new g(h,h,h,h,h)},t.file=function(t){var n=h;if(e&&(t=t.replace(/\\/g,d)),t[0]===d&&t[1]===d){var r=t.indexOf(d,2);-1===r?(n=t.substring(2),t=d):(n=t.substring(2,r),t=t.substring(r)||d)}return new g("file",n,t,h,h)},t.from=function(e){var t=new g(e.scheme,e.authority,e.path,e.query,e.fragment);return l(t,!0),t},t.prototype.toString=function(e){return void 0===e&&(e=!1),w(this,e)},t.prototype.toJSON=function(){return this},t.revive=function(e){if(e){if(e instanceof t)return e;var n=new g(e);return n._formatted=e.external,n._fsPath=e._sep===m?e.fsPath:null,n}return e},t}(),m=e?1:void 0,g=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return s(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=S(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?w(this,!0):(this._formatted||(this._formatted=w(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=m),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),y=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t,n){for(var r=void 0,i=-1,o=0;o<e.length;o++){var s=e.charCodeAt(o);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||n&&91===s||n&&93===s||n&&58===s)-1!==i&&(r+=encodeURIComponent(e.substring(i,o)),i=-1),void 0!==r&&(r+=e.charAt(o));else{void 0===r&&(r=e.substr(0,o));var a=y[s];void 0!==a?(-1!==i&&(r+=encodeURIComponent(e.substring(i,o)),i=-1),r+=a):-1===i&&(i=o)}}return-1!==i&&(r+=encodeURIComponent(e.substring(i))),void 0!==r?r:e}function b(e){for(var t=void 0,n=0;n<e.length;n++){var r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=y[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function S(t,n){var r;return r=t.authority&&t.path.length>1&&"file"===t.scheme?"//".concat(t.authority).concat(t.path):47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?n?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(r=r.replace(/\//g,"\\")),r}function w(e,t){var n=t?b:v,r="",i=e.scheme,o=e.authority,s=e.path,a=e.query,c=e.fragment;if(i&&(r+=i,r+=":"),(o||"file"===i)&&(r+=d,r+=d),o){var u=o.indexOf("@");if(-1!==u){var l=o.substr(0,u);o=o.substr(u+1),-1===(u=l.lastIndexOf(":"))?r+=n(l,!1,!1):(r+=n(l.substr(0,u),!1,!1),r+=":",r+=n(l.substr(u+1),!1,!0)),r+="@"}-1===(u=(o=o.toLowerCase()).lastIndexOf(":"))?r+=n(o,!1,!0):(r+=n(o.substr(0,u),!1,!0),r+=o.substr(u))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(h=s.charCodeAt(1))>=65&&h<=90&&(s="/".concat(String.fromCharCode(h+32),":").concat(s.substr(3)));else if(s.length>=2&&58===s.charCodeAt(1)){var h;(h=s.charCodeAt(0))>=65&&h<=90&&(s="".concat(String.fromCharCode(h+32),":").concat(s.substr(2)))}r+=n(s,!0,!1)}return a&&(r+="?",r+=n(a,!1,!1)),c&&(r+="#",r+=t?c:v(c,!1,!1)),r}function R(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+R(e.substr(3)):e}}var C=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(e){return e.match(C)?e.replace(C,(function(e){return R(e)})):e}var _,D=n(470),T=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))},k=D.posix||D,x="/";!function(e){e.joinPath=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return e.with({path:k.join.apply(k,T([e.path],t,!1))})},e.resolvePath=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=e.path,i=!1;r[0]!==x&&(r=x+r,i=!0);var o=k.resolve.apply(k,T([r],t,!1));return i&&o[0]===x&&!e.authority&&(o=o.substring(1)),e.with({path:o})},e.dirname=function(e){if(0===e.path.length||e.path===x)return e;var t=k.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},e.basename=function(e){return k.basename(e.path)},e.extname=function(e){return k.extname(e.path)}}(_||(_={}))})(),kh=r})();const{URI:Ih,Utils:Ah}=kh;var Mh,Fh,Lh;!function(e){e.fromTextSpan=t=>e.fromLocations(t.start,t.end),e.toTextSpan=e=>({start:Fh.toLocation(e.start),end:Fh.toLocation(e.end)}),e.fromLocations=(e,t)=>_e.Range.create(Math.max(0,e.line-1),Math.max(e.offset-1,0),Math.max(0,t.line-1),Math.max(0,t.offset-1)),e.toFileRangeRequestArgs=(e,t)=>({file:e,startLine:t.start.line+1,startOffset:t.start.character+1,endLine:t.end.line+1,endOffset:t.end.character+1}),e.toFormattingRequestArgs=(e,t)=>({file:e,line:t.start.line+1,offset:t.start.character+1,endLine:t.end.line+1,endOffset:t.end.character+1}),e.intersection=function(e,t){const n=Fh.Max(t.start,e.start),r=Fh.Min(t.end,e.end);if(!Fh.isAfter(n,r))return _e.Range.create(n,r)},e.union=function(e,t){const n=Fh.Min(t.start,e.start),r=Fh.Max(t.end,e.end);return _e.Range.create(n,r)}}(Mh=Mh||(Mh={})),function(e){function t(e,t){return e.line<t.line||!(t.line<e.line)&&e.character<t.character}function n(e,t){return!r(e,t)}function r(e,t){return e.line<t.line||!(t.line<e.line)&&e.character<=t.character}e.fromLocation=e=>({line:Math.max(e.line-1,0),character:Math.max(e.offset-1,0)}),e.toLocation=e=>({line:e.line+1,offset:e.character+1}),e.toFileLocationRequestArgs=(e,t)=>({file:e,line:t.line+1,offset:t.character+1}),e.Min=function(...e){if(!e.length)return;let n=e.pop();for(const r of e)t(r,n)&&(n=r);return n},e.isBefore=t,e.Max=function(...e){if(!e.length)return;let t=e.pop();for(const r of e)n(r,t)&&(t=r);return t},e.isAfter=n,e.isBeforeOrEqual=r}(Fh=Fh||(Fh={})),function(e){e.fromTextSpan=(e,t)=>_e.Location.create(e,Mh.fromTextSpan(t))}(Lh=Lh||(Lh={}));const jh=/\\/g;function $h(e){if(e.startsWith("zipfile:"))return e;const t=Ih.parse(e);return"file"===t.scheme?Vh(t.fsPath):void 0}function Hh(e,t){if(e.startsWith("zipfile:"))return e;const n=Ih.file(e),r=Wh(n.fsPath),i=t?.get(r);return i?i.uri:n.toString()}function Wh(e){return Vh(Ih.file(e).fsPath)}function Vh(e){return e.replace(jh,"/")}function Uh(e,t){const n=Wh(Ih.file(e).fsPath),r=t?.get(n);return r?r.version:null}function Kh(e,t){return{uri:Hh(e.file,t),range:{start:Fh.fromLocation(e.start),end:Fh.fromLocation(e.end)}}}const Gh={"enum member":ye.SymbolKind.Constant,"JSX attribute":ye.SymbolKind.Property,"local class":ye.SymbolKind.Class,"local function":ye.SymbolKind.Function,"local var":ye.SymbolKind.Variable,"type parameter":ye.SymbolKind.Variable,alias:ye.SymbolKind.Variable,class:ye.SymbolKind.Class,const:ye.SymbolKind.Constant,constructor:ye.SymbolKind.Constructor,enum:ye.SymbolKind.Enum,field:ye.SymbolKind.Field,file:ye.SymbolKind.File,function:ye.SymbolKind.Function,getter:ye.SymbolKind.Method,interface:ye.SymbolKind.Interface,let:ye.SymbolKind.Variable,method:ye.SymbolKind.Method,module:ye.SymbolKind.Module,parameter:ye.SymbolKind.Variable,property:ye.SymbolKind.Property,setter:ye.SymbolKind.Method,var:ye.SymbolKind.Variable};function zh(e){return Gh[e]||ye.SymbolKind.Variable}function Bh(e){switch(e){case"error":default:return ye.DiagnosticSeverity.Error;case"warning":return ye.DiagnosticSeverity.Warning;case"suggestion":return ye.DiagnosticSeverity.Hint}}function Jh(e,t,n){const r={range:{start:Fh.fromLocation(e.start),end:Fh.fromLocation(e.end)},message:e.text,severity:Bh(e.category),code:e.code,source:e.source||"typescript",relatedInformation:Xh(e.relatedInformation,t)};return n.diagnosticsTagSupport&&(r.tags=function(e){const t=[];e.reportsUnnecessary&&t.push(ye.DiagnosticTag.Unnecessary);e.reportsDeprecated&&t.push(ye.DiagnosticTag.Deprecated);return t}(e)),r}function Xh(e,t){if(!e)return;const n=[];for(const r of e){const e=r.span;e&&n.push(ye.DiagnosticRelatedInformation.create(Kh(e,t),r.message))}return n}function Yh(e){return ye.SelectionRange.create(Mh.fromTextSpan(e.textSpan),e.parent?Yh(e.parent):void 0)}function Qh(e){return{range:{start:Fh.fromLocation(e.start),end:Fh.fromLocation(e.end)},newText:e.newText}}function Zh(e,t){return{textDocument:{uri:Hh(e.fileName,t),version:Uh(e.fileName,t)},edits:e.textChanges.map((e=>Qh(e)))}}function ed(e){return e.highlightSpans.map((e=>({kind:td(e.kind),range:{start:Fh.fromLocation(e.start),end:Fh.fromLocation(e.end)}})))}function td(e){switch(e){case wl.definition:return ye.DocumentHighlightKind.Write;case wl.reference:case wl.writtenReference:return ye.DocumentHighlightKind.Read;default:return ye.DocumentHighlightKind.Text}}class nd{constructor(e,t,n,r){this.uri=e,this.publishDiagnostics=t,this.documents=n,this.features=r,this.diagnosticsPerKind=new Map,this.firePublishDiagnostics=Va((()=>{const e=this.getDiagnostics();this.publishDiagnostics({uri:this.uri,diagnostics:e})}),50)}update(e,t){this.diagnosticsPerKind.set(e,t),this.firePublishDiagnostics()}getDiagnostics(){const e=[];for(const t of this.diagnosticsPerKind.values())for(const n of t)e.push(Jh(n,this.documents,this.features));return e}}class rd{constructor(e,t,n,r,i){this.publishDiagnostics=e,this.documents=t,this.features=n,this.logger=r,this.tspClient=i,this.diagnostics=new Map,this.ignoredDiagnosticCodes=new Set}updateDiagnostics(e,t,n){if(0!==e&&!this.tspClient.hasCapabilityForResource(this.documents.toResource(t),Ll.Semantic))return;this.ignoredDiagnosticCodes.size&&(n=n.filter((e=>!this.isDiagnosticIgnored(e))));const r=Hh(t,this.documents),i=this.diagnostics.get(r)||new nd(r,this.publishDiagnostics,this.documents,this.features);i.update(e,n),this.diagnostics.set(r,i)}updateIgnoredDiagnosticCodes(e){this.ignoredDiagnosticCodes=new Set(e)}getDiagnosticsForFile(e){const t=Hh(e,this.documents);return this.diagnostics.get(t)?.getDiagnostics()||[]}isDiagnosticIgnored(e){return void 0!==e.code&&this.ignoredDiagnosticCodes.has(e.code)}}var id,od=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))},sd=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(t,n){for(var r=0,i=t;r<i.length;r++){var o=i[r];if(e.isIncremental(o)){var s=ud(o.range),a=this.offsetAt(s.start),c=this.offsetAt(s.end);this._content=this._content.substring(0,a)+o.text+this._content.substring(c,this._content.length);var u=Math.max(s.start.line,0),l=Math.max(s.end.line,0),h=this._lineOffsets,d=cd(o.text,!1,a);if(l-u===d.length)for(var p=0,f=d.length;p<f;p++)h[p+u+1]=d[p];else d.length<1e4?h.splice.apply(h,od([u+1,l-u],d,!1)):this._lineOffsets=h=h.slice(0,u+1).concat(d,h.slice(l+1));var m=o.text.length-(c-a);if(0!==m)for(p=u+1+d.length,f=h.length;p<f;p++)h[p]=h[p]+m}else{if(!e.isFull(o))throw new Error("Unknown change event received");this._content=o.text,this._lineOffsets=void 0}}this._version=n},e.prototype.getLineOffsets=function(){return void 0===this._lineOffsets&&(this._lineOffsets=cd(this._content,!0)),this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return{line:0,character:e};for(;n<r;){var i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}var o=n-1;return{line:o,character:e-t[o]}},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)},Object.defineProperty(e.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),e.isIncremental=function(e){var t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},e.isFull=function(e){var t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},e}();function ad(e,t){if(e.length<=1)return e;var n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);ad(r,t),ad(i,t);for(var o=0,s=0,a=0;o<r.length&&s<i.length;){var c=t(r[o],i[s]);e[a++]=c<=0?r[o++]:i[s++]}for(;o<r.length;)e[a++]=r[o++];for(;s<i.length;)e[a++]=i[s++];return e}function cd(e,t,n){void 0===n&&(n=0);for(var r=t?[n]:[],i=0;i<e.length;i++){var o=e.charCodeAt(i);13!==o&&10!==o||(13===o&&i+1<e.length&&10===e.charCodeAt(i+1)&&i++,r.push(n+i+1))}return r}function ud(e){var t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function ld(e){var t=ud(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,r){return new sd(e,t,n,r)},e.update=function(e,t,n){if(e instanceof sd)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){for(var n=e.getText(),r=ad(t.map(ld),(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=0,o=[],s=0,a=r;s<a.length;s++){var c=a[s],u=e.offsetAt(c.range.start);if(u<i)throw new Error("Overlapping edit");u>i&&o.push(n.substring(i,u)),c.newText.length&&o.push(c.newText),i=e.offsetAt(c.range.end)}return o.push(n.substr(i)),o.join("")}}(id||(id={}));class hd{constructor(e){const{uri:t,languageId:n,version:r,text:i}=e;this.document=id.create(t,n,r,i)}get uri(){return this.document.uri}get languageId(){return this.document.languageId}get version(){return this.document.version}getText(e){return this.document.getText(e)}positionAt(e){return this.document.positionAt(e)}offsetAt(e){return this.document.offsetAt(e)}get lineCount(){return this.document.lineCount}getLine(e){const t=this.getLineRange(e);return this.getText(t)}getLineRange(e){const t=this.getLineStart(e),n=this.getLineEnd(e);return ye.Range.create(t,n)}getLineEnd(e){const t=e+1,n=this.getLineOffset(t);return this.positionAt(t<this.document.lineCount?n-1:n)}getLineOffset(e){const t=this.getLineStart(e);return this.offsetAt(t)}getLineStart(e){return ye.Position.create(e,0)}applyEdit(e,t){const n=this.getText();let r=t.text;if(ye.TextDocumentContentChangeEvent.isIncremental(t)){const e=this.offsetAt(t.range.start),i=this.offsetAt(t.range.end);r=n.substr(0,e)+t.text+n.substr(i)}this.document=id.create(this.uri,this.languageId,e,r)}}class dd{constructor(){this._files=[],this.documents=new Map}get files(){return this._files}get(e){const t=this.documents.get(e);if(t)return this.files[0]!==e&&(this._files.splice(this._files.indexOf(e),1),this._files.unshift(e)),t}open(e,t){return!this.documents.has(e)&&(this.documents.set(e,new hd(t)),this._files.unshift(e),!0)}close(e){const t=this.documents.get(e);if(t)return this.documents.delete(e),this._files.splice(this._files.indexOf(e),1),t}toResource(e){const t=this.documents.get(e);return t?Ih.parse(t.uri):Ih.file(e)}}class pd{static async execute(e,t,n,r,i,o,s){if(r.apiVersion.lt(pd.minVersion))return void i.showErrorMessage("Go to Source Definition failed. Requires TypeScript 4.7+.");if(!t||"number"!=typeof t.character||"number"!=typeof t.line)return void i.showErrorMessage("Go to Source Definition failed. Invalid position.");let a;if(!e||"string"!=typeof e||!(a=$h(e)))return void i.showErrorMessage("Go to Source Definition failed. No resource provided.");if(!n.get(a))return void i.showErrorMessage("Go to Source Definition failed. File not opened in the editor.");const c=Fh.toFileLocationRequestArgs(a,t);return await i.withProgress({message:"Finding source definitions…",reporter:o},(async()=>{const e=await r.request(Sl.FindSourceDefinition,c,s);if("response"===e.type&&e.body)return e.body.map((e=>Kh(e,n)));i.showErrorMessage("No source definitions found.")}))}}pd.id="_typescript.goToSourceDefinition",pd.minVersion=Nl.v470;const fd={APPLY_WORKSPACE_EDIT:"_typescript.applyWorkspaceEdit",APPLY_CODE_ACTION:"_typescript.applyCodeAction",APPLY_REFACTORING:"_typescript.applyRefactoring",CONFIGURE_PLUGIN:"_typescript.configurePlugin",ORGANIZE_IMPORTS:"_typescript.organizeImports",APPLY_RENAME_FILE:"_typescript.applyRenameFile",APPLY_COMPLETION_CODE_ACTION:"_typescript.applyCompletionCodeAction",SELECT_REFACTORING:"_typescript.selectRefactoring",SOURCE_DEFINITION:pd.id},md=new ye.NotificationType("$/typescriptVersion");class gd{constructor(e=""){this.value=e}appendText(e,t=0){var n;return this.value+=(n=e,n.replace(/[\\`*_{}[\]()#+\-!]/g,"\\$&")).replace(/([ \t]+)/g,((e,t)=>" ".repeat(t.length))).replace(/>/gm,"\\>").replace(/\n/g,1===t?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+="\n```",this.value+=e,this.value+="\n",this.value+=t,this.value+="\n```\n",this}toMarkupContent(){return{kind:"markdown",value:this.value}}}function yd(e){return function(e){return e.replace(/\{@(link|linkplain|linkcode) (https?:\/\/[^ |}]+?)(?:[| ]([^{}\n]+?))?\}/gi,((e,t,n,r)=>"linkcode"===t?`[\`${r?r.trim():n}\`](${n})`:`[${r?r.trim():n}](${n})`))}(e)}function vd(e,t){switch(e.name){case"augments":case"extends":case"param":case"template":{const n=Sd(e.text,t).split(/^(\S+)\s*-?\s*/);if(3===n?.length){const t=n[1],r=n[2],i=`*@${e.name}* \`${t}\``;return r?i+(r.match(/\r\n|\n/g)?" \n"+yd(r):` — ${yd(r)}`):i}}}const n=`*@${e.name}*`,r=function(e,t){if(!e.text)return;function n(e){return/^\s*[~`]{3}/m.test(e)?e:"```\n"+e+"\n```"}const r=Sd(e.text,t);switch(e.name){case"example":{const e=r.match(/<caption>(.*?)<\/caption>\s*(\r\n|\n)/);return e&&0===e.index?e[1]+"\n"+n(r.substring(e[0].length)):n(r)}case"author":{const e=r.match(/(.+)\s<([-.\w]+@[-.\w]+)>/);return null===e?r:`${e[1]} ${e[2]}`}case"default":return n(r)}return yd(r)}(e,t);return r?n+(r.match(/\r\n|\n/g)?" \n"+r:` — ${r}`):n}function bd(e,t){return yd(Sd(e,t))}function Sd(e,t){if(!e)return"";if("string"==typeof e)return e;const n=[];let r;for(const i of e)switch(i.kind){case"link":if(r){if(r.target){const e=t.toResource(r.target.file).with({fragment:`L${r.target.start.line},${r.target.start.offset}`}),i=r.text?r.text:Cd(r.name??"");n.push(`[${r.linkcode?"`"+i+"`":i}](${e.toString()})`)}else{const e=r.text??r.name;if(e)if(/^https?:/.test(e)){const t=e.split(" ");if(1===t.length)n.push(t[0]);else if(t.length>1){const e=Cd(t.slice(1).join(" "));n.push(`[${r.linkcode?"`"+e+"`":e}](${t[0]})`)}}else n.push(Cd(e))}r=void 0}else r={linkcode:"{@linkcode "===i.text};break;case"linkName":r&&(r.name=i.text,r.target=i.target);break;case"linkText":r&&(r.text=i.text);break;default:n.push(i.text)}return yd(n.join(""))}function wd(e,t,n){const r=new gd;return Rd(r,e,t,n),r.value?r.toMarkupContent():void 0}function Rd(e,t,n,r){if(t&&e.appendMarkdown(bd(t,r)),n){const t=function(e,t){return e.map((e=>vd(e,t))).join(" \n\n")}(n,r);t&&e.appendMarkdown("\n\n"+t)}return e}function Cd(e){return e.replace(/`/g,"\\$&")}class Ed{static isSnippetString(e){return e instanceof Ed||!!e&&"string"==typeof e.value}static _escape(e){return e.replace(/\$|}|\\/g,"\\$&")}constructor(e){this._tabstop=1,this.value=e||""}appendText(e){return this.value+=Ed._escape(e),this}appendTabstop(e=this._tabstop++){return this.value+="$",this.value+=e,this}appendPlaceholder(e,t=this._tabstop++){if("function"==typeof e){const t=new Ed;t._tabstop=this._tabstop,e(t),this._tabstop=t._tabstop,e=t.value}else e=Ed._escape(e);return this.value+="${",this.value+=t,this.value+=":",this.value+=e,this.value+="}",this}appendVariable(e,t){if("function"==typeof t){const e=new Ed;e._tabstop=this._tabstop,t(e),this._tabstop=e._tabstop,t=e.value}else"string"==typeof t&&(t=t.replace(/\$|}/g,"\\$&"));return this.value+="${",this.value+=e,t&&(this.value+=":",this.value+=t),this.value+="}",this}}function _d(e,t,n,r,i,o,s,a){const c={label:e.name,kind:Td(e.kind),sortText:e.sortText,preselect:e.isRecommended,data:{file:t,line:n.line+1,offset:n.character+1,entryNames:[e.source||e.data?{name:e.name,source:e.source,data:e.data}:e.name]}};s.completionCommitCharactersSupport&&(c.commitCharacters=function(e){const t=[];switch(e){case Dl.memberGetAccessorElement:case Dl.memberSetAccessorElement:case Dl.constructSignatureElement:case Dl.callSignatureElement:case Dl.indexSignatureElement:case Dl.enumElement:case Dl.interfaceElement:t.push(".");break;case Dl.moduleElement:case Dl.alias:case Dl.constElement:case Dl.letElement:case Dl.variableElement:case Dl.localVariableElement:case Dl.memberVariableElement:case Dl.classElement:case Dl.functionElement:case Dl.memberFunctionElement:t.push(".",","),t.push("(")}return 0===t.length?void 0:t}(e.kind)),s.completionLabelDetails&&(c.labelDetails=e.labelDetails),e.source&&e.hasAction&&(c.sortText=`${e.sortText}`);const{isSnippet:u,replacementSpan:l,sourceDisplay:h}=e;if(u&&!s.completionSnippets)return null;s.completionSnippets&&(u||xd(c.kind,o))&&(c.insertTextFormat=ye.InsertTextFormat.Snippet),h&&(c.detail=bd(h,i));const{line:d,optionalReplacementRange:p,isMemberCompletion:f,dotAccessorContext:m}=a;let g=function(e,t,n,r,i){if(e)return{replace:Dd(Mh.fromTextSpan(e),r)};if(i.completionInsertReplaceSupport&&t){const e=Dd(t,r);return{insert:ye.Range.create(e.start,n),replace:e}}}(l,p,n,r,s),{insertText:y}=e;if(s.completionDisableFilterText||(c.filterText=function(e,t,n,r){if(e.name.startsWith("#")){const i=t?n.charAt(t.start.character):void 0;return r?r.startsWith("this.#")?"#"===i?r:r.replace(/&this\.#/,""):i:"#"===i?void 0:e.name.replace(/^#/,"")}if(r?.startsWith("this."))return;if(r?.startsWith("["))return r.replace(/^\[['"](.+)[['"]\]$/,".$1");return r}(e,p,d,y)),f&&m&&!e.isSnippet){const e=m.text+(y||c.label);s.completionDisableFilterText||(c.filterText=e),g||(g=s.completionInsertReplaceSupport&&p?{insert:m.range,replace:Mh.union(m.range,p)}:{replace:m.range},y=e)}if(e.kindModifiers){const t=new Set(e.kindModifiers.split(/,|\s+/g));if(t.has(ql.optional)&&(y||(y=c.label),c.filterText||(c.filterText=c.label),c.label+="?"),t.has(ql.deprecated)&&(c.tags=[ye.CompletionItemTag.Deprecated]),e.kind===Dl.scriptElement)for(const n of ql.fileExtensionKindModifiers)if(t.has(n)){e.name.toLowerCase().endsWith(n)?c.detail=e.name:c.detail=e.name+n;break}}return g?c.textEdit=g.insert?ye.InsertReplaceEdit.create(y||c.label,g.insert,g.replace):ye.TextEdit.replace(g.replace,y||c.label):c.insertText=y,c}function Dd(e,t){return e.start.line!==e.end.line?ye.Range.create(e.start,t.getLineEnd(e.start.line)):e}function Td(e){switch(e){case Dl.primitiveType:case Dl.keyword:return ye.CompletionItemKind.Keyword;case Dl.constElement:return ye.CompletionItemKind.Constant;case Dl.letElement:case Dl.variableElement:case Dl.localVariableElement:case Dl.alias:return ye.CompletionItemKind.Variable;case Dl.memberVariableElement:case Dl.memberGetAccessorElement:case Dl.memberSetAccessorElement:return ye.CompletionItemKind.Field;case Dl.functionElement:return ye.CompletionItemKind.Function;case Dl.memberFunctionElement:case Dl.constructSignatureElement:case Dl.callSignatureElement:case Dl.indexSignatureElement:return ye.CompletionItemKind.Method;case Dl.enumElement:return ye.CompletionItemKind.Enum;case Dl.moduleElement:case Dl.externalModuleName:return ye.CompletionItemKind.Module;case Dl.classElement:case Dl.typeElement:return ye.CompletionItemKind.Class;case Dl.interfaceElement:return ye.CompletionItemKind.Interface;case Dl.warning:case Dl.scriptElement:return ye.CompletionItemKind.File;case Dl.directory:return ye.CompletionItemKind.Folder;case Dl.string:return ye.CompletionItemKind.Constant}return ye.CompletionItemKind.Property}async function kd(e,t,n,r,i,o,s){e.detail=function({displayParts:e,sourceDisplay:t,source:n},r){const i=[],o=t||n;o&&i.push(`Auto import from '${bd(o,r)}'`);const s=bd(e,r);s&&i.push(s);return i.join("\n")}(t,i);const{documentation:a,tags:c}=t;e.documentation=wd(a,c,i);const u=Wh(e.data.file);if(t.codeActions?.length&&(e.additionalTextEdits=function(e,t){const n=[];for(const r of e)if(r.changes)for(const e of r.changes)if(e.fileName===t)for(const t of e.textChanges)n.push(Qh(t));return n.length?n:void 0}(t.codeActions,u),e.command=function(e,t){let n=!1;for(const r of e){if(r.commands){n=!0;break}if(r.changes)for(const e of r.changes)if(e.fileName!==t){n=!0;break}}if(n)return{title:"",command:fd.APPLY_COMPLETION_CODE_ACTION,arguments:[t,e.map((e=>({commands:e.commands,description:e.description,changes:e.changes.filter((e=>e.fileName!==t))})))]}}(t.codeActions,e.data.file)),n&&s.completionSnippets&&xd(e.kind,o)){const{line:i,offset:o}=e.data,s=Fh.fromLocation({line:i,offset:o}),a=await async function(e,t,n,r){try{const r=Fh.toFileLocationRequestArgs(e,t),i=await n.request(Sl.Quickinfo,r);if("response"===i.type&&i.body)switch(i.body.kind){case"var":case"let":case"const":case"alias":return!1}}catch{}const i=r.getLine(t.line).slice(t.character);return null===i.match(/^[a-z_$0-9]*\s*\(/gi)}(u,s,r,n);a&&function(e,t){const{displayParts:n}=t,r=function(e){const t=[];let n=!1,r=!1,i=0,o=0;e:for(let s=0;s<e.length;++s){const a=e[s];switch(Al(a.kind)){case xl.methodName:case xl.functionName:case xl.text:case xl.propertyName:0===i&&0===o&&(n=!0);break;case xl.parameterName:if(1===i&&0===o&&n){const n=e[s+1],i=n&&"?"===n.text,o="this"===a.text;i||o||t.push(a),r=r||i}break;case xl.punctuation:if("("===a.text)++i;else if(")"===a.text){if(--i,i<=0&&n)break e}else{if("..."===a.text&&1===i){r=!0;break e}"{"===a.text?++o:"}"===a.text&&--o}}}return{hasOptionalParameters:r,parts:t}}(n),i=new Ed;i.appendText(`${e.insertText||e.textEdit?.newText||e.label}(`),function(e,t,n){for(let r=0;r<t.length;++r){const i=t[r];e.appendPlaceholder(i.text),r!==t.length-1&&e.appendText(n)}}(i,r.parts,", "),r.hasOptionalParameters&&i.appendTabstop();i.appendText(")"),i.appendTabstop(0),e.insertText=i.value,e.insertTextFormat=ye.InsertTextFormat.Snippet,e.textEdit&&(e.textEdit.newText=i.value)}(e,t)}return e}function xd(e,t){return!0===t.completeFunctionCalls&&(e===ye.CompletionItemKind.Function||e===ye.CompletionItemKind.Method)}function Pd(e){switch(e){case"@":case"#":case" ":case".":case'"':case"'":case"`":case"/":case"<":return e;default:return}}function Od(e,t,n){const r=e.items.map((e=>function(e,t){const n=e.parameters.map((e=>function(e,t){const{displayParts:n,documentation:r}=e;return{label:bd(n,t),documentation:wd(r,void 0,t)}}(e,t))),r={label:bd(e.prefixDisplayParts,t),documentation:wd(e.documentation,e.tags.filter((e=>"param"!==e.name)),t),parameters:n};return r.label+=n.map((e=>e.label)).join(bd(e.separatorDisplayParts,t)),r.label+=bd(e.suffixDisplayParts,t),r}(e,n)));return{activeSignature:Nd(e,r,t),activeParameter:qd(e),signatures:r}}function Nd(e,t,n){if(void 0!==n?.activeSignatureHelp?.activeSignature){const e=n.activeSignatureHelp.signatures[n.activeSignatureHelp.activeSignature];if(e&&n.isRetrigger){const n=t.findIndex((t=>t.label===e.label));if(-1!==n)return n}}return e.selectedItemIndex}function qd(e){const t=e.items[e.selectedItemIndex];return t?.isVariadic?Math.min(e.argumentIndex,t.parameters.length-1):e.argumentIndex}function Id(e){switch(e.triggerKind){case ye.SignatureHelpTriggerKind.TriggerCharacter:return e.triggerCharacter?e.isRetrigger?{kind:"retrigger",triggerCharacter:e.triggerCharacter}:{kind:"characterTyped",triggerCharacter:e.triggerCharacter}:{kind:"invoked"};case ye.SignatureHelpTriggerKind.ContentChange:return e.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case ye.SignatureHelpTriggerKind.Invoked:default:return{kind:"invoked"}}}function Ad(e,t){return ye.CodeAction.create(e.description,ye.Command.create(e.description,fd.SELECT_REFACTORING,e,t),ye.CodeActionKind.Refactor)}function Md(e,t,n){const r=ye.CodeAction.create(e.description,function(e){if(e.name.startsWith("function_"))return`${ye.CodeActionKind.RefactorExtract}.function`;if(e.name.startsWith("constant_"))return`${ye.CodeActionKind.RefactorExtract}.constant`;if(e.name.startsWith("Move"))return`${ye.CodeActionKind.Refactor}.move`;return ye.CodeActionKind.Refactor}(t));return e.notApplicableReason?r.disabled={reason:e.notApplicableReason}:r.command=ye.Command.create(e.description,fd.APPLY_REFACTORING,{...n,refactor:t.name,action:e.name}),r}class Fd{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||""===this.value||e.value.startsWith(this.value+Fd.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(e){return new Fd(this.value+Fd.sep+e)}}Fd.sep=".",Fd.Empty=new Fd(ye.CodeActionKind.Empty),Fd.QuickFix=new Fd(ye.CodeActionKind.QuickFix),Fd.Refactor=new Fd(ye.CodeActionKind.Refactor),Fd.Source=new Fd(ye.CodeActionKind.Source),Fd.SourceAddMissingImportsTs=Fd.Source.append("addMissingImports").append("ts"),Fd.SourceFixAll=new Fd(ye.CodeActionKind.SourceFixAll),Fd.SourceFixAllTs=Fd.SourceFixAll.append("ts"),Fd.SourceOrganizeImports=new Fd(ye.CodeActionKind.SourceOrganizeImports),Fd.SourceOrganizeImportsTs=Fd.SourceOrganizeImports.append("ts"),Fd.SourceRemoveUnusedImportsTs=Fd.Source.append("removeUnusedImports").append("ts"),Fd.SourceRemoveUnusedTs=Fd.Source.append("removeUnused").append("ts"),Fd.SourceSortImportsTs=Fd.Source.append("sortImports").append("ts");const Ld=[{title:"Organize Imports",kind:Fd.SourceOrganizeImportsTs,mode:Pl.All},{minVersion:Nl.v430,title:"Sort Imports",kind:Fd.SourceSortImportsTs,mode:Pl.SortAndCombine},{minVersion:Nl.v490,title:"Remove Unused Imports",kind:Fd.SourceRemoveUnusedImportsTs,mode:Pl.RemoveUnused}];function jd(e,t,n){return t&&0!==t.body.length?[ye.CodeAction.create(e.title,{documentChanges:t.body.map((e=>Zh(e,n)))},e.kind.value)]:[]}function $d(e,t){return Hd(e,t,{start:Mh.fromTextSpan(e.spans[0]).start,end:Mh.fromTextSpan(e.spans[e.spans.length-1]).end})}function Hd(e,t,n){let r=Vd(e);for(const i of e.spans){const o=Mh.fromTextSpan(i);if(!Mh.intersection(n,o))continue;const s=[];if(e.childItems)for(const t of e.childItems)if(t.spans.some((e=>!!Mh.intersection(o,Mh.fromTextSpan(e))))){const e=Hd(t,s,o);r=r||e}let a=o;if(e.nameSpan){const t=Mh.fromTextSpan(e.nameSpan);Mh.intersection(o,t)&&(a=t)}r&&t.push({name:e.text,detail:"",kind:zh(e.kind),range:o,selectionRange:a,children:s})}return r}function Wd(e,t,n,r){let i=Vd(t);const o=t.text;for(const s of t.spans){const a=Mh.fromTextSpan(s),c=[];if(t.childItems)for(const n of t.childItems)if(n.spans.some((e=>!!Mh.intersection(a,Mh.fromTextSpan(e))))){const t=Wd(e,n,c,o);i=i||t}i&&(n.push({name:o,kind:zh(t.kind),location:{uri:e,range:a},containerName:r}),n.push(...c))}return i}function Vd(e){return e.kind!==Dl.alias&&!(!e.text||"<function>"===e.text||"<class>"===e.text)}function Ud(e,t,n){const r=function(e){return e.kind===Dl.scriptElement||e.kind===Dl.moduleElement&&1===e.selectionSpan.start.line&&1===e.selectionSpan.start.offset}(e),i=r?g.basename(e.file):e.name,o=r?n?g.relative(n,g.dirname(e.file)):g.dirname(e.file):e.containerName??"",s={kind:Kd(e.kind),name:i,detail:o,uri:Hh(e.file,t),range:Mh.fromTextSpan(e.span),selectionRange:Mh.fromTextSpan(e.selectionSpan)};return(e.kindModifiers?function(e){return new Set(e.split(/,|\s+/g))}(e.kindModifiers):void 0)?.has(Tl.deprecatedModifier)&&(s.tags=[ye.SymbolTag.Deprecated]),s}function Kd(e){switch(e){case Dl.moduleElement:return ye.SymbolKind.Module;case Dl.classElement:return ye.SymbolKind.Class;case Dl.enumElement:return ye.SymbolKind.Enum;case Dl.enumMemberElement:return ye.SymbolKind.EnumMember;case Dl.interfaceElement:return ye.SymbolKind.Interface;case Dl.indexSignatureElement:case Dl.callSignatureElement:case Dl.memberFunctionElement:return ye.SymbolKind.Method;case Dl.memberVariableElement:case Dl.memberGetAccessorElement:case Dl.memberSetAccessorElement:return ye.SymbolKind.Property;case Dl.variableElement:case Dl.letElement:case Dl.constElement:case Dl.localVariableElement:case Dl.alias:return ye.SymbolKind.Variable;case Dl.functionElement:case Dl.localFunctionElement:return ye.SymbolKind.Function;case Dl.constructSignatureElement:case Dl.constructorImplementationElement:return ye.SymbolKind.Constructor;case Dl.typeParameterElement:return ye.SymbolKind.TypeParameter;case Dl.string:return ye.SymbolKind.String;default:return ye.SymbolKind.Variable}}const Gd=new Set([6196,6133]),zd=new Set([7027]),Bd=new Set([2420]),Jd=new Set([2552,2304]),Xd=new Set([1308]);async function Yd(e,t,n,r,i){const o=[];for(const s of i)for(const{codes:i,fixName:a}of e){if(!i.has(s.code))continue;const e={...Mh.toFileRangeRequestArgs(n,s.range),errorCodes:[+s.code]},c=await t.request(Sl.GetCodeFixes,e);if("response"!==c.type||!c.body?.length)continue;const u=c.body?.find((e=>e.fixName===a));if(!u)continue;if(!u.fixId)return o.push(...u.changes.map((e=>Zh(e,r)))),o;const l={scope:{type:"file",args:{file:n}},fixId:u.fixId},h=await t.request(Sl.GetCombinedCodeFix,l);return"response"===h.type&&h.body?(o.push(...h.body.changes.map((e=>Zh(e,r)))),o):o}return o}class Qd{}class Zd extends Qd{constructor(){super(...arguments),this.title="Fix all"}async build(e,t,n,r){const i=[];return i.push(...await async function(e,t,n,r,i){const o=[];for(const s of i)for(const{codes:i,fixName:a}of e){if(!i.has(s.code))continue;const e={...Mh.toFileRangeRequestArgs(n,s.range),errorCodes:[+s.code]},c=await t.request(Sl.GetCodeFixes,e);if("response"!==c.type)continue;const u=c.body?.find((e=>e.fixName===a));if(u){o.push(...u.changes.map((e=>Zh(e,r))));break}}return o}([{codes:Bd,fixName:"fixClassIncorrectlyImplementsInterface"},{codes:Xd,fixName:"fixAwaitInSyncFunction"}],e,t,n,r)),i.push(...await Yd([{codes:zd,fixName:"fixUnreachableCode"}],e,t,n,r)),i.length?ye.CodeAction.create(this.title,{documentChanges:i},Zd.kind.value):null}}Zd.kind=Fd.SourceFixAllTs;class ep extends Qd{constructor(){super(...arguments),this.title="Remove all unused code"}async build(e,t,n,r){const i=await Yd([{codes:Gd,fixName:"unusedIdentifier"}],e,t,n,r);return i.length?ye.CodeAction.create(this.title,{documentChanges:i},ep.kind.value):null}}ep.kind=Fd.SourceRemoveUnusedTs;class tp extends Qd{constructor(){super(...arguments),this.title="Add all missing imports"}async build(e,t,n,r){const i=await Yd([{codes:Jd,fixName:"import"}],e,t,n,r);return i.length?ye.CodeAction.create(this.title,{documentChanges:i},tp.kind.value):null}}tp.kind=Fd.SourceAddMissingImportsTs;class np{static get kinds(){return np.kindProviders.map((e=>e.kind))}constructor(e){this.client=e}async provideCodeActions(e,t,n,r){const i=[];for(const o of np.kindProviders)e.some((e=>e.contains(o.kind)))&&i.push((new o).build(this.client,t,r,n));return(await Promise.all(i)).flatMap((e=>e||[]))}}np.kindProviders=[Zd,ep,tp];class rp{static async provideInlayHints(e,t,n,r,i,o,s){if(r.apiVersion.lt(rp.minVersion))return i.showErrorMessage("Inlay Hints request failed. Requires TypeScript 4.4+."),[];const a=$h(e);if(!a)return i.showErrorMessage("Inlay Hints request failed. No resource provided."),[];const c=n.get(a);if(!c)return i.showErrorMessage("Inlay Hints request failed. File not opened in the editor."),[];if(!function(e,t){const n=e.getPreferences(t);return"literals"===n.includeInlayParameterNameHints||"all"===n.includeInlayParameterNameHints||n.includeInlayEnumMemberValueHints||n.includeInlayFunctionLikeReturnTypeHints||n.includeInlayFunctionParameterTypeHints||n.includeInlayPropertyDeclarationTypeHints||n.includeInlayVariableTypeHints}(o,a))return[];await o.configureGloballyFromDocument(a);const u=c.offsetAt(t.start),l=c.offsetAt(t.end)-u,h=await r.request(Sl.ProvideInlayHints,{file:a,start:u,length:l},s);return"response"===h.type&&h.success&&h.body?h.body.map((e=>{const t=ye.InlayHint.create(Fh.fromLocation(e.position),e.text,function(e){switch(e){case"Parameter":return ye.InlayHintKind.Parameter;case"Type":return ye.InlayHintKind.Type;default:return}}(e.kind));return e.whitespaceBefore&&(t.paddingLeft=!0),e.whitespaceAfter&&(t.paddingRight=!0),t})):[]}}var ip,op,sp,ap,cp,up;function lp(e,t){const n=[];let r=0,i=0;for(let o=0;o<t.length;o+=3){const s=t[o],a=t[o+1],c=t[o+2],u=c&ip.modifierMask,l=(c>>ip.typeOffset)-1,{line:h,character:d}=e.positionAt(s),p=h-r,f=r===h?d-i:d;n.push(p,f,a,l,u),i=d,r=h}return n}rp.minVersion=Nl.v440,function(e){e[e.typeOffset=8]="typeOffset",e[e.modifierMask=255]="modifierMask"}(ip||(ip={}));class hp{constructor(e){this.rootPath=e}getNewLogDirectory(){const t=this.logDirectory();if(t)try{return e.mkdtempSync(g.join(t,"tsserver-log-"))}catch(e){return}}logDirectory(){if(this.rootPath)try{return e.existsSync(this.rootPath)||e.mkdirSync(this.rootPath),this.rootPath}catch{return}}}up="win32"===process.platform||T.TESTING_WINDOWS?function(){if(sp)return op;sp=1,op=n,n.sync=function(n,r){return t(e.statSync(n),n,r)};var e=a;function t(e,t,n){return!(!e.isSymbolicLink()&&!e.isFile())&&function(e,t){var n=void 0!==t.pathExt?t.pathExt:process.env.PATHEXT;if(!n)return!0;if(-1!==(n=n.split(";")).indexOf(""))return!0;for(var r=0;r<n.length;r++){var i=n[r].toLowerCase();if(i&&e.substr(-i.length).toLowerCase()===i)return!0}return!1}(t,n)}function n(n,r,i){e.stat(n,(function(e,o){i(e,!e&&t(o,n,r))}))}return op}():function(){if(cp)return ap;cp=1,ap=t,t.sync=function(t,r){return n(e.statSync(t),r)};var e=a;function t(t,r,i){e.stat(t,(function(e,t){i(e,!e&&n(t,r))}))}function n(e,t){return e.isFile()&&function(e,t){var n=e.mode,r=e.uid,i=e.gid,o=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),s=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8);return n&parseInt("001",8)||n&c&&i===s||n&a&&r===o||n&(a|c)&&0===o}(e,t)}return ap}();var dp=pp;function pp(e,t,n){if("function"==typeof t&&(n=t,t={}),!n){if("function"!=typeof Promise)throw new TypeError("callback not provided");return new Promise((function(n,r){pp(e,t||{},(function(e,t){e?r(e):n(t)}))}))}up(e,t||{},(function(e,r){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,r=!1),n(e,r)}))}pp.sync=function(e,t){try{return up.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}};const fp=dp,{join:mp,delimiter:gp,sep:yp,posix:vp}=s,bp="win32"===process.platform,Sp=new RegExp(`[${vp.sep}${yp===vp.sep?"":yp}]`.replace(/(\\)/g,"\\$1")),wp=new RegExp(`^\\.${Sp.source}`),Rp=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Cp=(e,{path:t=process.env.PATH,pathExt:n=process.env.PATHEXT,delimiter:r=gp})=>{const i=e.match(Sp)?[""]:[...bp?[process.cwd()]:[],...(t||"").split(r)];if(bp){const t=n||[".EXE",".CMD",".BAT",".COM"].join(r),o=t.split(r);return e.includes(".")&&""!==o[0]&&o.unshift(""),{pathEnv:i,pathExt:o,pathExtExe:t}}return{pathEnv:i,pathExt:[""]}},Ep=(e,t)=>{const n=/^".*"$/.test(e)?e.slice(1,-1):e;return(!n&&wp.test(t)?t.slice(0,2):"")+mp(n,t)},_p=async(e,t={})=>{const{pathEnv:n,pathExt:r,pathExtExe:i}=Cp(e,t),o=[];for(const s of n){const n=Ep(s,e);for(const e of r){const r=n+e;if(await fp(r,{pathExt:i,ignoreErrors:!0})){if(!t.all)return r;o.push(r)}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw Rp(e)};var Dp=_p;_p.sync=(e,t={})=>{const{pathEnv:n,pathExt:r,pathExtExe:i}=Cp(e,t),o=[];for(const s of n){const n=Ep(s,e);for(const e of r){const r=n+e;if(fp.sync(r,{pathExt:i,ignoreErrors:!0})){if(!t.all)return r;o.push(r)}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw Rp(e)};const Tp={directory:"isDirectory",file:"isFile"};const kp=(e,t)=>t[Tp[e]]();function xp(t,{cwd:n=D.cwd(),type:r="file",allowSymlinks:i=!0}={}){var o;!function(e){if(!Object.hasOwnProperty.call(Tp,e))throw new Error(`Invalid type specified: ${e}`)}(r),n=(o=n)instanceof URL?_(o):o;const s=i?e.statSync:e.lstatSync;for(const e of t)try{const t=s(g.resolve(n,e));if(kp(r,t))return e}catch{}}const Pp=Symbol("findUpStop");function Op(e,t={}){let n=g.resolve(((r=t.cwd)instanceof URL?_(r):r)||"");var r;const{root:i}=g.parse(n),o=t.stopAt||i,s=t.limit||Number.POSITIVE_INFINITY,a=[e].flat(),c=t=>{if("function"!=typeof e)return xp(a,t);const n=e(t.cwd);return"string"==typeof n?xp([n],t):n},u=[];for(;;){const e=c({...t,cwd:n});if(e===Pp)break;if(e&&u.push(g.resolve(n,e)),n===o||u.length>=s)break;n=g.dirname(n)}return u}function Np({cwd:e}={}){return function(e,t={}){return Op(e,{...t,limit:1})[0]}("package.json",{cwd:e})}function qp(e,r){if(t(e).isDirectory()){const t=r.map((t=>y(e,t))).find(n);if(t)return t}const i=y(e,"..");if(i!==e)return qp(i,r)}class Ip{constructor(e,t,n){this.source=e,this.path=t,this.logger=n,this._api=null}get tsServerPath(){return this.path}get isValid(){return null!==this.version}get version(){return this._api||(this._api=this.getTypeScriptVersion(this.tsServerPath)),this._api}get versionString(){const e=this.version;return e?e.displayName:null}getTypeScriptVersion(t){if(this.logger.log(`Resolving TypeScript version from path "${t}"...`),!e.existsSync(t))return this.logger.log("Server path does not exist on disk"),null;const n=t.split(g.sep);if(n.length<=2)return this.logger.log("Server path is invalid (has less than two path components)."),null;const r=n.slice(0,-2).join(g.sep);let i=g.join(r,"package.json");if(e.existsSync(i)||"built"===g.basename(r)&&(i=g.join(r,"..","package.json")),!e.existsSync(i))return this.logger.log(`Failed to find package.json at path "${i}"`),null;this.logger.log(`Reading version from package.json at "${i}"`);const o=e.readFileSync(i).toString();let s=null;try{s=JSON.parse(o)}catch(e){return this.logger.log("Failed parsing contents of package.json."),null}return s?.version?(this.logger.log(`Resolved TypeScript version to "${s.version}"`),Nl.fromVersionString(s.version)):(this.logger.log("Failed reading version number from package.json."),null)}}const Ap=["node_modules/typescript/lib",".vscode/pnpify/typescript/lib",".yarn/sdks/typescript/lib"];class Mp{constructor(e,t){this.userTsserverPath=e,this.logger=t}getUserSettingVersion(){if(!this.userTsserverPath)return null;this.logger.log(`Resolving user-provided tsserver path "${this.userTsserverPath}"...`);let t=this.userTsserverPath;if(!g.isAbsolute(t)){const e=Dp.sync(t,{nothrow:!0});e&&(t=e),this.logger.log(`Non-absolute tsserver path resolved to "${e?t:"<failed>"}"`)}let n=e.lstatSync(t,{throwIfNoEntry:!1});if(n?.isSymbolicLink()&&(t=e.realpathSync(t),this.logger.log(`Symbolic link tsserver path resolved to "${t}"`)),n=e.lstatSync(t,{throwIfNoEntry:!1}),n?.isFile()){if("tsserver.js"===g.basename(t))return this.logger.log(`Resolved tsserver location: ${t}`),new Ip("user-setting",t,this.logger);t=g.dirname(t),this.logger.log(`Resolved directory path from a file path: ${t}`)}try{const e=Np({cwd:t});this.logger.log(`Resolved package.json location: "${e}"`),e&&(t=g.join(g.dirname(e),"lib","tsserver.js"),this.logger.log(`Resolved tsserver location: "${t}"`))}catch{}return new Ip("user-setting",t,this.logger)}getWorkspaceVersion(e){for(const t of e){const e=qp(t,Ap);if(e){const t=g.join(e,"tsserver.js"),n=new Ip("workspace",t,this.logger);if(n.isValid)return n}}return null}bundledVersion(){const e=E(import.meta.url);try{const t=e.resolve("typescript"),n=g.join(g.dirname(t),"tsserver.js");return new Ip("bundled",n,this.logger)}catch(e){return null}}}const Fp=Object.freeze({module:Cl.ESNext,moduleResolution:El.Node,target:kl.ES2020,jsx:Rl.React});function Lp(e){const t={...Fp};return e.checkJs&&(t.checkJs=!0),e.experimentalDecorators&&(t.experimentalDecorators=!0),e.strictNullChecks&&(t.strictNullChecks=!0),e.strictFunctionTypes&&(t.strictFunctionTypes=!0),e.module&&(t.module=e.module),e.target&&(t.target=e.target),t.sourceMap=!0,t}var jp=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===$p}(e)}(e)};var $p="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function Hp(e,t){return!1!==t.clone&&t.isMergeableObject(e)?Gp((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function Wp(e,t,n){return e.concat(t).map((function(e){return Hp(e,n)}))}function Vp(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function Up(e,t){try{return t in e}catch(e){return!1}}function Kp(e,t,n){var r={};return n.isMergeableObject(e)&&Vp(e).forEach((function(t){r[t]=Hp(e[t],n)})),Vp(t).forEach((function(i){(function(e,t){return Up(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,i)||(Up(e,i)&&n.isMergeableObject(t[i])?r[i]=function(e,t){if(!t.customMerge)return Gp;var n=t.customMerge(e);return"function"==typeof n?n:Gp}(i,n)(e[i],t[i],n):r[i]=Hp(t[i],n))})),r}function Gp(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||Wp,n.isMergeableObject=n.isMergeableObject||jp,n.cloneUnlessOtherwiseSpecified=Hp;var r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):Kp(e,t,n):Hp(t,n)}Gp.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return Gp(e,n,t)}),{})};var zp=Gp;const Bp={allowIncompleteCompletions:!0,allowRenameOfImportPath:!0,allowTextChangesInNewFiles:!0,autoImportFileExcludePatterns:[],disableLineTextInReferences:!0,disableSuggestions:!1,displayPartsForJSDoc:!0,generateReturnInDocTemplate:!0,importModuleSpecifierEnding:"auto",importModuleSpecifierPreference:"shortest",includeAutomaticOptionalChainCompletions:!0,includeCompletionsForImportStatements:!0,includeCompletionsForModuleExports:!0,includeCompletionsWithClassMemberSnippets:!0,includeCompletionsWithInsertText:!0,includeCompletionsWithObjectLiteralMethodSnippets:!0,includeCompletionsWithSnippetText:!0,includeInlayEnumMemberValueHints:!1,includeInlayFunctionLikeReturnTypeHints:!1,includeInlayFunctionParameterTypeHints:!1,includeInlayParameterNameHints:"none",includeInlayParameterNameHintsWhenArgumentMatchesName:!1,includeInlayPropertyDeclarationTypeHints:!1,includeInlayVariableTypeHints:!1,includeInlayVariableTypeHintsWhenTypeMatchesName:!1,includePackageJsonAutoImports:"auto",jsxAttributeCompletionStyle:"auto",lazyConfiguredProjectsFromExternalProject:!1,providePrefixAndSuffixTextForRename:!0,provideRefactorNotApplicableReason:!0,quotePreference:"auto",useLabelDetailsInCompletionEntries:!0},Jp={implicitProjectConfiguration:{checkJs:!1,experimentalDecorators:!1,module:Cl.ESNext,strictFunctionTypes:!0,strictNullChecks:!0,target:kl.ES2020}};class Xp{constructor(e){this.documents=e,this.tsPreferences=zp({},Bp),this.workspaceConfiguration=zp({},Jp),this.tspClient=null}mergeTsPreferences(e){this.tsPreferences=zp(this.tsPreferences,e)}setWorkspaceConfiguration(e){this.workspaceConfiguration=zp(Jp,e)}setAndConfigureTspClient(e,t,n){this.tspClient=t;const r={...n?{hostInfo:n}:{},formatOptions:{newLineCharacter:"\n"},preferences:{...this.tsPreferences,autoImportFileExcludePatterns:this.getAutoImportFileExcludePatternsPreference(e)}};t.request(Sl.Configure,r)}async configureGloballyFromDocument(e,t){const n={formatOptions:this.getFormattingOptions(e,t),preferences:this.getPreferences(e)};await(this.tspClient?.request(Sl.Configure,n))}getPreferences(e){if(this.tspClient?.apiVersion.lt(Nl.v290))return{};const t=this.getWorkspacePreferencesForFile(e),n=Object.assign({},this.tsPreferences,t?.inlayHints||{});return{...n,quotePreference:this.getQuoteStylePreference(n)}}getFormattingOptions(e,t){const n={...this.getWorkspacePreferencesForFile(e)?.format,...t};return void 0===n.convertTabsToSpaces&&(n.convertTabsToSpaces=t?.insertSpaces),void 0===n.indentSize&&(n.indentSize=t?.tabSize),n}getQuoteStylePreference(e){switch(e.quotePreference){case"single":return"single";case"double":return"double";default:return this.tspClient?.apiVersion.gte(Nl.v333)?"auto":void 0}}getWorkspacePreferencesForFile(e){const t=this.documents.get(e)?.languageId.startsWith("typescript")?"typescript":"javascript";return this.workspaceConfiguration[t]||{}}getAutoImportFileExcludePatternsPreference(e){if(e&&0!==this.tsPreferences.autoImportFileExcludePatterns.length)return this.tsPreferences.autoImportFileExcludePatterns.map((t=>{const n=t.replace(/\\/g,"/"),r=/^\.\.?($|\/)/.test(n);return g.posix.isAbsolute(t)?t:t.startsWith("*")?`/${n}`:r?g.posix.join(e,t):`/**/${n}`}))}}class Yp{constructor(e){this.options=e,this._tspClient=null,this.hasShutDown=!1,this.initializeParams=null,this.typeScriptAutoFixProvider=null,this.features={},this.documents=new dd,this.pendingDebouncedRequest=!1,this.doRequestDiagnosticsDebounced=Va((()=>this.doRequestDiagnostics()),200),this.configurationManager=new Xp(this.documents),this.logger=new wi(e.logger,"[lspserver]")}closeAll(){for(const e of[...this.documents.files])this.closeDocument(e)}shutdown(){this._tspClient&&(this._tspClient.shutdown(),this._tspClient=null,this.hasShutDown=!0)}get tspClient(){if(!this._tspClient)throw new Error('TS client not created. Did you forget to send the "initialize" request?');return this._tspClient}async initialize(e){if(this.logger.log("initialize",e),this._tspClient)throw new Error('The "initialize" request has already called before.');this.initializeParams=e;const t=this.initializeParams.capabilities;this.workspaceRoot=this.initializeParams.rootUri?$h(this.initializeParams.rootUri):this.initializeParams.rootPath||void 0;const n=this.initializeParams.initializationOptions||{},{disableAutomaticTypingAcquisition:r,hostInfo:i,maxTsServerMemory:o,npmLocation:s,locale:a,tsserver:c}=n,{plugins:u}={plugins:n.plugins||[]},l=[],h=[];for(const e of u)l.push(e.name),h.push(e.location);const d=this.findTypescriptVersion(c?.path);if(!d)throw Error('Could not find a valid TypeScript installation. Please ensure that the "typescript" dependency is installed in the workspace or that a valid `tsserver.path` is specified. Exiting.');this.options.lspClient.logMessage({type:bi.Info,message:`Using Typescript version (${d.source}) ${d.versionString} from path "${d.tsServerPath}"`}),this.configurationManager.mergeTsPreferences(n.preferences||{}),this.features.completionDisableFilterText=n.completionDisableFilterText??!1;const{textDocument:p}=t;if(p){const{codeAction:e,completion:t,definition:n,publishDiagnostics:r}=p;if(e&&(this.features.codeActionDisabledSupport=e.disabledSupport),t){const{completionItem:e}=t;if(e){const{commitCharactersSupport:t,insertReplaceSupport:n,labelDetailsSupport:r,snippetSupport:i}=e;this.features.completionCommitCharactersSupport=t,this.features.completionInsertReplaceSupport=n,this.features.completionSnippets=i,this.features.completionLabelDetails=this.configurationManager.tsPreferences.useLabelDetailsInCompletionEntries&&r&&d.version?.gte(Nl.v470)}}n&&(this.features.definitionLinkSupport=n.linkSupport&&d.version?.gte(Nl.v270)),r&&(this.features.diagnosticsTagSupport=Boolean(r.tagSupport))}this.configurationManager.mergeTsPreferences({useLabelDetailsInCompletionEntries:this.features.completionLabelDetails});const f=c?.logVerbosity&&_h.fromString(c?.logVerbosity);this._tspClient=new qh({lspClient:this.options.lspClient,trace:Dh.fromString(c?.trace||"off"),typescriptVersion:d,logDirectoryProvider:new hp(this.getLogDirectoryPath(n)),logVerbosity:f??this.options.tsserverLogVerbosity,disableAutomaticTypingAcquisition:r,maxTsServerMemory:o,npmLocation:s,locale:a,globalPlugins:l,pluginProbeLocations:h,logger:this.options.logger,onEvent:this.onTsEvent.bind(this),onExit:(e,t)=>{if(this.shutdown(),e)throw new Error(`tsserver process has exited (exit code: ${e}, signal: ${t}). Stopping the server.`)},useSyntaxServer:xh(n.tsserver?.useSyntaxServer)}),this.diagnosticQueue=new rd((e=>this.options.lspClient.publishDiagnostics(e)),this.documents,this.features,this.logger,this._tspClient);if(!this.tspClient.start())throw new Error("tsserver process has failed to start.");process.on("exit",(()=>{this.shutdown()})),process.on("SIGINT",(()=>{process.exit()})),this.typeScriptAutoFixProvider=new np(this.tspClient),this.configurationManager.setAndConfigureTspClient(this.workspaceRoot,this._tspClient,i),this.setCompilerOptionsForInferredProjects();const m=p?.rename?.prepareSupport&&this.tspClient.apiVersion.gte(Nl.v310),g={capabilities:{textDocumentSync:ye.TextDocumentSyncKind.Incremental,completionProvider:{triggerCharacters:[".",'"',"'","/","@","<"],resolveProvider:!0},codeActionProvider:!t.textDocument?.codeAction?.codeActionLiteralSupport||{codeActionKinds:[...np.kinds.map((e=>e.value)),Fd.SourceOrganizeImportsTs.value,Fd.SourceRemoveUnusedImportsTs.value,Fd.SourceSortImportsTs.value,Fd.QuickFix.value,Fd.Refactor.value]},definitionProvider:!0,documentFormattingProvider:!0,documentRangeFormattingProvider:!0,documentHighlightProvider:!0,documentSymbolProvider:!0,executeCommandProvider:{commands:[fd.APPLY_WORKSPACE_EDIT,fd.APPLY_CODE_ACTION,fd.APPLY_REFACTORING,fd.CONFIGURE_PLUGIN,fd.ORGANIZE_IMPORTS,fd.APPLY_RENAME_FILE,fd.SOURCE_DEFINITION]},hoverProvider:!0,inlayHintProvider:!0,renameProvider:!m||{prepareProvider:!0},referencesProvider:!0,selectionRangeProvider:!0,signatureHelpProvider:{triggerCharacters:["(",",","<"],retriggerCharacters:[")"]},workspaceSymbolProvider:!0,implementationProvider:!0,typeDefinitionProvider:!0,foldingRangeProvider:!0,semanticTokensProvider:{documentSelector:null,legend:{tokenTypes:["class","enum","interface","namespace","typeParameter","type","parameter","variable","enumMember","property","function","member"],tokenModifiers:["declaration","static","async","readonly","defaultLibrary","local"]},full:!0,range:!0},workspace:{fileOperations:{willRename:{filters:[{scheme:"file",pattern:{glob:"**/*.{ts,js,jsx,tsx,mjs,mts,cjs,cts}",matches:"file"}}]}}}}};return p?.callHierarchy&&d.version?.gte(Nl.v380)&&(g.capabilities.callHierarchyProvider=!0),this.logger.log("onInitialize result",g),g}initialized(e){const{apiVersion:t,typescriptVersionSource:n}=this.tspClient;this.options.lspClient.sendNotification(md,{version:t.displayName,source:n})}findTypescriptVersion(e){const t=new Mp(e||this.options.tsserverPath,this.logger),n=t.getUserSettingVersion();if(n){if(n.isValid)return n;this.logger.logIgnoringVerbosity(bi.Warning,`Typescript specified through user setting ignored due to invalid path "${n.path}"`)}if(this.workspaceRoot){const e=t.getWorkspaceVersion([this.workspaceRoot]);if(e)return e}const r=t.bundledVersion();return r?.isValid?r:null}getLogDirectoryPath(e){return e.tsserver?.logDirectory?e.tsserver.logDirectory:this.workspaceRoot?m.join(this.workspaceRoot,".log"):void 0}setCompilerOptionsForInferredProjects(){const e={options:{...Lp(this.configurationManager.workspaceConfiguration.implicitProjectConfiguration),allowJs:!0,allowNonTsExtensions:!0,allowSyntheticDefaultImports:!0,resolveJsonModule:!0}};this.tspClient.executeWithoutWaitingForResponse(Sl.CompilerOptionsForInferredProjects,e)}didChangeConfiguration(e){this.configurationManager.setWorkspaceConfiguration(e.settings||{}),this.setCompilerOptionsForInferredProjects();const t=this.configurationManager.workspaceConfiguration.diagnostics?.ignoredCodes||[];this.diagnosticQueue?.updateIgnoredDiagnosticCodes(t),this.cancelDiagnostics(),this.requestDiagnostics()}interuptDiagnostics(e){if(!this.diagnosticsTokenSource)return e();this.cancelDiagnostics();const t=e();return this.requestDiagnostics(),t}async requestDiagnostics(){this.pendingDebouncedRequest=!0,await this.doRequestDiagnosticsDebounced()}async doRequestDiagnostics(){if(this.cancelDiagnostics(),this.hasShutDown)return;const e=new ye.CancellationTokenSource;this.diagnosticsTokenSource=e;const{files:t}=this.documents;try{return await this.tspClient.requestGeterr({delay:0,files:t},this.diagnosticsTokenSource.token)}finally{this.diagnosticsTokenSource===e&&(this.diagnosticsTokenSource=void 0,this.pendingDebouncedRequest=!1)}}cancelDiagnostics(){this.diagnosticsTokenSource&&(this.diagnosticsTokenSource.cancel(),this.diagnosticsTokenSource=void 0)}didOpenTextDocument(e){const t=$h(e.textDocument.uri);this.logger.log("onDidOpenTextDocument",e,t),t&&(this.documents.open(t,e.textDocument)?(this.tspClient.notify(Sl.Open,{file:t,fileContent:e.textDocument.text,scriptKindName:this.getScriptKindName(e.textDocument.languageId),projectRootPath:this.workspaceRoot}),this.cancelDiagnostics(),this.requestDiagnostics()):(this.logger.log(`Cannot open already opened doc '${e.textDocument.uri}'.`),this.didChangeTextDocument({textDocument:e.textDocument,contentChanges:[{text:e.textDocument.text}]})))}getScriptKindName(e){switch(e){case"typescript":return"TS";case"typescriptreact":return"TSX";case"javascript":return"JS";case"javascriptreact":return"JSX"}}didCloseTextDocument(e){const t=$h(e.textDocument.uri);this.logger.log("onDidCloseTextDocument",e,t),t&&this.closeDocument(t)}closeDocument(e){const t=this.documents.close(e);t&&(this.tspClient.notify(Sl.Close,{file:e}),this.options.lspClient.publishDiagnostics({uri:t.uri,diagnostics:[]}))}didChangeTextDocument(e){const{textDocument:t}=e,n=$h(t.uri);if(this.logger.log("onDidChangeTextDocument",e,n),!n)return;const r=this.documents.get(n);if(!r)throw this.logger.error(`Received change on non-opened document ${t.uri}`),new Error(`Received change on non-opened document ${t.uri}`);if(null===t.version)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);for(const i of e.contentChanges){let e=0,o=0,s=0,a=0;if(ye.TextDocumentContentChangeEvent.isIncremental(i))e=i.range.start.line+1,o=i.range.start.character+1,s=i.range.end.line+1,a=i.range.end.character+1;else{e=1,o=1;const t=r.positionAt(r.getText().length);s=t.line+1,a=t.character+1}this.tspClient.notify(Sl.Change,{file:n,line:e,offset:o,endLine:s,endOffset:a,insertString:i.text}),r.applyEdit(t.version,i)}this.cancelDiagnostics(),this.requestDiagnostics()}didSaveTextDocument(e){}async definition(e,t){return this.getDefinition({type:this.features.definitionLinkSupport?Sl.DefinitionAndBoundSpan:Sl.Definition,params:e},t)}async implementation(e,t){return this.getSymbolLocations({type:Sl.Implementation,params:e},t)}async typeDefinition(e,t){return this.getSymbolLocations({type:Sl.TypeDefinition,params:e},t)}async getDefinition({type:e,params:t},n){const r=$h(t.textDocument.uri);if(this.logger.log(e,t,r),r){if(e===Sl.DefinitionAndBoundSpan){const i=Fh.toFileLocationRequestArgs(r,t.position),o=await this.tspClient.request(e,i,n);if("response"!==o.type||!o.body)return;const s=o.body.textSpan?Mh.fromTextSpan(o.body.textSpan):void 0;return o.body.definitions.map((e=>{const t=Kh(e,this.documents),n=e.contextStart&&e.contextEnd?Mh.fromLocations(e.contextStart,e.contextEnd):t.range;return{originSelectionRange:s,targetRange:n,targetUri:t.uri,targetSelectionRange:t.range}}))}return this.getSymbolLocations({type:Sl.Definition,params:t})}}async getSymbolLocations({type:e,params:t},n){const r=$h(t.textDocument.uri);if(this.logger.log(e,t,r),!r)return[];const i=Fh.toFileLocationRequestArgs(r,t.position),o=await this.tspClient.request(e,i,n);return"response"===o.type&&o.body?o.body.map((e=>Kh(e,this.documents))):void 0}async documentSymbol(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("symbol",e,n),!n)return[];const r=await this.tspClient.request(Sl.NavTree,{file:n},t);if("response"!==r.type||!r.body?.childItems)return[];if(this.supportHierarchicalDocumentSymbol){const e=[];for(const t of r.body.childItems)$d(t,e);return e}const i=[];for(const t of r.body.childItems)Wd(e.textDocument.uri,t,i);return i}get supportHierarchicalDocumentSymbol(){const e=this.initializeParams?.capabilities.textDocument,t=e?.documentSymbol;return!!t&&!!t.hierarchicalDocumentSymbolSupport}async completion(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("completion",e,n),!n)return ye.CompletionList.create([]);const r=this.documents.get(n);if(!r)throw new Error(`The document should be opened for completion, file: ${n}`);const i=this.configurationManager.workspaceConfiguration.completions||{},o=await this.interuptDiagnostics((()=>this.tspClient.request(Sl.CompletionInfo,{file:n,line:e.position.line+1,offset:e.position.character+1,triggerCharacter:Pd(e.context?.triggerCharacter),triggerKind:e.context?.triggerKind},t)));if("response"!==o.type||!o.body)return ye.CompletionList.create();const{entries:s,isIncomplete:a,optionalReplacementSpan:c,isMemberCompletion:u}=o.body,l=r.getLine(e.position.line);let h;if(u){const t=l.slice(0,e.position.character).match(/\??\.\s*$/)||void 0;if(t){const n=ye.Position.create(e.position.line,e.position.character-t[0].length),i=ye.Range.create(n,e.position);h={range:i,text:r.getText(i)}}}const d={isMemberCompletion:u,dotAccessorContext:h,line:l,optionalReplacementRange:c?Mh.fromTextSpan(c):void 0},p=[];for(const t of s||[]){if("warning"===t.kind)continue;const o=_d(t,n,e.position,r,this.documents,i,this.features,d);o&&p.push(o)}return ye.CompletionList.create(p,a)}async completionResolve(e,t){this.logger.log("completion/resolve",e);const n=e.data?.file?this.documents.get(e.data.file):void 0;await this.configurationManager.configureGloballyFromDocument(e.data.file);const r=await this.interuptDiagnostics((()=>this.tspClient.request(Sl.CompletionDetails,e.data,t)));return"response"===r.type&&r.body?.length?kd(e,r.body[0],n,this.tspClient,this.documents,this.configurationManager.workspaceConfiguration.completions||{},this.features):e}async hover(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("hover",e,n),!n)return{contents:[]};const r=await this.interuptDiagnostics((()=>this.getQuickInfo(n,e.position,t)));if(!r?.body)return{contents:[]};const i=new gd,{displayString:o,documentation:s,tags:a}=r.body;return o&&i.appendCodeblock("typescript",o),Rd(i,s,a,this.documents),{contents:i.toMarkupContent(),range:Mh.fromTextSpan(r.body)}}async getQuickInfo(e,t,n){const r=await this.tspClient.request(Sl.Quickinfo,{file:e,line:t.line+1,offset:t.character+1},n);if("response"===r.type)return r}async prepareRename(e,t){const n=$h(e.textDocument.uri);if(!n)return null;const r=await this.tspClient.request(Sl.Rename,Fh.toFileLocationRequestArgs(n,e.position),t);if("response"!==r.type||!r.body?.info)return null;const i=r.body.info;if(!i.canRename)throw new Error(i.localizedErrorMessage);return Mh.fromTextSpan(i.triggerSpan)}async rename(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("onRename",e,n),!n)return null;const r=await this.interuptDiagnostics((async()=>(await this.configurationManager.configureGloballyFromDocument(n),await this.tspClient.request(Sl.Rename,Fh.toFileLocationRequestArgs(n,e.position),t))));if("response"!==r.type||!r.body?.info.canRename||!r.body?.locs.length)return null;const i={};return r.body.locs.forEach((t=>{const n=Hh(t.file,this.documents),r=i[n]||(i[n]=[]);t.locs.forEach((t=>{r.push({newText:`${t.prefixText||""}${e.newName}${t.suffixText||""}`,range:{start:Fh.fromLocation(t.start),end:Fh.fromLocation(t.end)}})}))})),{changes:i}}async references(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("onReferences",e,n),!n)return[];const r=await this.tspClient.request(Sl.References,{file:n,line:e.position.line+1,offset:e.position.character+1},t);return"response"===r.type&&r.body?r.body.refs.filter((t=>e.context.includeDeclaration||!t.isDefinition)).map((e=>Kh(e,this.documents))):[]}async documentFormatting(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("documentFormatting",e,n),!n)return[];const r=e.options;await this.configurationManager.configureGloballyFromDocument(n,r);const i=await this.tspClient.request(Sl.Format,{file:n,line:1,offset:1,endLine:Number.MAX_SAFE_INTEGER,endOffset:Number.MAX_SAFE_INTEGER,options:r},t);return"response"===i.type&&i.body?i.body.map((e=>Qh(e))):[]}async documentRangeFormatting(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("documentRangeFormatting",e,n),!n)return[];const r=e.options;await this.configurationManager.configureGloballyFromDocument(n,r);const i=await this.tspClient.request(Sl.Format,{file:n,line:e.range.start.line+1,offset:e.range.start.character+1,endLine:e.range.end.line+1,endOffset:e.range.end.character+1,options:r},t);return"response"===i.type&&i.body?i.body.map((e=>Qh(e))):[]}async selectionRanges(e,t){const n=$h(e.textDocument.uri);if(!n)return null;const r=await this.tspClient.request(Sl.SelectionRange,{file:n,locations:e.positions.map(Fh.toLocation)},t);return"response"===r.type&&r.body?r.body.map(Yh):null}async signatureHelp(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("signatureHelp",e,n),!n)return;const r=await this.interuptDiagnostics((()=>this.getSignatureHelp(n,e,t)));return r?.body?Od(r.body,e.context,this.documents):void 0}async getSignatureHelp(e,t,n){const{position:r,context:i}=t,o=await this.tspClient.request(Sl.SignatureHelp,{file:e,line:r.line+1,offset:r.character+1,triggerReason:i?Id(i):void 0},n);if("response"===o.type)return o}async codeAction(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("codeAction",e,n),!n)return[];await this.configurationManager.configureGloballyFromDocument(n);const r=Mh.toFileRangeRequestArgs(n,e.range),i=[],o=e.context.only?.map((e=>new Fd(e)));var s,a;o&&!o.some((e=>e.contains(Fd.QuickFix)))||i.push(...(s=await this.getCodeFixes(r,e.context,t),a=this.documents,s?.body?s.body.map((e=>ye.CodeAction.create(e.description,{title:e.description,command:fd.APPLY_WORKSPACE_EDIT,arguments:[{documentChanges:e.changes.map((e=>Zh(e,a)))}]},ye.CodeActionKind.QuickFix))):[])),o&&!o.some((e=>e.contains(Fd.Refactor)))||i.push(...function(e,t,n){if(!e?.body)return[];const r=[];for(const i of e.body)if(!1===i.inlineable)r.push(Ad(i,t));else{const e=n.codeActionDisabledSupport?i.actions:i.actions.filter((e=>!e.notApplicableReason));for(const n of e)r.push(Md(n,i,t))}return r}(await this.getRefactors(r,e.context,t),r,this.features));for(const n of o||[])for(const o of Ld){if(!n.contains(o.kind)||o.minVersion&&this.tspClient.apiVersion.lt(o.minVersion))continue;let s=o.mode===Pl.SortAndCombine,a=o.mode;if(o.kind.equals(Fd.SourceOrganizeImportsTs)){const t=e.context.diagnostics.some((e=>(e.severity??0)<=2));s=t,a=Pl.SortAndCombine}const c=await this.interuptDiagnostics((()=>this.tspClient.request(Sl.OrganizeImports,{scope:{type:"file",args:r},skipDestructiveCodeActions:s,mode:a},t)));"response"===c.type&&c.body&&i.push(...jd(o,c,this.documents))}if(o&&!this.pendingDebouncedRequest){const e=this.diagnosticQueue?.getDiagnosticsForFile(n)||[];e.length&&i.push(...await this.typeScriptAutoFixProvider.provideCodeActions(o,n,e,this.documents))}return i}async getCodeFixes(e,t,n){const r=t.diagnostics.map((e=>Number(e.code))),i={...e,errorCodes:r},o=await this.tspClient.request(Sl.GetCodeFixes,i,n);return"response"===o.type?o:void 0}async getRefactors(e,t,n){const r={...e,triggerReason:t.triggerKind===ye.CodeActionTriggerKind.Invoked?"invoked":void 0,kind:1===t.only?.length?t.only[0]:void 0},i=await this.tspClient.request(Sl.GetApplicableRefactors,r,n);return"response"===i.type?i:void 0}async executeCommand(e,t,n){if(this.logger.log("executeCommand",e),e.command===fd.APPLY_WORKSPACE_EDIT&&e.arguments){const t=e.arguments[0];await this.options.lspClient.applyWorkspaceEdit({edit:t})}else if(e.command===fd.APPLY_CODE_ACTION&&e.arguments){const n=e.arguments[0];if(!await this.applyFileCodeEdits(n.changes))return;if(n.commands?.length)for(const e of n.commands)await this.tspClient.request(Sl.ApplyCodeActionCommand,{command:e},t)}else if(e.command===fd.APPLY_REFACTORING&&e.arguments){const n=e.arguments[0],r=await this.tspClient.request(Sl.GetEditsForRefactor,n,t);if("response"!==r.type||!r.body)return;const{body:i}=r;if(!i?.edits.length)return;for(const e of i.edits)await Wa.ensureFile(e.fileName);if(!await this.applyFileCodeEdits(i.edits))return;const o=i.renameLocation;o&&await this.options.lspClient.rename({textDocument:{uri:Hh(n.file,this.documents)},position:Fh.fromLocation(o)})}else if(e.command===fd.CONFIGURE_PLUGIN&&e.arguments){const[t,n]=e.arguments;this.tspClient.apiVersion.gte(Nl.v314)&&this.tspClient.executeWithoutWaitingForResponse(Sl.ConfigurePlugin,{configuration:n,pluginName:t})}else if(e.command===fd.ORGANIZE_IMPORTS&&e.arguments){const n=e.arguments[0],r=e.arguments[1]||{};await this.configurationManager.configureGloballyFromDocument(n);const i=await this.tspClient.request(Sl.OrganizeImports,{scope:{type:"file",args:{file:n}},skipDestructiveCodeActions:r.skipDestructiveCodeActions},t);if("response"!==i.type||!i.body)return;const{body:o}=i;await this.applyFileCodeEdits(o)}else if(e.command===fd.APPLY_RENAME_FILE&&e.arguments){const{sourceUri:n,targetUri:r}=e.arguments[0];this.applyRenameFile(n,r,t)}else if(e.command===fd.APPLY_COMPLETION_CODE_ACTION&&e.arguments){const[n,r]=e.arguments;for(const e of r){if(await this.applyFileCodeEdits(e.changes),e.commands?.length)for(const n of e.commands)await this.tspClient.request(Sl.ApplyCodeActionCommand,{command:n},t);break}}else{if(e.command===fd.SOURCE_DEFINITION){const[r,i]=e.arguments||[],o=await this.options.lspClient.createProgressReporter(t,n);return pd.execute(r,i,this.documents,this.tspClient,this.options.lspClient,o,t)}this.logger.error(`Unknown command ${e.command}.`)}}async applyFileCodeEdits(e){if(!e.length)return!1;const t={};for(const n of e)t[Hh(n.fileName,this.documents)]=n.textChanges.map(Qh);const{applied:n}=await this.options.lspClient.applyWorkspaceEdit({edit:{changes:t}});return n}async willRenameFiles(e,t){const n={};for(const r of e.files){const e=await this.getEditsForFileRename(r.oldUri,r.newUri,t);for(const t of e){const e=Hh(t.fileName,this.documents);(n[e]||(n[e]=[])).push(...t.textChanges.map(Qh))}}return{changes:n}}async applyRenameFile(e,t,n){const r=await this.getEditsForFileRename(e,t,n);this.applyFileCodeEdits(r)}async getEditsForFileRename(e,t,n){const r=$h(t),i=$h(e);if(!r||!i)return[];const o=await this.tspClient.request(Sl.GetEditsForFileRename,{oldFilePath:i,newFilePath:r},n);return"response"===o.type&&o.body?o.body:[]}async documentHighlight(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("documentHighlight",e,n),!n)return[];const r=await this.tspClient.request(Sl.DocumentHighlights,{file:n,line:e.position.line+1,offset:e.position.character+1,filesToSearch:[n]},t);if("response"!==r.type||!r.body)return[];const i=[];for(const e of r.body)if(Wh(e.file)===n){const t=ed(e);i.push(...t)}return i}lastFileOrDummy(){return this.documents.files[0]||this.workspaceRoot}async workspaceSymbol(e,t){const n=await this.tspClient.request(Sl.Navto,{file:this.lastFileOrDummy(),searchValue:e.query},t);return"response"===n.type&&n.body?n.body.map((e=>({location:{uri:Hh(e.file,this.documents),range:{start:Fh.fromLocation(e.start),end:Fh.fromLocation(e.end)}},kind:zh(e.kind),name:e.name}))):[]}async foldingRanges(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("foldingRanges",e,n),!n)return;const r=this.documents.get(n);if(!r)throw new Error(`The document should be opened for foldingRanges', file: ${n}`);const i=await this.tspClient.request(Sl.GetOutliningSpans,{file:n},t);if("response"!==i.type||!i.body)return;const o=[];for(const e of i.body){const t=this.asFoldingRange(e,r);t&&o.push(t)}return o}asFoldingRange(e,t){const n=Mh.fromTextSpan(e.textSpan),r=this.asFoldingRangeKind(e);if("comment"===e.kind){if(t.getLine(n.start.line).match(/\/\/\s*#endregion/gi))return}return{startLine:n.start.line,endLine:n.end.character>0&&"}"===t.getText(ye.Range.create(ye.Position.create(n.end.line,n.end.character-1),n.end))?Math.max(n.end.line-1,n.start.line):n.end.line,kind:r}}asFoldingRangeKind(e){switch(e.kind){case"comment":return ye.FoldingRangeKind.Comment;case"region":return ye.FoldingRangeKind.Region;case"imports":return ye.FoldingRangeKind.Imports;default:return}}async onTsEvent(e){if("semanticDiag"===e.event||"syntaxDiag"===e.event||"suggestionDiag"===e.event){const t=e;if(t.body?.diagnostics){const{file:n,diagnostics:r}=t.body;this.diagnosticQueue?.updateDiagnostics(function(e){switch(e.event){case"syntaxDiag":return 0;case"semanticDiag":return 1;case"suggestionDiag":return 2}throw new Error("Unknown dignostics kind")}(e),n,r)}}}async prepareCallHierarchy(e,t){const n=$h(e.textDocument.uri);if(!n)return null;const r=Fh.toFileLocationRequestArgs(n,e.position),i=await this.tspClient.request(Sl.PrepareCallHierarchy,r,t);if("response"!==i.type||!i.body)return null;return(Array.isArray(i.body)?i.body:[i.body]).map((e=>Ud(e,this.documents,this.workspaceRoot)))}async callHierarchyIncomingCalls(e,t){const n=$h(e.item.uri);if(!n)return null;const r=Fh.toFileLocationRequestArgs(n,e.item.selectionRange.start),i=await this.tspClient.request(Sl.ProvideCallHierarchyIncomingCalls,r,t);return"response"===i.type&&i.body?i.body.map((e=>function(e,t,n){return{from:Ud(e.from,t,n),fromRanges:e.fromSpans.map(Mh.fromTextSpan)}}(e,this.documents,this.workspaceRoot))):null}async callHierarchyOutgoingCalls(e,t){const n=$h(e.item.uri);if(!n)return null;const r=Fh.toFileLocationRequestArgs(n,e.item.selectionRange.start),i=await this.tspClient.request(Sl.ProvideCallHierarchyOutgoingCalls,r,t);return"response"===i.type&&i.body?i.body.map((e=>function(e,t,n){return{to:Ud(e.to,t,n),fromRanges:e.fromSpans.map(Mh.fromTextSpan)}}(e,this.documents,this.workspaceRoot))):null}async inlayHints(e,t){return await rp.provideInlayHints(e.textDocument.uri,e.range,this.documents,this.tspClient,this.options.lspClient,this.configurationManager,t)}async semanticTokensFull(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("semanticTokensFull",e,n),!n)return{data:[]};const r=this.documents.get(n);if(!r)return{data:[]};const i=r.offsetAt({line:0,character:0}),o=r.offsetAt({line:r.lineCount,character:0});return this.getSemanticTokens(r,n,i,o,t)}async semanticTokensRange(e,t){const n=$h(e.textDocument.uri);if(this.logger.log("semanticTokensRange",e,n),!n)return{data:[]};const r=this.documents.get(n);if(!r)return{data:[]};const i=r.offsetAt(e.range.start),o=r.offsetAt(e.range.end);return this.getSemanticTokens(r,n,i,o,t)}async getSemanticTokens(e,t,n,r,i){const o=await this.tspClient.request(Sl.EncodedSemanticClassificationsFull,{file:t,start:n,length:r-n,format:"2020"},i);return"response"===o.type&&o.body?.spans?{data:lp(e,o.body.spans)}:{data:[]}}}const Qp=Nr(void 0,void 0);class Zp{constructor(e){this.connection=e}async createProgressReporter(e,t){let n;return n=t&&t.constructor!==Qp.constructor?t:t||await this.connection.window.createWorkDoneProgress(),n}async withProgress(e,t){const{message:n,reporter:r}=e;return r.begin(n),t(r).then((e=>(r.done(),e)))}publishDiagnostics(e){this.connection.sendDiagnostics(e)}showErrorMessage(e){this.connection.sendNotification(ye.ShowMessageNotification.type,{type:ye.MessageType.Error,message:e})}logMessage(e){this.connection.sendNotification(ye.LogMessageNotification.type,e)}async applyWorkspaceEdit(e){return this.connection.workspace.applyEdit(e)}async rename(e){return this.connection.sendRequest(bl.type,e)}async sendNotification(e,t){await this.connection.sendNotification(e,t)}}const ef=gi.MessageType.Info,{version:tf}=JSON.parse(r(new URL("../package.json",import.meta.url),{encoding:"utf8"})),nf=new pe("typescript-language-server").version(tf).requiredOption("--stdio","use stdio").option("--log-level <logLevel>","A number indicating the log level (4 = log, 3 = info, 2 = warn, 1 = error). Defaults to `2`.").option("--tsserver-log-verbosity <tsserverLogVerbosity>","[deprecated] Specify a tsserver log verbosity (terse, normal, verbose). Defaults to `normal`. example: --tsserver-log-verbosity verbose").option("--tsserver-path <path>","[deprecated] Specify path to tsserver.js or the lib directory. example: --tsserver-path=/Users/me/typescript/lib/tsserver.js").parse(process.argv).opts();let rf=ef;nf.logLevel&&(rf=parseInt(nf.logLevel,10),rf&&(rf<1||rf>4)&&(console.error(`Invalid '--log-level ${rf}'. Falling back to 'info' level.`),rf=ef)),function(e){const t=vi.createConnection(vi.ProposedFeatures.all),n=new Zp(t),r=new Si(n,e.showMessageLevel),i=new Yp({logger:r,lspClient:n,tsserverPath:e.cmdLineTsserverPath,tsserverLogVerbosity:e.cmdLineTsserverLogVerbosity});return t.onInitialize(i.initialize.bind(i)),t.onInitialized(i.initialized.bind(i)),t.onDidChangeConfiguration(i.didChangeConfiguration.bind(i)),t.onDidOpenTextDocument(i.didOpenTextDocument.bind(i)),t.onDidSaveTextDocument(i.didSaveTextDocument.bind(i)),t.onDidCloseTextDocument(i.didCloseTextDocument.bind(i)),t.onDidChangeTextDocument(i.didChangeTextDocument.bind(i)),t.onCodeAction(i.codeAction.bind(i)),t.onCompletion(i.completion.bind(i)),t.onCompletionResolve(i.completionResolve.bind(i)),t.onDefinition(i.definition.bind(i)),t.onImplementation(i.implementation.bind(i)),t.onTypeDefinition(i.typeDefinition.bind(i)),t.onDocumentFormatting(i.documentFormatting.bind(i)),t.onDocumentRangeFormatting(i.documentRangeFormatting.bind(i)),t.onDocumentHighlight(i.documentHighlight.bind(i)),t.onDocumentSymbol(i.documentSymbol.bind(i)),t.onExecuteCommand(i.executeCommand.bind(i)),t.onHover(i.hover.bind(i)),t.onReferences(i.references.bind(i)),t.onRenameRequest(i.rename.bind(i)),t.onPrepareRename(i.prepareRename.bind(i)),t.onSelectionRanges(i.selectionRanges.bind(i)),t.onSignatureHelp(i.signatureHelp.bind(i)),t.onWorkspaceSymbol(i.workspaceSymbol.bind(i)),t.onFoldingRanges(i.foldingRanges.bind(i)),t.languages.callHierarchy.onPrepare(i.prepareCallHierarchy.bind(i)),t.languages.callHierarchy.onIncomingCalls(i.callHierarchyIncomingCalls.bind(i)),t.languages.callHierarchy.onOutgoingCalls(i.callHierarchyOutgoingCalls.bind(i)),t.languages.inlayHint.on(i.inlayHints.bind(i)),t.languages.semanticTokens.on(i.semanticTokensFull.bind(i)),t.languages.semanticTokens.onRange(i.semanticTokensRange.bind(i)),t.workspace.onWillRenameFiles(i.willRenameFiles.bind(i)),t}({cmdLineTsserverPath:nf.tsserverPath,cmdLineTsserverLogVerbosity:_h.fromString(nf.tsserverLogVerbosity),showMessageLevel:rf}).listen(); -//# sourceMappingURL=cli.mjs.map diff --git a/nvim/lua/node_modules/typescript-language-server/lib/cli.mjs.map b/nvim/lua/node_modules/typescript-language-server/lib/cli.mjs.map deleted file mode 100644 index 3a4b15a..0000000 --- a/nvim/lua/node_modules/typescript-language-server/lib/cli.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"cli.mjs","sources":["../node_modules/commander/lib/error.js","../node_modules/commander/lib/argument.js","../node_modules/commander/lib/help.js","../node_modules/commander/lib/option.js","../node_modules/commander/lib/suggestSimilar.js","../node_modules/commander/lib/command.js","../node_modules/commander/index.js","../node_modules/commander/esm.mjs","../node_modules/vscode-languageserver/lib/common/utils/is.js","../node_modules/vscode-jsonrpc/lib/common/is.js","../node_modules/vscode-jsonrpc/lib/common/messages.js","../node_modules/vscode-jsonrpc/lib/common/linkedMap.js","../node_modules/vscode-jsonrpc/lib/common/ral.js","../node_modules/vscode-jsonrpc/lib/common/events.js","../node_modules/vscode-jsonrpc/lib/common/cancellation.js","../node_modules/vscode-jsonrpc/lib/common/semaphore.js","../node_modules/vscode-jsonrpc/lib/common/connection.js","../node_modules/vscode-jsonrpc/lib/common/api.js","../node_modules/vscode-jsonrpc/lib/common/disposable.js","../node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js","../node_modules/vscode-jsonrpc/lib/common/messageReader.js","../node_modules/vscode-jsonrpc/lib/common/messageWriter.js","../node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","../node_modules/vscode-jsonrpc/lib/node/ril.js","../node_modules/vscode-jsonrpc/lib/node/main.js","../node_modules/vscode-jsonrpc/node.js","../node_modules/vscode-languageserver-types/lib/esm/main.js","../node_modules/vscode-languageserver-protocol/lib/common/messages.js","../node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js","../node_modules/vscode-languageserver-protocol/lib/common/protocol.js","../node_modules/vscode-languageserver-protocol/lib/common/connection.js","../node_modules/vscode-languageserver-protocol/lib/common/api.js","../node_modules/vscode-languageserver-protocol/lib/node/main.js","../node_modules/vscode-languageserver/lib/common/utils/uuid.js","../node_modules/vscode-languageserver/lib/common/progress.js","../node_modules/vscode-languageserver/lib/common/configuration.js","../node_modules/vscode-languageserver/lib/common/workspaceFolder.js","../node_modules/vscode-languageserver/lib/common/callHierarchy.js","../node_modules/vscode-languageserver/lib/common/semanticTokens.js","../node_modules/vscode-languageserver/lib/common/showDocument.js","../node_modules/vscode-languageserver/lib/common/fileOperations.js","../node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","../node_modules/vscode-languageserver/lib/common/typeHierarchy.js","../node_modules/vscode-languageserver/lib/common/inlineValue.js","../node_modules/vscode-languageserver/lib/common/inlayHint.js","../node_modules/vscode-languageserver/lib/common/diagnostic.js","../node_modules/vscode-languageserver/lib/common/textDocuments.js","../node_modules/vscode-languageserver/lib/common/notebook.js","../node_modules/vscode-languageserver/lib/common/moniker.js","../node_modules/vscode-languageserver/lib/common/server.js","../node_modules/vscode-languageserver/lib/node/files.js","../node_modules/vscode-languageserver-protocol/node.js","../node_modules/vscode-languageserver/lib/common/api.js","../node_modules/vscode-languageserver/lib/node/main.js","../node_modules/vscode-languageserver/node.js","../src/utils/logger.ts","../node_modules/universalify/index.js","../node_modules/fs-extra/node_modules/graceful-fs/polyfills.js","../node_modules/fs-extra/node_modules/graceful-fs/legacy-streams.js","../node_modules/fs-extra/node_modules/graceful-fs/clone.js","../node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js","../node_modules/fs-extra/lib/fs/index.js","../node_modules/fs-extra/lib/mkdirs/utils.js","../node_modules/fs-extra/lib/mkdirs/make-dir.js","../node_modules/fs-extra/lib/mkdirs/index.js","../node_modules/fs-extra/lib/path-exists/index.js","../node_modules/fs-extra/lib/util/utimes.js","../node_modules/fs-extra/lib/util/stat.js","../node_modules/fs-extra/lib/copy/copy.js","../node_modules/fs-extra/lib/copy/copy-sync.js","../node_modules/fs-extra/lib/copy/index.js","../node_modules/fs-extra/lib/remove/index.js","../node_modules/fs-extra/lib/empty/index.js","../node_modules/fs-extra/lib/ensure/file.js","../node_modules/fs-extra/lib/ensure/link.js","../node_modules/fs-extra/lib/ensure/symlink-paths.js","../node_modules/fs-extra/lib/ensure/symlink-type.js","../node_modules/fs-extra/lib/ensure/symlink.js","../node_modules/fs-extra/lib/ensure/index.js","../node_modules/jsonfile/node_modules/graceful-fs/polyfills.js","../node_modules/jsonfile/utils.js","../node_modules/jsonfile/index.js","../node_modules/jsonfile/node_modules/graceful-fs/graceful-fs.js","../node_modules/jsonfile/node_modules/graceful-fs/legacy-streams.js","../node_modules/jsonfile/node_modules/graceful-fs/clone.js","../node_modules/fs-extra/lib/json/jsonfile.js","../node_modules/fs-extra/lib/output-file/index.js","../node_modules/fs-extra/lib/json/output-json.js","../node_modules/fs-extra/lib/json/output-json-sync.js","../node_modules/fs-extra/lib/json/index.js","../node_modules/fs-extra/lib/move/move.js","../node_modules/fs-extra/lib/move/move-sync.js","../node_modules/fs-extra/lib/move/index.js","../node_modules/fs-extra/lib/index.js","../node_modules/p-debounce/index.js","../node_modules/semver/internal/constants.js","../node_modules/semver/internal/debug.js","../node_modules/semver/internal/re.js","../node_modules/semver/internal/parse-options.js","../node_modules/semver/internal/identifiers.js","../node_modules/semver/classes/semver.js","../node_modules/semver/functions/parse.js","../node_modules/semver/functions/valid.js","../node_modules/semver/functions/clean.js","../node_modules/semver/functions/inc.js","../node_modules/semver/functions/compare.js","../node_modules/semver/functions/eq.js","../node_modules/semver/functions/diff.js","../node_modules/semver/functions/major.js","../node_modules/semver/functions/minor.js","../node_modules/semver/functions/patch.js","../node_modules/semver/functions/prerelease.js","../node_modules/semver/functions/rcompare.js","../node_modules/semver/functions/compare-loose.js","../node_modules/semver/functions/compare-build.js","../node_modules/semver/functions/sort.js","../node_modules/semver/functions/rsort.js","../node_modules/semver/functions/gt.js","../node_modules/semver/functions/lt.js","../node_modules/semver/functions/neq.js","../node_modules/semver/functions/gte.js","../node_modules/semver/functions/lte.js","../node_modules/semver/functions/cmp.js","../node_modules/semver/functions/coerce.js","../node_modules/yallist/yallist.js","../node_modules/yallist/iterator.js","../node_modules/semver/classes/range.js","../node_modules/lru-cache/index.js","../node_modules/semver/classes/comparator.js","../node_modules/semver/functions/satisfies.js","../node_modules/semver/ranges/to-comparators.js","../node_modules/semver/ranges/max-satisfying.js","../node_modules/semver/ranges/min-satisfying.js","../node_modules/semver/ranges/min-version.js","../node_modules/semver/ranges/valid.js","../node_modules/semver/ranges/outside.js","../node_modules/semver/ranges/gtr.js","../node_modules/semver/ranges/ltr.js","../node_modules/semver/ranges/intersects.js","../node_modules/semver/ranges/simplify.js","../node_modules/semver/ranges/subset.js","../node_modules/semver/index.js","../src/ts-protocol.ts","../src/utils/api.ts","../src/typescriptService.ts","../src/tsServer/serverError.ts","../node_modules/crypto-random-string/index.js","../node_modules/temp-dir/index.js","../node_modules/tempy/index.js","../node_modules/unique-string/index.js","../src/tsServer/cancellation.ts","../src/tsServer/requestQueue.ts","../src/tsServer/server.ts","../src/tsServer/callbackMap.ts","../src/tsServer/serverProcess.ts","../src/utils/configuration.ts","../src/tsServer/tracer.ts","../src/tsp-client.ts","../node_modules/vscode-uri/lib/esm/index.js","../src/tsServer/spawner.ts","../src/utils/typeConverters.ts","../src/protocol-translation.ts","../src/diagnostic-queue.ts","../node_modules/vscode-languageserver-textdocument/lib/esm/main.js","../src/document.ts","../src/features/source-definition.ts","../src/commands.ts","../src/utils/MarkdownString.ts","../src/utils/previewer.ts","../src/utils/SnippetString.ts","../src/completion.ts","../src/hover.ts","../src/refactor.ts","../src/utils/types.ts","../src/organize-imports.ts","../src/document-symbol.ts","../src/features/call-hierarchy.ts","../src/utils/errorCodes.ts","../src/features/fix-all.ts","../src/utils/fixNames.ts","../src/features/inlay-hints.ts","../src/features/semantic-tokens.ts","../node_modules/isexe/index.js","../src/tsServer/logDirectoryProvider.ts","../node_modules/isexe/windows.js","../node_modules/isexe/mode.js","../node_modules/which/lib/index.js","../node_modules/pkg-up/node_modules/locate-path/index.js","../node_modules/pkg-up/node_modules/find-up/index.js","../node_modules/pkg-up/index.js","../src/utils/modules-resolver.ts","../src/tsServer/versionProvider.ts","../src/utils/tsconfig.ts","../node_modules/deepmerge/dist/cjs.js","../src/configuration-manager.ts","../src/lsp-server.ts","../src/quickfix.ts","../src/lsp-client.ts","../src/cli.ts","../src/lsp-connection.ts"],"sourcesContent":["// @ts-check\n\n/**\n * CommanderError class\n * @class\n */\nclass CommanderError extends Error {\n /**\n * Constructs the CommanderError class\n * @param {number} exitCode suggested exit code which could be used with process.exit\n * @param {string} code an id string representing the error\n * @param {string} message human-readable description of the error\n * @constructor\n */\n constructor(exitCode, code, message) {\n super(message);\n // properly capture stack trace in Node.js\n Error.captureStackTrace(this, this.constructor);\n this.name = this.constructor.name;\n this.code = code;\n this.exitCode = exitCode;\n this.nestedError = undefined;\n }\n}\n\n/**\n * InvalidArgumentError class\n * @class\n */\nclass InvalidArgumentError extends CommanderError {\n /**\n * Constructs the InvalidArgumentError class\n * @param {string} [message] explanation of why argument is invalid\n * @constructor\n */\n constructor(message) {\n super(1, 'commander.invalidArgument', message);\n // properly capture stack trace in Node.js\n Error.captureStackTrace(this, this.constructor);\n this.name = this.constructor.name;\n }\n}\n\nexports.CommanderError = CommanderError;\nexports.InvalidArgumentError = InvalidArgumentError;\n","const { InvalidArgumentError } = require('./error.js');\n\n// @ts-check\n\nclass Argument {\n /**\n * Initialize a new command argument with the given name and description.\n * The default is that the argument is required, and you can explicitly\n * indicate this with <> around the name. Put [] around the name for an optional argument.\n *\n * @param {string} name\n * @param {string} [description]\n */\n\n constructor(name, description) {\n this.description = description || '';\n this.variadic = false;\n this.parseArg = undefined;\n this.defaultValue = undefined;\n this.defaultValueDescription = undefined;\n this.argChoices = undefined;\n\n switch (name[0]) {\n case '<': // e.g. <required>\n this.required = true;\n this._name = name.slice(1, -1);\n break;\n case '[': // e.g. [optional]\n this.required = false;\n this._name = name.slice(1, -1);\n break;\n default:\n this.required = true;\n this._name = name;\n break;\n }\n\n if (this._name.length > 3 && this._name.slice(-3) === '...') {\n this.variadic = true;\n this._name = this._name.slice(0, -3);\n }\n }\n\n /**\n * Return argument name.\n *\n * @return {string}\n */\n\n name() {\n return this._name;\n }\n\n /**\n * @api private\n */\n\n _concatValue(value, previous) {\n if (previous === this.defaultValue || !Array.isArray(previous)) {\n return [value];\n }\n\n return previous.concat(value);\n }\n\n /**\n * Set the default value, and optionally supply the description to be displayed in the help.\n *\n * @param {any} value\n * @param {string} [description]\n * @return {Argument}\n */\n\n default(value, description) {\n this.defaultValue = value;\n this.defaultValueDescription = description;\n return this;\n }\n\n /**\n * Set the custom handler for processing CLI command arguments into argument values.\n *\n * @param {Function} [fn]\n * @return {Argument}\n */\n\n argParser(fn) {\n this.parseArg = fn;\n return this;\n }\n\n /**\n * Only allow argument value to be one of choices.\n *\n * @param {string[]} values\n * @return {Argument}\n */\n\n choices(values) {\n this.argChoices = values.slice();\n this.parseArg = (arg, previous) => {\n if (!this.argChoices.includes(arg)) {\n throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(', ')}.`);\n }\n if (this.variadic) {\n return this._concatValue(arg, previous);\n }\n return arg;\n };\n return this;\n }\n\n /**\n * Make argument required.\n */\n argRequired() {\n this.required = true;\n return this;\n }\n\n /**\n * Make argument optional.\n */\n argOptional() {\n this.required = false;\n return this;\n }\n}\n\n/**\n * Takes an argument and returns its human readable equivalent for help usage.\n *\n * @param {Argument} arg\n * @return {string}\n * @api private\n */\n\nfunction humanReadableArgName(arg) {\n const nameOutput = arg.name() + (arg.variadic === true ? '...' : '');\n\n return arg.required\n ? '<' + nameOutput + '>'\n : '[' + nameOutput + ']';\n}\n\nexports.Argument = Argument;\nexports.humanReadableArgName = humanReadableArgName;\n","const { humanReadableArgName } = require('./argument.js');\n\n/**\n * TypeScript import types for JSDoc, used by Visual Studio Code IntelliSense and `npm run typescript-checkJS`\n * https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html#import-types\n * @typedef { import(\"./argument.js\").Argument } Argument\n * @typedef { import(\"./command.js\").Command } Command\n * @typedef { import(\"./option.js\").Option } Option\n */\n\n// @ts-check\n\n// Although this is a class, methods are static in style to allow override using subclass or just functions.\nclass Help {\n constructor() {\n this.helpWidth = undefined;\n this.sortSubcommands = false;\n this.sortOptions = false;\n this.showGlobalOptions = false;\n }\n\n /**\n * Get an array of the visible subcommands. Includes a placeholder for the implicit help command, if there is one.\n *\n * @param {Command} cmd\n * @returns {Command[]}\n */\n\n visibleCommands(cmd) {\n const visibleCommands = cmd.commands.filter(cmd => !cmd._hidden);\n if (cmd._hasImplicitHelpCommand()) {\n // Create a command matching the implicit help command.\n const [, helpName, helpArgs] = cmd._helpCommandnameAndArgs.match(/([^ ]+) *(.*)/);\n const helpCommand = cmd.createCommand(helpName)\n .helpOption(false);\n helpCommand.description(cmd._helpCommandDescription);\n if (helpArgs) helpCommand.arguments(helpArgs);\n visibleCommands.push(helpCommand);\n }\n if (this.sortSubcommands) {\n visibleCommands.sort((a, b) => {\n // @ts-ignore: overloaded return type\n return a.name().localeCompare(b.name());\n });\n }\n return visibleCommands;\n }\n\n /**\n * Compare options for sort.\n *\n * @param {Option} a\n * @param {Option} b\n * @returns number\n */\n compareOptions(a, b) {\n const getSortKey = (option) => {\n // WYSIWYG for order displayed in help. Short used for comparison if present. No special handling for negated.\n return option.short ? option.short.replace(/^-/, '') : option.long.replace(/^--/, '');\n };\n return getSortKey(a).localeCompare(getSortKey(b));\n }\n\n /**\n * Get an array of the visible options. Includes a placeholder for the implicit help option, if there is one.\n *\n * @param {Command} cmd\n * @returns {Option[]}\n */\n\n visibleOptions(cmd) {\n const visibleOptions = cmd.options.filter((option) => !option.hidden);\n // Implicit help\n const showShortHelpFlag = cmd._hasHelpOption && cmd._helpShortFlag && !cmd._findOption(cmd._helpShortFlag);\n const showLongHelpFlag = cmd._hasHelpOption && !cmd._findOption(cmd._helpLongFlag);\n if (showShortHelpFlag || showLongHelpFlag) {\n let helpOption;\n if (!showShortHelpFlag) {\n helpOption = cmd.createOption(cmd._helpLongFlag, cmd._helpDescription);\n } else if (!showLongHelpFlag) {\n helpOption = cmd.createOption(cmd._helpShortFlag, cmd._helpDescription);\n } else {\n helpOption = cmd.createOption(cmd._helpFlags, cmd._helpDescription);\n }\n visibleOptions.push(helpOption);\n }\n if (this.sortOptions) {\n visibleOptions.sort(this.compareOptions);\n }\n return visibleOptions;\n }\n\n /**\n * Get an array of the visible global options. (Not including help.)\n *\n * @param {Command} cmd\n * @returns {Option[]}\n */\n\n visibleGlobalOptions(cmd) {\n if (!this.showGlobalOptions) return [];\n\n const globalOptions = [];\n for (let parentCmd = cmd.parent; parentCmd; parentCmd = parentCmd.parent) {\n const visibleOptions = parentCmd.options.filter((option) => !option.hidden);\n globalOptions.push(...visibleOptions);\n }\n if (this.sortOptions) {\n globalOptions.sort(this.compareOptions);\n }\n return globalOptions;\n }\n\n /**\n * Get an array of the arguments if any have a description.\n *\n * @param {Command} cmd\n * @returns {Argument[]}\n */\n\n visibleArguments(cmd) {\n // Side effect! Apply the legacy descriptions before the arguments are displayed.\n if (cmd._argsDescription) {\n cmd._args.forEach(argument => {\n argument.description = argument.description || cmd._argsDescription[argument.name()] || '';\n });\n }\n\n // If there are any arguments with a description then return all the arguments.\n if (cmd._args.find(argument => argument.description)) {\n return cmd._args;\n }\n return [];\n }\n\n /**\n * Get the command term to show in the list of subcommands.\n *\n * @param {Command} cmd\n * @returns {string}\n */\n\n subcommandTerm(cmd) {\n // Legacy. Ignores custom usage string, and nested commands.\n const args = cmd._args.map(arg => humanReadableArgName(arg)).join(' ');\n return cmd._name +\n (cmd._aliases[0] ? '|' + cmd._aliases[0] : '') +\n (cmd.options.length ? ' [options]' : '') + // simplistic check for non-help option\n (args ? ' ' + args : '');\n }\n\n /**\n * Get the option term to show in the list of options.\n *\n * @param {Option} option\n * @returns {string}\n */\n\n optionTerm(option) {\n return option.flags;\n }\n\n /**\n * Get the argument term to show in the list of arguments.\n *\n * @param {Argument} argument\n * @returns {string}\n */\n\n argumentTerm(argument) {\n return argument.name();\n }\n\n /**\n * Get the longest command term length.\n *\n * @param {Command} cmd\n * @param {Help} helper\n * @returns {number}\n */\n\n longestSubcommandTermLength(cmd, helper) {\n return helper.visibleCommands(cmd).reduce((max, command) => {\n return Math.max(max, helper.subcommandTerm(command).length);\n }, 0);\n }\n\n /**\n * Get the longest option term length.\n *\n * @param {Command} cmd\n * @param {Help} helper\n * @returns {number}\n */\n\n longestOptionTermLength(cmd, helper) {\n return helper.visibleOptions(cmd).reduce((max, option) => {\n return Math.max(max, helper.optionTerm(option).length);\n }, 0);\n }\n\n /**\n * Get the longest global option term length.\n *\n * @param {Command} cmd\n * @param {Help} helper\n * @returns {number}\n */\n\n longestGlobalOptionTermLength(cmd, helper) {\n return helper.visibleGlobalOptions(cmd).reduce((max, option) => {\n return Math.max(max, helper.optionTerm(option).length);\n }, 0);\n }\n\n /**\n * Get the longest argument term length.\n *\n * @param {Command} cmd\n * @param {Help} helper\n * @returns {number}\n */\n\n longestArgumentTermLength(cmd, helper) {\n return helper.visibleArguments(cmd).reduce((max, argument) => {\n return Math.max(max, helper.argumentTerm(argument).length);\n }, 0);\n }\n\n /**\n * Get the command usage to be displayed at the top of the built-in help.\n *\n * @param {Command} cmd\n * @returns {string}\n */\n\n commandUsage(cmd) {\n // Usage\n let cmdName = cmd._name;\n if (cmd._aliases[0]) {\n cmdName = cmdName + '|' + cmd._aliases[0];\n }\n let parentCmdNames = '';\n for (let parentCmd = cmd.parent; parentCmd; parentCmd = parentCmd.parent) {\n parentCmdNames = parentCmd.name() + ' ' + parentCmdNames;\n }\n return parentCmdNames + cmdName + ' ' + cmd.usage();\n }\n\n /**\n * Get the description for the command.\n *\n * @param {Command} cmd\n * @returns {string}\n */\n\n commandDescription(cmd) {\n // @ts-ignore: overloaded return type\n return cmd.description();\n }\n\n /**\n * Get the subcommand summary to show in the list of subcommands.\n * (Fallback to description for backwards compatibility.)\n *\n * @param {Command} cmd\n * @returns {string}\n */\n\n subcommandDescription(cmd) {\n // @ts-ignore: overloaded return type\n return cmd.summary() || cmd.description();\n }\n\n /**\n * Get the option description to show in the list of options.\n *\n * @param {Option} option\n * @return {string}\n */\n\n optionDescription(option) {\n const extraInfo = [];\n\n if (option.argChoices) {\n extraInfo.push(\n // use stringify to match the display of the default value\n `choices: ${option.argChoices.map((choice) => JSON.stringify(choice)).join(', ')}`);\n }\n if (option.defaultValue !== undefined) {\n // default for boolean and negated more for programmer than end user,\n // but show true/false for boolean option as may be for hand-rolled env or config processing.\n const showDefault = option.required || option.optional ||\n (option.isBoolean() && typeof option.defaultValue === 'boolean');\n if (showDefault) {\n extraInfo.push(`default: ${option.defaultValueDescription || JSON.stringify(option.defaultValue)}`);\n }\n }\n // preset for boolean and negated are more for programmer than end user\n if (option.presetArg !== undefined && option.optional) {\n extraInfo.push(`preset: ${JSON.stringify(option.presetArg)}`);\n }\n if (option.envVar !== undefined) {\n extraInfo.push(`env: ${option.envVar}`);\n }\n if (extraInfo.length > 0) {\n return `${option.description} (${extraInfo.join(', ')})`;\n }\n\n return option.description;\n }\n\n /**\n * Get the argument description to show in the list of arguments.\n *\n * @param {Argument} argument\n * @return {string}\n */\n\n argumentDescription(argument) {\n const extraInfo = [];\n if (argument.argChoices) {\n extraInfo.push(\n // use stringify to match the display of the default value\n `choices: ${argument.argChoices.map((choice) => JSON.stringify(choice)).join(', ')}`);\n }\n if (argument.defaultValue !== undefined) {\n extraInfo.push(`default: ${argument.defaultValueDescription || JSON.stringify(argument.defaultValue)}`);\n }\n if (extraInfo.length > 0) {\n const extraDescripton = `(${extraInfo.join(', ')})`;\n if (argument.description) {\n return `${argument.description} ${extraDescripton}`;\n }\n return extraDescripton;\n }\n return argument.description;\n }\n\n /**\n * Generate the built-in help text.\n *\n * @param {Command} cmd\n * @param {Help} helper\n * @returns {string}\n */\n\n formatHelp(cmd, helper) {\n const termWidth = helper.padWidth(cmd, helper);\n const helpWidth = helper.helpWidth || 80;\n const itemIndentWidth = 2;\n const itemSeparatorWidth = 2; // between term and description\n function formatItem(term, description) {\n if (description) {\n const fullText = `${term.padEnd(termWidth + itemSeparatorWidth)}${description}`;\n return helper.wrap(fullText, helpWidth - itemIndentWidth, termWidth + itemSeparatorWidth);\n }\n return term;\n }\n function formatList(textArray) {\n return textArray.join('\\n').replace(/^/gm, ' '.repeat(itemIndentWidth));\n }\n\n // Usage\n let output = [`Usage: ${helper.commandUsage(cmd)}`, ''];\n\n // Description\n const commandDescription = helper.commandDescription(cmd);\n if (commandDescription.length > 0) {\n output = output.concat([helper.wrap(commandDescription, helpWidth, 0), '']);\n }\n\n // Arguments\n const argumentList = helper.visibleArguments(cmd).map((argument) => {\n return formatItem(helper.argumentTerm(argument), helper.argumentDescription(argument));\n });\n if (argumentList.length > 0) {\n output = output.concat(['Arguments:', formatList(argumentList), '']);\n }\n\n // Options\n const optionList = helper.visibleOptions(cmd).map((option) => {\n return formatItem(helper.optionTerm(option), helper.optionDescription(option));\n });\n if (optionList.length > 0) {\n output = output.concat(['Options:', formatList(optionList), '']);\n }\n\n if (this.showGlobalOptions) {\n const globalOptionList = helper.visibleGlobalOptions(cmd).map((option) => {\n return formatItem(helper.optionTerm(option), helper.optionDescription(option));\n });\n if (globalOptionList.length > 0) {\n output = output.concat(['Global Options:', formatList(globalOptionList), '']);\n }\n }\n\n // Commands\n const commandList = helper.visibleCommands(cmd).map((cmd) => {\n return formatItem(helper.subcommandTerm(cmd), helper.subcommandDescription(cmd));\n });\n if (commandList.length > 0) {\n output = output.concat(['Commands:', formatList(commandList), '']);\n }\n\n return output.join('\\n');\n }\n\n /**\n * Calculate the pad width from the maximum term length.\n *\n * @param {Command} cmd\n * @param {Help} helper\n * @returns {number}\n */\n\n padWidth(cmd, helper) {\n return Math.max(\n helper.longestOptionTermLength(cmd, helper),\n helper.longestGlobalOptionTermLength(cmd, helper),\n helper.longestSubcommandTermLength(cmd, helper),\n helper.longestArgumentTermLength(cmd, helper)\n );\n }\n\n /**\n * Wrap the given string to width characters per line, with lines after the first indented.\n * Do not wrap if insufficient room for wrapping (minColumnWidth), or string is manually formatted.\n *\n * @param {string} str\n * @param {number} width\n * @param {number} indent\n * @param {number} [minColumnWidth=40]\n * @return {string}\n *\n */\n\n wrap(str, width, indent, minColumnWidth = 40) {\n // Full \\s characters, minus the linefeeds.\n const indents = ' \\\\f\\\\t\\\\v\\u00a0\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff';\n // Detect manually wrapped and indented strings by searching for line break followed by spaces.\n const manualIndent = new RegExp(`[\\\\n][${indents}]+`);\n if (str.match(manualIndent)) return str;\n // Do not wrap if not enough room for a wrapped column of text (as could end up with a word per line).\n const columnWidth = width - indent;\n if (columnWidth < minColumnWidth) return str;\n\n const leadingStr = str.slice(0, indent);\n const columnText = str.slice(indent).replace('\\r\\n', '\\n');\n const indentString = ' '.repeat(indent);\n const zeroWidthSpace = '\\u200B';\n const breaks = `\\\\s${zeroWidthSpace}`;\n // Match line end (so empty lines don't collapse),\n // or as much text as will fit in column, or excess text up to first break.\n const regex = new RegExp(`\\n|.{1,${columnWidth - 1}}([${breaks}]|$)|[^${breaks}]+?([${breaks}]|$)`, 'g');\n const lines = columnText.match(regex) || [];\n return leadingStr + lines.map((line, i) => {\n if (line === '\\n') return ''; // preserve empty lines\n return ((i > 0) ? indentString : '') + line.trimEnd();\n }).join('\\n');\n }\n}\n\nexports.Help = Help;\n","const { InvalidArgumentError } = require('./error.js');\n\n// @ts-check\n\nclass Option {\n /**\n * Initialize a new `Option` with the given `flags` and `description`.\n *\n * @param {string} flags\n * @param {string} [description]\n */\n\n constructor(flags, description) {\n this.flags = flags;\n this.description = description || '';\n\n this.required = flags.includes('<'); // A value must be supplied when the option is specified.\n this.optional = flags.includes('['); // A value is optional when the option is specified.\n // variadic test ignores <value,...> et al which might be used to describe custom splitting of single argument\n this.variadic = /\\w\\.\\.\\.[>\\]]$/.test(flags); // The option can take multiple values.\n this.mandatory = false; // The option must have a value after parsing, which usually means it must be specified on command line.\n const optionFlags = splitOptionFlags(flags);\n this.short = optionFlags.shortFlag;\n this.long = optionFlags.longFlag;\n this.negate = false;\n if (this.long) {\n this.negate = this.long.startsWith('--no-');\n }\n this.defaultValue = undefined;\n this.defaultValueDescription = undefined;\n this.presetArg = undefined;\n this.envVar = undefined;\n this.parseArg = undefined;\n this.hidden = false;\n this.argChoices = undefined;\n this.conflictsWith = [];\n this.implied = undefined;\n }\n\n /**\n * Set the default value, and optionally supply the description to be displayed in the help.\n *\n * @param {any} value\n * @param {string} [description]\n * @return {Option}\n */\n\n default(value, description) {\n this.defaultValue = value;\n this.defaultValueDescription = description;\n return this;\n }\n\n /**\n * Preset to use when option used without option-argument, especially optional but also boolean and negated.\n * The custom processing (parseArg) is called.\n *\n * @example\n * new Option('--color').default('GREYSCALE').preset('RGB');\n * new Option('--donate [amount]').preset('20').argParser(parseFloat);\n *\n * @param {any} arg\n * @return {Option}\n */\n\n preset(arg) {\n this.presetArg = arg;\n return this;\n }\n\n /**\n * Add option name(s) that conflict with this option.\n * An error will be displayed if conflicting options are found during parsing.\n *\n * @example\n * new Option('--rgb').conflicts('cmyk');\n * new Option('--js').conflicts(['ts', 'jsx']);\n *\n * @param {string | string[]} names\n * @return {Option}\n */\n\n conflicts(names) {\n this.conflictsWith = this.conflictsWith.concat(names);\n return this;\n }\n\n /**\n * Specify implied option values for when this option is set and the implied options are not.\n *\n * The custom processing (parseArg) is not called on the implied values.\n *\n * @example\n * program\n * .addOption(new Option('--log', 'write logging information to file'))\n * .addOption(new Option('--trace', 'log extra details').implies({ log: 'trace.txt' }));\n *\n * @param {Object} impliedOptionValues\n * @return {Option}\n */\n implies(impliedOptionValues) {\n this.implied = Object.assign(this.implied || {}, impliedOptionValues);\n return this;\n }\n\n /**\n * Set environment variable to check for option value.\n *\n * An environment variable is only used if when processed the current option value is\n * undefined, or the source of the current value is 'default' or 'config' or 'env'.\n *\n * @param {string} name\n * @return {Option}\n */\n\n env(name) {\n this.envVar = name;\n return this;\n }\n\n /**\n * Set the custom handler for processing CLI option arguments into option values.\n *\n * @param {Function} [fn]\n * @return {Option}\n */\n\n argParser(fn) {\n this.parseArg = fn;\n return this;\n }\n\n /**\n * Whether the option is mandatory and must have a value after parsing.\n *\n * @param {boolean} [mandatory=true]\n * @return {Option}\n */\n\n makeOptionMandatory(mandatory = true) {\n this.mandatory = !!mandatory;\n return this;\n }\n\n /**\n * Hide option in help.\n *\n * @param {boolean} [hide=true]\n * @return {Option}\n */\n\n hideHelp(hide = true) {\n this.hidden = !!hide;\n return this;\n }\n\n /**\n * @api private\n */\n\n _concatValue(value, previous) {\n if (previous === this.defaultValue || !Array.isArray(previous)) {\n return [value];\n }\n\n return previous.concat(value);\n }\n\n /**\n * Only allow option value to be one of choices.\n *\n * @param {string[]} values\n * @return {Option}\n */\n\n choices(values) {\n this.argChoices = values.slice();\n this.parseArg = (arg, previous) => {\n if (!this.argChoices.includes(arg)) {\n throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(', ')}.`);\n }\n if (this.variadic) {\n return this._concatValue(arg, previous);\n }\n return arg;\n };\n return this;\n }\n\n /**\n * Return option name.\n *\n * @return {string}\n */\n\n name() {\n if (this.long) {\n return this.long.replace(/^--/, '');\n }\n return this.short.replace(/^-/, '');\n }\n\n /**\n * Return option name, in a camelcase format that can be used\n * as a object attribute key.\n *\n * @return {string}\n * @api private\n */\n\n attributeName() {\n return camelcase(this.name().replace(/^no-/, ''));\n }\n\n /**\n * Check if `arg` matches the short or long flag.\n *\n * @param {string} arg\n * @return {boolean}\n * @api private\n */\n\n is(arg) {\n return this.short === arg || this.long === arg;\n }\n\n /**\n * Return whether a boolean option.\n *\n * Options are one of boolean, negated, required argument, or optional argument.\n *\n * @return {boolean}\n * @api private\n */\n\n isBoolean() {\n return !this.required && !this.optional && !this.negate;\n }\n}\n\n/**\n * This class is to make it easier to work with dual options, without changing the existing\n * implementation. We support separate dual options for separate positive and negative options,\n * like `--build` and `--no-build`, which share a single option value. This works nicely for some\n * use cases, but is tricky for others where we want separate behaviours despite\n * the single shared option value.\n */\nclass DualOptions {\n /**\n * @param {Option[]} options\n */\n constructor(options) {\n this.positiveOptions = new Map();\n this.negativeOptions = new Map();\n this.dualOptions = new Set();\n options.forEach(option => {\n if (option.negate) {\n this.negativeOptions.set(option.attributeName(), option);\n } else {\n this.positiveOptions.set(option.attributeName(), option);\n }\n });\n this.negativeOptions.forEach((value, key) => {\n if (this.positiveOptions.has(key)) {\n this.dualOptions.add(key);\n }\n });\n }\n\n /**\n * Did the value come from the option, and not from possible matching dual option?\n *\n * @param {any} value\n * @param {Option} option\n * @returns {boolean}\n */\n valueFromOption(value, option) {\n const optionKey = option.attributeName();\n if (!this.dualOptions.has(optionKey)) return true;\n\n // Use the value to deduce if (probably) came from the option.\n const preset = this.negativeOptions.get(optionKey).presetArg;\n const negativeValue = (preset !== undefined) ? preset : false;\n return option.negate === (negativeValue === value);\n }\n}\n\n/**\n * Convert string from kebab-case to camelCase.\n *\n * @param {string} str\n * @return {string}\n * @api private\n */\n\nfunction camelcase(str) {\n return str.split('-').reduce((str, word) => {\n return str + word[0].toUpperCase() + word.slice(1);\n });\n}\n\n/**\n * Split the short and long flag out of something like '-m,--mixed <value>'\n *\n * @api private\n */\n\nfunction splitOptionFlags(flags) {\n let shortFlag;\n let longFlag;\n // Use original very loose parsing to maintain backwards compatibility for now,\n // which allowed for example unintended `-sw, --short-word` [sic].\n const flagParts = flags.split(/[ |,]+/);\n if (flagParts.length > 1 && !/^[[<]/.test(flagParts[1])) shortFlag = flagParts.shift();\n longFlag = flagParts.shift();\n // Add support for lone short flag without significantly changing parsing!\n if (!shortFlag && /^-[^-]$/.test(longFlag)) {\n shortFlag = longFlag;\n longFlag = undefined;\n }\n return { shortFlag, longFlag };\n}\n\nexports.Option = Option;\nexports.splitOptionFlags = splitOptionFlags;\nexports.DualOptions = DualOptions;\n","const maxDistance = 3;\n\nfunction editDistance(a, b) {\n // https://en.wikipedia.org/wiki/Damerau–Levenshtein_distance\n // Calculating optimal string alignment distance, no substring is edited more than once.\n // (Simple implementation.)\n\n // Quick early exit, return worst case.\n if (Math.abs(a.length - b.length) > maxDistance) return Math.max(a.length, b.length);\n\n // distance between prefix substrings of a and b\n const d = [];\n\n // pure deletions turn a into empty string\n for (let i = 0; i <= a.length; i++) {\n d[i] = [i];\n }\n // pure insertions turn empty string into b\n for (let j = 0; j <= b.length; j++) {\n d[0][j] = j;\n }\n\n // fill matrix\n for (let j = 1; j <= b.length; j++) {\n for (let i = 1; i <= a.length; i++) {\n let cost = 1;\n if (a[i - 1] === b[j - 1]) {\n cost = 0;\n } else {\n cost = 1;\n }\n d[i][j] = Math.min(\n d[i - 1][j] + 1, // deletion\n d[i][j - 1] + 1, // insertion\n d[i - 1][j - 1] + cost // substitution\n );\n // transposition\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + 1);\n }\n }\n }\n\n return d[a.length][b.length];\n}\n\n/**\n * Find close matches, restricted to same number of edits.\n *\n * @param {string} word\n * @param {string[]} candidates\n * @returns {string}\n */\n\nfunction suggestSimilar(word, candidates) {\n if (!candidates || candidates.length === 0) return '';\n // remove possible duplicates\n candidates = Array.from(new Set(candidates));\n\n const searchingOptions = word.startsWith('--');\n if (searchingOptions) {\n word = word.slice(2);\n candidates = candidates.map(candidate => candidate.slice(2));\n }\n\n let similar = [];\n let bestDistance = maxDistance;\n const minSimilarity = 0.4;\n candidates.forEach((candidate) => {\n if (candidate.length <= 1) return; // no one character guesses\n\n const distance = editDistance(word, candidate);\n const length = Math.max(word.length, candidate.length);\n const similarity = (length - distance) / length;\n if (similarity > minSimilarity) {\n if (distance < bestDistance) {\n // better edit distance, throw away previous worse matches\n bestDistance = distance;\n similar = [candidate];\n } else if (distance === bestDistance) {\n similar.push(candidate);\n }\n }\n });\n\n similar.sort((a, b) => a.localeCompare(b));\n if (searchingOptions) {\n similar = similar.map(candidate => `--${candidate}`);\n }\n\n if (similar.length > 1) {\n return `\\n(Did you mean one of ${similar.join(', ')}?)`;\n }\n if (similar.length === 1) {\n return `\\n(Did you mean ${similar[0]}?)`;\n }\n return '';\n}\n\nexports.suggestSimilar = suggestSimilar;\n","const EventEmitter = require('events').EventEmitter;\nconst childProcess = require('child_process');\nconst path = require('path');\nconst fs = require('fs');\nconst process = require('process');\n\nconst { Argument, humanReadableArgName } = require('./argument.js');\nconst { CommanderError } = require('./error.js');\nconst { Help } = require('./help.js');\nconst { Option, splitOptionFlags, DualOptions } = require('./option.js');\nconst { suggestSimilar } = require('./suggestSimilar');\n\n// @ts-check\n\nclass Command extends EventEmitter {\n /**\n * Initialize a new `Command`.\n *\n * @param {string} [name]\n */\n\n constructor(name) {\n super();\n /** @type {Command[]} */\n this.commands = [];\n /** @type {Option[]} */\n this.options = [];\n this.parent = null;\n this._allowUnknownOption = false;\n this._allowExcessArguments = true;\n /** @type {Argument[]} */\n this._args = [];\n /** @type {string[]} */\n this.args = []; // cli args with options removed\n this.rawArgs = [];\n this.processedArgs = []; // like .args but after custom processing and collecting variadic\n this._scriptPath = null;\n this._name = name || '';\n this._optionValues = {};\n this._optionValueSources = {}; // default, env, cli etc\n this._storeOptionsAsProperties = false;\n this._actionHandler = null;\n this._executableHandler = false;\n this._executableFile = null; // custom name for executable\n this._executableDir = null; // custom search directory for subcommands\n this._defaultCommandName = null;\n this._exitCallback = null;\n this._aliases = [];\n this._combineFlagAndOptionalValue = true;\n this._description = '';\n this._summary = '';\n this._argsDescription = undefined; // legacy\n this._enablePositionalOptions = false;\n this._passThroughOptions = false;\n this._lifeCycleHooks = {}; // a hash of arrays\n /** @type {boolean | string} */\n this._showHelpAfterError = false;\n this._showSuggestionAfterError = true;\n\n // see .configureOutput() for docs\n this._outputConfiguration = {\n writeOut: (str) => process.stdout.write(str),\n writeErr: (str) => process.stderr.write(str),\n getOutHelpWidth: () => process.stdout.isTTY ? process.stdout.columns : undefined,\n getErrHelpWidth: () => process.stderr.isTTY ? process.stderr.columns : undefined,\n outputError: (str, write) => write(str)\n };\n\n this._hidden = false;\n this._hasHelpOption = true;\n this._helpFlags = '-h, --help';\n this._helpDescription = 'display help for command';\n this._helpShortFlag = '-h';\n this._helpLongFlag = '--help';\n this._addImplicitHelpCommand = undefined; // Deliberately undefined, not decided whether true or false\n this._helpCommandName = 'help';\n this._helpCommandnameAndArgs = 'help [command]';\n this._helpCommandDescription = 'display help for command';\n this._helpConfiguration = {};\n }\n\n /**\n * Copy settings that are useful to have in common across root command and subcommands.\n *\n * (Used internally when adding a command using `.command()` so subcommands inherit parent settings.)\n *\n * @param {Command} sourceCommand\n * @return {Command} `this` command for chaining\n */\n copyInheritedSettings(sourceCommand) {\n this._outputConfiguration = sourceCommand._outputConfiguration;\n this._hasHelpOption = sourceCommand._hasHelpOption;\n this._helpFlags = sourceCommand._helpFlags;\n this._helpDescription = sourceCommand._helpDescription;\n this._helpShortFlag = sourceCommand._helpShortFlag;\n this._helpLongFlag = sourceCommand._helpLongFlag;\n this._helpCommandName = sourceCommand._helpCommandName;\n this._helpCommandnameAndArgs = sourceCommand._helpCommandnameAndArgs;\n this._helpCommandDescription = sourceCommand._helpCommandDescription;\n this._helpConfiguration = sourceCommand._helpConfiguration;\n this._exitCallback = sourceCommand._exitCallback;\n this._storeOptionsAsProperties = sourceCommand._storeOptionsAsProperties;\n this._combineFlagAndOptionalValue = sourceCommand._combineFlagAndOptionalValue;\n this._allowExcessArguments = sourceCommand._allowExcessArguments;\n this._enablePositionalOptions = sourceCommand._enablePositionalOptions;\n this._showHelpAfterError = sourceCommand._showHelpAfterError;\n this._showSuggestionAfterError = sourceCommand._showSuggestionAfterError;\n\n return this;\n }\n\n /**\n * Define a command.\n *\n * There are two styles of command: pay attention to where to put the description.\n *\n * @example\n * // Command implemented using action handler (description is supplied separately to `.command`)\n * program\n * .command('clone <source> [destination]')\n * .description('clone a repository into a newly created directory')\n * .action((source, destination) => {\n * console.log('clone command called');\n * });\n *\n * // Command implemented using separate executable file (description is second parameter to `.command`)\n * program\n * .command('start <service>', 'start named service')\n * .command('stop [service]', 'stop named service, or all if no name supplied');\n *\n * @param {string} nameAndArgs - command name and arguments, args are `<required>` or `[optional]` and last may also be `variadic...`\n * @param {Object|string} [actionOptsOrExecDesc] - configuration options (for action), or description (for executable)\n * @param {Object} [execOpts] - configuration options (for executable)\n * @return {Command} returns new command for action handler, or `this` for executable command\n */\n\n command(nameAndArgs, actionOptsOrExecDesc, execOpts) {\n let desc = actionOptsOrExecDesc;\n let opts = execOpts;\n if (typeof desc === 'object' && desc !== null) {\n opts = desc;\n desc = null;\n }\n opts = opts || {};\n const [, name, args] = nameAndArgs.match(/([^ ]+) *(.*)/);\n\n const cmd = this.createCommand(name);\n if (desc) {\n cmd.description(desc);\n cmd._executableHandler = true;\n }\n if (opts.isDefault) this._defaultCommandName = cmd._name;\n cmd._hidden = !!(opts.noHelp || opts.hidden); // noHelp is deprecated old name for hidden\n cmd._executableFile = opts.executableFile || null; // Custom name for executable file, set missing to null to match constructor\n if (args) cmd.arguments(args);\n this.commands.push(cmd);\n cmd.parent = this;\n cmd.copyInheritedSettings(this);\n\n if (desc) return this;\n return cmd;\n }\n\n /**\n * Factory routine to create a new unattached command.\n *\n * See .command() for creating an attached subcommand, which uses this routine to\n * create the command. You can override createCommand to customise subcommands.\n *\n * @param {string} [name]\n * @return {Command} new command\n */\n\n createCommand(name) {\n return new Command(name);\n }\n\n /**\n * You can customise the help with a subclass of Help by overriding createHelp,\n * or by overriding Help properties using configureHelp().\n *\n * @return {Help}\n */\n\n createHelp() {\n return Object.assign(new Help(), this.configureHelp());\n }\n\n /**\n * You can customise the help by overriding Help properties using configureHelp(),\n * or with a subclass of Help by overriding createHelp().\n *\n * @param {Object} [configuration] - configuration options\n * @return {Command|Object} `this` command for chaining, or stored configuration\n */\n\n configureHelp(configuration) {\n if (configuration === undefined) return this._helpConfiguration;\n\n this._helpConfiguration = configuration;\n return this;\n }\n\n /**\n * The default output goes to stdout and stderr. You can customise this for special\n * applications. You can also customise the display of errors by overriding outputError.\n *\n * The configuration properties are all functions:\n *\n * // functions to change where being written, stdout and stderr\n * writeOut(str)\n * writeErr(str)\n * // matching functions to specify width for wrapping help\n * getOutHelpWidth()\n * getErrHelpWidth()\n * // functions based on what is being written out\n * outputError(str, write) // used for displaying errors, and not used for displaying help\n *\n * @param {Object} [configuration] - configuration options\n * @return {Command|Object} `this` command for chaining, or stored configuration\n */\n\n configureOutput(configuration) {\n if (configuration === undefined) return this._outputConfiguration;\n\n Object.assign(this._outputConfiguration, configuration);\n return this;\n }\n\n /**\n * Display the help or a custom message after an error occurs.\n *\n * @param {boolean|string} [displayHelp]\n * @return {Command} `this` command for chaining\n */\n showHelpAfterError(displayHelp = true) {\n if (typeof displayHelp !== 'string') displayHelp = !!displayHelp;\n this._showHelpAfterError = displayHelp;\n return this;\n }\n\n /**\n * Display suggestion of similar commands for unknown commands, or options for unknown options.\n *\n * @param {boolean} [displaySuggestion]\n * @return {Command} `this` command for chaining\n */\n showSuggestionAfterError(displaySuggestion = true) {\n this._showSuggestionAfterError = !!displaySuggestion;\n return this;\n }\n\n /**\n * Add a prepared subcommand.\n *\n * See .command() for creating an attached subcommand which inherits settings from its parent.\n *\n * @param {Command} cmd - new subcommand\n * @param {Object} [opts] - configuration options\n * @return {Command} `this` command for chaining\n */\n\n addCommand(cmd, opts) {\n if (!cmd._name) {\n throw new Error(`Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()`);\n }\n\n opts = opts || {};\n if (opts.isDefault) this._defaultCommandName = cmd._name;\n if (opts.noHelp || opts.hidden) cmd._hidden = true; // modifying passed command due to existing implementation\n\n this.commands.push(cmd);\n cmd.parent = this;\n return this;\n }\n\n /**\n * Factory routine to create a new unattached argument.\n *\n * See .argument() for creating an attached argument, which uses this routine to\n * create the argument. You can override createArgument to return a custom argument.\n *\n * @param {string} name\n * @param {string} [description]\n * @return {Argument} new argument\n */\n\n createArgument(name, description) {\n return new Argument(name, description);\n }\n\n /**\n * Define argument syntax for command.\n *\n * The default is that the argument is required, and you can explicitly\n * indicate this with <> around the name. Put [] around the name for an optional argument.\n *\n * @example\n * program.argument('<input-file>');\n * program.argument('[output-file]');\n *\n * @param {string} name\n * @param {string} [description]\n * @param {Function|*} [fn] - custom argument processing function\n * @param {*} [defaultValue]\n * @return {Command} `this` command for chaining\n */\n argument(name, description, fn, defaultValue) {\n const argument = this.createArgument(name, description);\n if (typeof fn === 'function') {\n argument.default(defaultValue).argParser(fn);\n } else {\n argument.default(fn);\n }\n this.addArgument(argument);\n return this;\n }\n\n /**\n * Define argument syntax for command, adding multiple at once (without descriptions).\n *\n * See also .argument().\n *\n * @example\n * program.arguments('<cmd> [env]');\n *\n * @param {string} names\n * @return {Command} `this` command for chaining\n */\n\n arguments(names) {\n names.split(/ +/).forEach((detail) => {\n this.argument(detail);\n });\n return this;\n }\n\n /**\n * Define argument syntax for command, adding a prepared argument.\n *\n * @param {Argument} argument\n * @return {Command} `this` command for chaining\n */\n addArgument(argument) {\n const previousArgument = this._args.slice(-1)[0];\n if (previousArgument && previousArgument.variadic) {\n throw new Error(`only the last argument can be variadic '${previousArgument.name()}'`);\n }\n if (argument.required && argument.defaultValue !== undefined && argument.parseArg === undefined) {\n throw new Error(`a default value for a required argument is never used: '${argument.name()}'`);\n }\n this._args.push(argument);\n return this;\n }\n\n /**\n * Override default decision whether to add implicit help command.\n *\n * addHelpCommand() // force on\n * addHelpCommand(false); // force off\n * addHelpCommand('help [cmd]', 'display help for [cmd]'); // force on with custom details\n *\n * @return {Command} `this` command for chaining\n */\n\n addHelpCommand(enableOrNameAndArgs, description) {\n if (enableOrNameAndArgs === false) {\n this._addImplicitHelpCommand = false;\n } else {\n this._addImplicitHelpCommand = true;\n if (typeof enableOrNameAndArgs === 'string') {\n this._helpCommandName = enableOrNameAndArgs.split(' ')[0];\n this._helpCommandnameAndArgs = enableOrNameAndArgs;\n }\n this._helpCommandDescription = description || this._helpCommandDescription;\n }\n return this;\n }\n\n /**\n * @return {boolean}\n * @api private\n */\n\n _hasImplicitHelpCommand() {\n if (this._addImplicitHelpCommand === undefined) {\n return this.commands.length && !this._actionHandler && !this._findCommand('help');\n }\n return this._addImplicitHelpCommand;\n }\n\n /**\n * Add hook for life cycle event.\n *\n * @param {string} event\n * @param {Function} listener\n * @return {Command} `this` command for chaining\n */\n\n hook(event, listener) {\n const allowedValues = ['preSubcommand', 'preAction', 'postAction'];\n if (!allowedValues.includes(event)) {\n throw new Error(`Unexpected value for event passed to hook : '${event}'.\nExpecting one of '${allowedValues.join(\"', '\")}'`);\n }\n if (this._lifeCycleHooks[event]) {\n this._lifeCycleHooks[event].push(listener);\n } else {\n this._lifeCycleHooks[event] = [listener];\n }\n return this;\n }\n\n /**\n * Register callback to use as replacement for calling process.exit.\n *\n * @param {Function} [fn] optional callback which will be passed a CommanderError, defaults to throwing\n * @return {Command} `this` command for chaining\n */\n\n exitOverride(fn) {\n if (fn) {\n this._exitCallback = fn;\n } else {\n this._exitCallback = (err) => {\n if (err.code !== 'commander.executeSubCommandAsync') {\n throw err;\n } else {\n // Async callback from spawn events, not useful to throw.\n }\n };\n }\n return this;\n }\n\n /**\n * Call process.exit, and _exitCallback if defined.\n *\n * @param {number} exitCode exit code for using with process.exit\n * @param {string} code an id string representing the error\n * @param {string} message human-readable description of the error\n * @return never\n * @api private\n */\n\n _exit(exitCode, code, message) {\n if (this._exitCallback) {\n this._exitCallback(new CommanderError(exitCode, code, message));\n // Expecting this line is not reached.\n }\n process.exit(exitCode);\n }\n\n /**\n * Register callback `fn` for the command.\n *\n * @example\n * program\n * .command('serve')\n * .description('start service')\n * .action(function() {\n * // do work here\n * });\n *\n * @param {Function} fn\n * @return {Command} `this` command for chaining\n */\n\n action(fn) {\n const listener = (args) => {\n // The .action callback takes an extra parameter which is the command or options.\n const expectedArgsCount = this._args.length;\n const actionArgs = args.slice(0, expectedArgsCount);\n if (this._storeOptionsAsProperties) {\n actionArgs[expectedArgsCount] = this; // backwards compatible \"options\"\n } else {\n actionArgs[expectedArgsCount] = this.opts();\n }\n actionArgs.push(this);\n\n return fn.apply(this, actionArgs);\n };\n this._actionHandler = listener;\n return this;\n }\n\n /**\n * Factory routine to create a new unattached option.\n *\n * See .option() for creating an attached option, which uses this routine to\n * create the option. You can override createOption to return a custom option.\n *\n * @param {string} flags\n * @param {string} [description]\n * @return {Option} new option\n */\n\n createOption(flags, description) {\n return new Option(flags, description);\n }\n\n /**\n * Add an option.\n *\n * @param {Option} option\n * @return {Command} `this` command for chaining\n */\n addOption(option) {\n const oname = option.name();\n const name = option.attributeName();\n\n // store default value\n if (option.negate) {\n // --no-foo is special and defaults foo to true, unless a --foo option is already defined\n const positiveLongFlag = option.long.replace(/^--no-/, '--');\n if (!this._findOption(positiveLongFlag)) {\n this.setOptionValueWithSource(name, option.defaultValue === undefined ? true : option.defaultValue, 'default');\n }\n } else if (option.defaultValue !== undefined) {\n this.setOptionValueWithSource(name, option.defaultValue, 'default');\n }\n\n // register the option\n this.options.push(option);\n\n // handler for cli and env supplied values\n const handleOptionValue = (val, invalidValueMessage, valueSource) => {\n // val is null for optional option used without an optional-argument.\n // val is undefined for boolean and negated option.\n if (val == null && option.presetArg !== undefined) {\n val = option.presetArg;\n }\n\n // custom processing\n const oldValue = this.getOptionValue(name);\n if (val !== null && option.parseArg) {\n try {\n val = option.parseArg(val, oldValue);\n } catch (err) {\n if (err.code === 'commander.invalidArgument') {\n const message = `${invalidValueMessage} ${err.message}`;\n this.error(message, { exitCode: err.exitCode, code: err.code });\n }\n throw err;\n }\n } else if (val !== null && option.variadic) {\n val = option._concatValue(val, oldValue);\n }\n\n // Fill-in appropriate missing values. Long winded but easy to follow.\n if (val == null) {\n if (option.negate) {\n val = false;\n } else if (option.isBoolean() || option.optional) {\n val = true;\n } else {\n val = ''; // not normal, parseArg might have failed or be a mock function for testing\n }\n }\n this.setOptionValueWithSource(name, val, valueSource);\n };\n\n this.on('option:' + oname, (val) => {\n const invalidValueMessage = `error: option '${option.flags}' argument '${val}' is invalid.`;\n handleOptionValue(val, invalidValueMessage, 'cli');\n });\n\n if (option.envVar) {\n this.on('optionEnv:' + oname, (val) => {\n const invalidValueMessage = `error: option '${option.flags}' value '${val}' from env '${option.envVar}' is invalid.`;\n handleOptionValue(val, invalidValueMessage, 'env');\n });\n }\n\n return this;\n }\n\n /**\n * Internal implementation shared by .option() and .requiredOption()\n *\n * @api private\n */\n _optionEx(config, flags, description, fn, defaultValue) {\n if (typeof flags === 'object' && flags instanceof Option) {\n throw new Error('To add an Option object use addOption() instead of option() or requiredOption()');\n }\n const option = this.createOption(flags, description);\n option.makeOptionMandatory(!!config.mandatory);\n if (typeof fn === 'function') {\n option.default(defaultValue).argParser(fn);\n } else if (fn instanceof RegExp) {\n // deprecated\n const regex = fn;\n fn = (val, def) => {\n const m = regex.exec(val);\n return m ? m[0] : def;\n };\n option.default(defaultValue).argParser(fn);\n } else {\n option.default(fn);\n }\n\n return this.addOption(option);\n }\n\n /**\n * Define option with `flags`, `description` and optional\n * coercion `fn`.\n *\n * The `flags` string contains the short and/or long flags,\n * separated by comma, a pipe or space. The following are all valid\n * all will output this way when `--help` is used.\n *\n * \"-p, --pepper\"\n * \"-p|--pepper\"\n * \"-p --pepper\"\n *\n * @example\n * // simple boolean defaulting to undefined\n * program.option('-p, --pepper', 'add pepper');\n *\n * program.pepper\n * // => undefined\n *\n * --pepper\n * program.pepper\n * // => true\n *\n * // simple boolean defaulting to true (unless non-negated option is also defined)\n * program.option('-C, --no-cheese', 'remove cheese');\n *\n * program.cheese\n * // => true\n *\n * --no-cheese\n * program.cheese\n * // => false\n *\n * // required argument\n * program.option('-C, --chdir <path>', 'change the working directory');\n *\n * --chdir /tmp\n * program.chdir\n * // => \"/tmp\"\n *\n * // optional argument\n * program.option('-c, --cheese [type]', 'add cheese [marble]');\n *\n * @param {string} flags\n * @param {string} [description]\n * @param {Function|*} [fn] - custom option processing function or default value\n * @param {*} [defaultValue]\n * @return {Command} `this` command for chaining\n */\n\n option(flags, description, fn, defaultValue) {\n return this._optionEx({}, flags, description, fn, defaultValue);\n }\n\n /**\n * Add a required option which must have a value after parsing. This usually means\n * the option must be specified on the command line. (Otherwise the same as .option().)\n *\n * The `flags` string contains the short and/or long flags, separated by comma, a pipe or space.\n *\n * @param {string} flags\n * @param {string} [description]\n * @param {Function|*} [fn] - custom option processing function or default value\n * @param {*} [defaultValue]\n * @return {Command} `this` command for chaining\n */\n\n requiredOption(flags, description, fn, defaultValue) {\n return this._optionEx({ mandatory: true }, flags, description, fn, defaultValue);\n }\n\n /**\n * Alter parsing of short flags with optional values.\n *\n * @example\n * // for `.option('-f,--flag [value]'):\n * program.combineFlagAndOptionalValue(true); // `-f80` is treated like `--flag=80`, this is the default behaviour\n * program.combineFlagAndOptionalValue(false) // `-fb` is treated like `-f -b`\n *\n * @param {Boolean} [combine=true] - if `true` or omitted, an optional value can be specified directly after the flag.\n */\n combineFlagAndOptionalValue(combine = true) {\n this._combineFlagAndOptionalValue = !!combine;\n return this;\n }\n\n /**\n * Allow unknown options on the command line.\n *\n * @param {Boolean} [allowUnknown=true] - if `true` or omitted, no error will be thrown\n * for unknown options.\n */\n allowUnknownOption(allowUnknown = true) {\n this._allowUnknownOption = !!allowUnknown;\n return this;\n }\n\n /**\n * Allow excess command-arguments on the command line. Pass false to make excess arguments an error.\n *\n * @param {Boolean} [allowExcess=true] - if `true` or omitted, no error will be thrown\n * for excess arguments.\n */\n allowExcessArguments(allowExcess = true) {\n this._allowExcessArguments = !!allowExcess;\n return this;\n }\n\n /**\n * Enable positional options. Positional means global options are specified before subcommands which lets\n * subcommands reuse the same option names, and also enables subcommands to turn on passThroughOptions.\n * The default behaviour is non-positional and global options may appear anywhere on the command line.\n *\n * @param {Boolean} [positional=true]\n */\n enablePositionalOptions(positional = true) {\n this._enablePositionalOptions = !!positional;\n return this;\n }\n\n /**\n * Pass through options that come after command-arguments rather than treat them as command-options,\n * so actual command-options come before command-arguments. Turning this on for a subcommand requires\n * positional options to have been enabled on the program (parent commands).\n * The default behaviour is non-positional and options may appear before or after command-arguments.\n *\n * @param {Boolean} [passThrough=true]\n * for unknown options.\n */\n passThroughOptions(passThrough = true) {\n this._passThroughOptions = !!passThrough;\n if (!!this.parent && passThrough && !this.parent._enablePositionalOptions) {\n throw new Error('passThroughOptions can not be used without turning on enablePositionalOptions for parent command(s)');\n }\n return this;\n }\n\n /**\n * Whether to store option values as properties on command object,\n * or store separately (specify false). In both cases the option values can be accessed using .opts().\n *\n * @param {boolean} [storeAsProperties=true]\n * @return {Command} `this` command for chaining\n */\n\n storeOptionsAsProperties(storeAsProperties = true) {\n this._storeOptionsAsProperties = !!storeAsProperties;\n if (this.options.length) {\n throw new Error('call .storeOptionsAsProperties() before adding options');\n }\n return this;\n }\n\n /**\n * Retrieve option value.\n *\n * @param {string} key\n * @return {Object} value\n */\n\n getOptionValue(key) {\n if (this._storeOptionsAsProperties) {\n return this[key];\n }\n return this._optionValues[key];\n }\n\n /**\n * Store option value.\n *\n * @param {string} key\n * @param {Object} value\n * @return {Command} `this` command for chaining\n */\n\n setOptionValue(key, value) {\n return this.setOptionValueWithSource(key, value, undefined);\n }\n\n /**\n * Store option value and where the value came from.\n *\n * @param {string} key\n * @param {Object} value\n * @param {string} source - expected values are default/config/env/cli/implied\n * @return {Command} `this` command for chaining\n */\n\n setOptionValueWithSource(key, value, source) {\n if (this._storeOptionsAsProperties) {\n this[key] = value;\n } else {\n this._optionValues[key] = value;\n }\n this._optionValueSources[key] = source;\n return this;\n }\n\n /**\n * Get source of option value.\n * Expected values are default | config | env | cli | implied\n *\n * @param {string} key\n * @return {string}\n */\n\n getOptionValueSource(key) {\n return this._optionValueSources[key];\n }\n\n /**\n * Get source of option value. See also .optsWithGlobals().\n * Expected values are default | config | env | cli | implied\n *\n * @param {string} key\n * @return {string}\n */\n\n getOptionValueSourceWithGlobals(key) {\n // global overwrites local, like optsWithGlobals\n let source;\n getCommandAndParents(this).forEach((cmd) => {\n if (cmd.getOptionValueSource(key) !== undefined) {\n source = cmd.getOptionValueSource(key);\n }\n });\n return source;\n }\n\n /**\n * Get user arguments from implied or explicit arguments.\n * Side-effects: set _scriptPath if args included script. Used for default program name, and subcommand searches.\n *\n * @api private\n */\n\n _prepareUserArgs(argv, parseOptions) {\n if (argv !== undefined && !Array.isArray(argv)) {\n throw new Error('first parameter to parse must be array or undefined');\n }\n parseOptions = parseOptions || {};\n\n // Default to using process.argv\n if (argv === undefined) {\n argv = process.argv;\n // @ts-ignore: unknown property\n if (process.versions && process.versions.electron) {\n parseOptions.from = 'electron';\n }\n }\n this.rawArgs = argv.slice();\n\n // make it a little easier for callers by supporting various argv conventions\n let userArgs;\n switch (parseOptions.from) {\n case undefined:\n case 'node':\n this._scriptPath = argv[1];\n userArgs = argv.slice(2);\n break;\n case 'electron':\n // @ts-ignore: unknown property\n if (process.defaultApp) {\n this._scriptPath = argv[1];\n userArgs = argv.slice(2);\n } else {\n userArgs = argv.slice(1);\n }\n break;\n case 'user':\n userArgs = argv.slice(0);\n break;\n default:\n throw new Error(`unexpected parse option { from: '${parseOptions.from}' }`);\n }\n\n // Find default name for program from arguments.\n if (!this._name && this._scriptPath) this.nameFromFilename(this._scriptPath);\n this._name = this._name || 'program';\n\n return userArgs;\n }\n\n /**\n * Parse `argv`, setting options and invoking commands when defined.\n *\n * The default expectation is that the arguments are from node and have the application as argv[0]\n * and the script being run in argv[1], with user parameters after that.\n *\n * @example\n * program.parse(process.argv);\n * program.parse(); // implicitly use process.argv and auto-detect node vs electron conventions\n * program.parse(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0]\n *\n * @param {string[]} [argv] - optional, defaults to process.argv\n * @param {Object} [parseOptions] - optionally specify style of options with from: node/user/electron\n * @param {string} [parseOptions.from] - where the args are from: 'node', 'user', 'electron'\n * @return {Command} `this` command for chaining\n */\n\n parse(argv, parseOptions) {\n const userArgs = this._prepareUserArgs(argv, parseOptions);\n this._parseCommand([], userArgs);\n\n return this;\n }\n\n /**\n * Parse `argv`, setting options and invoking commands when defined.\n *\n * Use parseAsync instead of parse if any of your action handlers are async. Returns a Promise.\n *\n * The default expectation is that the arguments are from node and have the application as argv[0]\n * and the script being run in argv[1], with user parameters after that.\n *\n * @example\n * await program.parseAsync(process.argv);\n * await program.parseAsync(); // implicitly use process.argv and auto-detect node vs electron conventions\n * await program.parseAsync(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0]\n *\n * @param {string[]} [argv]\n * @param {Object} [parseOptions]\n * @param {string} parseOptions.from - where the args are from: 'node', 'user', 'electron'\n * @return {Promise}\n */\n\n async parseAsync(argv, parseOptions) {\n const userArgs = this._prepareUserArgs(argv, parseOptions);\n await this._parseCommand([], userArgs);\n\n return this;\n }\n\n /**\n * Execute a sub-command executable.\n *\n * @api private\n */\n\n _executeSubCommand(subcommand, args) {\n args = args.slice();\n let launchWithNode = false; // Use node for source targets so do not need to get permissions correct, and on Windows.\n const sourceExt = ['.js', '.ts', '.tsx', '.mjs', '.cjs'];\n\n function findFile(baseDir, baseName) {\n // Look for specified file\n const localBin = path.resolve(baseDir, baseName);\n if (fs.existsSync(localBin)) return localBin;\n\n // Stop looking if candidate already has an expected extension.\n if (sourceExt.includes(path.extname(baseName))) return undefined;\n\n // Try all the extensions.\n const foundExt = sourceExt.find(ext => fs.existsSync(`${localBin}${ext}`));\n if (foundExt) return `${localBin}${foundExt}`;\n\n return undefined;\n }\n\n // Not checking for help first. Unlikely to have mandatory and executable, and can't robustly test for help flags in external command.\n this._checkForMissingMandatoryOptions();\n this._checkForConflictingOptions();\n\n // executableFile and executableDir might be full path, or just a name\n let executableFile = subcommand._executableFile || `${this._name}-${subcommand._name}`;\n let executableDir = this._executableDir || '';\n if (this._scriptPath) {\n let resolvedScriptPath; // resolve possible symlink for installed npm binary\n try {\n resolvedScriptPath = fs.realpathSync(this._scriptPath);\n } catch (err) {\n resolvedScriptPath = this._scriptPath;\n }\n executableDir = path.resolve(path.dirname(resolvedScriptPath), executableDir);\n }\n\n // Look for a local file in preference to a command in PATH.\n if (executableDir) {\n let localFile = findFile(executableDir, executableFile);\n\n // Legacy search using prefix of script name instead of command name\n if (!localFile && !subcommand._executableFile && this._scriptPath) {\n const legacyName = path.basename(this._scriptPath, path.extname(this._scriptPath));\n if (legacyName !== this._name) {\n localFile = findFile(executableDir, `${legacyName}-${subcommand._name}`);\n }\n }\n executableFile = localFile || executableFile;\n }\n\n launchWithNode = sourceExt.includes(path.extname(executableFile));\n\n let proc;\n if (process.platform !== 'win32') {\n if (launchWithNode) {\n args.unshift(executableFile);\n // add executable arguments to spawn\n args = incrementNodeInspectorPort(process.execArgv).concat(args);\n\n proc = childProcess.spawn(process.argv[0], args, { stdio: 'inherit' });\n } else {\n proc = childProcess.spawn(executableFile, args, { stdio: 'inherit' });\n }\n } else {\n args.unshift(executableFile);\n // add executable arguments to spawn\n args = incrementNodeInspectorPort(process.execArgv).concat(args);\n proc = childProcess.spawn(process.execPath, args, { stdio: 'inherit' });\n }\n\n if (!proc.killed) { // testing mainly to avoid leak warnings during unit tests with mocked spawn\n const signals = ['SIGUSR1', 'SIGUSR2', 'SIGTERM', 'SIGINT', 'SIGHUP'];\n signals.forEach((signal) => {\n // @ts-ignore\n process.on(signal, () => {\n if (proc.killed === false && proc.exitCode === null) {\n proc.kill(signal);\n }\n });\n });\n }\n\n // By default terminate process when spawned process terminates.\n // Suppressing the exit if exitCallback defined is a bit messy and of limited use, but does allow process to stay running!\n const exitCallback = this._exitCallback;\n if (!exitCallback) {\n proc.on('close', process.exit.bind(process));\n } else {\n proc.on('close', () => {\n exitCallback(new CommanderError(process.exitCode || 0, 'commander.executeSubCommandAsync', '(close)'));\n });\n }\n proc.on('error', (err) => {\n // @ts-ignore\n if (err.code === 'ENOENT') {\n const executableDirMessage = executableDir\n ? `searched for local subcommand relative to directory '${executableDir}'`\n : 'no directory for search for local subcommand, use .executableDir() to supply a custom directory';\n const executableMissing = `'${executableFile}' does not exist\n - if '${subcommand._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead\n - if the default executable name is not suitable, use the executableFile option to supply a custom name or path\n - ${executableDirMessage}`;\n throw new Error(executableMissing);\n // @ts-ignore\n } else if (err.code === 'EACCES') {\n throw new Error(`'${executableFile}' not executable`);\n }\n if (!exitCallback) {\n process.exit(1);\n } else {\n const wrappedError = new CommanderError(1, 'commander.executeSubCommandAsync', '(error)');\n wrappedError.nestedError = err;\n exitCallback(wrappedError);\n }\n });\n\n // Store the reference to the child process\n this.runningCommand = proc;\n }\n\n /**\n * @api private\n */\n\n _dispatchSubcommand(commandName, operands, unknown) {\n const subCommand = this._findCommand(commandName);\n if (!subCommand) this.help({ error: true });\n\n let hookResult;\n hookResult = this._chainOrCallSubCommandHook(hookResult, subCommand, 'preSubcommand');\n hookResult = this._chainOrCall(hookResult, () => {\n if (subCommand._executableHandler) {\n this._executeSubCommand(subCommand, operands.concat(unknown));\n } else {\n return subCommand._parseCommand(operands, unknown);\n }\n });\n return hookResult;\n }\n\n /**\n * Check this.args against expected this._args.\n *\n * @api private\n */\n\n _checkNumberOfArguments() {\n // too few\n this._args.forEach((arg, i) => {\n if (arg.required && this.args[i] == null) {\n this.missingArgument(arg.name());\n }\n });\n // too many\n if (this._args.length > 0 && this._args[this._args.length - 1].variadic) {\n return;\n }\n if (this.args.length > this._args.length) {\n this._excessArguments(this.args);\n }\n }\n\n /**\n * Process this.args using this._args and save as this.processedArgs!\n *\n * @api private\n */\n\n _processArguments() {\n const myParseArg = (argument, value, previous) => {\n // Extra processing for nice error message on parsing failure.\n let parsedValue = value;\n if (value !== null && argument.parseArg) {\n try {\n parsedValue = argument.parseArg(value, previous);\n } catch (err) {\n if (err.code === 'commander.invalidArgument') {\n const message = `error: command-argument value '${value}' is invalid for argument '${argument.name()}'. ${err.message}`;\n this.error(message, { exitCode: err.exitCode, code: err.code });\n }\n throw err;\n }\n }\n return parsedValue;\n };\n\n this._checkNumberOfArguments();\n\n const processedArgs = [];\n this._args.forEach((declaredArg, index) => {\n let value = declaredArg.defaultValue;\n if (declaredArg.variadic) {\n // Collect together remaining arguments for passing together as an array.\n if (index < this.args.length) {\n value = this.args.slice(index);\n if (declaredArg.parseArg) {\n value = value.reduce((processed, v) => {\n return myParseArg(declaredArg, v, processed);\n }, declaredArg.defaultValue);\n }\n } else if (value === undefined) {\n value = [];\n }\n } else if (index < this.args.length) {\n value = this.args[index];\n if (declaredArg.parseArg) {\n value = myParseArg(declaredArg, value, declaredArg.defaultValue);\n }\n }\n processedArgs[index] = value;\n });\n this.processedArgs = processedArgs;\n }\n\n /**\n * Once we have a promise we chain, but call synchronously until then.\n *\n * @param {Promise|undefined} promise\n * @param {Function} fn\n * @return {Promise|undefined}\n * @api private\n */\n\n _chainOrCall(promise, fn) {\n // thenable\n if (promise && promise.then && typeof promise.then === 'function') {\n // already have a promise, chain callback\n return promise.then(() => fn());\n }\n // callback might return a promise\n return fn();\n }\n\n /**\n *\n * @param {Promise|undefined} promise\n * @param {string} event\n * @return {Promise|undefined}\n * @api private\n */\n\n _chainOrCallHooks(promise, event) {\n let result = promise;\n const hooks = [];\n getCommandAndParents(this)\n .reverse()\n .filter(cmd => cmd._lifeCycleHooks[event] !== undefined)\n .forEach(hookedCommand => {\n hookedCommand._lifeCycleHooks[event].forEach((callback) => {\n hooks.push({ hookedCommand, callback });\n });\n });\n if (event === 'postAction') {\n hooks.reverse();\n }\n\n hooks.forEach((hookDetail) => {\n result = this._chainOrCall(result, () => {\n return hookDetail.callback(hookDetail.hookedCommand, this);\n });\n });\n return result;\n }\n\n /**\n *\n * @param {Promise|undefined} promise\n * @param {Command} subCommand\n * @param {string} event\n * @return {Promise|undefined}\n * @api private\n */\n\n _chainOrCallSubCommandHook(promise, subCommand, event) {\n let result = promise;\n if (this._lifeCycleHooks[event] !== undefined) {\n this._lifeCycleHooks[event].forEach((hook) => {\n result = this._chainOrCall(result, () => {\n return hook(this, subCommand);\n });\n });\n }\n return result;\n }\n\n /**\n * Process arguments in context of this command.\n * Returns action result, in case it is a promise.\n *\n * @api private\n */\n\n _parseCommand(operands, unknown) {\n const parsed = this.parseOptions(unknown);\n this._parseOptionsEnv(); // after cli, so parseArg not called on both cli and env\n this._parseOptionsImplied();\n operands = operands.concat(parsed.operands);\n unknown = parsed.unknown;\n this.args = operands.concat(unknown);\n\n if (operands && this._findCommand(operands[0])) {\n return this._dispatchSubcommand(operands[0], operands.slice(1), unknown);\n }\n if (this._hasImplicitHelpCommand() && operands[0] === this._helpCommandName) {\n if (operands.length === 1) {\n this.help();\n }\n return this._dispatchSubcommand(operands[1], [], [this._helpLongFlag]);\n }\n if (this._defaultCommandName) {\n outputHelpIfRequested(this, unknown); // Run the help for default command from parent rather than passing to default command\n return this._dispatchSubcommand(this._defaultCommandName, operands, unknown);\n }\n if (this.commands.length && this.args.length === 0 && !this._actionHandler && !this._defaultCommandName) {\n // probably missing subcommand and no handler, user needs help (and exit)\n this.help({ error: true });\n }\n\n outputHelpIfRequested(this, parsed.unknown);\n this._checkForMissingMandatoryOptions();\n this._checkForConflictingOptions();\n\n // We do not always call this check to avoid masking a \"better\" error, like unknown command.\n const checkForUnknownOptions = () => {\n if (parsed.unknown.length > 0) {\n this.unknownOption(parsed.unknown[0]);\n }\n };\n\n const commandEvent = `command:${this.name()}`;\n if (this._actionHandler) {\n checkForUnknownOptions();\n this._processArguments();\n\n let actionResult;\n actionResult = this._chainOrCallHooks(actionResult, 'preAction');\n actionResult = this._chainOrCall(actionResult, () => this._actionHandler(this.processedArgs));\n if (this.parent) {\n actionResult = this._chainOrCall(actionResult, () => {\n this.parent.emit(commandEvent, operands, unknown); // legacy\n });\n }\n actionResult = this._chainOrCallHooks(actionResult, 'postAction');\n return actionResult;\n }\n if (this.parent && this.parent.listenerCount(commandEvent)) {\n checkForUnknownOptions();\n this._processArguments();\n this.parent.emit(commandEvent, operands, unknown); // legacy\n } else if (operands.length) {\n if (this._findCommand('*')) { // legacy default command\n return this._dispatchSubcommand('*', operands, unknown);\n }\n if (this.listenerCount('command:*')) {\n // skip option check, emit event for possible misspelling suggestion\n this.emit('command:*', operands, unknown);\n } else if (this.commands.length) {\n this.unknownCommand();\n } else {\n checkForUnknownOptions();\n this._processArguments();\n }\n } else if (this.commands.length) {\n checkForUnknownOptions();\n // This command has subcommands and nothing hooked up at this level, so display help (and exit).\n this.help({ error: true });\n } else {\n checkForUnknownOptions();\n this._processArguments();\n // fall through for caller to handle after calling .parse()\n }\n }\n\n /**\n * Find matching command.\n *\n * @api private\n */\n _findCommand(name) {\n if (!name) return undefined;\n return this.commands.find(cmd => cmd._name === name || cmd._aliases.includes(name));\n }\n\n /**\n * Return an option matching `arg` if any.\n *\n * @param {string} arg\n * @return {Option}\n * @api private\n */\n\n _findOption(arg) {\n return this.options.find(option => option.is(arg));\n }\n\n /**\n * Display an error message if a mandatory option does not have a value.\n * Called after checking for help flags in leaf subcommand.\n *\n * @api private\n */\n\n _checkForMissingMandatoryOptions() {\n // Walk up hierarchy so can call in subcommand after checking for displaying help.\n for (let cmd = this; cmd; cmd = cmd.parent) {\n cmd.options.forEach((anOption) => {\n if (anOption.mandatory && (cmd.getOptionValue(anOption.attributeName()) === undefined)) {\n cmd.missingMandatoryOptionValue(anOption);\n }\n });\n }\n }\n\n /**\n * Display an error message if conflicting options are used together in this.\n *\n * @api private\n */\n _checkForConflictingLocalOptions() {\n const definedNonDefaultOptions = this.options.filter(\n (option) => {\n const optionKey = option.attributeName();\n if (this.getOptionValue(optionKey) === undefined) {\n return false;\n }\n return this.getOptionValueSource(optionKey) !== 'default';\n }\n );\n\n const optionsWithConflicting = definedNonDefaultOptions.filter(\n (option) => option.conflictsWith.length > 0\n );\n\n optionsWithConflicting.forEach((option) => {\n const conflictingAndDefined = definedNonDefaultOptions.find((defined) =>\n option.conflictsWith.includes(defined.attributeName())\n );\n if (conflictingAndDefined) {\n this._conflictingOption(option, conflictingAndDefined);\n }\n });\n }\n\n /**\n * Display an error message if conflicting options are used together.\n * Called after checking for help flags in leaf subcommand.\n *\n * @api private\n */\n _checkForConflictingOptions() {\n // Walk up hierarchy so can call in subcommand after checking for displaying help.\n for (let cmd = this; cmd; cmd = cmd.parent) {\n cmd._checkForConflictingLocalOptions();\n }\n }\n\n /**\n * Parse options from `argv` removing known options,\n * and return argv split into operands and unknown arguments.\n *\n * Examples:\n *\n * argv => operands, unknown\n * --known kkk op => [op], []\n * op --known kkk => [op], []\n * sub --unknown uuu op => [sub], [--unknown uuu op]\n * sub -- --unknown uuu op => [sub --unknown uuu op], []\n *\n * @param {String[]} argv\n * @return {{operands: String[], unknown: String[]}}\n */\n\n parseOptions(argv) {\n const operands = []; // operands, not options or values\n const unknown = []; // first unknown option and remaining unknown args\n let dest = operands;\n const args = argv.slice();\n\n function maybeOption(arg) {\n return arg.length > 1 && arg[0] === '-';\n }\n\n // parse options\n let activeVariadicOption = null;\n while (args.length) {\n const arg = args.shift();\n\n // literal\n if (arg === '--') {\n if (dest === unknown) dest.push(arg);\n dest.push(...args);\n break;\n }\n\n if (activeVariadicOption && !maybeOption(arg)) {\n this.emit(`option:${activeVariadicOption.name()}`, arg);\n continue;\n }\n activeVariadicOption = null;\n\n if (maybeOption(arg)) {\n const option = this._findOption(arg);\n // recognised option, call listener to assign value with possible custom processing\n if (option) {\n if (option.required) {\n const value = args.shift();\n if (value === undefined) this.optionMissingArgument(option);\n this.emit(`option:${option.name()}`, value);\n } else if (option.optional) {\n let value = null;\n // historical behaviour is optional value is following arg unless an option\n if (args.length > 0 && !maybeOption(args[0])) {\n value = args.shift();\n }\n this.emit(`option:${option.name()}`, value);\n } else { // boolean flag\n this.emit(`option:${option.name()}`);\n }\n activeVariadicOption = option.variadic ? option : null;\n continue;\n }\n }\n\n // Look for combo options following single dash, eat first one if known.\n if (arg.length > 2 && arg[0] === '-' && arg[1] !== '-') {\n const option = this._findOption(`-${arg[1]}`);\n if (option) {\n if (option.required || (option.optional && this._combineFlagAndOptionalValue)) {\n // option with value following in same argument\n this.emit(`option:${option.name()}`, arg.slice(2));\n } else {\n // boolean option, emit and put back remainder of arg for further processing\n this.emit(`option:${option.name()}`);\n args.unshift(`-${arg.slice(2)}`);\n }\n continue;\n }\n }\n\n // Look for known long flag with value, like --foo=bar\n if (/^--[^=]+=/.test(arg)) {\n const index = arg.indexOf('=');\n const option = this._findOption(arg.slice(0, index));\n if (option && (option.required || option.optional)) {\n this.emit(`option:${option.name()}`, arg.slice(index + 1));\n continue;\n }\n }\n\n // Not a recognised option by this command.\n // Might be a command-argument, or subcommand option, or unknown option, or help command or option.\n\n // An unknown option means further arguments also classified as unknown so can be reprocessed by subcommands.\n if (maybeOption(arg)) {\n dest = unknown;\n }\n\n // If using positionalOptions, stop processing our options at subcommand.\n if ((this._enablePositionalOptions || this._passThroughOptions) && operands.length === 0 && unknown.length === 0) {\n if (this._findCommand(arg)) {\n operands.push(arg);\n if (args.length > 0) unknown.push(...args);\n break;\n } else if (arg === this._helpCommandName && this._hasImplicitHelpCommand()) {\n operands.push(arg);\n if (args.length > 0) operands.push(...args);\n break;\n } else if (this._defaultCommandName) {\n unknown.push(arg);\n if (args.length > 0) unknown.push(...args);\n break;\n }\n }\n\n // If using passThroughOptions, stop processing options at first command-argument.\n if (this._passThroughOptions) {\n dest.push(arg);\n if (args.length > 0) dest.push(...args);\n break;\n }\n\n // add arg\n dest.push(arg);\n }\n\n return { operands, unknown };\n }\n\n /**\n * Return an object containing local option values as key-value pairs.\n *\n * @return {Object}\n */\n opts() {\n if (this._storeOptionsAsProperties) {\n // Preserve original behaviour so backwards compatible when still using properties\n const result = {};\n const len = this.options.length;\n\n for (let i = 0; i < len; i++) {\n const key = this.options[i].attributeName();\n result[key] = key === this._versionOptionName ? this._version : this[key];\n }\n return result;\n }\n\n return this._optionValues;\n }\n\n /**\n * Return an object containing merged local and global option values as key-value pairs.\n *\n * @return {Object}\n */\n optsWithGlobals() {\n // globals overwrite locals\n return getCommandAndParents(this).reduce(\n (combinedOptions, cmd) => Object.assign(combinedOptions, cmd.opts()),\n {}\n );\n }\n\n /**\n * Display error message and exit (or call exitOverride).\n *\n * @param {string} message\n * @param {Object} [errorOptions]\n * @param {string} [errorOptions.code] - an id string representing the error\n * @param {number} [errorOptions.exitCode] - used with process.exit\n */\n error(message, errorOptions) {\n // output handling\n this._outputConfiguration.outputError(`${message}\\n`, this._outputConfiguration.writeErr);\n if (typeof this._showHelpAfterError === 'string') {\n this._outputConfiguration.writeErr(`${this._showHelpAfterError}\\n`);\n } else if (this._showHelpAfterError) {\n this._outputConfiguration.writeErr('\\n');\n this.outputHelp({ error: true });\n }\n\n // exit handling\n const config = errorOptions || {};\n const exitCode = config.exitCode || 1;\n const code = config.code || 'commander.error';\n this._exit(exitCode, code, message);\n }\n\n /**\n * Apply any option related environment variables, if option does\n * not have a value from cli or client code.\n *\n * @api private\n */\n _parseOptionsEnv() {\n this.options.forEach((option) => {\n if (option.envVar && option.envVar in process.env) {\n const optionKey = option.attributeName();\n // Priority check. Do not overwrite cli or options from unknown source (client-code).\n if (this.getOptionValue(optionKey) === undefined || ['default', 'config', 'env'].includes(this.getOptionValueSource(optionKey))) {\n if (option.required || option.optional) { // option can take a value\n // keep very simple, optional always takes value\n this.emit(`optionEnv:${option.name()}`, process.env[option.envVar]);\n } else { // boolean\n // keep very simple, only care that envVar defined and not the value\n this.emit(`optionEnv:${option.name()}`);\n }\n }\n }\n });\n }\n\n /**\n * Apply any implied option values, if option is undefined or default value.\n *\n * @api private\n */\n _parseOptionsImplied() {\n const dualHelper = new DualOptions(this.options);\n const hasCustomOptionValue = (optionKey) => {\n return this.getOptionValue(optionKey) !== undefined && !['default', 'implied'].includes(this.getOptionValueSource(optionKey));\n };\n this.options\n .filter(option => (option.implied !== undefined) &&\n hasCustomOptionValue(option.attributeName()) &&\n dualHelper.valueFromOption(this.getOptionValue(option.attributeName()), option))\n .forEach((option) => {\n Object.keys(option.implied)\n .filter(impliedKey => !hasCustomOptionValue(impliedKey))\n .forEach(impliedKey => {\n this.setOptionValueWithSource(impliedKey, option.implied[impliedKey], 'implied');\n });\n });\n }\n\n /**\n * Argument `name` is missing.\n *\n * @param {string} name\n * @api private\n */\n\n missingArgument(name) {\n const message = `error: missing required argument '${name}'`;\n this.error(message, { code: 'commander.missingArgument' });\n }\n\n /**\n * `Option` is missing an argument.\n *\n * @param {Option} option\n * @api private\n */\n\n optionMissingArgument(option) {\n const message = `error: option '${option.flags}' argument missing`;\n this.error(message, { code: 'commander.optionMissingArgument' });\n }\n\n /**\n * `Option` does not have a value, and is a mandatory option.\n *\n * @param {Option} option\n * @api private\n */\n\n missingMandatoryOptionValue(option) {\n const message = `error: required option '${option.flags}' not specified`;\n this.error(message, { code: 'commander.missingMandatoryOptionValue' });\n }\n\n /**\n * `Option` conflicts with another option.\n *\n * @param {Option} option\n * @param {Option} conflictingOption\n * @api private\n */\n _conflictingOption(option, conflictingOption) {\n // The calling code does not know whether a negated option is the source of the\n // value, so do some work to take an educated guess.\n const findBestOptionFromValue = (option) => {\n const optionKey = option.attributeName();\n const optionValue = this.getOptionValue(optionKey);\n const negativeOption = this.options.find(target => target.negate && optionKey === target.attributeName());\n const positiveOption = this.options.find(target => !target.negate && optionKey === target.attributeName());\n if (negativeOption && (\n (negativeOption.presetArg === undefined && optionValue === false) ||\n (negativeOption.presetArg !== undefined && optionValue === negativeOption.presetArg)\n )) {\n return negativeOption;\n }\n return positiveOption || option;\n };\n\n const getErrorMessage = (option) => {\n const bestOption = findBestOptionFromValue(option);\n const optionKey = bestOption.attributeName();\n const source = this.getOptionValueSource(optionKey);\n if (source === 'env') {\n return `environment variable '${bestOption.envVar}'`;\n }\n return `option '${bestOption.flags}'`;\n };\n\n const message = `error: ${getErrorMessage(option)} cannot be used with ${getErrorMessage(conflictingOption)}`;\n this.error(message, { code: 'commander.conflictingOption' });\n }\n\n /**\n * Unknown option `flag`.\n *\n * @param {string} flag\n * @api private\n */\n\n unknownOption(flag) {\n if (this._allowUnknownOption) return;\n let suggestion = '';\n\n if (flag.startsWith('--') && this._showSuggestionAfterError) {\n // Looping to pick up the global options too\n let candidateFlags = [];\n let command = this;\n do {\n const moreFlags = command.createHelp().visibleOptions(command)\n .filter(option => option.long)\n .map(option => option.long);\n candidateFlags = candidateFlags.concat(moreFlags);\n command = command.parent;\n } while (command && !command._enablePositionalOptions);\n suggestion = suggestSimilar(flag, candidateFlags);\n }\n\n const message = `error: unknown option '${flag}'${suggestion}`;\n this.error(message, { code: 'commander.unknownOption' });\n }\n\n /**\n * Excess arguments, more than expected.\n *\n * @param {string[]} receivedArgs\n * @api private\n */\n\n _excessArguments(receivedArgs) {\n if (this._allowExcessArguments) return;\n\n const expected = this._args.length;\n const s = (expected === 1) ? '' : 's';\n const forSubcommand = this.parent ? ` for '${this.name()}'` : '';\n const message = `error: too many arguments${forSubcommand}. Expected ${expected} argument${s} but got ${receivedArgs.length}.`;\n this.error(message, { code: 'commander.excessArguments' });\n }\n\n /**\n * Unknown command.\n *\n * @api private\n */\n\n unknownCommand() {\n const unknownName = this.args[0];\n let suggestion = '';\n\n if (this._showSuggestionAfterError) {\n const candidateNames = [];\n this.createHelp().visibleCommands(this).forEach((command) => {\n candidateNames.push(command.name());\n // just visible alias\n if (command.alias()) candidateNames.push(command.alias());\n });\n suggestion = suggestSimilar(unknownName, candidateNames);\n }\n\n const message = `error: unknown command '${unknownName}'${suggestion}`;\n this.error(message, { code: 'commander.unknownCommand' });\n }\n\n /**\n * Set the program version to `str`.\n *\n * This method auto-registers the \"-V, --version\" flag\n * which will print the version number when passed.\n *\n * You can optionally supply the flags and description to override the defaults.\n *\n * @param {string} str\n * @param {string} [flags]\n * @param {string} [description]\n * @return {this | string} `this` command for chaining, or version string if no arguments\n */\n\n version(str, flags, description) {\n if (str === undefined) return this._version;\n this._version = str;\n flags = flags || '-V, --version';\n description = description || 'output the version number';\n const versionOption = this.createOption(flags, description);\n this._versionOptionName = versionOption.attributeName();\n this.options.push(versionOption);\n this.on('option:' + versionOption.name(), () => {\n this._outputConfiguration.writeOut(`${str}\\n`);\n this._exit(0, 'commander.version', str);\n });\n return this;\n }\n\n /**\n * Set the description.\n *\n * @param {string} [str]\n * @param {Object} [argsDescription]\n * @return {string|Command}\n */\n description(str, argsDescription) {\n if (str === undefined && argsDescription === undefined) return this._description;\n this._description = str;\n if (argsDescription) {\n this._argsDescription = argsDescription;\n }\n return this;\n }\n\n /**\n * Set the summary. Used when listed as subcommand of parent.\n *\n * @param {string} [str]\n * @return {string|Command}\n */\n summary(str) {\n if (str === undefined) return this._summary;\n this._summary = str;\n return this;\n }\n\n /**\n * Set an alias for the command.\n *\n * You may call more than once to add multiple aliases. Only the first alias is shown in the auto-generated help.\n *\n * @param {string} [alias]\n * @return {string|Command}\n */\n\n alias(alias) {\n if (alias === undefined) return this._aliases[0]; // just return first, for backwards compatibility\n\n /** @type {Command} */\n let command = this;\n if (this.commands.length !== 0 && this.commands[this.commands.length - 1]._executableHandler) {\n // assume adding alias for last added executable subcommand, rather than this\n command = this.commands[this.commands.length - 1];\n }\n\n if (alias === command._name) throw new Error('Command alias can\\'t be the same as its name');\n\n command._aliases.push(alias);\n return this;\n }\n\n /**\n * Set aliases for the command.\n *\n * Only the first alias is shown in the auto-generated help.\n *\n * @param {string[]} [aliases]\n * @return {string[]|Command}\n */\n\n aliases(aliases) {\n // Getter for the array of aliases is the main reason for having aliases() in addition to alias().\n if (aliases === undefined) return this._aliases;\n\n aliases.forEach((alias) => this.alias(alias));\n return this;\n }\n\n /**\n * Set / get the command usage `str`.\n *\n * @param {string} [str]\n * @return {String|Command}\n */\n\n usage(str) {\n if (str === undefined) {\n if (this._usage) return this._usage;\n\n const args = this._args.map((arg) => {\n return humanReadableArgName(arg);\n });\n return [].concat(\n (this.options.length || this._hasHelpOption ? '[options]' : []),\n (this.commands.length ? '[command]' : []),\n (this._args.length ? args : [])\n ).join(' ');\n }\n\n this._usage = str;\n return this;\n }\n\n /**\n * Get or set the name of the command.\n *\n * @param {string} [str]\n * @return {string|Command}\n */\n\n name(str) {\n if (str === undefined) return this._name;\n this._name = str;\n return this;\n }\n\n /**\n * Set the name of the command from script filename, such as process.argv[1],\n * or require.main.filename, or __filename.\n *\n * (Used internally and public although not documented in README.)\n *\n * @example\n * program.nameFromFilename(require.main.filename);\n *\n * @param {string} filename\n * @return {Command}\n */\n\n nameFromFilename(filename) {\n this._name = path.basename(filename, path.extname(filename));\n\n return this;\n }\n\n /**\n * Get or set the directory for searching for executable subcommands of this command.\n *\n * @example\n * program.executableDir(__dirname);\n * // or\n * program.executableDir('subcommands');\n *\n * @param {string} [path]\n * @return {string|Command}\n */\n\n executableDir(path) {\n if (path === undefined) return this._executableDir;\n this._executableDir = path;\n return this;\n }\n\n /**\n * Return program help documentation.\n *\n * @param {{ error: boolean }} [contextOptions] - pass {error:true} to wrap for stderr instead of stdout\n * @return {string}\n */\n\n helpInformation(contextOptions) {\n const helper = this.createHelp();\n if (helper.helpWidth === undefined) {\n helper.helpWidth = (contextOptions && contextOptions.error) ? this._outputConfiguration.getErrHelpWidth() : this._outputConfiguration.getOutHelpWidth();\n }\n return helper.formatHelp(this, helper);\n }\n\n /**\n * @api private\n */\n\n _getHelpContext(contextOptions) {\n contextOptions = contextOptions || {};\n const context = { error: !!contextOptions.error };\n let write;\n if (context.error) {\n write = (arg) => this._outputConfiguration.writeErr(arg);\n } else {\n write = (arg) => this._outputConfiguration.writeOut(arg);\n }\n context.write = contextOptions.write || write;\n context.command = this;\n return context;\n }\n\n /**\n * Output help information for this command.\n *\n * Outputs built-in help, and custom text added using `.addHelpText()`.\n *\n * @param {{ error: boolean } | Function} [contextOptions] - pass {error:true} to write to stderr instead of stdout\n */\n\n outputHelp(contextOptions) {\n let deprecatedCallback;\n if (typeof contextOptions === 'function') {\n deprecatedCallback = contextOptions;\n contextOptions = undefined;\n }\n const context = this._getHelpContext(contextOptions);\n\n getCommandAndParents(this).reverse().forEach(command => command.emit('beforeAllHelp', context));\n this.emit('beforeHelp', context);\n\n let helpInformation = this.helpInformation(context);\n if (deprecatedCallback) {\n helpInformation = deprecatedCallback(helpInformation);\n if (typeof helpInformation !== 'string' && !Buffer.isBuffer(helpInformation)) {\n throw new Error('outputHelp callback must return a string or a Buffer');\n }\n }\n context.write(helpInformation);\n\n this.emit(this._helpLongFlag); // deprecated\n this.emit('afterHelp', context);\n getCommandAndParents(this).forEach(command => command.emit('afterAllHelp', context));\n }\n\n /**\n * You can pass in flags and a description to override the help\n * flags and help description for your command. Pass in false to\n * disable the built-in help option.\n *\n * @param {string | boolean} [flags]\n * @param {string} [description]\n * @return {Command} `this` command for chaining\n */\n\n helpOption(flags, description) {\n if (typeof flags === 'boolean') {\n this._hasHelpOption = flags;\n return this;\n }\n this._helpFlags = flags || this._helpFlags;\n this._helpDescription = description || this._helpDescription;\n\n const helpFlags = splitOptionFlags(this._helpFlags);\n this._helpShortFlag = helpFlags.shortFlag;\n this._helpLongFlag = helpFlags.longFlag;\n\n return this;\n }\n\n /**\n * Output help information and exit.\n *\n * Outputs built-in help, and custom text added using `.addHelpText()`.\n *\n * @param {{ error: boolean }} [contextOptions] - pass {error:true} to write to stderr instead of stdout\n */\n\n help(contextOptions) {\n this.outputHelp(contextOptions);\n let exitCode = process.exitCode || 0;\n if (exitCode === 0 && contextOptions && typeof contextOptions !== 'function' && contextOptions.error) {\n exitCode = 1;\n }\n // message: do not have all displayed text available so only passing placeholder.\n this._exit(exitCode, 'commander.help', '(outputHelp)');\n }\n\n /**\n * Add additional text to be displayed with the built-in help.\n *\n * Position is 'before' or 'after' to affect just this command,\n * and 'beforeAll' or 'afterAll' to affect this command and all its subcommands.\n *\n * @param {string} position - before or after built-in help\n * @param {string | Function} text - string to add, or a function returning a string\n * @return {Command} `this` command for chaining\n */\n addHelpText(position, text) {\n const allowedValues = ['beforeAll', 'before', 'after', 'afterAll'];\n if (!allowedValues.includes(position)) {\n throw new Error(`Unexpected value for position to addHelpText.\nExpecting one of '${allowedValues.join(\"', '\")}'`);\n }\n const helpEvent = `${position}Help`;\n this.on(helpEvent, (context) => {\n let helpStr;\n if (typeof text === 'function') {\n helpStr = text({ error: context.error, command: context.command });\n } else {\n helpStr = text;\n }\n // Ignore falsy value when nothing to output.\n if (helpStr) {\n context.write(`${helpStr}\\n`);\n }\n });\n return this;\n }\n}\n\n/**\n * Output help information if help flags specified\n *\n * @param {Command} cmd - command to output help for\n * @param {Array} args - array of options to search for help flags\n * @api private\n */\n\nfunction outputHelpIfRequested(cmd, args) {\n const helpOption = cmd._hasHelpOption && args.find(arg => arg === cmd._helpLongFlag || arg === cmd._helpShortFlag);\n if (helpOption) {\n cmd.outputHelp();\n // (Do not have all displayed text available so only passing placeholder.)\n cmd._exit(0, 'commander.helpDisplayed', '(outputHelp)');\n }\n}\n\n/**\n * Scan arguments and increment port number for inspect calls (to avoid conflicts when spawning new command).\n *\n * @param {string[]} args - array of arguments from node.execArgv\n * @returns {string[]}\n * @api private\n */\n\nfunction incrementNodeInspectorPort(args) {\n // Testing for these options:\n // --inspect[=[host:]port]\n // --inspect-brk[=[host:]port]\n // --inspect-port=[host:]port\n return args.map((arg) => {\n if (!arg.startsWith('--inspect')) {\n return arg;\n }\n let debugOption;\n let debugHost = '127.0.0.1';\n let debugPort = '9229';\n let match;\n if ((match = arg.match(/^(--inspect(-brk)?)$/)) !== null) {\n // e.g. --inspect\n debugOption = match[1];\n } else if ((match = arg.match(/^(--inspect(-brk|-port)?)=([^:]+)$/)) !== null) {\n debugOption = match[1];\n if (/^\\d+$/.test(match[3])) {\n // e.g. --inspect=1234\n debugPort = match[3];\n } else {\n // e.g. --inspect=localhost\n debugHost = match[3];\n }\n } else if ((match = arg.match(/^(--inspect(-brk|-port)?)=([^:]+):(\\d+)$/)) !== null) {\n // e.g. --inspect=localhost:1234\n debugOption = match[1];\n debugHost = match[3];\n debugPort = match[4];\n }\n\n if (debugOption && debugPort !== '0') {\n return `${debugOption}=${debugHost}:${parseInt(debugPort) + 1}`;\n }\n return arg;\n });\n}\n\n/**\n * @param {Command} startCommand\n * @returns {Command[]}\n * @api private\n */\n\nfunction getCommandAndParents(startCommand) {\n const result = [];\n for (let command = startCommand; command; command = command.parent) {\n result.push(command);\n }\n return result;\n}\n\nexports.Command = Command;\n","const { Argument } = require('./lib/argument.js');\nconst { Command } = require('./lib/command.js');\nconst { CommanderError, InvalidArgumentError } = require('./lib/error.js');\nconst { Help } = require('./lib/help.js');\nconst { Option } = require('./lib/option.js');\n\n// @ts-check\n\n/**\n * Expose the root command.\n */\n\nexports = module.exports = new Command();\nexports.program = exports; // More explicit access to global command.\n// Implicit export of createArgument, createCommand, and createOption.\n\n/**\n * Expose classes\n */\n\nexports.Argument = Argument;\nexports.Command = Command;\nexports.CommanderError = CommanderError;\nexports.Help = Help;\nexports.InvalidArgumentError = InvalidArgumentError;\nexports.InvalidOptionArgumentError = InvalidArgumentError; // Deprecated\nexports.Option = Option;\n","import commander from './index.js';\n\n// wrapper to provide named exports for ESM.\nexport const {\n program,\n createCommand,\n createArgument,\n createOption,\n CommanderError,\n InvalidArgumentError,\n InvalidOptionArgumentError, // deprecated old name\n Command,\n Argument,\n Option,\n Help\n} = commander;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.thenable = exports.typedArray = exports.stringArray = exports.array = exports.func = exports.error = exports.number = exports.string = exports.boolean = void 0;\nfunction boolean(value) {\n return value === true || value === false;\n}\nexports.boolean = boolean;\nfunction string(value) {\n return typeof value === 'string' || value instanceof String;\n}\nexports.string = string;\nfunction number(value) {\n return typeof value === 'number' || value instanceof Number;\n}\nexports.number = number;\nfunction error(value) {\n return value instanceof Error;\n}\nexports.error = error;\nfunction func(value) {\n return typeof value === 'function';\n}\nexports.func = func;\nfunction array(value) {\n return Array.isArray(value);\n}\nexports.array = array;\nfunction stringArray(value) {\n return array(value) && value.every(elem => string(elem));\n}\nexports.stringArray = stringArray;\nfunction typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n}\nexports.typedArray = typedArray;\nfunction thenable(value) {\n return value && func(value.then);\n}\nexports.thenable = thenable;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringArray = exports.array = exports.func = exports.error = exports.number = exports.string = exports.boolean = void 0;\nfunction boolean(value) {\n return value === true || value === false;\n}\nexports.boolean = boolean;\nfunction string(value) {\n return typeof value === 'string' || value instanceof String;\n}\nexports.string = string;\nfunction number(value) {\n return typeof value === 'number' || value instanceof Number;\n}\nexports.number = number;\nfunction error(value) {\n return value instanceof Error;\n}\nexports.error = error;\nfunction func(value) {\n return typeof value === 'function';\n}\nexports.func = func;\nfunction array(value) {\n return Array.isArray(value);\n}\nexports.array = array;\nfunction stringArray(value) {\n return array(value) && value.every(elem => string(elem));\n}\nexports.stringArray = stringArray;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Message = exports.NotificationType9 = exports.NotificationType8 = exports.NotificationType7 = exports.NotificationType6 = exports.NotificationType5 = exports.NotificationType4 = exports.NotificationType3 = exports.NotificationType2 = exports.NotificationType1 = exports.NotificationType0 = exports.NotificationType = exports.RequestType9 = exports.RequestType8 = exports.RequestType7 = exports.RequestType6 = exports.RequestType5 = exports.RequestType4 = exports.RequestType3 = exports.RequestType2 = exports.RequestType1 = exports.RequestType = exports.RequestType0 = exports.AbstractMessageSignature = exports.ParameterStructures = exports.ResponseError = exports.ErrorCodes = void 0;\nconst is = require(\"./is\");\n/**\n * Predefined error codes.\n */\nvar ErrorCodes;\n(function (ErrorCodes) {\n // Defined by JSON RPC\n ErrorCodes.ParseError = -32700;\n ErrorCodes.InvalidRequest = -32600;\n ErrorCodes.MethodNotFound = -32601;\n ErrorCodes.InvalidParams = -32602;\n ErrorCodes.InternalError = -32603;\n /**\n * This is the start range of JSON RPC reserved error codes.\n * It doesn't denote a real error code. No application error codes should\n * be defined between the start and end range. For backwards\n * compatibility the `ServerNotInitialized` and the `UnknownErrorCode`\n * are left in the range.\n *\n * @since 3.16.0\n */\n ErrorCodes.jsonrpcReservedErrorRangeStart = -32099;\n /** @deprecated use jsonrpcReservedErrorRangeStart */\n ErrorCodes.serverErrorStart = -32099;\n /**\n * An error occurred when write a message to the transport layer.\n */\n ErrorCodes.MessageWriteError = -32099;\n /**\n * An error occurred when reading a message from the transport layer.\n */\n ErrorCodes.MessageReadError = -32098;\n /**\n * The connection got disposed or lost and all pending responses got\n * rejected.\n */\n ErrorCodes.PendingResponseRejected = -32097;\n /**\n * The connection is inactive and a use of it failed.\n */\n ErrorCodes.ConnectionInactive = -32096;\n /**\n * Error code indicating that a server received a notification or\n * request before the server has received the `initialize` request.\n */\n ErrorCodes.ServerNotInitialized = -32002;\n ErrorCodes.UnknownErrorCode = -32001;\n /**\n * This is the end range of JSON RPC reserved error codes.\n * It doesn't denote a real error code.\n *\n * @since 3.16.0\n */\n ErrorCodes.jsonrpcReservedErrorRangeEnd = -32000;\n /** @deprecated use jsonrpcReservedErrorRangeEnd */\n ErrorCodes.serverErrorEnd = -32000;\n})(ErrorCodes = exports.ErrorCodes || (exports.ErrorCodes = {}));\n/**\n * An error object return in a response in case a request\n * has failed.\n */\nclass ResponseError extends Error {\n constructor(code, message, data) {\n super(message);\n this.code = is.number(code) ? code : ErrorCodes.UnknownErrorCode;\n this.data = data;\n Object.setPrototypeOf(this, ResponseError.prototype);\n }\n toJson() {\n const result = {\n code: this.code,\n message: this.message\n };\n if (this.data !== undefined) {\n result.data = this.data;\n }\n return result;\n }\n}\nexports.ResponseError = ResponseError;\nclass ParameterStructures {\n constructor(kind) {\n this.kind = kind;\n }\n static is(value) {\n return value === ParameterStructures.auto || value === ParameterStructures.byName || value === ParameterStructures.byPosition;\n }\n toString() {\n return this.kind;\n }\n}\nexports.ParameterStructures = ParameterStructures;\n/**\n * The parameter structure is automatically inferred on the number of parameters\n * and the parameter type in case of a single param.\n */\nParameterStructures.auto = new ParameterStructures('auto');\n/**\n * Forces `byPosition` parameter structure. This is useful if you have a single\n * parameter which has a literal type.\n */\nParameterStructures.byPosition = new ParameterStructures('byPosition');\n/**\n * Forces `byName` parameter structure. This is only useful when having a single\n * parameter. The library will report errors if used with a different number of\n * parameters.\n */\nParameterStructures.byName = new ParameterStructures('byName');\n/**\n * An abstract implementation of a MessageType.\n */\nclass AbstractMessageSignature {\n constructor(method, numberOfParams) {\n this.method = method;\n this.numberOfParams = numberOfParams;\n }\n get parameterStructures() {\n return ParameterStructures.auto;\n }\n}\nexports.AbstractMessageSignature = AbstractMessageSignature;\n/**\n * Classes to type request response pairs\n */\nclass RequestType0 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 0);\n }\n}\nexports.RequestType0 = RequestType0;\nclass RequestType extends AbstractMessageSignature {\n constructor(method, _parameterStructures = ParameterStructures.auto) {\n super(method, 1);\n this._parameterStructures = _parameterStructures;\n }\n get parameterStructures() {\n return this._parameterStructures;\n }\n}\nexports.RequestType = RequestType;\nclass RequestType1 extends AbstractMessageSignature {\n constructor(method, _parameterStructures = ParameterStructures.auto) {\n super(method, 1);\n this._parameterStructures = _parameterStructures;\n }\n get parameterStructures() {\n return this._parameterStructures;\n }\n}\nexports.RequestType1 = RequestType1;\nclass RequestType2 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 2);\n }\n}\nexports.RequestType2 = RequestType2;\nclass RequestType3 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 3);\n }\n}\nexports.RequestType3 = RequestType3;\nclass RequestType4 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 4);\n }\n}\nexports.RequestType4 = RequestType4;\nclass RequestType5 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 5);\n }\n}\nexports.RequestType5 = RequestType5;\nclass RequestType6 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 6);\n }\n}\nexports.RequestType6 = RequestType6;\nclass RequestType7 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 7);\n }\n}\nexports.RequestType7 = RequestType7;\nclass RequestType8 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 8);\n }\n}\nexports.RequestType8 = RequestType8;\nclass RequestType9 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 9);\n }\n}\nexports.RequestType9 = RequestType9;\nclass NotificationType extends AbstractMessageSignature {\n constructor(method, _parameterStructures = ParameterStructures.auto) {\n super(method, 1);\n this._parameterStructures = _parameterStructures;\n }\n get parameterStructures() {\n return this._parameterStructures;\n }\n}\nexports.NotificationType = NotificationType;\nclass NotificationType0 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 0);\n }\n}\nexports.NotificationType0 = NotificationType0;\nclass NotificationType1 extends AbstractMessageSignature {\n constructor(method, _parameterStructures = ParameterStructures.auto) {\n super(method, 1);\n this._parameterStructures = _parameterStructures;\n }\n get parameterStructures() {\n return this._parameterStructures;\n }\n}\nexports.NotificationType1 = NotificationType1;\nclass NotificationType2 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 2);\n }\n}\nexports.NotificationType2 = NotificationType2;\nclass NotificationType3 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 3);\n }\n}\nexports.NotificationType3 = NotificationType3;\nclass NotificationType4 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 4);\n }\n}\nexports.NotificationType4 = NotificationType4;\nclass NotificationType5 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 5);\n }\n}\nexports.NotificationType5 = NotificationType5;\nclass NotificationType6 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 6);\n }\n}\nexports.NotificationType6 = NotificationType6;\nclass NotificationType7 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 7);\n }\n}\nexports.NotificationType7 = NotificationType7;\nclass NotificationType8 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 8);\n }\n}\nexports.NotificationType8 = NotificationType8;\nclass NotificationType9 extends AbstractMessageSignature {\n constructor(method) {\n super(method, 9);\n }\n}\nexports.NotificationType9 = NotificationType9;\nvar Message;\n(function (Message) {\n /**\n * Tests if the given message is a request message\n */\n function isRequest(message) {\n const candidate = message;\n return candidate && is.string(candidate.method) && (is.string(candidate.id) || is.number(candidate.id));\n }\n Message.isRequest = isRequest;\n /**\n * Tests if the given message is a notification message\n */\n function isNotification(message) {\n const candidate = message;\n return candidate && is.string(candidate.method) && message.id === void 0;\n }\n Message.isNotification = isNotification;\n /**\n * Tests if the given message is a response message\n */\n function isResponse(message) {\n const candidate = message;\n return candidate && (candidate.result !== void 0 || !!candidate.error) && (is.string(candidate.id) || is.number(candidate.id) || candidate.id === null);\n }\n Message.isResponse = isResponse;\n})(Message = exports.Message || (exports.Message = {}));\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LRUCache = exports.LinkedMap = exports.Touch = void 0;\nvar Touch;\n(function (Touch) {\n Touch.None = 0;\n Touch.First = 1;\n Touch.AsOld = Touch.First;\n Touch.Last = 2;\n Touch.AsNew = Touch.Last;\n})(Touch = exports.Touch || (exports.Touch = {}));\nclass LinkedMap {\n constructor() {\n this[_a] = 'LinkedMap';\n this._map = new Map();\n this._head = undefined;\n this._tail = undefined;\n this._size = 0;\n this._state = 0;\n }\n clear() {\n this._map.clear();\n this._head = undefined;\n this._tail = undefined;\n this._size = 0;\n this._state++;\n }\n isEmpty() {\n return !this._head && !this._tail;\n }\n get size() {\n return this._size;\n }\n get first() {\n return this._head?.value;\n }\n get last() {\n return this._tail?.value;\n }\n has(key) {\n return this._map.has(key);\n }\n get(key, touch = Touch.None) {\n const item = this._map.get(key);\n if (!item) {\n return undefined;\n }\n if (touch !== Touch.None) {\n this.touch(item, touch);\n }\n return item.value;\n }\n set(key, value, touch = Touch.None) {\n let item = this._map.get(key);\n if (item) {\n item.value = value;\n if (touch !== Touch.None) {\n this.touch(item, touch);\n }\n }\n else {\n item = { key, value, next: undefined, previous: undefined };\n switch (touch) {\n case Touch.None:\n this.addItemLast(item);\n break;\n case Touch.First:\n this.addItemFirst(item);\n break;\n case Touch.Last:\n this.addItemLast(item);\n break;\n default:\n this.addItemLast(item);\n break;\n }\n this._map.set(key, item);\n this._size++;\n }\n return this;\n }\n delete(key) {\n return !!this.remove(key);\n }\n remove(key) {\n const item = this._map.get(key);\n if (!item) {\n return undefined;\n }\n this._map.delete(key);\n this.removeItem(item);\n this._size--;\n return item.value;\n }\n shift() {\n if (!this._head && !this._tail) {\n return undefined;\n }\n if (!this._head || !this._tail) {\n throw new Error('Invalid list');\n }\n const item = this._head;\n this._map.delete(item.key);\n this.removeItem(item);\n this._size--;\n return item.value;\n }\n forEach(callbackfn, thisArg) {\n const state = this._state;\n let current = this._head;\n while (current) {\n if (thisArg) {\n callbackfn.bind(thisArg)(current.value, current.key, this);\n }\n else {\n callbackfn(current.value, current.key, this);\n }\n if (this._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n current = current.next;\n }\n }\n keys() {\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]: () => {\n return iterator;\n },\n next: () => {\n if (this._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: current.key, done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n values() {\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]: () => {\n return iterator;\n },\n next: () => {\n if (this._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: current.value, done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n entries() {\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]: () => {\n return iterator;\n },\n next: () => {\n if (this._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: [current.key, current.value], done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n [(_a = Symbol.toStringTag, Symbol.iterator)]() {\n return this.entries();\n }\n trimOld(newSize) {\n if (newSize >= this.size) {\n return;\n }\n if (newSize === 0) {\n this.clear();\n return;\n }\n let current = this._head;\n let currentSize = this.size;\n while (current && currentSize > newSize) {\n this._map.delete(current.key);\n current = current.next;\n currentSize--;\n }\n this._head = current;\n this._size = currentSize;\n if (current) {\n current.previous = undefined;\n }\n this._state++;\n }\n addItemFirst(item) {\n // First time Insert\n if (!this._head && !this._tail) {\n this._tail = item;\n }\n else if (!this._head) {\n throw new Error('Invalid list');\n }\n else {\n item.next = this._head;\n this._head.previous = item;\n }\n this._head = item;\n this._state++;\n }\n addItemLast(item) {\n // First time Insert\n if (!this._head && !this._tail) {\n this._head = item;\n }\n else if (!this._tail) {\n throw new Error('Invalid list');\n }\n else {\n item.previous = this._tail;\n this._tail.next = item;\n }\n this._tail = item;\n this._state++;\n }\n removeItem(item) {\n if (item === this._head && item === this._tail) {\n this._head = undefined;\n this._tail = undefined;\n }\n else if (item === this._head) {\n // This can only happened if size === 1 which is handle\n // by the case above.\n if (!item.next) {\n throw new Error('Invalid list');\n }\n item.next.previous = undefined;\n this._head = item.next;\n }\n else if (item === this._tail) {\n // This can only happened if size === 1 which is handle\n // by the case above.\n if (!item.previous) {\n throw new Error('Invalid list');\n }\n item.previous.next = undefined;\n this._tail = item.previous;\n }\n else {\n const next = item.next;\n const previous = item.previous;\n if (!next || !previous) {\n throw new Error('Invalid list');\n }\n next.previous = previous;\n previous.next = next;\n }\n item.next = undefined;\n item.previous = undefined;\n this._state++;\n }\n touch(item, touch) {\n if (!this._head || !this._tail) {\n throw new Error('Invalid list');\n }\n if ((touch !== Touch.First && touch !== Touch.Last)) {\n return;\n }\n if (touch === Touch.First) {\n if (item === this._head) {\n return;\n }\n const next = item.next;\n const previous = item.previous;\n // Unlink the item\n if (item === this._tail) {\n // previous must be defined since item was not head but is tail\n // So there are more than on item in the map\n previous.next = undefined;\n this._tail = previous;\n }\n else {\n // Both next and previous are not undefined since item was neither head nor tail.\n next.previous = previous;\n previous.next = next;\n }\n // Insert the node at head\n item.previous = undefined;\n item.next = this._head;\n this._head.previous = item;\n this._head = item;\n this._state++;\n }\n else if (touch === Touch.Last) {\n if (item === this._tail) {\n return;\n }\n const next = item.next;\n const previous = item.previous;\n // Unlink the item.\n if (item === this._head) {\n // next must be defined since item was not tail but is head\n // So there are more than on item in the map\n next.previous = undefined;\n this._head = next;\n }\n else {\n // Both next and previous are not undefined since item was neither head nor tail.\n next.previous = previous;\n previous.next = next;\n }\n item.next = undefined;\n item.previous = this._tail;\n this._tail.next = item;\n this._tail = item;\n this._state++;\n }\n }\n toJSON() {\n const data = [];\n this.forEach((value, key) => {\n data.push([key, value]);\n });\n return data;\n }\n fromJSON(data) {\n this.clear();\n for (const [key, value] of data) {\n this.set(key, value);\n }\n }\n}\nexports.LinkedMap = LinkedMap;\nclass LRUCache extends LinkedMap {\n constructor(limit, ratio = 1) {\n super();\n this._limit = limit;\n this._ratio = Math.min(Math.max(0, ratio), 1);\n }\n get limit() {\n return this._limit;\n }\n set limit(limit) {\n this._limit = limit;\n this.checkTrim();\n }\n get ratio() {\n return this._ratio;\n }\n set ratio(ratio) {\n this._ratio = Math.min(Math.max(0, ratio), 1);\n this.checkTrim();\n }\n get(key, touch = Touch.AsNew) {\n return super.get(key, touch);\n }\n peek(key) {\n return super.get(key, Touch.None);\n }\n set(key, value) {\n super.set(key, value, Touch.Last);\n this.checkTrim();\n return this;\n }\n checkTrim() {\n if (this.size > this._limit) {\n this.trimOld(Math.round(this._limit * this._ratio));\n }\n }\n}\nexports.LRUCache = LRUCache;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nlet _ral;\nfunction RAL() {\n if (_ral === undefined) {\n throw new Error(`No runtime abstraction layer installed`);\n }\n return _ral;\n}\n(function (RAL) {\n function install(ral) {\n if (ral === undefined) {\n throw new Error(`No runtime abstraction layer provided`);\n }\n _ral = ral;\n }\n RAL.install = install;\n})(RAL || (RAL = {}));\nexports.default = RAL;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Emitter = exports.Event = void 0;\nconst ral_1 = require(\"./ral\");\nvar Event;\n(function (Event) {\n const _disposable = { dispose() { } };\n Event.None = function () { return _disposable; };\n})(Event = exports.Event || (exports.Event = {}));\nclass CallbackList {\n add(callback, context = null, bucket) {\n if (!this._callbacks) {\n this._callbacks = [];\n this._contexts = [];\n }\n this._callbacks.push(callback);\n this._contexts.push(context);\n if (Array.isArray(bucket)) {\n bucket.push({ dispose: () => this.remove(callback, context) });\n }\n }\n remove(callback, context = null) {\n if (!this._callbacks) {\n return;\n }\n let foundCallbackWithDifferentContext = false;\n for (let i = 0, len = this._callbacks.length; i < len; i++) {\n if (this._callbacks[i] === callback) {\n if (this._contexts[i] === context) {\n // callback & context match => remove it\n this._callbacks.splice(i, 1);\n this._contexts.splice(i, 1);\n return;\n }\n else {\n foundCallbackWithDifferentContext = true;\n }\n }\n }\n if (foundCallbackWithDifferentContext) {\n throw new Error('When adding a listener with a context, you should remove it with the same context');\n }\n }\n invoke(...args) {\n if (!this._callbacks) {\n return [];\n }\n const ret = [], callbacks = this._callbacks.slice(0), contexts = this._contexts.slice(0);\n for (let i = 0, len = callbacks.length; i < len; i++) {\n try {\n ret.push(callbacks[i].apply(contexts[i], args));\n }\n catch (e) {\n // eslint-disable-next-line no-console\n (0, ral_1.default)().console.error(e);\n }\n }\n return ret;\n }\n isEmpty() {\n return !this._callbacks || this._callbacks.length === 0;\n }\n dispose() {\n this._callbacks = undefined;\n this._contexts = undefined;\n }\n}\nclass Emitter {\n constructor(_options) {\n this._options = _options;\n }\n /**\n * For the public to allow to subscribe\n * to events from this Emitter\n */\n get event() {\n if (!this._event) {\n this._event = (listener, thisArgs, disposables) => {\n if (!this._callbacks) {\n this._callbacks = new CallbackList();\n }\n if (this._options && this._options.onFirstListenerAdd && this._callbacks.isEmpty()) {\n this._options.onFirstListenerAdd(this);\n }\n this._callbacks.add(listener, thisArgs);\n const result = {\n dispose: () => {\n if (!this._callbacks) {\n // disposable is disposed after emitter is disposed.\n return;\n }\n this._callbacks.remove(listener, thisArgs);\n result.dispose = Emitter._noop;\n if (this._options && this._options.onLastListenerRemove && this._callbacks.isEmpty()) {\n this._options.onLastListenerRemove(this);\n }\n }\n };\n if (Array.isArray(disposables)) {\n disposables.push(result);\n }\n return result;\n };\n }\n return this._event;\n }\n /**\n * To be kept private to fire an event to\n * subscribers\n */\n fire(event) {\n if (this._callbacks) {\n this._callbacks.invoke.call(this._callbacks, event);\n }\n }\n dispose() {\n if (this._callbacks) {\n this._callbacks.dispose();\n this._callbacks = undefined;\n }\n }\n}\nexports.Emitter = Emitter;\nEmitter._noop = function () { };\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CancellationTokenSource = exports.CancellationToken = void 0;\nconst ral_1 = require(\"./ral\");\nconst Is = require(\"./is\");\nconst events_1 = require(\"./events\");\nvar CancellationToken;\n(function (CancellationToken) {\n CancellationToken.None = Object.freeze({\n isCancellationRequested: false,\n onCancellationRequested: events_1.Event.None\n });\n CancellationToken.Cancelled = Object.freeze({\n isCancellationRequested: true,\n onCancellationRequested: events_1.Event.None\n });\n function is(value) {\n const candidate = value;\n return candidate && (candidate === CancellationToken.None\n || candidate === CancellationToken.Cancelled\n || (Is.boolean(candidate.isCancellationRequested) && !!candidate.onCancellationRequested));\n }\n CancellationToken.is = is;\n})(CancellationToken = exports.CancellationToken || (exports.CancellationToken = {}));\nconst shortcutEvent = Object.freeze(function (callback, context) {\n const handle = (0, ral_1.default)().timer.setTimeout(callback.bind(context), 0);\n return { dispose() { handle.dispose(); } };\n});\nclass MutableToken {\n constructor() {\n this._isCancelled = false;\n }\n cancel() {\n if (!this._isCancelled) {\n this._isCancelled = true;\n if (this._emitter) {\n this._emitter.fire(undefined);\n this.dispose();\n }\n }\n }\n get isCancellationRequested() {\n return this._isCancelled;\n }\n get onCancellationRequested() {\n if (this._isCancelled) {\n return shortcutEvent;\n }\n if (!this._emitter) {\n this._emitter = new events_1.Emitter();\n }\n return this._emitter.event;\n }\n dispose() {\n if (this._emitter) {\n this._emitter.dispose();\n this._emitter = undefined;\n }\n }\n}\nclass CancellationTokenSource {\n get token() {\n if (!this._token) {\n // be lazy and create the token only when\n // actually needed\n this._token = new MutableToken();\n }\n return this._token;\n }\n cancel() {\n if (!this._token) {\n // save an object by returning the default\n // cancelled token when cancellation happens\n // before someone asks for the token\n this._token = CancellationToken.Cancelled;\n }\n else {\n this._token.cancel();\n }\n }\n dispose() {\n if (!this._token) {\n // ensure to initialize with an empty token if we had none\n this._token = CancellationToken.None;\n }\n else if (this._token instanceof MutableToken) {\n // actually dispose\n this._token.dispose();\n }\n }\n}\nexports.CancellationTokenSource = CancellationTokenSource;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Semaphore = void 0;\nconst ral_1 = require(\"./ral\");\nclass Semaphore {\n constructor(capacity = 1) {\n if (capacity <= 0) {\n throw new Error('Capacity must be greater than 0');\n }\n this._capacity = capacity;\n this._active = 0;\n this._waiting = [];\n }\n lock(thunk) {\n return new Promise((resolve, reject) => {\n this._waiting.push({ thunk, resolve, reject });\n this.runNext();\n });\n }\n get active() {\n return this._active;\n }\n runNext() {\n if (this._waiting.length === 0 || this._active === this._capacity) {\n return;\n }\n (0, ral_1.default)().timer.setImmediate(() => this.doRunNext());\n }\n doRunNext() {\n if (this._waiting.length === 0 || this._active === this._capacity) {\n return;\n }\n const next = this._waiting.shift();\n this._active++;\n if (this._active > this._capacity) {\n throw new Error(`To many thunks active`);\n }\n try {\n const result = next.thunk();\n if (result instanceof Promise) {\n result.then((value) => {\n this._active--;\n next.resolve(value);\n this.runNext();\n }, (err) => {\n this._active--;\n next.reject(err);\n this.runNext();\n });\n }\n else {\n this._active--;\n next.resolve(result);\n this.runNext();\n }\n }\n catch (err) {\n this._active--;\n next.reject(err);\n this.runNext();\n }\n }\n}\nexports.Semaphore = Semaphore;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMessageConnection = exports.ConnectionOptions = exports.MessageStrategy = exports.CancellationStrategy = exports.CancellationSenderStrategy = exports.CancellationReceiverStrategy = exports.RequestCancellationReceiverStrategy = exports.IdCancellationReceiverStrategy = exports.ConnectionStrategy = exports.ConnectionError = exports.ConnectionErrors = exports.LogTraceNotification = exports.SetTraceNotification = exports.TraceFormat = exports.TraceValues = exports.Trace = exports.NullLogger = exports.ProgressType = exports.ProgressToken = void 0;\nconst ral_1 = require(\"./ral\");\nconst Is = require(\"./is\");\nconst messages_1 = require(\"./messages\");\nconst linkedMap_1 = require(\"./linkedMap\");\nconst events_1 = require(\"./events\");\nconst cancellation_1 = require(\"./cancellation\");\nvar CancelNotification;\n(function (CancelNotification) {\n CancelNotification.type = new messages_1.NotificationType('$/cancelRequest');\n})(CancelNotification || (CancelNotification = {}));\nvar ProgressToken;\n(function (ProgressToken) {\n function is(value) {\n return typeof value === 'string' || typeof value === 'number';\n }\n ProgressToken.is = is;\n})(ProgressToken = exports.ProgressToken || (exports.ProgressToken = {}));\nvar ProgressNotification;\n(function (ProgressNotification) {\n ProgressNotification.type = new messages_1.NotificationType('$/progress');\n})(ProgressNotification || (ProgressNotification = {}));\nclass ProgressType {\n constructor() {\n }\n}\nexports.ProgressType = ProgressType;\nvar StarRequestHandler;\n(function (StarRequestHandler) {\n function is(value) {\n return Is.func(value);\n }\n StarRequestHandler.is = is;\n})(StarRequestHandler || (StarRequestHandler = {}));\nexports.NullLogger = Object.freeze({\n error: () => { },\n warn: () => { },\n info: () => { },\n log: () => { }\n});\nvar Trace;\n(function (Trace) {\n Trace[Trace[\"Off\"] = 0] = \"Off\";\n Trace[Trace[\"Messages\"] = 1] = \"Messages\";\n Trace[Trace[\"Compact\"] = 2] = \"Compact\";\n Trace[Trace[\"Verbose\"] = 3] = \"Verbose\";\n})(Trace = exports.Trace || (exports.Trace = {}));\nvar TraceValues;\n(function (TraceValues) {\n /**\n * Turn tracing off.\n */\n TraceValues.Off = 'off';\n /**\n * Trace messages only.\n */\n TraceValues.Messages = 'messages';\n /**\n * Compact message tracing.\n */\n TraceValues.Compact = 'compact';\n /**\n * Verbose message tracing.\n */\n TraceValues.Verbose = 'verbose';\n})(TraceValues = exports.TraceValues || (exports.TraceValues = {}));\n(function (Trace) {\n function fromString(value) {\n if (!Is.string(value)) {\n return Trace.Off;\n }\n value = value.toLowerCase();\n switch (value) {\n case 'off':\n return Trace.Off;\n case 'messages':\n return Trace.Messages;\n case 'compact':\n return Trace.Compact;\n case 'verbose':\n return Trace.Verbose;\n default:\n return Trace.Off;\n }\n }\n Trace.fromString = fromString;\n function toString(value) {\n switch (value) {\n case Trace.Off:\n return 'off';\n case Trace.Messages:\n return 'messages';\n case Trace.Compact:\n return 'compact';\n case Trace.Verbose:\n return 'verbose';\n default:\n return 'off';\n }\n }\n Trace.toString = toString;\n})(Trace = exports.Trace || (exports.Trace = {}));\nvar TraceFormat;\n(function (TraceFormat) {\n TraceFormat[\"Text\"] = \"text\";\n TraceFormat[\"JSON\"] = \"json\";\n})(TraceFormat = exports.TraceFormat || (exports.TraceFormat = {}));\n(function (TraceFormat) {\n function fromString(value) {\n if (!Is.string(value)) {\n return TraceFormat.Text;\n }\n value = value.toLowerCase();\n if (value === 'json') {\n return TraceFormat.JSON;\n }\n else {\n return TraceFormat.Text;\n }\n }\n TraceFormat.fromString = fromString;\n})(TraceFormat = exports.TraceFormat || (exports.TraceFormat = {}));\nvar SetTraceNotification;\n(function (SetTraceNotification) {\n SetTraceNotification.type = new messages_1.NotificationType('$/setTrace');\n})(SetTraceNotification = exports.SetTraceNotification || (exports.SetTraceNotification = {}));\nvar LogTraceNotification;\n(function (LogTraceNotification) {\n LogTraceNotification.type = new messages_1.NotificationType('$/logTrace');\n})(LogTraceNotification = exports.LogTraceNotification || (exports.LogTraceNotification = {}));\nvar ConnectionErrors;\n(function (ConnectionErrors) {\n /**\n * The connection is closed.\n */\n ConnectionErrors[ConnectionErrors[\"Closed\"] = 1] = \"Closed\";\n /**\n * The connection got disposed.\n */\n ConnectionErrors[ConnectionErrors[\"Disposed\"] = 2] = \"Disposed\";\n /**\n * The connection is already in listening mode.\n */\n ConnectionErrors[ConnectionErrors[\"AlreadyListening\"] = 3] = \"AlreadyListening\";\n})(ConnectionErrors = exports.ConnectionErrors || (exports.ConnectionErrors = {}));\nclass ConnectionError extends Error {\n constructor(code, message) {\n super(message);\n this.code = code;\n Object.setPrototypeOf(this, ConnectionError.prototype);\n }\n}\nexports.ConnectionError = ConnectionError;\nvar ConnectionStrategy;\n(function (ConnectionStrategy) {\n function is(value) {\n const candidate = value;\n return candidate && Is.func(candidate.cancelUndispatched);\n }\n ConnectionStrategy.is = is;\n})(ConnectionStrategy = exports.ConnectionStrategy || (exports.ConnectionStrategy = {}));\nvar IdCancellationReceiverStrategy;\n(function (IdCancellationReceiverStrategy) {\n function is(value) {\n const candidate = value;\n return candidate && (candidate.kind === undefined || candidate.kind === 'id') && Is.func(candidate.createCancellationTokenSource) && (candidate.dispose === undefined || Is.func(candidate.dispose));\n }\n IdCancellationReceiverStrategy.is = is;\n})(IdCancellationReceiverStrategy = exports.IdCancellationReceiverStrategy || (exports.IdCancellationReceiverStrategy = {}));\nvar RequestCancellationReceiverStrategy;\n(function (RequestCancellationReceiverStrategy) {\n function is(value) {\n const candidate = value;\n return candidate && candidate.kind === 'request' && Is.func(candidate.createCancellationTokenSource) && (candidate.dispose === undefined || Is.func(candidate.dispose));\n }\n RequestCancellationReceiverStrategy.is = is;\n})(RequestCancellationReceiverStrategy = exports.RequestCancellationReceiverStrategy || (exports.RequestCancellationReceiverStrategy = {}));\nvar CancellationReceiverStrategy;\n(function (CancellationReceiverStrategy) {\n CancellationReceiverStrategy.Message = Object.freeze({\n createCancellationTokenSource(_) {\n return new cancellation_1.CancellationTokenSource();\n }\n });\n function is(value) {\n return IdCancellationReceiverStrategy.is(value) || RequestCancellationReceiverStrategy.is(value);\n }\n CancellationReceiverStrategy.is = is;\n})(CancellationReceiverStrategy = exports.CancellationReceiverStrategy || (exports.CancellationReceiverStrategy = {}));\nvar CancellationSenderStrategy;\n(function (CancellationSenderStrategy) {\n CancellationSenderStrategy.Message = Object.freeze({\n sendCancellation(conn, id) {\n return conn.sendNotification(CancelNotification.type, { id });\n },\n cleanup(_) { }\n });\n function is(value) {\n const candidate = value;\n return candidate && Is.func(candidate.sendCancellation) && Is.func(candidate.cleanup);\n }\n CancellationSenderStrategy.is = is;\n})(CancellationSenderStrategy = exports.CancellationSenderStrategy || (exports.CancellationSenderStrategy = {}));\nvar CancellationStrategy;\n(function (CancellationStrategy) {\n CancellationStrategy.Message = Object.freeze({\n receiver: CancellationReceiverStrategy.Message,\n sender: CancellationSenderStrategy.Message\n });\n function is(value) {\n const candidate = value;\n return candidate && CancellationReceiverStrategy.is(candidate.receiver) && CancellationSenderStrategy.is(candidate.sender);\n }\n CancellationStrategy.is = is;\n})(CancellationStrategy = exports.CancellationStrategy || (exports.CancellationStrategy = {}));\nvar MessageStrategy;\n(function (MessageStrategy) {\n function is(value) {\n const candidate = value;\n return candidate && Is.func(candidate.handleMessage);\n }\n MessageStrategy.is = is;\n})(MessageStrategy = exports.MessageStrategy || (exports.MessageStrategy = {}));\nvar ConnectionOptions;\n(function (ConnectionOptions) {\n function is(value) {\n const candidate = value;\n return candidate && (CancellationStrategy.is(candidate.cancellationStrategy) || ConnectionStrategy.is(candidate.connectionStrategy) || MessageStrategy.is(candidate.messageStrategy));\n }\n ConnectionOptions.is = is;\n})(ConnectionOptions = exports.ConnectionOptions || (exports.ConnectionOptions = {}));\nvar ConnectionState;\n(function (ConnectionState) {\n ConnectionState[ConnectionState[\"New\"] = 1] = \"New\";\n ConnectionState[ConnectionState[\"Listening\"] = 2] = \"Listening\";\n ConnectionState[ConnectionState[\"Closed\"] = 3] = \"Closed\";\n ConnectionState[ConnectionState[\"Disposed\"] = 4] = \"Disposed\";\n})(ConnectionState || (ConnectionState = {}));\nfunction createMessageConnection(messageReader, messageWriter, _logger, options) {\n const logger = _logger !== undefined ? _logger : exports.NullLogger;\n let sequenceNumber = 0;\n let notificationSequenceNumber = 0;\n let unknownResponseSequenceNumber = 0;\n const version = '2.0';\n let starRequestHandler = undefined;\n const requestHandlers = new Map();\n let starNotificationHandler = undefined;\n const notificationHandlers = new Map();\n const progressHandlers = new Map();\n let timer;\n let messageQueue = new linkedMap_1.LinkedMap();\n let responsePromises = new Map();\n let knownCanceledRequests = new Set();\n let requestTokens = new Map();\n let trace = Trace.Off;\n let traceFormat = TraceFormat.Text;\n let tracer;\n let state = ConnectionState.New;\n const errorEmitter = new events_1.Emitter();\n const closeEmitter = new events_1.Emitter();\n const unhandledNotificationEmitter = new events_1.Emitter();\n const unhandledProgressEmitter = new events_1.Emitter();\n const disposeEmitter = new events_1.Emitter();\n const cancellationStrategy = (options && options.cancellationStrategy) ? options.cancellationStrategy : CancellationStrategy.Message;\n function createRequestQueueKey(id) {\n if (id === null) {\n throw new Error(`Can't send requests with id null since the response can't be correlated.`);\n }\n return 'req-' + id.toString();\n }\n function createResponseQueueKey(id) {\n if (id === null) {\n return 'res-unknown-' + (++unknownResponseSequenceNumber).toString();\n }\n else {\n return 'res-' + id.toString();\n }\n }\n function createNotificationQueueKey() {\n return 'not-' + (++notificationSequenceNumber).toString();\n }\n function addMessageToQueue(queue, message) {\n if (messages_1.Message.isRequest(message)) {\n queue.set(createRequestQueueKey(message.id), message);\n }\n else if (messages_1.Message.isResponse(message)) {\n queue.set(createResponseQueueKey(message.id), message);\n }\n else {\n queue.set(createNotificationQueueKey(), message);\n }\n }\n function cancelUndispatched(_message) {\n return undefined;\n }\n function isListening() {\n return state === ConnectionState.Listening;\n }\n function isClosed() {\n return state === ConnectionState.Closed;\n }\n function isDisposed() {\n return state === ConnectionState.Disposed;\n }\n function closeHandler() {\n if (state === ConnectionState.New || state === ConnectionState.Listening) {\n state = ConnectionState.Closed;\n closeEmitter.fire(undefined);\n }\n // If the connection is disposed don't sent close events.\n }\n function readErrorHandler(error) {\n errorEmitter.fire([error, undefined, undefined]);\n }\n function writeErrorHandler(data) {\n errorEmitter.fire(data);\n }\n messageReader.onClose(closeHandler);\n messageReader.onError(readErrorHandler);\n messageWriter.onClose(closeHandler);\n messageWriter.onError(writeErrorHandler);\n function triggerMessageQueue() {\n if (timer || messageQueue.size === 0) {\n return;\n }\n timer = (0, ral_1.default)().timer.setImmediate(() => {\n timer = undefined;\n processMessageQueue();\n });\n }\n function handleMessage(message) {\n if (messages_1.Message.isRequest(message)) {\n handleRequest(message);\n }\n else if (messages_1.Message.isNotification(message)) {\n handleNotification(message);\n }\n else if (messages_1.Message.isResponse(message)) {\n handleResponse(message);\n }\n else {\n handleInvalidMessage(message);\n }\n }\n function processMessageQueue() {\n if (messageQueue.size === 0) {\n return;\n }\n const message = messageQueue.shift();\n try {\n const messageStrategy = options?.messageStrategy;\n if (MessageStrategy.is(messageStrategy)) {\n messageStrategy.handleMessage(message, handleMessage);\n }\n else {\n handleMessage(message);\n }\n }\n finally {\n triggerMessageQueue();\n }\n }\n const callback = (message) => {\n try {\n // We have received a cancellation message. Check if the message is still in the queue\n // and cancel it if allowed to do so.\n if (messages_1.Message.isNotification(message) && message.method === CancelNotification.type.method) {\n const cancelId = message.params.id;\n const key = createRequestQueueKey(cancelId);\n const toCancel = messageQueue.get(key);\n if (messages_1.Message.isRequest(toCancel)) {\n const strategy = options?.connectionStrategy;\n const response = (strategy && strategy.cancelUndispatched) ? strategy.cancelUndispatched(toCancel, cancelUndispatched) : cancelUndispatched(toCancel);\n if (response && (response.error !== undefined || response.result !== undefined)) {\n messageQueue.delete(key);\n requestTokens.delete(cancelId);\n response.id = toCancel.id;\n traceSendingResponse(response, message.method, Date.now());\n messageWriter.write(response).catch(() => logger.error(`Sending response for canceled message failed.`));\n return;\n }\n }\n const cancellationToken = requestTokens.get(cancelId);\n // The request is already running. Cancel the token\n if (cancellationToken !== undefined) {\n cancellationToken.cancel();\n traceReceivedNotification(message);\n return;\n }\n else {\n // Remember the cancel but still queue the message to\n // clean up state in process message.\n knownCanceledRequests.add(cancelId);\n }\n }\n addMessageToQueue(messageQueue, message);\n }\n finally {\n triggerMessageQueue();\n }\n };\n function handleRequest(requestMessage) {\n if (isDisposed()) {\n // we return here silently since we fired an event when the\n // connection got disposed.\n return;\n }\n function reply(resultOrError, method, startTime) {\n const message = {\n jsonrpc: version,\n id: requestMessage.id\n };\n if (resultOrError instanceof messages_1.ResponseError) {\n message.error = resultOrError.toJson();\n }\n else {\n message.result = resultOrError === undefined ? null : resultOrError;\n }\n traceSendingResponse(message, method, startTime);\n messageWriter.write(message).catch(() => logger.error(`Sending response failed.`));\n }\n function replyError(error, method, startTime) {\n const message = {\n jsonrpc: version,\n id: requestMessage.id,\n error: error.toJson()\n };\n traceSendingResponse(message, method, startTime);\n messageWriter.write(message).catch(() => logger.error(`Sending response failed.`));\n }\n function replySuccess(result, method, startTime) {\n // The JSON RPC defines that a response must either have a result or an error\n // So we can't treat undefined as a valid response result.\n if (result === undefined) {\n result = null;\n }\n const message = {\n jsonrpc: version,\n id: requestMessage.id,\n result: result\n };\n traceSendingResponse(message, method, startTime);\n messageWriter.write(message).catch(() => logger.error(`Sending response failed.`));\n }\n traceReceivedRequest(requestMessage);\n const element = requestHandlers.get(requestMessage.method);\n let type;\n let requestHandler;\n if (element) {\n type = element.type;\n requestHandler = element.handler;\n }\n const startTime = Date.now();\n if (requestHandler || starRequestHandler) {\n const tokenKey = requestMessage.id ?? String(Date.now()); //\n const cancellationSource = IdCancellationReceiverStrategy.is(cancellationStrategy.receiver)\n ? cancellationStrategy.receiver.createCancellationTokenSource(tokenKey)\n : cancellationStrategy.receiver.createCancellationTokenSource(requestMessage);\n if (requestMessage.id !== null && knownCanceledRequests.has(requestMessage.id)) {\n cancellationSource.cancel();\n }\n if (requestMessage.id !== null) {\n requestTokens.set(tokenKey, cancellationSource);\n }\n try {\n let handlerResult;\n if (requestHandler) {\n if (requestMessage.params === undefined) {\n if (type !== undefined && type.numberOfParams !== 0) {\n replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams, `Request ${requestMessage.method} defines ${type.numberOfParams} params but received none.`), requestMessage.method, startTime);\n return;\n }\n handlerResult = requestHandler(cancellationSource.token);\n }\n else if (Array.isArray(requestMessage.params)) {\n if (type !== undefined && type.parameterStructures === messages_1.ParameterStructures.byName) {\n replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams, `Request ${requestMessage.method} defines parameters by name but received parameters by position`), requestMessage.method, startTime);\n return;\n }\n handlerResult = requestHandler(...requestMessage.params, cancellationSource.token);\n }\n else {\n if (type !== undefined && type.parameterStructures === messages_1.ParameterStructures.byPosition) {\n replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams, `Request ${requestMessage.method} defines parameters by position but received parameters by name`), requestMessage.method, startTime);\n return;\n }\n handlerResult = requestHandler(requestMessage.params, cancellationSource.token);\n }\n }\n else if (starRequestHandler) {\n handlerResult = starRequestHandler(requestMessage.method, requestMessage.params, cancellationSource.token);\n }\n const promise = handlerResult;\n if (!handlerResult) {\n requestTokens.delete(tokenKey);\n replySuccess(handlerResult, requestMessage.method, startTime);\n }\n else if (promise.then) {\n promise.then((resultOrError) => {\n requestTokens.delete(tokenKey);\n reply(resultOrError, requestMessage.method, startTime);\n }, error => {\n requestTokens.delete(tokenKey);\n if (error instanceof messages_1.ResponseError) {\n replyError(error, requestMessage.method, startTime);\n }\n else if (error && Is.string(error.message)) {\n replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError, `Request ${requestMessage.method} failed with message: ${error.message}`), requestMessage.method, startTime);\n }\n else {\n replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError, `Request ${requestMessage.method} failed unexpectedly without providing any details.`), requestMessage.method, startTime);\n }\n });\n }\n else {\n requestTokens.delete(tokenKey);\n reply(handlerResult, requestMessage.method, startTime);\n }\n }\n catch (error) {\n requestTokens.delete(tokenKey);\n if (error instanceof messages_1.ResponseError) {\n reply(error, requestMessage.method, startTime);\n }\n else if (error && Is.string(error.message)) {\n replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError, `Request ${requestMessage.method} failed with message: ${error.message}`), requestMessage.method, startTime);\n }\n else {\n replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError, `Request ${requestMessage.method} failed unexpectedly without providing any details.`), requestMessage.method, startTime);\n }\n }\n }\n else {\n replyError(new messages_1.ResponseError(messages_1.ErrorCodes.MethodNotFound, `Unhandled method ${requestMessage.method}`), requestMessage.method, startTime);\n }\n }\n function handleResponse(responseMessage) {\n if (isDisposed()) {\n // See handle request.\n return;\n }\n if (responseMessage.id === null) {\n if (responseMessage.error) {\n logger.error(`Received response message without id: Error is: \\n${JSON.stringify(responseMessage.error, undefined, 4)}`);\n }\n else {\n logger.error(`Received response message without id. No further error information provided.`);\n }\n }\n else {\n const key = responseMessage.id;\n const responsePromise = responsePromises.get(key);\n traceReceivedResponse(responseMessage, responsePromise);\n if (responsePromise !== undefined) {\n responsePromises.delete(key);\n try {\n if (responseMessage.error) {\n const error = responseMessage.error;\n responsePromise.reject(new messages_1.ResponseError(error.code, error.message, error.data));\n }\n else if (responseMessage.result !== undefined) {\n responsePromise.resolve(responseMessage.result);\n }\n else {\n throw new Error('Should never happen.');\n }\n }\n catch (error) {\n if (error.message) {\n logger.error(`Response handler '${responsePromise.method}' failed with message: ${error.message}`);\n }\n else {\n logger.error(`Response handler '${responsePromise.method}' failed unexpectedly.`);\n }\n }\n }\n }\n }\n function handleNotification(message) {\n if (isDisposed()) {\n // See handle request.\n return;\n }\n let type = undefined;\n let notificationHandler;\n if (message.method === CancelNotification.type.method) {\n const cancelId = message.params.id;\n knownCanceledRequests.delete(cancelId);\n traceReceivedNotification(message);\n return;\n }\n else {\n const element = notificationHandlers.get(message.method);\n if (element) {\n notificationHandler = element.handler;\n type = element.type;\n }\n }\n if (notificationHandler || starNotificationHandler) {\n try {\n traceReceivedNotification(message);\n if (notificationHandler) {\n if (message.params === undefined) {\n if (type !== undefined) {\n if (type.numberOfParams !== 0 && type.parameterStructures !== messages_1.ParameterStructures.byName) {\n logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received none.`);\n }\n }\n notificationHandler();\n }\n else if (Array.isArray(message.params)) {\n // There are JSON-RPC libraries that send progress message as positional params although\n // specified as named. So convert them if this is the case.\n const params = message.params;\n if (message.method === ProgressNotification.type.method && params.length === 2 && ProgressToken.is(params[0])) {\n notificationHandler({ token: params[0], value: params[1] });\n }\n else {\n if (type !== undefined) {\n if (type.parameterStructures === messages_1.ParameterStructures.byName) {\n logger.error(`Notification ${message.method} defines parameters by name but received parameters by position`);\n }\n if (type.numberOfParams !== message.params.length) {\n logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received ${params.length} arguments`);\n }\n }\n notificationHandler(...params);\n }\n }\n else {\n if (type !== undefined && type.parameterStructures === messages_1.ParameterStructures.byPosition) {\n logger.error(`Notification ${message.method} defines parameters by position but received parameters by name`);\n }\n notificationHandler(message.params);\n }\n }\n else if (starNotificationHandler) {\n starNotificationHandler(message.method, message.params);\n }\n }\n catch (error) {\n if (error.message) {\n logger.error(`Notification handler '${message.method}' failed with message: ${error.message}`);\n }\n else {\n logger.error(`Notification handler '${message.method}' failed unexpectedly.`);\n }\n }\n }\n else {\n unhandledNotificationEmitter.fire(message);\n }\n }\n function handleInvalidMessage(message) {\n if (!message) {\n logger.error('Received empty message.');\n return;\n }\n logger.error(`Received message which is neither a response nor a notification message:\\n${JSON.stringify(message, null, 4)}`);\n // Test whether we find an id to reject the promise\n const responseMessage = message;\n if (Is.string(responseMessage.id) || Is.number(responseMessage.id)) {\n const key = responseMessage.id;\n const responseHandler = responsePromises.get(key);\n if (responseHandler) {\n responseHandler.reject(new Error('The received response has neither a result nor an error property.'));\n }\n }\n }\n function stringifyTrace(params) {\n if (params === undefined || params === null) {\n return undefined;\n }\n switch (trace) {\n case Trace.Verbose:\n return JSON.stringify(params, null, 4);\n case Trace.Compact:\n return JSON.stringify(params);\n default:\n return undefined;\n }\n }\n function traceSendingRequest(message) {\n if (trace === Trace.Off || !tracer) {\n return;\n }\n if (traceFormat === TraceFormat.Text) {\n let data = undefined;\n if ((trace === Trace.Verbose || trace === Trace.Compact) && message.params) {\n data = `Params: ${stringifyTrace(message.params)}\\n\\n`;\n }\n tracer.log(`Sending request '${message.method} - (${message.id})'.`, data);\n }\n else {\n logLSPMessage('send-request', message);\n }\n }\n function traceSendingNotification(message) {\n if (trace === Trace.Off || !tracer) {\n return;\n }\n if (traceFormat === TraceFormat.Text) {\n let data = undefined;\n if (trace === Trace.Verbose || trace === Trace.Compact) {\n if (message.params) {\n data = `Params: ${stringifyTrace(message.params)}\\n\\n`;\n }\n else {\n data = 'No parameters provided.\\n\\n';\n }\n }\n tracer.log(`Sending notification '${message.method}'.`, data);\n }\n else {\n logLSPMessage('send-notification', message);\n }\n }\n function traceSendingResponse(message, method, startTime) {\n if (trace === Trace.Off || !tracer) {\n return;\n }\n if (traceFormat === TraceFormat.Text) {\n let data = undefined;\n if (trace === Trace.Verbose || trace === Trace.Compact) {\n if (message.error && message.error.data) {\n data = `Error data: ${stringifyTrace(message.error.data)}\\n\\n`;\n }\n else {\n if (message.result) {\n data = `Result: ${stringifyTrace(message.result)}\\n\\n`;\n }\n else if (message.error === undefined) {\n data = 'No result returned.\\n\\n';\n }\n }\n }\n tracer.log(`Sending response '${method} - (${message.id})'. Processing request took ${Date.now() - startTime}ms`, data);\n }\n else {\n logLSPMessage('send-response', message);\n }\n }\n function traceReceivedRequest(message) {\n if (trace === Trace.Off || !tracer) {\n return;\n }\n if (traceFormat === TraceFormat.Text) {\n let data = undefined;\n if ((trace === Trace.Verbose || trace === Trace.Compact) && message.params) {\n data = `Params: ${stringifyTrace(message.params)}\\n\\n`;\n }\n tracer.log(`Received request '${message.method} - (${message.id})'.`, data);\n }\n else {\n logLSPMessage('receive-request', message);\n }\n }\n function traceReceivedNotification(message) {\n if (trace === Trace.Off || !tracer || message.method === LogTraceNotification.type.method) {\n return;\n }\n if (traceFormat === TraceFormat.Text) {\n let data = undefined;\n if (trace === Trace.Verbose || trace === Trace.Compact) {\n if (message.params) {\n data = `Params: ${stringifyTrace(message.params)}\\n\\n`;\n }\n else {\n data = 'No parameters provided.\\n\\n';\n }\n }\n tracer.log(`Received notification '${message.method}'.`, data);\n }\n else {\n logLSPMessage('receive-notification', message);\n }\n }\n function traceReceivedResponse(message, responsePromise) {\n if (trace === Trace.Off || !tracer) {\n return;\n }\n if (traceFormat === TraceFormat.Text) {\n let data = undefined;\n if (trace === Trace.Verbose || trace === Trace.Compact) {\n if (message.error && message.error.data) {\n data = `Error data: ${stringifyTrace(message.error.data)}\\n\\n`;\n }\n else {\n if (message.result) {\n data = `Result: ${stringifyTrace(message.result)}\\n\\n`;\n }\n else if (message.error === undefined) {\n data = 'No result returned.\\n\\n';\n }\n }\n }\n if (responsePromise) {\n const error = message.error ? ` Request failed: ${message.error.message} (${message.error.code}).` : '';\n tracer.log(`Received response '${responsePromise.method} - (${message.id})' in ${Date.now() - responsePromise.timerStart}ms.${error}`, data);\n }\n else {\n tracer.log(`Received response ${message.id} without active response promise.`, data);\n }\n }\n else {\n logLSPMessage('receive-response', message);\n }\n }\n function logLSPMessage(type, message) {\n if (!tracer || trace === Trace.Off) {\n return;\n }\n const lspMessage = {\n isLSPMessage: true,\n type,\n message,\n timestamp: Date.now()\n };\n tracer.log(lspMessage);\n }\n function throwIfClosedOrDisposed() {\n if (isClosed()) {\n throw new ConnectionError(ConnectionErrors.Closed, 'Connection is closed.');\n }\n if (isDisposed()) {\n throw new ConnectionError(ConnectionErrors.Disposed, 'Connection is disposed.');\n }\n }\n function throwIfListening() {\n if (isListening()) {\n throw new ConnectionError(ConnectionErrors.AlreadyListening, 'Connection is already listening');\n }\n }\n function throwIfNotListening() {\n if (!isListening()) {\n throw new Error('Call listen() first.');\n }\n }\n function undefinedToNull(param) {\n if (param === undefined) {\n return null;\n }\n else {\n return param;\n }\n }\n function nullToUndefined(param) {\n if (param === null) {\n return undefined;\n }\n else {\n return param;\n }\n }\n function isNamedParam(param) {\n return param !== undefined && param !== null && !Array.isArray(param) && typeof param === 'object';\n }\n function computeSingleParam(parameterStructures, param) {\n switch (parameterStructures) {\n case messages_1.ParameterStructures.auto:\n if (isNamedParam(param)) {\n return nullToUndefined(param);\n }\n else {\n return [undefinedToNull(param)];\n }\n case messages_1.ParameterStructures.byName:\n if (!isNamedParam(param)) {\n throw new Error(`Received parameters by name but param is not an object literal.`);\n }\n return nullToUndefined(param);\n case messages_1.ParameterStructures.byPosition:\n return [undefinedToNull(param)];\n default:\n throw new Error(`Unknown parameter structure ${parameterStructures.toString()}`);\n }\n }\n function computeMessageParams(type, params) {\n let result;\n const numberOfParams = type.numberOfParams;\n switch (numberOfParams) {\n case 0:\n result = undefined;\n break;\n case 1:\n result = computeSingleParam(type.parameterStructures, params[0]);\n break;\n default:\n result = [];\n for (let i = 0; i < params.length && i < numberOfParams; i++) {\n result.push(undefinedToNull(params[i]));\n }\n if (params.length < numberOfParams) {\n for (let i = params.length; i < numberOfParams; i++) {\n result.push(null);\n }\n }\n break;\n }\n return result;\n }\n const connection = {\n sendNotification: (type, ...args) => {\n throwIfClosedOrDisposed();\n let method;\n let messageParams;\n if (Is.string(type)) {\n method = type;\n const first = args[0];\n let paramStart = 0;\n let parameterStructures = messages_1.ParameterStructures.auto;\n if (messages_1.ParameterStructures.is(first)) {\n paramStart = 1;\n parameterStructures = first;\n }\n let paramEnd = args.length;\n const numberOfParams = paramEnd - paramStart;\n switch (numberOfParams) {\n case 0:\n messageParams = undefined;\n break;\n case 1:\n messageParams = computeSingleParam(parameterStructures, args[paramStart]);\n break;\n default:\n if (parameterStructures === messages_1.ParameterStructures.byName) {\n throw new Error(`Received ${numberOfParams} parameters for 'by Name' notification parameter structure.`);\n }\n messageParams = args.slice(paramStart, paramEnd).map(value => undefinedToNull(value));\n break;\n }\n }\n else {\n const params = args;\n method = type.method;\n messageParams = computeMessageParams(type, params);\n }\n const notificationMessage = {\n jsonrpc: version,\n method: method,\n params: messageParams\n };\n traceSendingNotification(notificationMessage);\n return messageWriter.write(notificationMessage).catch((error) => {\n logger.error(`Sending notification failed.`);\n throw error;\n });\n },\n onNotification: (type, handler) => {\n throwIfClosedOrDisposed();\n let method;\n if (Is.func(type)) {\n starNotificationHandler = type;\n }\n else if (handler) {\n if (Is.string(type)) {\n method = type;\n notificationHandlers.set(type, { type: undefined, handler });\n }\n else {\n method = type.method;\n notificationHandlers.set(type.method, { type, handler });\n }\n }\n return {\n dispose: () => {\n if (method !== undefined) {\n notificationHandlers.delete(method);\n }\n else {\n starNotificationHandler = undefined;\n }\n }\n };\n },\n onProgress: (_type, token, handler) => {\n if (progressHandlers.has(token)) {\n throw new Error(`Progress handler for token ${token} already registered`);\n }\n progressHandlers.set(token, handler);\n return {\n dispose: () => {\n progressHandlers.delete(token);\n }\n };\n },\n sendProgress: (_type, token, value) => {\n // This should not await but simple return to ensure that we don't have another\n // async scheduling. Otherwise one send could overtake another send.\n return connection.sendNotification(ProgressNotification.type, { token, value });\n },\n onUnhandledProgress: unhandledProgressEmitter.event,\n sendRequest: (type, ...args) => {\n throwIfClosedOrDisposed();\n throwIfNotListening();\n let method;\n let messageParams;\n let token = undefined;\n if (Is.string(type)) {\n method = type;\n const first = args[0];\n const last = args[args.length - 1];\n let paramStart = 0;\n let parameterStructures = messages_1.ParameterStructures.auto;\n if (messages_1.ParameterStructures.is(first)) {\n paramStart = 1;\n parameterStructures = first;\n }\n let paramEnd = args.length;\n if (cancellation_1.CancellationToken.is(last)) {\n paramEnd = paramEnd - 1;\n token = last;\n }\n const numberOfParams = paramEnd - paramStart;\n switch (numberOfParams) {\n case 0:\n messageParams = undefined;\n break;\n case 1:\n messageParams = computeSingleParam(parameterStructures, args[paramStart]);\n break;\n default:\n if (parameterStructures === messages_1.ParameterStructures.byName) {\n throw new Error(`Received ${numberOfParams} parameters for 'by Name' request parameter structure.`);\n }\n messageParams = args.slice(paramStart, paramEnd).map(value => undefinedToNull(value));\n break;\n }\n }\n else {\n const params = args;\n method = type.method;\n messageParams = computeMessageParams(type, params);\n const numberOfParams = type.numberOfParams;\n token = cancellation_1.CancellationToken.is(params[numberOfParams]) ? params[numberOfParams] : undefined;\n }\n const id = sequenceNumber++;\n let disposable;\n if (token) {\n disposable = token.onCancellationRequested(() => {\n const p = cancellationStrategy.sender.sendCancellation(connection, id);\n if (p === undefined) {\n logger.log(`Received no promise from cancellation strategy when cancelling id ${id}`);\n return Promise.resolve();\n }\n else {\n return p.catch(() => {\n logger.log(`Sending cancellation messages for id ${id} failed`);\n });\n }\n });\n }\n const requestMessage = {\n jsonrpc: version,\n id: id,\n method: method,\n params: messageParams\n };\n traceSendingRequest(requestMessage);\n if (typeof cancellationStrategy.sender.enableCancellation === 'function') {\n cancellationStrategy.sender.enableCancellation(requestMessage);\n }\n return new Promise(async (resolve, reject) => {\n const resolveWithCleanup = (r) => {\n resolve(r);\n cancellationStrategy.sender.cleanup(id);\n disposable?.dispose();\n };\n const rejectWithCleanup = (r) => {\n reject(r);\n cancellationStrategy.sender.cleanup(id);\n disposable?.dispose();\n };\n const responsePromise = { method: method, timerStart: Date.now(), resolve: resolveWithCleanup, reject: rejectWithCleanup };\n try {\n await messageWriter.write(requestMessage);\n responsePromises.set(id, responsePromise);\n }\n catch (error) {\n logger.error(`Sending request failed.`);\n // Writing the message failed. So we need to reject the promise.\n responsePromise.reject(new messages_1.ResponseError(messages_1.ErrorCodes.MessageWriteError, error.message ? error.message : 'Unknown reason'));\n throw error;\n }\n });\n },\n onRequest: (type, handler) => {\n throwIfClosedOrDisposed();\n let method = null;\n if (StarRequestHandler.is(type)) {\n method = undefined;\n starRequestHandler = type;\n }\n else if (Is.string(type)) {\n method = null;\n if (handler !== undefined) {\n method = type;\n requestHandlers.set(type, { handler: handler, type: undefined });\n }\n }\n else {\n if (handler !== undefined) {\n method = type.method;\n requestHandlers.set(type.method, { type, handler });\n }\n }\n return {\n dispose: () => {\n if (method === null) {\n return;\n }\n if (method !== undefined) {\n requestHandlers.delete(method);\n }\n else {\n starRequestHandler = undefined;\n }\n }\n };\n },\n hasPendingResponse: () => {\n return responsePromises.size > 0;\n },\n trace: async (_value, _tracer, sendNotificationOrTraceOptions) => {\n let _sendNotification = false;\n let _traceFormat = TraceFormat.Text;\n if (sendNotificationOrTraceOptions !== undefined) {\n if (Is.boolean(sendNotificationOrTraceOptions)) {\n _sendNotification = sendNotificationOrTraceOptions;\n }\n else {\n _sendNotification = sendNotificationOrTraceOptions.sendNotification || false;\n _traceFormat = sendNotificationOrTraceOptions.traceFormat || TraceFormat.Text;\n }\n }\n trace = _value;\n traceFormat = _traceFormat;\n if (trace === Trace.Off) {\n tracer = undefined;\n }\n else {\n tracer = _tracer;\n }\n if (_sendNotification && !isClosed() && !isDisposed()) {\n await connection.sendNotification(SetTraceNotification.type, { value: Trace.toString(_value) });\n }\n },\n onError: errorEmitter.event,\n onClose: closeEmitter.event,\n onUnhandledNotification: unhandledNotificationEmitter.event,\n onDispose: disposeEmitter.event,\n end: () => {\n messageWriter.end();\n },\n dispose: () => {\n if (isDisposed()) {\n return;\n }\n state = ConnectionState.Disposed;\n disposeEmitter.fire(undefined);\n const error = new messages_1.ResponseError(messages_1.ErrorCodes.PendingResponseRejected, 'Pending response rejected since connection got disposed');\n for (const promise of responsePromises.values()) {\n promise.reject(error);\n }\n responsePromises = new Map();\n requestTokens = new Map();\n knownCanceledRequests = new Set();\n messageQueue = new linkedMap_1.LinkedMap();\n // Test for backwards compatibility\n if (Is.func(messageWriter.dispose)) {\n messageWriter.dispose();\n }\n if (Is.func(messageReader.dispose)) {\n messageReader.dispose();\n }\n },\n listen: () => {\n throwIfClosedOrDisposed();\n throwIfListening();\n state = ConnectionState.Listening;\n messageReader.listen(callback);\n },\n inspect: () => {\n // eslint-disable-next-line no-console\n (0, ral_1.default)().console.log('inspect');\n }\n };\n connection.onNotification(LogTraceNotification.type, (params) => {\n if (trace === Trace.Off || !tracer) {\n return;\n }\n const verbose = trace === Trace.Verbose || trace === Trace.Compact;\n tracer.log(params.message, verbose ? params.verbose : undefined);\n });\n connection.onNotification(ProgressNotification.type, (params) => {\n const handler = progressHandlers.get(params.token);\n if (handler) {\n handler(params.value);\n }\n else {\n unhandledProgressEmitter.fire(params);\n }\n });\n return connection;\n}\nexports.createMessageConnection = createMessageConnection;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n/// <reference path=\"../../typings/thenable.d.ts\" />\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProgressType = exports.ProgressToken = exports.createMessageConnection = exports.NullLogger = exports.ConnectionOptions = exports.ConnectionStrategy = exports.AbstractMessageBuffer = exports.WriteableStreamMessageWriter = exports.AbstractMessageWriter = exports.MessageWriter = exports.ReadableStreamMessageReader = exports.AbstractMessageReader = exports.MessageReader = exports.SharedArrayReceiverStrategy = exports.SharedArraySenderStrategy = exports.CancellationToken = exports.CancellationTokenSource = exports.Emitter = exports.Event = exports.Disposable = exports.LRUCache = exports.Touch = exports.LinkedMap = exports.ParameterStructures = exports.NotificationType9 = exports.NotificationType8 = exports.NotificationType7 = exports.NotificationType6 = exports.NotificationType5 = exports.NotificationType4 = exports.NotificationType3 = exports.NotificationType2 = exports.NotificationType1 = exports.NotificationType0 = exports.NotificationType = exports.ErrorCodes = exports.ResponseError = exports.RequestType9 = exports.RequestType8 = exports.RequestType7 = exports.RequestType6 = exports.RequestType5 = exports.RequestType4 = exports.RequestType3 = exports.RequestType2 = exports.RequestType1 = exports.RequestType0 = exports.RequestType = exports.Message = exports.RAL = void 0;\nexports.MessageStrategy = exports.CancellationStrategy = exports.CancellationSenderStrategy = exports.CancellationReceiverStrategy = exports.ConnectionError = exports.ConnectionErrors = exports.LogTraceNotification = exports.SetTraceNotification = exports.TraceFormat = exports.TraceValues = exports.Trace = void 0;\nconst messages_1 = require(\"./messages\");\nObject.defineProperty(exports, \"Message\", { enumerable: true, get: function () { return messages_1.Message; } });\nObject.defineProperty(exports, \"RequestType\", { enumerable: true, get: function () { return messages_1.RequestType; } });\nObject.defineProperty(exports, \"RequestType0\", { enumerable: true, get: function () { return messages_1.RequestType0; } });\nObject.defineProperty(exports, \"RequestType1\", { enumerable: true, get: function () { return messages_1.RequestType1; } });\nObject.defineProperty(exports, \"RequestType2\", { enumerable: true, get: function () { return messages_1.RequestType2; } });\nObject.defineProperty(exports, \"RequestType3\", { enumerable: true, get: function () { return messages_1.RequestType3; } });\nObject.defineProperty(exports, \"RequestType4\", { enumerable: true, get: function () { return messages_1.RequestType4; } });\nObject.defineProperty(exports, \"RequestType5\", { enumerable: true, get: function () { return messages_1.RequestType5; } });\nObject.defineProperty(exports, \"RequestType6\", { enumerable: true, get: function () { return messages_1.RequestType6; } });\nObject.defineProperty(exports, \"RequestType7\", { enumerable: true, get: function () { return messages_1.RequestType7; } });\nObject.defineProperty(exports, \"RequestType8\", { enumerable: true, get: function () { return messages_1.RequestType8; } });\nObject.defineProperty(exports, \"RequestType9\", { enumerable: true, get: function () { return messages_1.RequestType9; } });\nObject.defineProperty(exports, \"ResponseError\", { enumerable: true, get: function () { return messages_1.ResponseError; } });\nObject.defineProperty(exports, \"ErrorCodes\", { enumerable: true, get: function () { return messages_1.ErrorCodes; } });\nObject.defineProperty(exports, \"NotificationType\", { enumerable: true, get: function () { return messages_1.NotificationType; } });\nObject.defineProperty(exports, \"NotificationType0\", { enumerable: true, get: function () { return messages_1.NotificationType0; } });\nObject.defineProperty(exports, \"NotificationType1\", { enumerable: true, get: function () { return messages_1.NotificationType1; } });\nObject.defineProperty(exports, \"NotificationType2\", { enumerable: true, get: function () { return messages_1.NotificationType2; } });\nObject.defineProperty(exports, \"NotificationType3\", { enumerable: true, get: function () { return messages_1.NotificationType3; } });\nObject.defineProperty(exports, \"NotificationType4\", { enumerable: true, get: function () { return messages_1.NotificationType4; } });\nObject.defineProperty(exports, \"NotificationType5\", { enumerable: true, get: function () { return messages_1.NotificationType5; } });\nObject.defineProperty(exports, \"NotificationType6\", { enumerable: true, get: function () { return messages_1.NotificationType6; } });\nObject.defineProperty(exports, \"NotificationType7\", { enumerable: true, get: function () { return messages_1.NotificationType7; } });\nObject.defineProperty(exports, \"NotificationType8\", { enumerable: true, get: function () { return messages_1.NotificationType8; } });\nObject.defineProperty(exports, \"NotificationType9\", { enumerable: true, get: function () { return messages_1.NotificationType9; } });\nObject.defineProperty(exports, \"ParameterStructures\", { enumerable: true, get: function () { return messages_1.ParameterStructures; } });\nconst linkedMap_1 = require(\"./linkedMap\");\nObject.defineProperty(exports, \"LinkedMap\", { enumerable: true, get: function () { return linkedMap_1.LinkedMap; } });\nObject.defineProperty(exports, \"LRUCache\", { enumerable: true, get: function () { return linkedMap_1.LRUCache; } });\nObject.defineProperty(exports, \"Touch\", { enumerable: true, get: function () { return linkedMap_1.Touch; } });\nconst disposable_1 = require(\"./disposable\");\nObject.defineProperty(exports, \"Disposable\", { enumerable: true, get: function () { return disposable_1.Disposable; } });\nconst events_1 = require(\"./events\");\nObject.defineProperty(exports, \"Event\", { enumerable: true, get: function () { return events_1.Event; } });\nObject.defineProperty(exports, \"Emitter\", { enumerable: true, get: function () { return events_1.Emitter; } });\nconst cancellation_1 = require(\"./cancellation\");\nObject.defineProperty(exports, \"CancellationTokenSource\", { enumerable: true, get: function () { return cancellation_1.CancellationTokenSource; } });\nObject.defineProperty(exports, \"CancellationToken\", { enumerable: true, get: function () { return cancellation_1.CancellationToken; } });\nconst sharedArrayCancellation_1 = require(\"./sharedArrayCancellation\");\nObject.defineProperty(exports, \"SharedArraySenderStrategy\", { enumerable: true, get: function () { return sharedArrayCancellation_1.SharedArraySenderStrategy; } });\nObject.defineProperty(exports, \"SharedArrayReceiverStrategy\", { enumerable: true, get: function () { return sharedArrayCancellation_1.SharedArrayReceiverStrategy; } });\nconst messageReader_1 = require(\"./messageReader\");\nObject.defineProperty(exports, \"MessageReader\", { enumerable: true, get: function () { return messageReader_1.MessageReader; } });\nObject.defineProperty(exports, \"AbstractMessageReader\", { enumerable: true, get: function () { return messageReader_1.AbstractMessageReader; } });\nObject.defineProperty(exports, \"ReadableStreamMessageReader\", { enumerable: true, get: function () { return messageReader_1.ReadableStreamMessageReader; } });\nconst messageWriter_1 = require(\"./messageWriter\");\nObject.defineProperty(exports, \"MessageWriter\", { enumerable: true, get: function () { return messageWriter_1.MessageWriter; } });\nObject.defineProperty(exports, \"AbstractMessageWriter\", { enumerable: true, get: function () { return messageWriter_1.AbstractMessageWriter; } });\nObject.defineProperty(exports, \"WriteableStreamMessageWriter\", { enumerable: true, get: function () { return messageWriter_1.WriteableStreamMessageWriter; } });\nconst messageBuffer_1 = require(\"./messageBuffer\");\nObject.defineProperty(exports, \"AbstractMessageBuffer\", { enumerable: true, get: function () { return messageBuffer_1.AbstractMessageBuffer; } });\nconst connection_1 = require(\"./connection\");\nObject.defineProperty(exports, \"ConnectionStrategy\", { enumerable: true, get: function () { return connection_1.ConnectionStrategy; } });\nObject.defineProperty(exports, \"ConnectionOptions\", { enumerable: true, get: function () { return connection_1.ConnectionOptions; } });\nObject.defineProperty(exports, \"NullLogger\", { enumerable: true, get: function () { return connection_1.NullLogger; } });\nObject.defineProperty(exports, \"createMessageConnection\", { enumerable: true, get: function () { return connection_1.createMessageConnection; } });\nObject.defineProperty(exports, \"ProgressToken\", { enumerable: true, get: function () { return connection_1.ProgressToken; } });\nObject.defineProperty(exports, \"ProgressType\", { enumerable: true, get: function () { return connection_1.ProgressType; } });\nObject.defineProperty(exports, \"Trace\", { enumerable: true, get: function () { return connection_1.Trace; } });\nObject.defineProperty(exports, \"TraceValues\", { enumerable: true, get: function () { return connection_1.TraceValues; } });\nObject.defineProperty(exports, \"TraceFormat\", { enumerable: true, get: function () { return connection_1.TraceFormat; } });\nObject.defineProperty(exports, \"SetTraceNotification\", { enumerable: true, get: function () { return connection_1.SetTraceNotification; } });\nObject.defineProperty(exports, \"LogTraceNotification\", { enumerable: true, get: function () { return connection_1.LogTraceNotification; } });\nObject.defineProperty(exports, \"ConnectionErrors\", { enumerable: true, get: function () { return connection_1.ConnectionErrors; } });\nObject.defineProperty(exports, \"ConnectionError\", { enumerable: true, get: function () { return connection_1.ConnectionError; } });\nObject.defineProperty(exports, \"CancellationReceiverStrategy\", { enumerable: true, get: function () { return connection_1.CancellationReceiverStrategy; } });\nObject.defineProperty(exports, \"CancellationSenderStrategy\", { enumerable: true, get: function () { return connection_1.CancellationSenderStrategy; } });\nObject.defineProperty(exports, \"CancellationStrategy\", { enumerable: true, get: function () { return connection_1.CancellationStrategy; } });\nObject.defineProperty(exports, \"MessageStrategy\", { enumerable: true, get: function () { return connection_1.MessageStrategy; } });\nconst ral_1 = require(\"./ral\");\nexports.RAL = ral_1.default;\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Disposable = void 0;\nvar Disposable;\n(function (Disposable) {\n function create(func) {\n return {\n dispose: func\n };\n }\n Disposable.create = create;\n})(Disposable = exports.Disposable || (exports.Disposable = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedArrayReceiverStrategy = exports.SharedArraySenderStrategy = void 0;\nconst cancellation_1 = require(\"./cancellation\");\nvar CancellationState;\n(function (CancellationState) {\n CancellationState.Continue = 0;\n CancellationState.Cancelled = 1;\n})(CancellationState || (CancellationState = {}));\nclass SharedArraySenderStrategy {\n constructor() {\n this.buffers = new Map();\n }\n enableCancellation(request) {\n if (request.id === null) {\n return;\n }\n const buffer = new SharedArrayBuffer(4);\n const data = new Int32Array(buffer, 0, 1);\n data[0] = CancellationState.Continue;\n this.buffers.set(request.id, buffer);\n request.$cancellationData = buffer;\n }\n async sendCancellation(_conn, id) {\n const buffer = this.buffers.get(id);\n if (buffer === undefined) {\n return;\n }\n const data = new Int32Array(buffer, 0, 1);\n Atomics.store(data, 0, CancellationState.Cancelled);\n }\n cleanup(id) {\n this.buffers.delete(id);\n }\n dispose() {\n this.buffers.clear();\n }\n}\nexports.SharedArraySenderStrategy = SharedArraySenderStrategy;\nclass SharedArrayBufferCancellationToken {\n constructor(buffer) {\n this.data = new Int32Array(buffer, 0, 1);\n }\n get isCancellationRequested() {\n return Atomics.load(this.data, 0) === CancellationState.Cancelled;\n }\n get onCancellationRequested() {\n throw new Error(`Cancellation over SharedArrayBuffer doesn't support cancellation events`);\n }\n}\nclass SharedArrayBufferCancellationTokenSource {\n constructor(buffer) {\n this.token = new SharedArrayBufferCancellationToken(buffer);\n }\n cancel() {\n }\n dispose() {\n }\n}\nclass SharedArrayReceiverStrategy {\n constructor() {\n this.kind = 'request';\n }\n createCancellationTokenSource(request) {\n const buffer = request.$cancellationData;\n if (buffer === undefined) {\n return new cancellation_1.CancellationTokenSource();\n }\n return new SharedArrayBufferCancellationTokenSource(buffer);\n }\n}\nexports.SharedArrayReceiverStrategy = SharedArrayReceiverStrategy;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReadableStreamMessageReader = exports.AbstractMessageReader = exports.MessageReader = void 0;\nconst ral_1 = require(\"./ral\");\nconst Is = require(\"./is\");\nconst events_1 = require(\"./events\");\nconst semaphore_1 = require(\"./semaphore\");\nvar MessageReader;\n(function (MessageReader) {\n function is(value) {\n let candidate = value;\n return candidate && Is.func(candidate.listen) && Is.func(candidate.dispose) &&\n Is.func(candidate.onError) && Is.func(candidate.onClose) && Is.func(candidate.onPartialMessage);\n }\n MessageReader.is = is;\n})(MessageReader = exports.MessageReader || (exports.MessageReader = {}));\nclass AbstractMessageReader {\n constructor() {\n this.errorEmitter = new events_1.Emitter();\n this.closeEmitter = new events_1.Emitter();\n this.partialMessageEmitter = new events_1.Emitter();\n }\n dispose() {\n this.errorEmitter.dispose();\n this.closeEmitter.dispose();\n }\n get onError() {\n return this.errorEmitter.event;\n }\n fireError(error) {\n this.errorEmitter.fire(this.asError(error));\n }\n get onClose() {\n return this.closeEmitter.event;\n }\n fireClose() {\n this.closeEmitter.fire(undefined);\n }\n get onPartialMessage() {\n return this.partialMessageEmitter.event;\n }\n firePartialMessage(info) {\n this.partialMessageEmitter.fire(info);\n }\n asError(error) {\n if (error instanceof Error) {\n return error;\n }\n else {\n return new Error(`Reader received error. Reason: ${Is.string(error.message) ? error.message : 'unknown'}`);\n }\n }\n}\nexports.AbstractMessageReader = AbstractMessageReader;\nvar ResolvedMessageReaderOptions;\n(function (ResolvedMessageReaderOptions) {\n function fromOptions(options) {\n let charset;\n let result;\n let contentDecoder;\n const contentDecoders = new Map();\n let contentTypeDecoder;\n const contentTypeDecoders = new Map();\n if (options === undefined || typeof options === 'string') {\n charset = options ?? 'utf-8';\n }\n else {\n charset = options.charset ?? 'utf-8';\n if (options.contentDecoder !== undefined) {\n contentDecoder = options.contentDecoder;\n contentDecoders.set(contentDecoder.name, contentDecoder);\n }\n if (options.contentDecoders !== undefined) {\n for (const decoder of options.contentDecoders) {\n contentDecoders.set(decoder.name, decoder);\n }\n }\n if (options.contentTypeDecoder !== undefined) {\n contentTypeDecoder = options.contentTypeDecoder;\n contentTypeDecoders.set(contentTypeDecoder.name, contentTypeDecoder);\n }\n if (options.contentTypeDecoders !== undefined) {\n for (const decoder of options.contentTypeDecoders) {\n contentTypeDecoders.set(decoder.name, decoder);\n }\n }\n }\n if (contentTypeDecoder === undefined) {\n contentTypeDecoder = (0, ral_1.default)().applicationJson.decoder;\n contentTypeDecoders.set(contentTypeDecoder.name, contentTypeDecoder);\n }\n return { charset, contentDecoder, contentDecoders, contentTypeDecoder, contentTypeDecoders };\n }\n ResolvedMessageReaderOptions.fromOptions = fromOptions;\n})(ResolvedMessageReaderOptions || (ResolvedMessageReaderOptions = {}));\nclass ReadableStreamMessageReader extends AbstractMessageReader {\n constructor(readable, options) {\n super();\n this.readable = readable;\n this.options = ResolvedMessageReaderOptions.fromOptions(options);\n this.buffer = (0, ral_1.default)().messageBuffer.create(this.options.charset);\n this._partialMessageTimeout = 10000;\n this.nextMessageLength = -1;\n this.messageToken = 0;\n this.readSemaphore = new semaphore_1.Semaphore(1);\n }\n set partialMessageTimeout(timeout) {\n this._partialMessageTimeout = timeout;\n }\n get partialMessageTimeout() {\n return this._partialMessageTimeout;\n }\n listen(callback) {\n this.nextMessageLength = -1;\n this.messageToken = 0;\n this.partialMessageTimer = undefined;\n this.callback = callback;\n const result = this.readable.onData((data) => {\n this.onData(data);\n });\n this.readable.onError((error) => this.fireError(error));\n this.readable.onClose(() => this.fireClose());\n return result;\n }\n onData(data) {\n this.buffer.append(data);\n while (true) {\n if (this.nextMessageLength === -1) {\n const headers = this.buffer.tryReadHeaders(true);\n if (!headers) {\n return;\n }\n const contentLength = headers.get('content-length');\n if (!contentLength) {\n this.fireError(new Error('Header must provide a Content-Length property.'));\n return;\n }\n const length = parseInt(contentLength);\n if (isNaN(length)) {\n this.fireError(new Error('Content-Length value must be a number.'));\n return;\n }\n this.nextMessageLength = length;\n }\n const body = this.buffer.tryReadBody(this.nextMessageLength);\n if (body === undefined) {\n /** We haven't received the full message yet. */\n this.setPartialMessageTimer();\n return;\n }\n this.clearPartialMessageTimer();\n this.nextMessageLength = -1;\n // Make sure that we convert one received message after the\n // other. Otherwise it could happen that a decoding of a second\n // smaller message finished before the decoding of a first larger\n // message and then we would deliver the second message first.\n this.readSemaphore.lock(async () => {\n const bytes = this.options.contentDecoder !== undefined\n ? await this.options.contentDecoder.decode(body)\n : body;\n const message = await this.options.contentTypeDecoder.decode(bytes, this.options);\n this.callback(message);\n }).catch((error) => {\n this.fireError(error);\n });\n }\n }\n clearPartialMessageTimer() {\n if (this.partialMessageTimer) {\n this.partialMessageTimer.dispose();\n this.partialMessageTimer = undefined;\n }\n }\n setPartialMessageTimer() {\n this.clearPartialMessageTimer();\n if (this._partialMessageTimeout <= 0) {\n return;\n }\n this.partialMessageTimer = (0, ral_1.default)().timer.setTimeout((token, timeout) => {\n this.partialMessageTimer = undefined;\n if (token === this.messageToken) {\n this.firePartialMessage({ messageToken: token, waitingTime: timeout });\n this.setPartialMessageTimer();\n }\n }, this._partialMessageTimeout, this.messageToken, this._partialMessageTimeout);\n }\n}\nexports.ReadableStreamMessageReader = ReadableStreamMessageReader;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WriteableStreamMessageWriter = exports.AbstractMessageWriter = exports.MessageWriter = void 0;\nconst ral_1 = require(\"./ral\");\nconst Is = require(\"./is\");\nconst semaphore_1 = require(\"./semaphore\");\nconst events_1 = require(\"./events\");\nconst ContentLength = 'Content-Length: ';\nconst CRLF = '\\r\\n';\nvar MessageWriter;\n(function (MessageWriter) {\n function is(value) {\n let candidate = value;\n return candidate && Is.func(candidate.dispose) && Is.func(candidate.onClose) &&\n Is.func(candidate.onError) && Is.func(candidate.write);\n }\n MessageWriter.is = is;\n})(MessageWriter = exports.MessageWriter || (exports.MessageWriter = {}));\nclass AbstractMessageWriter {\n constructor() {\n this.errorEmitter = new events_1.Emitter();\n this.closeEmitter = new events_1.Emitter();\n }\n dispose() {\n this.errorEmitter.dispose();\n this.closeEmitter.dispose();\n }\n get onError() {\n return this.errorEmitter.event;\n }\n fireError(error, message, count) {\n this.errorEmitter.fire([this.asError(error), message, count]);\n }\n get onClose() {\n return this.closeEmitter.event;\n }\n fireClose() {\n this.closeEmitter.fire(undefined);\n }\n asError(error) {\n if (error instanceof Error) {\n return error;\n }\n else {\n return new Error(`Writer received error. Reason: ${Is.string(error.message) ? error.message : 'unknown'}`);\n }\n }\n}\nexports.AbstractMessageWriter = AbstractMessageWriter;\nvar ResolvedMessageWriterOptions;\n(function (ResolvedMessageWriterOptions) {\n function fromOptions(options) {\n if (options === undefined || typeof options === 'string') {\n return { charset: options ?? 'utf-8', contentTypeEncoder: (0, ral_1.default)().applicationJson.encoder };\n }\n else {\n return { charset: options.charset ?? 'utf-8', contentEncoder: options.contentEncoder, contentTypeEncoder: options.contentTypeEncoder ?? (0, ral_1.default)().applicationJson.encoder };\n }\n }\n ResolvedMessageWriterOptions.fromOptions = fromOptions;\n})(ResolvedMessageWriterOptions || (ResolvedMessageWriterOptions = {}));\nclass WriteableStreamMessageWriter extends AbstractMessageWriter {\n constructor(writable, options) {\n super();\n this.writable = writable;\n this.options = ResolvedMessageWriterOptions.fromOptions(options);\n this.errorCount = 0;\n this.writeSemaphore = new semaphore_1.Semaphore(1);\n this.writable.onError((error) => this.fireError(error));\n this.writable.onClose(() => this.fireClose());\n }\n async write(msg) {\n return this.writeSemaphore.lock(async () => {\n const payload = this.options.contentTypeEncoder.encode(msg, this.options).then((buffer) => {\n if (this.options.contentEncoder !== undefined) {\n return this.options.contentEncoder.encode(buffer);\n }\n else {\n return buffer;\n }\n });\n return payload.then((buffer) => {\n const headers = [];\n headers.push(ContentLength, buffer.byteLength.toString(), CRLF);\n headers.push(CRLF);\n return this.doWrite(msg, headers, buffer);\n }, (error) => {\n this.fireError(error);\n throw error;\n });\n });\n }\n async doWrite(msg, headers, data) {\n try {\n await this.writable.write(headers.join(''), 'ascii');\n return this.writable.write(data);\n }\n catch (error) {\n this.handleError(error, msg);\n return Promise.reject(error);\n }\n }\n handleError(error, msg) {\n this.errorCount++;\n this.fireError(error, msg, this.errorCount);\n }\n end() {\n this.writable.end();\n }\n}\nexports.WriteableStreamMessageWriter = WriteableStreamMessageWriter;\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AbstractMessageBuffer = void 0;\nconst CR = 13;\nconst LF = 10;\nconst CRLF = '\\r\\n';\nclass AbstractMessageBuffer {\n constructor(encoding = 'utf-8') {\n this._encoding = encoding;\n this._chunks = [];\n this._totalLength = 0;\n }\n get encoding() {\n return this._encoding;\n }\n append(chunk) {\n const toAppend = typeof chunk === 'string' ? this.fromString(chunk, this._encoding) : chunk;\n this._chunks.push(toAppend);\n this._totalLength += toAppend.byteLength;\n }\n tryReadHeaders(lowerCaseKeys = false) {\n if (this._chunks.length === 0) {\n return undefined;\n }\n let state = 0;\n let chunkIndex = 0;\n let offset = 0;\n let chunkBytesRead = 0;\n row: while (chunkIndex < this._chunks.length) {\n const chunk = this._chunks[chunkIndex];\n offset = 0;\n column: while (offset < chunk.length) {\n const value = chunk[offset];\n switch (value) {\n case CR:\n switch (state) {\n case 0:\n state = 1;\n break;\n case 2:\n state = 3;\n break;\n default:\n state = 0;\n }\n break;\n case LF:\n switch (state) {\n case 1:\n state = 2;\n break;\n case 3:\n state = 4;\n offset++;\n break row;\n default:\n state = 0;\n }\n break;\n default:\n state = 0;\n }\n offset++;\n }\n chunkBytesRead += chunk.byteLength;\n chunkIndex++;\n }\n if (state !== 4) {\n return undefined;\n }\n // The buffer contains the two CRLF at the end. So we will\n // have two empty lines after the split at the end as well.\n const buffer = this._read(chunkBytesRead + offset);\n const result = new Map();\n const headers = this.toString(buffer, 'ascii').split(CRLF);\n if (headers.length < 2) {\n return result;\n }\n for (let i = 0; i < headers.length - 2; i++) {\n const header = headers[i];\n const index = header.indexOf(':');\n if (index === -1) {\n throw new Error('Message header must separate key and value using :');\n }\n const key = header.substr(0, index);\n const value = header.substr(index + 1).trim();\n result.set(lowerCaseKeys ? key.toLowerCase() : key, value);\n }\n return result;\n }\n tryReadBody(length) {\n if (this._totalLength < length) {\n return undefined;\n }\n return this._read(length);\n }\n get numberOfBytes() {\n return this._totalLength;\n }\n _read(byteCount) {\n if (byteCount === 0) {\n return this.emptyBuffer();\n }\n if (byteCount > this._totalLength) {\n throw new Error(`Cannot read so many bytes!`);\n }\n if (this._chunks[0].byteLength === byteCount) {\n // super fast path, precisely first chunk must be returned\n const chunk = this._chunks[0];\n this._chunks.shift();\n this._totalLength -= byteCount;\n return this.asNative(chunk);\n }\n if (this._chunks[0].byteLength > byteCount) {\n // fast path, the reading is entirely within the first chunk\n const chunk = this._chunks[0];\n const result = this.asNative(chunk, byteCount);\n this._chunks[0] = chunk.slice(byteCount);\n this._totalLength -= byteCount;\n return result;\n }\n const result = this.allocNative(byteCount);\n let resultOffset = 0;\n let chunkIndex = 0;\n while (byteCount > 0) {\n const chunk = this._chunks[chunkIndex];\n if (chunk.byteLength > byteCount) {\n // this chunk will survive\n const chunkPart = chunk.slice(0, byteCount);\n result.set(chunkPart, resultOffset);\n resultOffset += byteCount;\n this._chunks[chunkIndex] = chunk.slice(byteCount);\n this._totalLength -= byteCount;\n byteCount -= byteCount;\n }\n else {\n // this chunk will be entirely read\n result.set(chunk, resultOffset);\n resultOffset += chunk.byteLength;\n this._chunks.shift();\n this._totalLength -= chunk.byteLength;\n byteCount -= chunk.byteLength;\n }\n }\n return result;\n }\n}\nexports.AbstractMessageBuffer = AbstractMessageBuffer;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"util\");\nconst api_1 = require(\"../common/api\");\nclass MessageBuffer extends api_1.AbstractMessageBuffer {\n constructor(encoding = 'utf-8') {\n super(encoding);\n }\n emptyBuffer() {\n return MessageBuffer.emptyBuffer;\n }\n fromString(value, encoding) {\n return Buffer.from(value, encoding);\n }\n toString(value, encoding) {\n if (value instanceof Buffer) {\n return value.toString(encoding);\n }\n else {\n return new util_1.TextDecoder(encoding).decode(value);\n }\n }\n asNative(buffer, length) {\n if (length === undefined) {\n return buffer instanceof Buffer ? buffer : Buffer.from(buffer);\n }\n else {\n return buffer instanceof Buffer ? buffer.slice(0, length) : Buffer.from(buffer, 0, length);\n }\n }\n allocNative(length) {\n return Buffer.allocUnsafe(length);\n }\n}\nMessageBuffer.emptyBuffer = Buffer.allocUnsafe(0);\nclass ReadableStreamWrapper {\n constructor(stream) {\n this.stream = stream;\n }\n onClose(listener) {\n this.stream.on('close', listener);\n return api_1.Disposable.create(() => this.stream.off('close', listener));\n }\n onError(listener) {\n this.stream.on('error', listener);\n return api_1.Disposable.create(() => this.stream.off('error', listener));\n }\n onEnd(listener) {\n this.stream.on('end', listener);\n return api_1.Disposable.create(() => this.stream.off('end', listener));\n }\n onData(listener) {\n this.stream.on('data', listener);\n return api_1.Disposable.create(() => this.stream.off('data', listener));\n }\n}\nclass WritableStreamWrapper {\n constructor(stream) {\n this.stream = stream;\n }\n onClose(listener) {\n this.stream.on('close', listener);\n return api_1.Disposable.create(() => this.stream.off('close', listener));\n }\n onError(listener) {\n this.stream.on('error', listener);\n return api_1.Disposable.create(() => this.stream.off('error', listener));\n }\n onEnd(listener) {\n this.stream.on('end', listener);\n return api_1.Disposable.create(() => this.stream.off('end', listener));\n }\n write(data, encoding) {\n return new Promise((resolve, reject) => {\n const callback = (error) => {\n if (error === undefined || error === null) {\n resolve();\n }\n else {\n reject(error);\n }\n };\n if (typeof data === 'string') {\n this.stream.write(data, encoding, callback);\n }\n else {\n this.stream.write(data, callback);\n }\n });\n }\n end() {\n this.stream.end();\n }\n}\nconst _ril = Object.freeze({\n messageBuffer: Object.freeze({\n create: (encoding) => new MessageBuffer(encoding)\n }),\n applicationJson: Object.freeze({\n encoder: Object.freeze({\n name: 'application/json',\n encode: (msg, options) => {\n try {\n return Promise.resolve(Buffer.from(JSON.stringify(msg, undefined, 0), options.charset));\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n }),\n decoder: Object.freeze({\n name: 'application/json',\n decode: (buffer, options) => {\n try {\n if (buffer instanceof Buffer) {\n return Promise.resolve(JSON.parse(buffer.toString(options.charset)));\n }\n else {\n return Promise.resolve(JSON.parse(new util_1.TextDecoder(options.charset).decode(buffer)));\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n })\n }),\n stream: Object.freeze({\n asReadableStream: (stream) => new ReadableStreamWrapper(stream),\n asWritableStream: (stream) => new WritableStreamWrapper(stream)\n }),\n console: console,\n timer: Object.freeze({\n setTimeout(callback, ms, ...args) {\n const handle = setTimeout(callback, ms, ...args);\n return { dispose: () => clearTimeout(handle) };\n },\n setImmediate(callback, ...args) {\n const handle = setImmediate(callback, ...args);\n return { dispose: () => clearImmediate(handle) };\n },\n setInterval(callback, ms, ...args) {\n const handle = setInterval(callback, ms, ...args);\n return { dispose: () => clearInterval(handle) };\n }\n })\n});\nfunction RIL() {\n return _ril;\n}\n(function (RIL) {\n function install() {\n api_1.RAL.install(_ril);\n }\n RIL.install = install;\n})(RIL || (RIL = {}));\nexports.default = RIL;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMessageConnection = exports.createServerSocketTransport = exports.createClientSocketTransport = exports.createServerPipeTransport = exports.createClientPipeTransport = exports.generateRandomPipeName = exports.StreamMessageWriter = exports.StreamMessageReader = exports.SocketMessageWriter = exports.SocketMessageReader = exports.PortMessageWriter = exports.PortMessageReader = exports.IPCMessageWriter = exports.IPCMessageReader = void 0;\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ----------------------------------------------------------------------------------------- */\nconst ril_1 = require(\"./ril\");\n// Install the node runtime abstract.\nril_1.default.install();\nconst path = require(\"path\");\nconst os = require(\"os\");\nconst crypto_1 = require(\"crypto\");\nconst net_1 = require(\"net\");\nconst api_1 = require(\"../common/api\");\n__exportStar(require(\"../common/api\"), exports);\nclass IPCMessageReader extends api_1.AbstractMessageReader {\n constructor(process) {\n super();\n this.process = process;\n let eventEmitter = this.process;\n eventEmitter.on('error', (error) => this.fireError(error));\n eventEmitter.on('close', () => this.fireClose());\n }\n listen(callback) {\n this.process.on('message', callback);\n return api_1.Disposable.create(() => this.process.off('message', callback));\n }\n}\nexports.IPCMessageReader = IPCMessageReader;\nclass IPCMessageWriter extends api_1.AbstractMessageWriter {\n constructor(process) {\n super();\n this.process = process;\n this.errorCount = 0;\n const eventEmitter = this.process;\n eventEmitter.on('error', (error) => this.fireError(error));\n eventEmitter.on('close', () => this.fireClose);\n }\n write(msg) {\n try {\n if (typeof this.process.send === 'function') {\n this.process.send(msg, undefined, undefined, (error) => {\n if (error) {\n this.errorCount++;\n this.handleError(error, msg);\n }\n else {\n this.errorCount = 0;\n }\n });\n }\n return Promise.resolve();\n }\n catch (error) {\n this.handleError(error, msg);\n return Promise.reject(error);\n }\n }\n handleError(error, msg) {\n this.errorCount++;\n this.fireError(error, msg, this.errorCount);\n }\n end() {\n }\n}\nexports.IPCMessageWriter = IPCMessageWriter;\nclass PortMessageReader extends api_1.AbstractMessageReader {\n constructor(port) {\n super();\n this.onData = new api_1.Emitter;\n port.on('close', () => this.fireClose);\n port.on('error', (error) => this.fireError(error));\n port.on('message', (message) => {\n this.onData.fire(message);\n });\n }\n listen(callback) {\n return this.onData.event(callback);\n }\n}\nexports.PortMessageReader = PortMessageReader;\nclass PortMessageWriter extends api_1.AbstractMessageWriter {\n constructor(port) {\n super();\n this.port = port;\n this.errorCount = 0;\n port.on('close', () => this.fireClose());\n port.on('error', (error) => this.fireError(error));\n }\n write(msg) {\n try {\n this.port.postMessage(msg);\n return Promise.resolve();\n }\n catch (error) {\n this.handleError(error, msg);\n return Promise.reject(error);\n }\n }\n handleError(error, msg) {\n this.errorCount++;\n this.fireError(error, msg, this.errorCount);\n }\n end() {\n }\n}\nexports.PortMessageWriter = PortMessageWriter;\nclass SocketMessageReader extends api_1.ReadableStreamMessageReader {\n constructor(socket, encoding = 'utf-8') {\n super((0, ril_1.default)().stream.asReadableStream(socket), encoding);\n }\n}\nexports.SocketMessageReader = SocketMessageReader;\nclass SocketMessageWriter extends api_1.WriteableStreamMessageWriter {\n constructor(socket, options) {\n super((0, ril_1.default)().stream.asWritableStream(socket), options);\n this.socket = socket;\n }\n dispose() {\n super.dispose();\n this.socket.destroy();\n }\n}\nexports.SocketMessageWriter = SocketMessageWriter;\nclass StreamMessageReader extends api_1.ReadableStreamMessageReader {\n constructor(readable, encoding) {\n super((0, ril_1.default)().stream.asReadableStream(readable), encoding);\n }\n}\nexports.StreamMessageReader = StreamMessageReader;\nclass StreamMessageWriter extends api_1.WriteableStreamMessageWriter {\n constructor(writable, options) {\n super((0, ril_1.default)().stream.asWritableStream(writable), options);\n }\n}\nexports.StreamMessageWriter = StreamMessageWriter;\nconst XDG_RUNTIME_DIR = process.env['XDG_RUNTIME_DIR'];\nconst safeIpcPathLengths = new Map([\n ['linux', 107],\n ['darwin', 103]\n]);\nfunction generateRandomPipeName() {\n const randomSuffix = (0, crypto_1.randomBytes)(21).toString('hex');\n if (process.platform === 'win32') {\n return `\\\\\\\\.\\\\pipe\\\\vscode-jsonrpc-${randomSuffix}-sock`;\n }\n let result;\n if (XDG_RUNTIME_DIR) {\n result = path.join(XDG_RUNTIME_DIR, `vscode-ipc-${randomSuffix}.sock`);\n }\n else {\n result = path.join(os.tmpdir(), `vscode-${randomSuffix}.sock`);\n }\n const limit = safeIpcPathLengths.get(process.platform);\n if (limit !== undefined && result.length > limit) {\n (0, ril_1.default)().console.warn(`WARNING: IPC handle \"${result}\" is longer than ${limit} characters.`);\n }\n return result;\n}\nexports.generateRandomPipeName = generateRandomPipeName;\nfunction createClientPipeTransport(pipeName, encoding = 'utf-8') {\n let connectResolve;\n const connected = new Promise((resolve, _reject) => {\n connectResolve = resolve;\n });\n return new Promise((resolve, reject) => {\n let server = (0, net_1.createServer)((socket) => {\n server.close();\n connectResolve([\n new SocketMessageReader(socket, encoding),\n new SocketMessageWriter(socket, encoding)\n ]);\n });\n server.on('error', reject);\n server.listen(pipeName, () => {\n server.removeListener('error', reject);\n resolve({\n onConnected: () => { return connected; }\n });\n });\n });\n}\nexports.createClientPipeTransport = createClientPipeTransport;\nfunction createServerPipeTransport(pipeName, encoding = 'utf-8') {\n const socket = (0, net_1.createConnection)(pipeName);\n return [\n new SocketMessageReader(socket, encoding),\n new SocketMessageWriter(socket, encoding)\n ];\n}\nexports.createServerPipeTransport = createServerPipeTransport;\nfunction createClientSocketTransport(port, encoding = 'utf-8') {\n let connectResolve;\n const connected = new Promise((resolve, _reject) => {\n connectResolve = resolve;\n });\n return new Promise((resolve, reject) => {\n const server = (0, net_1.createServer)((socket) => {\n server.close();\n connectResolve([\n new SocketMessageReader(socket, encoding),\n new SocketMessageWriter(socket, encoding)\n ]);\n });\n server.on('error', reject);\n server.listen(port, '127.0.0.1', () => {\n server.removeListener('error', reject);\n resolve({\n onConnected: () => { return connected; }\n });\n });\n });\n}\nexports.createClientSocketTransport = createClientSocketTransport;\nfunction createServerSocketTransport(port, encoding = 'utf-8') {\n const socket = (0, net_1.createConnection)(port, '127.0.0.1');\n return [\n new SocketMessageReader(socket, encoding),\n new SocketMessageWriter(socket, encoding)\n ];\n}\nexports.createServerSocketTransport = createServerSocketTransport;\nfunction isReadableStream(value) {\n const candidate = value;\n return candidate.read !== undefined && candidate.addListener !== undefined;\n}\nfunction isWritableStream(value) {\n const candidate = value;\n return candidate.write !== undefined && candidate.addListener !== undefined;\n}\nfunction createMessageConnection(input, output, logger, options) {\n if (!logger) {\n logger = api_1.NullLogger;\n }\n const reader = isReadableStream(input) ? new StreamMessageReader(input) : input;\n const writer = isWritableStream(output) ? new StreamMessageWriter(output) : output;\n if (api_1.ConnectionStrategy.is(options)) {\n options = { connectionStrategy: options };\n }\n return (0, api_1.createMessageConnection)(reader, writer, logger, options);\n}\nexports.createMessageConnection = createMessageConnection;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ----------------------------------------------------------------------------------------- */\n'use strict';\n\nmodule.exports = require('./lib/node/main');","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nexport var DocumentUri;\n(function (DocumentUri) {\n function is(value) {\n return typeof value === 'string';\n }\n DocumentUri.is = is;\n})(DocumentUri || (DocumentUri = {}));\nexport var URI;\n(function (URI) {\n function is(value) {\n return typeof value === 'string';\n }\n URI.is = is;\n})(URI || (URI = {}));\nexport var integer;\n(function (integer) {\n integer.MIN_VALUE = -2147483648;\n integer.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && integer.MIN_VALUE <= value && value <= integer.MAX_VALUE;\n }\n integer.is = is;\n})(integer || (integer = {}));\nexport var uinteger;\n(function (uinteger) {\n uinteger.MIN_VALUE = 0;\n uinteger.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && uinteger.MIN_VALUE <= value && value <= uinteger.MAX_VALUE;\n }\n uinteger.is = is;\n})(uinteger || (uinteger = {}));\n/**\n * The Position namespace provides helper functions to work with\n * {@link Position} literals.\n */\nexport var Position;\n(function (Position) {\n /**\n * Creates a new Position literal from the given line and character.\n * @param line The position's line.\n * @param character The position's character.\n */\n function create(line, character) {\n if (line === Number.MAX_VALUE) {\n line = uinteger.MAX_VALUE;\n }\n if (character === Number.MAX_VALUE) {\n character = uinteger.MAX_VALUE;\n }\n return { line: line, character: character };\n }\n Position.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Position} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\n }\n Position.is = is;\n})(Position || (Position = {}));\n/**\n * The Range namespace provides helper functions to work with\n * {@link Range} literals.\n */\nexport var Range;\n(function (Range) {\n function create(one, two, three, four) {\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\n return { start: Position.create(one, two), end: Position.create(three, four) };\n }\n else if (Position.is(one) && Position.is(two)) {\n return { start: one, end: two };\n }\n else {\n throw new Error(\"Range#create called with invalid arguments[\".concat(one, \", \").concat(two, \", \").concat(three, \", \").concat(four, \"]\"));\n }\n }\n Range.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Range} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\n }\n Range.is = is;\n})(Range || (Range = {}));\n/**\n * The Location namespace provides helper functions to work with\n * {@link Location} literals.\n */\nexport var Location;\n(function (Location) {\n /**\n * Creates a Location literal.\n * @param uri The location's uri.\n * @param range The location's range.\n */\n function create(uri, range) {\n return { uri: uri, range: range };\n }\n Location.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Location} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\n }\n Location.is = is;\n})(Location || (Location = {}));\n/**\n * The LocationLink namespace provides helper functions to work with\n * {@link LocationLink} literals.\n */\nexport var LocationLink;\n(function (LocationLink) {\n /**\n * Creates a LocationLink literal.\n * @param targetUri The definition's uri.\n * @param targetRange The full range of the definition.\n * @param targetSelectionRange The span of the symbol definition at the target.\n * @param originSelectionRange The span of the symbol being defined in the originating source file.\n */\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\n return { targetUri: targetUri, targetRange: targetRange, targetSelectionRange: targetSelectionRange, originSelectionRange: originSelectionRange };\n }\n LocationLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link LocationLink} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\n && Range.is(candidate.targetSelectionRange)\n && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\n }\n LocationLink.is = is;\n})(LocationLink || (LocationLink = {}));\n/**\n * The Color namespace provides helper functions to work with\n * {@link Color} literals.\n */\nexport var Color;\n(function (Color) {\n /**\n * Creates a new Color literal.\n */\n function create(red, green, blue, alpha) {\n return {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n }\n Color.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Color} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.numberRange(candidate.red, 0, 1)\n && Is.numberRange(candidate.green, 0, 1)\n && Is.numberRange(candidate.blue, 0, 1)\n && Is.numberRange(candidate.alpha, 0, 1);\n }\n Color.is = is;\n})(Color || (Color = {}));\n/**\n * The ColorInformation namespace provides helper functions to work with\n * {@link ColorInformation} literals.\n */\nexport var ColorInformation;\n(function (ColorInformation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(range, color) {\n return {\n range: range,\n color: color,\n };\n }\n ColorInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && Color.is(candidate.color);\n }\n ColorInformation.is = is;\n})(ColorInformation || (ColorInformation = {}));\n/**\n * The Color namespace provides helper functions to work with\n * {@link ColorPresentation} literals.\n */\nexport var ColorPresentation;\n(function (ColorPresentation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(label, textEdit, additionalTextEdits) {\n return {\n label: label,\n textEdit: textEdit,\n additionalTextEdits: additionalTextEdits,\n };\n }\n ColorPresentation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label)\n && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\n && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\n }\n ColorPresentation.is = is;\n})(ColorPresentation || (ColorPresentation = {}));\n/**\n * A set of predefined range kinds.\n */\nexport var FoldingRangeKind;\n(function (FoldingRangeKind) {\n /**\n * Folding range for a comment\n */\n FoldingRangeKind.Comment = 'comment';\n /**\n * Folding range for an import or include\n */\n FoldingRangeKind.Imports = 'imports';\n /**\n * Folding range for a region (e.g. `#region`)\n */\n FoldingRangeKind.Region = 'region';\n})(FoldingRangeKind || (FoldingRangeKind = {}));\n/**\n * The folding range namespace provides helper functions to work with\n * {@link FoldingRange} literals.\n */\nexport var FoldingRange;\n(function (FoldingRange) {\n /**\n * Creates a new FoldingRange literal.\n */\n function create(startLine, endLine, startCharacter, endCharacter, kind, collapsedText) {\n var result = {\n startLine: startLine,\n endLine: endLine\n };\n if (Is.defined(startCharacter)) {\n result.startCharacter = startCharacter;\n }\n if (Is.defined(endCharacter)) {\n result.endCharacter = endCharacter;\n }\n if (Is.defined(kind)) {\n result.kind = kind;\n }\n if (Is.defined(collapsedText)) {\n result.collapsedText = collapsedText;\n }\n return result;\n }\n FoldingRange.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FoldingRange} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine)\n && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter))\n && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter))\n && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\n }\n FoldingRange.is = is;\n})(FoldingRange || (FoldingRange = {}));\n/**\n * The DiagnosticRelatedInformation namespace provides helper functions to work with\n * {@link DiagnosticRelatedInformation} literals.\n */\nexport var DiagnosticRelatedInformation;\n(function (DiagnosticRelatedInformation) {\n /**\n * Creates a new DiagnosticRelatedInformation literal.\n */\n function create(location, message) {\n return {\n location: location,\n message: message\n };\n }\n DiagnosticRelatedInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DiagnosticRelatedInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\n }\n DiagnosticRelatedInformation.is = is;\n})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\n/**\n * The diagnostic's severity.\n */\nexport var DiagnosticSeverity;\n(function (DiagnosticSeverity) {\n /**\n * Reports an error.\n */\n DiagnosticSeverity.Error = 1;\n /**\n * Reports a warning.\n */\n DiagnosticSeverity.Warning = 2;\n /**\n * Reports an information.\n */\n DiagnosticSeverity.Information = 3;\n /**\n * Reports a hint.\n */\n DiagnosticSeverity.Hint = 4;\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\n/**\n * The diagnostic tags.\n *\n * @since 3.15.0\n */\nexport var DiagnosticTag;\n(function (DiagnosticTag) {\n /**\n * Unused or unnecessary code.\n *\n * Clients are allowed to render diagnostics with this tag faded out instead of having\n * an error squiggle.\n */\n DiagnosticTag.Unnecessary = 1;\n /**\n * Deprecated or obsolete code.\n *\n * Clients are allowed to rendered diagnostics with this tag strike through.\n */\n DiagnosticTag.Deprecated = 2;\n})(DiagnosticTag || (DiagnosticTag = {}));\n/**\n * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes.\n *\n * @since 3.16.0\n */\nexport var CodeDescription;\n(function (CodeDescription) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.href);\n }\n CodeDescription.is = is;\n})(CodeDescription || (CodeDescription = {}));\n/**\n * The Diagnostic namespace provides helper functions to work with\n * {@link Diagnostic} literals.\n */\nexport var Diagnostic;\n(function (Diagnostic) {\n /**\n * Creates a new Diagnostic literal.\n */\n function create(range, message, severity, code, source, relatedInformation) {\n var result = { range: range, message: message };\n if (Is.defined(severity)) {\n result.severity = severity;\n }\n if (Is.defined(code)) {\n result.code = code;\n }\n if (Is.defined(source)) {\n result.source = source;\n }\n if (Is.defined(relatedInformation)) {\n result.relatedInformation = relatedInformation;\n }\n return result;\n }\n Diagnostic.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Diagnostic} interface.\n */\n function is(value) {\n var _a;\n var candidate = value;\n return Is.defined(candidate)\n && Range.is(candidate.range)\n && Is.string(candidate.message)\n && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\n && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\n && (Is.undefined(candidate.codeDescription) || (Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)))\n && (Is.string(candidate.source) || Is.undefined(candidate.source))\n && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\n }\n Diagnostic.is = is;\n})(Diagnostic || (Diagnostic = {}));\n/**\n * The Command namespace provides helper functions to work with\n * {@link Command} literals.\n */\nexport var Command;\n(function (Command) {\n /**\n * Creates a new Command literal.\n */\n function create(title, command) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var result = { title: title, command: command };\n if (Is.defined(args) && args.length > 0) {\n result.arguments = args;\n }\n return result;\n }\n Command.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Command} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\n }\n Command.is = is;\n})(Command || (Command = {}));\n/**\n * The TextEdit namespace provides helper function to create replace,\n * insert and delete edits more easily.\n */\nexport var TextEdit;\n(function (TextEdit) {\n /**\n * Creates a replace text edit.\n * @param range The range of text to be replaced.\n * @param newText The new text.\n */\n function replace(range, newText) {\n return { range: range, newText: newText };\n }\n TextEdit.replace = replace;\n /**\n * Creates an insert text edit.\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n */\n function insert(position, newText) {\n return { range: { start: position, end: position }, newText: newText };\n }\n TextEdit.insert = insert;\n /**\n * Creates a delete text edit.\n * @param range The range of text to be deleted.\n */\n function del(range) {\n return { range: range, newText: '' };\n }\n TextEdit.del = del;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && Is.string(candidate.newText)\n && Range.is(candidate.range);\n }\n TextEdit.is = is;\n})(TextEdit || (TextEdit = {}));\nexport var ChangeAnnotation;\n(function (ChangeAnnotation) {\n function create(label, needsConfirmation, description) {\n var result = { label: label };\n if (needsConfirmation !== undefined) {\n result.needsConfirmation = needsConfirmation;\n }\n if (description !== undefined) {\n result.description = description;\n }\n return result;\n }\n ChangeAnnotation.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label) &&\n (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n ChangeAnnotation.is = is;\n})(ChangeAnnotation || (ChangeAnnotation = {}));\nexport var ChangeAnnotationIdentifier;\n(function (ChangeAnnotationIdentifier) {\n function is(value) {\n var candidate = value;\n return Is.string(candidate);\n }\n ChangeAnnotationIdentifier.is = is;\n})(ChangeAnnotationIdentifier || (ChangeAnnotationIdentifier = {}));\nexport var AnnotatedTextEdit;\n(function (AnnotatedTextEdit) {\n /**\n * Creates an annotated replace text edit.\n *\n * @param range The range of text to be replaced.\n * @param newText The new text.\n * @param annotation The annotation.\n */\n function replace(range, newText, annotation) {\n return { range: range, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.replace = replace;\n /**\n * Creates an annotated insert text edit.\n *\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n * @param annotation The annotation.\n */\n function insert(position, newText, annotation) {\n return { range: { start: position, end: position }, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.insert = insert;\n /**\n * Creates an annotated delete text edit.\n *\n * @param range The range of text to be deleted.\n * @param annotation The annotation.\n */\n function del(range, annotation) {\n return { range: range, newText: '', annotationId: annotation };\n }\n AnnotatedTextEdit.del = del;\n function is(value) {\n var candidate = value;\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n AnnotatedTextEdit.is = is;\n})(AnnotatedTextEdit || (AnnotatedTextEdit = {}));\n/**\n * The TextDocumentEdit namespace provides helper function to create\n * an edit that manipulates a text document.\n */\nexport var TextDocumentEdit;\n(function (TextDocumentEdit) {\n /**\n * Creates a new `TextDocumentEdit`\n */\n function create(textDocument, edits) {\n return { textDocument: textDocument, edits: edits };\n }\n TextDocumentEdit.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate)\n && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)\n && Array.isArray(candidate.edits);\n }\n TextDocumentEdit.is = is;\n})(TextDocumentEdit || (TextDocumentEdit = {}));\nexport var CreateFile;\n(function (CreateFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'create',\n uri: uri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n CreateFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n CreateFile.is = is;\n})(CreateFile || (CreateFile = {}));\nexport var RenameFile;\n(function (RenameFile) {\n function create(oldUri, newUri, options, annotation) {\n var result = {\n kind: 'rename',\n oldUri: oldUri,\n newUri: newUri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n RenameFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n RenameFile.is = is;\n})(RenameFile || (RenameFile = {}));\nexport var DeleteFile;\n(function (DeleteFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'delete',\n uri: uri\n };\n if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n DeleteFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n DeleteFile.is = is;\n})(DeleteFile || (DeleteFile = {}));\nexport var WorkspaceEdit;\n(function (WorkspaceEdit) {\n function is(value) {\n var candidate = value;\n return candidate &&\n (candidate.changes !== undefined || candidate.documentChanges !== undefined) &&\n (candidate.documentChanges === undefined || candidate.documentChanges.every(function (change) {\n if (Is.string(change.kind)) {\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\n }\n else {\n return TextDocumentEdit.is(change);\n }\n }));\n }\n WorkspaceEdit.is = is;\n})(WorkspaceEdit || (WorkspaceEdit = {}));\nvar TextEditChangeImpl = /** @class */ (function () {\n function TextEditChangeImpl(edits, changeAnnotations) {\n this.edits = edits;\n this.changeAnnotations = changeAnnotations;\n }\n TextEditChangeImpl.prototype.insert = function (position, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.insert(position, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.insert(position, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.replace = function (range, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.replace(range, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.replace(range, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.delete = function (range, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.del(range);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.del(range, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.del(range, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.add = function (edit) {\n this.edits.push(edit);\n };\n TextEditChangeImpl.prototype.all = function () {\n return this.edits;\n };\n TextEditChangeImpl.prototype.clear = function () {\n this.edits.splice(0, this.edits.length);\n };\n TextEditChangeImpl.prototype.assertChangeAnnotations = function (value) {\n if (value === undefined) {\n throw new Error(\"Text edit change is not configured to manage change annotations.\");\n }\n };\n return TextEditChangeImpl;\n}());\n/**\n * A helper class\n */\nvar ChangeAnnotations = /** @class */ (function () {\n function ChangeAnnotations(annotations) {\n this._annotations = annotations === undefined ? Object.create(null) : annotations;\n this._counter = 0;\n this._size = 0;\n }\n ChangeAnnotations.prototype.all = function () {\n return this._annotations;\n };\n Object.defineProperty(ChangeAnnotations.prototype, \"size\", {\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n ChangeAnnotations.prototype.manage = function (idOrAnnotation, annotation) {\n var id;\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\n id = idOrAnnotation;\n }\n else {\n id = this.nextId();\n annotation = idOrAnnotation;\n }\n if (this._annotations[id] !== undefined) {\n throw new Error(\"Id \".concat(id, \" is already in use.\"));\n }\n if (annotation === undefined) {\n throw new Error(\"No annotation provided for id \".concat(id));\n }\n this._annotations[id] = annotation;\n this._size++;\n return id;\n };\n ChangeAnnotations.prototype.nextId = function () {\n this._counter++;\n return this._counter.toString();\n };\n return ChangeAnnotations;\n}());\n/**\n * A workspace change helps constructing changes to a workspace.\n */\nvar WorkspaceChange = /** @class */ (function () {\n function WorkspaceChange(workspaceEdit) {\n var _this = this;\n this._textEditChanges = Object.create(null);\n if (workspaceEdit !== undefined) {\n this._workspaceEdit = workspaceEdit;\n if (workspaceEdit.documentChanges) {\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n workspaceEdit.documentChanges.forEach(function (change) {\n if (TextDocumentEdit.is(change)) {\n var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations);\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\n }\n });\n }\n else if (workspaceEdit.changes) {\n Object.keys(workspaceEdit.changes).forEach(function (key) {\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\n _this._textEditChanges[key] = textEditChange;\n });\n }\n }\n else {\n this._workspaceEdit = {};\n }\n }\n Object.defineProperty(WorkspaceChange.prototype, \"edit\", {\n /**\n * Returns the underlying {@link WorkspaceEdit} literal\n * use to be returned from a workspace edit operation like rename.\n */\n get: function () {\n this.initDocumentChanges();\n if (this._changeAnnotations !== undefined) {\n if (this._changeAnnotations.size === 0) {\n this._workspaceEdit.changeAnnotations = undefined;\n }\n else {\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n return this._workspaceEdit;\n },\n enumerable: false,\n configurable: true\n });\n WorkspaceChange.prototype.getTextEditChange = function (key) {\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var textDocument = { uri: key.uri, version: key.version };\n var result = this._textEditChanges[textDocument.uri];\n if (!result) {\n var edits = [];\n var textDocumentEdit = {\n textDocument: textDocument,\n edits: edits\n };\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\n this._textEditChanges[textDocument.uri] = result;\n }\n return result;\n }\n else {\n this.initChanges();\n if (this._workspaceEdit.changes === undefined) {\n throw new Error('Workspace edit is not configured for normal text edit changes.');\n }\n var result = this._textEditChanges[key];\n if (!result) {\n var edits = [];\n this._workspaceEdit.changes[key] = edits;\n result = new TextEditChangeImpl(edits);\n this._textEditChanges[key] = result;\n }\n return result;\n }\n };\n WorkspaceChange.prototype.initDocumentChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._changeAnnotations = new ChangeAnnotations();\n this._workspaceEdit.documentChanges = [];\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n };\n WorkspaceChange.prototype.initChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._workspaceEdit.changes = Object.create(null);\n }\n };\n WorkspaceChange.prototype.createFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = CreateFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = CreateFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.renameFile = function (oldUri, newUri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = RenameFile.create(oldUri, newUri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = RenameFile.create(oldUri, newUri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.deleteFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = DeleteFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = DeleteFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n return WorkspaceChange;\n}());\nexport { WorkspaceChange };\n/**\n * The TextDocumentIdentifier namespace provides helper functions to work with\n * {@link TextDocumentIdentifier} literals.\n */\nexport var TextDocumentIdentifier;\n(function (TextDocumentIdentifier) {\n /**\n * Creates a new TextDocumentIdentifier literal.\n * @param uri The document's uri.\n */\n function create(uri) {\n return { uri: uri };\n }\n TextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri);\n }\n TextDocumentIdentifier.is = is;\n})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\n/**\n * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link VersionedTextDocumentIdentifier} literals.\n */\nexport var VersionedTextDocumentIdentifier;\n(function (VersionedTextDocumentIdentifier) {\n /**\n * Creates a new VersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n VersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link VersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\n }\n VersionedTextDocumentIdentifier.is = is;\n})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\n/**\n * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link OptionalVersionedTextDocumentIdentifier} literals.\n */\nexport var OptionalVersionedTextDocumentIdentifier;\n(function (OptionalVersionedTextDocumentIdentifier) {\n /**\n * Creates a new OptionalVersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n OptionalVersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link OptionalVersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\n }\n OptionalVersionedTextDocumentIdentifier.is = is;\n})(OptionalVersionedTextDocumentIdentifier || (OptionalVersionedTextDocumentIdentifier = {}));\n/**\n * The TextDocumentItem namespace provides helper functions to work with\n * {@link TextDocumentItem} literals.\n */\nexport var TextDocumentItem;\n(function (TextDocumentItem) {\n /**\n * Creates a new TextDocumentItem literal.\n * @param uri The document's uri.\n * @param languageId The document's language identifier.\n * @param version The document's version number.\n * @param text The document's text.\n */\n function create(uri, languageId, version, text) {\n return { uri: uri, languageId: languageId, version: version, text: text };\n }\n TextDocumentItem.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentItem} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\n }\n TextDocumentItem.is = is;\n})(TextDocumentItem || (TextDocumentItem = {}));\n/**\n * Describes the content type that a client supports in various\n * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\n *\n * Please note that `MarkupKinds` must not start with a `$`. This kinds\n * are reserved for internal usage.\n */\nexport var MarkupKind;\n(function (MarkupKind) {\n /**\n * Plain text is supported as a content format\n */\n MarkupKind.PlainText = 'plaintext';\n /**\n * Markdown is supported as a content format\n */\n MarkupKind.Markdown = 'markdown';\n /**\n * Checks whether the given value is a value of the {@link MarkupKind} type.\n */\n function is(value) {\n var candidate = value;\n return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\n }\n MarkupKind.is = is;\n})(MarkupKind || (MarkupKind = {}));\nexport var MarkupContent;\n(function (MarkupContent) {\n /**\n * Checks whether the given value conforms to the {@link MarkupContent} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\n }\n MarkupContent.is = is;\n})(MarkupContent || (MarkupContent = {}));\n/**\n * The kind of a completion entry.\n */\nexport var CompletionItemKind;\n(function (CompletionItemKind) {\n CompletionItemKind.Text = 1;\n CompletionItemKind.Method = 2;\n CompletionItemKind.Function = 3;\n CompletionItemKind.Constructor = 4;\n CompletionItemKind.Field = 5;\n CompletionItemKind.Variable = 6;\n CompletionItemKind.Class = 7;\n CompletionItemKind.Interface = 8;\n CompletionItemKind.Module = 9;\n CompletionItemKind.Property = 10;\n CompletionItemKind.Unit = 11;\n CompletionItemKind.Value = 12;\n CompletionItemKind.Enum = 13;\n CompletionItemKind.Keyword = 14;\n CompletionItemKind.Snippet = 15;\n CompletionItemKind.Color = 16;\n CompletionItemKind.File = 17;\n CompletionItemKind.Reference = 18;\n CompletionItemKind.Folder = 19;\n CompletionItemKind.EnumMember = 20;\n CompletionItemKind.Constant = 21;\n CompletionItemKind.Struct = 22;\n CompletionItemKind.Event = 23;\n CompletionItemKind.Operator = 24;\n CompletionItemKind.TypeParameter = 25;\n})(CompletionItemKind || (CompletionItemKind = {}));\n/**\n * Defines whether the insert text in a completion item should be interpreted as\n * plain text or a snippet.\n */\nexport var InsertTextFormat;\n(function (InsertTextFormat) {\n /**\n * The primary text to be inserted is treated as a plain string.\n */\n InsertTextFormat.PlainText = 1;\n /**\n * The primary text to be inserted is treated as a snippet.\n *\n * A snippet can define tab stops and placeholders with `$1`, `$2`\n * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\n * the end of the snippet. Placeholders with equal identifiers are linked,\n * that is typing in one will update others too.\n *\n * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax\n */\n InsertTextFormat.Snippet = 2;\n})(InsertTextFormat || (InsertTextFormat = {}));\n/**\n * Completion item tags are extra annotations that tweak the rendering of a completion\n * item.\n *\n * @since 3.15.0\n */\nexport var CompletionItemTag;\n(function (CompletionItemTag) {\n /**\n * Render a completion as obsolete, usually using a strike-out.\n */\n CompletionItemTag.Deprecated = 1;\n})(CompletionItemTag || (CompletionItemTag = {}));\n/**\n * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits.\n *\n * @since 3.16.0\n */\nexport var InsertReplaceEdit;\n(function (InsertReplaceEdit) {\n /**\n * Creates a new insert / replace edit\n */\n function create(newText, insert, replace) {\n return { newText: newText, insert: insert, replace: replace };\n }\n InsertReplaceEdit.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InsertReplaceEdit} interface.\n */\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\n }\n InsertReplaceEdit.is = is;\n})(InsertReplaceEdit || (InsertReplaceEdit = {}));\n/**\n * How whitespace and indentation is handled during completion\n * item insertion.\n *\n * @since 3.16.0\n */\nexport var InsertTextMode;\n(function (InsertTextMode) {\n /**\n * The insertion or replace strings is taken as it is. If the\n * value is multi line the lines below the cursor will be\n * inserted using the indentation defined in the string value.\n * The client will not apply any kind of adjustments to the\n * string.\n */\n InsertTextMode.asIs = 1;\n /**\n * The editor adjusts leading whitespace of new lines so that\n * they match the indentation up to the cursor of the line for\n * which the item is accepted.\n *\n * Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a\n * multi line completion item is indented using 2 tabs and all\n * following lines inserted will be indented using 2 tabs as well.\n */\n InsertTextMode.adjustIndentation = 2;\n})(InsertTextMode || (InsertTextMode = {}));\nexport var CompletionItemLabelDetails;\n(function (CompletionItemLabelDetails) {\n function is(value) {\n var candidate = value;\n return candidate && (Is.string(candidate.detail) || candidate.detail === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n CompletionItemLabelDetails.is = is;\n})(CompletionItemLabelDetails || (CompletionItemLabelDetails = {}));\n/**\n * The CompletionItem namespace provides functions to deal with\n * completion items.\n */\nexport var CompletionItem;\n(function (CompletionItem) {\n /**\n * Create a completion item and seed it with a label.\n * @param label The completion item's label\n */\n function create(label) {\n return { label: label };\n }\n CompletionItem.create = create;\n})(CompletionItem || (CompletionItem = {}));\n/**\n * The CompletionList namespace provides functions to deal with\n * completion lists.\n */\nexport var CompletionList;\n(function (CompletionList) {\n /**\n * Creates a new completion list.\n *\n * @param items The completion items.\n * @param isIncomplete The list is not complete.\n */\n function create(items, isIncomplete) {\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\n }\n CompletionList.create = create;\n})(CompletionList || (CompletionList = {}));\nexport var MarkedString;\n(function (MarkedString) {\n /**\n * Creates a marked string from plain text.\n *\n * @param plainText The plain text.\n */\n function fromPlainText(plainText) {\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, '\\\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\n }\n MarkedString.fromPlainText = fromPlainText;\n /**\n * Checks whether the given value conforms to the {@link MarkedString} type.\n */\n function is(value) {\n var candidate = value;\n return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\n }\n MarkedString.is = is;\n})(MarkedString || (MarkedString = {}));\nexport var Hover;\n(function (Hover) {\n /**\n * Checks whether the given value conforms to the {@link Hover} interface.\n */\n function is(value) {\n var candidate = value;\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\n MarkedString.is(candidate.contents) ||\n Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range));\n }\n Hover.is = is;\n})(Hover || (Hover = {}));\n/**\n * The ParameterInformation namespace provides helper functions to work with\n * {@link ParameterInformation} literals.\n */\nexport var ParameterInformation;\n(function (ParameterInformation) {\n /**\n * Creates a new parameter information literal.\n *\n * @param label A label string.\n * @param documentation A doc string.\n */\n function create(label, documentation) {\n return documentation ? { label: label, documentation: documentation } : { label: label };\n }\n ParameterInformation.create = create;\n})(ParameterInformation || (ParameterInformation = {}));\n/**\n * The SignatureInformation namespace provides helper functions to work with\n * {@link SignatureInformation} literals.\n */\nexport var SignatureInformation;\n(function (SignatureInformation) {\n function create(label, documentation) {\n var parameters = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n parameters[_i - 2] = arguments[_i];\n }\n var result = { label: label };\n if (Is.defined(documentation)) {\n result.documentation = documentation;\n }\n if (Is.defined(parameters)) {\n result.parameters = parameters;\n }\n else {\n result.parameters = [];\n }\n return result;\n }\n SignatureInformation.create = create;\n})(SignatureInformation || (SignatureInformation = {}));\n/**\n * A document highlight kind.\n */\nexport var DocumentHighlightKind;\n(function (DocumentHighlightKind) {\n /**\n * A textual occurrence.\n */\n DocumentHighlightKind.Text = 1;\n /**\n * Read-access of a symbol, like reading a variable.\n */\n DocumentHighlightKind.Read = 2;\n /**\n * Write-access of a symbol, like writing to a variable.\n */\n DocumentHighlightKind.Write = 3;\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\n/**\n * DocumentHighlight namespace to provide helper functions to work with\n * {@link DocumentHighlight} literals.\n */\nexport var DocumentHighlight;\n(function (DocumentHighlight) {\n /**\n * Create a DocumentHighlight object.\n * @param range The range the highlight applies to.\n * @param kind The highlight kind\n */\n function create(range, kind) {\n var result = { range: range };\n if (Is.number(kind)) {\n result.kind = kind;\n }\n return result;\n }\n DocumentHighlight.create = create;\n})(DocumentHighlight || (DocumentHighlight = {}));\n/**\n * A symbol kind.\n */\nexport var SymbolKind;\n(function (SymbolKind) {\n SymbolKind.File = 1;\n SymbolKind.Module = 2;\n SymbolKind.Namespace = 3;\n SymbolKind.Package = 4;\n SymbolKind.Class = 5;\n SymbolKind.Method = 6;\n SymbolKind.Property = 7;\n SymbolKind.Field = 8;\n SymbolKind.Constructor = 9;\n SymbolKind.Enum = 10;\n SymbolKind.Interface = 11;\n SymbolKind.Function = 12;\n SymbolKind.Variable = 13;\n SymbolKind.Constant = 14;\n SymbolKind.String = 15;\n SymbolKind.Number = 16;\n SymbolKind.Boolean = 17;\n SymbolKind.Array = 18;\n SymbolKind.Object = 19;\n SymbolKind.Key = 20;\n SymbolKind.Null = 21;\n SymbolKind.EnumMember = 22;\n SymbolKind.Struct = 23;\n SymbolKind.Event = 24;\n SymbolKind.Operator = 25;\n SymbolKind.TypeParameter = 26;\n})(SymbolKind || (SymbolKind = {}));\n/**\n * Symbol tags are extra annotations that tweak the rendering of a symbol.\n *\n * @since 3.16\n */\nexport var SymbolTag;\n(function (SymbolTag) {\n /**\n * Render a symbol as obsolete, usually using a strike-out.\n */\n SymbolTag.Deprecated = 1;\n})(SymbolTag || (SymbolTag = {}));\nexport var SymbolInformation;\n(function (SymbolInformation) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the location of the symbol.\n * @param uri The resource of the location of symbol.\n * @param containerName The name of the symbol containing the symbol.\n */\n function create(name, kind, range, uri, containerName) {\n var result = {\n name: name,\n kind: kind,\n location: { uri: uri, range: range }\n };\n if (containerName) {\n result.containerName = containerName;\n }\n return result;\n }\n SymbolInformation.create = create;\n})(SymbolInformation || (SymbolInformation = {}));\nexport var WorkspaceSymbol;\n(function (WorkspaceSymbol) {\n /**\n * Create a new workspace symbol.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param uri The resource of the location of the symbol.\n * @param range An options range of the location.\n * @returns A WorkspaceSymbol.\n */\n function create(name, kind, uri, range) {\n return range !== undefined\n ? { name: name, kind: kind, location: { uri: uri, range: range } }\n : { name: name, kind: kind, location: { uri: uri } };\n }\n WorkspaceSymbol.create = create;\n})(WorkspaceSymbol || (WorkspaceSymbol = {}));\nexport var DocumentSymbol;\n(function (DocumentSymbol) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param detail The detail of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the symbol.\n * @param selectionRange The selectionRange of the symbol.\n * @param children Children of the symbol.\n */\n function create(name, detail, kind, range, selectionRange, children) {\n var result = {\n name: name,\n detail: detail,\n kind: kind,\n range: range,\n selectionRange: selectionRange\n };\n if (children !== undefined) {\n result.children = children;\n }\n return result;\n }\n DocumentSymbol.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentSymbol} interface.\n */\n function is(value) {\n var candidate = value;\n return candidate &&\n Is.string(candidate.name) && Is.number(candidate.kind) &&\n Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\n (candidate.detail === undefined || Is.string(candidate.detail)) &&\n (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) &&\n (candidate.children === undefined || Array.isArray(candidate.children)) &&\n (candidate.tags === undefined || Array.isArray(candidate.tags));\n }\n DocumentSymbol.is = is;\n})(DocumentSymbol || (DocumentSymbol = {}));\n/**\n * A set of predefined code action kinds\n */\nexport var CodeActionKind;\n(function (CodeActionKind) {\n /**\n * Empty kind.\n */\n CodeActionKind.Empty = '';\n /**\n * Base kind for quickfix actions: 'quickfix'\n */\n CodeActionKind.QuickFix = 'quickfix';\n /**\n * Base kind for refactoring actions: 'refactor'\n */\n CodeActionKind.Refactor = 'refactor';\n /**\n * Base kind for refactoring extraction actions: 'refactor.extract'\n *\n * Example extract actions:\n *\n * - Extract method\n * - Extract function\n * - Extract variable\n * - Extract interface from class\n * - ...\n */\n CodeActionKind.RefactorExtract = 'refactor.extract';\n /**\n * Base kind for refactoring inline actions: 'refactor.inline'\n *\n * Example inline actions:\n *\n * - Inline function\n * - Inline variable\n * - Inline constant\n * - ...\n */\n CodeActionKind.RefactorInline = 'refactor.inline';\n /**\n * Base kind for refactoring rewrite actions: 'refactor.rewrite'\n *\n * Example rewrite actions:\n *\n * - Convert JavaScript function to class\n * - Add or remove parameter\n * - Encapsulate field\n * - Make method static\n * - Move method to base class\n * - ...\n */\n CodeActionKind.RefactorRewrite = 'refactor.rewrite';\n /**\n * Base kind for source actions: `source`\n *\n * Source code actions apply to the entire file.\n */\n CodeActionKind.Source = 'source';\n /**\n * Base kind for an organize imports source action: `source.organizeImports`\n */\n CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\n /**\n * Base kind for auto-fix source actions: `source.fixAll`.\n *\n * Fix all actions automatically fix errors that have a clear fix that do not require user input.\n * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\n *\n * @since 3.15.0\n */\n CodeActionKind.SourceFixAll = 'source.fixAll';\n})(CodeActionKind || (CodeActionKind = {}));\n/**\n * The reason why code actions were requested.\n *\n * @since 3.17.0\n */\nexport var CodeActionTriggerKind;\n(function (CodeActionTriggerKind) {\n /**\n * Code actions were explicitly requested by the user or by an extension.\n */\n CodeActionTriggerKind.Invoked = 1;\n /**\n * Code actions were requested automatically.\n *\n * This typically happens when current selection in a file changes, but can\n * also be triggered when file content changes.\n */\n CodeActionTriggerKind.Automatic = 2;\n})(CodeActionTriggerKind || (CodeActionTriggerKind = {}));\n/**\n * The CodeActionContext namespace provides helper functions to work with\n * {@link CodeActionContext} literals.\n */\nexport var CodeActionContext;\n(function (CodeActionContext) {\n /**\n * Creates a new CodeActionContext literal.\n */\n function create(diagnostics, only, triggerKind) {\n var result = { diagnostics: diagnostics };\n if (only !== undefined && only !== null) {\n result.only = only;\n }\n if (triggerKind !== undefined && triggerKind !== null) {\n result.triggerKind = triggerKind;\n }\n return result;\n }\n CodeActionContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeActionContext} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is)\n && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string))\n && (candidate.triggerKind === undefined || candidate.triggerKind === CodeActionTriggerKind.Invoked || candidate.triggerKind === CodeActionTriggerKind.Automatic);\n }\n CodeActionContext.is = is;\n})(CodeActionContext || (CodeActionContext = {}));\nexport var CodeAction;\n(function (CodeAction) {\n function create(title, kindOrCommandOrEdit, kind) {\n var result = { title: title };\n var checkKind = true;\n if (typeof kindOrCommandOrEdit === 'string') {\n checkKind = false;\n result.kind = kindOrCommandOrEdit;\n }\n else if (Command.is(kindOrCommandOrEdit)) {\n result.command = kindOrCommandOrEdit;\n }\n else {\n result.edit = kindOrCommandOrEdit;\n }\n if (checkKind && kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n CodeAction.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.title) &&\n (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\n (candidate.kind === undefined || Is.string(candidate.kind)) &&\n (candidate.edit !== undefined || candidate.command !== undefined) &&\n (candidate.command === undefined || Command.is(candidate.command)) &&\n (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) &&\n (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit));\n }\n CodeAction.is = is;\n})(CodeAction || (CodeAction = {}));\n/**\n * The CodeLens namespace provides helper functions to work with\n * {@link CodeLens} literals.\n */\nexport var CodeLens;\n(function (CodeLens) {\n /**\n * Creates a new CodeLens literal.\n */\n function create(range, data) {\n var result = { range: range };\n if (Is.defined(data)) {\n result.data = data;\n }\n return result;\n }\n CodeLens.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeLens} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\n }\n CodeLens.is = is;\n})(CodeLens || (CodeLens = {}));\n/**\n * The FormattingOptions namespace provides helper functions to work with\n * {@link FormattingOptions} literals.\n */\nexport var FormattingOptions;\n(function (FormattingOptions) {\n /**\n * Creates a new FormattingOptions literal.\n */\n function create(tabSize, insertSpaces) {\n return { tabSize: tabSize, insertSpaces: insertSpaces };\n }\n FormattingOptions.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FormattingOptions} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\n }\n FormattingOptions.is = is;\n})(FormattingOptions || (FormattingOptions = {}));\n/**\n * The DocumentLink namespace provides helper functions to work with\n * {@link DocumentLink} literals.\n */\nexport var DocumentLink;\n(function (DocumentLink) {\n /**\n * Creates a new DocumentLink literal.\n */\n function create(range, target, data) {\n return { range: range, target: target, data: data };\n }\n DocumentLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentLink} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\n }\n DocumentLink.is = is;\n})(DocumentLink || (DocumentLink = {}));\n/**\n * The SelectionRange namespace provides helper function to work with\n * SelectionRange literals.\n */\nexport var SelectionRange;\n(function (SelectionRange) {\n /**\n * Creates a new SelectionRange\n * @param range the range.\n * @param parent an optional parent.\n */\n function create(range, parent) {\n return { range: range, parent: parent };\n }\n SelectionRange.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\n }\n SelectionRange.is = is;\n})(SelectionRange || (SelectionRange = {}));\n/**\n * A set of predefined token types. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\nexport var SemanticTokenTypes;\n(function (SemanticTokenTypes) {\n SemanticTokenTypes[\"namespace\"] = \"namespace\";\n /**\n * Represents a generic type. Acts as a fallback for types which can't be mapped to\n * a specific type like class or enum.\n */\n SemanticTokenTypes[\"type\"] = \"type\";\n SemanticTokenTypes[\"class\"] = \"class\";\n SemanticTokenTypes[\"enum\"] = \"enum\";\n SemanticTokenTypes[\"interface\"] = \"interface\";\n SemanticTokenTypes[\"struct\"] = \"struct\";\n SemanticTokenTypes[\"typeParameter\"] = \"typeParameter\";\n SemanticTokenTypes[\"parameter\"] = \"parameter\";\n SemanticTokenTypes[\"variable\"] = \"variable\";\n SemanticTokenTypes[\"property\"] = \"property\";\n SemanticTokenTypes[\"enumMember\"] = \"enumMember\";\n SemanticTokenTypes[\"event\"] = \"event\";\n SemanticTokenTypes[\"function\"] = \"function\";\n SemanticTokenTypes[\"method\"] = \"method\";\n SemanticTokenTypes[\"macro\"] = \"macro\";\n SemanticTokenTypes[\"keyword\"] = \"keyword\";\n SemanticTokenTypes[\"modifier\"] = \"modifier\";\n SemanticTokenTypes[\"comment\"] = \"comment\";\n SemanticTokenTypes[\"string\"] = \"string\";\n SemanticTokenTypes[\"number\"] = \"number\";\n SemanticTokenTypes[\"regexp\"] = \"regexp\";\n SemanticTokenTypes[\"operator\"] = \"operator\";\n /**\n * @since 3.17.0\n */\n SemanticTokenTypes[\"decorator\"] = \"decorator\";\n})(SemanticTokenTypes || (SemanticTokenTypes = {}));\n/**\n * A set of predefined token modifiers. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\nexport var SemanticTokenModifiers;\n(function (SemanticTokenModifiers) {\n SemanticTokenModifiers[\"declaration\"] = \"declaration\";\n SemanticTokenModifiers[\"definition\"] = \"definition\";\n SemanticTokenModifiers[\"readonly\"] = \"readonly\";\n SemanticTokenModifiers[\"static\"] = \"static\";\n SemanticTokenModifiers[\"deprecated\"] = \"deprecated\";\n SemanticTokenModifiers[\"abstract\"] = \"abstract\";\n SemanticTokenModifiers[\"async\"] = \"async\";\n SemanticTokenModifiers[\"modification\"] = \"modification\";\n SemanticTokenModifiers[\"documentation\"] = \"documentation\";\n SemanticTokenModifiers[\"defaultLibrary\"] = \"defaultLibrary\";\n})(SemanticTokenModifiers || (SemanticTokenModifiers = {}));\n/**\n * @since 3.16.0\n */\nexport var SemanticTokens;\n(function (SemanticTokens) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && (candidate.resultId === undefined || typeof candidate.resultId === 'string') &&\n Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number');\n }\n SemanticTokens.is = is;\n})(SemanticTokens || (SemanticTokens = {}));\n/**\n * The InlineValueText namespace provides functions to deal with InlineValueTexts.\n *\n * @since 3.17.0\n */\nexport var InlineValueText;\n(function (InlineValueText) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, text) {\n return { range: range, text: text };\n }\n InlineValueText.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.string(candidate.text);\n }\n InlineValueText.is = is;\n})(InlineValueText || (InlineValueText = {}));\n/**\n * The InlineValueVariableLookup namespace provides functions to deal with InlineValueVariableLookups.\n *\n * @since 3.17.0\n */\nexport var InlineValueVariableLookup;\n(function (InlineValueVariableLookup) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, variableName, caseSensitiveLookup) {\n return { range: range, variableName: variableName, caseSensitiveLookup: caseSensitiveLookup };\n }\n InlineValueVariableLookup.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.boolean(candidate.caseSensitiveLookup)\n && (Is.string(candidate.variableName) || candidate.variableName === undefined);\n }\n InlineValueVariableLookup.is = is;\n})(InlineValueVariableLookup || (InlineValueVariableLookup = {}));\n/**\n * The InlineValueEvaluatableExpression namespace provides functions to deal with InlineValueEvaluatableExpression.\n *\n * @since 3.17.0\n */\nexport var InlineValueEvaluatableExpression;\n(function (InlineValueEvaluatableExpression) {\n /**\n * Creates a new InlineValueEvaluatableExpression literal.\n */\n function create(range, expression) {\n return { range: range, expression: expression };\n }\n InlineValueEvaluatableExpression.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range)\n && (Is.string(candidate.expression) || candidate.expression === undefined);\n }\n InlineValueEvaluatableExpression.is = is;\n})(InlineValueEvaluatableExpression || (InlineValueEvaluatableExpression = {}));\n/**\n * The InlineValueContext namespace provides helper functions to work with\n * {@link InlineValueContext} literals.\n *\n * @since 3.17.0\n */\nexport var InlineValueContext;\n(function (InlineValueContext) {\n /**\n * Creates a new InlineValueContext literal.\n */\n function create(frameId, stoppedLocation) {\n return { frameId: frameId, stoppedLocation: stoppedLocation };\n }\n InlineValueContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InlineValueContext} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(value.stoppedLocation);\n }\n InlineValueContext.is = is;\n})(InlineValueContext || (InlineValueContext = {}));\n/**\n * Inlay hint kinds.\n *\n * @since 3.17.0\n */\nexport var InlayHintKind;\n(function (InlayHintKind) {\n /**\n * An inlay hint that for a type annotation.\n */\n InlayHintKind.Type = 1;\n /**\n * An inlay hint that is for a parameter.\n */\n InlayHintKind.Parameter = 2;\n function is(value) {\n return value === 1 || value === 2;\n }\n InlayHintKind.is = is;\n})(InlayHintKind || (InlayHintKind = {}));\nexport var InlayHintLabelPart;\n(function (InlayHintLabelPart) {\n function create(value) {\n return { value: value };\n }\n InlayHintLabelPart.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.location === undefined || Location.is(candidate.location))\n && (candidate.command === undefined || Command.is(candidate.command));\n }\n InlayHintLabelPart.is = is;\n})(InlayHintLabelPart || (InlayHintLabelPart = {}));\nexport var InlayHint;\n(function (InlayHint) {\n function create(position, label, kind) {\n var result = { position: position, label: label };\n if (kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n InlayHint.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.position)\n && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is))\n && (candidate.kind === undefined || InlayHintKind.is(candidate.kind))\n && (candidate.textEdits === undefined) || Is.typedArray(candidate.textEdits, TextEdit.is)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.paddingLeft === undefined || Is.boolean(candidate.paddingLeft))\n && (candidate.paddingRight === undefined || Is.boolean(candidate.paddingRight));\n }\n InlayHint.is = is;\n})(InlayHint || (InlayHint = {}));\nexport var WorkspaceFolder;\n(function (WorkspaceFolder) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && URI.is(candidate.uri) && Is.string(candidate.name);\n }\n WorkspaceFolder.is = is;\n})(WorkspaceFolder || (WorkspaceFolder = {}));\nexport var EOL = ['\\n', '\\r\\n', '\\r'];\n/**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new ITextDocument literal from the given uri and content.\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's version.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ITextDocument} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount)\n && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\n }\n TextDocument.is = is;\n function applyEdits(document, edits) {\n var text = document.getText();\n var sortedEdits = mergeSort(edits, function (a, b) {\n var diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n var lastModifiedOffset = text.length;\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\n var e = sortedEdits[i];\n var startOffset = document.offsetAt(e.range.start);\n var endOffset = document.offsetAt(e.range.end);\n if (endOffset <= lastModifiedOffset) {\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\n }\n else {\n throw new Error('Overlapping edit');\n }\n lastModifiedOffset = startOffset;\n }\n return text;\n }\n TextDocument.applyEdits = applyEdits;\n function mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n var p = (data.length / 2) | 0;\n var left = data.slice(0, p);\n var right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n var leftIdx = 0;\n var rightIdx = 0;\n var i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n var ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n }\n})(TextDocument || (TextDocument = {}));\n/**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\nvar FullTextDocument = /** @class */ (function () {\n function FullTextDocument(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n Object.defineProperty(FullTextDocument.prototype, \"uri\", {\n get: function () {\n return this._uri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"languageId\", {\n get: function () {\n return this._languageId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"version\", {\n get: function () {\n return this._version;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument.prototype.getText = function (range) {\n if (range) {\n var start = this.offsetAt(range.start);\n var end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n };\n FullTextDocument.prototype.update = function (event, version) {\n this._content = event.text;\n this._version = version;\n this._lineOffsets = undefined;\n };\n FullTextDocument.prototype.getLineOffsets = function () {\n if (this._lineOffsets === undefined) {\n var lineOffsets = [];\n var text = this._content;\n var isLineStart = true;\n for (var i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n var ch = text.charAt(i);\n isLineStart = (ch === '\\r' || ch === '\\n');\n if (ch === '\\r' && i + 1 < text.length && text.charAt(i + 1) === '\\n') {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n this._lineOffsets = lineOffsets;\n }\n return this._lineOffsets;\n };\n FullTextDocument.prototype.positionAt = function (offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n var lineOffsets = this.getLineOffsets();\n var low = 0, high = lineOffsets.length;\n if (high === 0) {\n return Position.create(0, offset);\n }\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n var line = low - 1;\n return Position.create(line, offset - lineOffsets[line]);\n };\n FullTextDocument.prototype.offsetAt = function (position) {\n var lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n var lineOffset = lineOffsets[position.line];\n var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n };\n Object.defineProperty(FullTextDocument.prototype, \"lineCount\", {\n get: function () {\n return this.getLineOffsets().length;\n },\n enumerable: false,\n configurable: true\n });\n return FullTextDocument;\n}());\nvar Is;\n(function (Is) {\n var toString = Object.prototype.toString;\n function defined(value) {\n return typeof value !== 'undefined';\n }\n Is.defined = defined;\n function undefined(value) {\n return typeof value === 'undefined';\n }\n Is.undefined = undefined;\n function boolean(value) {\n return value === true || value === false;\n }\n Is.boolean = boolean;\n function string(value) {\n return toString.call(value) === '[object String]';\n }\n Is.string = string;\n function number(value) {\n return toString.call(value) === '[object Number]';\n }\n Is.number = number;\n function numberRange(value, min, max) {\n return toString.call(value) === '[object Number]' && min <= value && value <= max;\n }\n Is.numberRange = numberRange;\n function integer(value) {\n return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647;\n }\n Is.integer = integer;\n function uinteger(value) {\n return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647;\n }\n Is.uinteger = uinteger;\n function func(value) {\n return toString.call(value) === '[object Function]';\n }\n Is.func = func;\n function objectLiteral(value) {\n // Strictly speaking class instances pass this check as well. Since the LSP\n // doesn't use classes we ignore this for now. If we do we need to add something\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\n return value !== null && typeof value === 'object';\n }\n Is.objectLiteral = objectLiteral;\n function typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n }\n Is.typedArray = typedArray;\n})(Is || (Is = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProtocolNotificationType = exports.ProtocolNotificationType0 = exports.ProtocolRequestType = exports.ProtocolRequestType0 = exports.RegistrationType = exports.MessageDirection = void 0;\nconst vscode_jsonrpc_1 = require(\"vscode-jsonrpc\");\nvar MessageDirection;\n(function (MessageDirection) {\n MessageDirection[\"clientToServer\"] = \"clientToServer\";\n MessageDirection[\"serverToClient\"] = \"serverToClient\";\n MessageDirection[\"both\"] = \"both\";\n})(MessageDirection = exports.MessageDirection || (exports.MessageDirection = {}));\nclass RegistrationType {\n constructor(method) {\n this.method = method;\n }\n}\nexports.RegistrationType = RegistrationType;\nclass ProtocolRequestType0 extends vscode_jsonrpc_1.RequestType0 {\n constructor(method) {\n super(method);\n }\n}\nexports.ProtocolRequestType0 = ProtocolRequestType0;\nclass ProtocolRequestType extends vscode_jsonrpc_1.RequestType {\n constructor(method) {\n super(method, vscode_jsonrpc_1.ParameterStructures.byName);\n }\n}\nexports.ProtocolRequestType = ProtocolRequestType;\nclass ProtocolNotificationType0 extends vscode_jsonrpc_1.NotificationType0 {\n constructor(method) {\n super(method);\n }\n}\nexports.ProtocolNotificationType0 = ProtocolNotificationType0;\nclass ProtocolNotificationType extends vscode_jsonrpc_1.NotificationType {\n constructor(method) {\n super(method, vscode_jsonrpc_1.ParameterStructures.byName);\n }\n}\nexports.ProtocolNotificationType = ProtocolNotificationType;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.objectLiteral = exports.typedArray = exports.stringArray = exports.array = exports.func = exports.error = exports.number = exports.string = exports.boolean = void 0;\nfunction boolean(value) {\n return value === true || value === false;\n}\nexports.boolean = boolean;\nfunction string(value) {\n return typeof value === 'string' || value instanceof String;\n}\nexports.string = string;\nfunction number(value) {\n return typeof value === 'number' || value instanceof Number;\n}\nexports.number = number;\nfunction error(value) {\n return value instanceof Error;\n}\nexports.error = error;\nfunction func(value) {\n return typeof value === 'function';\n}\nexports.func = func;\nfunction array(value) {\n return Array.isArray(value);\n}\nexports.array = array;\nfunction stringArray(value) {\n return array(value) && value.every(elem => string(elem));\n}\nexports.stringArray = stringArray;\nfunction typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n}\nexports.typedArray = typedArray;\nfunction objectLiteral(value) {\n // Strictly speaking class instances pass this check as well. Since the LSP\n // doesn't use classes we ignore this for now. If we do we need to add something\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\n return value !== null && typeof value === 'object';\n}\nexports.objectLiteral = objectLiteral;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImplementationRequest = void 0;\nconst messages_1 = require(\"./messages\");\n// @ts-ignore: to avoid inlining LocationLink as dynamic import\nlet __noDynamicImport;\n/**\n * A request to resolve the implementation locations of a symbol at a given text\n * document position. The request's parameter is of type [TextDocumentPositionParams]\n * (#TextDocumentPositionParams) the response is of type {@link Definition} or a\n * Thenable that resolves to such.\n */\nvar ImplementationRequest;\n(function (ImplementationRequest) {\n ImplementationRequest.method = 'textDocument/implementation';\n ImplementationRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n ImplementationRequest.type = new messages_1.ProtocolRequestType(ImplementationRequest.method);\n})(ImplementationRequest = exports.ImplementationRequest || (exports.ImplementationRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeDefinitionRequest = void 0;\nconst messages_1 = require(\"./messages\");\n// @ts-ignore: to avoid inlining LocatioLink as dynamic import\nlet __noDynamicImport;\n/**\n * A request to resolve the type definition locations of a symbol at a given text\n * document position. The request's parameter is of type [TextDocumentPositionParams]\n * (#TextDocumentPositionParams) the response is of type {@link Definition} or a\n * Thenable that resolves to such.\n */\nvar TypeDefinitionRequest;\n(function (TypeDefinitionRequest) {\n TypeDefinitionRequest.method = 'textDocument/typeDefinition';\n TypeDefinitionRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n TypeDefinitionRequest.type = new messages_1.ProtocolRequestType(TypeDefinitionRequest.method);\n})(TypeDefinitionRequest = exports.TypeDefinitionRequest || (exports.TypeDefinitionRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DidChangeWorkspaceFoldersNotification = exports.WorkspaceFoldersRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * The `workspace/workspaceFolders` is sent from the server to the client to fetch the open workspace folders.\n */\nvar WorkspaceFoldersRequest;\n(function (WorkspaceFoldersRequest) {\n WorkspaceFoldersRequest.method = 'workspace/workspaceFolders';\n WorkspaceFoldersRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n WorkspaceFoldersRequest.type = new messages_1.ProtocolRequestType0(WorkspaceFoldersRequest.method);\n})(WorkspaceFoldersRequest = exports.WorkspaceFoldersRequest || (exports.WorkspaceFoldersRequest = {}));\n/**\n * The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace\n * folder configuration changes.\n */\nvar DidChangeWorkspaceFoldersNotification;\n(function (DidChangeWorkspaceFoldersNotification) {\n DidChangeWorkspaceFoldersNotification.method = 'workspace/didChangeWorkspaceFolders';\n DidChangeWorkspaceFoldersNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidChangeWorkspaceFoldersNotification.type = new messages_1.ProtocolNotificationType(DidChangeWorkspaceFoldersNotification.method);\n})(DidChangeWorkspaceFoldersNotification = exports.DidChangeWorkspaceFoldersNotification || (exports.DidChangeWorkspaceFoldersNotification = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfigurationRequest = void 0;\nconst messages_1 = require(\"./messages\");\n//---- Get Configuration request ----\n/**\n * The 'workspace/configuration' request is sent from the server to the client to fetch a certain\n * configuration setting.\n *\n * This pull model replaces the old push model were the client signaled configuration change via an\n * event. If the server still needs to react to configuration changes (since the server caches the\n * result of `workspace/configuration` requests) the server should register for an empty configuration\n * change event and empty the cache if such an event is received.\n */\nvar ConfigurationRequest;\n(function (ConfigurationRequest) {\n ConfigurationRequest.method = 'workspace/configuration';\n ConfigurationRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n ConfigurationRequest.type = new messages_1.ProtocolRequestType(ConfigurationRequest.method);\n})(ConfigurationRequest = exports.ConfigurationRequest || (exports.ConfigurationRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ColorPresentationRequest = exports.DocumentColorRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to list all color symbols found in a given text document. The request's\n * parameter is of type {@link DocumentColorParams} the\n * response is of type {@link ColorInformation ColorInformation[]} or a Thenable\n * that resolves to such.\n */\nvar DocumentColorRequest;\n(function (DocumentColorRequest) {\n DocumentColorRequest.method = 'textDocument/documentColor';\n DocumentColorRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentColorRequest.type = new messages_1.ProtocolRequestType(DocumentColorRequest.method);\n})(DocumentColorRequest = exports.DocumentColorRequest || (exports.DocumentColorRequest = {}));\n/**\n * A request to list all presentation for a color. The request's\n * parameter is of type {@link ColorPresentationParams} the\n * response is of type {@link ColorInformation ColorInformation[]} or a Thenable\n * that resolves to such.\n */\nvar ColorPresentationRequest;\n(function (ColorPresentationRequest) {\n ColorPresentationRequest.method = 'textDocument/colorPresentation';\n ColorPresentationRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n ColorPresentationRequest.type = new messages_1.ProtocolRequestType(ColorPresentationRequest.method);\n})(ColorPresentationRequest = exports.ColorPresentationRequest || (exports.ColorPresentationRequest = {}));\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FoldingRangeRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to provide folding ranges in a document. The request's\n * parameter is of type {@link FoldingRangeParams}, the\n * response is of type {@link FoldingRangeList} or a Thenable\n * that resolves to such.\n */\nvar FoldingRangeRequest;\n(function (FoldingRangeRequest) {\n FoldingRangeRequest.method = 'textDocument/foldingRange';\n FoldingRangeRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n FoldingRangeRequest.type = new messages_1.ProtocolRequestType(FoldingRangeRequest.method);\n})(FoldingRangeRequest = exports.FoldingRangeRequest || (exports.FoldingRangeRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeclarationRequest = void 0;\nconst messages_1 = require(\"./messages\");\n// @ts-ignore: to avoid inlining LocationLink as dynamic import\nlet __noDynamicImport;\n/**\n * A request to resolve the type definition locations of a symbol at a given text\n * document position. The request's parameter is of type [TextDocumentPositionParams]\n * (#TextDocumentPositionParams) the response is of type {@link Declaration}\n * or a typed array of {@link DeclarationLink} or a Thenable that resolves\n * to such.\n */\nvar DeclarationRequest;\n(function (DeclarationRequest) {\n DeclarationRequest.method = 'textDocument/declaration';\n DeclarationRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DeclarationRequest.type = new messages_1.ProtocolRequestType(DeclarationRequest.method);\n})(DeclarationRequest = exports.DeclarationRequest || (exports.DeclarationRequest = {}));\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SelectionRangeRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to provide selection ranges in a document. The request's\n * parameter is of type {@link SelectionRangeParams}, the\n * response is of type {@link SelectionRange SelectionRange[]} or a Thenable\n * that resolves to such.\n */\nvar SelectionRangeRequest;\n(function (SelectionRangeRequest) {\n SelectionRangeRequest.method = 'textDocument/selectionRange';\n SelectionRangeRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n SelectionRangeRequest.type = new messages_1.ProtocolRequestType(SelectionRangeRequest.method);\n})(SelectionRangeRequest = exports.SelectionRangeRequest || (exports.SelectionRangeRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkDoneProgressCancelNotification = exports.WorkDoneProgressCreateRequest = exports.WorkDoneProgress = void 0;\nconst vscode_jsonrpc_1 = require(\"vscode-jsonrpc\");\nconst messages_1 = require(\"./messages\");\nvar WorkDoneProgress;\n(function (WorkDoneProgress) {\n WorkDoneProgress.type = new vscode_jsonrpc_1.ProgressType();\n function is(value) {\n return value === WorkDoneProgress.type;\n }\n WorkDoneProgress.is = is;\n})(WorkDoneProgress = exports.WorkDoneProgress || (exports.WorkDoneProgress = {}));\n/**\n * The `window/workDoneProgress/create` request is sent from the server to the client to initiate progress\n * reporting from the server.\n */\nvar WorkDoneProgressCreateRequest;\n(function (WorkDoneProgressCreateRequest) {\n WorkDoneProgressCreateRequest.method = 'window/workDoneProgress/create';\n WorkDoneProgressCreateRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n WorkDoneProgressCreateRequest.type = new messages_1.ProtocolRequestType(WorkDoneProgressCreateRequest.method);\n})(WorkDoneProgressCreateRequest = exports.WorkDoneProgressCreateRequest || (exports.WorkDoneProgressCreateRequest = {}));\n/**\n * The `window/workDoneProgress/cancel` notification is sent from the client to the server to cancel a progress\n * initiated on the server side.\n */\nvar WorkDoneProgressCancelNotification;\n(function (WorkDoneProgressCancelNotification) {\n WorkDoneProgressCancelNotification.method = 'window/workDoneProgress/cancel';\n WorkDoneProgressCancelNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n WorkDoneProgressCancelNotification.type = new messages_1.ProtocolNotificationType(WorkDoneProgressCancelNotification.method);\n})(WorkDoneProgressCancelNotification = exports.WorkDoneProgressCancelNotification || (exports.WorkDoneProgressCancelNotification = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) TypeFox, Microsoft and others. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CallHierarchyOutgoingCallsRequest = exports.CallHierarchyIncomingCallsRequest = exports.CallHierarchyPrepareRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to result a `CallHierarchyItem` in a document at a given position.\n * Can be used as an input to an incoming or outgoing call hierarchy.\n *\n * @since 3.16.0\n */\nvar CallHierarchyPrepareRequest;\n(function (CallHierarchyPrepareRequest) {\n CallHierarchyPrepareRequest.method = 'textDocument/prepareCallHierarchy';\n CallHierarchyPrepareRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CallHierarchyPrepareRequest.type = new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest.method);\n})(CallHierarchyPrepareRequest = exports.CallHierarchyPrepareRequest || (exports.CallHierarchyPrepareRequest = {}));\n/**\n * A request to resolve the incoming calls for a given `CallHierarchyItem`.\n *\n * @since 3.16.0\n */\nvar CallHierarchyIncomingCallsRequest;\n(function (CallHierarchyIncomingCallsRequest) {\n CallHierarchyIncomingCallsRequest.method = 'callHierarchy/incomingCalls';\n CallHierarchyIncomingCallsRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CallHierarchyIncomingCallsRequest.type = new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest.method);\n})(CallHierarchyIncomingCallsRequest = exports.CallHierarchyIncomingCallsRequest || (exports.CallHierarchyIncomingCallsRequest = {}));\n/**\n * A request to resolve the outgoing calls for a given `CallHierarchyItem`.\n *\n * @since 3.16.0\n */\nvar CallHierarchyOutgoingCallsRequest;\n(function (CallHierarchyOutgoingCallsRequest) {\n CallHierarchyOutgoingCallsRequest.method = 'callHierarchy/outgoingCalls';\n CallHierarchyOutgoingCallsRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CallHierarchyOutgoingCallsRequest.type = new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest.method);\n})(CallHierarchyOutgoingCallsRequest = exports.CallHierarchyOutgoingCallsRequest || (exports.CallHierarchyOutgoingCallsRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SemanticTokensRefreshRequest = exports.SemanticTokensRangeRequest = exports.SemanticTokensDeltaRequest = exports.SemanticTokensRequest = exports.SemanticTokensRegistrationType = exports.TokenFormat = void 0;\nconst messages_1 = require(\"./messages\");\n//------- 'textDocument/semanticTokens' -----\nvar TokenFormat;\n(function (TokenFormat) {\n TokenFormat.Relative = 'relative';\n})(TokenFormat = exports.TokenFormat || (exports.TokenFormat = {}));\nvar SemanticTokensRegistrationType;\n(function (SemanticTokensRegistrationType) {\n SemanticTokensRegistrationType.method = 'textDocument/semanticTokens';\n SemanticTokensRegistrationType.type = new messages_1.RegistrationType(SemanticTokensRegistrationType.method);\n})(SemanticTokensRegistrationType = exports.SemanticTokensRegistrationType || (exports.SemanticTokensRegistrationType = {}));\n/**\n * @since 3.16.0\n */\nvar SemanticTokensRequest;\n(function (SemanticTokensRequest) {\n SemanticTokensRequest.method = 'textDocument/semanticTokens/full';\n SemanticTokensRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n SemanticTokensRequest.type = new messages_1.ProtocolRequestType(SemanticTokensRequest.method);\n SemanticTokensRequest.registrationMethod = SemanticTokensRegistrationType.method;\n})(SemanticTokensRequest = exports.SemanticTokensRequest || (exports.SemanticTokensRequest = {}));\n/**\n * @since 3.16.0\n */\nvar SemanticTokensDeltaRequest;\n(function (SemanticTokensDeltaRequest) {\n SemanticTokensDeltaRequest.method = 'textDocument/semanticTokens/full/delta';\n SemanticTokensDeltaRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n SemanticTokensDeltaRequest.type = new messages_1.ProtocolRequestType(SemanticTokensDeltaRequest.method);\n SemanticTokensDeltaRequest.registrationMethod = SemanticTokensRegistrationType.method;\n})(SemanticTokensDeltaRequest = exports.SemanticTokensDeltaRequest || (exports.SemanticTokensDeltaRequest = {}));\n/**\n * @since 3.16.0\n */\nvar SemanticTokensRangeRequest;\n(function (SemanticTokensRangeRequest) {\n SemanticTokensRangeRequest.method = 'textDocument/semanticTokens/range';\n SemanticTokensRangeRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n SemanticTokensRangeRequest.type = new messages_1.ProtocolRequestType(SemanticTokensRangeRequest.method);\n SemanticTokensRangeRequest.registrationMethod = SemanticTokensRegistrationType.method;\n})(SemanticTokensRangeRequest = exports.SemanticTokensRangeRequest || (exports.SemanticTokensRangeRequest = {}));\n/**\n * @since 3.16.0\n */\nvar SemanticTokensRefreshRequest;\n(function (SemanticTokensRefreshRequest) {\n SemanticTokensRefreshRequest.method = `workspace/semanticTokens/refresh`;\n SemanticTokensRefreshRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n SemanticTokensRefreshRequest.type = new messages_1.ProtocolRequestType0(SemanticTokensRefreshRequest.method);\n})(SemanticTokensRefreshRequest = exports.SemanticTokensRefreshRequest || (exports.SemanticTokensRefreshRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShowDocumentRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to show a document. This request might open an\n * external program depending on the value of the URI to open.\n * For example a request to open `https://code.visualstudio.com/`\n * will very likely open the URI in a WEB browser.\n *\n * @since 3.16.0\n*/\nvar ShowDocumentRequest;\n(function (ShowDocumentRequest) {\n ShowDocumentRequest.method = 'window/showDocument';\n ShowDocumentRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n ShowDocumentRequest.type = new messages_1.ProtocolRequestType(ShowDocumentRequest.method);\n})(ShowDocumentRequest = exports.ShowDocumentRequest || (exports.ShowDocumentRequest = {}));\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinkedEditingRangeRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to provide ranges that can be edited together.\n *\n * @since 3.16.0\n */\nvar LinkedEditingRangeRequest;\n(function (LinkedEditingRangeRequest) {\n LinkedEditingRangeRequest.method = 'textDocument/linkedEditingRange';\n LinkedEditingRangeRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n LinkedEditingRangeRequest.type = new messages_1.ProtocolRequestType(LinkedEditingRangeRequest.method);\n})(LinkedEditingRangeRequest = exports.LinkedEditingRangeRequest || (exports.LinkedEditingRangeRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WillDeleteFilesRequest = exports.DidDeleteFilesNotification = exports.DidRenameFilesNotification = exports.WillRenameFilesRequest = exports.DidCreateFilesNotification = exports.WillCreateFilesRequest = exports.FileOperationPatternKind = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A pattern kind describing if a glob pattern matches a file a folder or\n * both.\n *\n * @since 3.16.0\n */\nvar FileOperationPatternKind;\n(function (FileOperationPatternKind) {\n /**\n * The pattern matches a file only.\n */\n FileOperationPatternKind.file = 'file';\n /**\n * The pattern matches a folder only.\n */\n FileOperationPatternKind.folder = 'folder';\n})(FileOperationPatternKind = exports.FileOperationPatternKind || (exports.FileOperationPatternKind = {}));\n/**\n * The will create files request is sent from the client to the server before files are actually\n * created as long as the creation is triggered from within the client.\n *\n * The request can return a `WorkspaceEdit` which will be applied to workspace before the\n * files are created. Hence the `WorkspaceEdit` can not manipulate the content of the file\n * to be created.\n *\n * @since 3.16.0\n */\nvar WillCreateFilesRequest;\n(function (WillCreateFilesRequest) {\n WillCreateFilesRequest.method = 'workspace/willCreateFiles';\n WillCreateFilesRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n WillCreateFilesRequest.type = new messages_1.ProtocolRequestType(WillCreateFilesRequest.method);\n})(WillCreateFilesRequest = exports.WillCreateFilesRequest || (exports.WillCreateFilesRequest = {}));\n/**\n * The did create files notification is sent from the client to the server when\n * files were created from within the client.\n *\n * @since 3.16.0\n */\nvar DidCreateFilesNotification;\n(function (DidCreateFilesNotification) {\n DidCreateFilesNotification.method = 'workspace/didCreateFiles';\n DidCreateFilesNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidCreateFilesNotification.type = new messages_1.ProtocolNotificationType(DidCreateFilesNotification.method);\n})(DidCreateFilesNotification = exports.DidCreateFilesNotification || (exports.DidCreateFilesNotification = {}));\n/**\n * The will rename files request is sent from the client to the server before files are actually\n * renamed as long as the rename is triggered from within the client.\n *\n * @since 3.16.0\n */\nvar WillRenameFilesRequest;\n(function (WillRenameFilesRequest) {\n WillRenameFilesRequest.method = 'workspace/willRenameFiles';\n WillRenameFilesRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n WillRenameFilesRequest.type = new messages_1.ProtocolRequestType(WillRenameFilesRequest.method);\n})(WillRenameFilesRequest = exports.WillRenameFilesRequest || (exports.WillRenameFilesRequest = {}));\n/**\n * The did rename files notification is sent from the client to the server when\n * files were renamed from within the client.\n *\n * @since 3.16.0\n */\nvar DidRenameFilesNotification;\n(function (DidRenameFilesNotification) {\n DidRenameFilesNotification.method = 'workspace/didRenameFiles';\n DidRenameFilesNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidRenameFilesNotification.type = new messages_1.ProtocolNotificationType(DidRenameFilesNotification.method);\n})(DidRenameFilesNotification = exports.DidRenameFilesNotification || (exports.DidRenameFilesNotification = {}));\n/**\n * The will delete files request is sent from the client to the server before files are actually\n * deleted as long as the deletion is triggered from within the client.\n *\n * @since 3.16.0\n */\nvar DidDeleteFilesNotification;\n(function (DidDeleteFilesNotification) {\n DidDeleteFilesNotification.method = 'workspace/didDeleteFiles';\n DidDeleteFilesNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidDeleteFilesNotification.type = new messages_1.ProtocolNotificationType(DidDeleteFilesNotification.method);\n})(DidDeleteFilesNotification = exports.DidDeleteFilesNotification || (exports.DidDeleteFilesNotification = {}));\n/**\n * The did delete files notification is sent from the client to the server when\n * files were deleted from within the client.\n *\n * @since 3.16.0\n */\nvar WillDeleteFilesRequest;\n(function (WillDeleteFilesRequest) {\n WillDeleteFilesRequest.method = 'workspace/willDeleteFiles';\n WillDeleteFilesRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n WillDeleteFilesRequest.type = new messages_1.ProtocolRequestType(WillDeleteFilesRequest.method);\n})(WillDeleteFilesRequest = exports.WillDeleteFilesRequest || (exports.WillDeleteFilesRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonikerRequest = exports.MonikerKind = exports.UniquenessLevel = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * Moniker uniqueness level to define scope of the moniker.\n *\n * @since 3.16.0\n */\nvar UniquenessLevel;\n(function (UniquenessLevel) {\n /**\n * The moniker is only unique inside a document\n */\n UniquenessLevel.document = 'document';\n /**\n * The moniker is unique inside a project for which a dump got created\n */\n UniquenessLevel.project = 'project';\n /**\n * The moniker is unique inside the group to which a project belongs\n */\n UniquenessLevel.group = 'group';\n /**\n * The moniker is unique inside the moniker scheme.\n */\n UniquenessLevel.scheme = 'scheme';\n /**\n * The moniker is globally unique\n */\n UniquenessLevel.global = 'global';\n})(UniquenessLevel = exports.UniquenessLevel || (exports.UniquenessLevel = {}));\n/**\n * The moniker kind.\n *\n * @since 3.16.0\n */\nvar MonikerKind;\n(function (MonikerKind) {\n /**\n * The moniker represent a symbol that is imported into a project\n */\n MonikerKind.$import = 'import';\n /**\n * The moniker represents a symbol that is exported from a project\n */\n MonikerKind.$export = 'export';\n /**\n * The moniker represents a symbol that is local to a project (e.g. a local\n * variable of a function, a class not visible outside the project, ...)\n */\n MonikerKind.local = 'local';\n})(MonikerKind = exports.MonikerKind || (exports.MonikerKind = {}));\n/**\n * A request to get the moniker of a symbol at a given text document position.\n * The request parameter is of type {@link TextDocumentPositionParams}.\n * The response is of type {@link Moniker Moniker[]} or `null`.\n */\nvar MonikerRequest;\n(function (MonikerRequest) {\n MonikerRequest.method = 'textDocument/moniker';\n MonikerRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n MonikerRequest.type = new messages_1.ProtocolRequestType(MonikerRequest.method);\n})(MonikerRequest = exports.MonikerRequest || (exports.MonikerRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) TypeFox, Microsoft and others. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeHierarchySubtypesRequest = exports.TypeHierarchySupertypesRequest = exports.TypeHierarchyPrepareRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to result a `TypeHierarchyItem` in a document at a given position.\n * Can be used as an input to a subtypes or supertypes type hierarchy.\n *\n * @since 3.17.0\n */\nvar TypeHierarchyPrepareRequest;\n(function (TypeHierarchyPrepareRequest) {\n TypeHierarchyPrepareRequest.method = 'textDocument/prepareTypeHierarchy';\n TypeHierarchyPrepareRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n TypeHierarchyPrepareRequest.type = new messages_1.ProtocolRequestType(TypeHierarchyPrepareRequest.method);\n})(TypeHierarchyPrepareRequest = exports.TypeHierarchyPrepareRequest || (exports.TypeHierarchyPrepareRequest = {}));\n/**\n * A request to resolve the supertypes for a given `TypeHierarchyItem`.\n *\n * @since 3.17.0\n */\nvar TypeHierarchySupertypesRequest;\n(function (TypeHierarchySupertypesRequest) {\n TypeHierarchySupertypesRequest.method = 'typeHierarchy/supertypes';\n TypeHierarchySupertypesRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n TypeHierarchySupertypesRequest.type = new messages_1.ProtocolRequestType(TypeHierarchySupertypesRequest.method);\n})(TypeHierarchySupertypesRequest = exports.TypeHierarchySupertypesRequest || (exports.TypeHierarchySupertypesRequest = {}));\n/**\n * A request to resolve the subtypes for a given `TypeHierarchyItem`.\n *\n * @since 3.17.0\n */\nvar TypeHierarchySubtypesRequest;\n(function (TypeHierarchySubtypesRequest) {\n TypeHierarchySubtypesRequest.method = 'typeHierarchy/subtypes';\n TypeHierarchySubtypesRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n TypeHierarchySubtypesRequest.type = new messages_1.ProtocolRequestType(TypeHierarchySubtypesRequest.method);\n})(TypeHierarchySubtypesRequest = exports.TypeHierarchySubtypesRequest || (exports.TypeHierarchySubtypesRequest = {}));\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InlineValueRefreshRequest = exports.InlineValueRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to provide inline values in a document. The request's parameter is of\n * type {@link InlineValueParams}, the response is of type\n * {@link InlineValue InlineValue[]} or a Thenable that resolves to such.\n *\n * @since 3.17.0\n */\nvar InlineValueRequest;\n(function (InlineValueRequest) {\n InlineValueRequest.method = 'textDocument/inlineValue';\n InlineValueRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n InlineValueRequest.type = new messages_1.ProtocolRequestType(InlineValueRequest.method);\n})(InlineValueRequest = exports.InlineValueRequest || (exports.InlineValueRequest = {}));\n/**\n * @since 3.17.0\n */\nvar InlineValueRefreshRequest;\n(function (InlineValueRefreshRequest) {\n InlineValueRefreshRequest.method = `workspace/inlineValue/refresh`;\n InlineValueRefreshRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n InlineValueRefreshRequest.type = new messages_1.ProtocolRequestType0(InlineValueRefreshRequest.method);\n})(InlineValueRefreshRequest = exports.InlineValueRefreshRequest || (exports.InlineValueRefreshRequest = {}));\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InlayHintRefreshRequest = exports.InlayHintResolveRequest = exports.InlayHintRequest = void 0;\nconst messages_1 = require(\"./messages\");\n/**\n * A request to provide inlay hints in a document. The request's parameter is of\n * type {@link InlayHintsParams}, the response is of type\n * {@link InlayHint InlayHint[]} or a Thenable that resolves to such.\n *\n * @since 3.17.0\n */\nvar InlayHintRequest;\n(function (InlayHintRequest) {\n InlayHintRequest.method = 'textDocument/inlayHint';\n InlayHintRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n InlayHintRequest.type = new messages_1.ProtocolRequestType(InlayHintRequest.method);\n})(InlayHintRequest = exports.InlayHintRequest || (exports.InlayHintRequest = {}));\n/**\n * A request to resolve additional properties for an inlay hint.\n * The request's parameter is of type {@link InlayHint}, the response is\n * of type {@link InlayHint} or a Thenable that resolves to such.\n *\n * @since 3.17.0\n */\nvar InlayHintResolveRequest;\n(function (InlayHintResolveRequest) {\n InlayHintResolveRequest.method = 'inlayHint/resolve';\n InlayHintResolveRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n InlayHintResolveRequest.type = new messages_1.ProtocolRequestType(InlayHintResolveRequest.method);\n})(InlayHintResolveRequest = exports.InlayHintResolveRequest || (exports.InlayHintResolveRequest = {}));\n/**\n * @since 3.17.0\n */\nvar InlayHintRefreshRequest;\n(function (InlayHintRefreshRequest) {\n InlayHintRefreshRequest.method = `workspace/inlayHint/refresh`;\n InlayHintRefreshRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n InlayHintRefreshRequest.type = new messages_1.ProtocolRequestType0(InlayHintRefreshRequest.method);\n})(InlayHintRefreshRequest = exports.InlayHintRefreshRequest || (exports.InlayHintRefreshRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DiagnosticRefreshRequest = exports.WorkspaceDiagnosticRequest = exports.DocumentDiagnosticRequest = exports.DocumentDiagnosticReportKind = exports.DiagnosticServerCancellationData = void 0;\nconst vscode_jsonrpc_1 = require(\"vscode-jsonrpc\");\nconst Is = require(\"./utils/is\");\nconst messages_1 = require(\"./messages\");\n/**\n * @since 3.17.0\n */\nvar DiagnosticServerCancellationData;\n(function (DiagnosticServerCancellationData) {\n function is(value) {\n const candidate = value;\n return candidate && Is.boolean(candidate.retriggerRequest);\n }\n DiagnosticServerCancellationData.is = is;\n})(DiagnosticServerCancellationData = exports.DiagnosticServerCancellationData || (exports.DiagnosticServerCancellationData = {}));\n/**\n * The document diagnostic report kinds.\n *\n * @since 3.17.0\n */\nvar DocumentDiagnosticReportKind;\n(function (DocumentDiagnosticReportKind) {\n /**\n * A diagnostic report with a full\n * set of problems.\n */\n DocumentDiagnosticReportKind.Full = 'full';\n /**\n * A report indicating that the last\n * returned report is still accurate.\n */\n DocumentDiagnosticReportKind.Unchanged = 'unchanged';\n})(DocumentDiagnosticReportKind = exports.DocumentDiagnosticReportKind || (exports.DocumentDiagnosticReportKind = {}));\n/**\n * The document diagnostic request definition.\n *\n * @since 3.17.0\n */\nvar DocumentDiagnosticRequest;\n(function (DocumentDiagnosticRequest) {\n DocumentDiagnosticRequest.method = 'textDocument/diagnostic';\n DocumentDiagnosticRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentDiagnosticRequest.type = new messages_1.ProtocolRequestType(DocumentDiagnosticRequest.method);\n DocumentDiagnosticRequest.partialResult = new vscode_jsonrpc_1.ProgressType();\n})(DocumentDiagnosticRequest = exports.DocumentDiagnosticRequest || (exports.DocumentDiagnosticRequest = {}));\n/**\n * The workspace diagnostic request definition.\n *\n * @since 3.17.0\n */\nvar WorkspaceDiagnosticRequest;\n(function (WorkspaceDiagnosticRequest) {\n WorkspaceDiagnosticRequest.method = 'workspace/diagnostic';\n WorkspaceDiagnosticRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n WorkspaceDiagnosticRequest.type = new messages_1.ProtocolRequestType(WorkspaceDiagnosticRequest.method);\n WorkspaceDiagnosticRequest.partialResult = new vscode_jsonrpc_1.ProgressType();\n})(WorkspaceDiagnosticRequest = exports.WorkspaceDiagnosticRequest || (exports.WorkspaceDiagnosticRequest = {}));\n/**\n * The diagnostic refresh request definition.\n *\n * @since 3.17.0\n */\nvar DiagnosticRefreshRequest;\n(function (DiagnosticRefreshRequest) {\n DiagnosticRefreshRequest.method = `workspace/diagnostic/refresh`;\n DiagnosticRefreshRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n DiagnosticRefreshRequest.type = new messages_1.ProtocolRequestType0(DiagnosticRefreshRequest.method);\n})(DiagnosticRefreshRequest = exports.DiagnosticRefreshRequest || (exports.DiagnosticRefreshRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DidCloseNotebookDocumentNotification = exports.DidSaveNotebookDocumentNotification = exports.DidChangeNotebookDocumentNotification = exports.NotebookCellArrayChange = exports.DidOpenNotebookDocumentNotification = exports.NotebookDocumentSyncRegistrationType = exports.NotebookDocument = exports.NotebookCell = exports.ExecutionSummary = exports.NotebookCellKind = void 0;\nconst vscode_languageserver_types_1 = require(\"vscode-languageserver-types\");\nconst Is = require(\"./utils/is\");\nconst messages_1 = require(\"./messages\");\n/**\n * A notebook cell kind.\n *\n * @since 3.17.0\n */\nvar NotebookCellKind;\n(function (NotebookCellKind) {\n /**\n * A markup-cell is formatted source that is used for display.\n */\n NotebookCellKind.Markup = 1;\n /**\n * A code-cell is source code.\n */\n NotebookCellKind.Code = 2;\n function is(value) {\n return value === 1 || value === 2;\n }\n NotebookCellKind.is = is;\n})(NotebookCellKind = exports.NotebookCellKind || (exports.NotebookCellKind = {}));\nvar ExecutionSummary;\n(function (ExecutionSummary) {\n function create(executionOrder, success) {\n const result = { executionOrder };\n if (success === true || success === false) {\n result.success = success;\n }\n return result;\n }\n ExecutionSummary.create = create;\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && vscode_languageserver_types_1.uinteger.is(candidate.executionOrder) && (candidate.success === undefined || Is.boolean(candidate.success));\n }\n ExecutionSummary.is = is;\n function equals(one, other) {\n if (one === other) {\n return true;\n }\n if (one === null || one === undefined || other === null || other === undefined) {\n return false;\n }\n return one.executionOrder === other.executionOrder && one.success === other.success;\n }\n ExecutionSummary.equals = equals;\n})(ExecutionSummary = exports.ExecutionSummary || (exports.ExecutionSummary = {}));\nvar NotebookCell;\n(function (NotebookCell) {\n function create(kind, document) {\n return { kind, document };\n }\n NotebookCell.create = create;\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && NotebookCellKind.is(candidate.kind) && vscode_languageserver_types_1.DocumentUri.is(candidate.document) &&\n (candidate.metadata === undefined || Is.objectLiteral(candidate.metadata));\n }\n NotebookCell.is = is;\n function diff(one, two) {\n const result = new Set();\n if (one.document !== two.document) {\n result.add('document');\n }\n if (one.kind !== two.kind) {\n result.add('kind');\n }\n if (one.executionSummary !== two.executionSummary) {\n result.add('executionSummary');\n }\n if ((one.metadata !== undefined || two.metadata !== undefined) && !equalsMetadata(one.metadata, two.metadata)) {\n result.add('metadata');\n }\n if ((one.executionSummary !== undefined || two.executionSummary !== undefined) && !ExecutionSummary.equals(one.executionSummary, two.executionSummary)) {\n result.add('executionSummary');\n }\n return result;\n }\n NotebookCell.diff = diff;\n function equalsMetadata(one, other) {\n if (one === other) {\n return true;\n }\n if (one === null || one === undefined || other === null || other === undefined) {\n return false;\n }\n if (typeof one !== typeof other) {\n return false;\n }\n if (typeof one !== 'object') {\n return false;\n }\n const oneArray = Array.isArray(one);\n const otherArray = Array.isArray(other);\n if (oneArray !== otherArray) {\n return false;\n }\n if (oneArray && otherArray) {\n if (one.length !== other.length) {\n return false;\n }\n for (let i = 0; i < one.length; i++) {\n if (!equalsMetadata(one[i], other[i])) {\n return false;\n }\n }\n }\n if (Is.objectLiteral(one) && Is.objectLiteral(other)) {\n const oneKeys = Object.keys(one);\n const otherKeys = Object.keys(other);\n if (oneKeys.length !== otherKeys.length) {\n return false;\n }\n oneKeys.sort();\n otherKeys.sort();\n if (!equalsMetadata(oneKeys, otherKeys)) {\n return false;\n }\n for (let i = 0; i < oneKeys.length; i++) {\n const prop = oneKeys[i];\n if (!equalsMetadata(one[prop], other[prop])) {\n return false;\n }\n }\n }\n return true;\n }\n})(NotebookCell = exports.NotebookCell || (exports.NotebookCell = {}));\nvar NotebookDocument;\n(function (NotebookDocument) {\n function create(uri, notebookType, version, cells) {\n return { uri, notebookType, version, cells };\n }\n NotebookDocument.create = create;\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.uri) && vscode_languageserver_types_1.integer.is(candidate.version) && Is.typedArray(candidate.cells, NotebookCell.is);\n }\n NotebookDocument.is = is;\n})(NotebookDocument = exports.NotebookDocument || (exports.NotebookDocument = {}));\nvar NotebookDocumentSyncRegistrationType;\n(function (NotebookDocumentSyncRegistrationType) {\n NotebookDocumentSyncRegistrationType.method = 'notebookDocument/sync';\n NotebookDocumentSyncRegistrationType.messageDirection = messages_1.MessageDirection.clientToServer;\n NotebookDocumentSyncRegistrationType.type = new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType.method);\n})(NotebookDocumentSyncRegistrationType = exports.NotebookDocumentSyncRegistrationType || (exports.NotebookDocumentSyncRegistrationType = {}));\n/**\n * A notification sent when a notebook opens.\n *\n * @since 3.17.0\n */\nvar DidOpenNotebookDocumentNotification;\n(function (DidOpenNotebookDocumentNotification) {\n DidOpenNotebookDocumentNotification.method = 'notebookDocument/didOpen';\n DidOpenNotebookDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidOpenNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification.method);\n DidOpenNotebookDocumentNotification.registrationMethod = NotebookDocumentSyncRegistrationType.method;\n})(DidOpenNotebookDocumentNotification = exports.DidOpenNotebookDocumentNotification || (exports.DidOpenNotebookDocumentNotification = {}));\nvar NotebookCellArrayChange;\n(function (NotebookCellArrayChange) {\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && vscode_languageserver_types_1.uinteger.is(candidate.start) && vscode_languageserver_types_1.uinteger.is(candidate.deleteCount) && (candidate.cells === undefined || Is.typedArray(candidate.cells, NotebookCell.is));\n }\n NotebookCellArrayChange.is = is;\n function create(start, deleteCount, cells) {\n const result = { start, deleteCount };\n if (cells !== undefined) {\n result.cells = cells;\n }\n return result;\n }\n NotebookCellArrayChange.create = create;\n})(NotebookCellArrayChange = exports.NotebookCellArrayChange || (exports.NotebookCellArrayChange = {}));\nvar DidChangeNotebookDocumentNotification;\n(function (DidChangeNotebookDocumentNotification) {\n DidChangeNotebookDocumentNotification.method = 'notebookDocument/didChange';\n DidChangeNotebookDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidChangeNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification.method);\n DidChangeNotebookDocumentNotification.registrationMethod = NotebookDocumentSyncRegistrationType.method;\n})(DidChangeNotebookDocumentNotification = exports.DidChangeNotebookDocumentNotification || (exports.DidChangeNotebookDocumentNotification = {}));\n/**\n * A notification sent when a notebook document is saved.\n *\n * @since 3.17.0\n */\nvar DidSaveNotebookDocumentNotification;\n(function (DidSaveNotebookDocumentNotification) {\n DidSaveNotebookDocumentNotification.method = 'notebookDocument/didSave';\n DidSaveNotebookDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidSaveNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification.method);\n DidSaveNotebookDocumentNotification.registrationMethod = NotebookDocumentSyncRegistrationType.method;\n})(DidSaveNotebookDocumentNotification = exports.DidSaveNotebookDocumentNotification || (exports.DidSaveNotebookDocumentNotification = {}));\n/**\n * A notification sent when a notebook closes.\n *\n * @since 3.17.0\n */\nvar DidCloseNotebookDocumentNotification;\n(function (DidCloseNotebookDocumentNotification) {\n DidCloseNotebookDocumentNotification.method = 'notebookDocument/didClose';\n DidCloseNotebookDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidCloseNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification.method);\n DidCloseNotebookDocumentNotification.registrationMethod = NotebookDocumentSyncRegistrationType.method;\n})(DidCloseNotebookDocumentNotification = exports.DidCloseNotebookDocumentNotification || (exports.DidCloseNotebookDocumentNotification = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkspaceSymbolRequest = exports.CodeActionResolveRequest = exports.CodeActionRequest = exports.DocumentSymbolRequest = exports.DocumentHighlightRequest = exports.ReferencesRequest = exports.DefinitionRequest = exports.SignatureHelpRequest = exports.SignatureHelpTriggerKind = exports.HoverRequest = exports.CompletionResolveRequest = exports.CompletionRequest = exports.CompletionTriggerKind = exports.PublishDiagnosticsNotification = exports.WatchKind = exports.RelativePattern = exports.FileChangeType = exports.DidChangeWatchedFilesNotification = exports.WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentNotification = exports.TextDocumentSaveReason = exports.DidSaveTextDocumentNotification = exports.DidCloseTextDocumentNotification = exports.DidChangeTextDocumentNotification = exports.TextDocumentContentChangeEvent = exports.DidOpenTextDocumentNotification = exports.TextDocumentSyncKind = exports.TelemetryEventNotification = exports.LogMessageNotification = exports.ShowMessageRequest = exports.ShowMessageNotification = exports.MessageType = exports.DidChangeConfigurationNotification = exports.ExitNotification = exports.ShutdownRequest = exports.InitializedNotification = exports.InitializeErrorCodes = exports.InitializeRequest = exports.WorkDoneProgressOptions = exports.TextDocumentRegistrationOptions = exports.StaticRegistrationOptions = exports.PositionEncodingKind = exports.FailureHandlingKind = exports.ResourceOperationKind = exports.UnregistrationRequest = exports.RegistrationRequest = exports.DocumentSelector = exports.NotebookCellTextDocumentFilter = exports.NotebookDocumentFilter = exports.TextDocumentFilter = void 0;\nexports.TypeHierarchySubtypesRequest = exports.TypeHierarchyPrepareRequest = exports.MonikerRequest = exports.MonikerKind = exports.UniquenessLevel = exports.WillDeleteFilesRequest = exports.DidDeleteFilesNotification = exports.WillRenameFilesRequest = exports.DidRenameFilesNotification = exports.WillCreateFilesRequest = exports.DidCreateFilesNotification = exports.FileOperationPatternKind = exports.LinkedEditingRangeRequest = exports.ShowDocumentRequest = exports.SemanticTokensRegistrationType = exports.SemanticTokensRefreshRequest = exports.SemanticTokensRangeRequest = exports.SemanticTokensDeltaRequest = exports.SemanticTokensRequest = exports.TokenFormat = exports.CallHierarchyPrepareRequest = exports.CallHierarchyOutgoingCallsRequest = exports.CallHierarchyIncomingCallsRequest = exports.WorkDoneProgressCancelNotification = exports.WorkDoneProgressCreateRequest = exports.WorkDoneProgress = exports.SelectionRangeRequest = exports.DeclarationRequest = exports.FoldingRangeRequest = exports.ColorPresentationRequest = exports.DocumentColorRequest = exports.ConfigurationRequest = exports.DidChangeWorkspaceFoldersNotification = exports.WorkspaceFoldersRequest = exports.TypeDefinitionRequest = exports.ImplementationRequest = exports.ApplyWorkspaceEditRequest = exports.ExecuteCommandRequest = exports.PrepareRenameRequest = exports.RenameRequest = exports.PrepareSupportDefaultBehavior = exports.DocumentOnTypeFormattingRequest = exports.DocumentRangeFormattingRequest = exports.DocumentFormattingRequest = exports.DocumentLinkResolveRequest = exports.DocumentLinkRequest = exports.CodeLensRefreshRequest = exports.CodeLensResolveRequest = exports.CodeLensRequest = exports.WorkspaceSymbolResolveRequest = void 0;\nexports.DidCloseNotebookDocumentNotification = exports.DidSaveNotebookDocumentNotification = exports.DidChangeNotebookDocumentNotification = exports.NotebookCellArrayChange = exports.DidOpenNotebookDocumentNotification = exports.NotebookDocumentSyncRegistrationType = exports.NotebookDocument = exports.NotebookCell = exports.ExecutionSummary = exports.NotebookCellKind = exports.DiagnosticRefreshRequest = exports.WorkspaceDiagnosticRequest = exports.DocumentDiagnosticRequest = exports.DocumentDiagnosticReportKind = exports.DiagnosticServerCancellationData = exports.InlayHintRefreshRequest = exports.InlayHintResolveRequest = exports.InlayHintRequest = exports.InlineValueRefreshRequest = exports.InlineValueRequest = exports.TypeHierarchySupertypesRequest = void 0;\nconst messages_1 = require(\"./messages\");\nconst vscode_languageserver_types_1 = require(\"vscode-languageserver-types\");\nconst Is = require(\"./utils/is\");\nconst protocol_implementation_1 = require(\"./protocol.implementation\");\nObject.defineProperty(exports, \"ImplementationRequest\", { enumerable: true, get: function () { return protocol_implementation_1.ImplementationRequest; } });\nconst protocol_typeDefinition_1 = require(\"./protocol.typeDefinition\");\nObject.defineProperty(exports, \"TypeDefinitionRequest\", { enumerable: true, get: function () { return protocol_typeDefinition_1.TypeDefinitionRequest; } });\nconst protocol_workspaceFolder_1 = require(\"./protocol.workspaceFolder\");\nObject.defineProperty(exports, \"WorkspaceFoldersRequest\", { enumerable: true, get: function () { return protocol_workspaceFolder_1.WorkspaceFoldersRequest; } });\nObject.defineProperty(exports, \"DidChangeWorkspaceFoldersNotification\", { enumerable: true, get: function () { return protocol_workspaceFolder_1.DidChangeWorkspaceFoldersNotification; } });\nconst protocol_configuration_1 = require(\"./protocol.configuration\");\nObject.defineProperty(exports, \"ConfigurationRequest\", { enumerable: true, get: function () { return protocol_configuration_1.ConfigurationRequest; } });\nconst protocol_colorProvider_1 = require(\"./protocol.colorProvider\");\nObject.defineProperty(exports, \"DocumentColorRequest\", { enumerable: true, get: function () { return protocol_colorProvider_1.DocumentColorRequest; } });\nObject.defineProperty(exports, \"ColorPresentationRequest\", { enumerable: true, get: function () { return protocol_colorProvider_1.ColorPresentationRequest; } });\nconst protocol_foldingRange_1 = require(\"./protocol.foldingRange\");\nObject.defineProperty(exports, \"FoldingRangeRequest\", { enumerable: true, get: function () { return protocol_foldingRange_1.FoldingRangeRequest; } });\nconst protocol_declaration_1 = require(\"./protocol.declaration\");\nObject.defineProperty(exports, \"DeclarationRequest\", { enumerable: true, get: function () { return protocol_declaration_1.DeclarationRequest; } });\nconst protocol_selectionRange_1 = require(\"./protocol.selectionRange\");\nObject.defineProperty(exports, \"SelectionRangeRequest\", { enumerable: true, get: function () { return protocol_selectionRange_1.SelectionRangeRequest; } });\nconst protocol_progress_1 = require(\"./protocol.progress\");\nObject.defineProperty(exports, \"WorkDoneProgress\", { enumerable: true, get: function () { return protocol_progress_1.WorkDoneProgress; } });\nObject.defineProperty(exports, \"WorkDoneProgressCreateRequest\", { enumerable: true, get: function () { return protocol_progress_1.WorkDoneProgressCreateRequest; } });\nObject.defineProperty(exports, \"WorkDoneProgressCancelNotification\", { enumerable: true, get: function () { return protocol_progress_1.WorkDoneProgressCancelNotification; } });\nconst protocol_callHierarchy_1 = require(\"./protocol.callHierarchy\");\nObject.defineProperty(exports, \"CallHierarchyIncomingCallsRequest\", { enumerable: true, get: function () { return protocol_callHierarchy_1.CallHierarchyIncomingCallsRequest; } });\nObject.defineProperty(exports, \"CallHierarchyOutgoingCallsRequest\", { enumerable: true, get: function () { return protocol_callHierarchy_1.CallHierarchyOutgoingCallsRequest; } });\nObject.defineProperty(exports, \"CallHierarchyPrepareRequest\", { enumerable: true, get: function () { return protocol_callHierarchy_1.CallHierarchyPrepareRequest; } });\nconst protocol_semanticTokens_1 = require(\"./protocol.semanticTokens\");\nObject.defineProperty(exports, \"TokenFormat\", { enumerable: true, get: function () { return protocol_semanticTokens_1.TokenFormat; } });\nObject.defineProperty(exports, \"SemanticTokensRequest\", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensRequest; } });\nObject.defineProperty(exports, \"SemanticTokensDeltaRequest\", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensDeltaRequest; } });\nObject.defineProperty(exports, \"SemanticTokensRangeRequest\", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensRangeRequest; } });\nObject.defineProperty(exports, \"SemanticTokensRefreshRequest\", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensRefreshRequest; } });\nObject.defineProperty(exports, \"SemanticTokensRegistrationType\", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensRegistrationType; } });\nconst protocol_showDocument_1 = require(\"./protocol.showDocument\");\nObject.defineProperty(exports, \"ShowDocumentRequest\", { enumerable: true, get: function () { return protocol_showDocument_1.ShowDocumentRequest; } });\nconst protocol_linkedEditingRange_1 = require(\"./protocol.linkedEditingRange\");\nObject.defineProperty(exports, \"LinkedEditingRangeRequest\", { enumerable: true, get: function () { return protocol_linkedEditingRange_1.LinkedEditingRangeRequest; } });\nconst protocol_fileOperations_1 = require(\"./protocol.fileOperations\");\nObject.defineProperty(exports, \"FileOperationPatternKind\", { enumerable: true, get: function () { return protocol_fileOperations_1.FileOperationPatternKind; } });\nObject.defineProperty(exports, \"DidCreateFilesNotification\", { enumerable: true, get: function () { return protocol_fileOperations_1.DidCreateFilesNotification; } });\nObject.defineProperty(exports, \"WillCreateFilesRequest\", { enumerable: true, get: function () { return protocol_fileOperations_1.WillCreateFilesRequest; } });\nObject.defineProperty(exports, \"DidRenameFilesNotification\", { enumerable: true, get: function () { return protocol_fileOperations_1.DidRenameFilesNotification; } });\nObject.defineProperty(exports, \"WillRenameFilesRequest\", { enumerable: true, get: function () { return protocol_fileOperations_1.WillRenameFilesRequest; } });\nObject.defineProperty(exports, \"DidDeleteFilesNotification\", { enumerable: true, get: function () { return protocol_fileOperations_1.DidDeleteFilesNotification; } });\nObject.defineProperty(exports, \"WillDeleteFilesRequest\", { enumerable: true, get: function () { return protocol_fileOperations_1.WillDeleteFilesRequest; } });\nconst protocol_moniker_1 = require(\"./protocol.moniker\");\nObject.defineProperty(exports, \"UniquenessLevel\", { enumerable: true, get: function () { return protocol_moniker_1.UniquenessLevel; } });\nObject.defineProperty(exports, \"MonikerKind\", { enumerable: true, get: function () { return protocol_moniker_1.MonikerKind; } });\nObject.defineProperty(exports, \"MonikerRequest\", { enumerable: true, get: function () { return protocol_moniker_1.MonikerRequest; } });\nconst protocol_typeHierarchy_1 = require(\"./protocol.typeHierarchy\");\nObject.defineProperty(exports, \"TypeHierarchyPrepareRequest\", { enumerable: true, get: function () { return protocol_typeHierarchy_1.TypeHierarchyPrepareRequest; } });\nObject.defineProperty(exports, \"TypeHierarchySubtypesRequest\", { enumerable: true, get: function () { return protocol_typeHierarchy_1.TypeHierarchySubtypesRequest; } });\nObject.defineProperty(exports, \"TypeHierarchySupertypesRequest\", { enumerable: true, get: function () { return protocol_typeHierarchy_1.TypeHierarchySupertypesRequest; } });\nconst protocol_inlineValue_1 = require(\"./protocol.inlineValue\");\nObject.defineProperty(exports, \"InlineValueRequest\", { enumerable: true, get: function () { return protocol_inlineValue_1.InlineValueRequest; } });\nObject.defineProperty(exports, \"InlineValueRefreshRequest\", { enumerable: true, get: function () { return protocol_inlineValue_1.InlineValueRefreshRequest; } });\nconst protocol_inlayHint_1 = require(\"./protocol.inlayHint\");\nObject.defineProperty(exports, \"InlayHintRequest\", { enumerable: true, get: function () { return protocol_inlayHint_1.InlayHintRequest; } });\nObject.defineProperty(exports, \"InlayHintResolveRequest\", { enumerable: true, get: function () { return protocol_inlayHint_1.InlayHintResolveRequest; } });\nObject.defineProperty(exports, \"InlayHintRefreshRequest\", { enumerable: true, get: function () { return protocol_inlayHint_1.InlayHintRefreshRequest; } });\nconst protocol_diagnostic_1 = require(\"./protocol.diagnostic\");\nObject.defineProperty(exports, \"DiagnosticServerCancellationData\", { enumerable: true, get: function () { return protocol_diagnostic_1.DiagnosticServerCancellationData; } });\nObject.defineProperty(exports, \"DocumentDiagnosticReportKind\", { enumerable: true, get: function () { return protocol_diagnostic_1.DocumentDiagnosticReportKind; } });\nObject.defineProperty(exports, \"DocumentDiagnosticRequest\", { enumerable: true, get: function () { return protocol_diagnostic_1.DocumentDiagnosticRequest; } });\nObject.defineProperty(exports, \"WorkspaceDiagnosticRequest\", { enumerable: true, get: function () { return protocol_diagnostic_1.WorkspaceDiagnosticRequest; } });\nObject.defineProperty(exports, \"DiagnosticRefreshRequest\", { enumerable: true, get: function () { return protocol_diagnostic_1.DiagnosticRefreshRequest; } });\nconst protocol_notebook_1 = require(\"./protocol.notebook\");\nObject.defineProperty(exports, \"NotebookCellKind\", { enumerable: true, get: function () { return protocol_notebook_1.NotebookCellKind; } });\nObject.defineProperty(exports, \"ExecutionSummary\", { enumerable: true, get: function () { return protocol_notebook_1.ExecutionSummary; } });\nObject.defineProperty(exports, \"NotebookCell\", { enumerable: true, get: function () { return protocol_notebook_1.NotebookCell; } });\nObject.defineProperty(exports, \"NotebookDocument\", { enumerable: true, get: function () { return protocol_notebook_1.NotebookDocument; } });\nObject.defineProperty(exports, \"NotebookDocumentSyncRegistrationType\", { enumerable: true, get: function () { return protocol_notebook_1.NotebookDocumentSyncRegistrationType; } });\nObject.defineProperty(exports, \"DidOpenNotebookDocumentNotification\", { enumerable: true, get: function () { return protocol_notebook_1.DidOpenNotebookDocumentNotification; } });\nObject.defineProperty(exports, \"NotebookCellArrayChange\", { enumerable: true, get: function () { return protocol_notebook_1.NotebookCellArrayChange; } });\nObject.defineProperty(exports, \"DidChangeNotebookDocumentNotification\", { enumerable: true, get: function () { return protocol_notebook_1.DidChangeNotebookDocumentNotification; } });\nObject.defineProperty(exports, \"DidSaveNotebookDocumentNotification\", { enumerable: true, get: function () { return protocol_notebook_1.DidSaveNotebookDocumentNotification; } });\nObject.defineProperty(exports, \"DidCloseNotebookDocumentNotification\", { enumerable: true, get: function () { return protocol_notebook_1.DidCloseNotebookDocumentNotification; } });\n// @ts-ignore: to avoid inlining LocationLink as dynamic import\nlet __noDynamicImport;\n/**\n * The TextDocumentFilter namespace provides helper functions to work with\n * {@link TextDocumentFilter} literals.\n *\n * @since 3.17.0\n */\nvar TextDocumentFilter;\n(function (TextDocumentFilter) {\n function is(value) {\n const candidate = value;\n return Is.string(candidate.language) || Is.string(candidate.scheme) || Is.string(candidate.pattern);\n }\n TextDocumentFilter.is = is;\n})(TextDocumentFilter = exports.TextDocumentFilter || (exports.TextDocumentFilter = {}));\n/**\n * The NotebookDocumentFilter namespace provides helper functions to work with\n * {@link NotebookDocumentFilter} literals.\n *\n * @since 3.17.0\n */\nvar NotebookDocumentFilter;\n(function (NotebookDocumentFilter) {\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && (Is.string(candidate.notebookType) || Is.string(candidate.scheme) || Is.string(candidate.pattern));\n }\n NotebookDocumentFilter.is = is;\n})(NotebookDocumentFilter = exports.NotebookDocumentFilter || (exports.NotebookDocumentFilter = {}));\n/**\n * The NotebookCellTextDocumentFilter namespace provides helper functions to work with\n * {@link NotebookCellTextDocumentFilter} literals.\n *\n * @since 3.17.0\n */\nvar NotebookCellTextDocumentFilter;\n(function (NotebookCellTextDocumentFilter) {\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate)\n && (Is.string(candidate.notebook) || NotebookDocumentFilter.is(candidate.notebook))\n && (candidate.language === undefined || Is.string(candidate.language));\n }\n NotebookCellTextDocumentFilter.is = is;\n})(NotebookCellTextDocumentFilter = exports.NotebookCellTextDocumentFilter || (exports.NotebookCellTextDocumentFilter = {}));\n/**\n * The DocumentSelector namespace provides helper functions to work with\n * {@link DocumentSelector}s.\n */\nvar DocumentSelector;\n(function (DocumentSelector) {\n function is(value) {\n if (!Array.isArray(value)) {\n return false;\n }\n for (let elem of value) {\n if (!Is.string(elem) && !TextDocumentFilter.is(elem) && !NotebookCellTextDocumentFilter.is(elem)) {\n return false;\n }\n }\n return true;\n }\n DocumentSelector.is = is;\n})(DocumentSelector = exports.DocumentSelector || (exports.DocumentSelector = {}));\n/**\n * The `client/registerCapability` request is sent from the server to the client to register a new capability\n * handler on the client side.\n */\nvar RegistrationRequest;\n(function (RegistrationRequest) {\n RegistrationRequest.method = 'client/registerCapability';\n RegistrationRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n RegistrationRequest.type = new messages_1.ProtocolRequestType(RegistrationRequest.method);\n})(RegistrationRequest = exports.RegistrationRequest || (exports.RegistrationRequest = {}));\n/**\n * The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability\n * handler on the client side.\n */\nvar UnregistrationRequest;\n(function (UnregistrationRequest) {\n UnregistrationRequest.method = 'client/unregisterCapability';\n UnregistrationRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n UnregistrationRequest.type = new messages_1.ProtocolRequestType(UnregistrationRequest.method);\n})(UnregistrationRequest = exports.UnregistrationRequest || (exports.UnregistrationRequest = {}));\nvar ResourceOperationKind;\n(function (ResourceOperationKind) {\n /**\n * Supports creating new files and folders.\n */\n ResourceOperationKind.Create = 'create';\n /**\n * Supports renaming existing files and folders.\n */\n ResourceOperationKind.Rename = 'rename';\n /**\n * Supports deleting existing files and folders.\n */\n ResourceOperationKind.Delete = 'delete';\n})(ResourceOperationKind = exports.ResourceOperationKind || (exports.ResourceOperationKind = {}));\nvar FailureHandlingKind;\n(function (FailureHandlingKind) {\n /**\n * Applying the workspace change is simply aborted if one of the changes provided\n * fails. All operations executed before the failing operation stay executed.\n */\n FailureHandlingKind.Abort = 'abort';\n /**\n * All operations are executed transactional. That means they either all\n * succeed or no changes at all are applied to the workspace.\n */\n FailureHandlingKind.Transactional = 'transactional';\n /**\n * If the workspace edit contains only textual file changes they are executed transactional.\n * If resource changes (create, rename or delete file) are part of the change the failure\n * handling strategy is abort.\n */\n FailureHandlingKind.TextOnlyTransactional = 'textOnlyTransactional';\n /**\n * The client tries to undo the operations already executed. But there is no\n * guarantee that this is succeeding.\n */\n FailureHandlingKind.Undo = 'undo';\n})(FailureHandlingKind = exports.FailureHandlingKind || (exports.FailureHandlingKind = {}));\n/**\n * A set of predefined position encoding kinds.\n *\n * @since 3.17.0\n */\nvar PositionEncodingKind;\n(function (PositionEncodingKind) {\n /**\n * Character offsets count UTF-8 code units (e.g. bytes).\n */\n PositionEncodingKind.UTF8 = 'utf-8';\n /**\n * Character offsets count UTF-16 code units.\n *\n * This is the default and must always be supported\n * by servers\n */\n PositionEncodingKind.UTF16 = 'utf-16';\n /**\n * Character offsets count UTF-32 code units.\n *\n * Implementation note: these are the same as Unicode codepoints,\n * so this `PositionEncodingKind` may also be used for an\n * encoding-agnostic representation of character offsets.\n */\n PositionEncodingKind.UTF32 = 'utf-32';\n})(PositionEncodingKind = exports.PositionEncodingKind || (exports.PositionEncodingKind = {}));\n/**\n * The StaticRegistrationOptions namespace provides helper functions to work with\n * {@link StaticRegistrationOptions} literals.\n */\nvar StaticRegistrationOptions;\n(function (StaticRegistrationOptions) {\n function hasId(value) {\n const candidate = value;\n return candidate && Is.string(candidate.id) && candidate.id.length > 0;\n }\n StaticRegistrationOptions.hasId = hasId;\n})(StaticRegistrationOptions = exports.StaticRegistrationOptions || (exports.StaticRegistrationOptions = {}));\n/**\n * The TextDocumentRegistrationOptions namespace provides helper functions to work with\n * {@link TextDocumentRegistrationOptions} literals.\n */\nvar TextDocumentRegistrationOptions;\n(function (TextDocumentRegistrationOptions) {\n function is(value) {\n const candidate = value;\n return candidate && (candidate.documentSelector === null || DocumentSelector.is(candidate.documentSelector));\n }\n TextDocumentRegistrationOptions.is = is;\n})(TextDocumentRegistrationOptions = exports.TextDocumentRegistrationOptions || (exports.TextDocumentRegistrationOptions = {}));\n/**\n * The WorkDoneProgressOptions namespace provides helper functions to work with\n * {@link WorkDoneProgressOptions} literals.\n */\nvar WorkDoneProgressOptions;\n(function (WorkDoneProgressOptions) {\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && (candidate.workDoneProgress === undefined || Is.boolean(candidate.workDoneProgress));\n }\n WorkDoneProgressOptions.is = is;\n function hasWorkDoneProgress(value) {\n const candidate = value;\n return candidate && Is.boolean(candidate.workDoneProgress);\n }\n WorkDoneProgressOptions.hasWorkDoneProgress = hasWorkDoneProgress;\n})(WorkDoneProgressOptions = exports.WorkDoneProgressOptions || (exports.WorkDoneProgressOptions = {}));\n/**\n * The initialize request is sent from the client to the server.\n * It is sent once as the request after starting up the server.\n * The requests parameter is of type {@link InitializeParams}\n * the response if of type {@link InitializeResult} of a Thenable that\n * resolves to such.\n */\nvar InitializeRequest;\n(function (InitializeRequest) {\n InitializeRequest.method = 'initialize';\n InitializeRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n InitializeRequest.type = new messages_1.ProtocolRequestType(InitializeRequest.method);\n})(InitializeRequest = exports.InitializeRequest || (exports.InitializeRequest = {}));\n/**\n * Known error codes for an `InitializeErrorCodes`;\n */\nvar InitializeErrorCodes;\n(function (InitializeErrorCodes) {\n /**\n * If the protocol version provided by the client can't be handled by the server.\n *\n * @deprecated This initialize error got replaced by client capabilities. There is\n * no version handshake in version 3.0x\n */\n InitializeErrorCodes.unknownProtocolVersion = 1;\n})(InitializeErrorCodes = exports.InitializeErrorCodes || (exports.InitializeErrorCodes = {}));\n/**\n * The initialized notification is sent from the client to the\n * server after the client is fully initialized and the server\n * is allowed to send requests from the server to the client.\n */\nvar InitializedNotification;\n(function (InitializedNotification) {\n InitializedNotification.method = 'initialized';\n InitializedNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n InitializedNotification.type = new messages_1.ProtocolNotificationType(InitializedNotification.method);\n})(InitializedNotification = exports.InitializedNotification || (exports.InitializedNotification = {}));\n//---- Shutdown Method ----\n/**\n * A shutdown request is sent from the client to the server.\n * It is sent once when the client decides to shutdown the\n * server. The only notification that is sent after a shutdown request\n * is the exit event.\n */\nvar ShutdownRequest;\n(function (ShutdownRequest) {\n ShutdownRequest.method = 'shutdown';\n ShutdownRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n ShutdownRequest.type = new messages_1.ProtocolRequestType0(ShutdownRequest.method);\n})(ShutdownRequest = exports.ShutdownRequest || (exports.ShutdownRequest = {}));\n//---- Exit Notification ----\n/**\n * The exit event is sent from the client to the server to\n * ask the server to exit its process.\n */\nvar ExitNotification;\n(function (ExitNotification) {\n ExitNotification.method = 'exit';\n ExitNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n ExitNotification.type = new messages_1.ProtocolNotificationType0(ExitNotification.method);\n})(ExitNotification = exports.ExitNotification || (exports.ExitNotification = {}));\n/**\n * The configuration change notification is sent from the client to the server\n * when the client's configuration has changed. The notification contains\n * the changed configuration as defined by the language client.\n */\nvar DidChangeConfigurationNotification;\n(function (DidChangeConfigurationNotification) {\n DidChangeConfigurationNotification.method = 'workspace/didChangeConfiguration';\n DidChangeConfigurationNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidChangeConfigurationNotification.type = new messages_1.ProtocolNotificationType(DidChangeConfigurationNotification.method);\n})(DidChangeConfigurationNotification = exports.DidChangeConfigurationNotification || (exports.DidChangeConfigurationNotification = {}));\n//---- Message show and log notifications ----\n/**\n * The message type\n */\nvar MessageType;\n(function (MessageType) {\n /**\n * An error message.\n */\n MessageType.Error = 1;\n /**\n * A warning message.\n */\n MessageType.Warning = 2;\n /**\n * An information message.\n */\n MessageType.Info = 3;\n /**\n * A log message.\n */\n MessageType.Log = 4;\n})(MessageType = exports.MessageType || (exports.MessageType = {}));\n/**\n * The show message notification is sent from a server to a client to ask\n * the client to display a particular message in the user interface.\n */\nvar ShowMessageNotification;\n(function (ShowMessageNotification) {\n ShowMessageNotification.method = 'window/showMessage';\n ShowMessageNotification.messageDirection = messages_1.MessageDirection.serverToClient;\n ShowMessageNotification.type = new messages_1.ProtocolNotificationType(ShowMessageNotification.method);\n})(ShowMessageNotification = exports.ShowMessageNotification || (exports.ShowMessageNotification = {}));\n/**\n * The show message request is sent from the server to the client to show a message\n * and a set of options actions to the user.\n */\nvar ShowMessageRequest;\n(function (ShowMessageRequest) {\n ShowMessageRequest.method = 'window/showMessageRequest';\n ShowMessageRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n ShowMessageRequest.type = new messages_1.ProtocolRequestType(ShowMessageRequest.method);\n})(ShowMessageRequest = exports.ShowMessageRequest || (exports.ShowMessageRequest = {}));\n/**\n * The log message notification is sent from the server to the client to ask\n * the client to log a particular message.\n */\nvar LogMessageNotification;\n(function (LogMessageNotification) {\n LogMessageNotification.method = 'window/logMessage';\n LogMessageNotification.messageDirection = messages_1.MessageDirection.serverToClient;\n LogMessageNotification.type = new messages_1.ProtocolNotificationType(LogMessageNotification.method);\n})(LogMessageNotification = exports.LogMessageNotification || (exports.LogMessageNotification = {}));\n//---- Telemetry notification\n/**\n * The telemetry event notification is sent from the server to the client to ask\n * the client to log telemetry data.\n */\nvar TelemetryEventNotification;\n(function (TelemetryEventNotification) {\n TelemetryEventNotification.method = 'telemetry/event';\n TelemetryEventNotification.messageDirection = messages_1.MessageDirection.serverToClient;\n TelemetryEventNotification.type = new messages_1.ProtocolNotificationType(TelemetryEventNotification.method);\n})(TelemetryEventNotification = exports.TelemetryEventNotification || (exports.TelemetryEventNotification = {}));\n/**\n * Defines how the host (editor) should sync\n * document changes to the language server.\n */\nvar TextDocumentSyncKind;\n(function (TextDocumentSyncKind) {\n /**\n * Documents should not be synced at all.\n */\n TextDocumentSyncKind.None = 0;\n /**\n * Documents are synced by always sending the full content\n * of the document.\n */\n TextDocumentSyncKind.Full = 1;\n /**\n * Documents are synced by sending the full content on open.\n * After that only incremental updates to the document are\n * send.\n */\n TextDocumentSyncKind.Incremental = 2;\n})(TextDocumentSyncKind = exports.TextDocumentSyncKind || (exports.TextDocumentSyncKind = {}));\n/**\n * The document open notification is sent from the client to the server to signal\n * newly opened text documents. The document's truth is now managed by the client\n * and the server must not try to read the document's truth using the document's\n * uri. Open in this sense means it is managed by the client. It doesn't necessarily\n * mean that its content is presented in an editor. An open notification must not\n * be sent more than once without a corresponding close notification send before.\n * This means open and close notification must be balanced and the max open count\n * is one.\n */\nvar DidOpenTextDocumentNotification;\n(function (DidOpenTextDocumentNotification) {\n DidOpenTextDocumentNotification.method = 'textDocument/didOpen';\n DidOpenTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidOpenTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification.method);\n})(DidOpenTextDocumentNotification = exports.DidOpenTextDocumentNotification || (exports.DidOpenTextDocumentNotification = {}));\nvar TextDocumentContentChangeEvent;\n(function (TextDocumentContentChangeEvent) {\n /**\n * Checks whether the information describes a delta event.\n */\n function isIncremental(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range !== undefined &&\n (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number');\n }\n TextDocumentContentChangeEvent.isIncremental = isIncremental;\n /**\n * Checks whether the information describes a full replacement event.\n */\n function isFull(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined;\n }\n TextDocumentContentChangeEvent.isFull = isFull;\n})(TextDocumentContentChangeEvent = exports.TextDocumentContentChangeEvent || (exports.TextDocumentContentChangeEvent = {}));\n/**\n * The document change notification is sent from the client to the server to signal\n * changes to a text document.\n */\nvar DidChangeTextDocumentNotification;\n(function (DidChangeTextDocumentNotification) {\n DidChangeTextDocumentNotification.method = 'textDocument/didChange';\n DidChangeTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidChangeTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification.method);\n})(DidChangeTextDocumentNotification = exports.DidChangeTextDocumentNotification || (exports.DidChangeTextDocumentNotification = {}));\n/**\n * The document close notification is sent from the client to the server when\n * the document got closed in the client. The document's truth now exists where\n * the document's uri points to (e.g. if the document's uri is a file uri the\n * truth now exists on disk). As with the open notification the close notification\n * is about managing the document's content. Receiving a close notification\n * doesn't mean that the document was open in an editor before. A close\n * notification requires a previous open notification to be sent.\n */\nvar DidCloseTextDocumentNotification;\n(function (DidCloseTextDocumentNotification) {\n DidCloseTextDocumentNotification.method = 'textDocument/didClose';\n DidCloseTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidCloseTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification.method);\n})(DidCloseTextDocumentNotification = exports.DidCloseTextDocumentNotification || (exports.DidCloseTextDocumentNotification = {}));\n/**\n * The document save notification is sent from the client to the server when\n * the document got saved in the client.\n */\nvar DidSaveTextDocumentNotification;\n(function (DidSaveTextDocumentNotification) {\n DidSaveTextDocumentNotification.method = 'textDocument/didSave';\n DidSaveTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification.method);\n})(DidSaveTextDocumentNotification = exports.DidSaveTextDocumentNotification || (exports.DidSaveTextDocumentNotification = {}));\n/**\n * Represents reasons why a text document is saved.\n */\nvar TextDocumentSaveReason;\n(function (TextDocumentSaveReason) {\n /**\n * Manually triggered, e.g. by the user pressing save, by starting debugging,\n * or by an API call.\n */\n TextDocumentSaveReason.Manual = 1;\n /**\n * Automatic after a delay.\n */\n TextDocumentSaveReason.AfterDelay = 2;\n /**\n * When the editor lost focus.\n */\n TextDocumentSaveReason.FocusOut = 3;\n})(TextDocumentSaveReason = exports.TextDocumentSaveReason || (exports.TextDocumentSaveReason = {}));\n/**\n * A document will save notification is sent from the client to the server before\n * the document is actually saved.\n */\nvar WillSaveTextDocumentNotification;\n(function (WillSaveTextDocumentNotification) {\n WillSaveTextDocumentNotification.method = 'textDocument/willSave';\n WillSaveTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n WillSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification.method);\n})(WillSaveTextDocumentNotification = exports.WillSaveTextDocumentNotification || (exports.WillSaveTextDocumentNotification = {}));\n/**\n * A document will save request is sent from the client to the server before\n * the document is actually saved. The request can return an array of TextEdits\n * which will be applied to the text document before it is saved. Please note that\n * clients might drop results if computing the text edits took too long or if a\n * server constantly fails on this request. This is done to keep the save fast and\n * reliable.\n */\nvar WillSaveTextDocumentWaitUntilRequest;\n(function (WillSaveTextDocumentWaitUntilRequest) {\n WillSaveTextDocumentWaitUntilRequest.method = 'textDocument/willSaveWaitUntil';\n WillSaveTextDocumentWaitUntilRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n WillSaveTextDocumentWaitUntilRequest.type = new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest.method);\n})(WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentWaitUntilRequest || (exports.WillSaveTextDocumentWaitUntilRequest = {}));\n/**\n * The watched files notification is sent from the client to the server when\n * the client detects changes to file watched by the language client.\n */\nvar DidChangeWatchedFilesNotification;\n(function (DidChangeWatchedFilesNotification) {\n DidChangeWatchedFilesNotification.method = 'workspace/didChangeWatchedFiles';\n DidChangeWatchedFilesNotification.messageDirection = messages_1.MessageDirection.clientToServer;\n DidChangeWatchedFilesNotification.type = new messages_1.ProtocolNotificationType(DidChangeWatchedFilesNotification.method);\n})(DidChangeWatchedFilesNotification = exports.DidChangeWatchedFilesNotification || (exports.DidChangeWatchedFilesNotification = {}));\n/**\n * The file event type\n */\nvar FileChangeType;\n(function (FileChangeType) {\n /**\n * The file got created.\n */\n FileChangeType.Created = 1;\n /**\n * The file got changed.\n */\n FileChangeType.Changed = 2;\n /**\n * The file got deleted.\n */\n FileChangeType.Deleted = 3;\n})(FileChangeType = exports.FileChangeType || (exports.FileChangeType = {}));\nvar RelativePattern;\n(function (RelativePattern) {\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && (vscode_languageserver_types_1.URI.is(candidate.baseUri) || vscode_languageserver_types_1.WorkspaceFolder.is(candidate.baseUri)) && Is.string(candidate.pattern);\n }\n RelativePattern.is = is;\n})(RelativePattern = exports.RelativePattern || (exports.RelativePattern = {}));\nvar WatchKind;\n(function (WatchKind) {\n /**\n * Interested in create events.\n */\n WatchKind.Create = 1;\n /**\n * Interested in change events\n */\n WatchKind.Change = 2;\n /**\n * Interested in delete events\n */\n WatchKind.Delete = 4;\n})(WatchKind = exports.WatchKind || (exports.WatchKind = {}));\n/**\n * Diagnostics notification are sent from the server to the client to signal\n * results of validation runs.\n */\nvar PublishDiagnosticsNotification;\n(function (PublishDiagnosticsNotification) {\n PublishDiagnosticsNotification.method = 'textDocument/publishDiagnostics';\n PublishDiagnosticsNotification.messageDirection = messages_1.MessageDirection.serverToClient;\n PublishDiagnosticsNotification.type = new messages_1.ProtocolNotificationType(PublishDiagnosticsNotification.method);\n})(PublishDiagnosticsNotification = exports.PublishDiagnosticsNotification || (exports.PublishDiagnosticsNotification = {}));\n/**\n * How a completion was triggered\n */\nvar CompletionTriggerKind;\n(function (CompletionTriggerKind) {\n /**\n * Completion was triggered by typing an identifier (24x7 code\n * complete), manual invocation (e.g Ctrl+Space) or via API.\n */\n CompletionTriggerKind.Invoked = 1;\n /**\n * Completion was triggered by a trigger character specified by\n * the `triggerCharacters` properties of the `CompletionRegistrationOptions`.\n */\n CompletionTriggerKind.TriggerCharacter = 2;\n /**\n * Completion was re-triggered as current completion list is incomplete\n */\n CompletionTriggerKind.TriggerForIncompleteCompletions = 3;\n})(CompletionTriggerKind = exports.CompletionTriggerKind || (exports.CompletionTriggerKind = {}));\n/**\n * Request to request completion at a given text document position. The request's\n * parameter is of type {@link TextDocumentPosition} the response\n * is of type {@link CompletionItem CompletionItem[]} or {@link CompletionList}\n * or a Thenable that resolves to such.\n *\n * The request can delay the computation of the {@link CompletionItem.detail `detail`}\n * and {@link CompletionItem.documentation `documentation`} properties to the `completionItem/resolve`\n * request. However, properties that are needed for the initial sorting and filtering, like `sortText`,\n * `filterText`, `insertText`, and `textEdit`, must not be changed during resolve.\n */\nvar CompletionRequest;\n(function (CompletionRequest) {\n CompletionRequest.method = 'textDocument/completion';\n CompletionRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CompletionRequest.type = new messages_1.ProtocolRequestType(CompletionRequest.method);\n})(CompletionRequest = exports.CompletionRequest || (exports.CompletionRequest = {}));\n/**\n * Request to resolve additional information for a given completion item.The request's\n * parameter is of type {@link CompletionItem} the response\n * is of type {@link CompletionItem} or a Thenable that resolves to such.\n */\nvar CompletionResolveRequest;\n(function (CompletionResolveRequest) {\n CompletionResolveRequest.method = 'completionItem/resolve';\n CompletionResolveRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CompletionResolveRequest.type = new messages_1.ProtocolRequestType(CompletionResolveRequest.method);\n})(CompletionResolveRequest = exports.CompletionResolveRequest || (exports.CompletionResolveRequest = {}));\n/**\n * Request to request hover information at a given text document position. The request's\n * parameter is of type {@link TextDocumentPosition} the response is of\n * type {@link Hover} or a Thenable that resolves to such.\n */\nvar HoverRequest;\n(function (HoverRequest) {\n HoverRequest.method = 'textDocument/hover';\n HoverRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n HoverRequest.type = new messages_1.ProtocolRequestType(HoverRequest.method);\n})(HoverRequest = exports.HoverRequest || (exports.HoverRequest = {}));\n/**\n * How a signature help was triggered.\n *\n * @since 3.15.0\n */\nvar SignatureHelpTriggerKind;\n(function (SignatureHelpTriggerKind) {\n /**\n * Signature help was invoked manually by the user or by a command.\n */\n SignatureHelpTriggerKind.Invoked = 1;\n /**\n * Signature help was triggered by a trigger character.\n */\n SignatureHelpTriggerKind.TriggerCharacter = 2;\n /**\n * Signature help was triggered by the cursor moving or by the document content changing.\n */\n SignatureHelpTriggerKind.ContentChange = 3;\n})(SignatureHelpTriggerKind = exports.SignatureHelpTriggerKind || (exports.SignatureHelpTriggerKind = {}));\nvar SignatureHelpRequest;\n(function (SignatureHelpRequest) {\n SignatureHelpRequest.method = 'textDocument/signatureHelp';\n SignatureHelpRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n SignatureHelpRequest.type = new messages_1.ProtocolRequestType(SignatureHelpRequest.method);\n})(SignatureHelpRequest = exports.SignatureHelpRequest || (exports.SignatureHelpRequest = {}));\n/**\n * A request to resolve the definition location of a symbol at a given text\n * document position. The request's parameter is of type [TextDocumentPosition]\n * (#TextDocumentPosition) the response is of either type {@link Definition}\n * or a typed array of {@link DefinitionLink} or a Thenable that resolves\n * to such.\n */\nvar DefinitionRequest;\n(function (DefinitionRequest) {\n DefinitionRequest.method = 'textDocument/definition';\n DefinitionRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DefinitionRequest.type = new messages_1.ProtocolRequestType(DefinitionRequest.method);\n})(DefinitionRequest = exports.DefinitionRequest || (exports.DefinitionRequest = {}));\n/**\n * A request to resolve project-wide references for the symbol denoted\n * by the given text document position. The request's parameter is of\n * type {@link ReferenceParams} the response is of type\n * {@link Location Location[]} or a Thenable that resolves to such.\n */\nvar ReferencesRequest;\n(function (ReferencesRequest) {\n ReferencesRequest.method = 'textDocument/references';\n ReferencesRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n ReferencesRequest.type = new messages_1.ProtocolRequestType(ReferencesRequest.method);\n})(ReferencesRequest = exports.ReferencesRequest || (exports.ReferencesRequest = {}));\n/**\n * Request to resolve a {@link DocumentHighlight} for a given\n * text document position. The request's parameter is of type [TextDocumentPosition]\n * (#TextDocumentPosition) the request response is of type [DocumentHighlight[]]\n * (#DocumentHighlight) or a Thenable that resolves to such.\n */\nvar DocumentHighlightRequest;\n(function (DocumentHighlightRequest) {\n DocumentHighlightRequest.method = 'textDocument/documentHighlight';\n DocumentHighlightRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentHighlightRequest.type = new messages_1.ProtocolRequestType(DocumentHighlightRequest.method);\n})(DocumentHighlightRequest = exports.DocumentHighlightRequest || (exports.DocumentHighlightRequest = {}));\n/**\n * A request to list all symbols found in a given text document. The request's\n * parameter is of type {@link TextDocumentIdentifier} the\n * response is of type {@link SymbolInformation SymbolInformation[]} or a Thenable\n * that resolves to such.\n */\nvar DocumentSymbolRequest;\n(function (DocumentSymbolRequest) {\n DocumentSymbolRequest.method = 'textDocument/documentSymbol';\n DocumentSymbolRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentSymbolRequest.type = new messages_1.ProtocolRequestType(DocumentSymbolRequest.method);\n})(DocumentSymbolRequest = exports.DocumentSymbolRequest || (exports.DocumentSymbolRequest = {}));\n/**\n * A request to provide commands for the given text document and range.\n */\nvar CodeActionRequest;\n(function (CodeActionRequest) {\n CodeActionRequest.method = 'textDocument/codeAction';\n CodeActionRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CodeActionRequest.type = new messages_1.ProtocolRequestType(CodeActionRequest.method);\n})(CodeActionRequest = exports.CodeActionRequest || (exports.CodeActionRequest = {}));\n/**\n * Request to resolve additional information for a given code action.The request's\n * parameter is of type {@link CodeAction} the response\n * is of type {@link CodeAction} or a Thenable that resolves to such.\n */\nvar CodeActionResolveRequest;\n(function (CodeActionResolveRequest) {\n CodeActionResolveRequest.method = 'codeAction/resolve';\n CodeActionResolveRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CodeActionResolveRequest.type = new messages_1.ProtocolRequestType(CodeActionResolveRequest.method);\n})(CodeActionResolveRequest = exports.CodeActionResolveRequest || (exports.CodeActionResolveRequest = {}));\n/**\n * A request to list project-wide symbols matching the query string given\n * by the {@link WorkspaceSymbolParams}. The response is\n * of type {@link SymbolInformation SymbolInformation[]} or a Thenable that\n * resolves to such.\n *\n * @since 3.17.0 - support for WorkspaceSymbol in the returned data. Clients\n * need to advertise support for WorkspaceSymbols via the client capability\n * `workspace.symbol.resolveSupport`.\n *\n */\nvar WorkspaceSymbolRequest;\n(function (WorkspaceSymbolRequest) {\n WorkspaceSymbolRequest.method = 'workspace/symbol';\n WorkspaceSymbolRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n WorkspaceSymbolRequest.type = new messages_1.ProtocolRequestType(WorkspaceSymbolRequest.method);\n})(WorkspaceSymbolRequest = exports.WorkspaceSymbolRequest || (exports.WorkspaceSymbolRequest = {}));\n/**\n * A request to resolve the range inside the workspace\n * symbol's location.\n *\n * @since 3.17.0\n */\nvar WorkspaceSymbolResolveRequest;\n(function (WorkspaceSymbolResolveRequest) {\n WorkspaceSymbolResolveRequest.method = 'workspaceSymbol/resolve';\n WorkspaceSymbolResolveRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n WorkspaceSymbolResolveRequest.type = new messages_1.ProtocolRequestType(WorkspaceSymbolResolveRequest.method);\n})(WorkspaceSymbolResolveRequest = exports.WorkspaceSymbolResolveRequest || (exports.WorkspaceSymbolResolveRequest = {}));\n/**\n * A request to provide code lens for the given text document.\n */\nvar CodeLensRequest;\n(function (CodeLensRequest) {\n CodeLensRequest.method = 'textDocument/codeLens';\n CodeLensRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CodeLensRequest.type = new messages_1.ProtocolRequestType(CodeLensRequest.method);\n})(CodeLensRequest = exports.CodeLensRequest || (exports.CodeLensRequest = {}));\n/**\n * A request to resolve a command for a given code lens.\n */\nvar CodeLensResolveRequest;\n(function (CodeLensResolveRequest) {\n CodeLensResolveRequest.method = 'codeLens/resolve';\n CodeLensResolveRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n CodeLensResolveRequest.type = new messages_1.ProtocolRequestType(CodeLensResolveRequest.method);\n})(CodeLensResolveRequest = exports.CodeLensResolveRequest || (exports.CodeLensResolveRequest = {}));\n/**\n * A request to refresh all code actions\n *\n * @since 3.16.0\n */\nvar CodeLensRefreshRequest;\n(function (CodeLensRefreshRequest) {\n CodeLensRefreshRequest.method = `workspace/codeLens/refresh`;\n CodeLensRefreshRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n CodeLensRefreshRequest.type = new messages_1.ProtocolRequestType0(CodeLensRefreshRequest.method);\n})(CodeLensRefreshRequest = exports.CodeLensRefreshRequest || (exports.CodeLensRefreshRequest = {}));\n/**\n * A request to provide document links\n */\nvar DocumentLinkRequest;\n(function (DocumentLinkRequest) {\n DocumentLinkRequest.method = 'textDocument/documentLink';\n DocumentLinkRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentLinkRequest.type = new messages_1.ProtocolRequestType(DocumentLinkRequest.method);\n})(DocumentLinkRequest = exports.DocumentLinkRequest || (exports.DocumentLinkRequest = {}));\n/**\n * Request to resolve additional information for a given document link. The request's\n * parameter is of type {@link DocumentLink} the response\n * is of type {@link DocumentLink} or a Thenable that resolves to such.\n */\nvar DocumentLinkResolveRequest;\n(function (DocumentLinkResolveRequest) {\n DocumentLinkResolveRequest.method = 'documentLink/resolve';\n DocumentLinkResolveRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentLinkResolveRequest.type = new messages_1.ProtocolRequestType(DocumentLinkResolveRequest.method);\n})(DocumentLinkResolveRequest = exports.DocumentLinkResolveRequest || (exports.DocumentLinkResolveRequest = {}));\n/**\n * A request to to format a whole document.\n */\nvar DocumentFormattingRequest;\n(function (DocumentFormattingRequest) {\n DocumentFormattingRequest.method = 'textDocument/formatting';\n DocumentFormattingRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentFormattingRequest.method);\n})(DocumentFormattingRequest = exports.DocumentFormattingRequest || (exports.DocumentFormattingRequest = {}));\n/**\n * A request to to format a range in a document.\n */\nvar DocumentRangeFormattingRequest;\n(function (DocumentRangeFormattingRequest) {\n DocumentRangeFormattingRequest.method = 'textDocument/rangeFormatting';\n DocumentRangeFormattingRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentRangeFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest.method);\n})(DocumentRangeFormattingRequest = exports.DocumentRangeFormattingRequest || (exports.DocumentRangeFormattingRequest = {}));\n/**\n * A request to format a document on type.\n */\nvar DocumentOnTypeFormattingRequest;\n(function (DocumentOnTypeFormattingRequest) {\n DocumentOnTypeFormattingRequest.method = 'textDocument/onTypeFormatting';\n DocumentOnTypeFormattingRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n DocumentOnTypeFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest.method);\n})(DocumentOnTypeFormattingRequest = exports.DocumentOnTypeFormattingRequest || (exports.DocumentOnTypeFormattingRequest = {}));\n//---- Rename ----------------------------------------------\nvar PrepareSupportDefaultBehavior;\n(function (PrepareSupportDefaultBehavior) {\n /**\n * The client's default behavior is to select the identifier\n * according the to language's syntax rule.\n */\n PrepareSupportDefaultBehavior.Identifier = 1;\n})(PrepareSupportDefaultBehavior = exports.PrepareSupportDefaultBehavior || (exports.PrepareSupportDefaultBehavior = {}));\n/**\n * A request to rename a symbol.\n */\nvar RenameRequest;\n(function (RenameRequest) {\n RenameRequest.method = 'textDocument/rename';\n RenameRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n RenameRequest.type = new messages_1.ProtocolRequestType(RenameRequest.method);\n})(RenameRequest = exports.RenameRequest || (exports.RenameRequest = {}));\n/**\n * A request to test and perform the setup necessary for a rename.\n *\n * @since 3.16 - support for default behavior\n */\nvar PrepareRenameRequest;\n(function (PrepareRenameRequest) {\n PrepareRenameRequest.method = 'textDocument/prepareRename';\n PrepareRenameRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n PrepareRenameRequest.type = new messages_1.ProtocolRequestType(PrepareRenameRequest.method);\n})(PrepareRenameRequest = exports.PrepareRenameRequest || (exports.PrepareRenameRequest = {}));\n/**\n * A request send from the client to the server to execute a command. The request might return\n * a workspace edit which the client will apply to the workspace.\n */\nvar ExecuteCommandRequest;\n(function (ExecuteCommandRequest) {\n ExecuteCommandRequest.method = 'workspace/executeCommand';\n ExecuteCommandRequest.messageDirection = messages_1.MessageDirection.clientToServer;\n ExecuteCommandRequest.type = new messages_1.ProtocolRequestType(ExecuteCommandRequest.method);\n})(ExecuteCommandRequest = exports.ExecuteCommandRequest || (exports.ExecuteCommandRequest = {}));\n/**\n * A request sent from the server to the client to modified certain resources.\n */\nvar ApplyWorkspaceEditRequest;\n(function (ApplyWorkspaceEditRequest) {\n ApplyWorkspaceEditRequest.method = 'workspace/applyEdit';\n ApplyWorkspaceEditRequest.messageDirection = messages_1.MessageDirection.serverToClient;\n ApplyWorkspaceEditRequest.type = new messages_1.ProtocolRequestType('workspace/applyEdit');\n})(ApplyWorkspaceEditRequest = exports.ApplyWorkspaceEditRequest || (exports.ApplyWorkspaceEditRequest = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createProtocolConnection = void 0;\nconst vscode_jsonrpc_1 = require(\"vscode-jsonrpc\");\nfunction createProtocolConnection(input, output, logger, options) {\n if (vscode_jsonrpc_1.ConnectionStrategy.is(options)) {\n options = { connectionStrategy: options };\n }\n return (0, vscode_jsonrpc_1.createMessageConnection)(input, output, logger, options);\n}\nexports.createProtocolConnection = createProtocolConnection;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LSPErrorCodes = exports.createProtocolConnection = void 0;\n__exportStar(require(\"vscode-jsonrpc\"), exports);\n__exportStar(require(\"vscode-languageserver-types\"), exports);\n__exportStar(require(\"./messages\"), exports);\n__exportStar(require(\"./protocol\"), exports);\nvar connection_1 = require(\"./connection\");\nObject.defineProperty(exports, \"createProtocolConnection\", { enumerable: true, get: function () { return connection_1.createProtocolConnection; } });\nvar LSPErrorCodes;\n(function (LSPErrorCodes) {\n /**\n * This is the start range of LSP reserved error codes.\n * It doesn't denote a real error code.\n *\n * @since 3.16.0\n */\n LSPErrorCodes.lspReservedErrorRangeStart = -32899;\n /**\n * A request failed but it was syntactically correct, e.g the\n * method name was known and the parameters were valid. The error\n * message should contain human readable information about why\n * the request failed.\n *\n * @since 3.17.0\n */\n LSPErrorCodes.RequestFailed = -32803;\n /**\n * The server cancelled the request. This error code should\n * only be used for requests that explicitly support being\n * server cancellable.\n *\n * @since 3.17.0\n */\n LSPErrorCodes.ServerCancelled = -32802;\n /**\n * The server detected that the content of a document got\n * modified outside normal conditions. A server should\n * NOT send this error code if it detects a content change\n * in it unprocessed messages. The result even computed\n * on an older state might still be useful for the client.\n *\n * If a client decides that a result is not of any use anymore\n * the client should cancel the request.\n */\n LSPErrorCodes.ContentModified = -32801;\n /**\n * The client has canceled a request and a server as detected\n * the cancel.\n */\n LSPErrorCodes.RequestCancelled = -32800;\n /**\n * This is the end range of LSP reserved error codes.\n * It doesn't denote a real error code.\n *\n * @since 3.16.0\n */\n LSPErrorCodes.lspReservedErrorRangeEnd = -32800;\n})(LSPErrorCodes = exports.LSPErrorCodes || (exports.LSPErrorCodes = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createProtocolConnection = void 0;\nconst node_1 = require(\"vscode-jsonrpc/node\");\n__exportStar(require(\"vscode-jsonrpc/node\"), exports);\n__exportStar(require(\"../common/api\"), exports);\nfunction createProtocolConnection(input, output, logger, options) {\n return (0, node_1.createMessageConnection)(input, output, logger, options);\n}\nexports.createProtocolConnection = createProtocolConnection;\n","\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateUuid = exports.parse = exports.isUUID = exports.v4 = exports.empty = void 0;\nclass ValueUUID {\n constructor(_value) {\n this._value = _value;\n // empty\n }\n asHex() {\n return this._value;\n }\n equals(other) {\n return this.asHex() === other.asHex();\n }\n}\nclass V4UUID extends ValueUUID {\n constructor() {\n super([\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n '-',\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n '-',\n '4',\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n '-',\n V4UUID._oneOf(V4UUID._timeHighBits),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n '-',\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n V4UUID._randomHex(),\n ].join(''));\n }\n static _oneOf(array) {\n return array[Math.floor(array.length * Math.random())];\n }\n static _randomHex() {\n return V4UUID._oneOf(V4UUID._chars);\n }\n}\nV4UUID._chars = ['0', '1', '2', '3', '4', '5', '6', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\nV4UUID._timeHighBits = ['8', '9', 'a', 'b'];\n/**\n * An empty UUID that contains only zeros.\n */\nexports.empty = new ValueUUID('00000000-0000-0000-0000-000000000000');\nfunction v4() {\n return new V4UUID();\n}\nexports.v4 = v4;\nconst _UUIDPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\nfunction isUUID(value) {\n return _UUIDPattern.test(value);\n}\nexports.isUUID = isUUID;\n/**\n * Parses a UUID that is of the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.\n * @param value A uuid string.\n */\nfunction parse(value) {\n if (!isUUID(value)) {\n throw new Error('invalid uuid');\n }\n return new ValueUUID(value);\n}\nexports.parse = parse;\nfunction generateUuid() {\n return v4().asHex();\n}\nexports.generateUuid = generateUuid;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attachPartialResult = exports.ProgressFeature = exports.attachWorkDone = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst uuid_1 = require(\"./utils/uuid\");\nclass WorkDoneProgressReporterImpl {\n constructor(_connection, _token) {\n this._connection = _connection;\n this._token = _token;\n WorkDoneProgressReporterImpl.Instances.set(this._token, this);\n }\n begin(title, percentage, message, cancellable) {\n let param = {\n kind: 'begin',\n title,\n percentage,\n message,\n cancellable\n };\n this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type, this._token, param);\n }\n report(arg0, arg1) {\n let param = {\n kind: 'report'\n };\n if (typeof arg0 === 'number') {\n param.percentage = arg0;\n if (arg1 !== undefined) {\n param.message = arg1;\n }\n }\n else {\n param.message = arg0;\n }\n this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type, this._token, param);\n }\n done() {\n WorkDoneProgressReporterImpl.Instances.delete(this._token);\n this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type, this._token, { kind: 'end' });\n }\n}\nWorkDoneProgressReporterImpl.Instances = new Map();\nclass WorkDoneProgressServerReporterImpl extends WorkDoneProgressReporterImpl {\n constructor(connection, token) {\n super(connection, token);\n this._source = new vscode_languageserver_protocol_1.CancellationTokenSource();\n }\n get token() {\n return this._source.token;\n }\n done() {\n this._source.dispose();\n super.done();\n }\n cancel() {\n this._source.cancel();\n }\n}\nclass NullProgressReporter {\n constructor() {\n }\n begin() {\n }\n report() {\n }\n done() {\n }\n}\nclass NullProgressServerReporter extends NullProgressReporter {\n constructor() {\n super();\n this._source = new vscode_languageserver_protocol_1.CancellationTokenSource();\n }\n get token() {\n return this._source.token;\n }\n done() {\n this._source.dispose();\n }\n cancel() {\n this._source.cancel();\n }\n}\nfunction attachWorkDone(connection, params) {\n if (params === undefined || params.workDoneToken === undefined) {\n return new NullProgressReporter();\n }\n const token = params.workDoneToken;\n delete params.workDoneToken;\n return new WorkDoneProgressReporterImpl(connection, token);\n}\nexports.attachWorkDone = attachWorkDone;\nconst ProgressFeature = (Base) => {\n return class extends Base {\n constructor() {\n super();\n this._progressSupported = false;\n }\n initialize(capabilities) {\n super.initialize(capabilities);\n if (capabilities?.window?.workDoneProgress === true) {\n this._progressSupported = true;\n this.connection.onNotification(vscode_languageserver_protocol_1.WorkDoneProgressCancelNotification.type, (params) => {\n let progress = WorkDoneProgressReporterImpl.Instances.get(params.token);\n if (progress instanceof WorkDoneProgressServerReporterImpl || progress instanceof NullProgressServerReporter) {\n progress.cancel();\n }\n });\n }\n }\n attachWorkDoneProgress(token) {\n if (token === undefined) {\n return new NullProgressReporter();\n }\n else {\n return new WorkDoneProgressReporterImpl(this.connection, token);\n }\n }\n createWorkDoneProgress() {\n if (this._progressSupported) {\n const token = (0, uuid_1.generateUuid)();\n return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkDoneProgressCreateRequest.type, { token }).then(() => {\n const result = new WorkDoneProgressServerReporterImpl(this.connection, token);\n return result;\n });\n }\n else {\n return Promise.resolve(new NullProgressServerReporter());\n }\n }\n };\n};\nexports.ProgressFeature = ProgressFeature;\nvar ResultProgress;\n(function (ResultProgress) {\n ResultProgress.type = new vscode_languageserver_protocol_1.ProgressType();\n})(ResultProgress || (ResultProgress = {}));\nclass ResultProgressReporterImpl {\n constructor(_connection, _token) {\n this._connection = _connection;\n this._token = _token;\n }\n report(data) {\n this._connection.sendProgress(ResultProgress.type, this._token, data);\n }\n}\nfunction attachPartialResult(connection, params) {\n if (params === undefined || params.partialResultToken === undefined) {\n return undefined;\n }\n const token = params.partialResultToken;\n delete params.partialResultToken;\n return new ResultProgressReporterImpl(connection, token);\n}\nexports.attachPartialResult = attachPartialResult;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfigurationFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst Is = require(\"./utils/is\");\nconst ConfigurationFeature = (Base) => {\n return class extends Base {\n getConfiguration(arg) {\n if (!arg) {\n return this._getConfiguration({});\n }\n else if (Is.string(arg)) {\n return this._getConfiguration({ section: arg });\n }\n else {\n return this._getConfiguration(arg);\n }\n }\n _getConfiguration(arg) {\n let params = {\n items: Array.isArray(arg) ? arg : [arg]\n };\n return this.connection.sendRequest(vscode_languageserver_protocol_1.ConfigurationRequest.type, params).then((result) => {\n if (Array.isArray(result)) {\n return Array.isArray(arg) ? result : result[0];\n }\n else {\n return Array.isArray(arg) ? [] : null;\n }\n });\n }\n };\n};\nexports.ConfigurationFeature = ConfigurationFeature;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkspaceFoldersFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst WorkspaceFoldersFeature = (Base) => {\n return class extends Base {\n constructor() {\n super();\n this._notificationIsAutoRegistered = false;\n }\n initialize(capabilities) {\n super.initialize(capabilities);\n let workspaceCapabilities = capabilities.workspace;\n if (workspaceCapabilities && workspaceCapabilities.workspaceFolders) {\n this._onDidChangeWorkspaceFolders = new vscode_languageserver_protocol_1.Emitter();\n this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type, (params) => {\n this._onDidChangeWorkspaceFolders.fire(params.event);\n });\n }\n }\n fillServerCapabilities(capabilities) {\n super.fillServerCapabilities(capabilities);\n const changeNotifications = capabilities.workspace?.workspaceFolders?.changeNotifications;\n this._notificationIsAutoRegistered = changeNotifications === true || typeof changeNotifications === 'string';\n }\n getWorkspaceFolders() {\n return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkspaceFoldersRequest.type);\n }\n get onDidChangeWorkspaceFolders() {\n if (!this._onDidChangeWorkspaceFolders) {\n throw new Error('Client doesn\\'t support sending workspace folder change events.');\n }\n if (!this._notificationIsAutoRegistered && !this._unregistration) {\n this._unregistration = this.connection.client.register(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type);\n }\n return this._onDidChangeWorkspaceFolders.event;\n }\n };\n};\nexports.WorkspaceFoldersFeature = WorkspaceFoldersFeature;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CallHierarchyFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst CallHierarchyFeature = (Base) => {\n return class extends Base {\n get callHierarchy() {\n return {\n onPrepare: (handler) => {\n return this.connection.onRequest(vscode_languageserver_protocol_1.CallHierarchyPrepareRequest.type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), undefined);\n });\n },\n onIncomingCalls: (handler) => {\n const type = vscode_languageserver_protocol_1.CallHierarchyIncomingCallsRequest.type;\n return this.connection.onRequest(type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));\n });\n },\n onOutgoingCalls: (handler) => {\n const type = vscode_languageserver_protocol_1.CallHierarchyOutgoingCallsRequest.type;\n return this.connection.onRequest(type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));\n });\n }\n };\n }\n };\n};\nexports.CallHierarchyFeature = CallHierarchyFeature;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SemanticTokensBuilder = exports.SemanticTokensDiff = exports.SemanticTokensFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst SemanticTokensFeature = (Base) => {\n return class extends Base {\n get semanticTokens() {\n return {\n refresh: () => {\n return this.connection.sendRequest(vscode_languageserver_protocol_1.SemanticTokensRefreshRequest.type);\n },\n on: (handler) => {\n const type = vscode_languageserver_protocol_1.SemanticTokensRequest.type;\n return this.connection.onRequest(type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));\n });\n },\n onDelta: (handler) => {\n const type = vscode_languageserver_protocol_1.SemanticTokensDeltaRequest.type;\n return this.connection.onRequest(type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));\n });\n },\n onRange: (handler) => {\n const type = vscode_languageserver_protocol_1.SemanticTokensRangeRequest.type;\n return this.connection.onRequest(type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));\n });\n }\n };\n }\n };\n};\nexports.SemanticTokensFeature = SemanticTokensFeature;\nclass SemanticTokensDiff {\n constructor(originalSequence, modifiedSequence) {\n this.originalSequence = originalSequence;\n this.modifiedSequence = modifiedSequence;\n }\n computeDiff() {\n const originalLength = this.originalSequence.length;\n const modifiedLength = this.modifiedSequence.length;\n let startIndex = 0;\n while (startIndex < modifiedLength && startIndex < originalLength && this.originalSequence[startIndex] === this.modifiedSequence[startIndex]) {\n startIndex++;\n }\n if (startIndex < modifiedLength && startIndex < originalLength) {\n let originalEndIndex = originalLength - 1;\n let modifiedEndIndex = modifiedLength - 1;\n while (originalEndIndex >= startIndex && modifiedEndIndex >= startIndex && this.originalSequence[originalEndIndex] === this.modifiedSequence[modifiedEndIndex]) {\n originalEndIndex--;\n modifiedEndIndex--;\n }\n // if one moved behind the start index move them forward again\n if (originalEndIndex < startIndex || modifiedEndIndex < startIndex) {\n originalEndIndex++;\n modifiedEndIndex++;\n }\n const deleteCount = originalEndIndex - startIndex + 1;\n const newData = this.modifiedSequence.slice(startIndex, modifiedEndIndex + 1);\n // If we moved behind the start index we could have missed a simple delete.\n if (newData.length === 1 && newData[0] === this.originalSequence[originalEndIndex]) {\n return [\n { start: startIndex, deleteCount: deleteCount - 1 }\n ];\n }\n else {\n return [\n { start: startIndex, deleteCount, data: newData }\n ];\n }\n }\n else if (startIndex < modifiedLength) {\n return [\n { start: startIndex, deleteCount: 0, data: this.modifiedSequence.slice(startIndex) }\n ];\n }\n else if (startIndex < originalLength) {\n return [\n { start: startIndex, deleteCount: originalLength - startIndex }\n ];\n }\n else {\n // The two arrays are the same.\n return [];\n }\n }\n}\nexports.SemanticTokensDiff = SemanticTokensDiff;\nclass SemanticTokensBuilder {\n constructor() {\n this._prevData = undefined;\n this.initialize();\n }\n initialize() {\n this._id = Date.now();\n this._prevLine = 0;\n this._prevChar = 0;\n this._data = [];\n this._dataLen = 0;\n }\n push(line, char, length, tokenType, tokenModifiers) {\n let pushLine = line;\n let pushChar = char;\n if (this._dataLen > 0) {\n pushLine -= this._prevLine;\n if (pushLine === 0) {\n pushChar -= this._prevChar;\n }\n }\n this._data[this._dataLen++] = pushLine;\n this._data[this._dataLen++] = pushChar;\n this._data[this._dataLen++] = length;\n this._data[this._dataLen++] = tokenType;\n this._data[this._dataLen++] = tokenModifiers;\n this._prevLine = line;\n this._prevChar = char;\n }\n get id() {\n return this._id.toString();\n }\n previousResult(id) {\n if (this.id === id) {\n this._prevData = this._data;\n }\n this.initialize();\n }\n build() {\n this._prevData = undefined;\n return {\n resultId: this.id,\n data: this._data\n };\n }\n canBuildEdits() {\n return this._prevData !== undefined;\n }\n buildEdits() {\n if (this._prevData !== undefined) {\n return {\n resultId: this.id,\n edits: (new SemanticTokensDiff(this._prevData, this._data)).computeDiff()\n };\n }\n else {\n return this.build();\n }\n }\n}\nexports.SemanticTokensBuilder = SemanticTokensBuilder;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShowDocumentFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst ShowDocumentFeature = (Base) => {\n return class extends Base {\n showDocument(params) {\n return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowDocumentRequest.type, params);\n }\n };\n};\nexports.ShowDocumentFeature = ShowDocumentFeature;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FileOperationsFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst FileOperationsFeature = (Base) => {\n return class extends Base {\n onDidCreateFiles(handler) {\n return this.connection.onNotification(vscode_languageserver_protocol_1.DidCreateFilesNotification.type, (params) => {\n handler(params);\n });\n }\n onDidRenameFiles(handler) {\n return this.connection.onNotification(vscode_languageserver_protocol_1.DidRenameFilesNotification.type, (params) => {\n handler(params);\n });\n }\n onDidDeleteFiles(handler) {\n return this.connection.onNotification(vscode_languageserver_protocol_1.DidDeleteFilesNotification.type, (params) => {\n handler(params);\n });\n }\n onWillCreateFiles(handler) {\n return this.connection.onRequest(vscode_languageserver_protocol_1.WillCreateFilesRequest.type, (params, cancel) => {\n return handler(params, cancel);\n });\n }\n onWillRenameFiles(handler) {\n return this.connection.onRequest(vscode_languageserver_protocol_1.WillRenameFilesRequest.type, (params, cancel) => {\n return handler(params, cancel);\n });\n }\n onWillDeleteFiles(handler) {\n return this.connection.onRequest(vscode_languageserver_protocol_1.WillDeleteFilesRequest.type, (params, cancel) => {\n return handler(params, cancel);\n });\n }\n };\n};\nexports.FileOperationsFeature = FileOperationsFeature;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinkedEditingRangeFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst LinkedEditingRangeFeature = (Base) => {\n return class extends Base {\n onLinkedEditingRange(handler) {\n return this.connection.onRequest(vscode_languageserver_protocol_1.LinkedEditingRangeRequest.type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), undefined);\n });\n }\n };\n};\nexports.LinkedEditingRangeFeature = LinkedEditingRangeFeature;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeHierarchyFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst TypeHierarchyFeature = (Base) => {\n return class extends Base {\n get typeHierarchy() {\n return {\n onPrepare: (handler) => {\n return this.connection.onRequest(vscode_languageserver_protocol_1.TypeHierarchyPrepareRequest.type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), undefined);\n });\n },\n onSupertypes: (handler) => {\n const type = vscode_languageserver_protocol_1.TypeHierarchySupertypesRequest.type;\n return this.connection.onRequest(type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));\n });\n },\n onSubtypes: (handler) => {\n const type = vscode_languageserver_protocol_1.TypeHierarchySubtypesRequest.type;\n return this.connection.onRequest(type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));\n });\n }\n };\n }\n };\n};\nexports.TypeHierarchyFeature = TypeHierarchyFeature;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InlineValueFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst InlineValueFeature = (Base) => {\n return class extends Base {\n get inlineValue() {\n return {\n refresh: () => {\n return this.connection.sendRequest(vscode_languageserver_protocol_1.InlineValueRefreshRequest.type);\n },\n on: (handler) => {\n return this.connection.onRequest(vscode_languageserver_protocol_1.InlineValueRequest.type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params));\n });\n }\n };\n }\n };\n};\nexports.InlineValueFeature = InlineValueFeature;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InlayHintFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst InlayHintFeature = (Base) => {\n return class extends Base {\n get inlayHint() {\n return {\n refresh: () => {\n return this.connection.sendRequest(vscode_languageserver_protocol_1.InlayHintRefreshRequest.type);\n },\n on: (handler) => {\n return this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintRequest.type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params));\n });\n },\n resolve: (handler) => {\n return this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintResolveRequest.type, (params, cancel) => {\n return handler(params, cancel);\n });\n }\n };\n }\n };\n};\nexports.InlayHintFeature = InlayHintFeature;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DiagnosticFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst DiagnosticFeature = (Base) => {\n return class extends Base {\n get diagnostics() {\n return {\n refresh: () => {\n return this.connection.sendRequest(vscode_languageserver_protocol_1.DiagnosticRefreshRequest.type);\n },\n on: (handler) => {\n return this.connection.onRequest(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.partialResult, params));\n });\n },\n onWorkspace: (handler) => {\n return this.connection.onRequest(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.partialResult, params));\n });\n }\n };\n }\n };\n};\nexports.DiagnosticFeature = DiagnosticFeature;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextDocuments = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\n/**\n * A manager for simple text documents. The manager requires at a minimum that\n * the server registered for the following text document sync events in the\n * initialize handler or via dynamic registration:\n *\n * - open and close events.\n * - change events.\n *\n * Registering for save and will save events is optional.\n */\nclass TextDocuments {\n /**\n * Create a new text document manager.\n */\n constructor(configuration) {\n this._configuration = configuration;\n this._syncedDocuments = new Map();\n this._onDidChangeContent = new vscode_languageserver_protocol_1.Emitter();\n this._onDidOpen = new vscode_languageserver_protocol_1.Emitter();\n this._onDidClose = new vscode_languageserver_protocol_1.Emitter();\n this._onDidSave = new vscode_languageserver_protocol_1.Emitter();\n this._onWillSave = new vscode_languageserver_protocol_1.Emitter();\n }\n /**\n * An event that fires when a text document managed by this manager\n * has been opened.\n */\n get onDidOpen() {\n return this._onDidOpen.event;\n }\n /**\n * An event that fires when a text document managed by this manager\n * has been opened or the content changes.\n */\n get onDidChangeContent() {\n return this._onDidChangeContent.event;\n }\n /**\n * An event that fires when a text document managed by this manager\n * will be saved.\n */\n get onWillSave() {\n return this._onWillSave.event;\n }\n /**\n * Sets a handler that will be called if a participant wants to provide\n * edits during a text document save.\n */\n onWillSaveWaitUntil(handler) {\n this._willSaveWaitUntil = handler;\n }\n /**\n * An event that fires when a text document managed by this manager\n * has been saved.\n */\n get onDidSave() {\n return this._onDidSave.event;\n }\n /**\n * An event that fires when a text document managed by this manager\n * has been closed.\n */\n get onDidClose() {\n return this._onDidClose.event;\n }\n /**\n * Returns the document for the given URI. Returns undefined if\n * the document is not managed by this instance.\n *\n * @param uri The text document's URI to retrieve.\n * @return the text document or `undefined`.\n */\n get(uri) {\n return this._syncedDocuments.get(uri);\n }\n /**\n * Returns all text documents managed by this instance.\n *\n * @return all text documents.\n */\n all() {\n return Array.from(this._syncedDocuments.values());\n }\n /**\n * Returns the URIs of all text documents managed by this instance.\n *\n * @return the URI's of all text documents.\n */\n keys() {\n return Array.from(this._syncedDocuments.keys());\n }\n /**\n * Listens for `low level` notification on the given connection to\n * update the text documents managed by this instance.\n *\n * Please note that the connection only provides handlers not an event model. Therefore\n * listening on a connection will overwrite the following handlers on a connection:\n * `onDidOpenTextDocument`, `onDidChangeTextDocument`, `onDidCloseTextDocument`,\n * `onWillSaveTextDocument`, `onWillSaveTextDocumentWaitUntil` and `onDidSaveTextDocument`.\n *\n * Use the corresponding events on the TextDocuments instance instead.\n *\n * @param connection The connection to listen on.\n */\n listen(connection) {\n connection.__textDocumentSync = vscode_languageserver_protocol_1.TextDocumentSyncKind.Incremental;\n const disposables = [];\n disposables.push(connection.onDidOpenTextDocument((event) => {\n const td = event.textDocument;\n const document = this._configuration.create(td.uri, td.languageId, td.version, td.text);\n this._syncedDocuments.set(td.uri, document);\n const toFire = Object.freeze({ document });\n this._onDidOpen.fire(toFire);\n this._onDidChangeContent.fire(toFire);\n }));\n disposables.push(connection.onDidChangeTextDocument((event) => {\n const td = event.textDocument;\n const changes = event.contentChanges;\n if (changes.length === 0) {\n return;\n }\n const { version } = td;\n if (version === null || version === undefined) {\n throw new Error(`Received document change event for ${td.uri} without valid version identifier`);\n }\n let syncedDocument = this._syncedDocuments.get(td.uri);\n if (syncedDocument !== undefined) {\n syncedDocument = this._configuration.update(syncedDocument, changes, version);\n this._syncedDocuments.set(td.uri, syncedDocument);\n this._onDidChangeContent.fire(Object.freeze({ document: syncedDocument }));\n }\n }));\n disposables.push(connection.onDidCloseTextDocument((event) => {\n let syncedDocument = this._syncedDocuments.get(event.textDocument.uri);\n if (syncedDocument !== undefined) {\n this._syncedDocuments.delete(event.textDocument.uri);\n this._onDidClose.fire(Object.freeze({ document: syncedDocument }));\n }\n }));\n disposables.push(connection.onWillSaveTextDocument((event) => {\n let syncedDocument = this._syncedDocuments.get(event.textDocument.uri);\n if (syncedDocument !== undefined) {\n this._onWillSave.fire(Object.freeze({ document: syncedDocument, reason: event.reason }));\n }\n }));\n disposables.push(connection.onWillSaveTextDocumentWaitUntil((event, token) => {\n let syncedDocument = this._syncedDocuments.get(event.textDocument.uri);\n if (syncedDocument !== undefined && this._willSaveWaitUntil) {\n return this._willSaveWaitUntil(Object.freeze({ document: syncedDocument, reason: event.reason }), token);\n }\n else {\n return [];\n }\n }));\n disposables.push(connection.onDidSaveTextDocument((event) => {\n let syncedDocument = this._syncedDocuments.get(event.textDocument.uri);\n if (syncedDocument !== undefined) {\n this._onDidSave.fire(Object.freeze({ document: syncedDocument }));\n }\n }));\n return vscode_languageserver_protocol_1.Disposable.create(() => { disposables.forEach(disposable => disposable.dispose()); });\n }\n}\nexports.TextDocuments = TextDocuments;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookDocuments = exports.NotebookSyncFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst textDocuments_1 = require(\"./textDocuments\");\nconst NotebookSyncFeature = (Base) => {\n return class extends Base {\n get synchronization() {\n return {\n onDidOpenNotebookDocument: (handler) => {\n return this.connection.onNotification(vscode_languageserver_protocol_1.DidOpenNotebookDocumentNotification.type, (params) => {\n handler(params);\n });\n },\n onDidChangeNotebookDocument: (handler) => {\n return this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeNotebookDocumentNotification.type, (params) => {\n handler(params);\n });\n },\n onDidSaveNotebookDocument: (handler) => {\n return this.connection.onNotification(vscode_languageserver_protocol_1.DidSaveNotebookDocumentNotification.type, (params) => {\n handler(params);\n });\n },\n onDidCloseNotebookDocument: (handler) => {\n return this.connection.onNotification(vscode_languageserver_protocol_1.DidCloseNotebookDocumentNotification.type, (params) => {\n handler(params);\n });\n }\n };\n }\n };\n};\nexports.NotebookSyncFeature = NotebookSyncFeature;\nclass CellTextDocumentConnection {\n onDidOpenTextDocument(handler) {\n this.openHandler = handler;\n return vscode_languageserver_protocol_1.Disposable.create(() => { this.openHandler = undefined; });\n }\n openTextDocument(params) {\n this.openHandler && this.openHandler(params);\n }\n onDidChangeTextDocument(handler) {\n this.changeHandler = handler;\n return vscode_languageserver_protocol_1.Disposable.create(() => { this.changeHandler = handler; });\n }\n changeTextDocument(params) {\n this.changeHandler && this.changeHandler(params);\n }\n onDidCloseTextDocument(handler) {\n this.closeHandler = handler;\n return vscode_languageserver_protocol_1.Disposable.create(() => { this.closeHandler = undefined; });\n }\n closeTextDocument(params) {\n this.closeHandler && this.closeHandler(params);\n }\n onWillSaveTextDocument() {\n return CellTextDocumentConnection.NULL_DISPOSE;\n }\n onWillSaveTextDocumentWaitUntil() {\n return CellTextDocumentConnection.NULL_DISPOSE;\n }\n onDidSaveTextDocument() {\n return CellTextDocumentConnection.NULL_DISPOSE;\n }\n}\nCellTextDocumentConnection.NULL_DISPOSE = Object.freeze({ dispose: () => { } });\nclass NotebookDocuments {\n constructor(configurationOrTextDocuments) {\n if (configurationOrTextDocuments instanceof textDocuments_1.TextDocuments) {\n this._cellTextDocuments = configurationOrTextDocuments;\n }\n else {\n this._cellTextDocuments = new textDocuments_1.TextDocuments(configurationOrTextDocuments);\n }\n this.notebookDocuments = new Map();\n this.notebookCellMap = new Map();\n this._onDidOpen = new vscode_languageserver_protocol_1.Emitter();\n this._onDidChange = new vscode_languageserver_protocol_1.Emitter();\n this._onDidSave = new vscode_languageserver_protocol_1.Emitter();\n this._onDidClose = new vscode_languageserver_protocol_1.Emitter();\n }\n get cellTextDocuments() {\n return this._cellTextDocuments;\n }\n getCellTextDocument(cell) {\n return this._cellTextDocuments.get(cell.document);\n }\n getNotebookDocument(uri) {\n return this.notebookDocuments.get(uri);\n }\n getNotebookCell(uri) {\n const value = this.notebookCellMap.get(uri);\n return value && value[0];\n }\n findNotebookDocumentForCell(cell) {\n const key = typeof cell === 'string' ? cell : cell.document;\n const value = this.notebookCellMap.get(key);\n return value && value[1];\n }\n get onDidOpen() {\n return this._onDidOpen.event;\n }\n get onDidSave() {\n return this._onDidSave.event;\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get onDidClose() {\n return this._onDidClose.event;\n }\n /**\n * Listens for `low level` notification on the given connection to\n * update the notebook documents managed by this instance.\n *\n * Please note that the connection only provides handlers not an event model. Therefore\n * listening on a connection will overwrite the following handlers on a connection:\n * `onDidOpenNotebookDocument`, `onDidChangeNotebookDocument`, `onDidSaveNotebookDocument`,\n * and `onDidCloseNotebookDocument`.\n *\n * @param connection The connection to listen on.\n */\n listen(connection) {\n const cellTextDocumentConnection = new CellTextDocumentConnection();\n const disposables = [];\n disposables.push(this.cellTextDocuments.listen(cellTextDocumentConnection));\n disposables.push(connection.notebooks.synchronization.onDidOpenNotebookDocument((params) => {\n this.notebookDocuments.set(params.notebookDocument.uri, params.notebookDocument);\n for (const cellTextDocument of params.cellTextDocuments) {\n cellTextDocumentConnection.openTextDocument({ textDocument: cellTextDocument });\n }\n this.updateCellMap(params.notebookDocument);\n this._onDidOpen.fire(params.notebookDocument);\n }));\n disposables.push(connection.notebooks.synchronization.onDidChangeNotebookDocument((params) => {\n const notebookDocument = this.notebookDocuments.get(params.notebookDocument.uri);\n if (notebookDocument === undefined) {\n return;\n }\n notebookDocument.version = params.notebookDocument.version;\n const oldMetadata = notebookDocument.metadata;\n let metadataChanged = false;\n const change = params.change;\n if (change.metadata !== undefined) {\n metadataChanged = true;\n notebookDocument.metadata = change.metadata;\n }\n const opened = [];\n const closed = [];\n const data = [];\n const text = [];\n if (change.cells !== undefined) {\n const changedCells = change.cells;\n if (changedCells.structure !== undefined) {\n const array = changedCells.structure.array;\n notebookDocument.cells.splice(array.start, array.deleteCount, ...(array.cells !== undefined ? array.cells : []));\n // Additional open cell text documents.\n if (changedCells.structure.didOpen !== undefined) {\n for (const open of changedCells.structure.didOpen) {\n cellTextDocumentConnection.openTextDocument({ textDocument: open });\n opened.push(open.uri);\n }\n }\n // Additional closed cell test documents.\n if (changedCells.structure.didClose) {\n for (const close of changedCells.structure.didClose) {\n cellTextDocumentConnection.closeTextDocument({ textDocument: close });\n closed.push(close.uri);\n }\n }\n }\n if (changedCells.data !== undefined) {\n const cellUpdates = new Map(changedCells.data.map(cell => [cell.document, cell]));\n for (let i = 0; i <= notebookDocument.cells.length; i++) {\n const change = cellUpdates.get(notebookDocument.cells[i].document);\n if (change !== undefined) {\n const old = notebookDocument.cells.splice(i, 1, change);\n data.push({ old: old[0], new: change });\n cellUpdates.delete(change.document);\n if (cellUpdates.size === 0) {\n break;\n }\n }\n }\n }\n if (changedCells.textContent !== undefined) {\n for (const cellTextDocument of changedCells.textContent) {\n cellTextDocumentConnection.changeTextDocument({ textDocument: cellTextDocument.document, contentChanges: cellTextDocument.changes });\n text.push(cellTextDocument.document.uri);\n }\n }\n }\n // Update internal data structure.\n this.updateCellMap(notebookDocument);\n const changeEvent = { notebookDocument };\n if (metadataChanged) {\n changeEvent.metadata = { old: oldMetadata, new: notebookDocument.metadata };\n }\n const added = [];\n for (const open of opened) {\n added.push(this.getNotebookCell(open));\n }\n const removed = [];\n for (const close of closed) {\n removed.push(this.getNotebookCell(close));\n }\n const textContent = [];\n for (const change of text) {\n textContent.push(this.getNotebookCell(change));\n }\n if (added.length > 0 || removed.length > 0 || data.length > 0 || textContent.length > 0) {\n changeEvent.cells = { added, removed, changed: { data, textContent } };\n }\n if (changeEvent.metadata !== undefined || changeEvent.cells !== undefined) {\n this._onDidChange.fire(changeEvent);\n }\n }));\n disposables.push(connection.notebooks.synchronization.onDidSaveNotebookDocument((params) => {\n const notebookDocument = this.notebookDocuments.get(params.notebookDocument.uri);\n if (notebookDocument === undefined) {\n return;\n }\n this._onDidSave.fire(notebookDocument);\n }));\n disposables.push(connection.notebooks.synchronization.onDidCloseNotebookDocument((params) => {\n const notebookDocument = this.notebookDocuments.get(params.notebookDocument.uri);\n if (notebookDocument === undefined) {\n return;\n }\n this._onDidClose.fire(notebookDocument);\n for (const cellTextDocument of params.cellTextDocuments) {\n cellTextDocumentConnection.closeTextDocument({ textDocument: cellTextDocument });\n }\n this.notebookDocuments.delete(params.notebookDocument.uri);\n for (const cell of notebookDocument.cells) {\n this.notebookCellMap.delete(cell.document);\n }\n }));\n return vscode_languageserver_protocol_1.Disposable.create(() => { disposables.forEach(disposable => disposable.dispose()); });\n }\n updateCellMap(notebookDocument) {\n for (const cell of notebookDocument.cells) {\n this.notebookCellMap.set(cell.document, [cell, notebookDocument]);\n }\n }\n}\nexports.NotebookDocuments = NotebookDocuments;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonikerFeature = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst MonikerFeature = (Base) => {\n return class extends Base {\n get moniker() {\n return {\n on: (handler) => {\n const type = vscode_languageserver_protocol_1.MonikerRequest.type;\n return this.connection.onRequest(type, (params, cancel) => {\n return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));\n });\n },\n };\n }\n };\n};\nexports.MonikerFeature = MonikerFeature;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createConnection = exports.combineFeatures = exports.combineNotebooksFeatures = exports.combineLanguagesFeatures = exports.combineWorkspaceFeatures = exports.combineWindowFeatures = exports.combineClientFeatures = exports.combineTracerFeatures = exports.combineTelemetryFeatures = exports.combineConsoleFeatures = exports._NotebooksImpl = exports._LanguagesImpl = exports.BulkUnregistration = exports.BulkRegistration = exports.ErrorMessageTracker = void 0;\nconst vscode_languageserver_protocol_1 = require(\"vscode-languageserver-protocol\");\nconst Is = require(\"./utils/is\");\nconst UUID = require(\"./utils/uuid\");\nconst progress_1 = require(\"./progress\");\nconst configuration_1 = require(\"./configuration\");\nconst workspaceFolder_1 = require(\"./workspaceFolder\");\nconst callHierarchy_1 = require(\"./callHierarchy\");\nconst semanticTokens_1 = require(\"./semanticTokens\");\nconst showDocument_1 = require(\"./showDocument\");\nconst fileOperations_1 = require(\"./fileOperations\");\nconst linkedEditingRange_1 = require(\"./linkedEditingRange\");\nconst typeHierarchy_1 = require(\"./typeHierarchy\");\nconst inlineValue_1 = require(\"./inlineValue\");\nconst inlayHint_1 = require(\"./inlayHint\");\nconst diagnostic_1 = require(\"./diagnostic\");\nconst notebook_1 = require(\"./notebook\");\nconst moniker_1 = require(\"./moniker\");\nfunction null2Undefined(value) {\n if (value === null) {\n return undefined;\n }\n return value;\n}\n/**\n * Helps tracking error message. Equal occurrences of the same\n * message are only stored once. This class is for example\n * useful if text documents are validated in a loop and equal\n * error message should be folded into one.\n */\nclass ErrorMessageTracker {\n constructor() {\n this._messages = Object.create(null);\n }\n /**\n * Add a message to the tracker.\n *\n * @param message The message to add.\n */\n add(message) {\n let count = this._messages[message];\n if (!count) {\n count = 0;\n }\n count++;\n this._messages[message] = count;\n }\n /**\n * Send all tracked messages to the connection's window.\n *\n * @param connection The connection established between client and server.\n */\n sendErrors(connection) {\n Object.keys(this._messages).forEach(message => {\n connection.window.showErrorMessage(message);\n });\n }\n}\nexports.ErrorMessageTracker = ErrorMessageTracker;\nclass RemoteConsoleImpl {\n constructor() {\n }\n rawAttach(connection) {\n this._rawConnection = connection;\n }\n attach(connection) {\n this._connection = connection;\n }\n get connection() {\n if (!this._connection) {\n throw new Error('Remote is not attached to a connection yet.');\n }\n return this._connection;\n }\n fillServerCapabilities(_capabilities) {\n }\n initialize(_capabilities) {\n }\n error(message) {\n this.send(vscode_languageserver_protocol_1.MessageType.Error, message);\n }\n warn(message) {\n this.send(vscode_languageserver_protocol_1.MessageType.Warning, message);\n }\n info(message) {\n this.send(vscode_languageserver_protocol_1.MessageType.Info, message);\n }\n log(message) {\n this.send(vscode_languageserver_protocol_1.MessageType.Log, message);\n }\n send(type, message) {\n if (this._rawConnection) {\n this._rawConnection.sendNotification(vscode_languageserver_protocol_1.LogMessageNotification.type, { type, message }).catch(() => {\n (0, vscode_languageserver_protocol_1.RAL)().console.error(`Sending log message failed`);\n });\n }\n }\n}\nclass _RemoteWindowImpl {\n constructor() {\n }\n attach(connection) {\n this._connection = connection;\n }\n get connection() {\n if (!this._connection) {\n throw new Error('Remote is not attached to a connection yet.');\n }\n return this._connection;\n }\n initialize(_capabilities) {\n }\n fillServerCapabilities(_capabilities) {\n }\n showErrorMessage(message, ...actions) {\n let params = { type: vscode_languageserver_protocol_1.MessageType.Error, message, actions };\n return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type, params).then(null2Undefined);\n }\n showWarningMessage(message, ...actions) {\n let params = { type: vscode_languageserver_protocol_1.MessageType.Warning, message, actions };\n return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type, params).then(null2Undefined);\n }\n showInformationMessage(message, ...actions) {\n let params = { type: vscode_languageserver_protocol_1.MessageType.Info, message, actions };\n return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type, params).then(null2Undefined);\n }\n}\nconst RemoteWindowImpl = (0, showDocument_1.ShowDocumentFeature)((0, progress_1.ProgressFeature)(_RemoteWindowImpl));\nvar BulkRegistration;\n(function (BulkRegistration) {\n /**\n * Creates a new bulk registration.\n * @return an empty bulk registration.\n */\n function create() {\n return new BulkRegistrationImpl();\n }\n BulkRegistration.create = create;\n})(BulkRegistration = exports.BulkRegistration || (exports.BulkRegistration = {}));\nclass BulkRegistrationImpl {\n constructor() {\n this._registrations = [];\n this._registered = new Set();\n }\n add(type, registerOptions) {\n const method = Is.string(type) ? type : type.method;\n if (this._registered.has(method)) {\n throw new Error(`${method} is already added to this registration`);\n }\n const id = UUID.generateUuid();\n this._registrations.push({\n id: id,\n method: method,\n registerOptions: registerOptions || {}\n });\n this._registered.add(method);\n }\n asRegistrationParams() {\n return {\n registrations: this._registrations\n };\n }\n}\nvar BulkUnregistration;\n(function (BulkUnregistration) {\n function create() {\n return new BulkUnregistrationImpl(undefined, []);\n }\n BulkUnregistration.create = create;\n})(BulkUnregistration = exports.BulkUnregistration || (exports.BulkUnregistration = {}));\nclass BulkUnregistrationImpl {\n constructor(_connection, unregistrations) {\n this._connection = _connection;\n this._unregistrations = new Map();\n unregistrations.forEach(unregistration => {\n this._unregistrations.set(unregistration.method, unregistration);\n });\n }\n get isAttached() {\n return !!this._connection;\n }\n attach(connection) {\n this._connection = connection;\n }\n add(unregistration) {\n this._unregistrations.set(unregistration.method, unregistration);\n }\n dispose() {\n let unregistrations = [];\n for (let unregistration of this._unregistrations.values()) {\n unregistrations.push(unregistration);\n }\n let params = {\n unregisterations: unregistrations\n };\n this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type, params).catch(() => {\n this._connection.console.info(`Bulk unregistration failed.`);\n });\n }\n disposeSingle(arg) {\n const method = Is.string(arg) ? arg : arg.method;\n const unregistration = this._unregistrations.get(method);\n if (!unregistration) {\n return false;\n }\n let params = {\n unregisterations: [unregistration]\n };\n this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type, params).then(() => {\n this._unregistrations.delete(method);\n }, (_error) => {\n this._connection.console.info(`Un-registering request handler for ${unregistration.id} failed.`);\n });\n return true;\n }\n}\nclass RemoteClientImpl {\n attach(connection) {\n this._connection = connection;\n }\n get connection() {\n if (!this._connection) {\n throw new Error('Remote is not attached to a connection yet.');\n }\n return this._connection;\n }\n initialize(_capabilities) {\n }\n fillServerCapabilities(_capabilities) {\n }\n register(typeOrRegistrations, registerOptionsOrType, registerOptions) {\n if (typeOrRegistrations instanceof BulkRegistrationImpl) {\n return this.registerMany(typeOrRegistrations);\n }\n else if (typeOrRegistrations instanceof BulkUnregistrationImpl) {\n return this.registerSingle1(typeOrRegistrations, registerOptionsOrType, registerOptions);\n }\n else {\n return this.registerSingle2(typeOrRegistrations, registerOptionsOrType);\n }\n }\n registerSingle1(unregistration, type, registerOptions) {\n const method = Is.string(type) ? type : type.method;\n const id = UUID.generateUuid();\n let params = {\n registrations: [{ id, method, registerOptions: registerOptions || {} }]\n };\n if (!unregistration.isAttached) {\n unregistration.attach(this.connection);\n }\n return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type, params).then((_result) => {\n unregistration.add({ id: id, method: method });\n return unregistration;\n }, (_error) => {\n this.connection.console.info(`Registering request handler for ${method} failed.`);\n return Promise.reject(_error);\n });\n }\n registerSingle2(type, registerOptions) {\n const method = Is.string(type) ? type : type.method;\n const id = UUID.generateUuid();\n let params = {\n registrations: [{ id, method, registerOptions: registerOptions || {} }]\n };\n return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type, params).then((_result) => {\n return vscode_languageserver_protocol_1.Disposable.create(() => {\n this.unregisterSingle(id, method).catch(() => { this.connection.console.info(`Un-registering capability with id ${id} failed.`); });\n });\n }, (_error) => {\n this.connection.console.info(`Registering request handler for ${method} failed.`);\n return Promise.reject(_error);\n });\n }\n unregisterSingle(id, method) {\n let params = {\n unregisterations: [{ id, method }]\n };\n return this.connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type, params).catch(() => {\n this.connection.console.info(`Un-registering request handler for ${id} failed.`);\n });\n }\n registerMany(registrations) {\n let params = registrations.asRegistrationParams();\n return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type, params).then(() => {\n return new BulkUnregistrationImpl(this._connection, params.registrations.map(registration => { return { id: registration.id, method: registration.method }; }));\n }, (_error) => {\n this.connection.console.info(`Bulk registration failed.`);\n return Promise.reject(_error);\n });\n }\n}\nclass _RemoteWorkspaceImpl {\n constructor() {\n }\n attach(connection) {\n this._connection = connection;\n }\n get connection() {\n if (!this._connection) {\n throw new Error('Remote is not attached to a connection yet.');\n }\n return this._connection;\n }\n initialize(_capabilities) {\n }\n fillServerCapabilities(_capabilities) {\n }\n applyEdit(paramOrEdit) {\n function isApplyWorkspaceEditParams(value) {\n return value && !!value.edit;\n }\n let params = isApplyWorkspaceEditParams(paramOrEdit) ? paramOrEdit : { edit: paramOrEdit };\n return this.connection.sendRequest(vscode_languageserver_protocol_1.ApplyWorkspaceEditRequest.type, params);\n }\n}\nconst RemoteWorkspaceImpl = (0, fileOperations_1.FileOperationsFeature)((0, workspaceFolder_1.WorkspaceFoldersFeature)((0, configuration_1.ConfigurationFeature)(_RemoteWorkspaceImpl)));\nclass TracerImpl {\n constructor() {\n this._trace = vscode_languageserver_protocol_1.Trace.Off;\n }\n attach(connection) {\n this._connection = connection;\n }\n get connection() {\n if (!this._connection) {\n throw new Error('Remote is not attached to a connection yet.');\n }\n return this._connection;\n }\n initialize(_capabilities) {\n }\n fillServerCapabilities(_capabilities) {\n }\n set trace(value) {\n this._trace = value;\n }\n log(message, verbose) {\n if (this._trace === vscode_languageserver_protocol_1.Trace.Off) {\n return;\n }\n this.connection.sendNotification(vscode_languageserver_protocol_1.LogTraceNotification.type, {\n message: message,\n verbose: this._trace === vscode_languageserver_protocol_1.Trace.Verbose ? verbose : undefined\n }).catch(() => {\n // Very hard to decide what to do. We tried to send a log\n // message which failed so we can't simply send another :-(.\n });\n }\n}\nclass TelemetryImpl {\n constructor() {\n }\n attach(connection) {\n this._connection = connection;\n }\n get connection() {\n if (!this._connection) {\n throw new Error('Remote is not attached to a connection yet.');\n }\n return this._connection;\n }\n initialize(_capabilities) {\n }\n fillServerCapabilities(_capabilities) {\n }\n logEvent(data) {\n this.connection.sendNotification(vscode_languageserver_protocol_1.TelemetryEventNotification.type, data).catch(() => {\n this.connection.console.log(`Sending TelemetryEventNotification failed`);\n });\n }\n}\nclass _LanguagesImpl {\n constructor() {\n }\n attach(connection) {\n this._connection = connection;\n }\n get connection() {\n if (!this._connection) {\n throw new Error('Remote is not attached to a connection yet.');\n }\n return this._connection;\n }\n initialize(_capabilities) {\n }\n fillServerCapabilities(_capabilities) {\n }\n attachWorkDoneProgress(params) {\n return (0, progress_1.attachWorkDone)(this.connection, params);\n }\n attachPartialResultProgress(_type, params) {\n return (0, progress_1.attachPartialResult)(this.connection, params);\n }\n}\nexports._LanguagesImpl = _LanguagesImpl;\nconst LanguagesImpl = (0, moniker_1.MonikerFeature)((0, diagnostic_1.DiagnosticFeature)((0, inlayHint_1.InlayHintFeature)((0, inlineValue_1.InlineValueFeature)((0, typeHierarchy_1.TypeHierarchyFeature)((0, linkedEditingRange_1.LinkedEditingRangeFeature)((0, semanticTokens_1.SemanticTokensFeature)((0, callHierarchy_1.CallHierarchyFeature)(_LanguagesImpl))))))));\nclass _NotebooksImpl {\n constructor() {\n }\n attach(connection) {\n this._connection = connection;\n }\n get connection() {\n if (!this._connection) {\n throw new Error('Remote is not attached to a connection yet.');\n }\n return this._connection;\n }\n initialize(_capabilities) {\n }\n fillServerCapabilities(_capabilities) {\n }\n attachWorkDoneProgress(params) {\n return (0, progress_1.attachWorkDone)(this.connection, params);\n }\n attachPartialResultProgress(_type, params) {\n return (0, progress_1.attachPartialResult)(this.connection, params);\n }\n}\nexports._NotebooksImpl = _NotebooksImpl;\nconst NotebooksImpl = (0, notebook_1.NotebookSyncFeature)(_NotebooksImpl);\nfunction combineConsoleFeatures(one, two) {\n return function (Base) {\n return two(one(Base));\n };\n}\nexports.combineConsoleFeatures = combineConsoleFeatures;\nfunction combineTelemetryFeatures(one, two) {\n return function (Base) {\n return two(one(Base));\n };\n}\nexports.combineTelemetryFeatures = combineTelemetryFeatures;\nfunction combineTracerFeatures(one, two) {\n return function (Base) {\n return two(one(Base));\n };\n}\nexports.combineTracerFeatures = combineTracerFeatures;\nfunction combineClientFeatures(one, two) {\n return function (Base) {\n return two(one(Base));\n };\n}\nexports.combineClientFeatures = combineClientFeatures;\nfunction combineWindowFeatures(one, two) {\n return function (Base) {\n return two(one(Base));\n };\n}\nexports.combineWindowFeatures = combineWindowFeatures;\nfunction combineWorkspaceFeatures(one, two) {\n return function (Base) {\n return two(one(Base));\n };\n}\nexports.combineWorkspaceFeatures = combineWorkspaceFeatures;\nfunction combineLanguagesFeatures(one, two) {\n return function (Base) {\n return two(one(Base));\n };\n}\nexports.combineLanguagesFeatures = combineLanguagesFeatures;\nfunction combineNotebooksFeatures(one, two) {\n return function (Base) {\n return two(one(Base));\n };\n}\nexports.combineNotebooksFeatures = combineNotebooksFeatures;\nfunction combineFeatures(one, two) {\n function combine(one, two, func) {\n if (one && two) {\n return func(one, two);\n }\n else if (one) {\n return one;\n }\n else {\n return two;\n }\n }\n let result = {\n __brand: 'features',\n console: combine(one.console, two.console, combineConsoleFeatures),\n tracer: combine(one.tracer, two.tracer, combineTracerFeatures),\n telemetry: combine(one.telemetry, two.telemetry, combineTelemetryFeatures),\n client: combine(one.client, two.client, combineClientFeatures),\n window: combine(one.window, two.window, combineWindowFeatures),\n workspace: combine(one.workspace, two.workspace, combineWorkspaceFeatures),\n languages: combine(one.languages, two.languages, combineLanguagesFeatures),\n notebooks: combine(one.notebooks, two.notebooks, combineNotebooksFeatures)\n };\n return result;\n}\nexports.combineFeatures = combineFeatures;\nfunction createConnection(connectionFactory, watchDog, factories) {\n const logger = (factories && factories.console ? new (factories.console(RemoteConsoleImpl))() : new RemoteConsoleImpl());\n const connection = connectionFactory(logger);\n logger.rawAttach(connection);\n const tracer = (factories && factories.tracer ? new (factories.tracer(TracerImpl))() : new TracerImpl());\n const telemetry = (factories && factories.telemetry ? new (factories.telemetry(TelemetryImpl))() : new TelemetryImpl());\n const client = (factories && factories.client ? new (factories.client(RemoteClientImpl))() : new RemoteClientImpl());\n const remoteWindow = (factories && factories.window ? new (factories.window(RemoteWindowImpl))() : new RemoteWindowImpl());\n const workspace = (factories && factories.workspace ? new (factories.workspace(RemoteWorkspaceImpl))() : new RemoteWorkspaceImpl());\n const languages = (factories && factories.languages ? new (factories.languages(LanguagesImpl))() : new LanguagesImpl());\n const notebooks = (factories && factories.notebooks ? new (factories.notebooks(NotebooksImpl))() : new NotebooksImpl());\n const allRemotes = [logger, tracer, telemetry, client, remoteWindow, workspace, languages, notebooks];\n function asPromise(value) {\n if (value instanceof Promise) {\n return value;\n }\n else if (Is.thenable(value)) {\n return new Promise((resolve, reject) => {\n value.then((resolved) => resolve(resolved), (error) => reject(error));\n });\n }\n else {\n return Promise.resolve(value);\n }\n }\n let shutdownHandler = undefined;\n let initializeHandler = undefined;\n let exitHandler = undefined;\n let protocolConnection = {\n listen: () => connection.listen(),\n sendRequest: (type, ...params) => connection.sendRequest(Is.string(type) ? type : type.method, ...params),\n onRequest: (type, handler) => connection.onRequest(type, handler),\n sendNotification: (type, param) => {\n const method = Is.string(type) ? type : type.method;\n if (arguments.length === 1) {\n return connection.sendNotification(method);\n }\n else {\n return connection.sendNotification(method, param);\n }\n },\n onNotification: (type, handler) => connection.onNotification(type, handler),\n onProgress: connection.onProgress,\n sendProgress: connection.sendProgress,\n onInitialize: (handler) => {\n initializeHandler = handler;\n return {\n dispose: () => {\n initializeHandler = undefined;\n }\n };\n },\n onInitialized: (handler) => connection.onNotification(vscode_languageserver_protocol_1.InitializedNotification.type, handler),\n onShutdown: (handler) => {\n shutdownHandler = handler;\n return {\n dispose: () => {\n shutdownHandler = undefined;\n }\n };\n },\n onExit: (handler) => {\n exitHandler = handler;\n return {\n dispose: () => {\n exitHandler = undefined;\n }\n };\n },\n get console() { return logger; },\n get telemetry() { return telemetry; },\n get tracer() { return tracer; },\n get client() { return client; },\n get window() { return remoteWindow; },\n get workspace() { return workspace; },\n get languages() { return languages; },\n get notebooks() { return notebooks; },\n onDidChangeConfiguration: (handler) => connection.onNotification(vscode_languageserver_protocol_1.DidChangeConfigurationNotification.type, handler),\n onDidChangeWatchedFiles: (handler) => connection.onNotification(vscode_languageserver_protocol_1.DidChangeWatchedFilesNotification.type, handler),\n __textDocumentSync: undefined,\n onDidOpenTextDocument: (handler) => connection.onNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type, handler),\n onDidChangeTextDocument: (handler) => connection.onNotification(vscode_languageserver_protocol_1.DidChangeTextDocumentNotification.type, handler),\n onDidCloseTextDocument: (handler) => connection.onNotification(vscode_languageserver_protocol_1.DidCloseTextDocumentNotification.type, handler),\n onWillSaveTextDocument: (handler) => connection.onNotification(vscode_languageserver_protocol_1.WillSaveTextDocumentNotification.type, handler),\n onWillSaveTextDocumentWaitUntil: (handler) => connection.onRequest(vscode_languageserver_protocol_1.WillSaveTextDocumentWaitUntilRequest.type, handler),\n onDidSaveTextDocument: (handler) => connection.onNotification(vscode_languageserver_protocol_1.DidSaveTextDocumentNotification.type, handler),\n sendDiagnostics: (params) => connection.sendNotification(vscode_languageserver_protocol_1.PublishDiagnosticsNotification.type, params),\n onHover: (handler) => connection.onRequest(vscode_languageserver_protocol_1.HoverRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), undefined);\n }),\n onCompletion: (handler) => connection.onRequest(vscode_languageserver_protocol_1.CompletionRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onCompletionResolve: (handler) => connection.onRequest(vscode_languageserver_protocol_1.CompletionResolveRequest.type, handler),\n onSignatureHelp: (handler) => connection.onRequest(vscode_languageserver_protocol_1.SignatureHelpRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), undefined);\n }),\n onDeclaration: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DeclarationRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onDefinition: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DefinitionRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onTypeDefinition: (handler) => connection.onRequest(vscode_languageserver_protocol_1.TypeDefinitionRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onImplementation: (handler) => connection.onRequest(vscode_languageserver_protocol_1.ImplementationRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onReferences: (handler) => connection.onRequest(vscode_languageserver_protocol_1.ReferencesRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onDocumentHighlight: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DocumentHighlightRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onDocumentSymbol: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DocumentSymbolRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onWorkspaceSymbol: (handler) => connection.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onWorkspaceSymbolResolve: (handler) => connection.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolResolveRequest.type, handler),\n onCodeAction: (handler) => connection.onRequest(vscode_languageserver_protocol_1.CodeActionRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onCodeActionResolve: (handler) => connection.onRequest(vscode_languageserver_protocol_1.CodeActionResolveRequest.type, (params, cancel) => {\n return handler(params, cancel);\n }),\n onCodeLens: (handler) => connection.onRequest(vscode_languageserver_protocol_1.CodeLensRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onCodeLensResolve: (handler) => connection.onRequest(vscode_languageserver_protocol_1.CodeLensResolveRequest.type, (params, cancel) => {\n return handler(params, cancel);\n }),\n onDocumentFormatting: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DocumentFormattingRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), undefined);\n }),\n onDocumentRangeFormatting: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), undefined);\n }),\n onDocumentOnTypeFormatting: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type, (params, cancel) => {\n return handler(params, cancel);\n }),\n onRenameRequest: (handler) => connection.onRequest(vscode_languageserver_protocol_1.RenameRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), undefined);\n }),\n onPrepareRename: (handler) => connection.onRequest(vscode_languageserver_protocol_1.PrepareRenameRequest.type, (params, cancel) => {\n return handler(params, cancel);\n }),\n onDocumentLinks: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DocumentLinkRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onDocumentLinkResolve: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DocumentLinkResolveRequest.type, (params, cancel) => {\n return handler(params, cancel);\n }),\n onDocumentColor: (handler) => connection.onRequest(vscode_languageserver_protocol_1.DocumentColorRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onColorPresentation: (handler) => connection.onRequest(vscode_languageserver_protocol_1.ColorPresentationRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onFoldingRanges: (handler) => connection.onRequest(vscode_languageserver_protocol_1.FoldingRangeRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onSelectionRanges: (handler) => connection.onRequest(vscode_languageserver_protocol_1.SelectionRangeRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), (0, progress_1.attachPartialResult)(connection, params));\n }),\n onExecuteCommand: (handler) => connection.onRequest(vscode_languageserver_protocol_1.ExecuteCommandRequest.type, (params, cancel) => {\n return handler(params, cancel, (0, progress_1.attachWorkDone)(connection, params), undefined);\n }),\n dispose: () => connection.dispose()\n };\n for (let remote of allRemotes) {\n remote.attach(protocolConnection);\n }\n connection.onRequest(vscode_languageserver_protocol_1.InitializeRequest.type, (params) => {\n watchDog.initialize(params);\n if (Is.string(params.trace)) {\n tracer.trace = vscode_languageserver_protocol_1.Trace.fromString(params.trace);\n }\n for (let remote of allRemotes) {\n remote.initialize(params.capabilities);\n }\n if (initializeHandler) {\n let result = initializeHandler(params, new vscode_languageserver_protocol_1.CancellationTokenSource().token, (0, progress_1.attachWorkDone)(connection, params), undefined);\n return asPromise(result).then((value) => {\n if (value instanceof vscode_languageserver_protocol_1.ResponseError) {\n return value;\n }\n let result = value;\n if (!result) {\n result = { capabilities: {} };\n }\n let capabilities = result.capabilities;\n if (!capabilities) {\n capabilities = {};\n result.capabilities = capabilities;\n }\n if (capabilities.textDocumentSync === undefined || capabilities.textDocumentSync === null) {\n capabilities.textDocumentSync = Is.number(protocolConnection.__textDocumentSync) ? protocolConnection.__textDocumentSync : vscode_languageserver_protocol_1.TextDocumentSyncKind.None;\n }\n else if (!Is.number(capabilities.textDocumentSync) && !Is.number(capabilities.textDocumentSync.change)) {\n capabilities.textDocumentSync.change = Is.number(protocolConnection.__textDocumentSync) ? protocolConnection.__textDocumentSync : vscode_languageserver_protocol_1.TextDocumentSyncKind.None;\n }\n for (let remote of allRemotes) {\n remote.fillServerCapabilities(capabilities);\n }\n return result;\n });\n }\n else {\n let result = { capabilities: { textDocumentSync: vscode_languageserver_protocol_1.TextDocumentSyncKind.None } };\n for (let remote of allRemotes) {\n remote.fillServerCapabilities(result.capabilities);\n }\n return result;\n }\n });\n connection.onRequest(vscode_languageserver_protocol_1.ShutdownRequest.type, () => {\n watchDog.shutdownReceived = true;\n if (shutdownHandler) {\n return shutdownHandler(new vscode_languageserver_protocol_1.CancellationTokenSource().token);\n }\n else {\n return undefined;\n }\n });\n connection.onNotification(vscode_languageserver_protocol_1.ExitNotification.type, () => {\n try {\n if (exitHandler) {\n exitHandler();\n }\n }\n finally {\n if (watchDog.shutdownReceived) {\n watchDog.exit(0);\n }\n else {\n watchDog.exit(1);\n }\n }\n });\n connection.onNotification(vscode_languageserver_protocol_1.SetTraceNotification.type, (params) => {\n tracer.trace = vscode_languageserver_protocol_1.Trace.fromString(params.value);\n });\n return protocolConnection;\n}\nexports.createConnection = createConnection;\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveModulePath = exports.FileSystem = exports.resolveGlobalYarnPath = exports.resolveGlobalNodePath = exports.resolve = exports.uriToFilePath = void 0;\nconst url = require(\"url\");\nconst path = require(\"path\");\nconst fs = require(\"fs\");\nconst child_process_1 = require(\"child_process\");\n/**\n * @deprecated Use the `vscode-uri` npm module which provides a more\n * complete implementation of handling VS Code URIs.\n */\nfunction uriToFilePath(uri) {\n let parsed = url.parse(uri);\n if (parsed.protocol !== 'file:' || !parsed.path) {\n return undefined;\n }\n let segments = parsed.path.split('/');\n for (var i = 0, len = segments.length; i < len; i++) {\n segments[i] = decodeURIComponent(segments[i]);\n }\n if (process.platform === 'win32' && segments.length > 1) {\n let first = segments[0];\n let second = segments[1];\n // Do we have a drive letter and we started with a / which is the\n // case if the first segement is empty (see split above)\n if (first.length === 0 && second.length > 1 && second[1] === ':') {\n // Remove first slash\n segments.shift();\n }\n }\n return path.normalize(segments.join('/'));\n}\nexports.uriToFilePath = uriToFilePath;\nfunction isWindows() {\n return process.platform === 'win32';\n}\nfunction resolve(moduleName, nodePath, cwd, tracer) {\n const nodePathKey = 'NODE_PATH';\n const app = [\n 'var p = process;',\n 'p.on(\\'message\\',function(m){',\n 'if(m.c===\\'e\\'){',\n 'p.exit(0);',\n '}',\n 'else if(m.c===\\'rs\\'){',\n 'try{',\n 'var r=require.resolve(m.a);',\n 'p.send({c:\\'r\\',s:true,r:r});',\n '}',\n 'catch(err){',\n 'p.send({c:\\'r\\',s:false});',\n '}',\n '}',\n '});'\n ].join('');\n return new Promise((resolve, reject) => {\n let env = process.env;\n let newEnv = Object.create(null);\n Object.keys(env).forEach(key => newEnv[key] = env[key]);\n if (nodePath && fs.existsSync(nodePath) /* see issue 545 */) {\n if (newEnv[nodePathKey]) {\n newEnv[nodePathKey] = nodePath + path.delimiter + newEnv[nodePathKey];\n }\n else {\n newEnv[nodePathKey] = nodePath;\n }\n if (tracer) {\n tracer(`NODE_PATH value is: ${newEnv[nodePathKey]}`);\n }\n }\n newEnv['ELECTRON_RUN_AS_NODE'] = '1';\n try {\n let cp = (0, child_process_1.fork)('', [], {\n cwd: cwd,\n env: newEnv,\n execArgv: ['-e', app]\n });\n if (cp.pid === void 0) {\n reject(new Error(`Starting process to resolve node module ${moduleName} failed`));\n return;\n }\n cp.on('error', (error) => {\n reject(error);\n });\n cp.on('message', (message) => {\n if (message.c === 'r') {\n cp.send({ c: 'e' });\n if (message.s) {\n resolve(message.r);\n }\n else {\n reject(new Error(`Failed to resolve module: ${moduleName}`));\n }\n }\n });\n let message = {\n c: 'rs',\n a: moduleName\n };\n cp.send(message);\n }\n catch (error) {\n reject(error);\n }\n });\n}\nexports.resolve = resolve;\n/**\n * Resolve the global npm package path.\n * @deprecated Since this depends on the used package manager and their version the best is that servers\n * implement this themselves since they know best what kind of package managers to support.\n * @param tracer the tracer to use\n */\nfunction resolveGlobalNodePath(tracer) {\n let npmCommand = 'npm';\n const env = Object.create(null);\n Object.keys(process.env).forEach(key => env[key] = process.env[key]);\n env['NO_UPDATE_NOTIFIER'] = 'true';\n const options = {\n encoding: 'utf8',\n env\n };\n if (isWindows()) {\n npmCommand = 'npm.cmd';\n options.shell = true;\n }\n let handler = () => { };\n try {\n process.on('SIGPIPE', handler);\n let stdout = (0, child_process_1.spawnSync)(npmCommand, ['config', 'get', 'prefix'], options).stdout;\n if (!stdout) {\n if (tracer) {\n tracer(`'npm config get prefix' didn't return a value.`);\n }\n return undefined;\n }\n let prefix = stdout.trim();\n if (tracer) {\n tracer(`'npm config get prefix' value is: ${prefix}`);\n }\n if (prefix.length > 0) {\n if (isWindows()) {\n return path.join(prefix, 'node_modules');\n }\n else {\n return path.join(prefix, 'lib', 'node_modules');\n }\n }\n return undefined;\n }\n catch (err) {\n return undefined;\n }\n finally {\n process.removeListener('SIGPIPE', handler);\n }\n}\nexports.resolveGlobalNodePath = resolveGlobalNodePath;\n/*\n * Resolve the global yarn pakage path.\n * @deprecated Since this depends on the used package manager and their version the best is that servers\n * implement this themselves since they know best what kind of package managers to support.\n * @param tracer the tracer to use\n */\nfunction resolveGlobalYarnPath(tracer) {\n let yarnCommand = 'yarn';\n let options = {\n encoding: 'utf8'\n };\n if (isWindows()) {\n yarnCommand = 'yarn.cmd';\n options.shell = true;\n }\n let handler = () => { };\n try {\n process.on('SIGPIPE', handler);\n let results = (0, child_process_1.spawnSync)(yarnCommand, ['global', 'dir', '--json'], options);\n let stdout = results.stdout;\n if (!stdout) {\n if (tracer) {\n tracer(`'yarn global dir' didn't return a value.`);\n if (results.stderr) {\n tracer(results.stderr);\n }\n }\n return undefined;\n }\n let lines = stdout.trim().split(/\\r?\\n/);\n for (let line of lines) {\n try {\n let yarn = JSON.parse(line);\n if (yarn.type === 'log') {\n return path.join(yarn.data, 'node_modules');\n }\n }\n catch (e) {\n // Do nothing. Ignore the line\n }\n }\n return undefined;\n }\n catch (err) {\n return undefined;\n }\n finally {\n process.removeListener('SIGPIPE', handler);\n }\n}\nexports.resolveGlobalYarnPath = resolveGlobalYarnPath;\nvar FileSystem;\n(function (FileSystem) {\n let _isCaseSensitive = undefined;\n function isCaseSensitive() {\n if (_isCaseSensitive !== void 0) {\n return _isCaseSensitive;\n }\n if (process.platform === 'win32') {\n _isCaseSensitive = false;\n }\n else {\n // convert current file name to upper case / lower case and check if file exists\n // (guards against cases when name is already all uppercase or lowercase)\n _isCaseSensitive = !fs.existsSync(__filename.toUpperCase()) || !fs.existsSync(__filename.toLowerCase());\n }\n return _isCaseSensitive;\n }\n FileSystem.isCaseSensitive = isCaseSensitive;\n function isParent(parent, child) {\n if (isCaseSensitive()) {\n return path.normalize(child).indexOf(path.normalize(parent)) === 0;\n }\n else {\n return path.normalize(child).toLowerCase().indexOf(path.normalize(parent).toLowerCase()) === 0;\n }\n }\n FileSystem.isParent = isParent;\n})(FileSystem = exports.FileSystem || (exports.FileSystem = {}));\nfunction resolveModulePath(workspaceRoot, moduleName, nodePath, tracer) {\n if (nodePath) {\n if (!path.isAbsolute(nodePath)) {\n nodePath = path.join(workspaceRoot, nodePath);\n }\n return resolve(moduleName, nodePath, nodePath, tracer).then((value) => {\n if (FileSystem.isParent(nodePath, value)) {\n return value;\n }\n else {\n return Promise.reject(new Error(`Failed to load ${moduleName} from node path location.`));\n }\n }).then(undefined, (_error) => {\n return resolve(moduleName, resolveGlobalNodePath(tracer), workspaceRoot, tracer);\n });\n }\n else {\n return resolve(moduleName, resolveGlobalNodePath(tracer), workspaceRoot, tracer);\n }\n}\nexports.resolveModulePath = resolveModulePath;\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ----------------------------------------------------------------------------------------- */\n'use strict';\n\nmodule.exports = require('./lib/node/main');","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProposedFeatures = exports.NotebookDocuments = exports.TextDocuments = exports.SemanticTokensBuilder = void 0;\nconst semanticTokens_1 = require(\"./semanticTokens\");\nObject.defineProperty(exports, \"SemanticTokensBuilder\", { enumerable: true, get: function () { return semanticTokens_1.SemanticTokensBuilder; } });\n__exportStar(require(\"vscode-languageserver-protocol/\"), exports);\nconst textDocuments_1 = require(\"./textDocuments\");\nObject.defineProperty(exports, \"TextDocuments\", { enumerable: true, get: function () { return textDocuments_1.TextDocuments; } });\nconst notebook_1 = require(\"./notebook\");\nObject.defineProperty(exports, \"NotebookDocuments\", { enumerable: true, get: function () { return notebook_1.NotebookDocuments; } });\n__exportStar(require(\"./server\"), exports);\nvar ProposedFeatures;\n(function (ProposedFeatures) {\n ProposedFeatures.all = {\n __brand: 'features',\n };\n})(ProposedFeatures = exports.ProposedFeatures || (exports.ProposedFeatures = {}));\n","\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n/// <reference path=\"../../typings/thenable.d.ts\" />\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createConnection = exports.Files = void 0;\nconst Is = require(\"../common/utils/is\");\nconst server_1 = require(\"../common/server\");\nconst fm = require(\"./files\");\nconst node_1 = require(\"vscode-languageserver-protocol/node\");\n__exportStar(require(\"vscode-languageserver-protocol/node\"), exports);\n__exportStar(require(\"../common/api\"), exports);\nvar Files;\n(function (Files) {\n Files.uriToFilePath = fm.uriToFilePath;\n Files.resolveGlobalNodePath = fm.resolveGlobalNodePath;\n Files.resolveGlobalYarnPath = fm.resolveGlobalYarnPath;\n Files.resolve = fm.resolve;\n Files.resolveModulePath = fm.resolveModulePath;\n})(Files = exports.Files || (exports.Files = {}));\nlet _protocolConnection;\nfunction endProtocolConnection() {\n if (_protocolConnection === undefined) {\n return;\n }\n try {\n _protocolConnection.end();\n }\n catch (_err) {\n // Ignore. The client process could have already\n // did and we can't send an end into the connection.\n }\n}\nlet _shutdownReceived = false;\nlet exitTimer = undefined;\nfunction setupExitTimer() {\n const argName = '--clientProcessId';\n function runTimer(value) {\n try {\n let processId = parseInt(value);\n if (!isNaN(processId)) {\n exitTimer = setInterval(() => {\n try {\n process.kill(processId, 0);\n }\n catch (ex) {\n // Parent process doesn't exist anymore. Exit the server.\n endProtocolConnection();\n process.exit(_shutdownReceived ? 0 : 1);\n }\n }, 3000);\n }\n }\n catch (e) {\n // Ignore errors;\n }\n }\n for (let i = 2; i < process.argv.length; i++) {\n let arg = process.argv[i];\n if (arg === argName && i + 1 < process.argv.length) {\n runTimer(process.argv[i + 1]);\n return;\n }\n else {\n let args = arg.split('=');\n if (args[0] === argName) {\n runTimer(args[1]);\n }\n }\n }\n}\nsetupExitTimer();\nconst watchDog = {\n initialize: (params) => {\n const processId = params.processId;\n if (Is.number(processId) && exitTimer === undefined) {\n // We received a parent process id. Set up a timer to periodically check\n // if the parent is still alive.\n setInterval(() => {\n try {\n process.kill(processId, 0);\n }\n catch (ex) {\n // Parent process doesn't exist anymore. Exit the server.\n process.exit(_shutdownReceived ? 0 : 1);\n }\n }, 3000);\n }\n },\n get shutdownReceived() {\n return _shutdownReceived;\n },\n set shutdownReceived(value) {\n _shutdownReceived = value;\n },\n exit: (code) => {\n endProtocolConnection();\n process.exit(code);\n }\n};\nfunction createConnection(arg1, arg2, arg3, arg4) {\n let factories;\n let input;\n let output;\n let options;\n if (arg1 !== void 0 && arg1.__brand === 'features') {\n factories = arg1;\n arg1 = arg2;\n arg2 = arg3;\n arg3 = arg4;\n }\n if (node_1.ConnectionStrategy.is(arg1) || node_1.ConnectionOptions.is(arg1)) {\n options = arg1;\n }\n else {\n input = arg1;\n output = arg2;\n options = arg3;\n }\n return _createConnection(input, output, options, factories);\n}\nexports.createConnection = createConnection;\nfunction _createConnection(input, output, options, factories) {\n if (!input && !output && process.argv.length > 2) {\n let port = void 0;\n let pipeName = void 0;\n let argv = process.argv.slice(2);\n for (let i = 0; i < argv.length; i++) {\n let arg = argv[i];\n if (arg === '--node-ipc') {\n input = new node_1.IPCMessageReader(process);\n output = new node_1.IPCMessageWriter(process);\n break;\n }\n else if (arg === '--stdio') {\n input = process.stdin;\n output = process.stdout;\n break;\n }\n else if (arg === '--socket') {\n port = parseInt(argv[i + 1]);\n break;\n }\n else if (arg === '--pipe') {\n pipeName = argv[i + 1];\n break;\n }\n else {\n var args = arg.split('=');\n if (args[0] === '--socket') {\n port = parseInt(args[1]);\n break;\n }\n else if (args[0] === '--pipe') {\n pipeName = args[1];\n break;\n }\n }\n }\n if (port) {\n let transport = (0, node_1.createServerSocketTransport)(port);\n input = transport[0];\n output = transport[1];\n }\n else if (pipeName) {\n let transport = (0, node_1.createServerPipeTransport)(pipeName);\n input = transport[0];\n output = transport[1];\n }\n }\n var commandLineMessage = 'Use arguments of createConnection or set command line parameters: \\'--node-ipc\\', \\'--stdio\\' or \\'--socket={number}\\'';\n if (!input) {\n throw new Error('Connection input stream is not set. ' + commandLineMessage);\n }\n if (!output) {\n throw new Error('Connection output stream is not set. ' + commandLineMessage);\n }\n // Backwards compatibility\n if (Is.func(input.read) && Is.func(input.on)) {\n let inputStream = input;\n inputStream.on('end', () => {\n endProtocolConnection();\n process.exit(_shutdownReceived ? 0 : 1);\n });\n inputStream.on('close', () => {\n endProtocolConnection();\n process.exit(_shutdownReceived ? 0 : 1);\n });\n }\n const connectionFactory = (logger) => {\n const result = (0, node_1.createProtocolConnection)(input, output, logger, options);\n return result;\n };\n return (0, server_1.createConnection)(connectionFactory, watchDog, factories);\n}\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ----------------------------------------------------------------------------------------- */\n'use strict';\n\nmodule.exports = require('./lib/node/main');",null,"'use strict'\n\nexports.fromCallback = function (fn) {\n return Object.defineProperty(function (...args) {\n if (typeof args[args.length - 1] === 'function') fn.apply(this, args)\n else {\n return new Promise((resolve, reject) => {\n fn.call(\n this,\n ...args,\n (err, res) => (err != null) ? reject(err) : resolve(res)\n )\n })\n }\n }, 'name', { value: fn.name })\n}\n\nexports.fromPromise = function (fn) {\n return Object.defineProperty(function (...args) {\n const cb = args[args.length - 1]\n if (typeof cb !== 'function') return fn.apply(this, args)\n else fn.apply(this, args.slice(0, -1)).then(r => cb(null, r), cb)\n }, 'name', { value: fn.name })\n}\n","var constants = require('constants')\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\n// This check is needed until node.js 12 is required\nif (typeof process.chdir === 'function') {\n var chdir = process.chdir\n process.chdir = function (d) {\n cwd = null\n chdir.call(process, d)\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (!fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (!fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = (function (fs$rename) { return function (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }})(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)\n return read\n })(fs.read)\n\n fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\")) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n","var Stream = require('stream').Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n","'use strict'\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf || function (obj) {\n return obj.__proto__\n}\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: getPrototypeOf(obj) }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n","var fs = require('fs')\nvar polyfills = require('./polyfills.js')\nvar legacy = require('./legacy-streams.js')\nvar clone = require('./clone.js')\n\nvar util = require('util')\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n resetQueue()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n resetQueue()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n require('assert').equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb, startTime) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb, startTime) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb, startTime) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return go$copyFile(src, dest, flags, cb)\n\n function go$copyFile (src, dest, flags, cb, startTime) {\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readdir(path, options, cb)\n\n function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, options, function (err, files) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (files && files.sort)\n files.sort()\n\n if (typeof cb === 'function')\n cb.call(this, err, files)\n }\n })\n }\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb, startTime) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n retry()\n}\n\n// keep track of the timeout between retry() calls\nvar retryTimer\n\n// reset the startTime and lastTime to now\n// this resets the start of the 60 second overall timeout as well as the\n// delay between attempts so that we'll retry these jobs sooner\nfunction resetQueue () {\n var now = Date.now()\n for (var i = 0; i < fs[gracefulQueue].length; ++i) {\n // entries that are only a length of 2 are from an older version, don't\n // bother modifying those since they'll be retried anyway.\n if (fs[gracefulQueue][i].length > 2) {\n fs[gracefulQueue][i][3] = now // startTime\n fs[gracefulQueue][i][4] = now // lastTime\n }\n }\n // call retry to make sure we're actively processing the queue\n retry()\n}\n\nfunction retry () {\n // clear the timer and remove it to help prevent unintended concurrency\n clearTimeout(retryTimer)\n retryTimer = undefined\n\n if (fs[gracefulQueue].length === 0)\n return\n\n var elem = fs[gracefulQueue].shift()\n var fn = elem[0]\n var args = elem[1]\n // these items may be unset if they were added by an older graceful-fs\n var err = elem[2]\n var startTime = elem[3]\n var lastTime = elem[4]\n\n // if we don't have a startTime we have no way of knowing if we've waited\n // long enough, so go ahead and retry this item now\n if (startTime === undefined) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args)\n } else if (Date.now() - startTime >= 60000) {\n // it's been more than 60 seconds total, bail now\n debug('TIMEOUT', fn.name, args)\n var cb = args.pop()\n if (typeof cb === 'function')\n cb.call(null, err)\n } else {\n // the amount of time between the last attempt and right now\n var sinceAttempt = Date.now() - lastTime\n // the amount of time between when we first tried, and when we last tried\n // rounded up to at least 1\n var sinceStart = Math.max(lastTime - startTime, 1)\n // backoff. wait longer than the total time we've been retrying, but only\n // up to a maximum of 100ms\n var desiredDelay = Math.min(sinceStart * 1.2, 100)\n // it's been long enough since the last retry, do it again\n if (sinceAttempt >= desiredDelay) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args.concat([startTime]))\n } else {\n // if we can't do this job yet, push it to the end of the queue\n // and let the next iteration check again\n fs[gracefulQueue].push(elem)\n }\n }\n\n // schedule our next run if one isn't already scheduled\n if (retryTimer === undefined) {\n retryTimer = setTimeout(retry, 0)\n }\n}\n","'use strict'\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\n\nconst api = [\n 'access',\n 'appendFile',\n 'chmod',\n 'chown',\n 'close',\n 'copyFile',\n 'fchmod',\n 'fchown',\n 'fdatasync',\n 'fstat',\n 'fsync',\n 'ftruncate',\n 'futimes',\n 'lchmod',\n 'lchown',\n 'link',\n 'lstat',\n 'mkdir',\n 'mkdtemp',\n 'open',\n 'opendir',\n 'readdir',\n 'readFile',\n 'readlink',\n 'realpath',\n 'rename',\n 'rm',\n 'rmdir',\n 'stat',\n 'symlink',\n 'truncate',\n 'unlink',\n 'utimes',\n 'writeFile'\n].filter(key => {\n // Some commands are not available on some systems. Ex:\n // fs.cp was added in Node.js v16.7.0\n // fs.lchown is not available on at least some Linux\n return typeof fs[key] === 'function'\n})\n\n// Export cloned fs:\nObject.assign(exports, fs)\n\n// Universalify async methods:\napi.forEach(method => {\n exports[method] = u(fs[method])\n})\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n if (typeof callback === 'function') {\n return fs.exists(filename, callback)\n }\n return new Promise(resolve => {\n return fs.exists(filename, resolve)\n })\n}\n\n// fs.read(), fs.write(), fs.readv(), & fs.writev() need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n if (typeof callback === 'function') {\n return fs.read(fd, buffer, offset, length, position, callback)\n }\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffer })\n })\n })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.write(fd, buffer, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffer })\n })\n })\n}\n\n// Function signature is\n// s.readv(fd, buffers[, position], callback)\n// We need to handle the optional arg, so we use ...args\nexports.readv = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.readv(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.readv(fd, buffers, ...args, (err, bytesRead, buffers) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffers })\n })\n })\n}\n\n// Function signature is\n// s.writev(fd, buffers[, position], callback)\n// We need to handle the optional arg, so we use ...args\nexports.writev = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.writev(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffers })\n })\n })\n}\n\n// fs.realpath.native sometimes not available if fs is monkey-patched\nif (typeof fs.realpath.native === 'function') {\n exports.realpath.native = u(fs.realpath.native)\n} else {\n process.emitWarning(\n 'fs.realpath.native is not a function. Is fs being monkey-patched?',\n 'Warning', 'fs-extra-WARN0003'\n )\n}\n","// Adapted from https://github.com/sindresorhus/make-dir\n// Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict'\nconst path = require('path')\n\n// https://github.com/nodejs/node/issues/8987\n// https://github.com/libuv/libuv/pull/1088\nmodule.exports.checkPath = function checkPath (pth) {\n if (process.platform === 'win32') {\n const pathHasInvalidWinCharacters = /[<>:\"|?*]/.test(pth.replace(path.parse(pth).root, ''))\n\n if (pathHasInvalidWinCharacters) {\n const error = new Error(`Path contains invalid characters: ${pth}`)\n error.code = 'EINVAL'\n throw error\n }\n }\n}\n","'use strict'\nconst fs = require('../fs')\nconst { checkPath } = require('./utils')\n\nconst getMode = options => {\n const defaults = { mode: 0o777 }\n if (typeof options === 'number') return options\n return ({ ...defaults, ...options }).mode\n}\n\nmodule.exports.makeDir = async (dir, options) => {\n checkPath(dir)\n\n return fs.mkdir(dir, {\n mode: getMode(options),\n recursive: true\n })\n}\n\nmodule.exports.makeDirSync = (dir, options) => {\n checkPath(dir)\n\n return fs.mkdirSync(dir, {\n mode: getMode(options),\n recursive: true\n })\n}\n","'use strict'\nconst u = require('universalify').fromPromise\nconst { makeDir: _makeDir, makeDirSync } = require('./make-dir')\nconst makeDir = u(_makeDir)\n\nmodule.exports = {\n mkdirs: makeDir,\n mkdirsSync: makeDirSync,\n // alias\n mkdirp: makeDir,\n mkdirpSync: makeDirSync,\n ensureDir: makeDir,\n ensureDirSync: makeDirSync\n}\n","'use strict'\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\n\nfunction pathExists (path) {\n return fs.access(path).then(() => true).catch(() => false)\n}\n\nmodule.exports = {\n pathExists: u(pathExists),\n pathExistsSync: fs.existsSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction utimesMillis (path, atime, mtime, callback) {\n // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n fs.open(path, 'r+', (err, fd) => {\n if (err) return callback(err)\n fs.futimes(fd, atime, mtime, futimesErr => {\n fs.close(fd, closeErr => {\n if (callback) callback(futimesErr || closeErr)\n })\n })\n })\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n const fd = fs.openSync(path, 'r+')\n fs.futimesSync(fd, atime, mtime)\n return fs.closeSync(fd)\n}\n\nmodule.exports = {\n utimesMillis,\n utimesMillisSync\n}\n","'use strict'\n\nconst fs = require('../fs')\nconst path = require('path')\nconst util = require('util')\n\nfunction getStats (src, dest, opts) {\n const statFunc = opts.dereference\n ? (file) => fs.stat(file, { bigint: true })\n : (file) => fs.lstat(file, { bigint: true })\n return Promise.all([\n statFunc(src),\n statFunc(dest).catch(err => {\n if (err.code === 'ENOENT') return null\n throw err\n })\n ]).then(([srcStat, destStat]) => ({ srcStat, destStat }))\n}\n\nfunction getStatsSync (src, dest, opts) {\n let destStat\n const statFunc = opts.dereference\n ? (file) => fs.statSync(file, { bigint: true })\n : (file) => fs.lstatSync(file, { bigint: true })\n const srcStat = statFunc(src)\n try {\n destStat = statFunc(dest)\n } catch (err) {\n if (err.code === 'ENOENT') return { srcStat, destStat: null }\n throw err\n }\n return { srcStat, destStat }\n}\n\nfunction checkPaths (src, dest, funcName, opts, cb) {\n util.callbackify(getStats)(src, dest, opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n\n if (destStat) {\n if (areIdentical(srcStat, destStat)) {\n const srcBaseName = path.basename(src)\n const destBaseName = path.basename(dest)\n if (funcName === 'move' &&\n srcBaseName !== destBaseName &&\n srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {\n return cb(null, { srcStat, destStat, isChangingCase: true })\n }\n return cb(new Error('Source and destination must not be the same.'))\n }\n if (srcStat.isDirectory() && !destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))\n }\n if (!srcStat.isDirectory() && destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`))\n }\n }\n\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return cb(null, { srcStat, destStat })\n })\n}\n\nfunction checkPathsSync (src, dest, funcName, opts) {\n const { srcStat, destStat } = getStatsSync(src, dest, opts)\n\n if (destStat) {\n if (areIdentical(srcStat, destStat)) {\n const srcBaseName = path.basename(src)\n const destBaseName = path.basename(dest)\n if (funcName === 'move' &&\n srcBaseName !== destBaseName &&\n srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {\n return { srcStat, destStat, isChangingCase: true }\n }\n throw new Error('Source and destination must not be the same.')\n }\n if (srcStat.isDirectory() && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n if (!srcStat.isDirectory() && destStat.isDirectory()) {\n throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`)\n }\n }\n\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return { srcStat, destStat }\n}\n\n// recursively check if dest parent is a subdirectory of src.\n// It works for all file types including symlinks since it\n// checks the src and dest inodes. It starts from the deepest\n// parent and stops once it reaches the src parent or the root path.\nfunction checkParentPaths (src, srcStat, dest, funcName, cb) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return cb()\n fs.stat(destParent, { bigint: true }, (err, destStat) => {\n if (err) {\n if (err.code === 'ENOENT') return cb()\n return cb(err)\n }\n if (areIdentical(srcStat, destStat)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return checkParentPaths(src, srcStat, destParent, funcName, cb)\n })\n}\n\nfunction checkParentPathsSync (src, srcStat, dest, funcName) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return\n let destStat\n try {\n destStat = fs.statSync(destParent, { bigint: true })\n } catch (err) {\n if (err.code === 'ENOENT') return\n throw err\n }\n if (areIdentical(srcStat, destStat)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return checkParentPathsSync(src, srcStat, destParent, funcName)\n}\n\nfunction areIdentical (srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev\n}\n\n// return true if dest is a subdir of src, otherwise false.\n// It only checks the path strings.\nfunction isSrcSubdir (src, dest) {\n const srcArr = path.resolve(src).split(path.sep).filter(i => i)\n const destArr = path.resolve(dest).split(path.sep).filter(i => i)\n return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true)\n}\n\nfunction errMsg (src, dest, funcName) {\n return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`\n}\n\nmodule.exports = {\n checkPaths,\n checkPathsSync,\n checkParentPaths,\n checkParentPathsSync,\n isSrcSubdir,\n areIdentical\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirs = require('../mkdirs').mkdirs\nconst pathExists = require('../path-exists').pathExists\nconst utimesMillis = require('../util/utimes').utimesMillis\nconst stat = require('../util/stat')\n\nfunction copy (src, dest, opts, cb) {\n if (typeof opts === 'function' && !cb) {\n cb = opts\n opts = {}\n } else if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n cb = cb || function () {}\n opts = opts || {}\n\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n process.emitWarning(\n 'Using the preserveTimestamps option in 32-bit node is not recommended;\\n\\n' +\n '\\tsee https://github.com/jprichardson/node-fs-extra/issues/269',\n 'Warning', 'fs-extra-WARN0001'\n )\n }\n\n stat.checkPaths(src, dest, 'copy', opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'copy', err => {\n if (err) return cb(err)\n runFilter(src, dest, opts, (err, include) => {\n if (err) return cb(err)\n if (!include) return cb()\n\n checkParentDir(destStat, src, dest, opts, cb)\n })\n })\n })\n}\n\nfunction checkParentDir (destStat, src, dest, opts, cb) {\n const destParent = path.dirname(dest)\n pathExists(destParent, (err, dirExists) => {\n if (err) return cb(err)\n if (dirExists) return getStats(destStat, src, dest, opts, cb)\n mkdirs(destParent, err => {\n if (err) return cb(err)\n return getStats(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction runFilter (src, dest, opts, cb) {\n if (!opts.filter) return cb(null, true)\n Promise.resolve(opts.filter(src, dest))\n .then(include => cb(null, include), error => cb(error))\n}\n\nfunction getStats (destStat, src, dest, opts, cb) {\n const stat = opts.dereference ? fs.stat : fs.lstat\n stat(src, (err, srcStat) => {\n if (err) return cb(err)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)\n else if (srcStat.isSocket()) return cb(new Error(`Cannot copy a socket file: ${src}`))\n else if (srcStat.isFIFO()) return cb(new Error(`Cannot copy a FIFO pipe: ${src}`))\n return cb(new Error(`Unknown file: ${src}`))\n })\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return copyFile(srcStat, src, dest, opts, cb)\n return mayCopyFile(srcStat, src, dest, opts, cb)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts, cb) {\n if (opts.overwrite) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return copyFile(srcStat, src, dest, opts, cb)\n })\n } else if (opts.errorOnExist) {\n return cb(new Error(`'${dest}' already exists`))\n } else return cb()\n}\n\nfunction copyFile (srcStat, src, dest, opts, cb) {\n fs.copyFile(src, dest, err => {\n if (err) return cb(err)\n if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb)\n return setDestMode(dest, srcStat.mode, cb)\n })\n}\n\nfunction handleTimestampsAndMode (srcMode, src, dest, cb) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) {\n return makeFileWritable(dest, srcMode, err => {\n if (err) return cb(err)\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n })\n }\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode, cb) {\n return setDestMode(dest, srcMode | 0o200, cb)\n}\n\nfunction setDestTimestampsAndMode (srcMode, src, dest, cb) {\n setDestTimestamps(src, dest, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n}\n\nfunction setDestMode (dest, srcMode, cb) {\n return fs.chmod(dest, srcMode, cb)\n}\n\nfunction setDestTimestamps (src, dest, cb) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n fs.stat(src, (err, updatedSrcStat) => {\n if (err) return cb(err)\n return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb)\n })\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb)\n return copyDir(src, dest, opts, cb)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts, cb) {\n fs.mkdir(dest, err => {\n if (err) return cb(err)\n copyDir(src, dest, opts, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n })\n}\n\nfunction copyDir (src, dest, opts, cb) {\n fs.readdir(src, (err, items) => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n}\n\nfunction copyDirItems (items, src, dest, opts, cb) {\n const item = items.pop()\n if (!item) return cb()\n return copyDirItem(items, item, src, dest, opts, cb)\n}\n\nfunction copyDirItem (items, item, src, dest, opts, cb) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n runFilter(srcItem, destItem, opts, (err, include) => {\n if (err) return cb(err)\n if (!include) return copyDirItems(items, src, dest, opts, cb)\n\n stat.checkPaths(srcItem, destItem, 'copy', opts, (err, stats) => {\n if (err) return cb(err)\n const { destStat } = stats\n getStats(destStat, srcItem, destItem, opts, err => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n })\n })\n}\n\nfunction onLink (destStat, src, dest, opts, cb) {\n fs.readlink(src, (err, resolvedSrc) => {\n if (err) return cb(err)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlink(resolvedSrc, dest, cb)\n } else {\n fs.readlink(dest, (err, resolvedDest) => {\n if (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)\n return cb(err)\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))\n }\n\n // do not copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))\n }\n return copyLink(resolvedSrc, dest, cb)\n })\n }\n })\n}\n\nfunction copyLink (resolvedSrc, dest, cb) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return fs.symlink(resolvedSrc, dest, cb)\n })\n}\n\nmodule.exports = copy\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirsSync = require('../mkdirs').mkdirsSync\nconst utimesMillisSync = require('../util/utimes').utimesMillisSync\nconst stat = require('../util/stat')\n\nfunction copySync (src, dest, opts) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts = opts || {}\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n process.emitWarning(\n 'Using the preserveTimestamps option in 32-bit node is not recommended;\\n\\n' +\n '\\tsee https://github.com/jprichardson/node-fs-extra/issues/269',\n 'Warning', 'fs-extra-WARN0002'\n )\n }\n\n const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy', opts)\n stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n if (opts.filter && !opts.filter(src, dest)) return\n const destParent = path.dirname(dest)\n if (!fs.existsSync(destParent)) mkdirsSync(destParent)\n return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n const srcStat = statSync(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`)\n else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`)\n throw new Error(`Unknown file: ${src}`)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n if (opts.overwrite) {\n fs.unlinkSync(dest)\n return copyFile(srcStat, src, dest, opts)\n } else if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n fs.copyFileSync(src, dest)\n if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)\n return setDestMode(dest, srcStat.mode)\n}\n\nfunction handleTimestamps (srcMode, src, dest) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)\n return setDestTimestamps(src, dest)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return setDestMode(dest, srcMode | 0o200)\n}\n\nfunction setDestMode (dest, srcMode) {\n return fs.chmodSync(dest, srcMode)\n}\n\nfunction setDestTimestamps (src, dest) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = fs.statSync(src)\n return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)\n return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts) {\n fs.mkdirSync(dest)\n copyDir(src, dest, opts)\n return setDestMode(dest, srcMode)\n}\n\nfunction copyDir (src, dest, opts) {\n fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n if (opts.filter && !opts.filter(srcItem, destItem)) return\n const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy', opts)\n return getStats(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n let resolvedSrc = fs.readlinkSync(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlinkSync(resolvedSrc, dest)\n } else {\n let resolvedDest\n try {\n resolvedDest = fs.readlinkSync(dest)\n } catch (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n throw err\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // prevent copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n return copyLink(resolvedSrc, dest)\n }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n fs.unlinkSync(dest)\n return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\n","'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n copy: u(require('./copy')),\n copySync: require('./copy-sync')\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst u = require('universalify').fromCallback\n\nfunction remove (path, callback) {\n fs.rm(path, { recursive: true, force: true }, callback)\n}\n\nfunction removeSync (path) {\n fs.rmSync(path, { recursive: true, force: true })\n}\n\nmodule.exports = {\n remove: u(remove),\n removeSync\n}\n","'use strict'\n\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst remove = require('../remove')\n\nconst emptyDir = u(async function emptyDir (dir) {\n let items\n try {\n items = await fs.readdir(dir)\n } catch {\n return mkdir.mkdirs(dir)\n }\n\n return Promise.all(items.map(item => remove.remove(path.join(dir, item))))\n})\n\nfunction emptyDirSync (dir) {\n let items\n try {\n items = fs.readdirSync(dir)\n } catch {\n return mkdir.mkdirsSync(dir)\n }\n\n items.forEach(item => {\n item = path.join(dir, item)\n remove.removeSync(item)\n })\n}\n\nmodule.exports = {\n emptyDirSync,\n emptydirSync: emptyDirSync,\n emptyDir,\n emptydir: emptyDir\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\n\nfunction createFile (file, callback) {\n function makeFile () {\n fs.writeFile(file, '', err => {\n if (err) return callback(err)\n callback()\n })\n }\n\n fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err\n if (!err && stats.isFile()) return callback()\n const dir = path.dirname(file)\n fs.stat(dir, (err, stats) => {\n if (err) {\n // if the directory doesn't exist, make it\n if (err.code === 'ENOENT') {\n return mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeFile()\n })\n }\n return callback(err)\n }\n\n if (stats.isDirectory()) makeFile()\n else {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdir(dir, err => {\n if (err) return callback(err)\n })\n }\n })\n })\n}\n\nfunction createFileSync (file) {\n let stats\n try {\n stats = fs.statSync(file)\n } catch {}\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n try {\n if (!fs.statSync(dir).isDirectory()) {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdirSync(dir)\n }\n } catch (err) {\n // If the stat call above failed because the directory doesn't exist, create it\n if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)\n else throw err\n }\n\n fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n createFile: u(createFile),\n createFileSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\nconst { areIdentical } = require('../util/stat')\n\nfunction createLink (srcpath, dstpath, callback) {\n function makeLink (srcpath, dstpath) {\n fs.link(srcpath, dstpath, err => {\n if (err) return callback(err)\n callback(null)\n })\n }\n\n fs.lstat(dstpath, (_, dstStat) => {\n fs.lstat(srcpath, (err, srcStat) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n return callback(err)\n }\n if (dstStat && areIdentical(srcStat, dstStat)) return callback(null)\n\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return makeLink(srcpath, dstpath)\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeLink(srcpath, dstpath)\n })\n })\n })\n })\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n let dstStat\n try {\n dstStat = fs.lstatSync(dstpath)\n } catch {}\n\n try {\n const srcStat = fs.lstatSync(srcpath)\n if (dstStat && areIdentical(srcStat, dstStat)) return\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n const dir = path.dirname(dstpath)\n const dirExists = fs.existsSync(dir)\n if (dirExists) return fs.linkSync(srcpath, dstpath)\n mkdir.mkdirsSync(dir)\n\n return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n createLink: u(createLink),\n createLinkSync\n}\n","'use strict'\n\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst pathExists = require('../path-exists').pathExists\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nfunction symlinkPaths (srcpath, dstpath, callback) {\n if (path.isAbsolute(srcpath)) {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: srcpath\n })\n })\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n return pathExists(relativeToDst, (err, exists) => {\n if (err) return callback(err)\n if (exists) {\n return callback(null, {\n toCwd: relativeToDst,\n toDst: srcpath\n })\n } else {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n })\n })\n }\n })\n }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n let exists\n if (path.isAbsolute(srcpath)) {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('absolute srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n exists = fs.existsSync(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n } else {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('relative srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n }\n }\n}\n\nmodule.exports = {\n symlinkPaths,\n symlinkPathsSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction symlinkType (srcpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n if (type) return callback(null, type)\n fs.lstat(srcpath, (err, stats) => {\n if (err) return callback(null, 'file')\n type = (stats && stats.isDirectory()) ? 'dir' : 'file'\n callback(null, type)\n })\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n let stats\n\n if (type) return type\n try {\n stats = fs.lstatSync(srcpath)\n } catch {\n return 'file'\n }\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n symlinkType,\n symlinkTypeSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('../fs')\nconst _mkdirs = require('../mkdirs')\nconst mkdirs = _mkdirs.mkdirs\nconst mkdirsSync = _mkdirs.mkdirsSync\n\nconst _symlinkPaths = require('./symlink-paths')\nconst symlinkPaths = _symlinkPaths.symlinkPaths\nconst symlinkPathsSync = _symlinkPaths.symlinkPathsSync\n\nconst _symlinkType = require('./symlink-type')\nconst symlinkType = _symlinkType.symlinkType\nconst symlinkTypeSync = _symlinkType.symlinkTypeSync\n\nconst pathExists = require('../path-exists').pathExists\n\nconst { areIdentical } = require('../util/stat')\n\nfunction createSymlink (srcpath, dstpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n\n fs.lstat(dstpath, (err, stats) => {\n if (!err && stats.isSymbolicLink()) {\n Promise.all([\n fs.stat(srcpath),\n fs.stat(dstpath)\n ]).then(([srcStat, dstStat]) => {\n if (areIdentical(srcStat, dstStat)) return callback(null)\n _createSymlink(srcpath, dstpath, type, callback)\n })\n } else _createSymlink(srcpath, dstpath, type, callback)\n })\n}\n\nfunction _createSymlink (srcpath, dstpath, type, callback) {\n symlinkPaths(srcpath, dstpath, (err, relative) => {\n if (err) return callback(err)\n srcpath = relative.toDst\n symlinkType(relative.toCwd, type, (err, type) => {\n if (err) return callback(err)\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)\n mkdirs(dir, err => {\n if (err) return callback(err)\n fs.symlink(srcpath, dstpath, type, callback)\n })\n })\n })\n })\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n let stats\n try {\n stats = fs.lstatSync(dstpath)\n } catch {}\n if (stats && stats.isSymbolicLink()) {\n const srcStat = fs.statSync(srcpath)\n const dstStat = fs.statSync(dstpath)\n if (areIdentical(srcStat, dstStat)) return\n }\n\n const relative = symlinkPathsSync(srcpath, dstpath)\n srcpath = relative.toDst\n type = symlinkTypeSync(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n const exists = fs.existsSync(dir)\n if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n mkdirsSync(dir)\n return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n createSymlink: u(createSymlink),\n createSymlinkSync\n}\n","'use strict'\n\nconst { createFile, createFileSync } = require('./file')\nconst { createLink, createLinkSync } = require('./link')\nconst { createSymlink, createSymlinkSync } = require('./symlink')\n\nmodule.exports = {\n // file\n createFile,\n createFileSync,\n ensureFile: createFile,\n ensureFileSync: createFileSync,\n // link\n createLink,\n createLinkSync,\n ensureLink: createLink,\n ensureLinkSync: createLinkSync,\n // symlink\n createSymlink,\n createSymlinkSync,\n ensureSymlink: createSymlink,\n ensureSymlinkSync: createSymlinkSync\n}\n","var constants = require('constants')\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\n// This check is needed until node.js 12 is required\nif (typeof process.chdir === 'function') {\n var chdir = process.chdir\n process.chdir = function (d) {\n cwd = null\n chdir.call(process, d)\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (!fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (!fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = (function (fs$rename) { return function (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }})(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)\n return read\n })(fs.read)\n\n fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\")) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n","function stringify (obj, { EOL = '\\n', finalEOL = true, replacer = null, spaces } = {}) {\n const EOF = finalEOL ? EOL : ''\n const str = JSON.stringify(obj, replacer, spaces)\n\n return str.replace(/\\n/g, EOL) + EOF\n}\n\nfunction stripBom (content) {\n // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified\n if (Buffer.isBuffer(content)) content = content.toString('utf8')\n return content.replace(/^\\uFEFF/, '')\n}\n\nmodule.exports = { stringify, stripBom }\n","let _fs\ntry {\n _fs = require('graceful-fs')\n} catch (_) {\n _fs = require('fs')\n}\nconst universalify = require('universalify')\nconst { stringify, stripBom } = require('./utils')\n\nasync function _readFile (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n let data = await universalify.fromCallback(fs.readFile)(file, options)\n\n data = stripBom(data)\n\n let obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n\n return obj\n}\n\nconst readFile = universalify.fromPromise(_readFile)\n\nfunction readFileSync (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n try {\n let content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n}\n\nasync function _writeFile (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n\n await universalify.fromCallback(fs.writeFile)(file, str, options)\n}\n\nconst writeFile = universalify.fromPromise(_writeFile)\n\nfunction writeFileSync (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nconst jsonfile = {\n readFile,\n readFileSync,\n writeFile,\n writeFileSync\n}\n\nmodule.exports = jsonfile\n","var fs = require('fs')\nvar polyfills = require('./polyfills.js')\nvar legacy = require('./legacy-streams.js')\nvar clone = require('./clone.js')\n\nvar util = require('util')\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n resetQueue()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n resetQueue()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n require('assert').equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb, startTime) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb, startTime) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb, startTime) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return go$copyFile(src, dest, flags, cb)\n\n function go$copyFile (src, dest, flags, cb, startTime) {\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readdir(path, options, cb)\n\n function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, options, function (err, files) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (files && files.sort)\n files.sort()\n\n if (typeof cb === 'function')\n cb.call(this, err, files)\n }\n })\n }\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb, startTime) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n retry()\n}\n\n// keep track of the timeout between retry() calls\nvar retryTimer\n\n// reset the startTime and lastTime to now\n// this resets the start of the 60 second overall timeout as well as the\n// delay between attempts so that we'll retry these jobs sooner\nfunction resetQueue () {\n var now = Date.now()\n for (var i = 0; i < fs[gracefulQueue].length; ++i) {\n // entries that are only a length of 2 are from an older version, don't\n // bother modifying those since they'll be retried anyway.\n if (fs[gracefulQueue][i].length > 2) {\n fs[gracefulQueue][i][3] = now // startTime\n fs[gracefulQueue][i][4] = now // lastTime\n }\n }\n // call retry to make sure we're actively processing the queue\n retry()\n}\n\nfunction retry () {\n // clear the timer and remove it to help prevent unintended concurrency\n clearTimeout(retryTimer)\n retryTimer = undefined\n\n if (fs[gracefulQueue].length === 0)\n return\n\n var elem = fs[gracefulQueue].shift()\n var fn = elem[0]\n var args = elem[1]\n // these items may be unset if they were added by an older graceful-fs\n var err = elem[2]\n var startTime = elem[3]\n var lastTime = elem[4]\n\n // if we don't have a startTime we have no way of knowing if we've waited\n // long enough, so go ahead and retry this item now\n if (startTime === undefined) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args)\n } else if (Date.now() - startTime >= 60000) {\n // it's been more than 60 seconds total, bail now\n debug('TIMEOUT', fn.name, args)\n var cb = args.pop()\n if (typeof cb === 'function')\n cb.call(null, err)\n } else {\n // the amount of time between the last attempt and right now\n var sinceAttempt = Date.now() - lastTime\n // the amount of time between when we first tried, and when we last tried\n // rounded up to at least 1\n var sinceStart = Math.max(lastTime - startTime, 1)\n // backoff. wait longer than the total time we've been retrying, but only\n // up to a maximum of 100ms\n var desiredDelay = Math.min(sinceStart * 1.2, 100)\n // it's been long enough since the last retry, do it again\n if (sinceAttempt >= desiredDelay) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args.concat([startTime]))\n } else {\n // if we can't do this job yet, push it to the end of the queue\n // and let the next iteration check again\n fs[gracefulQueue].push(elem)\n }\n }\n\n // schedule our next run if one isn't already scheduled\n if (retryTimer === undefined) {\n retryTimer = setTimeout(retry, 0)\n }\n}\n","var Stream = require('stream').Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n","'use strict'\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf || function (obj) {\n return obj.__proto__\n}\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: getPrototypeOf(obj) }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n","'use strict'\n\nconst jsonFile = require('jsonfile')\n\nmodule.exports = {\n // jsonfile exports\n readJson: jsonFile.readFile,\n readJsonSync: jsonFile.readFileSync,\n writeJson: jsonFile.writeFile,\n writeJsonSync: jsonFile.writeFileSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction outputFile (file, data, encoding, callback) {\n if (typeof encoding === 'function') {\n callback = encoding\n encoding = 'utf8'\n }\n\n const dir = path.dirname(file)\n pathExists(dir, (err, itDoes) => {\n if (err) return callback(err)\n if (itDoes) return fs.writeFile(file, data, encoding, callback)\n\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n\n fs.writeFile(file, data, encoding, callback)\n })\n })\n}\n\nfunction outputFileSync (file, ...args) {\n const dir = path.dirname(file)\n if (fs.existsSync(dir)) {\n return fs.writeFileSync(file, ...args)\n }\n mkdir.mkdirsSync(dir)\n fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n outputFile: u(outputFile),\n outputFileSync\n}\n","'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFile } = require('../output-file')\n\nasync function outputJson (file, data, options = {}) {\n const str = stringify(data, options)\n\n await outputFile(file, str, options)\n}\n\nmodule.exports = outputJson\n","'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFileSync } = require('../output-file')\n\nfunction outputJsonSync (file, data, options) {\n const str = stringify(data, options)\n\n outputFileSync(file, str, options)\n}\n\nmodule.exports = outputJsonSync\n","'use strict'\n\nconst u = require('universalify').fromPromise\nconst jsonFile = require('./jsonfile')\n\njsonFile.outputJson = u(require('./output-json'))\njsonFile.outputJsonSync = require('./output-json-sync')\n// aliases\njsonFile.outputJSON = jsonFile.outputJson\njsonFile.outputJSONSync = jsonFile.outputJsonSync\njsonFile.writeJSON = jsonFile.writeJson\njsonFile.writeJSONSync = jsonFile.writeJsonSync\njsonFile.readJSON = jsonFile.readJson\njsonFile.readJSONSync = jsonFile.readJsonSync\n\nmodule.exports = jsonFile\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copy = require('../copy').copy\nconst remove = require('../remove').remove\nconst mkdirp = require('../mkdirs').mkdirp\nconst pathExists = require('../path-exists').pathExists\nconst stat = require('../util/stat')\n\nfunction move (src, dest, opts, cb) {\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n opts = opts || {}\n\n const overwrite = opts.overwrite || opts.clobber || false\n\n stat.checkPaths(src, dest, 'move', opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, isChangingCase = false } = stats\n stat.checkParentPaths(src, srcStat, dest, 'move', err => {\n if (err) return cb(err)\n if (isParentRoot(dest)) return doRename(src, dest, overwrite, isChangingCase, cb)\n mkdirp(path.dirname(dest), err => {\n if (err) return cb(err)\n return doRename(src, dest, overwrite, isChangingCase, cb)\n })\n })\n })\n}\n\nfunction isParentRoot (dest) {\n const parent = path.dirname(dest)\n const parsedPath = path.parse(parent)\n return parsedPath.root === parent\n}\n\nfunction doRename (src, dest, overwrite, isChangingCase, cb) {\n if (isChangingCase) return rename(src, dest, overwrite, cb)\n if (overwrite) {\n return remove(dest, err => {\n if (err) return cb(err)\n return rename(src, dest, overwrite, cb)\n })\n }\n pathExists(dest, (err, destExists) => {\n if (err) return cb(err)\n if (destExists) return cb(new Error('dest already exists.'))\n return rename(src, dest, overwrite, cb)\n })\n}\n\nfunction rename (src, dest, overwrite, cb) {\n fs.rename(src, dest, err => {\n if (!err) return cb()\n if (err.code !== 'EXDEV') return cb(err)\n return moveAcrossDevice(src, dest, overwrite, cb)\n })\n}\n\nfunction moveAcrossDevice (src, dest, overwrite, cb) {\n const opts = {\n overwrite,\n errorOnExist: true,\n preserveTimestamps: true\n }\n copy(src, dest, opts, err => {\n if (err) return cb(err)\n return remove(src, cb)\n })\n}\n\nmodule.exports = move\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copySync = require('../copy').copySync\nconst removeSync = require('../remove').removeSync\nconst mkdirpSync = require('../mkdirs').mkdirpSync\nconst stat = require('../util/stat')\n\nfunction moveSync (src, dest, opts) {\n opts = opts || {}\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, 'move', opts)\n stat.checkParentPathsSync(src, srcStat, dest, 'move')\n if (!isParentRoot(dest)) mkdirpSync(path.dirname(dest))\n return doRename(src, dest, overwrite, isChangingCase)\n}\n\nfunction isParentRoot (dest) {\n const parent = path.dirname(dest)\n const parsedPath = path.parse(parent)\n return parsedPath.root === parent\n}\n\nfunction doRename (src, dest, overwrite, isChangingCase) {\n if (isChangingCase) return rename(src, dest, overwrite)\n if (overwrite) {\n removeSync(dest)\n return rename(src, dest, overwrite)\n }\n if (fs.existsSync(dest)) throw new Error('dest already exists.')\n return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n try {\n fs.renameSync(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') throw err\n return moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true,\n preserveTimestamps: true\n }\n copySync(src, dest, opts)\n return removeSync(src)\n}\n\nmodule.exports = moveSync\n","'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n move: u(require('./move')),\n moveSync: require('./move-sync')\n}\n","'use strict'\n\nmodule.exports = {\n // Export promiseified graceful-fs:\n ...require('./fs'),\n // Export extra methods:\n ...require('./copy'),\n ...require('./empty'),\n ...require('./ensure'),\n ...require('./json'),\n ...require('./mkdirs'),\n ...require('./move'),\n ...require('./output-file'),\n ...require('./path-exists'),\n ...require('./remove')\n}\n","const pDebounce = (fn, wait, options = {}) => {\n\tif (!Number.isFinite(wait)) {\n\t\tthrow new TypeError('Expected `wait` to be a finite number');\n\t}\n\n\tlet leadingValue;\n\tlet timeout;\n\tlet resolveList = [];\n\n\treturn function (...arguments_) {\n\t\treturn new Promise(resolve => {\n\t\t\tconst shouldCallNow = options.before && !timeout;\n\n\t\t\tclearTimeout(timeout);\n\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\ttimeout = null;\n\n\t\t\t\tconst result = options.before ? leadingValue : fn.apply(this, arguments_);\n\n\t\t\t\tfor (resolve of resolveList) {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\n\t\t\t\tresolveList = [];\n\t\t\t}, wait);\n\n\t\t\tif (shouldCallNow) {\n\t\t\t\tleadingValue = fn.apply(this, arguments_);\n\t\t\t\tresolve(leadingValue);\n\t\t\t} else {\n\t\t\t\tresolveList.push(resolve);\n\t\t\t}\n\t\t});\n\t};\n};\n\npDebounce.promise = function_ => {\n\tlet currentPromise;\n\n\treturn async function (...arguments_) {\n\t\tif (currentPromise) {\n\t\t\treturn currentPromise;\n\t\t}\n\n\t\ttry {\n\t\t\tcurrentPromise = function_.apply(this, arguments_);\n\t\t\treturn await currentPromise;\n\t\t} finally {\n\t\t\tcurrentPromise = undefined;\n\t\t}\n\t};\n};\n\nexport default pDebounce;\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((o, k) => {\n o[k] = true\n return o\n }, {})\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const { MAX_LENGTH } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier) => {\n if (typeof (options) === 'string') {\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const parse = require('./parse')\nconst eq = require('./eq')\n\nconst diff = (version1, version2) => {\n if (eq(version1, version2)) {\n return null\n } else {\n const v1 = parse(version1)\n const v2 = parse(version2)\n const hasPre = v1.prerelease.length || v2.prerelease.length\n const prefix = hasPre ? 'pre' : ''\n const defaultResult = hasPre ? 'prerelease' : ''\n for (const key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n let next\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)\n}\nmodule.exports = coerce\n","'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n","'use strict'\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${range}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => {\n return comps.join(' ').trim()\n })\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n range = range.trim()\n\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts = Object.keys(this.options).join(',')\n const memoKey = `parseRange:${memoOpts}:${range}`\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\nmodule.exports = Range\n\nconst LRU = require('lru-cache')\nconst cache = new LRU({ max: 1000 })\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) =>\n comp.trim().split(/\\s+/).map((c) => {\n return replaceTilde(c, options)\n }).join(' ')\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) =>\n comp.trim().split(/\\s+/).map((c) => {\n return replaceCaret(c, options)\n }).join(' ')\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map((c) => {\n return replaceXRange(c, options)\n }).join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp.trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return (`${from} ${to}`).trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","'use strict'\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = require('yallist')\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false,\n }\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n const sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n const sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n const sameSemVer = this.semver.version === comp.semver.version\n const differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n const oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<')\n const oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>')\n\n return (\n sameDirectionIncreasing ||\n sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan ||\n oppositeDirectionsGreaterThan\n )\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = [new Comparator('>=0.0.0-0')]\n } else {\n sub = [new Comparator('>=0.0.0')]\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = [new Comparator('>=0.0.0')]\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n",null,null,null,null,"import {promisify} from 'util';\nimport crypto from 'crypto';\n\nconst randomBytesAsync = promisify(crypto.randomBytes);\n\nconst urlSafeCharacters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~'.split('');\nconst numericCharacters = '0123456789'.split('');\nconst distinguishableCharacters = 'CDEHKMPRTUWXY012458'.split('');\nconst asciiPrintableCharacters = '!\"#$%&\\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'.split('');\nconst alphanumericCharacters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.split('');\n\nconst generateForCustomCharacters = (length, characters) => {\n\t// Generating entropy is faster than complex math operations, so we use the simplest way\n\tconst characterCount = characters.length;\n\tconst maxValidSelector = (Math.floor(0x10000 / characterCount) * characterCount) - 1; // Using values above this will ruin distribution when using modular division\n\tconst entropyLength = 2 * Math.ceil(1.1 * length); // Generating a bit more than required so chances we need more than one pass will be really low\n\tlet string = '';\n\tlet stringLength = 0;\n\n\twhile (stringLength < length) { // In case we had many bad values, which may happen for character sets of size above 0x8000 but close to it\n\t\tconst entropy = crypto.randomBytes(entropyLength);\n\t\tlet entropyPosition = 0;\n\n\t\twhile (entropyPosition < entropyLength && stringLength < length) {\n\t\t\tconst entropyValue = entropy.readUInt16LE(entropyPosition);\n\t\t\tentropyPosition += 2;\n\t\t\tif (entropyValue > maxValidSelector) { // Skip values which will ruin distribution when using modular division\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tstring += characters[entropyValue % characterCount];\n\t\t\tstringLength++;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst generateForCustomCharactersAsync = async (length, characters) => {\n\t// Generating entropy is faster than complex math operations, so we use the simplest way\n\tconst characterCount = characters.length;\n\tconst maxValidSelector = (Math.floor(0x10000 / characterCount) * characterCount) - 1; // Using values above this will ruin distribution when using modular division\n\tconst entropyLength = 2 * Math.ceil(1.1 * length); // Generating a bit more than required so chances we need more than one pass will be really low\n\tlet string = '';\n\tlet stringLength = 0;\n\n\twhile (stringLength < length) { // In case we had many bad values, which may happen for character sets of size above 0x8000 but close to it\n\t\tconst entropy = await randomBytesAsync(entropyLength); // eslint-disable-line no-await-in-loop\n\t\tlet entropyPosition = 0;\n\n\t\twhile (entropyPosition < entropyLength && stringLength < length) {\n\t\t\tconst entropyValue = entropy.readUInt16LE(entropyPosition);\n\t\t\tentropyPosition += 2;\n\t\t\tif (entropyValue > maxValidSelector) { // Skip values which will ruin distribution when using modular division\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tstring += characters[entropyValue % characterCount];\n\t\t\tstringLength++;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst generateRandomBytes = (byteLength, type, length) => crypto.randomBytes(byteLength).toString(type).slice(0, length);\n\nconst generateRandomBytesAsync = async (byteLength, type, length) => {\n\tconst buffer = await randomBytesAsync(byteLength);\n\treturn buffer.toString(type).slice(0, length);\n};\n\nconst allowedTypes = new Set([\n\tundefined,\n\t'hex',\n\t'base64',\n\t'url-safe',\n\t'numeric',\n\t'distinguishable',\n\t'ascii-printable',\n\t'alphanumeric'\n]);\n\nconst createGenerator = (generateForCustomCharacters, generateRandomBytes) => ({length, type, characters}) => {\n\tif (!(length >= 0 && Number.isFinite(length))) {\n\t\tthrow new TypeError('Expected a `length` to be a non-negative finite number');\n\t}\n\n\tif (type !== undefined && characters !== undefined) {\n\t\tthrow new TypeError('Expected either `type` or `characters`');\n\t}\n\n\tif (characters !== undefined && typeof characters !== 'string') {\n\t\tthrow new TypeError('Expected `characters` to be string');\n\t}\n\n\tif (!allowedTypes.has(type)) {\n\t\tthrow new TypeError(`Unknown type: ${type}`);\n\t}\n\n\tif (type === undefined && characters === undefined) {\n\t\ttype = 'hex';\n\t}\n\n\tif (type === 'hex' || (type === undefined && characters === undefined)) {\n\t\treturn generateRandomBytes(Math.ceil(length * 0.5), 'hex', length); // Need 0.5 byte entropy per character\n\t}\n\n\tif (type === 'base64') {\n\t\treturn generateRandomBytes(Math.ceil(length * 0.75), 'base64', length); // Need 0.75 byte of entropy per character\n\t}\n\n\tif (type === 'url-safe') {\n\t\treturn generateForCustomCharacters(length, urlSafeCharacters);\n\t}\n\n\tif (type === 'numeric') {\n\t\treturn generateForCustomCharacters(length, numericCharacters);\n\t}\n\n\tif (type === 'distinguishable') {\n\t\treturn generateForCustomCharacters(length, distinguishableCharacters);\n\t}\n\n\tif (type === 'ascii-printable') {\n\t\treturn generateForCustomCharacters(length, asciiPrintableCharacters);\n\t}\n\n\tif (type === 'alphanumeric') {\n\t\treturn generateForCustomCharacters(length, alphanumericCharacters);\n\t}\n\n\tif (characters.length === 0) {\n\t\tthrow new TypeError('Expected `characters` string length to be greater than or equal to 1');\n\t}\n\n\tif (characters.length > 0x10000) {\n\t\tthrow new TypeError('Expected `characters` string length to be less or equal to 65536');\n\t}\n\n\treturn generateForCustomCharacters(length, characters.split(''));\n};\n\nconst cryptoRandomString = createGenerator(generateForCustomCharacters, generateRandomBytes);\n\ncryptoRandomString.async = createGenerator(generateForCustomCharactersAsync, generateRandomBytesAsync);\n\nexport default cryptoRandomString;\n","'use strict';\nconst fs = require('fs');\nconst os = require('os');\n\nconst tempDirectorySymbol = Symbol.for('__RESOLVED_TEMP_DIRECTORY__');\n\nif (!global[tempDirectorySymbol]) {\n\tObject.defineProperty(global, tempDirectorySymbol, {\n\t\tvalue: fs.realpathSync(os.tmpdir())\n\t});\n}\n\nmodule.exports = global[tempDirectorySymbol];\n","import fs from 'node:fs';\nimport fsPromises from 'node:fs/promises';\nimport path from 'node:path';\nimport stream from 'node:stream';\nimport {promisify} from 'node:util';\nimport uniqueString from 'unique-string';\nimport tempDir from 'temp-dir';\nimport {isStream} from 'is-stream';\n\nconst pipeline = promisify(stream.pipeline); // TODO: Use `node:stream/promises` when targeting Node.js 16.\n\nconst getPath = (prefix = '') => path.join(tempDir, prefix + uniqueString());\n\nconst writeStream = async (filePath, data) => pipeline(data, fs.createWriteStream(filePath));\n\nasync function runTask(temporaryPath, callback) {\n\ttry {\n\t\treturn await callback(temporaryPath);\n\t} finally {\n\t\tawait fsPromises.rm(temporaryPath, {recursive: true, force: true});\n\t}\n}\n\nexport function temporaryFile({name, extension} = {}) {\n\tif (name) {\n\t\tif (extension !== undefined && extension !== null) {\n\t\t\tthrow new Error('The `name` and `extension` options are mutually exclusive');\n\t\t}\n\n\t\treturn path.join(temporaryDirectory(), name);\n\t}\n\n\treturn getPath() + (extension === undefined || extension === null ? '' : '.' + extension.replace(/^\\./, ''));\n}\n\nexport const temporaryFileTask = async (callback, options) => runTask(temporaryFile(options), callback);\n\nexport function temporaryDirectory({prefix = ''} = {}) {\n\tconst directory = getPath(prefix);\n\tfs.mkdirSync(directory);\n\treturn directory;\n}\n\nexport const temporaryDirectoryTask = async (callback, options) => runTask(temporaryDirectory(options), callback);\n\nexport async function temporaryWrite(fileContent, options) {\n\tconst filename = temporaryFile(options);\n\tconst write = isStream(fileContent) ? writeStream : fsPromises.writeFile;\n\tawait write(filename, fileContent);\n\treturn filename;\n}\n\nexport const temporaryWriteTask = async (fileContent, callback, options) => runTask(await temporaryWrite(fileContent, options), callback);\n\nexport function temporaryWriteSync(fileContent, options) {\n\tconst filename = temporaryFile(options);\n\tfs.writeFileSync(filename, fileContent);\n\treturn filename;\n}\n\nexport {default as rootTemporaryDirectory} from 'temp-dir';\n","import cryptoRandomString from 'crypto-random-string';\n\nexport default function uniqueString() {\n\treturn cryptoRandomString({length: 32});\n}\n",null,null,null,null,null,null,null,null,"var LIB;(()=>{\"use strict\";var t={470:t=>{function e(t){if(\"string\"!=typeof t)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(t))}function r(t,e){for(var r,n=\"\",o=0,i=-1,a=0,h=0;h<=t.length;++h){if(h<t.length)r=t.charCodeAt(h);else{if(47===r)break;r=47}if(47===r){if(i===h-1||1===a);else if(i!==h-1&&2===a){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var s=n.lastIndexOf(\"/\");if(s!==n.length-1){-1===s?(n=\"\",o=0):o=(n=n.slice(0,s)).length-1-n.lastIndexOf(\"/\"),i=h,a=0;continue}}else if(2===n.length||1===n.length){n=\"\",o=0,i=h,a=0;continue}e&&(n.length>0?n+=\"/..\":n=\"..\",o=2)}else n.length>0?n+=\"/\"+t.slice(i+1,h):n=t.slice(i+1,h),o=h-i-1;i=h,a=0}else 46===r&&-1!==a?++a:a=-1}return n}var n={resolve:function(){for(var t,n=\"\",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a;i>=0?a=arguments[i]:(void 0===t&&(t=process.cwd()),a=t),e(a),0!==a.length&&(n=a+\"/\"+n,o=47===a.charCodeAt(0))}return n=r(n,!o),o?n.length>0?\"/\"+n:\"/\":n.length>0?n:\".\"},normalize:function(t){if(e(t),0===t.length)return\".\";var n=47===t.charCodeAt(0),o=47===t.charCodeAt(t.length-1);return 0!==(t=r(t,!n)).length||n||(t=\".\"),t.length>0&&o&&(t+=\"/\"),n?\"/\"+t:t},isAbsolute:function(t){return e(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var t,r=0;r<arguments.length;++r){var o=arguments[r];e(o),o.length>0&&(void 0===t?t=o:t+=\"/\"+o)}return void 0===t?\".\":n.normalize(t)},relative:function(t,r){if(e(t),e(r),t===r)return\"\";if((t=n.resolve(t))===(r=n.resolve(r)))return\"\";for(var o=1;o<t.length&&47===t.charCodeAt(o);++o);for(var i=t.length,a=i-o,h=1;h<r.length&&47===r.charCodeAt(h);++h);for(var s=r.length-h,c=a<s?a:s,f=-1,u=0;u<=c;++u){if(u===c){if(s>c){if(47===r.charCodeAt(h+u))return r.slice(h+u+1);if(0===u)return r.slice(h+u)}else a>c&&(47===t.charCodeAt(o+u)?f=u:0===u&&(f=0));break}var l=t.charCodeAt(o+u);if(l!==r.charCodeAt(h+u))break;47===l&&(f=u)}var p=\"\";for(u=o+f+1;u<=i;++u)u!==i&&47!==t.charCodeAt(u)||(0===p.length?p+=\"..\":p+=\"/..\");return p.length>0?p+r.slice(h+f):(h+=f,47===r.charCodeAt(h)&&++h,r.slice(h))},_makeLong:function(t){return t},dirname:function(t){if(e(t),0===t.length)return\".\";for(var r=t.charCodeAt(0),n=47===r,o=-1,i=!0,a=t.length-1;a>=1;--a)if(47===(r=t.charCodeAt(a))){if(!i){o=a;break}}else i=!1;return-1===o?n?\"/\":\".\":n&&1===o?\"//\":t.slice(0,o)},basename:function(t,r){if(void 0!==r&&\"string\"!=typeof r)throw new TypeError('\"ext\" argument must be a string');e(t);var n,o=0,i=-1,a=!0;if(void 0!==r&&r.length>0&&r.length<=t.length){if(r.length===t.length&&r===t)return\"\";var h=r.length-1,s=-1;for(n=t.length-1;n>=0;--n){var c=t.charCodeAt(n);if(47===c){if(!a){o=n+1;break}}else-1===s&&(a=!1,s=n+1),h>=0&&(c===r.charCodeAt(h)?-1==--h&&(i=n):(h=-1,i=s))}return o===i?i=s:-1===i&&(i=t.length),t.slice(o,i)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!a){o=n+1;break}}else-1===i&&(a=!1,i=n+1);return-1===i?\"\":t.slice(o,i)},extname:function(t){e(t);for(var r=-1,n=0,o=-1,i=!0,a=0,h=t.length-1;h>=0;--h){var s=t.charCodeAt(h);if(47!==s)-1===o&&(i=!1,o=h+1),46===s?-1===r?r=h:1!==a&&(a=1):-1!==r&&(a=-1);else if(!i){n=h+1;break}}return-1===r||-1===o||0===a||1===a&&r===o-1&&r===n+1?\"\":t.slice(r,o)},format:function(t){if(null===t||\"object\"!=typeof t)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,n=e.base||(e.name||\"\")+(e.ext||\"\");return r?r===e.root?r+n:r+\"/\"+n:n}(0,t)},parse:function(t){e(t);var r={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===t.length)return r;var n,o=t.charCodeAt(0),i=47===o;i?(r.root=\"/\",n=1):n=0;for(var a=-1,h=0,s=-1,c=!0,f=t.length-1,u=0;f>=n;--f)if(47!==(o=t.charCodeAt(f)))-1===s&&(c=!1,s=f+1),46===o?-1===a?a=f:1!==u&&(u=1):-1!==a&&(u=-1);else if(!c){h=f+1;break}return-1===a||-1===s||0===u||1===u&&a===s-1&&a===h+1?-1!==s&&(r.base=r.name=0===h&&i?t.slice(1,s):t.slice(h,s)):(0===h&&i?(r.name=t.slice(1,a),r.base=t.slice(1,s)):(r.name=t.slice(h,a),r.base=t.slice(h,s)),r.ext=t.slice(a,s)),h>0?r.dir=t.slice(0,h-1):i&&(r.dir=\"/\"),r},sep:\"/\",delimiter:\":\",win32:null,posix:null};n.posix=n,t.exports=n}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var n={};(()=>{var t;if(r.r(n),r.d(n,{URI:()=>g,Utils:()=>O}),\"object\"==typeof process)t=\"win32\"===process.platform;else if(\"object\"==typeof navigator){var e=navigator.userAgent;t=e.indexOf(\"Windows\")>=0}var o,i,a=(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},o(t,e)},function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function r(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),h=/^\\w[\\w\\d+.-]*$/,s=/^\\//,c=/^\\/\\//;function f(t,e){if(!t.scheme&&e)throw new Error('[UriError]: Scheme is missing: {scheme: \"\", authority: \"'.concat(t.authority,'\", path: \"').concat(t.path,'\", query: \"').concat(t.query,'\", fragment: \"').concat(t.fragment,'\"}'));if(t.scheme&&!h.test(t.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(t.path)if(t.authority){if(!s.test(t.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(c.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}var u=\"\",l=\"/\",p=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/,g=function(){function e(t,e,r,n,o,i){void 0===i&&(i=!1),\"object\"==typeof t?(this.scheme=t.scheme||u,this.authority=t.authority||u,this.path=t.path||u,this.query=t.query||u,this.fragment=t.fragment||u):(this.scheme=function(t,e){return t||e?t:\"file\"}(t,i),this.authority=e||u,this.path=function(t,e){switch(t){case\"https\":case\"http\":case\"file\":e?e[0]!==l&&(e=l+e):e=l}return e}(this.scheme,r||u),this.query=n||u,this.fragment=o||u,f(this,i))}return e.isUri=function(t){return t instanceof e||!!t&&\"string\"==typeof t.authority&&\"string\"==typeof t.fragment&&\"string\"==typeof t.path&&\"string\"==typeof t.query&&\"string\"==typeof t.scheme&&\"string\"==typeof t.fsPath&&\"function\"==typeof t.with&&\"function\"==typeof t.toString},Object.defineProperty(e.prototype,\"fsPath\",{get:function(){return C(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(t){if(!t)return this;var e=t.scheme,r=t.authority,n=t.path,o=t.query,i=t.fragment;return void 0===e?e=this.scheme:null===e&&(e=u),void 0===r?r=this.authority:null===r&&(r=u),void 0===n?n=this.path:null===n&&(n=u),void 0===o?o=this.query:null===o&&(o=u),void 0===i?i=this.fragment:null===i&&(i=u),e===this.scheme&&r===this.authority&&n===this.path&&o===this.query&&i===this.fragment?this:new v(e,r,n,o,i)},e.parse=function(t,e){void 0===e&&(e=!1);var r=p.exec(t);return r?new v(r[2]||u,_(r[4]||u),_(r[5]||u),_(r[7]||u),_(r[9]||u),e):new v(u,u,u,u,u)},e.file=function(e){var r=u;if(t&&(e=e.replace(/\\\\/g,l)),e[0]===l&&e[1]===l){var n=e.indexOf(l,2);-1===n?(r=e.substring(2),e=l):(r=e.substring(2,n),e=e.substring(n)||l)}return new v(\"file\",r,e,u,u)},e.from=function(t){var e=new v(t.scheme,t.authority,t.path,t.query,t.fragment);return f(e,!0),e},e.prototype.toString=function(t){return void 0===t&&(t=!1),A(this,t)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var r=new v(t);return r._formatted=t.external,r._fsPath=t._sep===d?t.fsPath:null,r}return t},e}(),d=t?1:void 0,v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._formatted=null,e._fsPath=null,e}return a(e,t),Object.defineProperty(e.prototype,\"fsPath\",{get:function(){return this._fsPath||(this._fsPath=C(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),e.prototype.toString=function(t){return void 0===t&&(t=!1),t?A(this,!0):(this._formatted||(this._formatted=A(this,!1)),this._formatted)},e.prototype.toJSON=function(){var t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=d),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t},e}(g),y=((i={})[58]=\"%3A\",i[47]=\"%2F\",i[63]=\"%3F\",i[35]=\"%23\",i[91]=\"%5B\",i[93]=\"%5D\",i[64]=\"%40\",i[33]=\"%21\",i[36]=\"%24\",i[38]=\"%26\",i[39]=\"%27\",i[40]=\"%28\",i[41]=\"%29\",i[42]=\"%2A\",i[43]=\"%2B\",i[44]=\"%2C\",i[59]=\"%3B\",i[61]=\"%3D\",i[32]=\"%20\",i);function m(t,e,r){for(var n=void 0,o=-1,i=0;i<t.length;i++){var a=t.charCodeAt(i);if(a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||45===a||46===a||95===a||126===a||e&&47===a||r&&91===a||r&&93===a||r&&58===a)-1!==o&&(n+=encodeURIComponent(t.substring(o,i)),o=-1),void 0!==n&&(n+=t.charAt(i));else{void 0===n&&(n=t.substr(0,i));var h=y[a];void 0!==h?(-1!==o&&(n+=encodeURIComponent(t.substring(o,i)),o=-1),n+=h):-1===o&&(o=i)}}return-1!==o&&(n+=encodeURIComponent(t.substring(o))),void 0!==n?n:t}function b(t){for(var e=void 0,r=0;r<t.length;r++){var n=t.charCodeAt(r);35===n||63===n?(void 0===e&&(e=t.substr(0,r)),e+=y[n]):void 0!==e&&(e+=t[r])}return void 0!==e?e:t}function C(e,r){var n;return n=e.authority&&e.path.length>1&&\"file\"===e.scheme?\"//\".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?r?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,t&&(n=n.replace(/\\//g,\"\\\\\")),n}function A(t,e){var r=e?b:m,n=\"\",o=t.scheme,i=t.authority,a=t.path,h=t.query,s=t.fragment;if(o&&(n+=o,n+=\":\"),(i||\"file\"===o)&&(n+=l,n+=l),i){var c=i.indexOf(\"@\");if(-1!==c){var f=i.substr(0,c);i=i.substr(c+1),-1===(c=f.lastIndexOf(\":\"))?n+=r(f,!1,!1):(n+=r(f.substr(0,c),!1,!1),n+=\":\",n+=r(f.substr(c+1),!1,!0)),n+=\"@\"}-1===(c=(i=i.toLowerCase()).lastIndexOf(\":\"))?n+=r(i,!1,!0):(n+=r(i.substr(0,c),!1,!0),n+=i.substr(c))}if(a){if(a.length>=3&&47===a.charCodeAt(0)&&58===a.charCodeAt(2))(u=a.charCodeAt(1))>=65&&u<=90&&(a=\"/\".concat(String.fromCharCode(u+32),\":\").concat(a.substr(3)));else if(a.length>=2&&58===a.charCodeAt(1)){var u;(u=a.charCodeAt(0))>=65&&u<=90&&(a=\"\".concat(String.fromCharCode(u+32),\":\").concat(a.substr(2)))}n+=r(a,!0,!1)}return h&&(n+=\"?\",n+=r(h,!1,!1)),s&&(n+=\"#\",n+=e?s:m(s,!1,!1)),n}function w(t){try{return decodeURIComponent(t)}catch(e){return t.length>3?t.substr(0,3)+w(t.substr(3)):t}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function _(t){return t.match(x)?t.replace(x,(function(t){return w(t)})):t}var O,P=r(470),j=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},I=P.posix||P,U=\"/\";!function(t){t.joinPath=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t.with({path:I.join.apply(I,j([t.path],e,!1))})},t.resolvePath=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var n=t.path,o=!1;n[0]!==U&&(n=U+n,o=!0);var i=I.resolve.apply(I,j([n],e,!1));return o&&i[0]===U&&!t.authority&&(i=i.substring(1)),t.with({path:i})},t.dirname=function(t){if(0===t.path.length||t.path===U)return t;var e=I.dirname(t.path);return 1===e.length&&46===e.charCodeAt(0)&&(e=\"\"),t.with({path:e})},t.basename=function(t){return I.basename(t.path)},t.extname=function(t){return I.extname(t.path)}}(O||(O={}))})(),LIB=n})();export const{URI,Utils}=LIB;\n//# sourceMappingURL=index.js.map",null,null,null,null,"/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar FullTextDocument = /** @class */ (function () {\n function FullTextDocument(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n Object.defineProperty(FullTextDocument.prototype, \"uri\", {\n get: function () {\n return this._uri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"languageId\", {\n get: function () {\n return this._languageId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"version\", {\n get: function () {\n return this._version;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument.prototype.getText = function (range) {\n if (range) {\n var start = this.offsetAt(range.start);\n var end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n };\n FullTextDocument.prototype.update = function (changes, version) {\n for (var _i = 0, changes_1 = changes; _i < changes_1.length; _i++) {\n var change = changes_1[_i];\n if (FullTextDocument.isIncremental(change)) {\n // makes sure start is before end\n var range = getWellformedRange(change.range);\n // update content\n var startOffset = this.offsetAt(range.start);\n var endOffset = this.offsetAt(range.end);\n this._content = this._content.substring(0, startOffset) + change.text + this._content.substring(endOffset, this._content.length);\n // update the offsets\n var startLine = Math.max(range.start.line, 0);\n var endLine = Math.max(range.end.line, 0);\n var lineOffsets = this._lineOffsets;\n var addedLineOffsets = computeLineOffsets(change.text, false, startOffset);\n if (endLine - startLine === addedLineOffsets.length) {\n for (var i = 0, len = addedLineOffsets.length; i < len; i++) {\n lineOffsets[i + startLine + 1] = addedLineOffsets[i];\n }\n }\n else {\n if (addedLineOffsets.length < 10000) {\n lineOffsets.splice.apply(lineOffsets, __spreadArray([startLine + 1, endLine - startLine], addedLineOffsets, false));\n }\n else { // avoid too many arguments for splice\n this._lineOffsets = lineOffsets = lineOffsets.slice(0, startLine + 1).concat(addedLineOffsets, lineOffsets.slice(endLine + 1));\n }\n }\n var diff = change.text.length - (endOffset - startOffset);\n if (diff !== 0) {\n for (var i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) {\n lineOffsets[i] = lineOffsets[i] + diff;\n }\n }\n }\n else if (FullTextDocument.isFull(change)) {\n this._content = change.text;\n this._lineOffsets = undefined;\n }\n else {\n throw new Error('Unknown change event received');\n }\n }\n this._version = version;\n };\n FullTextDocument.prototype.getLineOffsets = function () {\n if (this._lineOffsets === undefined) {\n this._lineOffsets = computeLineOffsets(this._content, true);\n }\n return this._lineOffsets;\n };\n FullTextDocument.prototype.positionAt = function (offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n var lineOffsets = this.getLineOffsets();\n var low = 0, high = lineOffsets.length;\n if (high === 0) {\n return { line: 0, character: offset };\n }\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n var line = low - 1;\n return { line: line, character: offset - lineOffsets[line] };\n };\n FullTextDocument.prototype.offsetAt = function (position) {\n var lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n var lineOffset = lineOffsets[position.line];\n var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n };\n Object.defineProperty(FullTextDocument.prototype, \"lineCount\", {\n get: function () {\n return this.getLineOffsets().length;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument.isIncremental = function (event) {\n var candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range !== undefined &&\n (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number');\n };\n FullTextDocument.isFull = function (event) {\n var candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined;\n };\n return FullTextDocument;\n}());\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new text document.\n *\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's initial version number.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Updates a TextDocument by modifying its content.\n *\n * @param document the document to update. Only documents created by TextDocument.create are valid inputs.\n * @param changes the changes to apply to the document.\n * @param version the changes version for the document.\n * @returns The updated TextDocument. Note: That's the same document instance passed in as first parameter.\n *\n */\n function update(document, changes, version) {\n if (document instanceof FullTextDocument) {\n document.update(changes, version);\n return document;\n }\n else {\n throw new Error('TextDocument.update: document must be created by TextDocument.create');\n }\n }\n TextDocument.update = update;\n function applyEdits(document, edits) {\n var text = document.getText();\n var sortedEdits = mergeSort(edits.map(getWellformedEdit), function (a, b) {\n var diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n var lastModifiedOffset = 0;\n var spans = [];\n for (var _i = 0, sortedEdits_1 = sortedEdits; _i < sortedEdits_1.length; _i++) {\n var e = sortedEdits_1[_i];\n var startOffset = document.offsetAt(e.range.start);\n if (startOffset < lastModifiedOffset) {\n throw new Error('Overlapping edit');\n }\n else if (startOffset > lastModifiedOffset) {\n spans.push(text.substring(lastModifiedOffset, startOffset));\n }\n if (e.newText.length) {\n spans.push(e.newText);\n }\n lastModifiedOffset = document.offsetAt(e.range.end);\n }\n spans.push(text.substr(lastModifiedOffset));\n return spans.join('');\n }\n TextDocument.applyEdits = applyEdits;\n})(TextDocument || (TextDocument = {}));\nfunction mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n var p = (data.length / 2) | 0;\n var left = data.slice(0, p);\n var right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n var leftIdx = 0;\n var rightIdx = 0;\n var i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n var ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n}\nfunction computeLineOffsets(text, isAtLineStart, textOffset) {\n if (textOffset === void 0) { textOffset = 0; }\n var result = isAtLineStart ? [textOffset] : [];\n for (var i = 0; i < text.length; i++) {\n var ch = text.charCodeAt(i);\n if (ch === 13 /* CharCode.CarriageReturn */ || ch === 10 /* CharCode.LineFeed */) {\n if (ch === 13 /* CharCode.CarriageReturn */ && i + 1 < text.length && text.charCodeAt(i + 1) === 10 /* CharCode.LineFeed */) {\n i++;\n }\n result.push(textOffset + i + 1);\n }\n }\n return result;\n}\nfunction getWellformedRange(range) {\n var start = range.start;\n var end = range.end;\n if (start.line > end.line || (start.line === end.line && start.character > end.character)) {\n return { start: end, end: start };\n }\n return range;\n}\nfunction getWellformedEdit(textEdit) {\n var range = getWellformedRange(textEdit.range);\n if (range !== textEdit.range) {\n return { newText: textEdit.newText, range: range };\n }\n return textEdit;\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n",null,"module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n var pathext = options.pathExt !== undefined ?\n options.pathExt : process.env.PATHEXT\n\n if (!pathext) {\n return true\n }\n\n pathext = pathext.split(';')\n if (pathext.indexOf('') !== -1) {\n return true\n }\n for (var i = 0; i < pathext.length; i++) {\n var p = pathext[i].toLowerCase()\n if (p && path.substr(-p.length).toLowerCase() === p) {\n return true\n }\n }\n return false\n}\n\nfunction checkStat (stat, path, options) {\n if (!stat.isSymbolicLink() && !stat.isFile()) {\n return false\n }\n return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, path, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n","const isexe = require('isexe')\nconst { join, delimiter, sep, posix } = require('path')\n\nconst isWindows = process.platform === 'win32'\n\n// used to check for slashed in commands passed in. always checks for the posix\n// seperator on all platforms, and checks for the current separator when not on\n// a posix platform. don't use the isWindows check for this since that is mocked\n// in tests but we still need the code to actually work when called. that is also\n// why it is ignored from coverage.\n/* istanbul ignore next */\nconst rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? '' : sep}]`.replace(/(\\\\)/g, '\\\\$1'))\nconst rRel = new RegExp(`^\\\\.${rSlash.source}`)\n\nconst getNotFoundError = (cmd) =>\n Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, {\n path: optPath = process.env.PATH,\n pathExt: optPathExt = process.env.PATHEXT,\n delimiter: optDelimiter = delimiter,\n}) => {\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n const pathEnv = cmd.match(rSlash) ? [''] : [\n // windows always checks the cwd first\n ...(isWindows ? [process.cwd()] : []),\n ...(optPath || /* istanbul ignore next: very unusual */ '').split(optDelimiter),\n ]\n\n if (isWindows) {\n const pathExtExe = optPathExt || ['.EXE', '.CMD', '.BAT', '.COM'].join(optDelimiter)\n const pathExt = pathExtExe.split(optDelimiter)\n if (cmd.includes('.') && pathExt[0] !== '') {\n pathExt.unshift('')\n }\n return { pathEnv, pathExt, pathExtExe }\n }\n\n return { pathEnv, pathExt: [''] }\n}\n\nconst getPathPart = (raw, cmd) => {\n const pathPart = /^\".*\"$/.test(raw) ? raw.slice(1, -1) : raw\n const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : ''\n return prefix + join(pathPart, cmd)\n}\n\nconst which = async (cmd, opt = {}) => {\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (const envPart of pathEnv) {\n const p = getPathPart(envPart, cmd)\n\n for (const ext of pathExt) {\n const withExt = p + ext\n const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n if (is) {\n if (!opt.all) {\n return withExt\n }\n found.push(withExt)\n }\n }\n }\n\n if (opt.all && found.length) {\n return found\n }\n\n if (opt.nothrow) {\n return null\n }\n\n throw getNotFoundError(cmd)\n}\n\nconst whichSync = (cmd, opt = {}) => {\n const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n const found = []\n\n for (const pathEnvPart of pathEnv) {\n const p = getPathPart(pathEnvPart, cmd)\n\n for (const ext of pathExt) {\n const withExt = p + ext\n const is = isexe.sync(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n if (is) {\n if (!opt.all) {\n return withExt\n }\n found.push(withExt)\n }\n }\n }\n\n if (opt.all && found.length) {\n return found\n }\n\n if (opt.nothrow) {\n return null\n }\n\n throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","import process from 'node:process';\nimport path from 'node:path';\nimport fs, {promises as fsPromises} from 'node:fs';\nimport {fileURLToPath} from 'node:url';\nimport pLocate from 'p-locate';\n\nconst typeMappings = {\n\tdirectory: 'isDirectory',\n\tfile: 'isFile',\n};\n\nfunction checkType(type) {\n\tif (Object.hasOwnProperty.call(typeMappings, type)) {\n\t\treturn;\n\t}\n\n\tthrow new Error(`Invalid type specified: ${type}`);\n}\n\nconst matchType = (type, stat) => stat[typeMappings[type]]();\n\nconst toPath = urlOrPath => urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath;\n\nexport async function locatePath(\n\tpaths,\n\t{\n\t\tcwd = process.cwd(),\n\t\ttype = 'file',\n\t\tallowSymlinks = true,\n\t\tconcurrency,\n\t\tpreserveOrder,\n\t} = {},\n) {\n\tcheckType(type);\n\tcwd = toPath(cwd);\n\n\tconst statFunction = allowSymlinks ? fsPromises.stat : fsPromises.lstat;\n\n\treturn pLocate(paths, async path_ => {\n\t\ttry {\n\t\t\tconst stat = await statFunction(path.resolve(cwd, path_));\n\t\t\treturn matchType(type, stat);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}, {concurrency, preserveOrder});\n}\n\nexport function locatePathSync(\n\tpaths,\n\t{\n\t\tcwd = process.cwd(),\n\t\ttype = 'file',\n\t\tallowSymlinks = true,\n\t} = {},\n) {\n\tcheckType(type);\n\tcwd = toPath(cwd);\n\n\tconst statFunction = allowSymlinks ? fs.statSync : fs.lstatSync;\n\n\tfor (const path_ of paths) {\n\t\ttry {\n\t\t\tconst stat = statFunction(path.resolve(cwd, path_));\n\n\t\t\tif (matchType(type, stat)) {\n\t\t\t\treturn path_;\n\t\t\t}\n\t\t} catch {}\n\t}\n}\n","import path from 'node:path';\nimport {fileURLToPath} from 'node:url';\nimport {locatePath, locatePathSync} from 'locate-path';\n\nconst toPath = urlOrPath => urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath;\n\nexport const findUpStop = Symbol('findUpStop');\n\nexport async function findUpMultiple(name, options = {}) {\n\tlet directory = path.resolve(toPath(options.cwd) || '');\n\tconst {root} = path.parse(directory);\n\tconst stopAt = path.resolve(directory, options.stopAt || root);\n\tconst limit = options.limit || Number.POSITIVE_INFINITY;\n\tconst paths = [name].flat();\n\n\tconst runMatcher = async locateOptions => {\n\t\tif (typeof name !== 'function') {\n\t\t\treturn locatePath(paths, locateOptions);\n\t\t}\n\n\t\tconst foundPath = await name(locateOptions.cwd);\n\t\tif (typeof foundPath === 'string') {\n\t\t\treturn locatePath([foundPath], locateOptions);\n\t\t}\n\n\t\treturn foundPath;\n\t};\n\n\tconst matches = [];\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tconst foundPath = await runMatcher({...options, cwd: directory});\n\n\t\tif (foundPath === findUpStop) {\n\t\t\tbreak;\n\t\t}\n\n\t\tif (foundPath) {\n\t\t\tmatches.push(path.resolve(directory, foundPath));\n\t\t}\n\n\t\tif (directory === stopAt || matches.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\n\t\tdirectory = path.dirname(directory);\n\t}\n\n\treturn matches;\n}\n\nexport function findUpMultipleSync(name, options = {}) {\n\tlet directory = path.resolve(toPath(options.cwd) || '');\n\tconst {root} = path.parse(directory);\n\tconst stopAt = options.stopAt || root;\n\tconst limit = options.limit || Number.POSITIVE_INFINITY;\n\tconst paths = [name].flat();\n\n\tconst runMatcher = locateOptions => {\n\t\tif (typeof name !== 'function') {\n\t\t\treturn locatePathSync(paths, locateOptions);\n\t\t}\n\n\t\tconst foundPath = name(locateOptions.cwd);\n\t\tif (typeof foundPath === 'string') {\n\t\t\treturn locatePathSync([foundPath], locateOptions);\n\t\t}\n\n\t\treturn foundPath;\n\t};\n\n\tconst matches = [];\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tconst foundPath = runMatcher({...options, cwd: directory});\n\n\t\tif (foundPath === findUpStop) {\n\t\t\tbreak;\n\t\t}\n\n\t\tif (foundPath) {\n\t\t\tmatches.push(path.resolve(directory, foundPath));\n\t\t}\n\n\t\tif (directory === stopAt || matches.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\n\t\tdirectory = path.dirname(directory);\n\t}\n\n\treturn matches;\n}\n\nexport async function findUp(name, options = {}) {\n\tconst matches = await findUpMultiple(name, {...options, limit: 1});\n\treturn matches[0];\n}\n\nexport function findUpSync(name, options = {}) {\n\tconst matches = findUpMultipleSync(name, {...options, limit: 1});\n\treturn matches[0];\n}\n\nexport {\n\tpathExists,\n\tpathExistsSync,\n} from 'path-exists';\n","import {findUp, findUpSync} from 'find-up';\n\nexport async function pkgUp({cwd} = {}) {\n\treturn findUp('package.json', {cwd});\n}\n\nexport function pkgUpSync({cwd} = {}) {\n\treturn findUpSync('package.json', {cwd});\n}\n",null,null,null,"'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n",null,null,null,null,null,null],"names":["Error","constructor","exitCode","code","message","super","captureStackTrace","this","name","nestedError","undefined","error","CommanderError","InvalidArgumentError","require$$0","argument","Argument","description","variadic","parseArg","defaultValue","defaultValueDescription","argChoices","required","_name","slice","length","_concatValue","value","previous","Array","isArray","concat","default","argParser","fn","choices","values","arg","includes","join","argRequired","argOptional","humanReadableArgName","nameOutput","help","Help","helpWidth","sortSubcommands","sortOptions","showGlobalOptions","visibleCommands","cmd","commands","filter","_hidden","_hasImplicitHelpCommand","helpName","helpArgs","_helpCommandnameAndArgs","match","helpCommand","createCommand","helpOption","_helpCommandDescription","arguments","push","sort","a","b","localeCompare","compareOptions","getSortKey","option","short","replace","long","visibleOptions","options","hidden","showShortHelpFlag","_hasHelpOption","_helpShortFlag","_findOption","showLongHelpFlag","_helpLongFlag","createOption","_helpFlags","_helpDescription","visibleGlobalOptions","globalOptions","parentCmd","parent","visibleArguments","_argsDescription","_args","forEach","find","subcommandTerm","args","map","_aliases","optionTerm","flags","argumentTerm","longestSubcommandTermLength","helper","reduce","max","command","Math","longestOptionTermLength","longestGlobalOptionTermLength","longestArgumentTermLength","commandUsage","cmdName","parentCmdNames","usage","commandDescription","subcommandDescription","summary","optionDescription","extraInfo","choice","JSON","stringify","optional","isBoolean","presetArg","envVar","argumentDescription","extraDescripton","formatHelp","termWidth","padWidth","formatItem","term","fullText","padEnd","wrap","formatList","textArray","repeat","output","argumentList","optionList","globalOptionList","commandList","str","width","indent","minColumnWidth","manualIndent","RegExp","columnWidth","leadingStr","columnText","indentString","breaks","regex","line","i","trimEnd","splitOptionFlags","shortFlag","longFlag","flagParts","split","test","shift","Option","mandatory","optionFlags","negate","startsWith","conflictsWith","implied","preset","conflicts","names","implies","impliedOptionValues","Object","assign","env","makeOptionMandatory","hideHelp","hide","attributeName","word","toUpperCase","is","DualOptions","positiveOptions","Map","negativeOptions","dualOptions","Set","set","key","has","add","valueFromOption","optionKey","get","negativeValue","suggestSimilar_1","suggestSimilar","candidates","from","searchingOptions","candidate","similar","bestDistance","distance","abs","d","j","cost","min","editDistance","EventEmitter","childProcess","require$$1","path","require$$2","fs","require$$3","process","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","outputHelpIfRequested","outputHelp","_exit","incrementNodeInspectorPort","debugOption","debugHost","debugPort","parseInt","getCommandAndParents","startCommand","result","Command","_allowUnknownOption","_allowExcessArguments","rawArgs","processedArgs","_scriptPath","_optionValues","_optionValueSources","_storeOptionsAsProperties","_actionHandler","_executableHandler","_executableFile","_executableDir","_defaultCommandName","_exitCallback","_combineFlagAndOptionalValue","_description","_summary","_enablePositionalOptions","_passThroughOptions","_lifeCycleHooks","_showHelpAfterError","_showSuggestionAfterError","_outputConfiguration","writeOut","stdout","write","writeErr","stderr","getOutHelpWidth","isTTY","columns","getErrHelpWidth","outputError","_addImplicitHelpCommand","_helpCommandName","_helpConfiguration","copyInheritedSettings","sourceCommand","nameAndArgs","actionOptsOrExecDesc","execOpts","desc","opts","isDefault","noHelp","executableFile","createHelp","configureHelp","configuration","configureOutput","showHelpAfterError","displayHelp","showSuggestionAfterError","displaySuggestion","addCommand","createArgument","addArgument","detail","previousArgument","addHelpCommand","enableOrNameAndArgs","_findCommand","hook","event","listener","allowedValues","exitOverride","err","exit","action","expectedArgsCount","actionArgs","apply","addOption","oname","positiveLongFlag","setOptionValueWithSource","handleOptionValue","val","invalidValueMessage","valueSource","oldValue","getOptionValue","on","_optionEx","config","def","m","exec","requiredOption","combineFlagAndOptionalValue","combine","allowUnknownOption","allowUnknown","allowExcessArguments","allowExcess","enablePositionalOptions","positional","passThroughOptions","passThrough","storeOptionsAsProperties","storeAsProperties","setOptionValue","source","getOptionValueSource","getOptionValueSourceWithGlobals","_prepareUserArgs","argv","parseOptions","userArgs","versions","electron","defaultApp","nameFromFilename","parse","_parseCommand","async","_executeSubCommand","subcommand","launchWithNode","sourceExt","findFile","baseDir","baseName","localBin","resolve","existsSync","extname","foundExt","ext","_checkForMissingMandatoryOptions","_checkForConflictingOptions","proc","executableDir","resolvedScriptPath","realpathSync","dirname","localFile","legacyName","basename","platform","unshift","execArgv","spawn","stdio","execPath","killed","signal","kill","exitCallback","bind","executableDirMessage","executableMissing","wrappedError","runningCommand","_dispatchSubcommand","commandName","operands","unknown","subCommand","hookResult","_chainOrCallSubCommandHook","_chainOrCall","_checkNumberOfArguments","missingArgument","_excessArguments","_processArguments","myParseArg","parsedValue","declaredArg","index","processed","v","promise","then","_chainOrCallHooks","hooks","reverse","hookedCommand","callback","hookDetail","parsed","_parseOptionsEnv","_parseOptionsImplied","checkForUnknownOptions","unknownOption","commandEvent","actionResult","emit","listenerCount","unknownCommand","anOption","missingMandatoryOptionValue","_checkForConflictingLocalOptions","definedNonDefaultOptions","optionsWithConflicting","conflictingAndDefined","defined","_conflictingOption","dest","maybeOption","activeVariadicOption","optionMissingArgument","indexOf","len","_versionOptionName","_version","optsWithGlobals","combinedOptions","errorOptions","dualHelper","hasCustomOptionValue","keys","impliedKey","conflictingOption","findBestOptionFromValue","optionValue","negativeOption","target","positiveOption","getErrorMessage","bestOption","flag","suggestion","candidateFlags","moreFlags","receivedArgs","expected","s","unknownName","candidateNames","alias","version","versionOption","argsDescription","aliases","_usage","filename","helpInformation","contextOptions","_getHelpContext","context","deprecatedCallback","Buffer","isBuffer","helpFlags","addHelpText","position","text","helpEvent","helpStr","exports","module","program","InvalidOptionArgumentError","commander","string","String","func","array","defineProperty","thenable","typedArray","number","boolean","Number","stringArray","every","elem","check","Message","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType","RequestType0","AbstractMessageSignature","ParameterStructures","ResponseError","ErrorCodes","ParseError","InvalidRequest","MethodNotFound","InvalidParams","InternalError","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageWriteError","MessageReadError","PendingResponseRejected","ConnectionInactive","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","data","setPrototypeOf","prototype","toJson","kind","static","auto","byName","byPosition","toString","method","numberOfParams","parameterStructures","_parameterStructures","isRequest","id","isNotification","isResponse","_a","Touch","LRUCache","LinkedMap","None","First","AsOld","Last","AsNew","_map","_head","_tail","_size","_state","clear","isEmpty","size","first","last","touch","item","next","addItemLast","addItemFirst","delete","remove","removeItem","callbackfn","thisArg","state","current","iterator","Symbol","done","entries","toStringTag","trimOld","newSize","currentSize","toJSON","fromJSON","limit","ratio","_limit","_ratio","checkTrim","peek","round","_ral","RAL","ral","install","Emitter","Event","ral_1","_disposable","dispose","CallbackList","bucket","_callbacks","_contexts","foundCallbackWithDifferentContext","splice","invoke","ret","callbacks","contexts","e","console","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","fire","call","CancellationTokenSource","CancellationToken","Is","events_1","freeze","isCancellationRequested","onCancellationRequested","Cancelled","shortcutEvent","handle","timer","setTimeout","MutableToken","_isCancelled","cancel","_emitter","token","_token","semaphore","Semaphore","capacity","_capacity","_active","_waiting","lock","thunk","Promise","reject","runNext","active","setImmediate","doRunNext","createMessageConnection","ConnectionOptions","CancellationStrategy","CancellationSenderStrategy","RequestCancellationReceiverStrategy","IdCancellationReceiverStrategy","ConnectionError","ConnectionErrors","SetTraceNotification","TraceFormat","Trace","NullLogger","ProgressToken","messages_1","linkedMap_1","cancellation_1","CancelNotification","ProgressNotification","StarRequestHandler","TraceValues","LogTraceNotification","ConnectionStrategy","CancellationReceiverStrategy","MessageStrategy","ConnectionState","type","ProgressType","warn","info","log","Off","Messages","Compact","Verbose","fromString","toLowerCase","Text","cancelUndispatched","createCancellationTokenSource","_","sendCancellation","conn","sendNotification","cleanup","receiver","sender","handleMessage","cancellationStrategy","connectionStrategy","messageStrategy","messageReader","messageWriter","_logger","logger","sequenceNumber","notificationSequenceNumber","unknownResponseSequenceNumber","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","tracer","messageQueue","responsePromises","knownCanceledRequests","requestTokens","trace","traceFormat","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","addMessageToQueue","queue","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","processMessageQueue","requestMessage","reply","resultOrError","startTime","jsonrpc","traceSendingResponse","catch","replyError","replySuccess","params","stringifyTrace","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","handleRequest","notificationHandler","cancelId","traceReceivedNotification","handleNotification","responseMessage","responsePromise","timerStart","traceReceivedResponse","handleResponse","responseHandler","handleInvalidMessage","onClose","onError","toCancel","strategy","response","cancellationToken","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","computeMessageParams","connection","messageParams","paramStart","paramEnd","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","p","traceSendingRequest","enableCancellation","r","onRequest","hasPendingResponse","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","end","listen","AlreadyListening","throwIfListening","inspect","verbose","AbstractMessageBuffer","WriteableStreamMessageWriter","AbstractMessageWriter","MessageWriter","ReadableStreamMessageReader","AbstractMessageReader","SharedArrayReceiverStrategy","SharedArraySenderStrategy","enumerable","disposable_1","Disposable","create","sharedArrayCancellation_1","sharedArrayCancellation","CancellationState","Continue","buffers","request","buffer","SharedArrayBuffer","Int32Array","$cancellationData","_conn","Atomics","store","SharedArrayBufferCancellationToken","load","SharedArrayBufferCancellationTokenSource","messageReader_1","MessageReader","semaphore_1","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","fireError","asError","fireClose","firePartialMessage","fromOptions","charset","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","decoder","applicationJson","readable","messageBuffer","_partialMessageTimeout","nextMessageLength","messageToken","readSemaphore","partialMessageTimeout","timeout","partialMessageTimer","onData","append","headers","tryReadHeaders","contentLength","isNaN","body","tryReadBody","setPartialMessageTimer","clearPartialMessageTimer","bytes","decode","waitingTime","messageWriter_1","ResolvedMessageWriterOptions","count","contentTypeEncoder","encoder","contentEncoder","writable","errorCount","writeSemaphore","msg","encode","byteLength","doWrite","handleError","messageBuffer_1","encoding","_encoding","_chunks","_totalLength","chunk","toAppend","lowerCaseKeys","chunkIndex","offset","chunkBytesRead","row","_read","header","substr","trim","numberOfBytes","byteCount","emptyBuffer","asNative","allocNative","resultOffset","chunkPart","connection_1","require$$10","ril","util_1","api_1","MessageBuffer","TextDecoder","allocUnsafe","ReadableStreamWrapper","stream","off","onEnd","WritableStreamWrapper","_ril","asReadableStream","asWritableStream","ms","clearTimeout","clearImmediate","setInterval","clearInterval","RIL","__createBinding","o","k","k2","getOwnPropertyDescriptor","__esModule","configurable","__exportStar","hasOwnProperty","createServerSocketTransport","createClientSocketTransport","createServerPipeTransport","createClientPipeTransport","StreamMessageWriter","StreamMessageReader","SocketMessageWriter","SocketMessageReader","PortMessageReader","IPCMessageWriter","IPCMessageReader","ril_1","os","crypto_1","net_1","eventEmitter","send","port","PortMessageWriter","postMessage","socket","destroy","XDG_RUNTIME_DIR","safeIpcPathLengths","generateRandomPipeName","randomSuffix","randomBytes","tmpdir","pipeName","connectResolve","connected","_reject","server","createServer","close","removeListener","onConnected","createConnection","input","reader","read","addListener","isReadableStream","writer","isWritableStream","DocumentUri","URI","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRangeKind","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","character","objectLiteral","one","two","three","four","start","uri","range","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","Comment","Imports","Region","startLine","endLine","startCharacter","endCharacter","collapsedText","location","Warning","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","_i","newText","insert","del","needsConfirmation","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItemLabelDetails","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","WorkspaceSymbol","DocumentSymbol","CodeActionKind","CodeActionTriggerKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","SemanticTokenTypes","SemanticTokenModifiers","SemanticTokens","InlineValueText","InlineValueVariableLookup","InlineValueEvaluatableExpression","InlineValueContext","InlayHintKind","InlayHintLabelPart","InlayHint","WorkspaceFolder","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","language","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","Invoked","Automatic","diagnostics","only","triggerKind","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","resultId","variableName","caseSensitiveLookup","expression","frameId","stoppedLocation","Type","Parameter","tooltip","textEdits","paddingLeft","paddingRight","TextDocument","mergeSort","compare","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","floor","lineOffset","nextLineOffset","ProtocolNotificationType","ProtocolRequestType","ProtocolRequestType0","MessageDirection","vscode_jsonrpc_1","RegistrationType","ProtocolNotificationType0","ImplementationRequest","messageDirection","clientToServer","TypeDefinitionRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","serverToClient","ConfigurationRequest","ColorPresentationRequest","DocumentColorRequest","FoldingRangeRequest","DeclarationRequest","SelectionRangeRequest","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","SemanticTokensRefreshRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokensRegistrationType","SemanticTokensRangeRequest","Relative","registrationMethod","ShowDocumentRequest","LinkedEditingRangeRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","FileOperationPatternKind","WillCreateFilesRequest","DidRenameFilesNotification","file","folder","MonikerRequest","MonikerKind","UniquenessLevel","project","group","scheme","global","$import","$export","local","TypeHierarchySubtypesRequest","TypeHierarchySupertypesRequest","TypeHierarchyPrepareRequest","InlineValueRefreshRequest","InlineValueRequest","InlayHintRefreshRequest","InlayHintResolveRequest","InlayHintRequest","DiagnosticRefreshRequest","DocumentDiagnosticRequest","DocumentDiagnosticReportKind","DiagnosticServerCancellationData","WorkspaceDiagnosticRequest","retriggerRequest","Full","Unchanged","partialResult","DidCloseNotebookDocumentNotification","DidSaveNotebookDocumentNotification","DidChangeNotebookDocumentNotification","NotebookCellArrayChange","DidOpenNotebookDocumentNotification","NotebookDocumentSyncRegistrationType","NotebookDocument","NotebookCell","ExecutionSummary","NotebookCellKind","vscode_languageserver_types_1","Markup","Code","executionOrder","success","equals","other","equalsMetadata","oneArray","otherArray","oneKeys","otherKeys","prop","metadata","executionSummary","notebookType","cells","deleteCount","WorkspaceSymbolRequest","CodeActionResolveRequest","DocumentSymbolRequest","DocumentHighlightRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","PublishDiagnosticsNotification","WatchKind","RelativePattern","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ShutdownRequest","InitializedNotification","InitializeErrorCodes","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","PositionEncodingKind","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","NotebookDocumentFilter","TextDocumentFilter","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensRequest","WorkspaceSymbolResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolder_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","require$$11","protocol_callHierarchy_1","require$$12","protocol_semanticTokens_1","require$$13","protocol_showDocument_1","require$$14","protocol_linkedEditingRange_1","require$$15","protocol_fileOperations_1","require$$16","protocol_moniker_1","require$$17","protocol_typeHierarchy_1","require$$18","protocol_inlineValue_1","require$$19","protocol_inlayHint_1","require$$20","protocol_diagnostic_1","require$$21","protocol_notebook_1","require$$22","NotebookCellTextDocumentFilter","ExitNotification","TextDocumentSyncKind","WillSaveTextDocumentNotification","CompletionTriggerKind","ReferencesRequest","CodeActionRequest","CodeLensResolveRequest","pattern","notebook","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","UTF8","UTF16","UTF32","StaticRegistrationOptions","hasId","documentSelector","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Info","Log","Incremental","isIncremental","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","baseUri","Change","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","PrepareSupportDefaultBehavior","Identifier","createProtocolConnection","LSPErrorCodes","lspReservedErrorRangeStart","RequestFailed","ServerCancelled","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","node_1","uuid","generateUuid","isUUID","v4","empty","ValueUUID","asHex","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","progress","attachPartialResult","ProgressFeature","attachWorkDone_1","vscode_languageserver_protocol_1","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","arg1","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","attachWorkDone","workDoneToken","ResultProgress","Base","_progressSupported","initialize","capabilities","window","attachWorkDoneProgress","createWorkDoneProgress","ResultProgressReporterImpl","partialResultToken","ConfigurationFeature","getConfiguration","_getConfiguration","section","workspaceFolder","WorkspaceFoldersFeature","_notificationIsAutoRegistered","workspaceCapabilities","workspace","workspaceFolders","_onDidChangeWorkspaceFolders","fillServerCapabilities","changeNotifications","getWorkspaceFolders","onDidChangeWorkspaceFolders","_unregistration","client","register","callHierarchy","CallHierarchyFeature","onPrepare","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","semanticTokens","SemanticTokensBuilder","SemanticTokensDiff","SemanticTokensFeature","refresh","onDelta","onRange","originalSequence","modifiedSequence","computeDiff","originalLength","modifiedLength","startIndex","originalEndIndex","modifiedEndIndex","newData","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","showDocument","ShowDocumentFeature","fileOperations","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","linkedEditingRange","LinkedEditingRangeFeature","onLinkedEditingRange","typeHierarchy","TypeHierarchyFeature","onSupertypes","onSubtypes","inlineValue","InlineValueFeature","inlayHint","InlayHintFeature","diagnostic","DiagnosticFeature","onWorkspace","textDocuments","TextDocuments","_configuration","_syncedDocuments","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onDidOpen","onDidChangeContent","onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","onDidSave","onDidClose","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","syncedDocument","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","NotebookDocuments","NotebookSyncFeature","textDocuments_1","synchronization","onDidOpenNotebookDocument","onDidChangeNotebookDocument","onDidSaveNotebookDocument","onDidCloseNotebookDocument","CellTextDocumentConnection","openHandler","openTextDocument","changeHandler","changeTextDocument","closeTextDocument","NULL_DISPOSE","configurationOrTextDocuments","_cellTextDocuments","notebookDocuments","notebookCellMap","_onDidChange","cellTextDocuments","getCellTextDocument","cell","getNotebookDocument","getNotebookCell","findNotebookDocumentForCell","onDidChange","cellTextDocumentConnection","notebooks","notebookDocument","cellTextDocument","updateCellMap","oldMetadata","metadataChanged","opened","closed","changedCells","structure","didOpen","open","didClose","cellUpdates","old","new","textContent","changeEvent","added","removed","changed","moniker","MonikerFeature","combineNotebooksFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_NotebooksImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","UUID","progress_1","configuration_1","workspaceFolder_1","callHierarchy_1","semanticTokens_1","showDocument_1","fileOperations_1","linkedEditingRange_1","typeHierarchy_1","inlineValue_1","inlayHint_1","diagnostic_1","notebook_1","moniker_1","null2Undefined","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","_capabilities","RemoteWindowImpl","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","isAttached","unregisterations","disposeSingle","_error","RemoteClientImpl","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","_result","unregisterSingle","registration","RemoteWorkspaceImpl","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","_LanguagesImpl","LanguagesImpl","NotebooksImpl","combineClientFeatures","combineFeatures","__brand","telemetry","languages","connectionFactory","watchDog","factories","remoteWindow","allRemotes","asPromise","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onWorkspaceSymbolResolve","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","resolveModulePath","resolveGlobalYarnPath","resolveGlobalNodePath","uriToFilePath","url","child_process_1","isWindows","moduleName","nodePath","cwd","nodePathKey","app","newEnv","delimiter","cp","fork","pid","c","npmCommand","shell","spawnSync","prefix","FileSystem","protocol","segments","decodeURIComponent","second","normalize","yarnCommand","results","lines","yarn","_isCaseSensitive","isCaseSensitive","__filename","isParent","child","workspaceRoot","isAbsolute","ProposedFeatures","Files","server_1","fm","exitTimer","_shutdownReceived","argName","runTimer","processId","ex","setupExitTimer","arg2","arg3","arg4","stdin","transport","commandLineMessage","inputStream","_createConnection","LogLevel","level","LspClientLogger","sendMessage","messageObjects","overrideLevel","logMessage","logLevelToLspMessageType","lsp","logIgnoringVerbosity","data2String","PrefixingLogger","padLeft","getUTCHours","getMinutes","getUTCSeconds","getMilliseconds","n","pad","stack","universalify","res","cb","constants","origCwd","GRACEFUL_FS_PLATFORM","er","chdir","polyfills","lchmod","mode","O_WRONLY","O_SYMLINK","fd","fchmod","err2","lchmodSync","openSync","threw","fchmodSync","closeSync","patchLchmod","lutimes","at","mt","futimes","er2","lutimesSync","futimesSync","_b","_c","nextTick","patchLutimes","chown","chownFix","fchown","lchown","chmod","chmodFix","chownSync","chownFixSync","fchownSync","lchownSync","chmodSync","chmodFixSync","stat","statFix","fstat","lstat","statSync","statFixSync","fstatSync","lstatSync","uid","gid","rename","fs$rename","to","backoff","CB","stater","st","orig","chownErOk","stats","getuid","fs$read","callback_","eagCounter","__","readSync","fs$readSync","Stream","legacyStreams","ReadStream","self","paused","bufferSize","setEncoding","TypeError","Infinity","pos","WriteStream","bytesWritten","busy","_queue","_open","flush","clone_1","obj","copy","__proto__","getPrototypeOf","getOwnPropertyNames","gracefulQueue","previousSymbol","legacy","clone","util","publishQueue","for","debug","debuglog","NODE_DEBUG","format","fs$close","resetQueue","fs$closeSync","equal","retryTimer","gracefulFs","patch","gracefulify","createReadStream","createWriteStream","fs$readFile","readFile","go$readFile","enqueue","fs$writeFile","writeFile","go$writeFile","fs$appendFile","appendFile","go$appendFile","fs$copyFile","copyFile","src","go$copyFile","fs$readdir","readdir","go$readdir","files","legStreams","fs$ReadStream","that","autoClose","fs$WriteStream","FileReadStream","FileWriteStream","fs$open","go$open","retry","lastTime","pop","sinceAttempt","sinceStart","TEST_GRACEFUL_FS_GLOBAL_PATCH","__patched","u","fromCallback","api","exists","bytesRead","readv","writev","realpath","native","emitWarning","utils","checkPath","pth","root","getMode","makeDir","dir","mkdir","makeDirSync","mkdirSync","fromPromise","_makeDir","mkdirs","mkdirsSync","mkdirp","mkdirpSync","ensureDir","ensureDirSync","pathExists_1","pathExists","access","pathExistsSync","utimes","atime","mtime","futimesErr","closeErr","getStats","statFunc","dereference","bigint","srcStat","destStat","areIdentical","ino","dev","isSrcSubdir","srcArr","sep","destArr","acc","cur","errMsg","funcName","checkPaths","callbackify","srcBaseName","destBaseName","isChangingCase","isDirectory","checkPathsSync","getStatsSync","checkParentPaths","srcParent","destParent","checkParentPathsSync","utimesMillis","runFilter","include","copyDir","srcMode","setDestMode","mkDirAndCopy","onDir","isFile","isCharacterDevice","isBlockDevice","errorOnExist","unlink","mayCopyFile","onFile","isSymbolicLink","readlink","resolvedSrc","resolvedDest","symlink","copyLink","onLink","isSocket","isFIFO","preserveTimestamps","fileIsNotWritable","makeFileWritable","setDestTimestampsAndMode","handleTimestampsAndMode","updatedSrcStat","setDestTimestamps","copyDirItems","srcItem","destItem","copyDirItem","copy_1","clobber","arch","dirExists","checkParentDir","utimesMillisSync","unlinkSync","readlinkSync","symlinkSync","copyFileSync","handleTimestamps","readdirSync","copySync_1","copySync","remove_1","rm","force","removeSync","rmSync","emptyDir","emptyDirSync","emptydirSync","emptydir","makeFile","createFileSync","writeFileSync","link","createLink","srcpath","dstpath","makeLink","dstStat","createLinkSync","linkSync","symlinkPaths_1","symlinkPaths","toCwd","toDst","dstdir","relativeToDst","relative","symlinkPathsSync","symlinkType_1","symlinkType","symlinkTypeSync","_createSymlink","createSymlink","createSymlinkSync","ensure","ensureFile","ensureFileSync","ensureLink","ensureLinkSync","ensureSymlink","ensureSymlinkSync","EOL","finalEOL","replacer","spaces","EOF","_fs","stripBom","shouldThrow","throws","reviver","jsonfile","readFileSync","readJson","readJsonSync","writeJson","writeJsonSync","outputFile_1","outputFile","itDoes","outputFileSync","outputJson_1","outputJsonSync_1","jsonFile","outputJson","outputJsonSync","outputJSON","outputJSONSync","writeJSON","writeJSONSync","readJSON","readJSONSync","json","doRename","destExists","moveAcrossDevice","move_1","isParentRoot","renameSync","moveSync_1","move","moveSync","pDebounce","wait","isFinite","leadingValue","resolveList","arguments_","shouldCallNow","before","function_","currentPromise","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","MAX_SAFE_COMPONENT_LENGTH","debug_1","re","t","R","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","parseOptions_1","loose","numeric","compareIdentifiers","anum","bnum","identifiers","rcompareIdentifiers","semver","SemVer","includePrerelease","LOOSE","FULL","raw","major","minor","prerelease","num","compareMain","comparePre","compareBuild","inc","release","identifier","parse_1","valid_1","clean_1","inc_1","compare_1","eq_1","eq","diff_1","version1","version2","v1","v2","hasPre","defaultResult","major_1","minor_1","patch_1","prerelease_1","rcompare_1","compareLoose_1","compareBuild_1","versionA","versionB","sort_1","list","rsort_1","gt_1","lt_1","neq_1","gte_1","lte_1","neq","gt","gte","lt","lte","cmp_1","op","coerce_1","rtl","COERCERTL","lastIndex","Yallist","tail","head","l","node","inserted","Node","prev","yallist","removeNode","unshiftNode","pushNode","thisp","walker","forEachReverse","getReverse","mapReverse","initial","reduceReverse","toArray","arr","toArrayReverse","sliceReverse","nodes","Comparator","parseRange","isNullSet","isAny","comps","memoKey","cached","cache","hr","HYPHENRANGELOOSE","HYPHENRANGE","hyphenReplace","COMPARATORTRIM","rangeList","TILDETRIM","CARETTRIM","comp","parseComparator","replaceGTE0","COMPARATORLOOSE","rangeMap","comparators","intersects","some","thisComparators","isSatisfiable","rangeComparators","thisComparator","rangeComparator","testSet","LRU","MAX","LENGTH","LENGTH_CALCULATOR","ALLOW_STALE","MAX_AGE","DISPOSE","NO_DISPOSE_ON_SET","LRU_LIST","CACHE","UPDATE_AGE_ON_GET","naiveLength","doUse","hit","isStale","maxAge","Entry","forEachStep","lruCache","lc","stale","noDisposeOnSet","updateAgeOnGet","reset","mL","allowStale","mA","lengthCalculator","lC","itemCount","rforEach","dump","h","dumpLru","expiresAt","prune","remainingComparators","testComparator","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","replaceTilde","TILDELOOSE","TILDE","M","pr","replaceCaret","CARETLOOSE","CARET","z","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","fM","fp","fpr","fb","tM","tm","tp","tpr","tb","ANY","allowed","operator","COMPARATOR","cmp","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","comparator","satisfies_1","toComparators_1","maxSatisfying_1","maxSV","rangeObj","minSatisfying_1","minSV","minVersion_1","minver","setMin","compver","valid","satisfies","outside_1","hilo","gtfn","ltefn","ltfn","ecomp","outside","gtr_1","ltr_1","intersects_1","r1","r2","simpleSubset","sub","dom","eqSet","gtltComp","higher","lower","hasDomLT","hasDomGT","higherGT","lowerLT","needDomLTPre","needDomGTPre","subset_1","sawNonNull","OUTER","simpleSub","simpleDom","isSub","internalRe","simplifyRange","ranges","simplified","original","TypeScriptRenameRequest","CommandTypes","HighlightSpanKind","JsxEmit","ModuleKind","ModuleResolutionKind","SemicolonPreference","ScriptElementKind","ScriptElementKindModifier","ScriptTarget","SymbolDisplayPartKind","OrganizeImportsMode","clean","rcompare","compareLoose","rsort","require$$23","require$$24","require$$25","coerce","require$$26","require$$27","require$$28","require$$29","toComparators","require$$30","maxSatisfying","require$$31","minSatisfying","require$$32","minVersion","require$$33","validRange","require$$34","require$$35","gtr","require$$36","ltr","require$$37","require$$38","subset","require$$40","tokens","API","versionString","displayName","fullVersionString","defaultVersion","fromSimpleString","v240","v250","v260","v270","v280","v290","v291","v300","v310","v314","v320","v333","v340","v345","v350","v380","v381","v390","v400","v401","v420","v430","v440","v460","v470","v480","v490","KindModifiers","dtsFile","tsFile","tsxFile","jsFile","jsxFile","fileExtensionKindModifiers","SYMBOL_DISPLAY_PART_KIND_MAP","aliasName","className","enumName","fieldName","interfaceName","keyword","lineBreak","numericLiteral","stringLiteral","localName","methodName","parameterName","propertyName","punctuation","space","typeParameterName","enumMemberName","functionName","regularExpressionLiteral","linkName","linkText","toSymbolDisplayPartKind","ServerType","ServerResponse","ClientCapability","NoContent","NoServer","ClientCapabilities","capability","TypeScriptServerError","serverId","parsedResult","parseErrorText","serverMessage","serverStack","serverErrorText","serverCommand","errorText","errorPrefix","prefixFreeErrorText","newlineIndex","randomBytesAsync","promisify","crypto","urlSafeCharacters","numericCharacters","distinguishableCharacters","asciiPrintableCharacters","alphanumericCharacters","allowedTypes","createGenerator","generateForCustomCharacters","generateRandomBytes","characters","ceil","cryptoRandomString","characterCount","maxValidSelector","entropyLength","stringLength","entropy","entropyPosition","entropyValue","readUInt16LE","tempDirectorySymbol","tempDir","pipeline","getPath","temporaryFile","extension","directory","temporaryDirectory","NodeRequestCanceller","_serverId","cancellationPipeName","tryCancelOngoingRequest","seq","logTrace","nodeRequestCancellerFactory","RequestQueueingType","ExecutionTarget","RequestState","RequestQueue","queueingType","Normal","LowPriority","dequeue","tryDeletePendingRequest","createRequest","CallbackMap","_asyncCallbacks","cause","cancellation","onSuccess","isAsync","fetch","SingleTsServer","_serverSource","_process","_tsServerLogFile","_requestCanceller","_requestQueue","_pendingResponses","_eventHandlers","_exitHandlers","_errorHandlers","_stdErrHandlers","dispatchMessage","onStdErr","onEvent","tsServerLogFile","serverRequest","dispatchResponse","request_seq","traceRequestCompleted","traceEvent","sendNextRequests","tryCancelRequest","fetchCallback","traceResponse","executeImpl","executeInfo","requestInfo","expectsResponse","expectsResult","getQueueingType","lowPriority","queuingStartTime","requestItem","traceRequest","fenceCommands","Fence","RequestRouter","servers","delegate","execute","sharedCommands","executionTarget","requestStates","Unresolved","lsp.CancellationTokenSource","Resolved","allRequests","serverIndex","erroredRequest","onFatalError","Errored","canRun","Close","Open","UpdateOpen","Configure","SyntaxRoutingTsServer","enableDynamicRouting","_projectLoading","syntaxServer","syntax","semanticServer","semantic","router","execInfo","Semantic","Syntax","syntaxAlwaysCommands","semanticCommands","projectLoading","syntaxAllowedCommands","_handler","NavTree","GetOutliningSpans","JsxClosingTag","Format","Formatonkey","DocCommentTemplate","Geterr","GeterrForProject","ProjectInfo","ConfigurePlugin","CompletionEntryDetails","CompletionInfo","Definition","DefinitionAndBoundSpan","DocumentHighlights","Implementation","Navto","Quickinfo","References","SignatureHelp","NodeTsServerProcessFactory","tsServerPath","useIpc","runtimeArgs","ChildProcess","silent","generatePatchedEnv","getExecArgv","IpcChildServerProcess","StdioChildServerProcess","modulePath","NODE_PATH","PATH","getTssDebugBrk","TSS_DEBUG","getDebugPort","inspectFlag","maxTsServerMemory","TSS_DEBUG_BRK","_reader","Reader","ProtocolBuffer","_onError","_onData","onLengthData","tryReadContentLength","tryReadContent","defaultSize","contentLengthSize","blank","backslashR","backslashN","sourceStart","TsServerLogLevel","ServerState","LIB","toSyntaxServerConfiguration","Terse","RequestTime","TypeScriptServerSpawner","_apiVersion","_logDirectoryProvider","primaryServer","serverType","getCompositeServerType","spawnTsServer","useSyntaxServer","processFactory","canceller","getTsServerArgs","isLoggingEnabled","tsProcess","kindToServerType","apiVersion","disableAutomaticTypingAcquisition","globalPlugins","locale","npmLocation","pluginProbeLocations","logDir","getNewLogDirectory","logVerbosity","tsServerTraceDirectory","Tracer","responseExpected","queueLength","meta","Running","tsserverVersion","languageServiceEnabled","updateTsserverVersion","updateLanguageServiceEnabled","enabled","ServerInitializingIndicator","lspClient","_task","task","reporter","startedLoadingProject","projectName","_loadingProjectName","createProgressReporter","finishedLoadingProject","TspClient","serverState","typescriptVersion","typescriptVersionSource","tsserverLogger","loadingIndicator","EnhancedSyntax","hasCapabilityForResource","resource","tsServer","logDirectoryProvider","fatalError","shutdown","serviceExited","dispatchEvent","notify","executeWithoutWaitingForResponse","requestGeterr","executeAsync","executions","nonRecoverable","logfile","charCodeAt","lastIndexOf","f","_makeLong","base","win32","posix","g","Utils","O","navigator","userAgent","authority","query","fragment","isUri","fsPath","with","C","A","revive","_formatted","external","_fsPath","_sep","$mid","y","encodeURIComponent","fromCharCode","w","x","P","I","U","joinPath","resolvePath","fromTextSpan","span","fromLocations","toTextSpan","toLocation","lsp.Range","toFileRangeRequestArgs","toFormattingRequestArgs","intersection","Max","Min","isAfter","union","isBefore","isBeforeOrEqual","fromLocation","tslocation","toFileLocationRequestArgs","positions","tsTextSpan","lsp.Location","RE_PATHSEP_WINDOWS","uriToPath","stringUri","normalizeFsPath","pathToUri","filepath","documents","fileUri","normalizedFilepath","normalizePath","filePath","currentVersion","fileSpan","symbolKindsMapping","lsp.SymbolKind","class","const","enum","field","function","getter","interface","let","parameter","property","setter","var","toSymbolKind","tspKind","toDiagnosticSeverity","category","lsp.DiagnosticSeverity","toDiagnostic","features","lspDiagnostic","asRelatedInformation","diagnosticsTagSupport","reportsUnnecessary","lsp.DiagnosticTag","reportsDeprecated","getDiagnosticTags","lsp.DiagnosticRelatedInformation","toSelectionRange","lsp.SelectionRange","textSpan","toTextEdit","toTextDocumentEdit","fileName","textChanges","toDocumentHighlight","highlightSpans","toDocumentHighlightKind","definition","lsp.DocumentHighlightKind","reference","writtenReference","FileDiagnostics","publishDiagnostics","diagnosticsPerKind","firePublishDiagnostics","debounce","getDiagnostics","DiagnosticEventQueue","tspClient","ignoredDiagnosticCodes","updateDiagnostics","toResource","isDiagnosticIgnored","diagnosticsForFile","updateIgnoredDiagnosticCodes","ignoredCodes","getDiagnosticsForFile","__spreadArray","pack","ar","changes_1","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","sortedEdits_1","LspDocument","doc","getLine","lineRange","getLineRange","lineStart","getLineStart","lineEnd","getLineEnd","nextLine","getLineOffset","lsp.Position","newContent","lsp.TextDocumentContentChangeEvent","LspDocuments","_files","SourceDefinitionCommand","withProgress","FindSourceDefinition","Commands","APPLY_WORKSPACE_EDIT","APPLY_CODE_ACTION","APPLY_REFACTORING","CONFIGURE_PLUGIN","ORGANIZE_IMPORTS","APPLY_RENAME_FILE","APPLY_COMPLETION_CODE_ACTION","SELECT_REFACTORING","SOURCE_DEFINITION","TypescriptVersionNotification","lsp.NotificationType","MarkdownString","appendText","newlineStyle","_match","g1","appendMarkdown","appendCodeblock","langId","toMarkupContent","processInlineTags","tag","replaceLinks","getTagDocumentation","filePathConverter","convertLinkTags","makeCodeblock","captionTagMatches","emailMatch","getTagBodyText","plainWithLinks","parts","out","currentLink","part","escapeMarkdownSyntaxTokensForCode","linkcode","markdownDocumentation","addMarkdownDocumentation","converter","tagsPreview","tagsMarkdownPreview","SnippetString","thing","_tabstop","_escape","appendTabstop","appendPlaceholder","nested","appendVariable","asCompletionItem","entry","completionContext","asCompletionItemKind","sortText","preselect","isRecommended","entryNames","completionCommitCharactersSupport","commitCharacters","memberGetAccessorElement","memberSetAccessorElement","constructSignatureElement","callSignatureElement","indexSignatureElement","enumElement","interfaceElement","moduleElement","constElement","letElement","variableElement","localVariableElement","memberVariableElement","classElement","functionElement","memberFunctionElement","asCommitCharacters","completionLabelDetails","labelDetails","hasAction","isSnippet","replacementSpan","sourceDisplay","completionSnippets","canCreateSnippetOfFunctionCall","insertTextFormat","lsp.InsertTextFormat","Previewer.plainWithLinks","optionalReplacementRange","isMemberCompletion","dotAccessorContext","ensureRangeIsOnSingleLine","completionInsertReplaceSupport","getRangeFromReplacementSpan","insertText","completionDisableFilterText","filterText","wordRange","wordStart","getFilterText","newInsertText","kindModifiers","lsp.CompletionItemTag","scriptElement","extModifier","endsWith","lsp.InsertReplaceEdit","lsp.TextEdit","primitiveType","lsp.CompletionItemKind","externalModuleName","typeElement","warning","asResolvedCompletionItem","details","displayParts","deprecatedSource","asDetail","Previewer.markdownDocumentation","codeActions","tsAction","textChange","asAdditionalTextEdits","hasRemainingCommandsOrEdits","codeAction","asCommand","shouldCompleteFunction","after","isValidFunctionCompletionContext","parameterListParts","isInMethod","hasOptionalParameters","parenCount","braceCount","outer","nameIsFollowedByOptionalIndicator","nameIsThis","getParameterListParts","snippet","joiner","paramterPart","appendJoinedPlaceholders","createSnippetOfFunctionCall","completeFunctionCalls","getCompletionTriggerCharacter","asSignatureHelp","signatures","asParameterInformation","signature","prefixDisplayParts","separatorDisplayParts","suffixDisplayParts","asSignatureInformation","activeSignature","getActiveSignature","activeParameter","getActiveParameter","activeSignatureHelp","previouslyActiveSignature","isRetrigger","existingIndex","findIndex","selectedItemIndex","isVariadic","argumentIndex","toTsTriggerReason","lsp.SignatureHelpTriggerKind","triggerCharacter","asSelectRefactoring","lsp.CodeAction","lsp.Command","lsp.CodeActionKind","asApplyRefactoring","refactor","asKind","notApplicableReason","disabled","contains","SourceAddMissingImportsTs","SourceFixAllTs","SourceOrganizeImportsTs","SourceRemoveUnusedImportsTs","SourceRemoveUnusedTs","SourceSortImportsTs","organizeImportsCommands","All","SortAndCombine","RemoveUnused","provideOrganizeImports","collectDocumentSymbols","symbols","collectDocumentSymbolsInRange","shouldInclude","shouldIncludeEntry","spanRange","childItems","childSpan","includedChild","nameSpan","nameRange","collectSymbolInformation","fromProtocolCallHierarchyItem","useFileName","selectionSpan","isSourceFileItem","fromProtocolScriptElementKind","parseKindModifier","deprecatedModifier","lsp.SymbolTag","enumMemberElement","localFunctionElement","constructorImplementationElement","typeParameterElement","variableDeclaredButNeverUsed","unreachableCode","incorrectlyImplementsInterface","cannotFindName","asyncOnlyAllowedInAsyncFunctions","buildCombinedFix","fixes","codes","fixName","errorCodes","GetCodeFixes","fix","fixId","combinedArgs","scope","combinedResponse","GetCombinedCodeFix","SourceAction","buildIndividualFixes","errorCodes.incorrectlyImplementsInterface","errorCodes.asyncOnlyAllowedInAsyncFunctions","errorCodes.unreachableCode","SourceRemoveUnused","errorCodes.variableDeclaredButNeverUsed","SourceAddMissingImports","errorCodes.cannotFindName","TypeScriptAutoFixProvider","kinds","kindProviders","provider","flatMap","TypeScriptInlayHintsProvider","configurationManager","preferences","getPreferences","includeInlayParameterNameHints","includeInlayEnumMemberValueHints","includeInlayFunctionLikeReturnTypeHints","includeInlayFunctionParameterTypeHints","includeInlayPropertyDeclarationTypeHints","includeInlayVariableTypeHints","areInlayHintsEnabledForFile","configureGloballyFromDocument","ProvideInlayHints","hint","lsp.InlayHint","lsp.InlayHintKind","fromProtocolInlayHintKind","whitespaceBefore","whitespaceAfter","TokenEncodingConsts","core","transformSpans","lspSpans","previousLine","previousTokenStart","tokenStart","tokenLength","tokenTypeBitSet","tokenModifier","modifierMask","typeOffset","deltaLine","deltaStart","LogDirectoryProvider","rootPath","logDirectory","mkdtempSync","TESTING_WINDOWS","windows","isexe","sync","checkStat","pathext","pathExt","PATHEXT","checkPathExt","mod","myUid","myGid","getgid","checkMode","isexe_1","ignoreErrors","rSlash","rRel","getNotFoundError","getPathInfo","optPath","optPathExt","optDelimiter","pathEnv","pathExtExe","getPathPart","pathPart","which","opt","found","envPart","withExt","nothrow","lib","pathEnvPart","typeMappings","matchType","locatePathSync","paths","allowSymlinks","urlOrPath","checkType","URL","fileURLToPath","statFunction","path_","findUpStop","findUpMultipleSync","stopAt","POSITIVE_INFINITY","flat","runMatcher","locateOptions","foundPath","matches","pkgUpSync","findUpSync","findPathToModule","moduleNames","TypeScriptVersion","_api","isValid","getTypeScriptVersion","serverPath","fromVersionString","MODULE_FOLDERS","TypeScriptVersionProvider","userTsserverPath","getUserSettingVersion","resolvedPath","binaryPath","throwIfNoEntry","packageJsonPath","getWorkspaceVersion","libFolder","bundledVersion","require","createRequire","import","DEFAULT_PROJECT_CONFIG","ESNext","moduleResolution","ES2020","jsx","React","getInferredProjectCompilerOptions","workspaceConfig","projectConfig","checkJs","experimentalDecorators","strictNullChecks","strictFunctionTypes","sourceMap","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getKeys","getOwnPropertySymbols","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","cjs","DEFAULT_TSSERVER_PREFERENCES","allowIncompleteCompletions","allowRenameOfImportPath","allowTextChangesInNewFiles","autoImportFileExcludePatterns","disableLineTextInReferences","disableSuggestions","displayPartsForJSDoc","generateReturnInDocTemplate","importModuleSpecifierEnding","importModuleSpecifierPreference","includeAutomaticOptionalChainCompletions","includeCompletionsForImportStatements","includeCompletionsForModuleExports","includeCompletionsWithClassMemberSnippets","includeCompletionsWithInsertText","includeCompletionsWithObjectLiteralMethodSnippets","includeCompletionsWithSnippetText","includeInlayParameterNameHintsWhenArgumentMatchesName","includeInlayVariableTypeHintsWhenTypeMatchesName","includePackageJsonAutoImports","jsxAttributeCompletionStyle","lazyConfiguredProjectsFromExternalProject","providePrefixAndSuffixTextForRename","provideRefactorNotApplicableReason","quotePreference","useLabelDetailsInCompletionEntries","DEFAULT_WORKSPACE_CONFIGURATION","implicitProjectConfiguration","ConfigurationManager","tsPreferences","workspaceConfiguration","mergeTsPreferences","setWorkspaceConfiguration","setAndConfigureTspClient","hostInfo","formatOptions","newLineCharacter","getAutoImportFileExcludePatternsPreference","formattingOptions","getFormattingOptions","workspacePreferences","getWorkspacePreferencesForFile","inlayHints","getQuoteStylePreference","convertTabsToSpaces","indentSize","slashNormalized","isRelative","LspServer","_tspClient","hasShutDown","initializeParams","typeScriptAutoFixProvider","pendingDebouncedRequest","doRequestDiagnosticsDebounced","doRequestDiagnostics","closeAll","closeDocument","clientCapabilities","rootUri","userInitializationOptions","initializationOptions","tsserver","plugins","plugin","findTypescriptVersion","completion","codeActionDisabledSupport","disabledSupport","completionItem","commitCharactersSupport","insertReplaceSupport","labelDetailsSupport","snippetSupport","definitionLinkSupport","linkSupport","tagSupport","tsserverLogVerbosity","getLogDirectoryPath","onTsEvent","diagnosticQueue","setCompilerOptionsForInferredProjects","prepareSupport","initializeResult","lsp.TextDocumentSyncKind","completionProvider","triggerCharacters","resolveProvider","codeActionProvider","codeActionLiteralSupport","codeActionKinds","definitionProvider","documentFormattingProvider","documentRangeFormattingProvider","documentHighlightProvider","documentSymbolProvider","executeCommandProvider","hoverProvider","inlayHintProvider","renameProvider","prepareProvider","referencesProvider","selectionRangeProvider","signatureHelpProvider","retriggerCharacters","workspaceSymbolProvider","implementationProvider","typeDefinitionProvider","foldingRangeProvider","semanticTokensProvider","legend","tokenTypes","full","willRename","filters","glob","callHierarchyProvider","initialized","typescriptVersionProvider","tsserverPath","userSettingVersion","workspaceVersion","allowJs","allowNonTsExtensions","allowSyntheticDefaultImports","resolveJsonModule","CompilerOptionsForInferredProjects","didChangeConfiguration","settings","cancelDiagnostics","requestDiagnostics","interuptDiagnostics","diagnosticsTokenSource","geterrTokenSource","delay","didOpenTextDocument","fileContent","scriptKindName","getScriptKindName","projectRootPath","didChangeTextDocument","didCloseTextDocument","endPos","insertString","didSaveTextDocument","_params","getDefinition","getSymbolLocations","TypeDefinition","definitions","contextStart","contextEnd","supportHierarchicalDocumentSymbol","documentSymbol","hierarchicalDocumentSymbolSupport","lsp.CompletionList","completionOptions","completions","optionalReplacementSpan","dotMatch","startPosition","CompletionDetails","getQuickInfo","displayString","Previewer.addMarkdownDocumentation","renameInfo","canRename","localizedErrorMessage","triggerSpan","locs","spanGroup","prefixText","newName","suffixText","refs","includeDeclaration","isDefinition","locations","getSignatureHelp","triggerReason","fileRangeArgs","getCodeFixes","inlineable","relevantActions","provideRefactors","getRefactors","skipDestructiveCodeActions","documentHasErrors","OrganizeImports","provideCodeActions","lsp.CodeActionTriggerKind","GetApplicableRefactors","applyWorkspaceEdit","applyFileCodeEdits","ApplyCodeActionCommand","GetEditsForRefactor","renameLocation","pluginName","additionalArguments","sourceUri","applyRenameFile","applied","codeEdits","getEditsForFileRename","codeEdit","newFilePath","oldFilePath","GetEditsForFileRename","filesToSearch","highlights","lastFileOrDummy","searchValue","foldingRanges","foldingRange","asFoldingRange","asFoldingRangeKind","lsp.FoldingRangeKind","diagnosticEvent","getDignosticsKind","PrepareCallHierarchy","ProvideCallHierarchyIncomingCalls","fromRanges","fromSpans","fromProtocolCallHierarchyIncomingCall","ProvideCallHierarchyOutgoingCalls","fromProtocolCallHierarchyOutgoingCall","provideInlayHints","getSemanticTokens","EncodedSemanticClassificationsFull","SemanticTokens.transformSpans","nullProgressReporter","LspClientImpl","lsp.ShowMessageNotification","lsp.LogMessageNotification","DEFAULT_LOG_LEVEL","logLevel","showMessageLevel","cmdLineTsserverPath","cmdLineTsserverLogVerbosity","completionResolve","implementation","typeDefinition","documentFormatting","documentRangeFormatting","documentHighlight","executeCommand","hover","references","prepareRename","selectionRanges","signatureHelp","workspaceSymbol","prepareCallHierarchy","callHierarchyIncomingCalls","callHierarchyOutgoingCalls","semanticTokensFull","semanticTokensRange","willRenameFiles","createLspConnection"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,166,167,168,169,178,183,202,204,205,206,207,208,209,213]} \ No newline at end of file diff --git a/nvim/lua/node_modules/typescript-language-server/package.json b/nvim/lua/node_modules/typescript-language-server/package.json deleted file mode 100644 index 21197f1..0000000 --- a/nvim/lua/node_modules/typescript-language-server/package.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "name": "typescript-language-server", - "version": "3.3.1", - "description": "Language Server Protocol (LSP) implementation for TypeScript using tsserver", - "author": "TypeFox and others", - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "https://github.com/typescript-language-server/typescript-language-server.git" - }, - "type": "module", - "engines": { - "node": ">=14.17" - }, - "files": [ - "lib" - ], - "bin": { - "typescript-language-server": "./lib/cli.mjs" - }, - "scripts": { - "clean": "rimraf lib *.tsbuildinfo", - "test": "cross-env NODE_OPTIONS=--experimental-vm-modules CONSOLE_LOG_LEVEL=warning jest", - "test:watch": "cross-env NODE_OPTIONS=--experimental-vm-modules CONSOLE_LOG_LEVEL=warning jest --watch", - "lint": "eslint --ext \".js,.ts\" src", - "fix": "eslint --ext \".js,.ts\" --fix src", - "build": "concurrently -n compile,lint -c blue,green \"yarn compile\" \"yarn lint\"", - "compile": "rimraf lib && rollup --config rollup.config.ts --configPlugin typescript", - "watch": "rimraf lib && rollup --config rollup.config.ts --configPlugin typescript --watch", - "postversion": "git push --follow-tags", - "prepare": "cd test-data/jsx && yarn" - }, - "eslintIgnore": [ - "!.eslintrc.cjs" - ], - "husky": { - "hooks": { - "pre-commit": "yarn lint && yarn test && yarn build", - "post-merge": "yarn" - } - }, - "devDependencies": { - "@babel/core": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@rollup/plugin-commonjs": "^24.0.1", - "@rollup/plugin-node-resolve": "^15.0.1", - "@rollup/plugin-terser": "^0.4.0", - "@rollup/plugin-typescript": "^11.0.0", - "@types/deepmerge": "^2.2.0", - "@types/fs-extra": "^11.0.1", - "@types/jest": "^29.5.0", - "@types/node": "^16.18.21", - "@types/semver": "^7.3.13", - "@types/which": "^3.0.0", - "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.57.0", - "babel-jest": "^29.5.0", - "commander": "^10.0.0", - "concurrently": "^7.6.0", - "cross-env": "^7.0.3", - "deepmerge": "^4.3.1", - "eslint": "^8.36.0", - "eslint-plugin-jest": "^27.2.1", - "fs-extra": "^11.1.1", - "husky": "4.x", - "jest": "^29.5.0", - "p-debounce": "^4.0.0", - "pkg-up": "^4.0.0", - "rimraf": "^4.4.1", - "rollup": "^3.20.2", - "semver": "^7.3.8", - "source-map-support": "^0.5.21", - "tempy": "^3.0.0", - "ts-jest": "^29.0.5", - "ts-node": "^10.9.1", - "tslib": "^2.5.0", - "typescript": "^4.9.5", - "vscode-languageserver": "^8.1.0", - "vscode-languageserver-protocol": "^3.17.3", - "vscode-languageserver-textdocument": "1.0.8", - "vscode-uri": "^3.0.7", - "which": "^3.0.0" - } -} diff --git a/nvim/lua/plugins-conf.lua b/nvim/lua/plugins-conf.lua deleted file mode 100644 index ff1e400..0000000 --- a/nvim/lua/plugins-conf.lua +++ /dev/null @@ -1,270 +0,0 @@ -local lsp = require('lspconfig') -local util = lsp.util - -local lspcap = require('cmp_nvim_lsp') - .default_capabilities(vim.lsp.protocol.make_client_capabilities()) -local lspatt = function(client, bufnr) - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') -end - --- color scheme setup -vim.g.catppuccin_flavour = 'mocha' -require('catppuccin').setup() -vim.cmd [[colorscheme catppuccin]] - --- load snippets -require('luasnip.loaders.from_snipmate').lazy_load({ - paths = "~/.config/nvim/snippets" -}) - --- yankbank config -require('yankbank').setup() - --- replace built in selector with telescope -local fb_actions = require'telescope'.extensions.file_browser.actions -require('telescope').setup { - extensions = { - ["ui-select"] = { - require("telescope.themes").get_dropdown {} - }, - file_browser = { - initial_mode = "normal", - hijack_netrw = true, - dir_icon = "", - mappings = { - ["i"] = { - ["<A-c>"] = false, - ["<S-CR>"] = false, - ["<A-r>"] = false, - ["<A-m>"] = false, - ["<A-y>"] = false, - ["<A-d>"] = false, - ["<C-o>"] = false, - ["<C-g>"] = false, - ["<C-e>"] = false, - ["<C-w>"] = false, - ["<C-t>"] = false, - ["<C-f>"] = false, - ["<C-h>"] = false, - ["<C-s>"] = false, - ["<Tab>"] = false, - ["<S-Tab>"] = false, - ["<bs>"] = false, - }, - ["n"] = { - c = false, - r = false, - m = false, - y = false, - d = false, - o = false, - g = false, - e = false, - w = false, - t = false, - f = false, - s = false, - h = fb_actions.toggle_hidden, - ["<Tab>"] = false, - ["<S-Tab>"] = false, - ["-"] = fb_actions.goto_parent_dir, - ["/"] = function() - vim.cmd('startinsert') - end, - ["+"] = fb_actions.create, - }, - }, - }, - } -} -require('telescope').load_extension('ui-select') -require('telescope').load_extension('file_browser') - --- autocomplete config -local cmp = require 'cmp' -cmp.setup { - snippet = { - expand = function(args) - require'luasnip'.lsp_expand(args.body) - end, - }, - mapping = { - ['<Tab>'] = cmp.mapping.select_next_item(), - ['<S-Tab>'] = cmp.mapping.select_prev_item(), - ['<CR>'] = cmp.mapping.confirm({ - behavior = cmp.ConfirmBehavior.Replace, - select = false, - }) - }, - preselect = cmp.PreselectMode.None, - confirmation = { get_commit_characters = function(_) return {} end }, - sources = { - { name = 'nvim_lsp' }, - { name = 'luasnip' }, - { name = 'buffer' }, - { name = 'path' }, - }, -} - --- gitsigns -require('gitsigns').setup() - --- lsp configs -lsp.openscad_ls.setup { - capabilities = lspcap, - on_attach = lspatt, -} -lsp.omnisharp.setup { - capabilities = lspcap, - on_attach = lspatt, - root_dir = function(file, _) - if file:sub(-#".csx") == ".csx" then - return util.path.dirname(file) - end - return util.root_pattern("*.sln")(file) or util.root_pattern("*.csproj")(file) or util.root_pattern("omnisharp.json")(file) - end, - cmd = { "/home/rudism/.local/share/omnisharp/OmniSharp" }, --"--languageserver" , "--hostPID", tostring(pid) }, -} -lsp.ts_ls.setup { - capabilities = lspcap, - on_attach = lspatt, - cmd = { "npx", "typescript-language-server@latest", "--stdio" }, -} -lsp.yamlls.setup { - capabilities = lspcap, - on_attach = lspatt, - cmd = { "npx", "yaml-language-server@latest", "--stdio" }, -} -lsp.ccls.setup { - capabilities = lspcap, - on_attach = lspatt, -} -local runtime_path = vim.split(package.path, ';') -table.insert(runtime_path, "lua/?.lua") -table.insert(runtime_path, "lua/?/init.lua") -lsp.lua_ls.setup { - capabilities = lspcap, - on_attach = lspatt, - cmd = { "lua-language-server", "-E" }, - settings = { - Lua = { - runtime = { - version = 'LuaJIT', - path = runtime_path, - }, - diagnostics = { - globals = {'vim', 'use'}, - }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - }, - telemetry = { - enable = false, - }, - }, - } -} -lsp.perlpls.setup { - capabilities = lspcap, - on_attach = lspatt, - settings = { - perl = { - perlcritic = { - enabled = false - }, - syntax = { - enabled = true - } - } - } -} -lsp.efm.setup { - capabilities = lspcap, - on_attach = lspatt, - filetypes = {"sh", "markdown"}, - settings = { - languages = { - sh = {{ - lintCommand = "shellcheck -f gcc -x", - lintSource = "shellcheck", - lintFormats = { "%f:%l:%c: %trror: %m", "%f:%l:%c: %tarning: %m", "%f:%l:%c: %tote: %m" }, - lintIgnoreExitCode = true - }}, - markdown = {{ - lintCommand = "write-good --parse", - lintSource = "write-good", - lintFormats = { "%f:%l:%c:%m" }, - }}, - } - } -} -lsp.pyright.setup { - capabilities = lspcap, - on_attach = lspatt, -} -lsp.rust_analyzer.setup { - capabilities = lspcap, - on_attach = lspatt, -} --- setup for Arduboy dev -lsp.arduino_language_server.setup { - capabilities = lspcap, - on_attach = lspatt, - cmd = { - "arduino-language-server", - "-cli-config", "~/.arduino15/arduino-cli.yaml", - "-cli", "/bin/arduino-cli", - "-clangd", "/usr/bin/clangd", - "-fqbn", "arduino:avr:leonardo" - }, -} - --- status line setup -require'lualine'.setup { - options = { - theme = 'catppuccin', - component_separators = { left = '', right = '' }, - section_separators = { left = '', right = '' }, - }, - sections = { - lualine_a = {'mode'}, - lualine_b = {'branch'}, - lualine_c = {{ - 'filename', - symbols = { - modified = '✎ ', - readonly = '🔒 ', - unnamed = '[No Name]' - } - }}, - lualine_x = {{ - "diagnostics", - sources = {"nvim_lsp"}, - icons_enabled = true - }}, - lualine_y = {'progress'}, - lualine_z = {'location'}, - } -} - --- zen mode config -require('true-zen').setup { - modes = { - ataraxis = { - callbacks = { - open_pre = function() - vim.opt.linebreak = true - vim.opt.spell = true - end, - close_post = function() - vim.opt.linebreak = false - vim.opt.spell = false - end - } - } - }, - integrations = { - tmux = true, - lualine = true - } -} diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua deleted file mode 100644 index e631180..0000000 --- a/nvim/lua/plugins.lua +++ /dev/null @@ -1,48 +0,0 @@ -return require('packer').startup({ - function() - local pid = vim.fn.getpid() - - use 'wbthomason/packer.nvim' -- plugin manager - use 'nvim-tree/nvim-web-devicons' -- file icons - use { -- color scheme - 'catppuccin/nvim', - as = 'cattppuccin' - } - use 'hoob3rt/lualine.nvim' -- status line - use { -- file picker and grepper - 'nvim-telescope/telescope.nvim', - --requires = { {'nvim-lua/plenary.nvim', commit = '08e301982b9a057110ede7a735dd1b5285eb341f'} } - requires = { {'nvim-lua/plenary.nvim' } } - } - use 'nvim-telescope/telescope-ui-select.nvim' -- selector - use 'gpanders/editorconfig.nvim' - use 'neovim/nvim-lspconfig' - use 'L3MON4D3/LuaSnip' -- snipets - use 'ptdewey/yankbank-nvim' -- clipboard history - use { - 'hrsh7th/nvim-cmp', -- autocomplete - requires = { - {'saadparwaiz1/cmp_luasnip'}, -- autocomplete snips - {'hrsh7th/cmp-nvim-lsp'}, -- lsp autocomplete - {'hrsh7th/cmp-buffer'}, -- buffer autocomplete - {'hrsh7th/cmp-path'}, -- path autocompletes - } - } - use { -- gitgutter replacement - 'lewis6991/gitsigns.nvim', - --requires = { {'nvim-lua/plenary.nvim', commit = '08e301982b9a057110ede7a735dd1b5285eb341f'} } - requires = { {'nvim-lua/plenary.nvim' } } - } - use 'Pocco81/TrueZen.nvim' -- distraction free writing - use 'https://code.sitosis.com/rudism/telescope-dict.nvim.git' -- thesaurus and dictionary - use 'nvim-telescope/telescope-file-browser.nvim' -- file picker - use 'tpope/vim-dadbod' -- database query runner - use 'tpope/vim-dotenv' -- .env configuration support - use 'kristijanhusak/vim-dadbod-completion' -- sql completion - use 'sirtaj/vim-openscad' - end, - config = { - clone_timeout = false, - max_jobs = 2 -- otherwise PackerUpdate dies on shitty hardware like the pi zero - } -}) diff --git a/nvim/lua/userfuncs.lua b/nvim/lua/userfuncs.lua deleted file mode 100644 index 4f06616..0000000 --- a/nvim/lua/userfuncs.lua +++ /dev/null @@ -1,51 +0,0 @@ -local M = {} - -local function parent_dir(path) - local idx = path:match('.*/()') - if idx == nil then - return nil - end - return path:sub(1, idx - 2) -end - -local function scan_dir(path) - local pfile = io.popen('ls -a "'..path..'"') - local files = {} - for filename in pfile:lines() do - table.insert(files, filename) - end - return files -end - -local rootfiles = { - '.git', - 'package.json', - 'node_modules', - 'Makefile', - '*.sln' -} - -M.find_project_root = function() - local stop_at = parent_dir(os.getenv('HOME')) - local cwd = vim.fn.expand('%:p:h') - local cur_dir = cwd - while cur_dir:find(stop_at) == 1 do - for _, filename in pairs(scan_dir(cur_dir)) do - for _, rootfile in pairs(rootfiles) do - if rootfile:sub(1, 1) == '*' then - local idx = filename:find(rootfile:sub(2)) - if idx == filename:len() - rootfile:len() + 2 then - return cur_dir - end - elseif filename == rootfile then - print(cur_dir) - return cur_dir - end - end - end - cur_dir = parent_dir(cur_dir) - end - return cwd -end - -return M diff --git a/nvim/snippets/cs.snippets b/nvim/snippets/cs.snippets deleted file mode 100644 index 709e565..0000000 --- a/nvim/snippets/cs.snippets +++ /dev/null @@ -1,11 +0,0 @@ -# inline xml documentation -snippet /// - /// <summary> - /// ${0} - /// </summary> -snippet <p - <param name="${1}">${2:$1}</param> -snippet <r - <returns>${1}</returns> -snippet <rem - <remarks>${1}</remarks> diff --git a/nvim/spell/en.utf-8.add b/nvim/spell/en.utf-8.add deleted file mode 100644 index 8505ea0..0000000 --- a/nvim/spell/en.utf-8.add +++ /dev/null @@ -1,31 +0,0 @@ -Ruka -Suzu -Ew -HIRO -Hiro -Peggie -Hiroka -Shinobu -tataki -Kamishin -Jellinek -Uber -MLB -Gogo -Reggsignation -homie -Tsutsui -Terada -C'mon -somen -Wh -Kamishin's -Chikami -Shinjiro -Hakodate -Gah -Tomo -Tomo's -Kei -Ruka's -Ota diff --git a/nvim/spell/en.utf-8.add.spl b/nvim/spell/en.utf-8.add.spl deleted file mode 100644 index eeca464d7e618a0bc66e0cd275c7ae622114fa1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmXX?yHdk25Y(PsQ&FT&lY)+xIt7JWdO<XnVkMWctjP?+#I3#?8^qsQLv?Va@Y zI+a_<`T5s5_w(=(=6GH%dRxm@?{bK^Kyif#5*BzuIJZl---Y*Yub2($;FD6MI8nG+ zEMSEWA~G(9n?XW=<I0?g-ocnfJl*!e1O>5C%sUuaD1C>F4IDRS%)RDIl28p4>Svn$ z7k+HrQk?w|wVKyic`)>}(u(J<vXs@Ht_^>Ejy`B%<G$xkiOu^)9Z&t;Sy9QC7TZ_a N^ww9ii~PVo{s3!{JJtXI diff --git a/scripts/change-resolution b/scripts/change-resolution new file mode 100755 index 0000000..ebf32ee --- /dev/null +++ b/scripts/change-resolution @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +SELF="$(dirname "$0")/$(basename "$0")" + +# An option was passed, so let's check it +if [ ! "$@" ] +then + choice="$("$SELF" -select | fuzzel --dmenu)" + if [ -n "$choice" ]; then + wlr-randr --output HDMI-A-1 --mode "$choice" + fi +else + echo "3440x1440@59.973Hz" + echo "1920x1080@60Hz" +fi diff --git a/scripts/pgq b/scripts/pgq new file mode 100755 index 0000000..0c58566 --- /dev/null +++ b/scripts/pgq @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +findenv() { + if [ -f ".env" ]; then + printf '%s\n' "${PWD%/}/.env" + elif [ "$PWD" = / ]; then + false + else + # a subshell so that we don't affect the caller's $PWD + (cd .. && findenv) + fi +} + +env=$(findenv) + +if [ -z "$env" ]; then + echo 'No .env file found' + exit 1 +fi + +connstr=$(rg '^DATABASE_URL=' "$env" | sed 's/.*=//') + +if [ -z "$connstr" ]; then + echo "No DATABASE_URL found in $env" + exit 1 +fi + +export EDITOR=hx +export PSPG_CONF=~/.config/pspg/config +exec pgcli "$connstr" diff --git a/sway/config.d/01-theme b/sway/config.d/01-theme index aa2d5a8..ba57514 100644 --- a/sway/config.d/01-theme +++ b/sway/config.d/01-theme @@ -1,4 +1,4 @@ -output * bg /home/rudism/skynet/wallpaper/ghosts.jpg fill +output * bg /home/rudism/skynet/wallpaper/horizon.png fill default_border pixel 2 default_floating_border pixel 2 diff --git a/sway/config.d/03-keybindings b/sway/config.d/03-keybindings index 6b1e7bd..c7c11b6 100644 --- a/sway/config.d/03-keybindings +++ b/sway/config.d/03-keybindings @@ -49,3 +49,4 @@ bindsym XF86AudioPlay exec playerctl play-pause bindsym Print exec grim -g "$(slurp)" - | swappy -f - bindsym $mod+c exec clipman pick --tool=CUSTOM --tool-args="fuzzel -d" bindsym $mod+a exec /home/rudism/skynet/scripts/choose-audio -select +bindsym $mod+v exec /home/rudism/skynet/scripts/change-resolution diff --git a/wallpaper/earthlike.jpg b/wallpaper/earthlike.jpg new file mode 100644 index 0000000000000000000000000000000000000000..00e1651e65104f04bb606dee651436f51d534599 GIT binary patch literal 793094 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�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�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­fhT$W>& zC)S*{?HoRH9E{;fJx_Yl@UMplh_$HnsdWggQ>?R0z$&k=*18L?0eDwV)XZ1@CV8yl z1)1Vb0PWAcYfBAUq<NO!rzRsX!(r<CDK~pw$v3Cua&BzIF+&PrfF?;hx3zTM1@JbJ zuU)pMs>>vLbR;PQ?@H&O6#oDd_#?yGXN6CR^n2MZ7F&gmIL{(6+>>1|!+#KXTS)Nr zx_FM+qAJYD=b`r_+Pg5=RIw^Gt!rP)?>wBxF`TmZQwz-7Za!<PvhUN#<n_M=!>jnp zZ5zRMGQG592WA-w$2m2Fs#;s=ce82g;zJv4-S1w}q<H(m^J%xycv?5Lirj{l=*BYJ zm}l!=H{!Do{3KVc1i{g!W=9>trH;eUqXjrL+iz{YMP!)VW-hd-){BaSRk^osO=SDo z>{{?|h;2MM;u}3r?26$sClhoa@lEm7?3(tvt8a-)q1qxG4(A@gRy=XZJFHP5XJ!B> z8Oijn&r0z9pM`Ctv%is_SH6qOj@=g~6g^2jjw_mvw5>_gdPeuZ>GM4dTEpP+3cmAd z$#-4+lD?-q2Z?n%O%whR>nT<{a{HtzgLAjJtkTCPar|oDw3gP|l(yD!?MTki&T>b3 zqah^bxo0Uka<{SRVd>IP=Y(y|ub#che$LGZxbqZ}+d^lbt#sZXvynU}rs#3T#gcYB zw+!vi;asF{!IiPfwsTz{i@afJui9HjWn<)+RYSL{W36vSRMjcn>uY+Pn7CpmiKEJ{ zlWzUA)AMFuh;;ic9_4iVThTm`p!3~F${6+^O3wUEE1b7HpIS=hoRp_@tdBySIa8*i zCwJUd83B(Z`qi}8FQd@gK@6TtNxSZIpRH4MIRKsqN=}B7n~TsVP8BW8uWdtU1b}Gg zI2ChE(Df}|M_oDtAw}H6nPDA}zCox+%L2Y6Aaja2B--r3)q=X+t<v18SoF{3P8^Os zD`Ul)WvopesiVdIh|%%4*0I!(I5g@)ROQOap<XzOYHR)&-S8c<T<UK#Oc%?9kj!z8 zI?{O8P}21cU`wSjDv_#5AsF7{sUFow!*4CVvu@EUwq*g7jDn}Atxp(R>H973EVT8u zG8PVzlY@i7=DJnoglTko{s*5Vp_-{m{_?Wyy?gDUgvUKc<LgPh41H-xVs_?@rFrk# zxm~P!pmI*(*z$43IA^_Gn^LilL61wcw?1n=>xmsl;fkV+xa;^)D8?HzI#Zm}=8d&~ z@Z+hCjPyNdE^<H=opMb?d$T|<wQxG-qscvJCnk>cYynBry&sJnj`RSyqo+y<Cyf4- zojcG0)KCG>CY16iagUqypc1%*dLGm&?&xSFo_bQT0AXkW$6}s`IPF$6t9vV}t-6f+ zB1PQz{x51Yy(;rm5`B#Wn4{j{HaMsiPJUz9{xz!iZ6>rclZ@1$rDyn}ePdRAR^T{L zkjA?piFzW6sY%Dv=|(;4IZ4V*vY`mmf{b=Uumbnac%;P{Ju^w|nnem~TML+NZlk!m zhs;zt*n66XIHPYOnr%CZNlGm;OPhzgxOv+HduIwUQS=~FSdiETmkpej{VJM!vTT-! z2yNU@s#he^<DAjcy-nSQqhQBc0~C-lF$_6U4@zF5lW5ND^GK(ud+e4YOa9Wjy)AJp zgd{_s#MKea1P1F%fCXE8*0LfIalPID0Ih=_^quJXnqO*y!xU0_(vPhGCNO&aD8>&I zbJH|qngCNqDHQMtG_(TPC;;`zIP|3aY5Cjo_VuQfz#eHNjbbiJDatN*6x>n}4>W!> zw*->d1uEolw1tOE_32VdAwa7W9PRnZ^`~tvCiStk;L8V|X)hxU=0;R0L7llgn$YnF zi)XXcSv2dA(xJo5;~{;AYUXV&uVBjA&gfX+>|zUhaa;OFf*N~6s`!HNTfv`|S-xU^ zmD@&jB}>`UUaayllyLO%4z?wxwo2NwPr#lV)-`#?u`FfG^I|7q+@4$Vt3My$w$k-0 z4I18Lk>Rxkl{<ZFK5vRQS~imU2Zx^kuEm&+QG4U-T$SdbeX3j=oBNlNPw%^A*F{?N zDdC+MYTd5REG7dRUou#_){G-{81;HtdRy}%B;axNrz33#X~Cv|K{@S8i1IK<`7Ce% z9c#)=`cYJ_Nj-bhaz{Z+G*ZDKid1D_c~%_LNWsMp;GOkC;*%NbXzAXX+jGuo0QxaW zjBpJMNL=QC0qki@5Tpt~qLg}?15ow{r5&jU)Y03XC;@Ou!u36=^IFep-c{618-e#+ zVA4iRYzmXulUGHKt*zV1s+k&G95G|h9+h!}lGAfKl@&c?(qE~bK|SeBJjSJQ(2mr= zr2haGDq69kVUB2{7&MqCfN212#~|W?*RFn)Fe(m7p=BOXj7N;0z3ELR#PkE4@zd); z8Rs=L`hDG;F->s})tPrjbJS*`&S+_;W)YNRu7ChK3S3ftGy#s3h5&og_Qe?Wr0dBv z4(vP9;*V-iS_Ca7G2WC?9ylg|7K2IOgGWyE0HZxKMku8GXaRA~L904ut9PW_EzP8a zZD7O$jN+>wts%zU#++MD=$XPZk1UnZcU#qewl2(}HWoX8C%NlT$7d-U!NTJ?#WE*{ z029tRH7UI3Z(~;5ZtrnI5vLUx?1UEo052F)I-gpMx|Se}ikr^hvHUow6ftv-=7Pg` z94P$hq>w<s>UpQh8m~B}<Yy$4^{8k7FdYRZd7+ypibL0mOa-6<IvP*LmjrW~06;nW z--Q^*B95Iul^DU!XaPYZq5P;MW0w3W8A0co3XB0j1~ND_ueCpmG@ZKApP1#pl{H`k zj<k!Cxur%q<$pQ?DIgC{zLbDWP<Ii4IiT=xe>zY*?&g8tK+6HOMIA>pfME5Y4%whV z-<nayAR&9w_31zebB-y*;dc^x(qwg`cI3`a9@GGZvG=*pr76ZZ^rYG`jM9t_r?mhl zC9ryTp+-1U(v0Ne6dpP@Po)4TA1-<8-j4lfJF$W>?LZkkPyh)76o4Lt()FV!rf2}~ zkxHXE{{R|k89AqIBZ7NVKp-JkY2^CT)Di$6r88;law+PExgb^90PBemI0}Gq$flrH z;IQYQpr8i@iS(p9LLH-@TAgkrJ8GyalT15@1aa8Xs~lkSj<}(Y;u93^h9KcbmN_Sy zbE^@IXB3514nrCPkau%Os16G*+=V#x$4ap#opBY6ccB4EGxLMSYO~2Ki??|L(uKO3 zJ)<R+PDEt!`BbK_Vq~YMDIm9%rC1dX`3MN4R=nCJt+o6%%OPb*L)_$aIq6xtma5u@ zpfv@IM&Jx8bOd*;Ee~F_wig$d>Sdln0)jZ;bv3*_mD+!Qk;901u0=GuY`449@HL*@ zbv+XGXJh6nERYQFpmrJUT;7qWNvGc}@}j?#+1P8Lw($m)b>VBtbxFtelw_m@K2TM? zhg?@Aue5S9N#xd*+KY^$`Wav$IYzBIk+Qw5(`C1p{1Zc7)tg$>8&jUy5a3}`j+IVX zRze6&1Jq}X`qLT1wgJXHy3qTJDvpP(bINW~yXtxr=)#;-VzgTtI)<%pd24AB>FEnW z8Ao(H$URMGPb6<9Rd78iW|G{(ix%zw0LD*2Q56i|d*3vtJG+G{ai<$cZ9#?r$9f3k zXgy6JVnEO3N(du?k4l44Gq<ODHZfpx$JUULSf~`Fa4>q%Qg$zpLC!}MgcJNkcco&P z;Qc8%By8#YUiHvo3NXdhy3&J;^Fv?}gN`Y=+&AYqGyvi<I(;b)P>c>uC_Au0#Uq{w z2PZTDxd)-7Dp+9inqmge2O|`tKi<dEfD~;bY2(!Otqps^-Xie8wO<fuv)P;5B)YT{ zMpR1+{n-~e+z+q$6k^8(j~&fi)HTgxSBBmlQ&FDbEa4E^B=a+fW6pN2dM_m4ahiHt zQCZy1Wg)Vo^`I8dB9*$F4*jVE6W8#hFkyr8^Xe$hI`Q~YDIDgNuzC#rO#lEZe_Bug z=s#K!c;w@rlpY(Ju2NdCbJCL-IUQ+0EZEN->DyFvYHB20Y0U?(S~?t>4^P9UXtG3I zfXE~YTx{rh?@drbfr?$Y<$jdL<lf@4<Gl(FGq*p53a1zyM_O`{4$;j8x9<oT<1OpR zr=jW?U}liUSRD56PEDn7Pa>U|)RbQ12xoi|kEJh{v~y3|6$yV%)WqGtcGH2>8XC|! zmG#_K0eA<DQi67Z4Jim40OvjEKR?P&4Olkgs$sRTc|879p=4P1V>IuZr~r=ifb)V$ z_NB|A5|=P}V1T4^>rUEpl5<nTJ)&Ao6xMs>kPjkZAs$f&o;&1miiG5RfRllo)8(=u zpinSR1D^Ed1dNWNm<iyje-|}o&c^FdxsJ}p-Q=293mkEbvoYueRAS!5w`M|ec*jG| zDR>+JMty3|sif)}E$o_Zr)tp86BUv+;EZ(!tB_9v6!~0Tm~*DIB(Q=Di~D#kScv4A z5y&{eBxL95Pw@xXEVcXVT_njZyf<!^+lCupVicczVy5uIX~)Et168?bt$y1V+GIw- zNcXPh1adGkX*Jnw=hp9KvUYf+yp^Jn`7EW*(n;&aIjN}$NoWw1V(xoC?BV-GcxT{t zhhwPtkKqUWBwDrZqjwkfyuKm0R*K2(niFWYz<DmMB#P{054b1*E;C<V_}jsr6#oE% zYqx_nf7?&MH{K`Ee0ygs8mEFUEF+yQ?IR*W(J*^+6ousgV3MF`C4jHbuZ1hCc#GmE zg*+c`sKsn9JV9%14ARC5#pm2cg`b1DK_K9Rz&uyqAMkO0p=lq*&xhU+xBa2~L*vD? z(C+3buW7PEwk4<A`@QUP7$$yD1^~bntW=>5H~E~^R3}k$ZK>uyFV}zInV+<czNkJQ zcy#z5Uxz}Gd^>Hd2C=i2L|@(c&kD)rO@Kg5fZr)DSdm>v?7RN}1jp3BXstQ*uLk%p z{t^ot9X4sNHO)U>l07aNKyNP+P84}Dw!<MgbpiPpuYzN9fK;5HQ=0u?_|x$_<Cnqz z0Qfgk;evQiRME71PZjDW#{U3N((d+Zw^q{KUNgrbRtIB*0lr>UKs{@!oSb!%M;0cN z(lDHoznSfSvTyA}`x`^2X#W5Nz8PA0a{mCtKM#CCtz6suMDa(8tgP%c2qTtXBH~h! z2_ue1eS#R1Ayr>@A#3R0f%E)vR`6xkh2S5Do+8pTol{%#C-6tcdsz*^zM5H{)+nwb zh&PsIRV%oUkRNLPY$Aa|{I~#cN%XI6{gVC#e0BKKbE#kaE%8pRr`mWv)=fs@Z7%ya z7P9ScDWipCR{7*rLhJW8Waky#3Ce9oJN(}F^Igvxwibmb%B1F!UP*0l^7)^vAF;3O z-Twdun*E3T58@w!-Us+W@Z#djUGZh^qj7EV0aocWt1Z#A3mwI!!pk6)o$(Gf#$$F- z^O0Xcf5ApRC;rlZ48P!-{wn^)@vJ@p_=kI@+ua>E!&<Sme=a+Fb9N$GGbffV9^y6m z!!T7Kuwu3O*Wizhf44@V@ONGKANx}HBVO@j(C9_2{6%@<vo4`wbl^>G6p^FHF;!kX zz30nj^Fo}E+;{Ae;D6eq_NUOiYv7-YKN2jB?}NN0btZ=okA=<s>!@!rt?j>jm{l8# zIW3LY3&<nW!{FTc9ay_P?HA>3UY>W}>c`Dy8KR8pIyEBY8-2C2)xK4)mo2TUd+2(X z{1VUhtg`sC;6E7n2jVxydxNh-;OoLC@h+`smiHGT;v36!w1!9*<VjNH!#g`~n2tEk zu95o}_$&6p{{Vx9wE4BIKTXyA6()zL`0K?ITC@|}U0cIz8ptFFcK-6|0<xSoS&e+d z`zZea!9qW1FWCm-OD~2$vme7Ny9F->y?3p6CQFvoqf@X4o@pd#locchwgTUH8v9%J z=l!XZOZ}OA1>$enE64Vp81cW4t|ZbtbK%Vg;l-te{r#M_>3XIc`%tKf5Afl@kb}D= z2&lz-d`%8l9duXM(*FR4_c|~W!sU4BN)lYHH_LdWmhCHBYu?<ePfNeaPukwoM<29@ zjrA`M8&RiS_@`2y#ycenk;C@6RS*CG7zzjjj1gXEEUO#&We6YN?OxUJZ%+6d_AN`r zUmrXt;(bonP1a+I1k!CY9pgxov4Za4N{w#Ckw|Fwk~d*-UsL!`_FVq}f?fXDV@LQ& z`y5{QwjUpuP4|c()*_zH%-BO7>yolLm3Kx+ZZKI>fJw!9?v!T;sL3Y!Ki5O*9%kuI zT=eA9-K4FnR<^!p=U<*VJOPiqd)0X_ng0NF3gCA*>s`0SzYF{{&~?<%{2dR87F$bW z4y5|T&}?g<?hC@H7-0!rq;L7pImShDaautSMalm0uQqh6N?fhj_UYB7%A|_X+DPr@ zN=oObCnVIWs4|M9A4-_6)+C-PGlt_mYZpyNV`WjuU{(a2(ej>mAEhoZFg<Ak@th8| z4FY<A0ePX3SqWlrO##8+QZsH{q}17$%mIRs7o{rX<d4FT0l*l^r|)6IAkVcng&jtb z#t5Xw02Ja&b4tVl03CfQS~MD1jzG;O-ZFZgaY}eR(ry5Z9{kZ1Ote6m$EP%8oRDc% zi5Wh$Fa>f?dIYrv83R6)5rM$`g#$P=gMp5o-n0e946PnEe8Il(J*lsq*!7_2IO84Z zOBLgc;)0tbHhV1A?PXt?itPvH6%r^5jDB?Cf;vzYut-ynTvK*oVK71Ye=0U)a!n1M z)T4ouNS#oDNbY`=yq<l#(0!;Uy=Gd}0OtafVLEf3v}BXO{V7xo^!nAMpaOu$AW*;# z-DyN+jzH_$hk=3101XN+a0LgUY|t2{LZ7W601mzBK^VuiHFWd=Lu3G_r%q{`o2F^y zN_?ba>M5WG<eX6Mzzg;uQe<N)--Ra~O*ekh2Jh0dy}*030l}uL6*ziEa7VbNhTaJ# ztD#p<LG1fnF&q=rQ+FW29Ok1ksNgPn??^s#w0AverkO4FB~Y0pj+Ef!H_A@XJJJQ( zo404wQ$P%)uOrf)gxTKY%P4Ls3j#70nuBP_Kb1Iq!+k?mC`5J{QYuVjXZ5B8JGrMW z-hsKMm<mW7nsR_fPAR^}`BT-fHjm|00+M!+2el%hUKnSJRT)1&LDG^(1-@RC?WM#u zw}L>&9VrHJ{{YshHzDM)>CY4-2`MC;eP~MIsUIVp(e<ag>}{aaF@Si*A%Q2T^z@)^ zBmV%cNC@4ZY6l7l{3@-`P1sYKQZPWFc9D~x!jXtAfz#fVhJ8K%00gSiG;K%Y_4NKA zvfpT$Ge`D=CKeZw)j=vg_D13CYv_;KSH%7{@Q=r@5>NX$UignqxYm9c-D$H&qRf*& z_ImSm=cyZ#6Bs0%=YfjxZ}=m&js3szv&33Cvs;F_&{8NN*_ZQ7>9Ld1f#c|FvHiS! zN#lPA{A1OubPo#O_+P}j4~Lq|#hT8Gb0aPFg}@P!C>$cNV2872zf8e<ycJF{dbvwR z)vb25UnI7@{H}jKX7uNZ@p`g%v}r+KUF{Z<?Y-aS)cIwYIJmmLZ!Eijj~bRPae@Br zW=$%{t>u>iPs~B;JJ#K`vd!UW^$T0zrb(GdWyw-G0=bX0N9F{ER*{5-T?*rm?^ny? z-?D1`RsQq!EU_xCcIfT*e_hW-i%}jT@SlZzC#TLDU$t&>k^I6<;Gkn#w%!ZYz9f8q zI<3Z$BpOz$s9j5^-`vJLx#NrFa-{G;VT{)S;lC2Ehmr|w<N2YJK7M&ZK^~s<>!0wb zbsvMj0=^gi&^qsr-&v311-7pxkB6=0Ws^sO8QL}^lZ-nJ-34%F8HG$v5l~LjlS}0o zH5+-|z55RdmAn=zb)&LRmHE`4G@G|%qK~V;;Gdtf1+KCG00i~@sefoqLV4krLD17q zvAO{=W(~QvG3S-QJ&tSVAKAm;c8_7<TOW#=tOa7bnWBQ;SjQ2L3-jEX?Z0Nv+7IG| zhr<ZJWsM71mR|_?;_f@&7ijithnhi=67M~L#z%ZtrhHb_JRjk|gY#+7Xwg~?4tKOm zFmPg3?s4CW`%V_fT{lx3ijrwbxUc(mI{tch*SYyWh#X@jTMw0Bpwp<5n_ao4t!v)x z+g{C{J@HfGHQ$Eq?K~TL#9LolNoQdJUWy!@+3${(!)yAVhxAVhi@Vumnntr{1mL$^ z1D~&IcgJX<);=kGH@wkq+idzPToE*xMBL0l_UdcTek^#-&gaBX_%bI?vcoZLMp%;t z<R|9GqJdYOW8FHHWZHIWG5Mta?OCr5WR&p~@X@B4=2EFUX#LqrKYO>$vyJf<xqW#P zTU<DiUgLWLGI_3UYrEYY-{nU#K*$Wy<YB!%4QuOgMGf?+YVYMVg`qCLH<#M8yh9Sn zVZ81vpT%FAVtJ<DJG(!7z^YWC7fD$?f3MWUu@;MPJmc~VZW#BjhfeVpttWvsF9xQg zC)nQhJBv$VcsB&?<J_%tcHjcd*NU~GTD01l%+qX+J<{Zy4eB_os5rT#)%W>nYntNK zskeJ=^RvCab}4ERUPGu&ZF?C>(YDABP)8Llg~iG;`B~h4RSG?7-h-m*-ZIr*&q}p7 z7e*;3n3(`2RArAogEa3C*qJ;_X{Wf{4a$cr+yj&PRy3riSCKt`%-ayXmL1Kl5`LO$ z&ZES-#;KzCA58GWuGwcTEZO9*_iKf`l1Zj%r8zCh&syL3i>$V{;~DO3w<Wx85&(Jt zyjMGaBP{LDR`jlnZAUupDcwg!^3dVRaLSGnGjX)1?>|{<_-*nXZk}v`2k{I8@AR(E z;E%!`U*q4#KMed9(6uW&8TH*sEmr>eQ5<lBerI+(02e2prEw6*=_<;O2HttC3tevh z!&Ex8l;#_ahijn52^cuXO7n3MtvXUvouy}IYuWU6>u$%nMpUC#E~2`+y6&&3bK)n5 z^uGuA`&#ghkE^BawwI|*X9fI!cHv`oPcRQg#(1nrcNolR$OEvap%N>!ubCZlx%;(G zsNHFhTELnz&K>Qsc-I}|@3-2nJkX3{+iu(ZxA~DiS+^vtud$bc2hEJ0)itmIclsJ+ ztAQD1$II6pYGjnHuuY0L9;UUjy@<Q8mo8nD=cwkQ<%Tofop3?v=}d`{bGz}R#vH3) zngTg+5N483ydIwnxRZW4pavFj-9HMNS5{RDIq!;!LxwHeG<lw)fa!6>1Hqti(vh13 zib#QCev|<GZXhV6J5b>AJxx6%3IeF)j%q1ciNkfxJM|U11d?xlGsk+2sbine)T+4! zN2fHxyLbkW#-Jg`J!)KGvN-mr&!#F^P&mQk9VqevR{&)C(DE}ljAI9_9##lYb4^s( zNItaNdkH1EBpY{+LB}++s4iR5oVWl|J}?DRS`&S4HX_aPw@P~gayE=nv6VB>Qww3Z z=9q_oap_YPSkPy$V^w_3xcb$fIwy~((x&%eVUF9^0D+FY(pxt9b~mj#B1wK}I39wP zBM5(XGwYfg8doey5ZE^7=qd}5v3CG{^G-JnB!HrhdI3>B_Rizqq3ua-Er^(xURM~R zSC&A&W-ta96+AE_Cz<AV#woJI5>XgA`qOqAZ56_tfZb`tW+S-prmkCQ7gv6E!iZsu z&2a6vBRIgQt&lq~E60Com13{4vGC*J{{V?TDR{!e;qQYqJB>$N)vnSFF2)rE&g^gy zW}xw}g8W(V=f&Eefjn)aPp4|SRnuDP7Bi;ThE*gKVN2lu02cU<z<wpP@t1@(sq8gf zK2a@&?X-m?iNVNaVbF??#GWGY4~=!3-xYYTT)5PAEkfa^y}Y_|^35U1EX;W%l6kCS z98cC;cI3C6`LFj{--&J0bhN)U{#G}>5`1a+i|{*Fy75oK?-90{sb6W+X|vrVVVmsJ zF4<F_nI4?iEjTYD+&lc`$@xbFo=MF%ICjJ4gMxpD-`1lz00n+e=xbQer5ci&NlI3` zwyxV>(1%i_prYQ3Z!7LzwbylfO%m@xwAQX7v%GYBt2J}w&dPpL%g~T|9@Pcqfzz(h zOwqV#!xdAUXSddx@U^$@XFwkSf+`)L5?CCQ)YDK&-3ytusOe=cGQB~<0mpjK@u!Jm z@gA_6g}#+<WU*R90z+!JM%bZCpL2|#b5UrzCZn!NJbH8}-(|LIiG0Tj0xu_%-l%0s z&Ide-T(Fey)qbJPD8k(z=mtXZV4mE2(^LQgp7ixVRDdW7I%B75)SK99XOYx;(z1fU zob%~HP^XcMcc%_lAmn!9hoCL)BPdaTdemVU44#!R0H0ck+~;je)fE?ZE3*(b9+c#c zO}p5fH$q40LZ}J}s~0+*#M*osYes@N9i132B%fMZs|nj%khe}pT7;=Q1JZ_eINnD} zSg>E^>7Ho4*w%<bq;rZYW*J;yR7^0$Q)<C}gM^q&ccs{QKBKKiPglcZjN+Pi6qT77 zQJ<9Op0q0zW?a;zR|S9>$7*34NMnv@vqao<N(kIrkw^;z!u6*G*hWS-b571Nzn^+z z6alxAGw3O$cAScFC=Nq)q$76#13&<EV}>V>N^7a=4;1E2g@HNursVDXXaMKArnW%H zG~#kO6r2Im^PmJE5rPk(r=Z$EZhb(ZQy(^a(Uj|o0C{k^o+jJ1fko~=8ZRQ7&)qcs zYsdo`3Fn$-B$7WUu)t%1-lb%gaF~mqx}bG68#Gc{71(Et@$E{W1BP?$QeN3ySk7&( z?VcG2SmZ(orj(5kVTn6^I#YV;gwsyUmdXewyp9X2p#)M$t2Fq|#3u!@-vhO3_}@eD z=ZE}BKAqsd7XJWj*d{!UL+s`sH;#T%c){cFtfsfPwzrP$&=i+DDUi3AHZTVVk5O6L zPNI^Qn(3vwd0$UnrClg;IP0UnxAflH`gAQ=M$F-4IWLdBkO8in!dex^v#Cd;!!{+I z{{VE%+d;-pQ(WzeM=K;@+bN&D(EI-YO81Z0E8&lU{xN>iJ{Ist#T{)dbU5!)O<8U( z79Tnt+{PsAa5JB+dAX)4I4m7X^4bZvWqp@L)bujkEb+LybRe$e(puYpGhg<5@K&4g zi&cl={qDT_JlbkYBI+<%nY_{m`j!A5Pj7ntF7ZY0hW`NIlb`TRU0w};`y*2Ezr|Z0 z?A-zp0fyo2Uo9ig&QvO}_RW0R@xT5GmGBexIrx+DC*bGo3Hvs9QcWKI`C_#3rl^K% zh^`R=$ngf_U~js8d9R3mEPl{`8h>aH6#oFiYw?5PKBeLt=$8=-%aZ8|o&uuuLG<*m z&E=G5JX49KTN4*U2%KlhCY<M`)zV(#yVW^g$sb!=Fv~K$6sS=5@f$g$?4qpgtKBtg zrLCT=GxP)g2vz%Od_nj{sr+N`bm=Y5jX!`cwR=lBZd=F~mcxuOI8afs$2Ixg@q^-C zwef4lTF;KWRj6IdeXCtOmdkNDnPNi3n8P<EM;Na{{f%b*pgd#oF5}@B?C%}z?z`fx z9^*`pNVSAAyb|#{F+X?Z9c#_LJa|s;;kU&dSHL>QhVJx>jSf>~J&o!8;E^~dK7{0t zV_!>^<#;?F6k_WudrGl`vU;T(rtQ6?`)<?J@o{*HwQ@R1H)SV#^>+7v@D+c(9)B;I zBxptkbMl_vq*ZqfD-v7`4hipywKUIlF;*ad2*Bo{nh_f`LBJ|F-PXR{T=}Q9h*?`` za-?oQFB}?lM=Su&Gtki`#PUXv$oW+Jqa7)#9Y*HIu@vqN5*A_#;Ch2X>?(J^=}g>r zWa6HT6l03A9^e?M$sM@OISx)i{3)%pjGw}lTL<p*+|kr7(iMTuN%~R&?@OPQj8dos zel!N*&IlfyQp&zo(S!2}LJB#jT$15Ro{K=6*2FK<G@&=g(vg+jetL2eiME00hLW-T zpbYn>kXRBuDM&4x;*}%vl(y{qP*SlTO0H<yN`g40V2rq4rjZw5*iTxP%1I6&1sL__ zq>llz$M~^P5&*#zp^iWL)cKH{TiCEnW$>qpZccq@7{+*|NQ*HU08lN4NeGi80-|If z?8gJrtjV`_)conJn}@wA6%wIf8x+%*YIM=;eg6Q?nuzi+L^vk1zNK9VRFB8fl&%Ir z<Wr<OT!GFhq`4dlFJhAFBND?0@}L9M@F-8c$falJ7~+sx>;q%vL(NE&NRYaz05=Rh zYB9ki41N@+<y=+k&|InRBFWDn^Tjw%F$ESv10F_rG{wj~aZX?(BMp=3P@RV*7r2ZZ zbvdN(lh%USJtzsZZl`;(I|v3j6f}T)(^;}QQh*B8B)4Qa0FZYTYe>>B_5DUIFHMD{ zo>$u%AnIzmTbCo|;=1pIw(?r|%F26rST^&9POI-*;o};$qYjOuj~!lkY%J<6(rsVR z)9}B+`-jz9!%)46XNROxecboS_O9<q@cq%UZ5P8%_ZIQW1;pXLR)25yMKi+Q8@JcB zy;(IKW?$_4X$-OwFwA@8)RB0<QqnZ{i^4i6k4;%H05Cz%zSj!*BxfA^*VJL~^f2(f zteyPZ{{VsJeru1%V{z4aRIeq=qgIM-U+?UWlJ{GKz;>|cgtJ^uyQh&xc8-R;uf^w8 z1+MhJJV!j_`OA~I`V;HTdNfhoc*NVwBxr&Gx>@8rm8>md(?+^CR+=`aaAXpUK?usR z?%v%iY;0v(o{r0*$&^*6gRgl;^ZQ*^{cW+xYr3$~JPdRTnTuXsb0eNe8R=X^*Re<h zP{dRLgOk+y*F)kj5BP?AdAvbBnK-r*d21^v?e(r|TMNk0+#7iWW2<fAzGD|ElA5|{ zC8weKHdRj#3Qegd+q<*s`h2?;t_f!#t})u8VYq;MRFdaEH8(l0I_~GV<8@?3liXB` z)2$;f912G`7!`L-6SF5<h6)t1IO)wPm~>&9gmfQDU&4}Qa>eRBrWvIUt&IBqRS^K3 z)y)+klTeIY+ZmLcc}Q?u+x4d(dPxycsKLpth(lqx1fGNsO4;!bh%Bx&*fiZPDNz<M zE*eJ8<LEuAoc1x;>T_CZFtj~zsB^c{lS$E^S2GCi5ex~q20XX0t>WrN@s8}{tMz)0 zHD$DH{I&EtuZLd|bUzGf5@{OVjMqslp_Ledr26|;qh9Df6V|7-xz{v+1;iul(Zu6v zQZteTcq=OcRfZ05YqRj5#WA9IX75MUB9h`(fTfcTc4v;Y>EJU6rR?ill`S;w-1*$+ zBdIz4V+np{^|O6+y6tYg(W&tf^$!l(-`Ht7dRghQm5v>$#H9BuI-2t}EdKyIK1*<Z zwbE+7A(?(3!=%l8WowJ0F+(QexII0puZ8>@t@wjXxV+P#iG*wccb5bc=qryB<%z76 zHPZI&<a&8zW0zp$>$J7C_PwmG@7?;D*0S7K%$HX3?2#KP-iOw^Z--hP_PTWs7i#*j zjf5>6Q^_aJ&PFl;HOA_CUZJDjwT7u|@XDQ0$0DJ7>$ZqOZeMEjP-_|$l?tBvy}E6w z*^9$Z8;AYWlD)m_U)|oz)VJb2KGR6m9>&j9Td;@bl~Vwo^_EE|gT`sj!GY>Nw2He| zcVDe@&8bT1Sns6?Q>LRQci;XPIw)1+-iBk1s(2J_$lsc7YFVJTIiRZnlS01I2pOe! zE^~^I6}e2)J5-2w4ThNGYh&JkE$Ld_{*dLZCctmJr}@&&YXfN`QTudeSGd}3!1;$C zdaJ08R4Q9*W99dxV8Sp4Gg_%TS?prz$Df)yJFEGdejC)_pGdgTZ&?(gGs4a@ll|Jk zW7Lydeh4;$Sdv{rC6Obvm5LM8?ZB)?W!y;UPXe^5c~OIJy8EsEW)u`@;;Kd~O&^xG z{{SOX!SJN|xslMfl>@qg$IJ&6xv6PTYPPoamsj6ro*+VrMnmN1BOU86z?Qc+7t_72 zJk+*efWFbsxveh|YnHkkqQ^*_T-}BL07$%L$X5R959?hNlolHE+w(m9Q>{F~Mwi5r z`FiwAU!OxC#F1Fp+{dTs@it;iOCxo5^**0U&chzL<JOhrl6ef15?PK|p7ekLkWX6S zoVljj(DrD-)25=`-&gsK>%pTK;8TeNU}J+#BRQnCG#40L{#3%`(9N^u9qGS?C%6YR zywOSDIHUso4HSd}#VG^~&;oT7yqZ+|)Q71Q?V#)n$-(^SVtNxu00S5_tJjf8LSW~d z)6z1{)`eDQ1B#RlxX*E#ZD=O!Br-{BD3;n{j5-xKr`%kdi5h7DE=SJ8xvJ%|+i}GX zdBCbp(XgB%<;~Pg(sMxTz@?}tL+wYsEhPXP(@dOFyI>A8nrIp1ilmYz_s~!abDDN> z!93B^wJtrXcPiEssKqZ@Pr{T?0&_@CI-GYW6z{^3R5KMLf;x9J0imMkR~m)%FkD3< zM=o19>b|2j9<^_0r|L6V*~(oJ_J(nj)0!@Itxk4`z3XNO_C?MxzJjVVmu$94J#*f* zl%Sz#ubIzI75%R~-j>;V@AnCej(MY;(0=bqMEj$P$ltAp1KgS$Zhliqfu5ASdQdSa z_oXzH0AtgNUTFL&4^Bk@OJi#-_1t!FA!m`Wpm(S0*2`n4%Vv@m5jNbBj(gO0ms46y zw=g+JLzQLiO_o_^kj*rknT}bB>T2&EO|>(%PiuSow%gDC7;bUalmm)J`?S3(4GWq! znFggZM{}qpx~h}C`}<T{fU--I9fLDQpbgF3_ozP#Lcno@Rm{0<ZF`xhOWHX(Y1p-; z>P@BHrRu`67|v8bO#0EN>l%)&J4tzP@4d5(@%U9xLG4TQrm9ItmihywP1NVMy}+nZ zunG<a3btuEql|Q@G#4cIpgSWgqYyy^5NY=DERuxW06b-?Gxx~A<Iwe|XSlALu=%Bu zX-u-YW+#>>lT7M&9OjprPi#`$X(X&KCX*cJ6tta3N&s32&je6Dlu!a@kmL{ttvjDe zPCC#5$ff5r4o?&Y2sW=?^Z+p&5PAyL&^%E-iDz?Ws2wMWfUGhU`ijZpp``?4invZx z<#@9yw5j4L@=aX|GGCH^8b{>g9StZW8=J7CAqU;fL8zEuGx}14w12(Qf_cfIK*-3T z0Frq$*3LeLpX4hXf=@j0T3TO)Z}od=FQXeRqHV7;e|xaSX&Q5zv~@G9R-G90P1zML zbt{|HiaE|iG3-V36<L3sOLuD}mBZUi234?eQSBHwAB9Z0xwRcN6$Q(%ds21dJ!o8G ziVs6lSgq6MAdFHkP6yI~)2C_&(tzj(B7l3+{uG=8(tzj$<Glm})Kb%59A<&^6aYB_ zgPI00flK&MAm)lg(~(O+2f3uq?g*v)DKmjU1~M^Eh5<J$+*4`LoJt09O>P9T!eWRZ z8@*3zXxtF=IPFu-f&=dB+Mx`pPFEv5)qu`P&VLF_VB`*-)gxtBEVw<X8)zYqeoZT@ zfgapv+K`+a8hhk|ReF2Wc~W!UpauFGGJR+?gyW~J034DBG`+F<(r4z|OF#+DE`3cW zQPPm9Cphgu4(GilXdOCGxht9g6z(JncnG9&deZ<I>Gh>J?V13RRSGeVo&9POPW%H_ zA;TvlIQ6Da50@td9y?REmjXOvfk(Y9AvpzcNB}4#?j7hHbfB&Van_J+QJ$uN9DR)) zvD4a$Itl<*!wv>1tXOmus@!A>4%QeW27nM8{{Rjs+7D4lhRzA4Oyi~~005pd)|^ns zf>_dHJOM!`J5Oo=F@@bik=Fx0p42mvpzZ1JNx<h60Jz*Uig6`QPdrf^s*D3JMrq8- z(}NC3JZ+|so3SO0h5n&*wzd}LSsdUhj!kryUk5%Q>KCb}Cx_+|IUjjFYrXgb;q41Z z4XkPrEVqn6jY!Vkyw|vC9xiQK7kfD4Gs27zs`9n;*?vn$5lKp{?B7M${Nso?*BO`M zrArA(N-@#7Uw`sGO!4oAA@Eem;pqys<X<(*j>P`}4ReaQ=Of;?{w7O#bK{LhYwMl! zJ;N6)JLa$&LK`YMuMZQ;?c}1Yk@q=bsPIsgNnTAR-<#L&00C{d$FIF3wpinV>qv6p zom-zuK<k1)u2$LJBNijywrRs|4tmpfZyhOL<s{=g(m**k9y@x{1Ubn3={(QYo)8s3 zH{t0(?n?!<A7heZas-LeBm6?H_-{|JzMe~sPV>rw70Y9(tk5=cNbAOHPUpk3M{f<q zg}}NJ!Wot>sB_#_u+`qzvCCcBJdSNSZ2NcD(9!W%hitq*3=gK={jwXF%YCPfqo2F= zu69L4eYvX_acUL}bldXEsn3+JkTXy;5=u<5uH_$i)2S#qHyGQ<Fp!-(E1G=Q>))`# zLxKG1U53D|&U>vfnTH?BlRJ4Q6^YUWk$^g5iWCMoEC<$=STVsl;)wvr`9YurA91<o zy$DY3e+m?2^Th|!f}64wD8UD{B9_6*gN~E~pOo=W9WW@^lH&|~x!`vKkp}$W;15c1 zWyT5mnmE`3j{Mg_mW*gn8$9RMhJ0`-!=^v2H)dG<C>VjU*8_?ReA!b;g5UnS0=H0c zKngxllgB=krPK~b<w(JT@@br&0H6mJVUj>J24Zoa)|<c-pq%vSKm)MuPZR-^B!R)B zcQ_;Tpcdq0Py<gS?j2~z#?UEPVDZ+41&PSd;XnY~0OvmRqo)Fw3PuQ|!2<)e9SMDb zP9Few<kgqGmQ6lAJ))0fPR<-gq4K~23u7b=qXVZ}t-G9Knq9{MNvcl7=p$!=??`h_ zV4=QHD8pwT)|++`RudaKel(zy#xM;iUOr{dr!+F|8w%szg(M1_ux=pj2Lsenu6JN# zgPIU34X2aqNH7l2O*@V-ce@;n>`2HN_oXLk>-kfDU~mQpa%sV{!CsUaC8nV62-<iQ zps-MO{$`Ia3LUY6do>K}!Os;*u;fox1j(Fj`cc2-`H0V`r8zvPqzXU)4yT;eE19}! zq3FuPC4Qc?;NUOIieO}4nUsos#iQCvZKVTps3&WN9E^@f){6p+R=^t|lB3#{U!xug z=~1r(8)*Rt92|p5G9?DIBqXbD9ZPhpx-PS*XgaOFwWZEtxwVyKhCm0(z~mlkhCIjI z;~43KO42S47=Cq1ZY;`CyR$WXN#b2k#hTs5zp52!?qn}1L4Zl_2lT23)DOa%j9Eix z7#_W759)i<l;tOO5rk5*7a*LDqMWk-01q_Mpq%>jqyXdt%{3u3wmU!B^T)a;!talM z2>6-eYgeC5@b8QC%~Jjt;1aXLZ+9Hdp$Qww2!2v|>E6DG{{Vu;e&4<d{{Vu5e$l#L z#Se!z^FyO)ejQ5~1=fKcpD&r_ypOpN+&3%$Z%!-ZW4Ig<!KDYd6-oQalHf>_fgm^- z1ZKYc{kH!AYrok$#~<)Xzkz?Vcft5{*}Pxj<g|Yiv>J@&=Gt|FLpYKbjZ+UShXq-H z#eRPt4hg3aPdl;gn%Xn&VLC9IOt&5JLJr(l(?75W?YZGU*@slt^q+~E70mh;r>77u zyg#PfzO5AESePs`ONBtnj0tkexg;)5N6WF{e~UP&Qg8uMy!Op@(yhrQC8Id87&<lJ z>CQJy{Rh1N0D_o&ANXDI&;AmR*?-}+-;RaSN_Ec>d`gmgKebzz1_hSh8CgTx#h6Un zh;T9&Bv;vAu@CLd@i+G4*L6)p;1B#0Q$^J8beJWz{@n1-jN}$EY7@ZG$M%?~w}w}U zjI$JSV+^c8>0gZA2JuhBuMPNfSMayQuLJ8kjJJ0-(^}kU+WdA+2tehL%fT>pZOD28 z3Vt>E<Np8z(Ek8}_5Q<u@J{~#*auAbTP}gB>K-NgO!GH`ye*|W&LnWZy}Q(IRtTNn z2R>S`QGf}>cT~sXRXrWwYqh@neeZ40p8o(>^5r{5otH;$ZIZLsw#!W|cXRGrU-%@~ z>`me?g%)2AylLP`G#zx<Ne;NMYVCJ5mC<*SRawW&AQH^%r)C%t#d#(7>`VJ1d>Ga= zT_5(1n&;v-g}gPW{hvd)@xP5=)8f+YRs~Q^s~E+|$zk(j5re~YKb@bo-~1fW`*D8I zHrL)1_${UA{{RZ~JBb}bczsOzoRJ;^z0{o!JI1U1YxDmA#eWq(BzWUppTzz)@xH07 z-`u%ti>+GvOP7?N?|FpQaL3~vHyX2YPosDHx~o4wymH~Z544R+P*9Xz?vlIds@5*+ zcWe3|xF5DJ!jJeSC&%yEhsVAV{hR(JcxOTQUGU!S-^ITW^iPAD58HKXi-5966uxwh zmgoRiQlVdrlEZ;tmVdEl$8Q3B7XJW(g!m)I{{RW%)*$e#elCX2FZf9=U|YwrxIbr; z&M+v560#C;k;Xmi!@MQ&r{b@}{TswS9`HYpwLL1s#d>G<cZn>lu8dJ?Ho4v8%A<!s za&hWwo3XjQu)T*+v7cnoNFF8~RmKSR>NxkV7ds@EPrUc3U|_kq-S2-->-yaFf7`3! zwxjT8_P_Xz@Y??BY0jJCyU5_4;vI%qnnLKodIj3!81^E(l*mBN-j&mQX!zIhFZO`= zg?sT&;@^qp)^+>!iEi)i5mn?7#v@#X0C1`YO67M*!vu=womS66ohZgAR+&lrwAU&W z@rr7IgOEwjQ9}YiKi05vY~PV3ayKmPyB|tWSnvlFt%MmpJ9AAW`qpk^QDe5_l4*{o zA(Z!_h*O;8W}4DDI2|f^%5g-ZOmI^<?@j{)AZH%5z{eaOG1ip_%aUrZam6&XADzP( z<k1=p*nAB4qyUBoH126=Rgl&y21=i$HI-Cy4oyhd3%HE)O)5#jZ_b)*O<Z6gjidFX zAdh@@rw*8)vgZe`X<ouhQLOl0N7k2iI3|n(!5mU#6M?`zX<Zd)y#*(34h0`BK|N?8 zSL;a3x!OlGT@%VK@H%rxn8kKv?awQoGf{0IlYlUDigLc;(DkI4a*}{gaZ@q17QAQ9 z4U>_OMONRmQil!5>ra^=Nrpfe{ONPpclD<3E!vkE&mF1?9~^AuiU4-5PE8w&a6qPD zdUocOSZ)Ufns#7xUk^MVedDhb*?3yP)nvSxV-Cb&LF#$*73_bsN9==Z@SDJ}c;7+s z0lbPJsi{LVs34L6bU$7S`gE@g(Dl3B4*nfiPPk~Nfy2cj^#;2iiJu>QZ}CS+w9$M+ zJS%T&h6w~^e8&SDo0F4*aoaWMQLBYmc`2`Zq0Lq}hgvQV-Rf{tDMD9_gUKBay)-L3 z2=GZH00j~|GZNj-X$#~4Ne8j?t{a^rq-kBqmCi>8CYsCK9z7`wHZTo4CvVL|X@JtI z1{m^sQ%dgWI(PM}+K#NcmZo(Zn>fbcyP}8{Qb5NZl}*RZlb&;obB}6LNj(^q*$YSW z{KVthfS4zqy#+4Nj0imY(lod^DtW0Lh7|$x!2_tLB9hr04_ZP(zT!J}r>P7H&T?o3 zx)KJ5$|%s1`+-?E<7nrMcc|5Z{D5=bg+Qb48a`eJr8}~vuA-7t<w5tl(yI_Q=kD@p z2ms{zRBYvr(Z)K{y0MzMVH|GUzz}*0a3hz%AB8}U`*3=CRDrR^a0sQbM425usX-)X z6w&vveJOK+#Zr0z?=y~+n}%`+2dJdaIHNtOfc?m*KpfLcF#iBn+<H<{l^(Rvn47ZO zh&dyz8OBE3p47YpNP2Y5J#H4#z)lbKq->lX-pBs{tZ7bE<fl>IfJa|iPkW1{iEl2N z@^f<0A{NG0GzvHv=sHwcBe3gBNz`-v=xw%Dl0Mh}0D>jHpQrq5@i&QeO+Ds|PSN3+ znOvfxiPW<(9YzK*$6EEz+Y92S!0!WiTjOts;D^K(elYlq`aC*Cx0GeGO(kR#NfD8W zJBuoiG1ym&{{X=q*IEAngy+U@rWEp<NVkgRTxW8$>Ok}ZBa>fRe$bz@&%wWsn%~C% z0Ej;qJWASBo(1?tajJM;7_OEixYi>oBa94X*B>ZBjP4csjtdP+ToDS>S5SQ0_Nm)# z-S6aoI_6lpKN#!b)a;yMt!4iJKH~SYcK3GL^1bvwH5)PMpV`vc%2}>e&@M8+?2mI? zR<Gq->P1phwWTCRSLPpIYVP9u9mj^PE-WCHE62FmA&lf?fC7y7B;u(4(jNjoCw|Sp z8Lxg5d}GkRv-Qh6ST1htqnTWyO%Ra=RFR#eaoE?!=5^rYp?`a)doTEN^{kaXY4q=Z z>90+DmAob4{Xbjq-lHYe`ol8Biwimsh4*shyI@t{5!?Jl(tIP}=kZ>hbh=dbQ%T{^ zI&7r2zG)80gYv0;#OAHu_+tM6z&;VxbZ;9+3BQuk+FN^QCEgV$Q6P|!kQ;6W53O<* z8vXskn=L~2dzfsk#8#2XA!Ug(kg7Al&QBHQ$tLK|E;ec3tKIeQ`X03>Cp=7Ko#Q2L zi{XvZ^8HVJ{gbt4(>^IdtwX4%lV(b!$G#UM1N5(;{Bz(PKgC}Ub-xweT}l4{6Ws>m zQ1axE0p~7px9}Y+<PU(JHPbYo6vH;BaALK&yhz!C<&ZJjNcv{JoAGyt{AQmDG#hLA z8SJ##?=9!@-v!_s@cxG*75bkKVxwOvlzDG!-^%t&@Ym#jI&sclR}I9Js>Y|YZN@k5 zqs=QVwdPCjN6z0F{9~*|@aN&x-jgl7O0dZjN{S4gWPd19-`)1FA-A}=F-@qn#K|O% zvO9B-dY{I<H&F0Z_l<rT=toSuj6<htH&QGTwhR2<!fVU5ZI&=yBT9?q+?4W1Q_X&V zol6l?aIGt(;~RGPBYS+$+c;jH3XK`zp=TvIr>45plS%dJyo(n%?|kCs?oTrctDIv1 z3;~L(sLl5*ksoZEo0aSZRK35FBtsTC13y~QlHyC)t&x#Okr4!eg4yq1KPT-kuBX|k zx+*FwPs>A^fbN}OPWjKZPc*{X!Whty>?C<|ykL=!<yZ8*7fuk|>NmG63}}3qqvWwU z#!uF=W^0MD9mA236rVxOXUi&7_1*sfnk`g@BDI#$dim+oy@b-Gp2p=at)zJ6<V5kF za)0{SAB}pifj$ghYkm=5h+YHMVAXY~n(8~B3R=YPc?u*&jma3nj0}={VAqt|#60y@ zBn{XM4ShHJ1Aft-8U2lZFG2Cg#r_^T#1EwET3q%KoHIppYVbRA*BkTCrFodS<1o}^ zUktA}CnX=|X*);e{{R!UeOkS+^{vZMs9yH9+PnEA@8o>rX&uZ~Yc2ZiGRK&A9QlNv zPqk;?h078KLt~2jTmA|s`vd;ZpR>>GvG8m5rv0COFVC*S@gB-~FZ8SSRhG&{<n2+; z(8Q_wSH+r)NfFz-k~5R*Q<vrxb37ugO7^>2=<c6Wrxk;q2N3DW->#c{v_&-_4!IQV z<0GEc86iO@(xqiV0?4O1>s^Kd%>HH!YB&^<@}n=v9R(z2A~7rNU8kIP^r*{Z@_TyF z9Sb+tlU?c1#Uiin2~-L(kZQ3Eh&jmZihD*{&v0&y%_OQm$c_&KIi}lhQezm!St}85 zW5DY{$svIH(uP$cMPA(G(uPx#IOdT<Se7`&EM$T}{3*n38?oOUQ!)b_&;z!IAUVO! zB*-IdW`daH8hl8`K+G~nP-q(%;A{kS1C#4X8xYuEN_6hcCm;`DNFOW}M>wEEq9Ejw z52YuR?UGF-M{D4WjP#@~=0ZvD#Q+G-t$=x<23rnlLRSL-9y-)R?|w7@<{u_koK%*> zBXJ$LsMUrx)R9Q(Zd5lzO$qEO{_W2-5q2{C$27b5lj}rkLw`|4?!{|rSXBiwe+p?4 zoH0E5Q-Wo1F`Rd*<ybe(_+p!O5?3xXa?Yt7YFU`z05VDRsHTocoW{shuLVftRlOfk zp4(Hk)KhlrX;sii)R237;*(dti&EBZbqM2RS*B;%A;|=u^pvH~YiK@I%X{l`h)nh3 zmLTKiEI_Fg7h-Y_Po+$4!j0aYYP3vAy^D61mg}NPdpG*SAV|NNs*|jM{HKnlrbwrf z94RFu<oafyc{4XW4|-CPcCy&c5tJKk?*9M*wxEJouLstjAP#ng7%QC9@Dvs!109V$ zEkujC90GHSSF^cmQV1O)UK1zW(l;%&hI7e3-KXu5NEZmmxxj6>$@<hJZW&B*@7A5J z!qy!o=PKT5B=8CAOB`<#k`Gb&(*XrR0OQ}*p4-(_ZTWWR6g6NQagxBsKt6-DND^y7 z8%r5qFl1zP9<(G;@-}4Szk1x!{0rj$02%1|w~92ILi%@ytfP}syPd#}-Cee#=hc{C z4z&}h3UR#JOZ@a-iBW{+?G<)lPbwDj+?}NMrVyZQ2cKVGdW?w}D>9G?>S@FMpm0CC zTI`8w3RsQB)RT@$YGIv;3JyOSlI87MWA<3&Sk5-9o=2@jRZdEd2Yk|Q!-~|ur0cJx zM|T2RM<~0qXbF*s+mqB|y;Cu=4cYC%H4fDWijgJ3`Kn@)ZTB3Tc3p$a;4ee#PTI@J zIi!{%V^>|c&M`u<9cs+vm@p@jJJFqo0f*9+i3^n->NgDS_oy07etO{jaZF$X?iu`P zOl$@L{{ZXLR}G$jN|xQrOQ_|QfywpnN@Qmk3)Y&-MF>ba6t2f)$qYkoPBHIH21F#4 z9cn-ozl7t^(lFqF1z8Jm1i3g-*V>rj^OKxYqXUf7pYGz8>rw2;vOQ_rH!khKVxtg# z^LFfk+N2UO`9k&YQk{nN7BifJX<Lo~91lulL@CMd>ry%{11b9AtrKf7K>M;!N|jNh zY`6e=3W)=;9C4m`s}PeJ^Ed9}kZ@@|g?qaIj_T>w-r5$Bu*$4yl1E?VOjv<`+`vMf zK4X#%b^a8C!uDPrxbY3fy*g@Q;Vs~@w?Vn#VV7V}PB<Qwnc_IC?X`_g_rZF7)LK`V z1PgXUNfKiuIUmK6O>;uOHAe)t>h%7<;ms#UlAL7T{{YwZ@-TLUEF~EW!5QSAT42ur z;F0T6tkOU{#0q@Wz%7H{ueCF9DiEN^>e=MiO1T37W@0!LrHKGA&N^n5RE8%#X;gqo zBk4>9ZU8vPsr9Ce4*h9KBy^_bNWoK|S^%HQgY4-f60w&!kqF>=5No3NX`n}_Ya_&Z z#)qh1=(<X*+Pmra1_UPxa(Dwc9QxNa5k=aVC3DZNE57l?=Y(`m09dEPBdyz}sRxy= z&2f~9<&@=6WA9+{euB6$RV0$78{S%9qFrwKX}6i(g{Ky!R!>N4ZmsmP>#qJsE937J zMdLpf-*}b_XNnt{vkY$8Duaat{Q#_wIKsivIUHb$v8FAExDBbraV5APGQc^`IQ%nR zCyzC+h8G?Y(7Zq3uLj&&>eg25b^T&{-QxCUIl?bRMH~+Gs*<D0Mlo$|<dwSp*3$a5 z=4T}=M?GoHUwv<O+gn+A-&<__j!kBf+hegRzr&s??ww~H?ClTQqk|C^SCf!&+mBkQ z96^TW<N@<yr?!oi0+F#~I3)Uxm8`T{7)2}UOAg>xZ<;;Jw2@nOTHp3ohj|*`GRZ3^ zma3U7Im>RyDn(J!bZh-zP=imijik7p!XN|X=AYs(4(eVW@eSXHHAvUawSO*Q87FBR z@#|dEbm~iyzcZpSs|a(Yrq}ap{Iw}9>}to(EXYnD%<91PKU#b@QdrypW^$54^B%wh z(yDI#%Y|>7KYfQ4qv2l+>z*dLYaa~hlHJ@z1e3`OOOjCrSmUk$=B|8@i*H0kBPq!x zt7fNw{wsL<;V+5f@xQ~57wS4DuN-9(^Glq?Ay&v`3_1hFRq?-#b?=FKocjL&i?yvo zRn{hvT3frv-tN14XBj6w&0^1Xt~||v$X6dPK~?SNy0&w1Z*a&*QV&0cO2bk1zS%`{ zTG!I{?S1X!9@c!G&A)fIPg{2^Y5HEHs^0yNNwaArB(g@MEOAg@EYTK<d<G5A9E03b z>~$O4dyy@**@jG?-U3vS^&Hf5P9&H}{{T1lw|73Z)9>G1j2n%#y~spcp)H&d&MAa2 zJRAYqtj<%*Qh*Hg0;@Lc^y9rTL<h_>o^!#e7jDyqs0K+OHBT9Bte|zFGNhG-9Ii9? z(u@I+c_)!cf!OC1qlP33u2UrMpeEtl^r4Pe05eOtvH5z^DcIQynqb>nA;g@XDVy@d z73oX3a$C8fvRi@r&@|W+ymb63B;UKQ=Ta5HrBp0<Ok=5_9;`)Eoc?Bzl5_7;9ie*D zJjnBpT3WK2NfG5q`35mbmJA82`aO=HcRQQ;{J7$Xw_I*Kaa7!_k`W4>zr&wO9Bmts z8mZKAT?UhrnnvNc?N4P2dFSz_yo#p)eGNggyB--p88sndagm-X4WX1DdX--b^H7Ck zw;h4`QIVcaG%-C1sTK!d4hYRvyN5C&mM=6BjMY<^Nmd;DRjJt8xCCTXX&GgZkPkg7 zUd1P<+!BD`_326pKX`t0pE~0`DaJDD7#f{N%r*Y?1wjDrr6{=MnrX%W8T@Ik<6Xs@ z0zR~EJ8)^Q^Kg1%f=E3LCMMm(E!f~v(r1jG-t@xcp0q|TLX)=Sl*tQ$^BmJdH?0Jc zI@PFHhb;y9h{#h;P)h~J9Y~=D2jlBcj|z8p^ffP5G0Q6!{o3Q&x_^cD>0#m#DOYFP z`>>sJT-YFtD&vakJ{Ma^HMP|tw=x)H3la{6&vJTW71e@GVq<RSotrrQLZ>#?J#WBw zf7%w8@|ZU*=^>De6&*5bmGK^-Vc;t{Y@bxz8dA~PN6_=s)?bRgCSG`I{`$v6WLd7H z&BI372r<xhu2){uwHwO>@fG%_l9vN=lgQ7ddzhSjRX$2;@{R8M9~+nCvz8;;)|V|g z+RJwAwDj$MyPEd@01)-<N>+;1%zkIe5i^oKD`Vktz8*P(%I5X$;FeG?r0=slkLOtb z01U0Pj}OcL012;(XY$~HAF<nkmYPg)_<Pq|r0BM7;LFb#wd;RqT})g=qlHp>=hm^p zMzu*sq@{MXwfZmfI<q<9C_<$QP_mVy&1?J5{{WF%x6#<|e`uXWM~0fu!S><wD|q&o zR3AK;##+4F!Fr4yHPNB)b>*}O%_b6UgCmaq)!KX{y_)a9+T2>L>dmK%cPSOf$t{oP zUNxrbw>mbsCDX|nn4tjU<tDo`3iqu}yV`2ad0(fOW5&pEEnzF*WAV{xsq3q1_kMlK z-ahbyct=>4#imDH=LJr2{{Ysmd=eKJuAky8@?6|QH10Ryi2&z{<~ctx9ewNOadCue z$w65kqh*t;Qv(N8-d$L8*#30W!8jdyQ@_tzM(dwS=S`!v*iq7!ndS^+gG-;{0*06- zhbSyS9ZhZcDeNpYrPMVE6a5?(M1G8MSoY&5f2Aw1R>?UB(ypA<IjMFsuS?s~l{?z# zn^C^Fz0~EuEryYa!0bILv~s#i7&bGIdeyBu(Qj{{v@!+rWl_BJQBwG)LZ8EW?Am06 zFhlY<Ach{bPBU?JI$V`15U8jv?Wdyu03yHRQOhPiQB%udc@2{46GgT*J3%C8^6OQh z*zJdG1IB7>(X?e5E2nYxQAcxm9CuDcWx#U1ao)Ns``u5$8nm%#5q+LHky#;_Zuxr? zT;y-EKtUje>zcK7eW>b^`S+7N%!z`{*+)v!oc){~zAlXAtwGhQxvb%4ntvvS>Y9$B ztKPl!^~1>|hb+!>nyyfWEmtJcbtvq{pw?1(3^FDQmHhivY=e<eB|F|nMJG#=)a_-a zod|;W#S9KGGw)WcG|Syib8n}?<}gyk0yqG2PHMXYy91N$O3f?1ic^b|ih7~0aI}#` z(=bF_mf&D@sprx!+fM%07Vq|b`#j#oy(&FE>{{MMa`EpGxMI1+aA<MWC!s#lEk0ds z`Su+xyTZm9quNy9gVY+0aQP&3?OjifG@Tye!rR7vADO<-eC)HqA^D<^bsnS|<zMAu z7M*HNjQL;mjIfx9;%KR@9?d<|S~d5MjBS$!mBO<EX^QQ;aqChb$jKF&*y#`m#HS;* zIzWXoq~!I@A}|s$+n+&7;Ox%a2Ix&y#NC*d*AhVO<+t7h9y?T;Mw<Grr4@v3v6&xk z=imyf8N`@Bg=u(Q1;)Q?6O*^i&T~~y-jYwbjd^lWokgRw{1MS#=oXfK8@r0uEwWn$ zm1Yg|IL;1hk~uAw`sdcYNpzbZBVDq4q>&d)A~}P6p!LRmYs*TINXK$NTI$DA_I$tA z%<^(vORlOZU9{8t(id<&DVwrL_Ml}>C?g#I09xUS(Dy_cpqvfa{3z%%O^}{|XB6JR zH=fiFdOg3b6(B7k8Sh3<aYi%1<J{05q{$OU2)T9nSl|=uQOLyi<ERy<uP&Kw4V|To z#zsqg+#K<|n#v@ToEo}|mDtLSM^+r&!=CiCoc{omK_jQ@P--nIA!AyaUxenpwM|m* zQMR|WB>wVQhU|g;-nC9>Oel&Z1te^t9Z1hw)zX|}c3`nIr8gM6v}ky5Mboc5%iVVE zt?eNgE{m3t`zWjaI`D>@;p<CV?I!HXlBU~$PD(yAil0-|JR@l~j~usOXtshCHx~Be z2YKa*_5T3tRbLi(gH3A|(=@y1xQ=Pe#hhbk><_>AS9GC5l?g@K{rcbf(DC708DAMr zq<NHEcUIEdef@fLvCYC%F*|7q1+o;3^`+c9FFmQfPdWVS&AIQ3M>K#@*Z%<5NC4-z zT0+B+O%B-Ng&7$lf?K<?8oS$!;-8KO^rL78AW`lq+!C;2gYIafk^cbeq*kHNdRjr& zkMd{%X;k23b@!&=QIH2T0H-vZ=Yv9>+?qMZBlVyJexCWKQVgHGK9pnp=72)dXCjV! z3IQbGkJf+#pIQcc(a7yU>Hh%NparBXqm0mcQM7f(=RgbZO~T_KQuh2RY*{srmQnuE z=6(G9yJ@9yN!r>Bwzit(#8&Z^W;j(*$)?;zEG}V|CRSF%DHtHsuv|-NB1vxLSqLiX zaA~(UGu_VD6UbfM<(QsH_omc&e8p+Gd44w-DG%NhftNT2lyu^xYgM2(1R6|`a6cLd zEI1wMdUpM23nuOYmXjn5kwH9X6a#h_y&>RH--<s91|TGln>}fBkGyEf?kL84P!?hr z=KyAu5=SDM*bF%1+MEbsz%&M-oMM-nZ#}^FrO$k4=x6~{;Pv90kCcx2;+OpOp@GOA zhJXz06o_-0QU`hlGl4(`<-yGXlniV+q$&>}eP}I)!S6t}7DB}5G$AFr=8zJ8l(-ZI z;;{LSM{boOouhFaVxuHyD^CY-z&NIcZ+I)gQ+T@KLf4VoK>;3gta<0K9qZ6y@GhOC zczrZ|HsbD5@`>eeoD2+P*D2sV68d+7!bkF={{WAxgS!N%=sz0mJYTEa=#VA63nSX! zMdkhPnE~Si-o5+{Dm3u?@{YaFgwAnzy19a*PI_NO(@yWJ-PrQa8-HWT;tAx@WRaoH zH_O$VxvYMi*F*6W!O{3PR!a!yX;w&9K+Z6E?Og9tdj2)zVq+**l9IDNzX3W`FjVDE zSB;gM-HWs@0MXBCOkhxR>H5|OU~`@gD5TFg!Tjjm#_9lCLNnHYLFbwPpaUm3#RopL zb^ieM(a7yU2RpePsdLUL2T%UJAUR@tVt^EpjMDpxKnHpV;}j35b>f4;!9Pj>$8Xky zobg70)q@}m)0G^J!A=3eIHvQ{ADu}Z)bPOesK;c7EIZRy>Px>uL6?tVCqA^$c8qb6 zO;S+-0F&J3tuInD)YS|=c5I#nBQe751Au6ehTXBBtvMl(VTuwl(-gG=Bb;S{IiqOm zF;dM6h_Ro_pi(*oG`0cUj+CDLJ*c4Mc0ZjU4tvtl4D-k9K_fWD04)@Q1aJ)>S^y5= zjGWQWV@BcM^34F`;~hQd0Y^$h^`)f1pa;h+h%$r^sHr0{zI@}!9BmZ96K5moO$bQH zJbh`VCX*UNF9h@YQQw+5=xK0A29U)1^G4OiaYhF@T1~^SGyu66&UmEU4;i53ec_x^ z;11LPbKZs|bYIGW*Z%;oM?d300Aj}&#V7<1o1Ax~BR$X3oH5nA&;xQqWF8MnRvhO! z^`vdgMtgK3j(Q%n0B7XJ4hL#DVeLYl+=>_ia!)?g0CwlMO4{%yg*S*iM{TFVfU`eB zI(ybSqc%$5dz$rs+51J0O^V~iw`&*{>TqAXcExsJXnkW6qW0bT9!__T`i5INi+fpm zy%FC30B87r;ogX{JX_^O2%|qVvL8=j{c8tK@$RePe-G*&D~?sSn8;CJW5~$=0PEI1 zm#=HyD)BV7_OPwx#Axn|A>uN6V15<B_|E&pg75n$T93&g&h-BFJCJMM#AE%8Iq9n< zbiI8~hRgCVt=4pL5>8IeSA93KUB9i2T~kq?RKJ^0yJGUqF?WAl)nn7I(9@612q2O4 zrmoQ0LHO6qN?h8r^w>r)ii~zbl1IymZ`4zrjyh5{(!3683LCjg{Gy&g0+C0{@~`;Q zq~bMlPCL*70Ctnp9^Goi)r^)_vCiy_CL4fO$sby*PDnZ9(yZwkRsOwy9+{`6=_Ds$ zFM;~>s*2{(E3zjpMa<oj-_zHjSd)wsj(7&Od@rfnS<7(+<-<m@+cGOD?^)N@GU@kE zWpY%>8<4;@KqKCxUEuM7>zZ+sr#tmT)Pyk<oNuEhmR4QJ@)zfZZfjS===b(dqs0OM z(g`QIWA{*Ys@f&4ovK|3uWo#Zqg=_8%NnTnA7!3pvzfLrDyKb0YUA#E&t_#()sv?k z8nf~rsjZxvjLWBCVP1v%fmHF%aCoI42FNGe=8^IFd)7_e-06gQVv~2Up@HZzidG}9 zdP2k~%F(!Ej;4^sG-Pz7Bxe|->HO#b1U3mDok|%KfTWLFj}#Ne0R3sFU@th&EV%j_ zR$-7p?TSWFr!)|}VNOMEWwyeSI(4LM5y7M=c?_iF=9GmybH_Z;Fbt<0Qm!`VIp?sT zs+Pbspn$9Z_MiylY_U*j2sq)XNI2d3aZTyLJkSD<O!n)VKnTzEpdLS^E&&^80S+;q z{{UKEO6HI%=NP5wKneo%KAcbxfy$nG9MUq52|txNTMLqZIsk6g1DaBx@JBSIOA*(f zdU#xOK$=X9C@brVHf|u~Qn$)}PQ#i4fCJ`&ZK!!+y3&*x!h@f}oPJ}J85KUOHH`O+ z`fa3^(2%<#l3naL8?xBvCnwk%2GLnqA@bM`O({I|0CvZEMj=Qz%`7ZdQ7WESkbMm` zxZ`x}A&lgl5zj+HuFgow^{34!k=^9UVsb?>N)O`wDu-=FR!*cJdUoZ<9R3v5IARVt zqbEH$rZ~HfF}XS1DS!oFM@;il7eY1zO$i?0b4yE(*A%%2fyFgh$@~0M+kwFtrYjJ< z@sCP(WXqSR^lYxiInSu+PFxPeflOQ$R&Ga9rk>B%MZo_6WDb<mu`so?5SIXgMkq{@ z0LCZ;l?}%|Mk!+e9x0|w;^iBN&QUo~dFx8dfNfAY9miS;;HdBGK*<V1f_vtRrekaF z3lm7YmycslB(4Jt3{!I>NCq&YuRUqoke#iZiljF5u;g%ZLFr1a91=z`Oe{g*f$d0# z3{LODmDRzd$&jlYNXKqD#UW)G{VAdH+<ug#2H{se^y2JGRumkJ(t)0%KD2;fV-#=N zeQQM`8th!NzP5ta;@)c|k)=>0nT`x(9=`di!GIhLk6Mp&F~{XjCnEs%t<^@?p$?i( z{mFdiAcu3w_3J=wxd7+!sN-dI+D$650!DvIziRrJ`#U{}2weUA@kx*d8$415+HsD1 zQWMGC*w0FCu7Xgz(E%X8T;x(nHVguIIpUgHQNSao6lI9yX0eq^o5mIsl6N0kT=SFp z3RaFqj5Ef{2{>XnKj)fYBei7R&1{%APHDYV=A6el9-Pu62O>05N%R#Q&cjKK+6PYb zg#b7#I#Z+@Ng!|zIj2J$GE9-&&SOH~I{};zT7<6kD6Ufj2Q=kVobBSDD=Ir8N?2|o zTNudorpL55%=B4Y8n~rPF3@r7PefucN9Ron$EP0kAl<iadG)FpHKn6YL~)JI&4o~U znsv>L*6v}rLXM~AQ`Ayf2a4u4gCMENIq6y{r`>8(Nh`^@*|^F3-;He)q_iedQQXdw zA1IXAdICcVf<#5_$GvXJ;hW{Lxw*QH)I#xsPbUXI;Z!a(u!tSdfKC;UdYM8=YADo< zwlnsY<bG7gMu_FcH+|kZ)YGAelpyEcp>~k)+<-XdvXN<~F7tuMZ%PLsjAEO-j#Ofn zM)^)hIj8}w#~49Kp@7I7_oo0U5x~wx19nIVE;t{jT3EnPc>F0Cf}bvFcLhL5IQOHd zf!}GsU(T9A1fP0b?!#lfIC`JTjmGR7N-pMK#(==`8kC%jGjKCZ2&ym#>p+L@1n_@K zKm{1uas@8XNC0Ml6<m%fce8Lh`cp|Gf%#K{VRv)%^`Himp8nXQuNnGrQWu0qfl;^P z_k^Aa_VnVTW0uJD=|ccMl)JIi@l71{6ul2P=|FWA@w$TTi~*WM@A&3}j+6k0o=VeR zGRi=w<0GXb6Pg8LFqj)ybfwz;*N)hyl07mg2P^(G6r|I*fDO0<=qU*)pOjPnw9o<0 zM;V|K&_mNFzpW<KW&n(OVvHVy=iE>>so)L=6cRN97CW1OdQ^v?rfoP3>xy(ow-rcD zv`mGu$nDmbwIJXQDM9OjM$Dkd=|JPC#V7zaeZ6T&1a2pjS7BdKx#J`GQkQMm?dd@n zqyPcUD}WWlk_{<1?Mc_5`cQe|o$eYfM+`qvjysxZ>r%vRR5zZ|1GD5PKZ`y6sxk*$ z0mo`>D+TovAdd7L@rqR=t}~x{F@v=8^r;#57yJ=lMw0W!UL@58w3Ejb&Yu*pLpIiw zG}y<m9ZhR~-+JDuFU4Po`c9v1ez7LD=w5Bik$`rLk3-lVoE&jS{1HFH*IJPAt?iAB z(#agQCIbj3_kuunzA=QxNj}26kJ=8$Rq?ii@qMSUiPF==lgW8|YZ=`fg@VEfJrLos zliI&%$Y{p52|}BnE#ohna+R0QM7p2LyhV$6Zxk_gT|Q)`MPIUUrGLA2yw=H|4coJ~ zgqnFT-JaU)Y=SjA{n#FWao)W<{t6-cO?Y$m#r>w|_{ZUo4=$H)2ZZ#UJ>!+Znt5&Q zk|`u&IA$ylC!7IZPj7Q?X?1g_!p#|tNCIK<&FD|QYSxco;Njo}*6;0QlUBLc(O`I_ z8-C2HcY-?PwlVFR{Kpdr&k+}GZ*N7V-=><MxnWYJPIG&7^S@7B8L_B%etG@_4<AqB zTUNQBSZijnnUC6DH9!Fb{pB4x@m_DIm>|6?9GezI!tNuJiuDhP;?Gg=*M@v41aa8? zg5K^!buZnOi3cR(@UJFVq_(*c-N00C!N|b}K9pwBr%MwWar+U9Z(Ci(H|f2;S2{R; zb#WLfwWj|7i8-{ix=KwYb-sx|nX8~jCYfd~9!!0u@fqEnm~IcXecRyQ6-(m3*^f@~ z0_wq@TU(n;^6R_E2jm9>z6a}H1L<(P-@F`%<G_$-f%sRs`~&!_s^}jGJZoVFv*f*u zYc;e|u48g|{Ks1Q4iwC(;VViL_+=OW0FtZzjQC#>@*26O8kJgh=ciIHZPec_y4!UA zU9NDy5`G{*hjo~I8R1zrTIk?~<L^1nN%uL=*1XGHitY)F(m$B)#q*z9lH*XgzSLg! z?qej=F?n2dXD1}onvP_*^JQXin6Hk;V=7}ODNAeUyDcsFAE@P7Z7i~cAr<di-hE{C zZNHmrr4_vTm9xzhMT`l)L!5EzS~^wveJ!pfY~v#}fVa0%K-RFxRb)Rt4^in`UKq6( z+H*xK3@hgu!LBH3(p#R5PGp;w-3wA`)|VP{*m*<Djx`~`$E{&bg(HqdIcEnXo;u>S zgb?q&F4!^KVLi@qSt%T`poVfuQPBJ3)zxyET;JBGJ|B{sl7^by{L<LJ;e9UV_foc% z?4)Q!$|Yr7f%P@J@i$)4+f<WJ(tN=j3AHy2VTk#w(Y_b|0A;ts?E^}CC}N7^QIcIo z<%rxuat3R}ylXgb72i!B3d?frhy9XHKT7Y#;g%CGjh*@I-<FBn@%zscEXO?0JE_kX zA7rGKx<7fVzdaww-}s;Luf;zS>^wiA>X&Z1cZW2TvD2(XtYe4|yunXG$CK||rQC7I z1<vL<W5KGsi6o43QoN(=>Y=)xYrvyMl?ZZER!gU=yZm)N&b4Zl>N(VRZ~hzfA_Yh! zbjK9wJfzyN$XpZ|?Sn+S5GYmtA6jazNDYopHK~{oe2`nY;LwPq?i~e5d{I>+&H!Ey ztwy+5&Q3GlfE-^j70z=}q|9OR$4})*Lv6_ENs<Ov^q>Q29FfH;1!0W$0*^2{5NQ;M z$RPLRPz8y$#~6hOJo8X6B;<6bk%q|!=IKaCMF0++XaNK7%BUdHk1^D;xfmRp6qIoO zy(xDA8x=iG05IW4%n#I4u)9VFQN<>A4xRY-rJF0a9Bp26+JF)f`{hzQ^H01`lNAer zOp6|7_XKSjB#K$(6E@;`=trdj^B4&Ww4RixGIQzHlQ<xH)A--DNX9v!V-McI{3*wB zt~2$df0yUS0)~{4w+Ekk01%AxQbyQ(dWwsT)QQi|2SGqRiA<+C<AG3y+<7L4VmbGu zKuZ?wL)1wmPiJv8yz4A3Rg~pO>}ppGL6p8pJd!ykt43HhK&e%m1QI_wX+6Z#CWTi4 zo9|Scz(Tp}=}{)&s#~Ylq)-MAe)NeFP5XAPMo(kbn41-el$_(BsSeP0llU58f;m{o ztbaNHag+qX$<G*XN|G4?hiJ&j7#^6avKDp9kN`fE<$e#A2s~tpcDfCZMezs6%g+&h z&N@Hr@ShK~NK-`DZZ$XY9Cm<TTp0i!Q_0t2^#Z)pBP4G6eJV*La9eAzBw>N?NfMzs zVS)$eS<u7M!^Nm8UAaG3tABZ=TGcB_IlI{<@>>gTq_$a3J9AR6?<Nqz6EuhA0C&$p zOjlHh{*>5m3P>eK!wzyQR%VfE;@;}U<?QdRStV14R~XytQ$eq5R+?qUhV=bLXzaBI zjjwIh$V-i+l-xUk$r<&nFAc%reM%e6W5pW9(#(=VBDRVh;^db7=2-M9yw^+cqTj(| z#9HP50Es*%H9a!hL%J3*++2BVlQQj!Uvj6MR~2kTY15N%Z<gOTrLBGU{+ZiD4JxyW zQ%jrAWv%aH&RQ~1?+geaDC~RF0_8vwV;{n5>!!v*blW2@)mM;kf6gkDsTvcuKzjmu z{vx|#?r}?*35*Q5;1R$)<2=!DAXyk%hVuUahk53Ol?wo>I&yt!tUzEv&S|xF39*5J z<0IcRs6Jtuy$-7tu7`J|Hk$;EbtG-}mtWpS7qXv2RAUO~sUK5Qt9uo6wM4taCeWvX zahiw%Um)>Pj1H8HN`2JoIjbY6qc|8m^{C2|A!GQ{zGhK@gGS&6F+$V@W4VSYAx4ar zAa(CTf<}6KQis6W!@sQ-)O{E_hUESfilGTO?Mt|41$%X%pW+M0r6!XaZ2@oxrxeh| ziRX+{WX?w)tvWDs_31}j1+=)}pmoo<#RRh+F^X}QYL@3GgT*x&4@1vtVj^Gz9yv6l zYMsOn#-uUi?q%yul;h<9WOWq{Sfs|QI}oK;BdEnm%a4=~r7$USHaAmJ1t_>D80kW7 z3F`D0B&b&7o=rGUuy6)DwkZKtjL6B1a0sVdSjlg16w{{0U<eG~e?7pXm`N9OyTpp> z6D_PIW0*~udN@)rhaCaOHKDBdt6JA}eNC<Gtl|FEQ1inSL1T$Q$W-+HwSf_chVxm2 zW90#I54Ac;uA&}ULJ`IT5y8iy?^*jO%BA1+*Yqm#im=BSn|dmY9AFMOqYsR@8TO=k zM36+H6<vUXj{g8!MQm_7pL*9`gsWV326I8l7$k~XOy__zniFiMk__jP4JRzTel)#3 zC}MH65C?i3wHivmr_7CtFdIP_J?nQ&@omf=6ui)8(xbVFrCDOQo!GUh2c4rh<ZyVb zA%;IroKn1nz($pkS%5h`x^(YZPMm71NnYBO8OjevY}k0$#CjKnH6IUK+rTX~sTHS^ zTV*a8I&5rZe+t58CNMHH+ZD6pJwwA2YKtF)AiEYTYZ@xw9JrGoJ9`4vjt2o<zERSq zijOOoEu6LfzD3rQ+>{)yqoV%+f#rLSiZ<HBV2plMsis>(RbFX6Mh78AN&G81-X$MA zndduj)vKmN_YRh+05UfSM*z`P+9cCn@%B&r5=!^s@54`t-YWf|zA}6yhsD|#gghB@ zsGT+43qdKuM&vh4lgHM+U-+%6N8?Y38i&Mh3~0-z+IWvxxSvnc;-AfUL&?NE@=qWG z-o3N_3Gw?~{1*L^u6%1R#-D?iel)c4CWiW7_F7%+i*V$5hq~ks%DI1sKMnLRjdA=z z{iO7rIXpjU;MpzpD{ThG+{ptMlM5QR@ZgI0x>Bit&oOx1L?ocqIL1x;uKFmb-s$tp zSy=kn)1{2dFxW~GPJZ;I6}q!-?)qsJx0==1^B;@f2EHPE4e?}N4*0X-3(Y3_OBk;O zh1`1_!yw8wKiV9M>i+;^zl}Z!_zCe?{8I6kh8I_lPXH4^?7oTq$73v|5>3igqd4oi zPAi}NqrYfxh~KoY#EXxLKN9s1wCWQ<4Y+WASmKE`A}H(tt_JSm0{IcnUNvpXrE!va z*U>B`Y{M&5G3hBzHkyle*L0r#SKRTIGL~7IePaUe7)tPRO8!l)yw`0Gx8k>nJ{b7x z$6CjXJO$y|d^=-(eJ#bdi6p*aTPqywR_+Hl`qvvUXI>Wv+od!DtVvQc&~>EqUEJZi z^)>0yr5Y5}BHKw@U0>h3JgU{DTBDqjyWYydk}x*%J!#6mW2$kS=hC7gLfeV$)|`%n z^4y-)vg~5^A8~=4bsb2kivly$nsYYcgX>LY82Lpuv;?e1K}RoA1}ZXX0LZ}<nH;D; zN|al7(6CV>17l}Anm|gPy(x(9P5>FjO}aIV0oT1*noMDJQ@g*@iWHK(4)nO=I2fRC zPa=S`xPda?H7VMIic&{h(l9JQ1DXbsLIBJ_!O!!lW^XP4nCH2s6XlF&1afJuBQs@> z{{UW-LV695u^a<~K!=Whl{uIyg$Dpr>|$HXq_&daMy!5m81x-~rBYXR6O>}E$cpCy zk3OEXqiXT_;8U)lNbVV6mwE=mxERexpDg9QY98gr&No8I5(P5(pb&Ai^)(v>ZU$-d zuw^8El+Xb|lg&wX96(?f+LO3J*it(L!5);Tb^{~z?LyE}vqZ%a7i%7AOp=@`wgB`r z&oDpl8$Vi-I5U=K;~Z1<6LCdb#b+u=KIEE<Xuwle=ZH7%(B`U23Y-zmE7+xBHxk=e zaZd~tNTM|x3qK^&8M9K@!I<-d`O|QEezbI@`ifhQ>=6z?BAm+5u~&_O^kIr`o&ot! z<x6pOd3`aS<+m{yW9wC-Ms2k#Er_I$w@y82GBb=HdUnh%d()$YF&mCK>S~mgfu=>@ zBvZ;{jCxeJ7O!bJx0o*V`@lA7gEXZ!oq{Pfa2#|Ls&IJ}Vvro1cc@QN$&i7X-SFPM zcc5sOlUv_}^UfoPbuH`cF<1ofFmdZs+gh1jB$-`dX#$x*;8ygfC{FR*<;BvaT9+*L zx_@@0x?YoiuHSh!>R7WAB!{ApQ(LiVx{ki_!+&!ec2;g;jg(`}E7u;i+4x7pmJsM? zMeyaZH?oG3dFC7}W4F}THR3CU@bqR$1X5fqY!Vp0<XgDQd)KG+MM9F4-S59|Pc!F# zwIz+jx^$JA(l_7N%KbYpka#=8lYC9_B-SW#X<=?%M(haC9>0xsI<?l7r08E@wYc6& z?Lwy`@UJb<yiuz7eWsI6xiJ}+YqIwqpGxYqUm0n)+9dWDa3V_ctdhGN0H7Y8l~`O& zA7^j2?{@zH1dOvhzZB~!-t?nuCHS}M&q4STXC2kPp$?;S=0W9`nlg9`UUlQGI>yfZ zHSHcOTRqb%r+lfeSN)!1u((_OQc2)TNbMWXV#5po&P{mFj(k-fsjb{wY50!PJBKhT z^dz3O*^f|$SxWo6+rLl1@$z47TZpj=H?mRY?W%ful)PJir{CO1{hZ~3MTd46$von* z2*(vI=H?<y;d7j3q29i=^L3`@QMP`Cho>4eR2NR+_)tCQ8T6zemd<M<dx#_Xx#>>m zDSfE#%{J~UBq(yDXcR^OBoox;k&aG4qbD>WlAyrKb<TJ=r%gQ5KKZ0B*uiEwKGhs< zbImM{Jt^I-1!%W>7PZYuuj9A3i=sjUZ9Q8Us2)2w?IURACT4HmE;s|VLaKAS9r(>Z zYZ17$T%{>Hvp7+WIHeb&5Fk^yb*Dz`e(MpD^HW(sJGXT0OBvd`y9%8dqgO9m_?KF- z(yla1d$tzWAL}COIQ~^cNq|TLuX+phDl?jBj#przd1Jt)=P5LqF{etKZ6vR&^L}Sd zqiUKKjo_Qcx4I)$yO>3@A95^YoYh|f!=_wov96|@ltj#kS0SGtD6IWMNxssSCcRJ$ zvF<>vl0LN+wD&eME!DK8B}0{A*w+5mQK=qfq<S0+3ksAfx>LKUeQ)J!dMh0tj5V!K zSkhtA(4a_jG|@pG)sNGUTI9ck<MYL8+Us|ZV|k_+M6zGXtny<o$7;--Oj0yX2qPem zN{aLLtxo2cDnC|(rDV0g->ZLqpChNz(miM4^~_hd5yZ9^8|}bfnc2F7T*-?BJ9E09 z9mIkY5SWE#<w4?*h8=$jQ>dpH>9V(}t{#J<DYo>Jx?Q%v-tNI;9jV|IA2FmvE6Fsc zsQ2R)p65wElc&q7>bClH2un>epxQd**P?jO;og^ikfw#0Qq_FBi-~xSG*QbRa%&Ue zt)GV@j9*;pVk_s6CAyAWH(Y`Eb*&!~>XtIRo*wZ9?ZuzkndOwJ`9L3Zu=lT94@#79 zvU9WM^ZS+hT=_i56^N^uMNw^XUiv?qw_796FJZTec8c0f>Iob1_r2;{13sH9T9gi< z)&5X<{KZ$FXqmjX+@Xk5jAUnuRgre!@$|1J-ix|Er;$pUi`8}WHT91cYWlsW*jbV& zbCVP+v=i8$TFMQy;Px1#%X-nzrBtUnn#tXYjS5sD%T6{zvCCvq09%1Y1Jbi=O$`KN zfz2}{@<j}Cc%u|H0)0go=9irGq&$vAAQbvi5s{33v}XsJQ$Po9N6=!B{V8#tNTlX~ z14li7N?K2)03$nrv~n}T(yK855_lXF+uDp~lnyD~ipXx#NY7)^m+O;`oYIVnL7z%4 zHJ}fA57L&CIHUp4^FU#oVw%iPN>s@?CW3jc^cTM(fGK&;N<Op{9lBC}lys#$&;ouG zeiXfF4tnB&JBMy5eu9ySQ^=`o>~62-@+{yoF&!3~O}ij+QCDuri`)tc1E@7)P}A=8 z$^OfG2bUlKl_xa^(uSILVp5Fbc)O+`VpJ#`4u+4ymX3WX6tqGCLG;BO9-@?WpalBT z9ve9APrwHx_M{`8C;<V_Z_baUDuPZwS{SZ&fPJt!&;k?K3Ugp60373*v#4neVP^#L zNTsF(>|U$&s)`9*1Cv!KxVti8QZ*xZ>Vvj%LF8~K1B@CE91dzr(!e)kx7Ln>C(@48 zaC=Z85OJJPH)oMb02~SlAoR@w_)rgAQS}rI`eT|i&J6<-k&?rTUeqwk;Lr{ZJ*WUa z;*Y|H&N!e3&nAG-57LGpQOyJc)KCBz5s^U7dU5MWHmTYNT6F*i9jTyh9C1o|V>F6R zI1~x1i}+ET44MXgDQFm-dr|;*WQtyQb>f%303U@X)KQM~s@Ob=08CMzYG17<1Em7g zQHD+uo(9D@8TK^AW<!zEq+h%V=}kKf>3k*PmKwFRTC{;7QljEuaLpR>7xb>OPa0?* zGS$~e(X3|sN;3^O%O}WN)Q@WO1<QP(<ert<ctJEj2IE}SZREVVi{>KS{IDq<bKKXd zgv3>n<Zs>T-(%);Y`+Z&I?+#_){0&H{{ScDq0acee-lfpI(Vj88sa`NAnl&s)s6HO zyW)LkQt_s(KBBNl%8~qvda4gv!)^vg;aoV2I*q2<?$2)pb%%^(lv+yZY=VMvF-0aZ z(y%(j$IK2oQG>S_r*r8?)_@w>JOMxrj(YZ|P-p?F2;hoe!j~QCIiLfn<ME_WROE_U zFa-m44{TA}r77u1P6tW^ENi)dJZ6U=oR8&Bws=<NGjONN+zWx%9q74unr1K~EM>k> z-jrKQf^EB4VER)1MHufuqhJ)UI0T*rIutvLft*xi;AWhXgaii0devV0fo2%s3>n+0 z<v^((OiO^+UdxWv1Pr+VzCH0$vnYJ-I3L6*pa+bQ#Rvh9tyOghO1ECsXKZs4#NY+= z>rmV#PEm3PdK$P8{uCdj2dK#FM>PNh`+k&U=Y{;~X$U#U>E3`5Nh3I={3&S%r2r<= zwEFfm4qTj5hDA4NBLDz<&;p8Fcf~O?yChTnr~o9M38hnmO(C<vpab5399SMtUew-6 z<mQ(I^b`^5C;+7WDR|=)9%um=WMEKp#sx20PJ0RfK9s*fNKOWEK;&l~X&?`9D9_Ee z6c)!`p0t2u?!_<^g1r~591bx~UGle=k;%ZJ;&@-mZlm9=Hmny2+iCfL$FQVurHKp1 zc%Y7Xqda3A(gD%9Rspa9J?pH}yhkmsgv=4$NF`~!xT6P#_diPHgl@=OcI*W?URcx( z$AU_bYic!RO6?rDtSvlT6lKxe?sVT1-h3|9KG|m*OEttnzR<%5IOJC=;*S*Sek;|R zR@EOeF{*c3o%Q4^4c*H+uiXUns5<k<;aXP2&ZK!0w0a{9E?q{2UvD&>My%!CeuD3p z7~jPvF~AhO3PvX!3gtZz<bChfkHU_<MJ)g(NacFgf@-$W+89$$k0u{1F&#hJ`qd77 zDHxH`sxoodiPMcll!p~jh6j%3w5&B-Z7W5RJ3!*{XBn6ey1vIXmI-CpSMjMKReYxK zryOU!IL*b~3avO*jit5k_XWXhhL{|;&A9b77&yr%j@5SR-gtD_u5N%LLx|3PY!7cr ztrfKMA$5tFat1)?Pijss<Ba1d-7+w9$n~I~T70(VHZZysan(<1VIg{+Doal5K>Ncu z;(`}B+d;siuTek<**s&40LdRpQZhLd00F=qN38%LBomR(YFv@Q>S(|xIHL^RaX<#_ zbstIz!P}0sn|cAzdeVYH!5@tPUywQU&(?)+;UnvcRxh)a93Hu(49uAzb?sdSVylxL zSaHzO7RG*3anh9RKRXU_*itJM!(xCHikx8Lkq69JAFVtpvH5yZ9Av2PKn-7*9F7M- zX#(yiCkB@e4gsYged+*XDPBPzN@>AA&{OaU$4vFjAzXbi`p^O{C<J4#)KSko(l9v5 zGyvo~TRGyCXPo05xTHD2$E7_$AOng3Yq?w={?y^mC(?#h-MM@9$f19_J!lp60D0u& zicAl=oMMMu9mj*|Nw<%ef!I(MW8-40)AFIdW+V`E`cS0cs_}|N1QK)dpLzxbRk7Zc za;ydiUTFr^YzF)&RSC}Ql4wrBa0E6>D9$ONaCtQGw69$Ll!0(Q_j;~o4^dDOa!2Pw zVDp~csWy-?-j#`H_KqoCg@nM#<DT?j^%MiQvHH@6+5jYb=BnwH76oyDO(|YR4-_{i zgG<3UJ!z{6#Y=EJ@t*X#&j8~ziolbD`O=INiXPyUR)}7M8R<a5I4w;L!N+e}6^r!Z zfU>ZloRU9>tvOsb-{8}D$22N{LvzIj5`&Jt2|&lq>CR0eIFWbm9G(R=q~if|?LsQ> zxWLUjv`bdpR|NLs)|Enm)1PWlwFeFLrBqXf2PTDf!rBPx#AR?j>0?r$Vd>jJ&VO2J zkPg6js<?C<Lu6+ZN9CCmOvO;P7=g$g>4l2886;DKAs>4_)YBET9R5&pv1F(}DI*ya z*8c!!^rabIt;cFc^gpFidXvh<$ot=|F7R+qK9t-kB|+^-Mh?OG({j`~Nj%14F^YPX zB#C<VsIs~Fn;ofLw{Q+>`IA>6twF*QpTJS(1vnI+cz}IqU^iztsBEPckfqtcR&qe( z0(hw8-M8fLPAC5W*G5z>bHL`N?5z<QB&I`-I*ikhvhuHjIRqLT$pNxCBBD^sf*bIu zy@o5f1o@15(ia?L`%uG;-F<2~9dYu0b(?LJw6hm^XCWISwMd%+4aX;`s8b4eCphg= z#^IMCe*;Zy8a7R}@)NP_De;2NS8&Mfj%gqpm=JOGt1zocA&qgn)Q+{RP=`STk1E3& zw)X4CTJ5|mpsaRMURobIec>XvMJ~?W2~Y<<mCNaRjm?zN%59>Qqhtvq$T;<{X!sZL zM()>Hi&VDo{);5`F0)7{(b7+q91t*g8P44MiuCYQ>CUB_)ble6)v43GSK@l7!teMd zkH@ba{1)*SiuJz_MWtTqscScewB1hUWYYy^XWTkPxk%a@oRPrIe68Yd3~F8+y1Ve# ziLK_gztiWEJBxQ-Vs$twLH7o~V{{MNyWm!>@Mcepa{NNGwbN|v)pbiLX2iBKo<we$ z+#evSukm)zZ_BURqxOcM<4=w?j~3Z@Z%MGzuC+;Kw2loXB%P3rpvfjTGajeh*M2__ zhNns`J#F{-{wITy<MRwoCTgTKzonkm^U)p|I>-kSWD&^EN`bJTF7i)mn&#o=eZfaP zsgg_kl!V4IjllxGZf!TA_6T6yIP2+}YqF8|xdxphWvVF|qf)@&lgPzG&|=8sr<vS# z6&gsxBtI02TX#-7)BgZ=qa+`~mF`uV)qr!b5=hD5gHkNn8&5r|J)k%{c+EH>zF0O6 zGuE1V3umb!?mQ7nPaJ<LY7MJ~ZU?O_WD&vQfojDEjQdii)gYC~1EHjB4rzER%>io) zalat`lqkaz2tL$+0t0$cyBvY~Py?_C+}u!QU^eIF9R&cZDa#JOjWxcM0A%N{(~39) zB=t0^0c=x10G@wZ193qZ=8#|v(7@v;-1-_`+@5>T0_HYCU3n)t&or6E7#_cc2WUKW zpa&+<L&ynGc>{uIlW3K;Ce$Z|CnQoc5I8g;L4fO!dV}7o>eddU03nV)EYgBV=APj< zl86;a`BWaB)ZRU6KsfD3Bw)}!_HmjC-PaTah}m#*hcxCwM$wE?;A0i9;XeoK{xiRm zP4M-HpDa+cvJJomMHwXj0G?{02~FBNlH6jh%vFqrInD_0PgPO(M>Q?P4{tL=IuvDW zG9I9gzpX}b+y4O9MY&y=D>2I1{HenutuZiKpMgd0$^rp7J!x~02c;m#QA%;fYOX6F z&#fj$tvho1QhdFI0F{LNXwNyL6kul*3>%S(0LSo-c%|dL8N&i75TIaSiWI7xXE~#X zJvwxxQlo}Eieo=PKj4d3H}-lzh;DR9<2O<3)~>~;F_wu?l7#fZJ-gztz9nk@KGuFU zd}L4fOdWLnMP|Fb(=BJ(w?11CyO3~pmN?CAf592Gd+SdQ_=iu^*<tfFsIH{BkN}Ee ziMFd}?*dQV9M(hld3<g0$Ko`nT7ylBeL`C+-BM@Tv!su^1F+`5YssiazYk#I)!V(k zT<_CO*P;BioML5$<Lu&YR!Kvp)xUDIwzqb-o%HT}i!w*2YqQzjd7@Zy6wT3iILP&@ z&tna>i_bOcIs{ol#`rlS1bY!s_^KO=e~1?rv&Pbv4;*Ge%YmPp-0@!F;Ln3T1=l<+ zt!dsB@x7+AV6*As>E*W&T>SAf%CReQb~2SLIO*$OnkQ1GGuXvGX3|^k+DiWbdfffS zwj!P%0~+-uWy+-e61%hf7n?Xwi%D>v5AdFm;(JG1i+>EI)w7}IRF+0{E_?j7lkq>s zeh=}Uhk4>#KMmUH+MV6Sq*nI!aqW$5;)pA_AKqpeKIXPRY8^`A-^a<JSvss*K8a_i zsxkS#Nb`a}8uLgdww}z{POPr77J#=+qo@^G#YImutpu-Y$6q9)e_aUS%si{)*m}*i zckL{n^GlxIk4D$1-w&hQ-%YU;G5LvO`d4}IYCS*1mpaeGO<q@u9Zu3mhIrF0=c?ra z$2)WU>&`7_{?63IvAAS*+(<o-YSq$wS##l?RO)&&O%?oe28LMM7#+vsTo^n|F!iG; z?5}?`_g``8X4o3I+7qWsM<lslX(yxkKO>%=H`8^&4Z?*m%3^Vjgc3O)g+EoA2yeWH zaC(ll(EMm?9ZyxZ_<^Ha8141Q7HLM_66JW6e=)oM1zfL*VgZu&0lg$uJG~Ej^Kmr( zuUd50sXZTb_J1^c*bGnCFx2X`X4b2;mW_O!(O*l@@3oCpbgM9?MkhIJ1z+zUYTVLo z63X6qZ3@2E+q^g5AoGgEwz$5vh~C@D^GS%eDCByI=(HPU8hXPqP~M~beQId(J1c5D zL#cN8z1<bO`rNg7quJYdFzQ#SAe#Q?%7wQ4tOE_)`&I_0BrS4M)NTmaRvqiRI&P`r zdmR_TP@~DV{gU1tyq0n^k6x8uS@>BmhrDrZqf2kPDJJrkIS(x;&&q!v<z9_U9a+<h zg7<yZ_n$k5%`o(9PBo?PzIi3&oxdc%6Q%IChjhD56HmVTT){2u*k3Dx6(o=lqzdr; zWIAe>2uUGkU>U!NWY^GI-kq&@8^cpyUm`p=%wbz;I>vVP`d5Q^po6T)fwu$zWOOyI zcTH2JP8PFY()-f6hX~h|d`)VX=2F@EHs9RaMHaQ57ZH^E%eZ|ie<dEt8=(i9tnTjH znnFkz`U<;jB71aF-A_SZI<I5yrQ}w;k7FvS$lKPU%M{#3eT84tt%y+h`?Xj?O`A$P zHxvTcj^a@$3Rj?}uPK8}1cv0C`cm#EztVw@VBS$sDT}m6!RNh5TPVtVcBuFqP$VE7 zhv82PjAyrcd=}<s2RtarrcJmx8Q{<{(p)r+hsFm?Q(3x?K}=9N9`y2{MZK7F#wZJd zIut%(=ssVqBxC?X{uI;lfB^47`p^WCxbp^j14{C%Ieec$MMk*JGuE8HD`1|Zjwl+? z>NM{i_-^0fh3|niF9BIksLOpE_Ff<oGS6(I@5V<)Rvxv>q<<#<PB;pCQ>9NR?ovk` zb4e7QTY?7zwL~e#o$b}%f9k`O<vU-Zu)=b4iV%=~W7moZ%Md%BloVs0)nt-Iwc}y$ zz%<7INwYMHN}P_qw5<OC#g1qJ0U743LX6Rpql&GQp1Ag@A&{ZQc%UA_u;i%}p#v@n z$318-y|J2cjD)~BC(?uhqKp6yDF-<ArGY?DT#-sK)Kxdw1h*ydtT+`rIEy6r=}e7M zH1jjwqn_Y0kO;@?QbJcHNq2&;*R?y$RZ^%%M^RMO@twmyl{{>vPBW4)IjU(`O*BY_ z7Ye|zZ@qy@`=HGlasl~pdepImMILJB1ClABVGLwJj1H8O0wEl(<dw(PmM<l42imt7 z!TH2zoO@9urd%Qt53Xsl0k<JAdIRrOs1e9A<VFcx@#~6wAT(??W98t|?^wp%0k~B5 zFqUMRLIRfH6Uq0*DQJp~?q1Mr9iuyTvgBuR<C^HKtQSpbFJ8m#3J|M;a~{$$o;qXR zo#2}^)bAOh3Q!dQD)3ExmHz+)q5X-p58BiAx3~Cz;@ILkZIzUojoy}c8jy@&L!V8= z6YZM$yze)ml;Eo3t1os5wwCVQ7n|80##@4(GQ26l*|)pdcW=ohc6lf46Z;hD{{XcQ z#2t6U-w`#&(LNq{13+zS#d`d)5S~zA78uDGc^L74asaQMzBXHYIg8?kzMlv$uWo!Y zx{ROLlIjs`o#5PdmII}JgMYzdwOv>CF!*b4{{RH`@V|xMKpK{*FNk&NwCT3RcL60~ zx6cKTbt9%gugz#cSk=kE91IR~T%0S5#^*|Ttw!TYe(gAabv<VP0KF%FM3UEYw}^1q zOskhJrOP=--jvsQC1|Josaw_dAc;oh3`+C!WKy=w;6DSUK1VJaEHZkW^r)Y^0iSyN z2ch#S&5k2@<DY5@Y#^!0qA-d#ob%eA0DO>f^`QgoIS)8IQ6W}hXvht_)|l;=+7A>k zTaF9?+E3DvlXC+|3Nzr7nsX2a1qoOl;uhJ*6v-Pb2<QbXki$8qbLq#eOS&DCBn+j7 z4{CE4QMWiA;-gXl1N9XB%v32k=e<?zi2|c=8OC~(N?>em3_%?TrSk!efKRWrAS}z3 zCq1ZXg3*jsW*92WGtMbiGQ5L~eeK<<Xk*%UbGQ&kHPU=N@b8CwbK@v{H{#zC+vqS{ zM<H!eb^X*kP`Atnt}*!5HESwV+~u;>_52p*wCPH$lw-Tw{v73`FB#dA++<>a46U8G z^(M8o9}C{uUq`3em~RA(e3`AEaFKJv0o#t%M&ioyz<rwP(c_pLO&qb6WIsdARBA?B zJBm=0cST|_6~pikBvP|GkjKATM_sXP4Ui586zH6?5TuceA8KM&CXHiTLo>`bi7*iK z#a_I<f@QT!(AM&T%_PtBe24Cky{f*Q9g(_8FCmgdB<}M0z^6?d1en$}ZOT;`WPzTT zHJq&FVW_(_MQNywF8MDskUmu*jO&ocxy3~HbI)$DGwz99nHRE?*A(BgNfHGS@K}@l zsrKm)o?|F5Gn}3Qs<d|yN99XwVst)YACRi?x4vo-fH0(Iu6?QDC4s&|%1ZOtusx}g ztDqp`J;19?iJ{8;ovWTX#XA5d;6_j8Dk!qNjE*^{G@H5%aYDH}v3Ua-rBzZePC4R` z6+E8ZX&-3^YhZS#5S!4FC|cp;h7p+<g#*_-RQkS`aiU!{mZce4LXJPXnv+A*1?x+5 zCE~#qvhH~su6lqy>ALQ@F12#9+%8#DX>d7wbSAWLilxl=dw!=RYgKrTNb3}}?w?Qi zKPFKsoA$Jwxgws!aR`f?^!GI+Fv1E*!3bZxx$8^i`LE}yG<!}|uVd|4y^gra+(;sH zk(yW?HgHFL``2mkivIxN)}7;hKKJ5gk9(--sW|&?pQp{TX~FBYyJEP>WR;{d+-@d8 z-12_4ui*VpQt-Ek?Yu>3(0P_;&4^sbxg<F0gV(Kc;-KnKly7UNv$Od=p1lstEYvX( zlUK7_tFM}RKS!fIgZAF>-|ThbkBB-!{fm49;vEaa_F6hcszu^Cw@Gz)56>cl(02SQ z&%PD->*5B9Ypi%z;qI$-ANKvP+3##&IZKGg%t>B{7~|5pO;YwvO6aumhc4{rXu$xI zNc_*`Qg}k<&My>MKBKJ7r&}!IIqxmOGC>*Y;10h^<)eV5hs)L<S*We%`J1!8t?J#) z{<%_E<yAgb^!I(;^mgs0<q3kLOZJd_!6pKq;ruEA`_q?v1Dt?5Rh?v6CardK+1`6~ zxnTtI4Xo%73`c6J*(4C$6O&$?byqz3-7y0bDPVZUDW^CnpnwiX9cjUL$@28iA4(;S zLlhi=(yG@WNjHIlq-T?nO;!Nz1HCCx+~*$jgfC-NYanky<QDmX80u-ei9BGBT0?@n zRGj+Ki~-OOr7>M0rYs%X>Ln#)`Kn@DVROj#sO3_}pVFdQ7Yi}TCLcKMQwCFkih)!r z=h~)HGnG9%RV|2;Xp&U&wt#XEttM$)nOtQ3DHU0pZaMEp$Q96sj%jegOpG`b^|jo& zW6phPa8T_akUc4L1GvUwfD8k<d8V@~VB;9;idl(l$aqjN2fZ_IIov-wYhqY1z}?p! zu}r`xg*7n&ct52^M$$+>ogB!nR)go`C%<mhdqlF+Zf25AT4J!r5g-GCPims9P!o}w zacLXxV;Jc~T2k1Wu$4+~DcEF-gN|@|XVRl`GmOykF=Ilj6PZ0~4c5b!J=i6_l>Y!P zasHI4w48?e3QgEz+59LVkRoixI(DZ<L~ESok5N&afsT|W2h4h&DZ7P}dH~_EyOU8} zMt5$<;Zl@R+q3kfe6sChlj>-*V{Xi-U5KRm)c#7LJQ6A?lrAyep~a<frkfkbT+%Th ze53N942)5?ZyD)HSZ!QtNAqqqCh`U`+L}jTaZU;|l4xzQqyZQaxoJxb;YBUQ%$Frh zkDa3n#Ye%R+WHAMZAHg9&*w?)OWu%TkPGyr>CGH;CY44{CyD@7AadBP%{i?m(IAHN zQwW0i53?%eh{xXgRuCah4>dGX?2%?ul7toZ#cfJzGBB@4+eItd+W!Dw=6VjH<IQK` zytC=nGsPv%)v#8=<V70}KO9${++AGUNb_7y%+j`BpS*qQ#=WjwYWE`U<ox0=pbtu* zfuuW&VEfkCoJ^}q*Y{S(7GHp;g@xQ#Jgv<8*a`2Ej`gjicuQW^?OyWE(b^UMEF2T) zJ!>gfbc(LP0(#e@Xj<Fo+Eh0BUF34ak^nN}0lV>4gry3zeD6YYELD6pCG1t?-(8IF z0r*eio~=B-6Y!<A#D8p3vPMqON2O!<)8Y4tz8~tRP4PX6hH%(u*}2Voeb>i$v!!VN z01tdA=U!T}we{Rd_uJDVysP5m-Z=4xif?>X;!9~k5*+T&$UUpm#$j-j@V~p1rzHOX z?bN!TJCtU5t|K$PB9tjplDk*;+r5+DX0=x^JU8Ld;uCQ#)};lkHqmc$G?*{!qq(fR zs3VHu<AW@LzCuPaJ!?<Hx)hh%tPpA+yN#F4`P&&$-mL06Y4IktBj~XzzyMJ0Kv7;- zvgV?!wZF~(0K*?lu?n6pN>cZ1pG!yQ)w2MG9jI@Yim`QREv)ZvFAWowka`@{47fZF zwaC?(>A}WI=xC#%qZlCOjx)_6y}*(O0)v`3$>*&H6uONhIb4CzQW8&EPM-9j4%F_+ zdx`T8;-v)R8Km@}{c%q0Li0+kkCgPL@k`X;8dtCi30juU_Io>oxq}<yY^ftP8xXh~ zX;|&R$6B?`aWtf?_AFgq-D(#Nb9FIiZlu&ji5!v51!ayjE~EzKNgZiGRvE`y8*S<+ zD5%;yBTvHmR-g=?CV~ynY5xE`g_{7L!m@Qcm%qK1@#6~8xoj_N*LC186_~swd*SO_ zD8$i&Aa_iMQhCqPxV?U8ZncT0w@s>B0543}RcJyOcsRZFey5j(t6r`?tZG8m(L40f z{x`qj(5R|F0G@`PtjCkunx}08pOg-@$eHV;lCd#!jyjsPqG<Y`h;Np|OSLk}RFbMb z=p9M+s<A}UvcnpdW*`6uTJ*1mvd7`A8tOe4PWxt|JVaj1_zMJl{Gj^(0EKnoXhywN z89Oe&@DDFE$4di-a;C37m(hB^CI0{b;&cm(O%GaojZ8T5k(NI!av$2NYWkJlv3(|^ zbmg8y&f}gtS99UN3B#&gnUlkb1XHA*O!Kj9wmR1ZdujGt$!(fI#y2WidT?s1(y2y@ zPvLF;hFC048yAb4OW#RfZtu3*@2OO-(iD@EPTIXGTm>|KmByLu2Q&|QG7Tpk0jFd! zc<2BhN@FoSDcn;IGsR2LLVam|l!Fv;(3+4IiZVTEIQr&*7ZjNGql|G!erN%6k%~@n zN8?H{Kmv`+lSKuGW5p*KpasPs80u*4#V;MG0OvG!q!{(1k6Hj)Yvhbj<cwmJfWrXL zCdR6h^rr!V#R{MdQO9#YC1FhzoKeLC7wbrJJ5qo<QXfpv291x0Zf|ret$18Sk=i<| zBe)F2`VRG+bK0CFaT$m)+tjXjC)S(ARGeB?MsQUlDRVpB>88rdPrl-)$=v6G)K^*X z^7}!8)<wO#NbUv7G)zu1x#qcE6>;8?S1Y@Z#<ZhV(VsF`GR5Izi=gSY*P*fF{YKAI z@jb=HpCEWcVHggzi}j#&G^!MX&q|7ubt*YNrj#hh4@NZB$y@FamK@{hPFw}t-D`W{ z*MkR*{6`*&W(XVRB=i7vC)&CXihc(0pN8!Wx+b>_(nBYf!Xc3TvJG@o!PTij)?W%Z zt7h0*82I5G`QK%tzSlSk2*|0D#z(Sy;#4BIP&aZ(8R<~*T&*>^=&31Q-2^$#b4W=I zflea>C-9~bmj^wl6rG6_6Oo?XYjWDp!n$peY8N++b#!piTOi<nylViFxM!f}K9!@Q zX!m-~r4@`ZHXVlMAmbIS7S!yO+c3o_x>uCkVz;+npZNv-#m>8YWQO0b5uy$SGg#AO z(w!}q<z$c`X@Y+NJ*&9!6}FS%4Lr7*VU|=-jM4Td*BuAFa1%32BTFwVPtBh7wj!6Z zc9XoB$(LeYEh$r6wAPEvjH7MNDLdAUg{7<5&2e!dFOZh-r`~ow>ZRtNb!Gv&ws`k+ z4!Evo2_<vTRbeT(^<UP6G<ynYRR<u_@##=#fSeIPIXIw!p0tV%NooacZae8sVEM?U z<DoRU9<&TWkU1RDj&qtg`sR$UsGtJ}wFKj*b4GH+8VDY}=l~>)1KyN!DF_6Enld`( zfDC-uqnz~Ojx#|VVu5M|ZXIY*w~WvL0|3x5>p;OyX=wleV>EHzfCJKnB#e>XmjaNG zy+r^oZYVUJI+{4303T6E3lc#bQt&<LKpm(X6BMX_+NP7v3GGS%7#Zn7De6ref;Qg6 zr%YCb=DySD(P;2Nvn*QS^UQ~}W)h4snt4-<{$ACjX40}UsYVqfr6sngvtebc-$6TR zkxJnc_sb9@g{qGk3>5XpI2|i@!P?!vlN8GOi(0#|`M}6!9gSP@hPB~Yjr`gyW#_td z*(gjXTzuHA{gpXUQs&pU`5Zr5#6uYAdpoDIOVf9^Q<4OZz0EH)Y$Jx?=hlt~1lJ+z z3*L@<Q%S>PG=LM*fW3#}lb*B=2PTg60KZB*Qgk`Z98dsA9cbO05$i$0qiXa5fC4BZ zBN?Owl0iM`Nc1?M00WbgSM@C(OB*X|!#c9uCQ(OG^{ND}I*ygl_=sFvTxoa+5L+uJ zn7AE%Ju7N(QiPlG{7!1sX9}>4df)IzJ&~LYd(zapgNbzsoT?1SPwvOd_*6Ln<JPij z%;<}}QvxzEP5F=A#}w>il4%GdfP2yy<Yr&IX<4K>+T2q<Z1BRA6SrwO%>YXk(TwHK z&5Bi=yI`+gzV!eqcp{vqYwo6-0#CC!d;^`w<>HcCX`^DHbB?4`>f_2+LP^Q#PV*U} z-s^*meQK<j6!6^}AB7<VoQB0ZPy-UJ#URH@jV=NKf!2ZVLEv?z<Fx=cY5wu2QwpdV z%{z};0A2@5MmQOxj`R=@6aaIYQ`3rRJdblr$8$gmc%by8IqYyKQ<H=1Kmv?5@6wc< zo|Iq?C>-^m28KDo^`+0P8&q>h#9;IK&;gvCpo&m1F`91E(~3|ObDz$D6pWnE20EHD zI~rUL)BuZ~x$8j;NhIcxI&x{s>#(bLJ!k<B2X=c=63IO2ZybA_*ac8BNi?Jk`x?^l zt1Y&p{i@O`HLe|Z_ad$l=8{Hrs(UI<YoXffUK{ZD!@mPQnXg*A>o>70ZS5X;1M7<O zrY^Wv9R+Ln)5Z7RHPsHGdn?FC8=Ue@V;lfD$KzcXs<i4()YrPSU+_*0s||>uL!S{V z)SJA!U$X3g<dc#5Qg99qF-luKO(Q67wa9v43l{0c0egc;KmY;w((nc|Kn8j3iZXW) zDFkh^832<?KvR>{`_KXNdr&ub$KgXE11j14X#fCZngDf6rm`lb2bmt_G5}W{d8iv{ z{wjP7&`7f@eZ~!gPA<(dWVxcz(0IPi`uA9pJ1s55R>(0NYm%cKa4Qbp>U&292O|gW z=Zx0Yo#MS)Mi*M_R|H&M#9~l;As8p}u6+m~kbC5xTH3RVmoj?4=^S`CRE<ApG`V7u zUT)g&=l7CM)4R0OzFFHWbJn9O3gVtKFxk5RbCXRegN*()f!vZx$U;4Z13uI?3Bt7@ z;f5IX=70dij(u@TIUv#n8~}a#(u^^{JtzTAPeVoqD8L4j11GQGC;%SxV3CIXC>Y0I z#(+uV^%Mc1PI?cmCN?fIX;ql~qyg_pWY}<{JmBWK48cQg0G#A^r^&TfbDz?hK+oMh zIL$k8{v&~pS^!1ejmmSMY8gTdlgQ?c*j`6one9La8Qnk#3z3!QKGZH(k}!QKRIfQ1 zKD2{x0ZHWapaHhI+)4Z?uB06L_4liqW|^pJw{hvZMxQm+%<ZxmEu${(*v<lsl5h_g zs`8-+B~Ju`2<JWM0yY2){&a+7bmP{f^2lAp@##z>oMR(203qj*+ME~W#_!UQjhMjT z@F`0CzO(=pP~SFiX;3nCBZJbCFgh_OpIUa+$6R_)3sGF*Nu~lH4UTb3uqY)|x6+Uh zcq#ar15tmAj{PYalngTd0+fKqXb1D5hy&&Wj;4SGId9#JaZ0<+8$5%WKnNKt)4qDu ziEZtLid+kYX<9~EAPPZH0_|+{Im!H})Nbg2hH^Ka3C<{GQh4o6V8D_=9B>Uk04EER zK!n^$!is2DIbqoJr)NDBj?`moZOQu4)GWj#s)b`g3NpZbX>dv84rn29@}I(*T3mKW zRUwlgbRBU`QIHM~y(k-3IP1kCvwiKPVw#X&O+%G5s@do}P>Ko8b3hB80P9pI9&0hc zl5#py;4)zFeQBx`HcdNdDoE)-^m?%e29%aPPX>_m8z>y~G!6T}G8;doF89C+dQu(- z6un3UaZM$-oKomGI~F@z@TKGpz@K_%>^9Q4Us`@gMjfcXQx@ZKaz+7sd(&|nuJC!! zQ$vjNj(bul&OxPnp*Y&ZgKTVV=8T0vp??ueye}q@0?Gi-1D|?#WA|3-<F<5eymX{# z4l=9A;+PqUC3C^YT9oY_SDyZqU9w){AjmoEN=HQofB+-`+qEQZ{o~2?s^+kT;EWPF z(0BlDppXwM){&Rx7$%NqVG6{LxM|J-!5@uB5jkMpNaCEiQId1@rMRteb^-J57^ul& z+^-#tJe-VU1JKg2`Ef@m?AaMVH$O~Mc5{+HDwAQ)Cp4JabJmU6($I;{6ofo?#YOV% z*p7Ybed;osaC_7&V`U{*kb4S*k_&`o&=Lm~G(fuW1u+Vg1THh$oQDAIPHFWeJF-}b z37pl0KRU`=APi(xXphV{a52qHtQt?4bnjY0*%Vt#i4*2YP7kTAO&`R6*!N=iIA;n$ zOp*vZ9M&7Up~DZRC~1+7M+a{~T1Kp(?ueB*%~_qz@5G%{_+wepbm`_>Jy6=U+%k}N zyiCOodf;w2`d1~WYL9skibl>lWL0>tr~53C9stG&9`#Y(6|lMK&TC4wr#m?_I#gjw z{HyxdW2oQ8deSgZKt1}<Uva@4QnO+_Zyv+exgO@^EZ;VHrcOV3xOb<qJBK7^wK#-5 zN9j{%VeCb-2a(#Gn;aF}^d^`TnR;P!$*DH5ZG>^uP>|fT6-aIe1HCm7PE<GH>rW&o zBmwlK8$R*CB>Gb&-L^dxW0B1Yr#{qy*LDE!N}22WP%DZ+JmaMz5=L96wFQV?I%m>| z$i@K2){RXRQ`L^ge9#F7gTFl~O8lXT=7BX7gam_;o@reN-W};gd~MD?l`YkrmZ*kY z9q1TsJw-b^T%8CqRA6R-*C+Cz;EZHvurzIu5t@Y}oIrpMR8Y(U{olrnV}d9PmCiV- zBnCY_=@?{m>r30E9Yp{lfDhJ}7(7vo^N-Swv;Zh#*aNjI#Or`T1dNV5QXl^ST`M_a zGUc!^GI~%0a5{fl21ow@s+Yb86nCHi`qsaMykV~RBUVjoK)Df4fRC904i9Drtz>&r z6V5T$tyCu{OPV{0r6p!r)wNrVXHvM;Z=5{05*Lu7fHxkz4wY0Bnj|dP$v=%I>=3|Y z4zx;6PV6mZpz+58^QQ;E!S791RXa!raLzp_BnHPFJ5yT^QS7H5EhxuN&XG<>N?Zff zQvmDD6c1cbI?w_5QQoDujyHVBaZQ{e$?~>pxpcUbR~d|xLBZhB_)*^&sTkmJIsB=P z2JW5d%p0aS#T!O==M>iA(EI!T2_LPU2jRA|%YSbS(re20YU`FRBO`J8bgwP=k>W40 zc%#OC8NHpB@_!NuT*)C3k|gJm=quH~;E}OuHy;W0={2n|OqM$8Tt+q%=3xd`aQmd^ z8R^Y<2gS?T+v3NKF7Cuz+g_ZsB=Ez30D5A-VU2f%;Y=i=zRO>Fk^Ikx!$T9|W^kWJ z2lGxA`98jeKC9uaBTM-028rUY5kiIxNSc+A^Oc>3=<o-lV>R?&?417qvqy(NV;_uu zF8Hr~8+=!n#JX*dfvq+XEbz?xB`OC1e9TDgg|CwnRJqgsAVaNKO7O`mgbc071Y_{8 zS^bqf9Ns(llXawDsg~zTfv@6Ors5}sgAzgNKvVhG#o+Ms#pdvICCeu?)!p<>KP%|1 z=6;cy;wk0)JyGJl=th#}>8`2zYWwW8N16O!)l*yev*ImYManJX0G9`A;V_^NQ-N51 zKGUr<;}wpBsSE2Hd6}(mRwABm;2DQJourZYR^Nua6|ekM@s_BXeDKCrJFQCY>grIc zAyQqOlloOj_2uzii=cQVEv?oKI%(27f;N|DIo!v;wRzZ>%D1(tKlynl%Ix)g%Imeg z<o4ZJJz4Y^Ny7>3Xwui%#VM<=b#gvgZNIwWmDZAN?2cOZL7sgT^}A@u{q7xoDAeul zUrn^tQq|R5?Rkj#O99jCgIcyayf(Jd=(mgvb56=YIpkz+`c|FJo|iue5v11P3uCHC zqRTj9SPU@yze?ea2vvl+UaB|wroTsX)T@iDLZlRyj%q7+qffGW-5f>cxv9;dw}&3+ zn^d?n1S2I_fC(O*Dl6I1{5u$pxmUpr*EHiB7IsLzcYBQ0Tfos-3v&DkG6DKmlPS;b zJLzNGr3z8f2`z8_VriFv*~zE8VDE7tbJQP7>NJa1Yb6Q+U*a9JT#b`5T|^LaTxY&( z)Vvwsoma(HtSlBK5RfEkUmbs)c3`R1uTs!gb~rOi_<R*7Qlyk)eOvB!UIw|3!n*H= zJXbUkH`%SFnPYRoVbPD{ORIR=#^c72Ykncp1O1-h&4m~~dC61n)|1H7uWe<phF~Sq zt;Mu*H}R6hoc>ipYlpb;Bvv|xn-WQPVp%4Ye&Z;{N54w@2Psme7)9xH`>W`+`J{eP z?CIh$GOINCxn#Gq<-3-jDL342#;+P$_>$93w6nZSMh~2)sB>NosIoSpIgI6e!U4^9 z{yvvTwvCfdO|4@YCO|$}-#9J#*PKdAGcg@sB>VTTmd<fA#9}Wk&(Zi#14{*gv@dTz zTZ-HQM|!cO5$5yTpfy>))&3Pdn>1`B9jnJj)w4$KHl8Lv+zPDd_WFM33(4qunzID{ zaA(FUhNV1$Og0MRziiX!C3I9)+;?NY0+;T}5BE<wrAA%`Gx$?jfW)8FQXQ^LtY>#; z9eN6mNXh}YW3^bZNL&)f1XQ;c#&skfdWr~6%&M~p?b<aNW;mwK3I!vQah!@s)ufcD z>N-`K&`)ZjFT77Cg70Qkb=X1A3_E(zVg;9B&(@WrPyu7!gTrp^Kn*LNy{SI5V1ihh zR$ZVI-hd8+KJ@vdMhPm8cJe8J;E$~%6WGuMvp<^>w@$|t#`#VMdUCKa<8M7pGw&Sw z&;zG+b`2E{;n$v`nT&CYL4tNr1K^Cv7&~B&nD0zE1g;6kT-32UD~3VJ^#YwL`G{oh zPc#6LKu8aaibhZ~#Xc9rK3_Z@YB^be<GlbiP8%TO)}%>{Qtkse?NP;(o#TpC0F#s7 ziU7D7=GvTKaxp}qP~lHF=}{|rX~8(5PWI$r_V=e`h;7_-Vo8%`cn6`VSvEH8WK^!j z6!C*nT+3@Ln=D~ujX=kka!(we&YRz0)hm#&8$)8AjfCW2=dB@76PkJ=1`5?%2$(Z6 zarn|R1{h<`DXtnYO1A`esFp^^1pYOc?WM$I*iB0;uziv*A=#uQyu@X|UrZmRM&m7& z9Y-}7Rc84{aaXvLBno7}XX)H}Rmf!fVTu{>Rw040a6qb2s3aU7PeInEkIF(w1$Olq z=9IP?c4wyiF0hIl8Fk4dNaDA3j&MjV^BxFV{Vo3hgL%Fnd^h-K`&oF`;%AC4E#uRC zGvLW@#og?iB~Tf6s;M|2j(-aLqtJD>wQo64`C$l9Pb1XVMd9Cw8uo>6sNLwAt=*N) z?Xz0Q_LA*Mtz3NQ`1RtxM~HH2*|rL$2v3qywVkhPNj<vl_@6<QW2oUP##4>eq@B03 zi%#Ep`X&DW2P%Ad_#^vDe1Gt^vGDg;wVP924g|Qqw4G&y!yzsauy}Rd)BG#*p6lQ@ zh?>{Ln%9N(do5#1@ZOyj-lM47Ir8F3Tq3FTY?3g2DVBa5{@?J8=ZZCd6kEdvn{{mj zmeSmAo@JAF++N`^&*5F~f<7{zhrh8$#D9eP4z;Cj@z;v9=x2q;`f0Vc4JaehGTU-< z)K+<B3l)&%bg-Cuj-;bBo07HprktLeS}nA;*w+zL36I1|r0McUlSH1r>{?#8cIkI( zd7dGzYX1P*t8Ea|ZQ%PgxQlhVk>=z0+uYSQAVq*_Z>^1u+go|-AzU5Gaw({%VQ1~r z74|Su<<n#5X4`jrj<;KRA(gIfHZm?_TxWl^Mi>FpsOE-`YhyVkl~50qj%n=4(T->1 zrfC!@JAmm)<(%+1p+gQw<xb*p&{i8?a9q=uB|1`q7!39FrS`z4^br!NB#eD%Bn}pZ zP&f)kJ!x5a!9A)qu}R!+-~l9&^r9!p=xI!4FnTHIPkJNVs_T+7jxkG8i8g|`QT3s4 zNLF46!KH_GHsg)GX~_{gfFyuE@aC;FMYXV~-cRp0cl@dB%JQS{-lLQRbDC<vjVi3b z;fM@-fliz>QnVi{1;|639D3AgaoLt(oY^>z%2$p~NR=BHKGpAE4!>+~4|sF-WAXn0 z!9N-NBGI+of5o!EH18Q++9A8r<BzH##!hk6SI+a9_5iqLz{2A-By%028D$3?lZxTS zW%z7#6l*Klrn+jK*W#9)PP{fMwiUNY+Unj~o|*7>!v6rXmya}!XG-|Z<BRVJ-`m&= zjU!iv*xW~RChQoRG0sTnM@(~GcYmZ>+G@8pdNul9+r=}icPP6=iU|R*dS|UvkQHVK z$CW+kYn9)E>ZGSG2Ty9!mL7ELPJYp~FS6}r>817aZFVMgqdHNCB29HyyY<%EdU}^M z*_zsHM=sLC4YX$?(z@~C%|^pfx7RJ~<CZmvB!_GSEU(vSU#}H`rRvs$L-Ll&6uN+` z!8lyBob);474-+~?eSy9zYcy8-T1e{9s|&|%lUN})6Ld2^qksWJ8&Uf;Q<HIysY0F zh{94+rxe}oX6<|V^gTSM2ZzO0aH}SjuXL}sk>T1G?C<eI;#4=DBk;$DC%bv?SuL%t zp=0L03pyqSH!pSTTz|wrhMqh4Q?H*5c=yAz>DO`Xf3wcGIA93>0QGjS)c*k3N5wx3 z{w`kYUKH^chqZ`)A?iA^OLJqS%q?NIc%1GKBH(8k+(mqo{{RJX_)UG_KibR0@xi0t zSZMR!qiJwnmL&;|e8Qyl8?(=?eAZ3H*o<!x&nvA@lF@Qk>Xnv``mJ<!*3F+qoN%2i z21y*kolbkSwCMWtE}gB>pDMwBI^|R(j&Ko~a!`5-(eXBkK8}{Jt7-oLXL+ICimF38 z@q>@XlUeXqz2S#O)-1fGmfTAT^8pe@c-%dCs?zIPuA>Qr?wupI2=3}wtYGnidUNSt zew&+8i_rKtrPErO43eaUTwtCKdr<1-hB|lmscwek+!q;cPJf+2#&)l#QCgFA)Rjrb z-sYTIBZbG!>rlo@<nGH3)cC<?2;B`<#7o}LmOGgeCWbi<!SgsB38jK5WhUh!`2%BU z??{nJD+L6z<AAHytiyKtdb&e^SdHY5PDj#|<n5rMl6GWDKqeN9r#&{);f8f$Bg>L8 zv>Y05pDfoeb0{RQ%=j4ww4jy<Zf(BS=VnyMVFPheMo2$S)s*DXv?7}<cq76(e~C57 z^lf)ri%U(8?QwOu4iu21>x#*|zG)evGd!{^n2u4vRU8ag=r8;fx8N7-OQ&hS2s|b5 z7sMA({73O8h4j?bbSc>*wzZB(hnI0YofcQ!lh4+^3-Ql|;qWJn^$!cdc@5#yu3FyW z;@yKp@~I*AAL3k&4|?#jEasMXhmImDQRY`slC!dHU(G(9&tEmmr<T=~3#oF+#mRMj zt>tgI->H_6&mFM47E+WBR9pzo+@DijZnNQUhdNKeT@%Fdc!N@37HS%uz`D|=vi|@_ z7E6H~$u4;%vIzF98^0R(tNsya{1yGJAkqcj+Lp*D3S`C$9y#gKsp{I*#<_I2H%g&Z zLdJ@4k$^fV?Owa5TBPFd%9FmGRkTj)t?#F8&pl3zAktTDC9g+x+g5!#U+y865{|Dk zhK>0Hx%$^p;?IM=C-4t~w7(em<4L>IM!grAqFUVBlzW)L=1?0SyYz1L%g1vekqV#; z4?JfT-Tu*kAN+gq_gm4gymzflc={HF2AQX{oCx5IVNpjw2kTQ=;@&2lVQx)%pIsJ- zdcFH1sH`Hx)RjxQStzcTZC$@bf0@8ZbvrxF9u%^LAyjZG1#QO%igUuiDaR!9?MWjm zu0Q~uzyLWx#=c^^m6nGKT|;hP8>uj%v6D!LoMN1e6t;2sRR~<+gQ+5##1Kl3w2r{Z zl5<YVl`0n)pjwOtf^7ug^`y@f?XA<d)|kPRFdaUWnz|}2Tu|GG(wz`v^LD7g+)9Dk ztVA%F#Y$zpM+RZQA4-}O*qewMKE0|KuxAC10HvO7&GH^QVw=_2hSDc2n8|*WnMdRr ztVTe^0|(^_I#J3i+>%C7l|A~AQ7SPQT$7qo2yQ=0cbdX5st7){LQ7FXvNqNOk4j{_ zNXg=#m+QauraEVlO2sa2q*4WOoRNb_U56d1#yyLVdSFAG)V;>M$527W?!&DaSo6H{ zdT~rsxk`-iX%}^Cj^~^XJ64y6JUx4_+`YZ4#)de{k2K?UJ63WdINlrZt*-~`_PQpb zX1q*-zbg*J9Q3W|#+#^=_Be5~tr`+^m%Y$tv*A5+Lti%b)a@U81MdBPwVV;i&lm=} z&l3DiZD!8$$~c{#_1EnaIqW(BJ69*TXKD^J&0ZojBRf-fMtOZqZAur!N0we+*MIX8 zOf~}4w$_(7dyFZ&%U#Ew)fnNkj{cPR=bA88Bq|8O!Rjj&Wx3k<n$vNB25`h<H5Jr5 znB$yOrHB}QgP^G8m2vWlmijY9nN)(mE@=tC&MD4L>TWaIve7+C*4hBZGm2jP(T{3E zJt+dZKsXcu-hvnb#V_GN0H7gblS$4gK+i!!)B%PMT1<1Ap4tedkSx;dUZuaKK{Ep6 zCj&eWYHe7aWqSx*W}K`CIPJwXM{H*Xmyys?1+J{WplM&)*U4=ol|#&oJ1?ztUlV>4 zj|5rS>l%Ko72U1sWp*}NBmUQ=bN(OH?zF4HEwmxokj5i#;@w*wCDg90G{L1_K5k@D z=O%Ns3iK&`UEyWTAA6(i{{Rkn_@|Cpl|N@YL#p2W-<7-kj1413)pgsGXQkOmJc_w1 z8fOBwd^O;$PWxDf!%&H%R(xzH88xr)W8yZQ@aIsty|}gyB=EFo>@pM_b*Jio6rj|6 zL~r8L#Bq*dcvt7$>-g5RXyDZt)SUh6>W*wyD>Znklxb4564G7S>0b;axbPCl)_Qaz z25pnd;1V(KS-%xE_3?$B?Z1U={P74PXN_}~HN^OPRM-4-b2o>q^#N}4%fm?_1p8yw zyKfC@ko+d_t?z_yqF?Px?5fB{?Z53;xl0l4@czwvwDs4|vh_YU6M*`jJL?Y9#9e#3 z?bc7zQ_nm(;H#ZQE^QfJ;{EMU+2c%+3Gce2@V%YYq_?^i)wzx1h|HN8<$G7Gd@}L3 zf<7C`bE$ZPNppEEsR@P7_F#T$;WceXOxE4CYc;sHzY8ppNUMd$NdS)H6~#Oy3RK}J z%ih-O%lyw?j%kd=SFKKT+NbW?T`%Qsip%dgzYutD&(r?^;VQD8KPkxjL_5BC-1XzQ zu69KufTurN^gj*@9~9{>_c~|{0W*~wa0grur%K@UB(z)kMTu`DNJLxu;8&H3qZFf3 zJ2UCBtW`<MbSJz&E{po;RoL0)k(7bWJ+}SRO#yIu?OaVG+Pe^`1309|ITWhL_=nS) zQr?3VHcUB&_r)Eld-S9u2Z{vR1OEW)r2q;~!jy^xCtfM&6pnp*(=qGKC>&EjP8l)Q zrLc+%twIZF<O>{<1$I4#YO4IJxQdoMJD|ogNAs(Svqa4~L8NqEKS(3Cv`C*GS!6^C z1_g6U=KyZ4{{SD`J*?12G^2l07;KziVAnjO10->Z+Z6u*e(sJOsU?7px8L(7OPh;w z%LMG3*A2Aw6wAkfjAj_hVlW>ksi@2R)H`orF~xJIbz{9kE>{|Q(x!J~G`kHaE60CY zNfmO%mF2~S<ad_L1IBkQMn-GWd@A=^gz&+5RuAm}KGP&iv}_!beJjnh`%`<U!)P=6 z$pGW)UZLXsG8;JCNrK^_jA?vI21&pK{&nhL6q1zsD{1|G$INHar0Ub9_N9G$C2z^= zV$a0Ch*}qi?3YIH?8z+2362nlD*~RR<Eb^|s?6Uru_T<5d(aB8#yA}~q$(8d^zB@@ z%w0@W?$wgn9+p*=(aPv@LAKuQ?!=R?6qp#N96uD&gYVZedLE#CX#nj@l6dv@q><4E z(bkifKpMvfXgT$!iZRY;#(PlRz%ibpl+m*%7^Q4rang{|xZDHy&_+!d_NDwN5S=JA zeiV101;?c(GfR(ZOnXoPfkptM9kD_60)P&2?@NK#6rY7IJ*WVr>6!@dO(f*vfj3|o zcFE~Z7#s>k0+xV|*9?086uqej(vH0V`cMu^AaU!8LCHMPf=?opFFa5}ZcjsF!+s3Z z{7GqXe{VEV!D>gG@;(R$rU!b<y0-g0+?K04$QAG%dKx00c!Nh2?4gDnD`P)eYa9$9 z{4rWNQ{+i4da@x3%B-b1UN2>By<br<0mn+ZG+8a|lK%crDP<qIL-(8Ts~#HBBh(~1 zh17sU0}nBKpZ>K~*Y!({V^x;^M&l(>M*&x`6-o*;`K8xl9a&Vb?4i?l`7i7BDmxO` zBOGx<jj4*)@Mei?tm+c|s$@vufu(UH;BYF2uW@a4e<YT0EO6%ttLQ3SHmRw;rN<E& zS9GGaNjKYFipqBmDbU8!$RdpicHjZr`crX^)zW+`T^27F!K!$L@o8n5r61nMLHL?< zY5Q8L7q!KStnk=r)wSGJ?cMhIoeq)Vi|+snaej8qeHd-Kuu7iC&||H0UOe#)uDhuS z^te(xOLf^E!H+PGt@+gcG4XBRjy0?A5?)@I_cq&GasAGlN2e9fIYOW#eMzpoO?Yy; zRK6abf8=?2b_%1Yu{fXNTU549{&re@;|ATljxo}k_l_}6ECTERQ$Zlt3*7eXEVw6V z9R)Bc>za2btr#AaA!JEoXK|?ArJbF-Nh6*S21)!YZsWz%S=tLYto*6t9$9s4V;<F? z;mvyc!<UVHrxjTmCP2)*jQ1XfsYvoj=2v1%9Fl8z&)LH9dcDqCn163l)grl8-S5`^ zTNYDUx{lW310gMPN1W%W9dT1>J{#6`$fdf|?Ak?za>06^r>$n=b8*4-u7gjq@iv{M z4QVgrw-&!V5r!b2f2BH0+DqQMOR+ebiiAIRXtvh<dUXDgYr|SqzL#|aYbzp8a{FS9 zN6i@Z=cPB|t&Ey>u@;;|C`h*u@3@@z%|)c@I<C8`{{U>>v3XIB>6qh_(0f!qHo35# zYjwA{X=X&l!!vIAv)I>6oIa}3T3=5y&8G_g0NRn1-QAti**>0$ZLa=C4j2x(_MnnE zAIg_#BL<Kz4n=v#y!Q~XJP|;C%s(1X*j$rJHn$_11h*8@cg+|SWM`*J3e%_&lS#El z-lK5z`qGilN(7o=j(Sq#(v!U|J*XI+X#qR2p46v~pPeq;4B~(j9rH*_bON5lY}&OM z$8X0p3Esn$9;9<abjUP{GEOK1<jnw`#RC)po@odUGn!liF^UEUC!wQ~al54^(mw49 z4tY^P3K+NHMmx|4tr+&86Sy}|!jV|go`>m8U%NmK_x9$5=n156x+%&5=|BS!*i+U| zmu)p8+;-LN6*O^tzuRpox53}!{p{n4sIF-wMCZu|D__%ckpX}sJaiO@`3EhP1HE*b zMuVp=t399F;!tf_l4(cF86e;vdgmooiHdIxgN%-c-n6MsP)WZt8aS9&n~ZuS{_%qc zoKW2;9ZwXBGPQ})0AyqyX>p#k06OB2!hiw+IiTnKDEuhLwEzkT>S*_%kUG+3PXd5K z`(}pV40_NM1IKy~(tr$OkUq3yjs+iuE<LCLZJ{?;QCp~N$m#(Dr#04imeR%>2&dGq z43a{-V2BUAJ7>@e$M6(Z^LV<+F8=`4G`Mr=*P4%8xRy(sue4peIJh7o>9ki>Hlabb zxBU+?x}9uvV4ajz{`YUwQ#Z_J8OKwcP^6QBrjdqQ1Jad77P(JLQ3{jJX+q<Yb4!nE z2%uwE?;KK*lST)nFX2E5(u0~m3OmpP;gG8cuy9RUcSe9NN2O6<asc)0YDnbS^6l%z zQg#M27$jr87y_LjP<UQ_>8I2RkP{7^+59O+I^vNB8OM5dJ*WYt4?@P23{rVudegDZ z03aFWlyZ90RA(a;qaSvF5a%Z&py1M}`2o!s2dJQ+JpTYHI)G!n2c9WV1?~CLV+?2j z>C%@Zaw$4=6ufzPAC&+h#yO-YI*!y2xsWIT3}kaa0uooPF2y})00Gj1KqT$$KmbCc zB+?FBpGsUDa&!1mf$2a71~HB(+B4FPp>k;n1D{#|Rm(3XmvJmWJa_k|lk)HfHKV9n z>9FbcmzFH~kw}pwKg2taYHBT}$duG%lk5IhDDXb*CPr~Xe8)JXWd(7HMTb#A89#dz zfri`~P(eIU0ug`)bImAF$Cbx4IUoa$^bwJf(Dk4L0CVX{wN5cc7w>kZU;sE20Hc9S zURws7qmG%RIYW}P0H7%3bg7yN%wBP~V4vQ{6#yU*agOKdTM=qaruc32`?TKkoWzXZ zaeZo`6(;WOV=A>JO)gb-*^*>=0N%vy7#ZzW^dApu{wUR<(R4coxVfB>6jAj*;Z)TF zD9P#H*0y{n;lCGa*K$9Ep_%8liKISD;ex2iBe<%kA8Ao5H|e=Jnu>)9Pnkx`cd~wa zXl7qn-RZaT>6(lU4A8krV{yu`I3khRo-Lqv&q{3aO*HQ<!?VcDOS2r3d(j=kE&&^} z_*6Sw);!#*`;8#3asWN)xB-C2<4!4(O97v)HFs{o9DOMi3-b<rX-EWPzBr^HW1*o) z>9&9n1KaVZ4CkdG`{M$gKnb)C^aFvx;*?=WN@xK_O#o;WDyNZ(MBR=?dE%tDk_DY5 zo)0!PBXoPV?jD)#NDA@}P6sD(B>iik%uM9q8dkwv75r%i+yVv#1U~EmoKOPEgM~w% zdR34x#>}63X~}LfIO&RA*gMp5oKOJ&0K09t7&HSK@<%!AP6{L^DVz=|tPfHGf!E%E zEb02LrK4&QYT7=bacgq}2ZH9-W=SJpe)5oVq<V~SY6q31W|CLj$0V~hNy*74)RJk9 zkGikTAUJGo>(Y*v0zoNUNP$Ti7-5l2I3%3#J5sWU_#F*2DGig5J7Rzoh9ClYG%FTU zoE!>Vuxt^}U_}TB1hQj{9yrYcwzm)-gMpfI#;P{@ccDU`mmR4KI=(Uw9MCdY;C7AV zz`}u_n;yfC^$Ac$(a6n8j+w?m$mfc0$QTtE+&BPG8;u1)$?MP)KvA6Iy)Mn%;~xIB ziWyEe{<H;!DnkYf(v_cJ0f#=MQ+MN#=kTRtpS&~p&;kZ6lGy1^A9sQH(@c0d3Pl+z zdVNg;y@k(w{S6p=XMG_#AY&sKCY%t3#(xR{>Ieoij+EShHy)tzN)7==rnUjbXb|RY zzyqGWskz#u5IWJE42nS^1Cg9|J?H`cTWsC|!R~2z3yk)r`HsuAPs^O+-i(H94z)^6 zAY0rN<Iswc85@jK1{7z#3fLT<rB^|#ravbeK<_~rI6QMe2RUC#2<lEpy#;Ns5WN8B z)|y)fr|CfhXeU2f2_u&|6z)TA+KO^8X=8NTwFW%_q+)m!XXOB{an#ZxYeYCocJ#>o zX!!}r$tTvD<yDT}4m#6GVV%8?Gzn?3D`Yk{j<k!C{{Sx-q*vU)gYwej19EZenp&bZ zO(9u|oDTH$EJq{rrZzYk`qPICxD3+(Qk%D^$@Mgaw|B-5dSE1yPfXK@`El>sng<&X zX8B1Jk+EZvIi!4*Do<{d#Uu<c&*MXAL-!ruGV|Ee!9B-5^%{?tao}f)l2{~xfRu8| z2<JQ=lz>CGZ~%3raukD}o~DEVH$3~&I<d&bK4v|36tO+1ZKb+&=}kEbFf;Ttok`o8 z8*FM;je*uObKav1&QvJ;DqM5dtwihrz&+|-#Da6X*WR5FF5oW&brlxl#>VHkr=Vqh z!#O=@L2Xkl+gnRKf*91XJ%Fc46G11I>w-FhYE36nlT5l>nDBAIQYm#S^uN1nfe1{F zK&=&&Z+%65NH-`_Nv4vy1d)O`sN`~7s;3>PjVKR>JPv?Vr(u(alWPDtKBl66IW3w( z#h9EDF~_wcVb3Fvtqt5SpsJ^KdWuOK2RlYF#Yi^ej^5Q9kWLTeX$~smc84E7Om?FL z9jog~rHK2K;6cyJ`5u%Hb+E<-hBkrkLMd0|la4S&JAgBew0+~yiY$ucNpE3Ulwe>1 z--<#b##0<pGVUMenot18Z)!T3Z0*!Z8Gz1dROLfsnopN@3D31ia5w{=!ho>F$s=** zqyYL4YDDB?-iF)`6n$tIs=Y|3Y#aIXrr_r!QpU_&?jK43nG|3aBN-Vd(w%mYK|4in zKbV8=HZhS=@4>+tq-R1%Bk`)buo1ak-*n`3q!JvJE7FzF0lRnONUQT;jQiF)GPcxJ z<c@gtr|k;F4tS+Viy?K4?NSDDz|Tqx0gUllB+{`rxY9Ou$TS0!j0!x)Bb?)?8K=+# z94<c^ZaJrrGFqFok&JQ<XaNAA@z7F*`AGtiKqqnJbitql1HByPf<P2t`hK(kV~k>g zIq6BsJt=XH-6#Pc0D78he5tj0=dC{j8P7D(xEb_0paoI#f)9T5xyM>)B;>yw@k-w) zC%<ZYD}d!7kTXv>JZ`9hsoT%xPR7<57^^@(kTH?P13t8w>V0}rfyDqB$2sXiJmi`Q z0lLwg98dr~H&KI}((~ILDF6qL=RjJ(r=6tsrQi?7jss(_9jRlD<R@tyb<H%L!293+ z314GArSQsFBZ^dxJ!)BJo(98gMFfoW{OiGdd0=&q+6TqjW`S!p?6(^9>jO3%V6i;* zC+S~6f59=}5qu4~l|-rL>hf-5krQKRJF)ezIPl+tbo=kxC&u>n+TgdAJIzMo8*50u zS>sq_a#WwY(~kA}=3y89sbF7d{{Zc*{%F8s79Ye6@~3NCM*h;?+P!*q?0AUMwM*-{ zwXHJPJbGuB4aE4uqZZqP>Q5k7qJGQkai`sQzr~|bc<(H{J9>8K8;hx5$2qT}zhsYr zo)Ynw{1J2ZrudtzXb^vI=-x8$+0t$@4Ct#gUm~8MA35@W!n}|6TJYzE8{p^1C^fAr zc{OG5iYJHXw;;&{(6|iB4sbzGLG}i|BQC|dIJb##Z;`jA`bU5JcK7)osOOkvTPt{8 zbiJn}Zua-56>pnvD@|GR?CY(`1=YrbG@{lUDAQ1uACv_@!hN$`<&^gU+F0iyP?8&` z8O3btvfSH9Z6cN9Nl|{)5}%erIp-ZlYLeO~{3BD%1d%us07>FR7|F+|uNM(F&86<X z?R$Q{XV_q)Xg8&ut>5PU`*~P`DAw$)z-9;=f_>>P{@DhX6~UBwcT+O2&DU=oE7-m) z_!r<0hkgxwHt|P*ykPgb{=1~K{xi~GU)||4s})r(-PnBCt`ow(8*deA{vXm4O=*(i z_F}j^NSpef!n4EBSgm2Zc3bbvmfgJinb*h13l%vlC9A!*QIx(-TVp%Iw_n+|_r_f& z8-%^IFqf5c<gw_(--^oDqPEj~F8&|X^mdO_j_qXoLmqsRI2GOavqG`(UG?6TrOh1h z-CO2Y+r$sNjicORxE)hV)wL}qO<q}y(X5RbX&WtpTH<Nd!>38=;+pAXudnH^O^k3g zsA8JLuXYk?ty*oQt*1_@uDUZ1Lq&a3J~E)>SEKl5O-5_KvRhs>5Jo)dK5PO)*E8_X zOoHRYDK+FuV7CF}56}$v_O9Q=-cgG0Shl!{jMK;-7)Ao90{~;7qXR-pm$kmnZtJNz zzBV(j^=ododZgd$ZGP_McsxOIe_?&6*j*@V$voFBzySwb(*FR$&C+~J;P~{NLeeWs z{XDacN=GH7jPbEYuYbb1c<v_B^x3cDkyIGOSUi##@+%L-GiicYhL)@mAOZKDt=!X= zVOpAPJ=L0hRsR6a?9Le$7QI_E^l7HIO(lExO<7x1H^p8dZxHGND9#~{9g+P9f30DZ z3dM2_S+%xnmS!Y_)EcicDVe;mbDRqC=Q&i9l%A~m+B9K@q^ZMXAY8vnddjHkxZoa? zTtu-V6>PupdsNct$rX$@t8lDj&g2J`Bc&vpDb$L!`j#PWvYc?FW~=H^?mMx-;8gGt zDF@W?NqZW3Up_$xG+yAhGt}+*eQAUi<20dxaf8&*_{q&9M6N2x>I$nKdwSICc<XEt zcs=>+Rk;i}?@k9JXzQ8*#SR1s1fIF(q_>%num^%TsIoR=9VryDbL&8YS3OT&^wjyr z!p4!qIn5{=4&W#$?O-GWwvoxlKZg|c83B(&-i^N@EIJM-60sT#uP2Puk*H?+b*Ho{ zEqAE;)JW{A&+2Kd$#<}*#WDv^N}A0>$<u(f1EC5e>6((#Ll|P&`GyBHhTl=Mk{t2v zOjp4G)7W$0pITU<49r+`9MC)22qgn56z=uKCiXug9tS^-D=yxhDF_FsqfkjP0|hxe z(g4nWUi9TpkmP6HpJD?^>$jQ*rG||1r_!0Rl!kMVO<1^9QNA(PtwSgvaC%V5CT9f# zgV55)x6UMrtd4VopK7qXlx`sN)}8K!&~$;F@tSK5t=5ppLBag-PLpm&%f@KjHXf${ zFz4!Mc0YMrnq#)!I?=th<JPRr-41DYa`GJFmPA!$5V&lpCj+6V+osXi9cn}vP^YhY zLstyoV;~xm+-@Yqa6sxRDG`Hi<B`zTpNFhP<-)`aV?B3zcd4^($a0)v7Ui-jC61wS z9M@LRNa=0^Pa=*JJ<Ucu$3oLSH!n<m>h_%j#9shBDf=yW^TRiqRmIPbb&YbyJqGPh z?yc+>b5Fa}mf8h)(6w?@7s&2KbJD9)rCN}b8swFeeRNLi%I&X_tw>T-X;g%-&l|rj zTC?-APv%Pm`(*O)LbCvX{W-3y!}@%2X`gSrmOX&}=_6oUcW~fyistP!`<IN}G!isw z;Z{Js{RM7m?{%liJ-qfU1d*`ZCg6oW-n6k1ZCMwGlv{mmr_A~T_B;KJJ{kVe-v@p! z{8jN+#vL=mx~G9O0e7M3w`?PiRGG4NmOa2y0376s`K!ba;en^wu90mo+NDzWj_<^0 zBy3PRi~-NReuRF>9}K@^Js<uFH}T8jH^tu;*y<i8yS%hbKSzq=W!1Ec#9m$wTP4YE z*cJK9eH>9tL`NzQ$Vz}n?Vo!2+=CfcFwC*4QkNw<iZM-DX$aok^>@`S_jf&<+Jzh@ z3l5@}G@{(Q>eEl|X>Y$W=tDoxICcR*P%;H5U<h23p7hCb?Um;}IH`3104f{EWuDwl ziz>6k$A-b^eXHu<yRq~3xY3sRun)a5M9S}8D%|R~SF%VVR9(#J8lDwN>G)So@mJwg zpAB@s4r?%YmfKOb@h*-pplC7-UoldSJ1`*DPQ5r(j3n&kx7~O68pe%BPE(4yjj!|5 z^EkpzK3=As6RPmTp5~Z%;+!IL$gQ<zT165LTREij6iJ3$j(Di@+knYFxTy$MIU}g) zO}i41fx&Q??MTc7z>|!3#VmlP3Z^)y$lM7hIPFs1(NRO>k(dN#$OD1tOKt;TJ9py) zy&|ug!Cgqe<LOp>q?2ny8%7iy`<hostwn+YRLHZ18NnFpD%0AD2FqCjpj?psD%PE* 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�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%0Dj{16lN;`pWEuh}cbzYBaF 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 C5ww*6 literal 0 HcmV?d00001 diff --git a/wallpaper/horizon.png b/wallpaper/horizon.png new file mode 100644 index 0000000000000000000000000000000000000000..dba6a6c199e71d049b3312bbb59fac49d148d09e GIT binary patch literal 192146 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	r4@^&;Mqj5 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 F^*7Fz^%DR9 literal 0 HcmV?d00001