@lvce-editor/static-server 0.54.0 → 0.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1843) hide show
  1. package/dist/static-server.js +1858 -1858
  2. package/package.json +1 -1
  3. package/static/{05e6417 → 911942d}/css/App.css +83 -83
  4. package/static/{05e6417 → 911942d}/manifest.json +2 -2
  5. package/static/{05e6417 → 911942d}/packages/about-view-worker/dist/aboutWorkerMain.js +3 -3
  6. package/static/{05e6417 → 911942d}/packages/clipboard-worker/dist/clipBoardWorkerMain.js +293 -95
  7. package/static/{05e6417 → 911942d}/packages/debug-worker/dist/debugWorkerMain.js +2 -2
  8. package/static/{05e6417 → 911942d}/packages/explorer-worker/dist/explorerViewWorkerMain.js +69 -44
  9. package/static/{05e6417 → 911942d}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +3 -3
  10. package/static/911942d/packages/markdown-worker/dist/markdownWorkerMain.js +3131 -0
  11. package/static/{05e6417 → 911942d}/packages/renderer-process/dist/rendererProcessMain.js +34 -2
  12. package/static/{05e6417 → 911942d}/packages/renderer-process/package.json +1 -1
  13. package/static/{05e6417 → 911942d}/packages/renderer-worker/dist/rendererWorkerMain.js +21 -18
  14. package/static/index.html +4 -4
  15. package/static/05e6417/packages/markdown-worker/dist/markdownWorkerMain.js +0 -3906
  16. /package/static/{05e6417 → 911942d}/config/colorTheme.json +0 -0
  17. /package/static/{05e6417 → 911942d}/config/defaultSettings.json +0 -0
  18. /package/static/{05e6417 → 911942d}/config/fileMap.json +0 -0
  19. /package/static/{05e6417 → 911942d}/config/webExtensions.json +0 -0
  20. /package/static/{05e6417 → 911942d}/css/parts/AdditionalDetails.css +0 -0
  21. /package/static/{05e6417 → 911942d}/css/parts/Animation.css +0 -0
  22. /package/static/{05e6417 → 911942d}/css/parts/DebugButtons.css +0 -0
  23. /package/static/{05e6417 → 911942d}/css/parts/DebugValue.css +0 -0
  24. /package/static/{05e6417 → 911942d}/css/parts/E2eTest.css +0 -0
  25. /package/static/{05e6417 → 911942d}/css/parts/E2eTests.css +0 -0
  26. /package/static/{05e6417 → 911942d}/css/parts/EditorHover.css +0 -0
  27. /package/static/{05e6417 → 911942d}/css/parts/EditorMessage.css +0 -0
  28. /package/static/{05e6417 → 911942d}/css/parts/FeatureContent.css +0 -0
  29. /package/static/{05e6417 → 911942d}/css/parts/Features.css +0 -0
  30. /package/static/{05e6417 → 911942d}/css/parts/ImagePreview.css +0 -0
  31. /package/static/{05e6417 → 911942d}/css/parts/InlineDiffEditor.css +0 -0
  32. /package/static/{05e6417 → 911942d}/css/parts/InputBadge.css +0 -0
  33. /package/static/{05e6417 → 911942d}/css/parts/Key.css +0 -0
  34. /package/static/{05e6417 → 911942d}/css/parts/KeyBindingsHeader.css +0 -0
  35. /package/static/{05e6417 → 911942d}/css/parts/KeyBindingsTable.css +0 -0
  36. /package/static/{05e6417 → 911942d}/css/parts/LegacyDialog.css +0 -0
  37. /package/static/{05e6417 → 911942d}/css/parts/Markdown.css +0 -0
  38. /package/static/{05e6417 → 911942d}/css/parts/Progress.css +0 -0
  39. /package/static/{05e6417 → 911942d}/css/parts/SearchToggleButton.css +0 -0
  40. /package/static/{05e6417 → 911942d}/css/parts/Select.css +0 -0
  41. /package/static/{05e6417 → 911942d}/css/parts/Table.css +0 -0
  42. /package/static/{05e6417 → 911942d}/css/parts/ViewletAbout.css +0 -0
  43. /package/static/{05e6417 → 911942d}/css/parts/ViewletBrowserViewOverview.css +0 -0
  44. /package/static/{05e6417 → 911942d}/css/parts/ViewletDebugConsole.css +0 -0
  45. /package/static/{05e6417 → 911942d}/css/parts/ViewletDefineKeyBinding.css +0 -0
  46. /package/static/{05e6417 → 911942d}/css/parts/ViewletDialog.css +0 -0
  47. /package/static/{05e6417 → 911942d}/css/parts/ViewletDiffEditor.css +0 -0
  48. /package/static/{05e6417 → 911942d}/css/parts/ViewletEditorWidgetError.css +0 -0
  49. /package/static/{05e6417 → 911942d}/css/parts/ViewletExtensionDetail.css +0 -0
  50. /package/static/{05e6417 → 911942d}/css/parts/ViewletExtensionDetailHeader.css +0 -0
  51. /package/static/{05e6417 → 911942d}/css/parts/ViewletExtensionDetailTabs.css +0 -0
  52. /package/static/{05e6417 → 911942d}/css/parts/ViewletExtensions.css +0 -0
  53. /package/static/{05e6417 → 911942d}/css/parts/ViewletIframeInspector.css +0 -0
  54. /package/static/{05e6417 → 911942d}/css/parts/ViewletKeyBindings.css +0 -0
  55. /package/static/{05e6417 → 911942d}/css/parts/ViewletMedia.css +0 -0
  56. /package/static/{05e6417 → 911942d}/css/parts/ViewletOutput.css +0 -0
  57. /package/static/{05e6417 → 911942d}/css/parts/ViewletPanel.css +0 -0
  58. /package/static/{05e6417 → 911942d}/css/parts/ViewletPanelTabs.css +0 -0
  59. /package/static/{05e6417 → 911942d}/css/parts/ViewletPdf.css +0 -0
  60. /package/static/{05e6417 → 911942d}/css/parts/ViewletProblems.css +0 -0
  61. /package/static/{05e6417 → 911942d}/css/parts/ViewletReferences.css +0 -0
  62. /package/static/{05e6417 → 911942d}/css/parts/ViewletRunAndDebug.css +0 -0
  63. /package/static/{05e6417 → 911942d}/css/parts/ViewletScreenCapture.css +0 -0
  64. /package/static/{05e6417 → 911942d}/css/parts/ViewletSearch.css +0 -0
  65. /package/static/{05e6417 → 911942d}/css/parts/ViewletSimpleBrowser.css +0 -0
  66. /package/static/{05e6417 → 911942d}/css/parts/ViewletSourceControl.css +0 -0
  67. /package/static/{05e6417 → 911942d}/css/parts/ViewletStorage.css +0 -0
  68. /package/static/{05e6417 → 911942d}/css/parts/ViewletTerminal.css +0 -0
  69. /package/static/{05e6417 → 911942d}/css/parts/ViewletTerminalTabs.css +0 -0
  70. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-bat/README.md +0 -0
  71. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-bat/extension.json +0 -0
  72. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
  73. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
  74. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-c/README.md +0 -0
  75. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-c/extension.json +0 -0
  76. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
  77. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
  78. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
  79. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
  80. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-cpp/README.md +0 -0
  81. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-cpp/extension.json +0 -0
  82. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
  83. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
  84. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-cson/README.md +0 -0
  85. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-cson/extension.json +0 -0
  86. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
  87. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
  88. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-css/README.md +0 -0
  89. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-css/extension.json +0 -0
  90. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
  91. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
  92. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-dart/README.md +0 -0
  93. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-dart/extension.json +0 -0
  94. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
  95. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-desktop/README.md +0 -0
  96. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-desktop/extension.json +0 -0
  97. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
  98. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-docker/README.md +0 -0
  99. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-docker/extension.json +0 -0
  100. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
  101. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-dotenv/README.md +0 -0
  102. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
  103. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
  104. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
  105. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
  106. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
  107. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-elixir/README.md +0 -0
  108. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-elixir/extension.json +0 -0
  109. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
  110. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-elm/README.md +0 -0
  111. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-elm/extension.json +0 -0
  112. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
  113. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
  114. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
  115. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
  116. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-gn/README.md +0 -0
  117. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-gn/extension.json +0 -0
  118. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
  119. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-go/README.md +0 -0
  120. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-go/extension.json +0 -0
  121. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
  122. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-graphql/README.md +0 -0
  123. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-graphql/extension.json +0 -0
  124. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
  125. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-html/README.md +0 -0
  126. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-html/extension.json +0 -0
  127. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
  128. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
  129. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-java/README.md +0 -0
  130. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-java/extension.json +0 -0
  131. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
  132. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
  133. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-javascript/README.md +0 -0
  134. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-javascript/extension.json +0 -0
  135. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
  136. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
  137. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-json/README.md +0 -0
  138. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-json/extension.json +0 -0
  139. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
  140. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-json5/README.md +0 -0
  141. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-json5/extension.json +0 -0
  142. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
  143. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-jsx/README.md +0 -0
  144. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-jsx/extension.json +0 -0
  145. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
  146. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-julia/README.md +0 -0
  147. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-julia/extension.json +0 -0
  148. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
  149. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-kotlin/README.md +0 -0
  150. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
  151. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
  152. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-less/LICENSE +0 -0
  153. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-less/README.md +0 -0
  154. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-less/extension.json +0 -0
  155. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
  156. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
  157. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-markdown/README.md +0 -0
  158. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-markdown/extension.json +0 -0
  159. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
  160. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-mdx/README.md +0 -0
  161. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-mdx/extension.json +0 -0
  162. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
  163. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-nix/README.md +0 -0
  164. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-nix/extension.json +0 -0
  165. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
  166. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
  167. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
  168. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
  169. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
  170. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-perl/README.md +0 -0
  171. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-perl/extension.json +0 -0
  172. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
  173. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-plaintext/README.md +0 -0
  174. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
  175. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
  176. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-powershell/README.md +0 -0
  177. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-powershell/extension.json +0 -0
  178. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
  179. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-python/README.md +0 -0
  180. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-python/extension.json +0 -0
  181. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
  182. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
  183. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-r/README.md +0 -0
  184. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-r/extension.json +0 -0
  185. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
  186. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-ruby/README.md +0 -0
  187. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-ruby/extension.json +0 -0
  188. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
  189. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-rust/LICENSE +0 -0
  190. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-rust/README.md +0 -0
  191. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-rust/extension.json +0 -0
  192. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
  193. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
  194. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-scss/README.md +0 -0
  195. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-scss/extension.json +0 -0
  196. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
  197. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
  198. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-shellscript/README.md +0 -0
  199. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
  200. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
  201. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-svelte/README.md +0 -0
  202. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-svelte/extension.json +0 -0
  203. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
  204. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-terraform/README.md +0 -0
  205. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-terraform/extension.json +0 -0
  206. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
  207. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-toml/README.md +0 -0
  208. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-toml/extension.json +0 -0
  209. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
  210. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-typescript/README.md +0 -0
  211. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-typescript/extension.json +0 -0
  212. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
  213. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-vue/README.md +0 -0
  214. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-vue/extension.json +0 -0
  215. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
  216. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-wgsl/README.md +0 -0
  217. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
  218. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
  219. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
  220. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-xml/README.md +0 -0
  221. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-xml/extension.json +0 -0
  222. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
  223. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-yaml/README.md +0 -0
  224. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-yaml/extension.json +0 -0
  225. /package/static/{05e6417 → 911942d}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
  226. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
  227. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
  228. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
  229. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  230. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-ayu/README.md +0 -0
  231. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-ayu/color-theme.json +0 -0
  232. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-ayu/extension.json +0 -0
  233. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-cobalt2/README.md +0 -0
  234. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
  235. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-cobalt2/extension.json +0 -0
  236. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  237. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  238. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-gruvbox/README.md +0 -0
  239. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
  240. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-gruvbox/extension.json +0 -0
  241. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-high-contrast/README.md +0 -0
  242. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
  243. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-high-contrast/extension.json +0 -0
  244. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-material/README.md +0 -0
  245. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-material/color-theme.json +0 -0
  246. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-material/extension.json +0 -0
  247. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-monokai/README.md +0 -0
  248. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-monokai/color-theme.json +0 -0
  249. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-monokai/extension.json +0 -0
  250. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-noctis-uva/README.md +0 -0
  251. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
  252. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
  253. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  254. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-palenight/README.md +0 -0
  255. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-palenight/color-theme.json +0 -0
  256. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-palenight/extension.json +0 -0
  257. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-palenight/images/demo.png +0 -0
  258. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-slime/README.md +0 -0
  259. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-slime/color-theme.json +0 -0
  260. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-slime/extension.json +0 -0
  261. /package/static/{05e6417 → 911942d}/extensions/builtin.theme-slime/icon.png +0 -0
  262. /package/static/{05e6417 → 911942d}/extensions/builtin.vscode-icons/README.md +0 -0
  263. /package/static/{05e6417 → 911942d}/extensions/builtin.vscode-icons/extension.json +0 -0
  264. /package/static/{05e6417 → 911942d}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
  265. /package/static/{05e6417 → 911942d}/extensions/builtin.vscode-icons/icon.png +0 -0
  266. /package/static/{05e6417 → 911942d}/file-icons/default_file.svg +0 -0
  267. /package/static/{05e6417 → 911942d}/file-icons/default_folder.svg +0 -0
  268. /package/static/{05e6417 → 911942d}/file-icons/default_folder_opened.svg +0 -0
  269. /package/static/{05e6417 → 911942d}/file-icons/default_root_folder.svg +0 -0
  270. /package/static/{05e6417 → 911942d}/file-icons/default_root_folder_opened.svg +0 -0
  271. /package/static/{05e6417 → 911942d}/file-icons/file_type_access.svg +0 -0
  272. /package/static/{05e6417 → 911942d}/file-icons/file_type_access2.svg +0 -0
  273. /package/static/{05e6417 → 911942d}/file-icons/file_type_actionscript.svg +0 -0
  274. /package/static/{05e6417 → 911942d}/file-icons/file_type_actionscript2.svg +0 -0
  275. /package/static/{05e6417 → 911942d}/file-icons/file_type_ada.svg +0 -0
  276. /package/static/{05e6417 → 911942d}/file-icons/file_type_advpl.svg +0 -0
  277. /package/static/{05e6417 → 911942d}/file-icons/file_type_affectscript.svg +0 -0
  278. /package/static/{05e6417 → 911942d}/file-icons/file_type_affinitydesigner.svg +0 -0
  279. /package/static/{05e6417 → 911942d}/file-icons/file_type_affinityphoto.svg +0 -0
  280. /package/static/{05e6417 → 911942d}/file-icons/file_type_affinitypublisher.svg +0 -0
  281. /package/static/{05e6417 → 911942d}/file-icons/file_type_agda.svg +0 -0
  282. /package/static/{05e6417 → 911942d}/file-icons/file_type_ai.svg +0 -0
  283. /package/static/{05e6417 → 911942d}/file-icons/file_type_ai2.svg +0 -0
  284. /package/static/{05e6417 → 911942d}/file-icons/file_type_al.svg +0 -0
  285. /package/static/{05e6417 → 911942d}/file-icons/file_type_al_dal.svg +0 -0
  286. /package/static/{05e6417 → 911942d}/file-icons/file_type_allcontributors.svg +0 -0
  287. /package/static/{05e6417 → 911942d}/file-icons/file_type_angular.svg +0 -0
  288. /package/static/{05e6417 → 911942d}/file-icons/file_type_ansible.svg +0 -0
  289. /package/static/{05e6417 → 911942d}/file-icons/file_type_antlers_html.svg +0 -0
  290. /package/static/{05e6417 → 911942d}/file-icons/file_type_antlr.svg +0 -0
  291. /package/static/{05e6417 → 911942d}/file-icons/file_type_anyscript.svg +0 -0
  292. /package/static/{05e6417 → 911942d}/file-icons/file_type_apache.svg +0 -0
  293. /package/static/{05e6417 → 911942d}/file-icons/file_type_apex.svg +0 -0
  294. /package/static/{05e6417 → 911942d}/file-icons/file_type_api_extractor.svg +0 -0
  295. /package/static/{05e6417 → 911942d}/file-icons/file_type_apib.svg +0 -0
  296. /package/static/{05e6417 → 911942d}/file-icons/file_type_apib2.svg +0 -0
  297. /package/static/{05e6417 → 911942d}/file-icons/file_type_apl.svg +0 -0
  298. /package/static/{05e6417 → 911942d}/file-icons/file_type_applescript.svg +0 -0
  299. /package/static/{05e6417 → 911942d}/file-icons/file_type_appscript.svg +0 -0
  300. /package/static/{05e6417 → 911942d}/file-icons/file_type_appsemble.svg +0 -0
  301. /package/static/{05e6417 → 911942d}/file-icons/file_type_appveyor.svg +0 -0
  302. /package/static/{05e6417 → 911942d}/file-icons/file_type_arduino.svg +0 -0
  303. /package/static/{05e6417 → 911942d}/file-icons/file_type_asciidoc.svg +0 -0
  304. /package/static/{05e6417 → 911942d}/file-icons/file_type_asp.svg +0 -0
  305. /package/static/{05e6417 → 911942d}/file-icons/file_type_aspx.svg +0 -0
  306. /package/static/{05e6417 → 911942d}/file-icons/file_type_assembly.svg +0 -0
  307. /package/static/{05e6417 → 911942d}/file-icons/file_type_astro.svg +0 -0
  308. /package/static/{05e6417 → 911942d}/file-icons/file_type_astroconfig.svg +0 -0
  309. /package/static/{05e6417 → 911942d}/file-icons/file_type_atom.svg +0 -0
  310. /package/static/{05e6417 → 911942d}/file-icons/file_type_ats.svg +0 -0
  311. /package/static/{05e6417 → 911942d}/file-icons/file_type_attw.svg +0 -0
  312. /package/static/{05e6417 → 911942d}/file-icons/file_type_audio.svg +0 -0
  313. /package/static/{05e6417 → 911942d}/file-icons/file_type_aurelia.svg +0 -0
  314. /package/static/{05e6417 → 911942d}/file-icons/file_type_autohotkey.svg +0 -0
  315. /package/static/{05e6417 → 911942d}/file-icons/file_type_autoit.svg +0 -0
  316. /package/static/{05e6417 → 911942d}/file-icons/file_type_avif.svg +0 -0
  317. /package/static/{05e6417 → 911942d}/file-icons/file_type_avro.svg +0 -0
  318. /package/static/{05e6417 → 911942d}/file-icons/file_type_awk.svg +0 -0
  319. /package/static/{05e6417 → 911942d}/file-icons/file_type_aws.svg +0 -0
  320. /package/static/{05e6417 → 911942d}/file-icons/file_type_azure.svg +0 -0
  321. /package/static/{05e6417 → 911942d}/file-icons/file_type_azurepipelines.svg +0 -0
  322. /package/static/{05e6417 → 911942d}/file-icons/file_type_babel.svg +0 -0
  323. /package/static/{05e6417 → 911942d}/file-icons/file_type_babel2.svg +0 -0
  324. /package/static/{05e6417 → 911942d}/file-icons/file_type_bak.svg +0 -0
  325. /package/static/{05e6417 → 911942d}/file-icons/file_type_ballerina.svg +0 -0
  326. /package/static/{05e6417 → 911942d}/file-icons/file_type_bat.svg +0 -0
  327. /package/static/{05e6417 → 911942d}/file-icons/file_type_bats.svg +0 -0
  328. /package/static/{05e6417 → 911942d}/file-icons/file_type_bazaar.svg +0 -0
  329. /package/static/{05e6417 → 911942d}/file-icons/file_type_bazel.svg +0 -0
  330. /package/static/{05e6417 → 911942d}/file-icons/file_type_bazel_ignore.svg +0 -0
  331. /package/static/{05e6417 → 911942d}/file-icons/file_type_bazel_version.svg +0 -0
  332. /package/static/{05e6417 → 911942d}/file-icons/file_type_befunge.svg +0 -0
  333. /package/static/{05e6417 → 911942d}/file-icons/file_type_bicep.svg +0 -0
  334. /package/static/{05e6417 → 911942d}/file-icons/file_type_biml.svg +0 -0
  335. /package/static/{05e6417 → 911942d}/file-icons/file_type_binary.svg +0 -0
  336. /package/static/{05e6417 → 911942d}/file-icons/file_type_biome.svg +0 -0
  337. /package/static/{05e6417 → 911942d}/file-icons/file_type_bitbucketpipeline.svg +0 -0
  338. /package/static/{05e6417 → 911942d}/file-icons/file_type_bithound.svg +0 -0
  339. /package/static/{05e6417 → 911942d}/file-icons/file_type_blade.svg +0 -0
  340. /package/static/{05e6417 → 911942d}/file-icons/file_type_blender.svg +0 -0
  341. /package/static/{05e6417 → 911942d}/file-icons/file_type_blitzbasic.svg +0 -0
  342. /package/static/{05e6417 → 911942d}/file-icons/file_type_bolt.svg +0 -0
  343. /package/static/{05e6417 → 911942d}/file-icons/file_type_bosque.svg +0 -0
  344. /package/static/{05e6417 → 911942d}/file-icons/file_type_bower.svg +0 -0
  345. /package/static/{05e6417 → 911942d}/file-icons/file_type_bower2.svg +0 -0
  346. /package/static/{05e6417 → 911942d}/file-icons/file_type_browserslist.svg +0 -0
  347. /package/static/{05e6417 → 911942d}/file-icons/file_type_bruno.svg +0 -0
  348. /package/static/{05e6417 → 911942d}/file-icons/file_type_buckbuild.svg +0 -0
  349. /package/static/{05e6417 → 911942d}/file-icons/file_type_buf.svg +0 -0
  350. /package/static/{05e6417 → 911942d}/file-icons/file_type_bun.svg +0 -0
  351. /package/static/{05e6417 → 911942d}/file-icons/file_type_bundlemon.svg +0 -0
  352. /package/static/{05e6417 → 911942d}/file-icons/file_type_bundler.svg +0 -0
  353. /package/static/{05e6417 → 911942d}/file-icons/file_type_bunfig.svg +0 -0
  354. /package/static/{05e6417 → 911942d}/file-icons/file_type_c.svg +0 -0
  355. /package/static/{05e6417 → 911942d}/file-icons/file_type_c2.svg +0 -0
  356. /package/static/{05e6417 → 911942d}/file-icons/file_type_c3.svg +0 -0
  357. /package/static/{05e6417 → 911942d}/file-icons/file_type_c_al.svg +0 -0
  358. /package/static/{05e6417 → 911942d}/file-icons/file_type_cabal.svg +0 -0
  359. /package/static/{05e6417 → 911942d}/file-icons/file_type_caddy.svg +0 -0
  360. /package/static/{05e6417 → 911942d}/file-icons/file_type_cake.svg +0 -0
  361. /package/static/{05e6417 → 911942d}/file-icons/file_type_cakephp.svg +0 -0
  362. /package/static/{05e6417 → 911942d}/file-icons/file_type_capacitor.svg +0 -0
  363. /package/static/{05e6417 → 911942d}/file-icons/file_type_capnp.svg +0 -0
  364. /package/static/{05e6417 → 911942d}/file-icons/file_type_cargo.svg +0 -0
  365. /package/static/{05e6417 → 911942d}/file-icons/file_type_casc.svg +0 -0
  366. /package/static/{05e6417 → 911942d}/file-icons/file_type_cddl.svg +0 -0
  367. /package/static/{05e6417 → 911942d}/file-icons/file_type_cert.svg +0 -0
  368. /package/static/{05e6417 → 911942d}/file-icons/file_type_ceylon.svg +0 -0
  369. /package/static/{05e6417 → 911942d}/file-icons/file_type_cf.svg +0 -0
  370. /package/static/{05e6417 → 911942d}/file-icons/file_type_cf2.svg +0 -0
  371. /package/static/{05e6417 → 911942d}/file-icons/file_type_cfc.svg +0 -0
  372. /package/static/{05e6417 → 911942d}/file-icons/file_type_cfc2.svg +0 -0
  373. /package/static/{05e6417 → 911942d}/file-icons/file_type_cfm.svg +0 -0
  374. /package/static/{05e6417 → 911942d}/file-icons/file_type_cfm2.svg +0 -0
  375. /package/static/{05e6417 → 911942d}/file-icons/file_type_changie.svg +0 -0
  376. /package/static/{05e6417 → 911942d}/file-icons/file_type_cheader.svg +0 -0
  377. /package/static/{05e6417 → 911942d}/file-icons/file_type_chef.svg +0 -0
  378. /package/static/{05e6417 → 911942d}/file-icons/file_type_chef_cookbook.svg +0 -0
  379. /package/static/{05e6417 → 911942d}/file-icons/file_type_circleci.svg +0 -0
  380. /package/static/{05e6417 → 911942d}/file-icons/file_type_class.svg +0 -0
  381. /package/static/{05e6417 → 911942d}/file-icons/file_type_claude.svg +0 -0
  382. /package/static/{05e6417 → 911942d}/file-icons/file_type_clojure.svg +0 -0
  383. /package/static/{05e6417 → 911942d}/file-icons/file_type_clojurescript.svg +0 -0
  384. /package/static/{05e6417 → 911942d}/file-icons/file_type_cloudfoundry.svg +0 -0
  385. /package/static/{05e6417 → 911942d}/file-icons/file_type_cmake.svg +0 -0
  386. /package/static/{05e6417 → 911942d}/file-icons/file_type_cobol.svg +0 -0
  387. /package/static/{05e6417 → 911942d}/file-icons/file_type_codacy.svg +0 -0
  388. /package/static/{05e6417 → 911942d}/file-icons/file_type_codeclimate.svg +0 -0
  389. /package/static/{05e6417 → 911942d}/file-icons/file_type_codecov.svg +0 -0
  390. /package/static/{05e6417 → 911942d}/file-icons/file_type_codekit.svg +0 -0
  391. /package/static/{05e6417 → 911942d}/file-icons/file_type_codemagic.svg +0 -0
  392. /package/static/{05e6417 → 911942d}/file-icons/file_type_codeowners.svg +0 -0
  393. /package/static/{05e6417 → 911942d}/file-icons/file_type_codeql.svg +0 -0
  394. /package/static/{05e6417 → 911942d}/file-icons/file_type_coderabbit.svg +0 -0
  395. /package/static/{05e6417 → 911942d}/file-icons/file_type_coffeelint.svg +0 -0
  396. /package/static/{05e6417 → 911942d}/file-icons/file_type_coffeescript.svg +0 -0
  397. /package/static/{05e6417 → 911942d}/file-icons/file_type_commitizen.svg +0 -0
  398. /package/static/{05e6417 → 911942d}/file-icons/file_type_commitlint.svg +0 -0
  399. /package/static/{05e6417 → 911942d}/file-icons/file_type_compass.svg +0 -0
  400. /package/static/{05e6417 → 911942d}/file-icons/file_type_composer.svg +0 -0
  401. /package/static/{05e6417 → 911942d}/file-icons/file_type_conan.svg +0 -0
  402. /package/static/{05e6417 → 911942d}/file-icons/file_type_conda.svg +0 -0
  403. /package/static/{05e6417 → 911942d}/file-icons/file_type_config.svg +0 -0
  404. /package/static/{05e6417 → 911942d}/file-icons/file_type_confluence.svg +0 -0
  405. /package/static/{05e6417 → 911942d}/file-icons/file_type_copilot.svg +0 -0
  406. /package/static/{05e6417 → 911942d}/file-icons/file_type_coverage.svg +0 -0
  407. /package/static/{05e6417 → 911942d}/file-icons/file_type_coveralls.svg +0 -0
  408. /package/static/{05e6417 → 911942d}/file-icons/file_type_cpp.svg +0 -0
  409. /package/static/{05e6417 → 911942d}/file-icons/file_type_cpp2.svg +0 -0
  410. /package/static/{05e6417 → 911942d}/file-icons/file_type_cpp3.svg +0 -0
  411. /package/static/{05e6417 → 911942d}/file-icons/file_type_cppheader.svg +0 -0
  412. /package/static/{05e6417 → 911942d}/file-icons/file_type_craco.svg +0 -0
  413. /package/static/{05e6417 → 911942d}/file-icons/file_type_crowdin.svg +0 -0
  414. /package/static/{05e6417 → 911942d}/file-icons/file_type_crystal.svg +0 -0
  415. /package/static/{05e6417 → 911942d}/file-icons/file_type_csharp.svg +0 -0
  416. /package/static/{05e6417 → 911942d}/file-icons/file_type_csharp2.svg +0 -0
  417. /package/static/{05e6417 → 911942d}/file-icons/file_type_cspell.svg +0 -0
  418. /package/static/{05e6417 → 911942d}/file-icons/file_type_csproj.svg +0 -0
  419. /package/static/{05e6417 → 911942d}/file-icons/file_type_css.svg +0 -0
  420. /package/static/{05e6417 → 911942d}/file-icons/file_type_css2.svg +0 -0
  421. /package/static/{05e6417 → 911942d}/file-icons/file_type_css2map.svg +0 -0
  422. /package/static/{05e6417 → 911942d}/file-icons/file_type_csscomb.svg +0 -0
  423. /package/static/{05e6417 → 911942d}/file-icons/file_type_csslint.svg +0 -0
  424. /package/static/{05e6417 → 911942d}/file-icons/file_type_cssmap.svg +0 -0
  425. /package/static/{05e6417 → 911942d}/file-icons/file_type_cucumber.svg +0 -0
  426. /package/static/{05e6417 → 911942d}/file-icons/file_type_cuda.svg +0 -0
  427. /package/static/{05e6417 → 911942d}/file-icons/file_type_cursorrules.svg +0 -0
  428. /package/static/{05e6417 → 911942d}/file-icons/file_type_cvs.svg +0 -0
  429. /package/static/{05e6417 → 911942d}/file-icons/file_type_cypress.svg +0 -0
  430. /package/static/{05e6417 → 911942d}/file-icons/file_type_cypress_spec.svg +0 -0
  431. /package/static/{05e6417 → 911942d}/file-icons/file_type_cython.svg +0 -0
  432. /package/static/{05e6417 → 911942d}/file-icons/file_type_dal.svg +0 -0
  433. /package/static/{05e6417 → 911942d}/file-icons/file_type_darcs.svg +0 -0
  434. /package/static/{05e6417 → 911942d}/file-icons/file_type_dartlang.svg +0 -0
  435. /package/static/{05e6417 → 911942d}/file-icons/file_type_dartlang_generated.svg +0 -0
  436. /package/static/{05e6417 → 911942d}/file-icons/file_type_dartlang_ignore.svg +0 -0
  437. /package/static/{05e6417 → 911942d}/file-icons/file_type_datadog.svg +0 -0
  438. /package/static/{05e6417 → 911942d}/file-icons/file_type_db.svg +0 -0
  439. /package/static/{05e6417 → 911942d}/file-icons/file_type_debian.svg +0 -0
  440. /package/static/{05e6417 → 911942d}/file-icons/file_type_delphi.svg +0 -0
  441. /package/static/{05e6417 → 911942d}/file-icons/file_type_deno.svg +0 -0
  442. /package/static/{05e6417 → 911942d}/file-icons/file_type_denoify.svg +0 -0
  443. /package/static/{05e6417 → 911942d}/file-icons/file_type_dependabot.svg +0 -0
  444. /package/static/{05e6417 → 911942d}/file-icons/file_type_dependencies.svg +0 -0
  445. /package/static/{05e6417 → 911942d}/file-icons/file_type_devcontainer.svg +0 -0
  446. /package/static/{05e6417 → 911942d}/file-icons/file_type_dhall.svg +0 -0
  447. /package/static/{05e6417 → 911942d}/file-icons/file_type_diff.svg +0 -0
  448. /package/static/{05e6417 → 911942d}/file-icons/file_type_django.svg +0 -0
  449. /package/static/{05e6417 → 911942d}/file-icons/file_type_dlang.svg +0 -0
  450. /package/static/{05e6417 → 911942d}/file-icons/file_type_docker.svg +0 -0
  451. /package/static/{05e6417 → 911942d}/file-icons/file_type_docker2.svg +0 -0
  452. /package/static/{05e6417 → 911942d}/file-icons/file_type_dockertest.svg +0 -0
  453. /package/static/{05e6417 → 911942d}/file-icons/file_type_dockertest2.svg +0 -0
  454. /package/static/{05e6417 → 911942d}/file-icons/file_type_docpad.svg +0 -0
  455. /package/static/{05e6417 → 911942d}/file-icons/file_type_docusaurus.svg +0 -0
  456. /package/static/{05e6417 → 911942d}/file-icons/file_type_docz.svg +0 -0
  457. /package/static/{05e6417 → 911942d}/file-icons/file_type_dojo.svg +0 -0
  458. /package/static/{05e6417 → 911942d}/file-icons/file_type_doppler.svg +0 -0
  459. /package/static/{05e6417 → 911942d}/file-icons/file_type_dotenv.svg +0 -0
  460. /package/static/{05e6417 → 911942d}/file-icons/file_type_dotjs.svg +0 -0
  461. /package/static/{05e6417 → 911942d}/file-icons/file_type_doxygen.svg +0 -0
  462. /package/static/{05e6417 → 911942d}/file-icons/file_type_drawio.svg +0 -0
  463. /package/static/{05e6417 → 911942d}/file-icons/file_type_drone.svg +0 -0
  464. /package/static/{05e6417 → 911942d}/file-icons/file_type_drools.svg +0 -0
  465. /package/static/{05e6417 → 911942d}/file-icons/file_type_dtd.svg +0 -0
  466. /package/static/{05e6417 → 911942d}/file-icons/file_type_dune.svg +0 -0
  467. /package/static/{05e6417 → 911942d}/file-icons/file_type_dustjs.svg +0 -0
  468. /package/static/{05e6417 → 911942d}/file-icons/file_type_dvc.svg +0 -0
  469. /package/static/{05e6417 → 911942d}/file-icons/file_type_dylan.svg +0 -0
  470. /package/static/{05e6417 → 911942d}/file-icons/file_type_earthly.svg +0 -0
  471. /package/static/{05e6417 → 911942d}/file-icons/file_type_eas-metadata.svg +0 -0
  472. /package/static/{05e6417 → 911942d}/file-icons/file_type_edge.svg +0 -0
  473. /package/static/{05e6417 → 911942d}/file-icons/file_type_edge2.svg +0 -0
  474. /package/static/{05e6417 → 911942d}/file-icons/file_type_editorconfig.svg +0 -0
  475. /package/static/{05e6417 → 911942d}/file-icons/file_type_eex.svg +0 -0
  476. /package/static/{05e6417 → 911942d}/file-icons/file_type_ejs.svg +0 -0
  477. /package/static/{05e6417 → 911942d}/file-icons/file_type_elastic.svg +0 -0
  478. /package/static/{05e6417 → 911942d}/file-icons/file_type_elasticbeanstalk.svg +0 -0
  479. /package/static/{05e6417 → 911942d}/file-icons/file_type_eleventy.svg +0 -0
  480. /package/static/{05e6417 → 911942d}/file-icons/file_type_eleventy2.svg +0 -0
  481. /package/static/{05e6417 → 911942d}/file-icons/file_type_elixir.svg +0 -0
  482. /package/static/{05e6417 → 911942d}/file-icons/file_type_elm.svg +0 -0
  483. /package/static/{05e6417 → 911942d}/file-icons/file_type_elm2.svg +0 -0
  484. /package/static/{05e6417 → 911942d}/file-icons/file_type_emacs.svg +0 -0
  485. /package/static/{05e6417 → 911942d}/file-icons/file_type_ember.svg +0 -0
  486. /package/static/{05e6417 → 911942d}/file-icons/file_type_ensime.svg +0 -0
  487. /package/static/{05e6417 → 911942d}/file-icons/file_type_eps.svg +0 -0
  488. /package/static/{05e6417 → 911942d}/file-icons/file_type_epub.svg +0 -0
  489. /package/static/{05e6417 → 911942d}/file-icons/file_type_erb.svg +0 -0
  490. /package/static/{05e6417 → 911942d}/file-icons/file_type_erlang.svg +0 -0
  491. /package/static/{05e6417 → 911942d}/file-icons/file_type_erlang2.svg +0 -0
  492. /package/static/{05e6417 → 911942d}/file-icons/file_type_esbuild.svg +0 -0
  493. /package/static/{05e6417 → 911942d}/file-icons/file_type_eslint.svg +0 -0
  494. /package/static/{05e6417 → 911942d}/file-icons/file_type_eslint2.svg +0 -0
  495. /package/static/{05e6417 → 911942d}/file-icons/file_type_esphome.svg +0 -0
  496. /package/static/{05e6417 → 911942d}/file-icons/file_type_excalidraw.svg +0 -0
  497. /package/static/{05e6417 → 911942d}/file-icons/file_type_excel.svg +0 -0
  498. /package/static/{05e6417 → 911942d}/file-icons/file_type_excel2.svg +0 -0
  499. /package/static/{05e6417 → 911942d}/file-icons/file_type_expo.svg +0 -0
  500. /package/static/{05e6417 → 911942d}/file-icons/file_type_falcon.svg +0 -0
  501. /package/static/{05e6417 → 911942d}/file-icons/file_type_fantasticon.svg +0 -0
  502. /package/static/{05e6417 → 911942d}/file-icons/file_type_fastly.svg +0 -0
  503. /package/static/{05e6417 → 911942d}/file-icons/file_type_fauna.svg +0 -0
  504. /package/static/{05e6417 → 911942d}/file-icons/file_type_favicon.svg +0 -0
  505. /package/static/{05e6417 → 911942d}/file-icons/file_type_fbx.svg +0 -0
  506. /package/static/{05e6417 → 911942d}/file-icons/file_type_firebase.svg +0 -0
  507. /package/static/{05e6417 → 911942d}/file-icons/file_type_firebasehosting.svg +0 -0
  508. /package/static/{05e6417 → 911942d}/file-icons/file_type_firestore.svg +0 -0
  509. /package/static/{05e6417 → 911942d}/file-icons/file_type_fitbit.svg +0 -0
  510. /package/static/{05e6417 → 911942d}/file-icons/file_type_fla.svg +0 -0
  511. /package/static/{05e6417 → 911942d}/file-icons/file_type_flareact.svg +0 -0
  512. /package/static/{05e6417 → 911942d}/file-icons/file_type_flash.svg +0 -0
  513. /package/static/{05e6417 → 911942d}/file-icons/file_type_floobits.svg +0 -0
  514. /package/static/{05e6417 → 911942d}/file-icons/file_type_flow.svg +0 -0
  515. /package/static/{05e6417 → 911942d}/file-icons/file_type_flutter.svg +0 -0
  516. /package/static/{05e6417 → 911942d}/file-icons/file_type_flutter_package.svg +0 -0
  517. /package/static/{05e6417 → 911942d}/file-icons/file_type_flyio.svg +0 -0
  518. /package/static/{05e6417 → 911942d}/file-icons/file_type_font.svg +0 -0
  519. /package/static/{05e6417 → 911942d}/file-icons/file_type_formkit.svg +0 -0
  520. /package/static/{05e6417 → 911942d}/file-icons/file_type_fortran.svg +0 -0
  521. /package/static/{05e6417 → 911942d}/file-icons/file_type_fossa.svg +0 -0
  522. /package/static/{05e6417 → 911942d}/file-icons/file_type_fossil.svg +0 -0
  523. /package/static/{05e6417 → 911942d}/file-icons/file_type_freemarker.svg +0 -0
  524. /package/static/{05e6417 → 911942d}/file-icons/file_type_frontcommerce.svg +0 -0
  525. /package/static/{05e6417 → 911942d}/file-icons/file_type_fsharp.svg +0 -0
  526. /package/static/{05e6417 → 911942d}/file-icons/file_type_fsharp2.svg +0 -0
  527. /package/static/{05e6417 → 911942d}/file-icons/file_type_fsproj.svg +0 -0
  528. /package/static/{05e6417 → 911942d}/file-icons/file_type_fthtml.svg +0 -0
  529. /package/static/{05e6417 → 911942d}/file-icons/file_type_funding.svg +0 -0
  530. /package/static/{05e6417 → 911942d}/file-icons/file_type_fusebox.svg +0 -0
  531. /package/static/{05e6417 → 911942d}/file-icons/file_type_galen.svg +0 -0
  532. /package/static/{05e6417 → 911942d}/file-icons/file_type_galen2.svg +0 -0
  533. /package/static/{05e6417 → 911942d}/file-icons/file_type_gamemaker.svg +0 -0
  534. /package/static/{05e6417 → 911942d}/file-icons/file_type_gamemaker2.svg +0 -0
  535. /package/static/{05e6417 → 911942d}/file-icons/file_type_gamemaker81.svg +0 -0
  536. /package/static/{05e6417 → 911942d}/file-icons/file_type_gatsby.svg +0 -0
  537. /package/static/{05e6417 → 911942d}/file-icons/file_type_gcloud.svg +0 -0
  538. /package/static/{05e6417 → 911942d}/file-icons/file_type_gcode.svg +0 -0
  539. /package/static/{05e6417 → 911942d}/file-icons/file_type_gdscript.svg +0 -0
  540. /package/static/{05e6417 → 911942d}/file-icons/file_type_genstat.svg +0 -0
  541. /package/static/{05e6417 → 911942d}/file-icons/file_type_git.svg +0 -0
  542. /package/static/{05e6417 → 911942d}/file-icons/file_type_git2.svg +0 -0
  543. /package/static/{05e6417 → 911942d}/file-icons/file_type_gitlab.svg +0 -0
  544. /package/static/{05e6417 → 911942d}/file-icons/file_type_gitpod.svg +0 -0
  545. /package/static/{05e6417 → 911942d}/file-icons/file_type_gleam.svg +0 -0
  546. /package/static/{05e6417 → 911942d}/file-icons/file_type_gleamconfig.svg +0 -0
  547. /package/static/{05e6417 → 911942d}/file-icons/file_type_glide.svg +0 -0
  548. /package/static/{05e6417 → 911942d}/file-icons/file_type_glitter.svg +0 -0
  549. /package/static/{05e6417 → 911942d}/file-icons/file_type_glsl.svg +0 -0
  550. /package/static/{05e6417 → 911942d}/file-icons/file_type_gltf.svg +0 -0
  551. /package/static/{05e6417 → 911942d}/file-icons/file_type_glyphs.svg +0 -0
  552. /package/static/{05e6417 → 911942d}/file-icons/file_type_gnu.svg +0 -0
  553. /package/static/{05e6417 → 911942d}/file-icons/file_type_gnuplot.svg +0 -0
  554. /package/static/{05e6417 → 911942d}/file-icons/file_type_go.svg +0 -0
  555. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_aqua.svg +0 -0
  556. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_black.svg +0 -0
  557. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_fuchsia.svg +0 -0
  558. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_gopher.svg +0 -0
  559. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_lightblue.svg +0 -0
  560. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_package.svg +0 -0
  561. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_white.svg +0 -0
  562. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_work.svg +0 -0
  563. /package/static/{05e6417 → 911942d}/file-icons/file_type_go_yellow.svg +0 -0
  564. /package/static/{05e6417 → 911942d}/file-icons/file_type_goctl.svg +0 -0
  565. /package/static/{05e6417 → 911942d}/file-icons/file_type_godot.svg +0 -0
  566. /package/static/{05e6417 → 911942d}/file-icons/file_type_gpg.svg +0 -0
  567. /package/static/{05e6417 → 911942d}/file-icons/file_type_gradle.svg +0 -0
  568. /package/static/{05e6417 → 911942d}/file-icons/file_type_gradle2.svg +0 -0
  569. /package/static/{05e6417 → 911942d}/file-icons/file_type_grain.svg +0 -0
  570. /package/static/{05e6417 → 911942d}/file-icons/file_type_graphql.svg +0 -0
  571. /package/static/{05e6417 → 911942d}/file-icons/file_type_graphql_config.svg +0 -0
  572. /package/static/{05e6417 → 911942d}/file-icons/file_type_graphviz.svg +0 -0
  573. /package/static/{05e6417 → 911942d}/file-icons/file_type_greenkeeper.svg +0 -0
  574. /package/static/{05e6417 → 911942d}/file-icons/file_type_gridsome.svg +0 -0
  575. /package/static/{05e6417 → 911942d}/file-icons/file_type_groovy.svg +0 -0
  576. /package/static/{05e6417 → 911942d}/file-icons/file_type_groovy2.svg +0 -0
  577. /package/static/{05e6417 → 911942d}/file-icons/file_type_grunt.svg +0 -0
  578. /package/static/{05e6417 → 911942d}/file-icons/file_type_gulp.svg +0 -0
  579. /package/static/{05e6417 → 911942d}/file-icons/file_type_haml.svg +0 -0
  580. /package/static/{05e6417 → 911942d}/file-icons/file_type_handlebars.svg +0 -0
  581. /package/static/{05e6417 → 911942d}/file-icons/file_type_handlebars2.svg +0 -0
  582. /package/static/{05e6417 → 911942d}/file-icons/file_type_harbour.svg +0 -0
  583. /package/static/{05e6417 → 911942d}/file-icons/file_type_hardhat.svg +0 -0
  584. /package/static/{05e6417 → 911942d}/file-icons/file_type_hashicorp.svg +0 -0
  585. /package/static/{05e6417 → 911942d}/file-icons/file_type_haskell.svg +0 -0
  586. /package/static/{05e6417 → 911942d}/file-icons/file_type_haskell2.svg +0 -0
  587. /package/static/{05e6417 → 911942d}/file-icons/file_type_haxe.svg +0 -0
  588. /package/static/{05e6417 → 911942d}/file-icons/file_type_haxecheckstyle.svg +0 -0
  589. /package/static/{05e6417 → 911942d}/file-icons/file_type_haxedevelop.svg +0 -0
  590. /package/static/{05e6417 → 911942d}/file-icons/file_type_helix.svg +0 -0
  591. /package/static/{05e6417 → 911942d}/file-icons/file_type_helm.svg +0 -0
  592. /package/static/{05e6417 → 911942d}/file-icons/file_type_histoire.svg +0 -0
  593. /package/static/{05e6417 → 911942d}/file-icons/file_type_hjson.svg +0 -0
  594. /package/static/{05e6417 → 911942d}/file-icons/file_type_hlsl.svg +0 -0
  595. /package/static/{05e6417 → 911942d}/file-icons/file_type_homeassistant.svg +0 -0
  596. /package/static/{05e6417 → 911942d}/file-icons/file_type_horusec.svg +0 -0
  597. /package/static/{05e6417 → 911942d}/file-icons/file_type_host.svg +0 -0
  598. /package/static/{05e6417 → 911942d}/file-icons/file_type_html.svg +0 -0
  599. /package/static/{05e6417 → 911942d}/file-icons/file_type_htmlhint.svg +0 -0
  600. /package/static/{05e6417 → 911942d}/file-icons/file_type_htmlvalidate.svg +0 -0
  601. /package/static/{05e6417 → 911942d}/file-icons/file_type_http.svg +0 -0
  602. /package/static/{05e6417 → 911942d}/file-icons/file_type_hugo.svg +0 -0
  603. /package/static/{05e6417 → 911942d}/file-icons/file_type_humanstxt.svg +0 -0
  604. /package/static/{05e6417 → 911942d}/file-icons/file_type_hunspell.svg +0 -0
  605. /package/static/{05e6417 → 911942d}/file-icons/file_type_husky.svg +0 -0
  606. /package/static/{05e6417 → 911942d}/file-icons/file_type_hy.svg +0 -0
  607. /package/static/{05e6417 → 911942d}/file-icons/file_type_hygen.svg +0 -0
  608. /package/static/{05e6417 → 911942d}/file-icons/file_type_hypr.svg +0 -0
  609. /package/static/{05e6417 → 911942d}/file-icons/file_type_icl.svg +0 -0
  610. /package/static/{05e6417 → 911942d}/file-icons/file_type_idris.svg +0 -0
  611. /package/static/{05e6417 → 911942d}/file-icons/file_type_idrisbin.svg +0 -0
  612. /package/static/{05e6417 → 911942d}/file-icons/file_type_idrispkg.svg +0 -0
  613. /package/static/{05e6417 → 911942d}/file-icons/file_type_image.svg +0 -0
  614. /package/static/{05e6417 → 911942d}/file-icons/file_type_imba.svg +0 -0
  615. /package/static/{05e6417 → 911942d}/file-icons/file_type_inc.svg +0 -0
  616. /package/static/{05e6417 → 911942d}/file-icons/file_type_infopath.svg +0 -0
  617. /package/static/{05e6417 → 911942d}/file-icons/file_type_informix.svg +0 -0
  618. /package/static/{05e6417 → 911942d}/file-icons/file_type_ini.svg +0 -0
  619. /package/static/{05e6417 → 911942d}/file-icons/file_type_ink.svg +0 -0
  620. /package/static/{05e6417 → 911942d}/file-icons/file_type_innosetup.svg +0 -0
  621. /package/static/{05e6417 → 911942d}/file-icons/file_type_io.svg +0 -0
  622. /package/static/{05e6417 → 911942d}/file-icons/file_type_iodine.svg +0 -0
  623. /package/static/{05e6417 → 911942d}/file-icons/file_type_ionic.svg +0 -0
  624. /package/static/{05e6417 → 911942d}/file-icons/file_type_jake.svg +0 -0
  625. /package/static/{05e6417 → 911942d}/file-icons/file_type_janet.svg +0 -0
  626. /package/static/{05e6417 → 911942d}/file-icons/file_type_jar.svg +0 -0
  627. /package/static/{05e6417 → 911942d}/file-icons/file_type_jasmine.svg +0 -0
  628. /package/static/{05e6417 → 911942d}/file-icons/file_type_java.svg +0 -0
  629. /package/static/{05e6417 → 911942d}/file-icons/file_type_jbuilder.svg +0 -0
  630. /package/static/{05e6417 → 911942d}/file-icons/file_type_jekyll.svg +0 -0
  631. /package/static/{05e6417 → 911942d}/file-icons/file_type_jenkins.svg +0 -0
  632. /package/static/{05e6417 → 911942d}/file-icons/file_type_jest.svg +0 -0
  633. /package/static/{05e6417 → 911942d}/file-icons/file_type_jest_snapshot.svg +0 -0
  634. /package/static/{05e6417 → 911942d}/file-icons/file_type_jinja.svg +0 -0
  635. /package/static/{05e6417 → 911942d}/file-icons/file_type_jpm.svg +0 -0
  636. /package/static/{05e6417 → 911942d}/file-icons/file_type_js.svg +0 -0
  637. /package/static/{05e6417 → 911942d}/file-icons/file_type_js_official.svg +0 -0
  638. /package/static/{05e6417 → 911942d}/file-icons/file_type_jsbeautify.svg +0 -0
  639. /package/static/{05e6417 → 911942d}/file-icons/file_type_jsconfig.svg +0 -0
  640. /package/static/{05e6417 → 911942d}/file-icons/file_type_jscpd.svg +0 -0
  641. /package/static/{05e6417 → 911942d}/file-icons/file_type_jshint.svg +0 -0
  642. /package/static/{05e6417 → 911942d}/file-icons/file_type_jsmap.svg +0 -0
  643. /package/static/{05e6417 → 911942d}/file-icons/file_type_json.svg +0 -0
  644. /package/static/{05e6417 → 911942d}/file-icons/file_type_json2.svg +0 -0
  645. /package/static/{05e6417 → 911942d}/file-icons/file_type_json5.svg +0 -0
  646. /package/static/{05e6417 → 911942d}/file-icons/file_type_json_official.svg +0 -0
  647. /package/static/{05e6417 → 911942d}/file-icons/file_type_json_schema.svg +0 -0
  648. /package/static/{05e6417 → 911942d}/file-icons/file_type_jsonld.svg +0 -0
  649. /package/static/{05e6417 → 911942d}/file-icons/file_type_jsonnet.svg +0 -0
  650. /package/static/{05e6417 → 911942d}/file-icons/file_type_jsp.svg +0 -0
  651. /package/static/{05e6417 → 911942d}/file-icons/file_type_jsr.svg +0 -0
  652. /package/static/{05e6417 → 911942d}/file-icons/file_type_jss.svg +0 -0
  653. /package/static/{05e6417 → 911942d}/file-icons/file_type_juice.svg +0 -0
  654. /package/static/{05e6417 → 911942d}/file-icons/file_type_julia.svg +0 -0
  655. /package/static/{05e6417 → 911942d}/file-icons/file_type_julia2.svg +0 -0
  656. /package/static/{05e6417 → 911942d}/file-icons/file_type_jupyter.svg +0 -0
  657. /package/static/{05e6417 → 911942d}/file-icons/file_type_just.svg +0 -0
  658. /package/static/{05e6417 → 911942d}/file-icons/file_type_k.svg +0 -0
  659. /package/static/{05e6417 → 911942d}/file-icons/file_type_karma.svg +0 -0
  660. /package/static/{05e6417 → 911942d}/file-icons/file_type_key.svg +0 -0
  661. /package/static/{05e6417 → 911942d}/file-icons/file_type_kitchenci.svg +0 -0
  662. /package/static/{05e6417 → 911942d}/file-icons/file_type_kite.svg +0 -0
  663. /package/static/{05e6417 → 911942d}/file-icons/file_type_kivy.svg +0 -0
  664. /package/static/{05e6417 → 911942d}/file-icons/file_type_knip.svg +0 -0
  665. /package/static/{05e6417 → 911942d}/file-icons/file_type_kos.svg +0 -0
  666. /package/static/{05e6417 → 911942d}/file-icons/file_type_kotlin.svg +0 -0
  667. /package/static/{05e6417 → 911942d}/file-icons/file_type_kusto.svg +0 -0
  668. /package/static/{05e6417 → 911942d}/file-icons/file_type_language_configuration.svg +0 -0
  669. /package/static/{05e6417 → 911942d}/file-icons/file_type_lark.svg +0 -0
  670. /package/static/{05e6417 → 911942d}/file-icons/file_type_latino.svg +0 -0
  671. /package/static/{05e6417 → 911942d}/file-icons/file_type_layout.svg +0 -0
  672. /package/static/{05e6417 → 911942d}/file-icons/file_type_lefthook.svg +0 -0
  673. /package/static/{05e6417 → 911942d}/file-icons/file_type_lerna.svg +0 -0
  674. /package/static/{05e6417 → 911942d}/file-icons/file_type_less.svg +0 -0
  675. /package/static/{05e6417 → 911942d}/file-icons/file_type_lex.svg +0 -0
  676. /package/static/{05e6417 → 911942d}/file-icons/file_type_liara.svg +0 -0
  677. /package/static/{05e6417 → 911942d}/file-icons/file_type_libreoffice_base.svg +0 -0
  678. /package/static/{05e6417 → 911942d}/file-icons/file_type_libreoffice_calc.svg +0 -0
  679. /package/static/{05e6417 → 911942d}/file-icons/file_type_libreoffice_draw.svg +0 -0
  680. /package/static/{05e6417 → 911942d}/file-icons/file_type_libreoffice_impress.svg +0 -0
  681. /package/static/{05e6417 → 911942d}/file-icons/file_type_libreoffice_math.svg +0 -0
  682. /package/static/{05e6417 → 911942d}/file-icons/file_type_libreoffice_writer.svg +0 -0
  683. /package/static/{05e6417 → 911942d}/file-icons/file_type_license.svg +0 -0
  684. /package/static/{05e6417 → 911942d}/file-icons/file_type_licensebat.svg +0 -0
  685. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_actionscript2.svg +0 -0
  686. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_ada.svg +0 -0
  687. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_agda.svg +0 -0
  688. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_apl.svg +0 -0
  689. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_astro.svg +0 -0
  690. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_astroconfig.svg +0 -0
  691. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_babel.svg +0 -0
  692. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_babel2.svg +0 -0
  693. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_cabal.svg +0 -0
  694. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_circleci.svg +0 -0
  695. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_cloudfoundry.svg +0 -0
  696. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_codacy.svg +0 -0
  697. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_codeclimate.svg +0 -0
  698. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_codeowners.svg +0 -0
  699. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_config.svg +0 -0
  700. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_copilot.svg +0 -0
  701. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_crystal.svg +0 -0
  702. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_cypress.svg +0 -0
  703. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_cypress_spec.svg +0 -0
  704. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_db.svg +0 -0
  705. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_deno.svg +0 -0
  706. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_dhall.svg +0 -0
  707. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_docpad.svg +0 -0
  708. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_drone.svg +0 -0
  709. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_eas-metadata.svg +0 -0
  710. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_eleventy.svg +0 -0
  711. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_eleventy2.svg +0 -0
  712. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_esphome.svg +0 -0
  713. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_expo.svg +0 -0
  714. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_firebasehosting.svg +0 -0
  715. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_fla.svg +0 -0
  716. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_font.svg +0 -0
  717. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_gamemaker2.svg +0 -0
  718. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_gradle.svg +0 -0
  719. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_hashicorp.svg +0 -0
  720. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_hjson.svg +0 -0
  721. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_ini.svg +0 -0
  722. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_io.svg +0 -0
  723. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_js.svg +0 -0
  724. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_jsconfig.svg +0 -0
  725. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_jsmap.svg +0 -0
  726. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_json.svg +0 -0
  727. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_json5.svg +0 -0
  728. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_json_schema.svg +0 -0
  729. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_jsonld.svg +0 -0
  730. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_kite.svg +0 -0
  731. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_lark.svg +0 -0
  732. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_lerna.svg +0 -0
  733. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_mailing.svg +0 -0
  734. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_markuplint.svg +0 -0
  735. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_mdx-components.svg +0 -0
  736. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_mdx.svg +0 -0
  737. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_mlang.svg +0 -0
  738. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_mustache.svg +0 -0
  739. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_mypy.svg +0 -0
  740. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_neo4j.svg +0 -0
  741. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_netlify.svg +0 -0
  742. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_next.svg +0 -0
  743. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_nim.svg +0 -0
  744. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_nx.svg +0 -0
  745. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_objidconfig.svg +0 -0
  746. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_openHAB.svg +0 -0
  747. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_pcl.svg +0 -0
  748. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_pnpm.svg +0 -0
  749. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_prettier.svg +0 -0
  750. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_prisma.svg +0 -0
  751. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_purescript.svg +0 -0
  752. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_quasar.svg +0 -0
  753. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_raku.svg +0 -0
  754. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_razzle.svg +0 -0
  755. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_reactrouter.svg +0 -0
  756. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_rehype.svg +0 -0
  757. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_remark.svg +0 -0
  758. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_replit.svg +0 -0
  759. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_retext.svg +0 -0
  760. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_rome.svg +0 -0
  761. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_rubocop.svg +0 -0
  762. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_rust.svg +0 -0
  763. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_rust_toolchain.svg +0 -0
  764. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_safetensors.svg +0 -0
  765. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_shaderlab.svg +0 -0
  766. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_solidity.svg +0 -0
  767. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_spin.svg +0 -0
  768. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_stylelint.svg +0 -0
  769. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_stylus.svg +0 -0
  770. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_symfony.svg +0 -0
  771. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_systemd.svg +0 -0
  772. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_systemverilog.svg +0 -0
  773. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_testcafe.svg +0 -0
  774. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_testjs.svg +0 -0
  775. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_tex.svg +0 -0
  776. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_tm.svg +0 -0
  777. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_tmux.svg +0 -0
  778. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_todo.svg +0 -0
  779. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_toit.svg +0 -0
  780. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_toml.svg +0 -0
  781. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_tree.svg +0 -0
  782. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_turbo.svg +0 -0
  783. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_unibeautify.svg +0 -0
  784. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_vash.svg +0 -0
  785. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_vercel.svg +0 -0
  786. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_vsix.svg +0 -0
  787. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_vsixmanifest.svg +0 -0
  788. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_xfl.svg +0 -0
  789. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_xorg.svg +0 -0
  790. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_yaml.svg +0 -0
  791. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_yaml_official.svg +0 -0
  792. /package/static/{05e6417 → 911942d}/file-icons/file_type_light_zeit.svg +0 -0
  793. /package/static/{05e6417 → 911942d}/file-icons/file_type_lighthouse.svg +0 -0
  794. /package/static/{05e6417 → 911942d}/file-icons/file_type_lilypond.svg +0 -0
  795. /package/static/{05e6417 → 911942d}/file-icons/file_type_lime.svg +0 -0
  796. /package/static/{05e6417 → 911942d}/file-icons/file_type_lintstagedrc.svg +0 -0
  797. /package/static/{05e6417 → 911942d}/file-icons/file_type_liquid.svg +0 -0
  798. /package/static/{05e6417 → 911942d}/file-icons/file_type_lisp.svg +0 -0
  799. /package/static/{05e6417 → 911942d}/file-icons/file_type_livescript.svg +0 -0
  800. /package/static/{05e6417 → 911942d}/file-icons/file_type_lnk.svg +0 -0
  801. /package/static/{05e6417 → 911942d}/file-icons/file_type_locale.svg +0 -0
  802. /package/static/{05e6417 → 911942d}/file-icons/file_type_log.svg +0 -0
  803. /package/static/{05e6417 → 911942d}/file-icons/file_type_lolcode.svg +0 -0
  804. /package/static/{05e6417 → 911942d}/file-icons/file_type_lsl.svg +0 -0
  805. /package/static/{05e6417 → 911942d}/file-icons/file_type_lua.svg +0 -0
  806. /package/static/{05e6417 → 911942d}/file-icons/file_type_luau.svg +0 -0
  807. /package/static/{05e6417 → 911942d}/file-icons/file_type_lync.svg +0 -0
  808. /package/static/{05e6417 → 911942d}/file-icons/file_type_mailing.svg +0 -0
  809. /package/static/{05e6417 → 911942d}/file-icons/file_type_makefile.svg +0 -0
  810. /package/static/{05e6417 → 911942d}/file-icons/file_type_manifest.svg +0 -0
  811. /package/static/{05e6417 → 911942d}/file-icons/file_type_manifest_bak.svg +0 -0
  812. /package/static/{05e6417 → 911942d}/file-icons/file_type_manifest_skip.svg +0 -0
  813. /package/static/{05e6417 → 911942d}/file-icons/file_type_map.svg +0 -0
  814. /package/static/{05e6417 → 911942d}/file-icons/file_type_mariadb.svg +0 -0
  815. /package/static/{05e6417 → 911942d}/file-icons/file_type_markdown.svg +0 -0
  816. /package/static/{05e6417 → 911942d}/file-icons/file_type_markdownlint.svg +0 -0
  817. /package/static/{05e6417 → 911942d}/file-icons/file_type_markdownlint_ignore.svg +0 -0
  818. /package/static/{05e6417 → 911942d}/file-icons/file_type_marko.svg +0 -0
  819. /package/static/{05e6417 → 911942d}/file-icons/file_type_markojs.svg +0 -0
  820. /package/static/{05e6417 → 911942d}/file-icons/file_type_markuplint.svg +0 -0
  821. /package/static/{05e6417 → 911942d}/file-icons/file_type_master-co.svg +0 -0
  822. /package/static/{05e6417 → 911942d}/file-icons/file_type_matlab.svg +0 -0
  823. /package/static/{05e6417 → 911942d}/file-icons/file_type_maven.svg +0 -0
  824. /package/static/{05e6417 → 911942d}/file-icons/file_type_maxscript.svg +0 -0
  825. /package/static/{05e6417 → 911942d}/file-icons/file_type_maya.svg +0 -0
  826. /package/static/{05e6417 → 911942d}/file-icons/file_type_mdx-components.svg +0 -0
  827. /package/static/{05e6417 → 911942d}/file-icons/file_type_mdx.svg +0 -0
  828. /package/static/{05e6417 → 911942d}/file-icons/file_type_mediawiki.svg +0 -0
  829. /package/static/{05e6417 → 911942d}/file-icons/file_type_mercurial.svg +0 -0
  830. /package/static/{05e6417 → 911942d}/file-icons/file_type_mermaid.svg +0 -0
  831. /package/static/{05e6417 → 911942d}/file-icons/file_type_meson.svg +0 -0
  832. /package/static/{05e6417 → 911942d}/file-icons/file_type_metal.svg +0 -0
  833. /package/static/{05e6417 → 911942d}/file-icons/file_type_meteor.svg +0 -0
  834. /package/static/{05e6417 → 911942d}/file-icons/file_type_minecraft.svg +0 -0
  835. /package/static/{05e6417 → 911942d}/file-icons/file_type_mivascript.svg +0 -0
  836. /package/static/{05e6417 → 911942d}/file-icons/file_type_mjml.svg +0 -0
  837. /package/static/{05e6417 → 911942d}/file-icons/file_type_mlang.svg +0 -0
  838. /package/static/{05e6417 → 911942d}/file-icons/file_type_mocha.svg +0 -0
  839. /package/static/{05e6417 → 911942d}/file-icons/file_type_modernizr.svg +0 -0
  840. /package/static/{05e6417 → 911942d}/file-icons/file_type_mojo.svg +0 -0
  841. /package/static/{05e6417 → 911942d}/file-icons/file_type_mojolicious.svg +0 -0
  842. /package/static/{05e6417 → 911942d}/file-icons/file_type_moleculer.svg +0 -0
  843. /package/static/{05e6417 → 911942d}/file-icons/file_type_mondoo.svg +0 -0
  844. /package/static/{05e6417 → 911942d}/file-icons/file_type_mongo.svg +0 -0
  845. /package/static/{05e6417 → 911942d}/file-icons/file_type_monotone.svg +0 -0
  846. /package/static/{05e6417 → 911942d}/file-icons/file_type_motif.svg +0 -0
  847. /package/static/{05e6417 → 911942d}/file-icons/file_type_mson.svg +0 -0
  848. /package/static/{05e6417 → 911942d}/file-icons/file_type_mustache.svg +0 -0
  849. /package/static/{05e6417 → 911942d}/file-icons/file_type_mvt.svg +0 -0
  850. /package/static/{05e6417 → 911942d}/file-icons/file_type_mvtcss.svg +0 -0
  851. /package/static/{05e6417 → 911942d}/file-icons/file_type_mvtjs.svg +0 -0
  852. /package/static/{05e6417 → 911942d}/file-icons/file_type_mypy.svg +0 -0
  853. /package/static/{05e6417 → 911942d}/file-icons/file_type_mysql.svg +0 -0
  854. /package/static/{05e6417 → 911942d}/file-icons/file_type_ndst.svg +0 -0
  855. /package/static/{05e6417 → 911942d}/file-icons/file_type_nearly.svg +0 -0
  856. /package/static/{05e6417 → 911942d}/file-icons/file_type_neo4j.svg +0 -0
  857. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_adapter_js.svg +0 -0
  858. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_adapter_ts.svg +0 -0
  859. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_controller_js.svg +0 -0
  860. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_controller_ts.svg +0 -0
  861. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_decorator_js.svg +0 -0
  862. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_decorator_ts.svg +0 -0
  863. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_filter_js.svg +0 -0
  864. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_filter_ts.svg +0 -0
  865. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_gateway_js.svg +0 -0
  866. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_gateway_ts.svg +0 -0
  867. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_guard_js.svg +0 -0
  868. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_guard_ts.svg +0 -0
  869. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_interceptor_js.svg +0 -0
  870. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_interceptor_ts.svg +0 -0
  871. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_middleware_js.svg +0 -0
  872. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_middleware_ts.svg +0 -0
  873. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_module_js.svg +0 -0
  874. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_module_ts.svg +0 -0
  875. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_pipe_js.svg +0 -0
  876. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_pipe_ts.svg +0 -0
  877. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_service_js.svg +0 -0
  878. /package/static/{05e6417 → 911942d}/file-icons/file_type_nest_service_ts.svg +0 -0
  879. /package/static/{05e6417 → 911942d}/file-icons/file_type_nestjs.svg +0 -0
  880. /package/static/{05e6417 → 911942d}/file-icons/file_type_netlify.svg +0 -0
  881. /package/static/{05e6417 → 911942d}/file-icons/file_type_next.svg +0 -0
  882. /package/static/{05e6417 → 911942d}/file-icons/file_type_nextflow.svg +0 -0
  883. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_css.svg +0 -0
  884. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_dart.svg +0 -0
  885. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_html.svg +0 -0
  886. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_js.svg +0 -0
  887. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_js2.svg +0 -0
  888. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_less.svg +0 -0
  889. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_sass.svg +0 -0
  890. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_scss.svg +0 -0
  891. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_ts.svg +0 -0
  892. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_component_ts2.svg +0 -0
  893. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_controller_js.svg +0 -0
  894. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_controller_ts.svg +0 -0
  895. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_directive_dart.svg +0 -0
  896. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_directive_js.svg +0 -0
  897. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_directive_js2.svg +0 -0
  898. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_directive_ts.svg +0 -0
  899. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_directive_ts2.svg +0 -0
  900. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_guard_dart.svg +0 -0
  901. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_guard_js.svg +0 -0
  902. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_guard_ts.svg +0 -0
  903. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_interceptor_dart.svg +0 -0
  904. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_interceptor_js.svg +0 -0
  905. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_interceptor_ts.svg +0 -0
  906. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_module_dart.svg +0 -0
  907. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_module_js.svg +0 -0
  908. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_module_js2.svg +0 -0
  909. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_module_ts.svg +0 -0
  910. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_module_ts2.svg +0 -0
  911. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_pipe_dart.svg +0 -0
  912. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_pipe_js.svg +0 -0
  913. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_pipe_js2.svg +0 -0
  914. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_pipe_ts.svg +0 -0
  915. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_pipe_ts2.svg +0 -0
  916. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_routing_dart.svg +0 -0
  917. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_routing_js.svg +0 -0
  918. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_routing_js2.svg +0 -0
  919. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_routing_ts.svg +0 -0
  920. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_routing_ts2.svg +0 -0
  921. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_service_dart.svg +0 -0
  922. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_service_js.svg +0 -0
  923. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_service_js2.svg +0 -0
  924. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_service_ts.svg +0 -0
  925. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_service_ts2.svg +0 -0
  926. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_smart_component_dart.svg +0 -0
  927. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_smart_component_js.svg +0 -0
  928. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_smart_component_js2.svg +0 -0
  929. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_smart_component_ts.svg +0 -0
  930. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_smart_component_ts2.svg +0 -0
  931. /package/static/{05e6417 → 911942d}/file-icons/file_type_ng_tailwind.svg +0 -0
  932. /package/static/{05e6417 → 911942d}/file-icons/file_type_nginx.svg +0 -0
  933. /package/static/{05e6417 → 911942d}/file-icons/file_type_nim.svg +0 -0
  934. /package/static/{05e6417 → 911942d}/file-icons/file_type_nimble.svg +0 -0
  935. /package/static/{05e6417 → 911942d}/file-icons/file_type_ninja.svg +0 -0
  936. /package/static/{05e6417 → 911942d}/file-icons/file_type_nix.svg +0 -0
  937. /package/static/{05e6417 → 911942d}/file-icons/file_type_njsproj.svg +0 -0
  938. /package/static/{05e6417 → 911942d}/file-icons/file_type_noc.svg +0 -0
  939. /package/static/{05e6417 → 911942d}/file-icons/file_type_node.svg +0 -0
  940. /package/static/{05e6417 → 911942d}/file-icons/file_type_node2.svg +0 -0
  941. /package/static/{05e6417 → 911942d}/file-icons/file_type_nodemon.svg +0 -0
  942. /package/static/{05e6417 → 911942d}/file-icons/file_type_npm.svg +0 -0
  943. /package/static/{05e6417 → 911942d}/file-icons/file_type_npmpackagejsonlint.svg +0 -0
  944. /package/static/{05e6417 → 911942d}/file-icons/file_type_nsi.svg +0 -0
  945. /package/static/{05e6417 → 911942d}/file-icons/file_type_nsri-integrity.svg +0 -0
  946. /package/static/{05e6417 → 911942d}/file-icons/file_type_nsri.svg +0 -0
  947. /package/static/{05e6417 → 911942d}/file-icons/file_type_nuget.svg +0 -0
  948. /package/static/{05e6417 → 911942d}/file-icons/file_type_numpy.svg +0 -0
  949. /package/static/{05e6417 → 911942d}/file-icons/file_type_nunjucks.svg +0 -0
  950. /package/static/{05e6417 → 911942d}/file-icons/file_type_nuxt.svg +0 -0
  951. /package/static/{05e6417 → 911942d}/file-icons/file_type_nx.svg +0 -0
  952. /package/static/{05e6417 → 911942d}/file-icons/file_type_nyc.svg +0 -0
  953. /package/static/{05e6417 → 911942d}/file-icons/file_type_objectivec.svg +0 -0
  954. /package/static/{05e6417 → 911942d}/file-icons/file_type_objectivecpp.svg +0 -0
  955. /package/static/{05e6417 → 911942d}/file-icons/file_type_objidconfig.svg +0 -0
  956. /package/static/{05e6417 → 911942d}/file-icons/file_type_ocaml.svg +0 -0
  957. /package/static/{05e6417 → 911942d}/file-icons/file_type_ocaml_intf.svg +0 -0
  958. /package/static/{05e6417 → 911942d}/file-icons/file_type_ogone.svg +0 -0
  959. /package/static/{05e6417 → 911942d}/file-icons/file_type_onenote.svg +0 -0
  960. /package/static/{05e6417 → 911942d}/file-icons/file_type_opam.svg +0 -0
  961. /package/static/{05e6417 → 911942d}/file-icons/file_type_openHAB.svg +0 -0
  962. /package/static/{05e6417 → 911942d}/file-icons/file_type_opencl.svg +0 -0
  963. /package/static/{05e6417 → 911942d}/file-icons/file_type_openscad.svg +0 -0
  964. /package/static/{05e6417 → 911942d}/file-icons/file_type_opentofu.svg +0 -0
  965. /package/static/{05e6417 → 911942d}/file-icons/file_type_org.svg +0 -0
  966. /package/static/{05e6417 → 911942d}/file-icons/file_type_outlook.svg +0 -0
  967. /package/static/{05e6417 → 911942d}/file-icons/file_type_ovpn.svg +0 -0
  968. /package/static/{05e6417 → 911942d}/file-icons/file_type_oxlint.svg +0 -0
  969. /package/static/{05e6417 → 911942d}/file-icons/file_type_package.svg +0 -0
  970. /package/static/{05e6417 → 911942d}/file-icons/file_type_paket.svg +0 -0
  971. /package/static/{05e6417 → 911942d}/file-icons/file_type_pandacss.svg +0 -0
  972. /package/static/{05e6417 → 911942d}/file-icons/file_type_patch.svg +0 -0
  973. /package/static/{05e6417 → 911942d}/file-icons/file_type_pcl.svg +0 -0
  974. /package/static/{05e6417 → 911942d}/file-icons/file_type_pddl.svg +0 -0
  975. /package/static/{05e6417 → 911942d}/file-icons/file_type_pddl_happenings.svg +0 -0
  976. /package/static/{05e6417 → 911942d}/file-icons/file_type_pddl_plan.svg +0 -0
  977. /package/static/{05e6417 → 911942d}/file-icons/file_type_pdf.svg +0 -0
  978. /package/static/{05e6417 → 911942d}/file-icons/file_type_pdf2.svg +0 -0
  979. /package/static/{05e6417 → 911942d}/file-icons/file_type_pdm.svg +0 -0
  980. /package/static/{05e6417 → 911942d}/file-icons/file_type_peeky.svg +0 -0
  981. /package/static/{05e6417 → 911942d}/file-icons/file_type_perl.svg +0 -0
  982. /package/static/{05e6417 → 911942d}/file-icons/file_type_perl2.svg +0 -0
  983. /package/static/{05e6417 → 911942d}/file-icons/file_type_perl6.svg +0 -0
  984. /package/static/{05e6417 → 911942d}/file-icons/file_type_pgsql.svg +0 -0
  985. /package/static/{05e6417 → 911942d}/file-icons/file_type_photoshop.svg +0 -0
  986. /package/static/{05e6417 → 911942d}/file-icons/file_type_photoshop2.svg +0 -0
  987. /package/static/{05e6417 → 911942d}/file-icons/file_type_php.svg +0 -0
  988. /package/static/{05e6417 → 911942d}/file-icons/file_type_php2.svg +0 -0
  989. /package/static/{05e6417 → 911942d}/file-icons/file_type_php3.svg +0 -0
  990. /package/static/{05e6417 → 911942d}/file-icons/file_type_phpcsfixer.svg +0 -0
  991. /package/static/{05e6417 → 911942d}/file-icons/file_type_phpstan.svg +0 -0
  992. /package/static/{05e6417 → 911942d}/file-icons/file_type_phpunit.svg +0 -0
  993. /package/static/{05e6417 → 911942d}/file-icons/file_type_phraseapp.svg +0 -0
  994. /package/static/{05e6417 → 911942d}/file-icons/file_type_pine.svg +0 -0
  995. /package/static/{05e6417 → 911942d}/file-icons/file_type_pip.svg +0 -0
  996. /package/static/{05e6417 → 911942d}/file-icons/file_type_pipeline.svg +0 -0
  997. /package/static/{05e6417 → 911942d}/file-icons/file_type_plantuml.svg +0 -0
  998. /package/static/{05e6417 → 911942d}/file-icons/file_type_platformio.svg +0 -0
  999. /package/static/{05e6417 → 911942d}/file-icons/file_type_playwright.svg +0 -0
  1000. /package/static/{05e6417 → 911942d}/file-icons/file_type_plsql.svg +0 -0
  1001. /package/static/{05e6417 → 911942d}/file-icons/file_type_plsql_package.svg +0 -0
  1002. /package/static/{05e6417 → 911942d}/file-icons/file_type_plsql_package_body.svg +0 -0
  1003. /package/static/{05e6417 → 911942d}/file-icons/file_type_plsql_package_header.svg +0 -0
  1004. /package/static/{05e6417 → 911942d}/file-icons/file_type_plsql_package_spec.svg +0 -0
  1005. /package/static/{05e6417 → 911942d}/file-icons/file_type_pm2.svg +0 -0
  1006. /package/static/{05e6417 → 911942d}/file-icons/file_type_pnpm.svg +0 -0
  1007. /package/static/{05e6417 → 911942d}/file-icons/file_type_poedit.svg +0 -0
  1008. /package/static/{05e6417 → 911942d}/file-icons/file_type_poetry.svg +0 -0
  1009. /package/static/{05e6417 → 911942d}/file-icons/file_type_polymer.svg +0 -0
  1010. /package/static/{05e6417 → 911942d}/file-icons/file_type_pony.svg +0 -0
  1011. /package/static/{05e6417 → 911942d}/file-icons/file_type_postcss.svg +0 -0
  1012. /package/static/{05e6417 → 911942d}/file-icons/file_type_postcssconfig.svg +0 -0
  1013. /package/static/{05e6417 → 911942d}/file-icons/file_type_postman.svg +0 -0
  1014. /package/static/{05e6417 → 911942d}/file-icons/file_type_powerpoint.svg +0 -0
  1015. /package/static/{05e6417 → 911942d}/file-icons/file_type_powerpoint2.svg +0 -0
  1016. /package/static/{05e6417 → 911942d}/file-icons/file_type_powershell.svg +0 -0
  1017. /package/static/{05e6417 → 911942d}/file-icons/file_type_powershell2.svg +0 -0
  1018. /package/static/{05e6417 → 911942d}/file-icons/file_type_powershell_format.svg +0 -0
  1019. /package/static/{05e6417 → 911942d}/file-icons/file_type_powershell_psd.svg +0 -0
  1020. /package/static/{05e6417 → 911942d}/file-icons/file_type_powershell_psd2.svg +0 -0
  1021. /package/static/{05e6417 → 911942d}/file-icons/file_type_powershell_psm.svg +0 -0
  1022. /package/static/{05e6417 → 911942d}/file-icons/file_type_powershell_psm2.svg +0 -0
  1023. /package/static/{05e6417 → 911942d}/file-icons/file_type_powershell_types.svg +0 -0
  1024. /package/static/{05e6417 → 911942d}/file-icons/file_type_preact.svg +0 -0
  1025. /package/static/{05e6417 → 911942d}/file-icons/file_type_precommit.svg +0 -0
  1026. /package/static/{05e6417 → 911942d}/file-icons/file_type_prettier.svg +0 -0
  1027. /package/static/{05e6417 → 911942d}/file-icons/file_type_prisma.svg +0 -0
  1028. /package/static/{05e6417 → 911942d}/file-icons/file_type_processinglang.svg +0 -0
  1029. /package/static/{05e6417 → 911942d}/file-icons/file_type_procfile.svg +0 -0
  1030. /package/static/{05e6417 → 911942d}/file-icons/file_type_progress.svg +0 -0
  1031. /package/static/{05e6417 → 911942d}/file-icons/file_type_prolog.svg +0 -0
  1032. /package/static/{05e6417 → 911942d}/file-icons/file_type_prometheus.svg +0 -0
  1033. /package/static/{05e6417 → 911942d}/file-icons/file_type_protobuf.svg +0 -0
  1034. /package/static/{05e6417 → 911942d}/file-icons/file_type_protractor.svg +0 -0
  1035. /package/static/{05e6417 → 911942d}/file-icons/file_type_publiccode.svg +0 -0
  1036. /package/static/{05e6417 → 911942d}/file-icons/file_type_publisher.svg +0 -0
  1037. /package/static/{05e6417 → 911942d}/file-icons/file_type_pug.svg +0 -0
  1038. /package/static/{05e6417 → 911942d}/file-icons/file_type_pulumi.svg +0 -0
  1039. /package/static/{05e6417 → 911942d}/file-icons/file_type_puppet.svg +0 -0
  1040. /package/static/{05e6417 → 911942d}/file-icons/file_type_purescript.svg +0 -0
  1041. /package/static/{05e6417 → 911942d}/file-icons/file_type_purgecss.svg +0 -0
  1042. /package/static/{05e6417 → 911942d}/file-icons/file_type_pyenv.svg +0 -0
  1043. /package/static/{05e6417 → 911942d}/file-icons/file_type_pyret.svg +0 -0
  1044. /package/static/{05e6417 → 911942d}/file-icons/file_type_pyscript.svg +0 -0
  1045. /package/static/{05e6417 → 911942d}/file-icons/file_type_pytest.svg +0 -0
  1046. /package/static/{05e6417 → 911942d}/file-icons/file_type_python.svg +0 -0
  1047. /package/static/{05e6417 → 911942d}/file-icons/file_type_pythowo.svg +0 -0
  1048. /package/static/{05e6417 → 911942d}/file-icons/file_type_pytyped.svg +0 -0
  1049. /package/static/{05e6417 → 911942d}/file-icons/file_type_pyup.svg +0 -0
  1050. /package/static/{05e6417 → 911942d}/file-icons/file_type_q.svg +0 -0
  1051. /package/static/{05e6417 → 911942d}/file-icons/file_type_qbs.svg +0 -0
  1052. /package/static/{05e6417 → 911942d}/file-icons/file_type_qlikview.svg +0 -0
  1053. /package/static/{05e6417 → 911942d}/file-icons/file_type_qml.svg +0 -0
  1054. /package/static/{05e6417 → 911942d}/file-icons/file_type_qmldir.svg +0 -0
  1055. /package/static/{05e6417 → 911942d}/file-icons/file_type_qsharp.svg +0 -0
  1056. /package/static/{05e6417 → 911942d}/file-icons/file_type_quasar.svg +0 -0
  1057. /package/static/{05e6417 → 911942d}/file-icons/file_type_r.svg +0 -0
  1058. /package/static/{05e6417 → 911942d}/file-icons/file_type_ra_syntax_tree.svg +0 -0
  1059. /package/static/{05e6417 → 911942d}/file-icons/file_type_racket.svg +0 -0
  1060. /package/static/{05e6417 → 911942d}/file-icons/file_type_rails.svg +0 -0
  1061. /package/static/{05e6417 → 911942d}/file-icons/file_type_rake.svg +0 -0
  1062. /package/static/{05e6417 → 911942d}/file-icons/file_type_raku.svg +0 -0
  1063. /package/static/{05e6417 → 911942d}/file-icons/file_type_raml.svg +0 -0
  1064. /package/static/{05e6417 → 911942d}/file-icons/file_type_razor.svg +0 -0
  1065. /package/static/{05e6417 → 911942d}/file-icons/file_type_razzle.svg +0 -0
  1066. /package/static/{05e6417 → 911942d}/file-icons/file_type_reactjs.svg +0 -0
  1067. /package/static/{05e6417 → 911942d}/file-icons/file_type_reactrouter.svg +0 -0
  1068. /package/static/{05e6417 → 911942d}/file-icons/file_type_reacttemplate.svg +0 -0
  1069. /package/static/{05e6417 → 911942d}/file-icons/file_type_reactts.svg +0 -0
  1070. /package/static/{05e6417 → 911942d}/file-icons/file_type_reason.svg +0 -0
  1071. /package/static/{05e6417 → 911942d}/file-icons/file_type_red.svg +0 -0
  1072. /package/static/{05e6417 → 911942d}/file-icons/file_type_registry.svg +0 -0
  1073. /package/static/{05e6417 → 911942d}/file-icons/file_type_rego.svg +0 -0
  1074. /package/static/{05e6417 → 911942d}/file-icons/file_type_rehype.svg +0 -0
  1075. /package/static/{05e6417 → 911942d}/file-icons/file_type_remark.svg +0 -0
  1076. /package/static/{05e6417 → 911942d}/file-icons/file_type_renovate.svg +0 -0
  1077. /package/static/{05e6417 → 911942d}/file-icons/file_type_replit.svg +0 -0
  1078. /package/static/{05e6417 → 911942d}/file-icons/file_type_rescript.svg +0 -0
  1079. /package/static/{05e6417 → 911942d}/file-icons/file_type_rest.svg +0 -0
  1080. /package/static/{05e6417 → 911942d}/file-icons/file_type_retext.svg +0 -0
  1081. /package/static/{05e6417 → 911942d}/file-icons/file_type_rexx.svg +0 -0
  1082. /package/static/{05e6417 → 911942d}/file-icons/file_type_riot.svg +0 -0
  1083. /package/static/{05e6417 → 911942d}/file-icons/file_type_rmd.svg +0 -0
  1084. /package/static/{05e6417 → 911942d}/file-icons/file_type_rnc.svg +0 -0
  1085. /package/static/{05e6417 → 911942d}/file-icons/file_type_robotframework.svg +0 -0
  1086. /package/static/{05e6417 → 911942d}/file-icons/file_type_robots.svg +0 -0
  1087. /package/static/{05e6417 → 911942d}/file-icons/file_type_rolldown.svg +0 -0
  1088. /package/static/{05e6417 → 911942d}/file-icons/file_type_rollup.svg +0 -0
  1089. /package/static/{05e6417 → 911942d}/file-icons/file_type_rome.svg +0 -0
  1090. /package/static/{05e6417 → 911942d}/file-icons/file_type_ron.svg +0 -0
  1091. /package/static/{05e6417 → 911942d}/file-icons/file_type_rproj.svg +0 -0
  1092. /package/static/{05e6417 → 911942d}/file-icons/file_type_rspec.svg +0 -0
  1093. /package/static/{05e6417 → 911942d}/file-icons/file_type_rss.svg +0 -0
  1094. /package/static/{05e6417 → 911942d}/file-icons/file_type_rubocop.svg +0 -0
  1095. /package/static/{05e6417 → 911942d}/file-icons/file_type_ruby.svg +0 -0
  1096. /package/static/{05e6417 → 911942d}/file-icons/file_type_rust.svg +0 -0
  1097. /package/static/{05e6417 → 911942d}/file-icons/file_type_rust_toolchain.svg +0 -0
  1098. /package/static/{05e6417 → 911942d}/file-icons/file_type_s-lang.svg +0 -0
  1099. /package/static/{05e6417 → 911942d}/file-icons/file_type_safetensors.svg +0 -0
  1100. /package/static/{05e6417 → 911942d}/file-icons/file_type_sails.svg +0 -0
  1101. /package/static/{05e6417 → 911942d}/file-icons/file_type_saltstack.svg +0 -0
  1102. /package/static/{05e6417 → 911942d}/file-icons/file_type_san.svg +0 -0
  1103. /package/static/{05e6417 → 911942d}/file-icons/file_type_sapphire_framework_cli.svg +0 -0
  1104. /package/static/{05e6417 → 911942d}/file-icons/file_type_sas.svg +0 -0
  1105. /package/static/{05e6417 → 911942d}/file-icons/file_type_sass.svg +0 -0
  1106. /package/static/{05e6417 → 911942d}/file-icons/file_type_sbt.svg +0 -0
  1107. /package/static/{05e6417 → 911942d}/file-icons/file_type_scala.svg +0 -0
  1108. /package/static/{05e6417 → 911942d}/file-icons/file_type_scilab.svg +0 -0
  1109. /package/static/{05e6417 → 911942d}/file-icons/file_type_script.svg +0 -0
  1110. /package/static/{05e6417 → 911942d}/file-icons/file_type_scss.svg +0 -0
  1111. /package/static/{05e6417 → 911942d}/file-icons/file_type_scss2.svg +0 -0
  1112. /package/static/{05e6417 → 911942d}/file-icons/file_type_sdlang.svg +0 -0
  1113. /package/static/{05e6417 → 911942d}/file-icons/file_type_search_result.svg +0 -0
  1114. /package/static/{05e6417 → 911942d}/file-icons/file_type_seedkit.svg +0 -0
  1115. /package/static/{05e6417 → 911942d}/file-icons/file_type_sentry.svg +0 -0
  1116. /package/static/{05e6417 → 911942d}/file-icons/file_type_sequelize.svg +0 -0
  1117. /package/static/{05e6417 → 911942d}/file-icons/file_type_serverless.svg +0 -0
  1118. /package/static/{05e6417 → 911942d}/file-icons/file_type_shaderlab.svg +0 -0
  1119. /package/static/{05e6417 → 911942d}/file-icons/file_type_shell.svg +0 -0
  1120. /package/static/{05e6417 → 911942d}/file-icons/file_type_shellcheck.svg +0 -0
  1121. /package/static/{05e6417 → 911942d}/file-icons/file_type_shuttle.svg +0 -0
  1122. /package/static/{05e6417 → 911942d}/file-icons/file_type_silverstripe.svg +0 -0
  1123. /package/static/{05e6417 → 911942d}/file-icons/file_type_sino.svg +0 -0
  1124. /package/static/{05e6417 → 911942d}/file-icons/file_type_siyuan.svg +0 -0
  1125. /package/static/{05e6417 → 911942d}/file-icons/file_type_sketch.svg +0 -0
  1126. /package/static/{05e6417 → 911942d}/file-icons/file_type_skipper.svg +0 -0
  1127. /package/static/{05e6417 → 911942d}/file-icons/file_type_slang.svg +0 -0
  1128. /package/static/{05e6417 → 911942d}/file-icons/file_type_slashup.svg +0 -0
  1129. /package/static/{05e6417 → 911942d}/file-icons/file_type_slice.svg +0 -0
  1130. /package/static/{05e6417 → 911942d}/file-icons/file_type_slim.svg +0 -0
  1131. /package/static/{05e6417 → 911942d}/file-icons/file_type_slint.svg +0 -0
  1132. /package/static/{05e6417 → 911942d}/file-icons/file_type_sln.svg +0 -0
  1133. /package/static/{05e6417 → 911942d}/file-icons/file_type_sln2.svg +0 -0
  1134. /package/static/{05e6417 → 911942d}/file-icons/file_type_smarty.svg +0 -0
  1135. /package/static/{05e6417 → 911942d}/file-icons/file_type_snakemake.svg +0 -0
  1136. /package/static/{05e6417 → 911942d}/file-icons/file_type_snapcraft.svg +0 -0
  1137. /package/static/{05e6417 → 911942d}/file-icons/file_type_snaplet.svg +0 -0
  1138. /package/static/{05e6417 → 911942d}/file-icons/file_type_snort.svg +0 -0
  1139. /package/static/{05e6417 → 911942d}/file-icons/file_type_snyk.svg +0 -0
  1140. /package/static/{05e6417 → 911942d}/file-icons/file_type_solidarity.svg +0 -0
  1141. /package/static/{05e6417 → 911942d}/file-icons/file_type_solidity.svg +0 -0
  1142. /package/static/{05e6417 → 911942d}/file-icons/file_type_source.svg +0 -0
  1143. /package/static/{05e6417 → 911942d}/file-icons/file_type_spacengine.svg +0 -0
  1144. /package/static/{05e6417 → 911942d}/file-icons/file_type_sparql.svg +0 -0
  1145. /package/static/{05e6417 → 911942d}/file-icons/file_type_spin.svg +0 -0
  1146. /package/static/{05e6417 → 911942d}/file-icons/file_type_sqf.svg +0 -0
  1147. /package/static/{05e6417 → 911942d}/file-icons/file_type_sql.svg +0 -0
  1148. /package/static/{05e6417 → 911942d}/file-icons/file_type_sqlite.svg +0 -0
  1149. /package/static/{05e6417 → 911942d}/file-icons/file_type_squirrel.svg +0 -0
  1150. /package/static/{05e6417 → 911942d}/file-icons/file_type_sss.svg +0 -0
  1151. /package/static/{05e6417 → 911942d}/file-icons/file_type_sst.svg +0 -0
  1152. /package/static/{05e6417 → 911942d}/file-icons/file_type_stackblitz.svg +0 -0
  1153. /package/static/{05e6417 → 911942d}/file-icons/file_type_stan.svg +0 -0
  1154. /package/static/{05e6417 → 911942d}/file-icons/file_type_stata.svg +0 -0
  1155. /package/static/{05e6417 → 911942d}/file-icons/file_type_stencil.svg +0 -0
  1156. /package/static/{05e6417 → 911942d}/file-icons/file_type_storyboard.svg +0 -0
  1157. /package/static/{05e6417 → 911942d}/file-icons/file_type_storybook.svg +0 -0
  1158. /package/static/{05e6417 → 911942d}/file-icons/file_type_stryker.svg +0 -0
  1159. /package/static/{05e6417 → 911942d}/file-icons/file_type_stylable.svg +0 -0
  1160. /package/static/{05e6417 → 911942d}/file-icons/file_type_style.svg +0 -0
  1161. /package/static/{05e6417 → 911942d}/file-icons/file_type_styled.svg +0 -0
  1162. /package/static/{05e6417 → 911942d}/file-icons/file_type_stylelint.svg +0 -0
  1163. /package/static/{05e6417 → 911942d}/file-icons/file_type_stylish_haskell.svg +0 -0
  1164. /package/static/{05e6417 → 911942d}/file-icons/file_type_stylus.svg +0 -0
  1165. /package/static/{05e6417 → 911942d}/file-icons/file_type_sublime.svg +0 -0
  1166. /package/static/{05e6417 → 911942d}/file-icons/file_type_subversion.svg +0 -0
  1167. /package/static/{05e6417 → 911942d}/file-icons/file_type_svelte.svg +0 -0
  1168. /package/static/{05e6417 → 911942d}/file-icons/file_type_svelteconfig.svg +0 -0
  1169. /package/static/{05e6417 → 911942d}/file-icons/file_type_svg.svg +0 -0
  1170. /package/static/{05e6417 → 911942d}/file-icons/file_type_svgo.svg +0 -0
  1171. /package/static/{05e6417 → 911942d}/file-icons/file_type_swagger.svg +0 -0
  1172. /package/static/{05e6417 → 911942d}/file-icons/file_type_swc.svg +0 -0
  1173. /package/static/{05e6417 → 911942d}/file-icons/file_type_swift.svg +0 -0
  1174. /package/static/{05e6417 → 911942d}/file-icons/file_type_swig.svg +0 -0
  1175. /package/static/{05e6417 → 911942d}/file-icons/file_type_symfony.svg +0 -0
  1176. /package/static/{05e6417 → 911942d}/file-icons/file_type_syncpack.svg +0 -0
  1177. /package/static/{05e6417 → 911942d}/file-icons/file_type_systemd.svg +0 -0
  1178. /package/static/{05e6417 → 911942d}/file-icons/file_type_systemverilog.svg +0 -0
  1179. /package/static/{05e6417 → 911942d}/file-icons/file_type_t4tt.svg +0 -0
  1180. /package/static/{05e6417 → 911942d}/file-icons/file_type_tailwind.svg +0 -0
  1181. /package/static/{05e6417 → 911942d}/file-icons/file_type_tamagui.svg +0 -0
  1182. /package/static/{05e6417 → 911942d}/file-icons/file_type_taplo.svg +0 -0
  1183. /package/static/{05e6417 → 911942d}/file-icons/file_type_taskfile.svg +0 -0
  1184. /package/static/{05e6417 → 911942d}/file-icons/file_type_tauri.svg +0 -0
  1185. /package/static/{05e6417 → 911942d}/file-icons/file_type_tcl.svg +0 -0
  1186. /package/static/{05e6417 → 911942d}/file-icons/file_type_teal.svg +0 -0
  1187. /package/static/{05e6417 → 911942d}/file-icons/file_type_templ.svg +0 -0
  1188. /package/static/{05e6417 → 911942d}/file-icons/file_type_tera.svg +0 -0
  1189. /package/static/{05e6417 → 911942d}/file-icons/file_type_terraform.svg +0 -0
  1190. /package/static/{05e6417 → 911942d}/file-icons/file_type_test.svg +0 -0
  1191. /package/static/{05e6417 → 911942d}/file-icons/file_type_testcafe.svg +0 -0
  1192. /package/static/{05e6417 → 911942d}/file-icons/file_type_testjs.svg +0 -0
  1193. /package/static/{05e6417 → 911942d}/file-icons/file_type_testplane.svg +0 -0
  1194. /package/static/{05e6417 → 911942d}/file-icons/file_type_testts.svg +0 -0
  1195. /package/static/{05e6417 → 911942d}/file-icons/file_type_tex.svg +0 -0
  1196. /package/static/{05e6417 → 911942d}/file-icons/file_type_text.svg +0 -0
  1197. /package/static/{05e6417 → 911942d}/file-icons/file_type_textile.svg +0 -0
  1198. /package/static/{05e6417 → 911942d}/file-icons/file_type_tfs.svg +0 -0
  1199. /package/static/{05e6417 → 911942d}/file-icons/file_type_tiltfile.svg +0 -0
  1200. /package/static/{05e6417 → 911942d}/file-icons/file_type_tm.svg +0 -0
  1201. /package/static/{05e6417 → 911942d}/file-icons/file_type_tmux.svg +0 -0
  1202. /package/static/{05e6417 → 911942d}/file-icons/file_type_todo.svg +0 -0
  1203. /package/static/{05e6417 → 911942d}/file-icons/file_type_toit.svg +0 -0
  1204. /package/static/{05e6417 → 911942d}/file-icons/file_type_toml.svg +0 -0
  1205. /package/static/{05e6417 → 911942d}/file-icons/file_type_tox.svg +0 -0
  1206. /package/static/{05e6417 → 911942d}/file-icons/file_type_travis.svg +0 -0
  1207. /package/static/{05e6417 → 911942d}/file-icons/file_type_tree.svg +0 -0
  1208. /package/static/{05e6417 → 911942d}/file-icons/file_type_tres.svg +0 -0
  1209. /package/static/{05e6417 → 911942d}/file-icons/file_type_truffle.svg +0 -0
  1210. /package/static/{05e6417 → 911942d}/file-icons/file_type_trunk.svg +0 -0
  1211. /package/static/{05e6417 → 911942d}/file-icons/file_type_tsbuildinfo.svg +0 -0
  1212. /package/static/{05e6417 → 911942d}/file-icons/file_type_tscn.svg +0 -0
  1213. /package/static/{05e6417 → 911942d}/file-icons/file_type_tsconfig.svg +0 -0
  1214. /package/static/{05e6417 → 911942d}/file-icons/file_type_tsconfig_official.svg +0 -0
  1215. /package/static/{05e6417 → 911942d}/file-icons/file_type_tsdoc.svg +0 -0
  1216. /package/static/{05e6417 → 911942d}/file-icons/file_type_tslint.svg +0 -0
  1217. /package/static/{05e6417 → 911942d}/file-icons/file_type_tt.svg +0 -0
  1218. /package/static/{05e6417 → 911942d}/file-icons/file_type_ttcn.svg +0 -0
  1219. /package/static/{05e6417 → 911942d}/file-icons/file_type_tuc.svg +0 -0
  1220. /package/static/{05e6417 → 911942d}/file-icons/file_type_turbo.svg +0 -0
  1221. /package/static/{05e6417 → 911942d}/file-icons/file_type_twig.svg +0 -0
  1222. /package/static/{05e6417 → 911942d}/file-icons/file_type_typedoc.svg +0 -0
  1223. /package/static/{05e6417 → 911942d}/file-icons/file_type_typescript.svg +0 -0
  1224. /package/static/{05e6417 → 911942d}/file-icons/file_type_typescript_official.svg +0 -0
  1225. /package/static/{05e6417 → 911942d}/file-icons/file_type_typescriptdef.svg +0 -0
  1226. /package/static/{05e6417 → 911942d}/file-icons/file_type_typescriptdef_official.svg +0 -0
  1227. /package/static/{05e6417 → 911942d}/file-icons/file_type_typo3.svg +0 -0
  1228. /package/static/{05e6417 → 911942d}/file-icons/file_type_uiua.svg +0 -0
  1229. /package/static/{05e6417 → 911942d}/file-icons/file_type_unibeautify.svg +0 -0
  1230. /package/static/{05e6417 → 911942d}/file-icons/file_type_unison.svg +0 -0
  1231. /package/static/{05e6417 → 911942d}/file-icons/file_type_unlicense.svg +0 -0
  1232. /package/static/{05e6417 → 911942d}/file-icons/file_type_unocss.svg +0 -0
  1233. /package/static/{05e6417 → 911942d}/file-icons/file_type_vagrant.svg +0 -0
  1234. /package/static/{05e6417 → 911942d}/file-icons/file_type_vala.svg +0 -0
  1235. /package/static/{05e6417 → 911942d}/file-icons/file_type_vanilla_extract.svg +0 -0
  1236. /package/static/{05e6417 → 911942d}/file-icons/file_type_vapi.svg +0 -0
  1237. /package/static/{05e6417 → 911942d}/file-icons/file_type_vapor.svg +0 -0
  1238. /package/static/{05e6417 → 911942d}/file-icons/file_type_vash.svg +0 -0
  1239. /package/static/{05e6417 → 911942d}/file-icons/file_type_vb.svg +0 -0
  1240. /package/static/{05e6417 → 911942d}/file-icons/file_type_vba.svg +0 -0
  1241. /package/static/{05e6417 → 911942d}/file-icons/file_type_vbhtml.svg +0 -0
  1242. /package/static/{05e6417 → 911942d}/file-icons/file_type_vbproj.svg +0 -0
  1243. /package/static/{05e6417 → 911942d}/file-icons/file_type_vcxproj.svg +0 -0
  1244. /package/static/{05e6417 → 911942d}/file-icons/file_type_velocity.svg +0 -0
  1245. /package/static/{05e6417 → 911942d}/file-icons/file_type_vento.svg +0 -0
  1246. /package/static/{05e6417 → 911942d}/file-icons/file_type_vercel.svg +0 -0
  1247. /package/static/{05e6417 → 911942d}/file-icons/file_type_verilog.svg +0 -0
  1248. /package/static/{05e6417 → 911942d}/file-icons/file_type_vhdl.svg +0 -0
  1249. /package/static/{05e6417 → 911942d}/file-icons/file_type_video.svg +0 -0
  1250. /package/static/{05e6417 → 911942d}/file-icons/file_type_view.svg +0 -0
  1251. /package/static/{05e6417 → 911942d}/file-icons/file_type_vim.svg +0 -0
  1252. /package/static/{05e6417 → 911942d}/file-icons/file_type_vite.svg +0 -0
  1253. /package/static/{05e6417 → 911942d}/file-icons/file_type_vitest.svg +0 -0
  1254. /package/static/{05e6417 → 911942d}/file-icons/file_type_vlang.svg +0 -0
  1255. /package/static/{05e6417 → 911942d}/file-icons/file_type_volt.svg +0 -0
  1256. /package/static/{05e6417 → 911942d}/file-icons/file_type_vscode-insiders.svg +0 -0
  1257. /package/static/{05e6417 → 911942d}/file-icons/file_type_vscode.svg +0 -0
  1258. /package/static/{05e6417 → 911942d}/file-icons/file_type_vscode2.svg +0 -0
  1259. /package/static/{05e6417 → 911942d}/file-icons/file_type_vscode3.svg +0 -0
  1260. /package/static/{05e6417 → 911942d}/file-icons/file_type_vscode_test.svg +0 -0
  1261. /package/static/{05e6417 → 911942d}/file-icons/file_type_vsix.svg +0 -0
  1262. /package/static/{05e6417 → 911942d}/file-icons/file_type_vsixmanifest.svg +0 -0
  1263. /package/static/{05e6417 → 911942d}/file-icons/file_type_vue.svg +0 -0
  1264. /package/static/{05e6417 → 911942d}/file-icons/file_type_vueconfig.svg +0 -0
  1265. /package/static/{05e6417 → 911942d}/file-icons/file_type_vyper.svg +0 -0
  1266. /package/static/{05e6417 → 911942d}/file-icons/file_type_wallaby.svg +0 -0
  1267. /package/static/{05e6417 → 911942d}/file-icons/file_type_wally.svg +0 -0
  1268. /package/static/{05e6417 → 911942d}/file-icons/file_type_wasm.svg +0 -0
  1269. /package/static/{05e6417 → 911942d}/file-icons/file_type_watchmanconfig.svg +0 -0
  1270. /package/static/{05e6417 → 911942d}/file-icons/file_type_wdio.svg +0 -0
  1271. /package/static/{05e6417 → 911942d}/file-icons/file_type_weblate.svg +0 -0
  1272. /package/static/{05e6417 → 911942d}/file-icons/file_type_webpack.svg +0 -0
  1273. /package/static/{05e6417 → 911942d}/file-icons/file_type_wenyan.svg +0 -0
  1274. /package/static/{05e6417 → 911942d}/file-icons/file_type_wercker.svg +0 -0
  1275. /package/static/{05e6417 → 911942d}/file-icons/file_type_wgsl.svg +0 -0
  1276. /package/static/{05e6417 → 911942d}/file-icons/file_type_wikitext.svg +0 -0
  1277. /package/static/{05e6417 → 911942d}/file-icons/file_type_windi.svg +0 -0
  1278. /package/static/{05e6417 → 911942d}/file-icons/file_type_wit.svg +0 -0
  1279. /package/static/{05e6417 → 911942d}/file-icons/file_type_wolfram.svg +0 -0
  1280. /package/static/{05e6417 → 911942d}/file-icons/file_type_word.svg +0 -0
  1281. /package/static/{05e6417 → 911942d}/file-icons/file_type_word2.svg +0 -0
  1282. /package/static/{05e6417 → 911942d}/file-icons/file_type_wpml.svg +0 -0
  1283. /package/static/{05e6417 → 911942d}/file-icons/file_type_wurst.svg +0 -0
  1284. /package/static/{05e6417 → 911942d}/file-icons/file_type_wxml.svg +0 -0
  1285. /package/static/{05e6417 → 911942d}/file-icons/file_type_wxss.svg +0 -0
  1286. /package/static/{05e6417 → 911942d}/file-icons/file_type_wxt.svg +0 -0
  1287. /package/static/{05e6417 → 911942d}/file-icons/file_type_xcode.svg +0 -0
  1288. /package/static/{05e6417 → 911942d}/file-icons/file_type_xfl.svg +0 -0
  1289. /package/static/{05e6417 → 911942d}/file-icons/file_type_xib.svg +0 -0
  1290. /package/static/{05e6417 → 911942d}/file-icons/file_type_xliff.svg +0 -0
  1291. /package/static/{05e6417 → 911942d}/file-icons/file_type_xmake.svg +0 -0
  1292. /package/static/{05e6417 → 911942d}/file-icons/file_type_xml.svg +0 -0
  1293. /package/static/{05e6417 → 911942d}/file-icons/file_type_xo.svg +0 -0
  1294. /package/static/{05e6417 → 911942d}/file-icons/file_type_xorg.svg +0 -0
  1295. /package/static/{05e6417 → 911942d}/file-icons/file_type_xquery.svg +0 -0
  1296. /package/static/{05e6417 → 911942d}/file-icons/file_type_xsl.svg +0 -0
  1297. /package/static/{05e6417 → 911942d}/file-icons/file_type_yacc.svg +0 -0
  1298. /package/static/{05e6417 → 911942d}/file-icons/file_type_yaml.svg +0 -0
  1299. /package/static/{05e6417 → 911942d}/file-icons/file_type_yaml_official.svg +0 -0
  1300. /package/static/{05e6417 → 911942d}/file-icons/file_type_yamllint.svg +0 -0
  1301. /package/static/{05e6417 → 911942d}/file-icons/file_type_yandex.svg +0 -0
  1302. /package/static/{05e6417 → 911942d}/file-icons/file_type_yang.svg +0 -0
  1303. /package/static/{05e6417 → 911942d}/file-icons/file_type_yarn.svg +0 -0
  1304. /package/static/{05e6417 → 911942d}/file-icons/file_type_yeoman.svg +0 -0
  1305. /package/static/{05e6417 → 911942d}/file-icons/file_type_zeit.svg +0 -0
  1306. /package/static/{05e6417 → 911942d}/file-icons/file_type_zig.svg +0 -0
  1307. /package/static/{05e6417 → 911942d}/file-icons/file_type_zip.svg +0 -0
  1308. /package/static/{05e6417 → 911942d}/file-icons/file_type_zip2.svg +0 -0
  1309. /package/static/{05e6417 → 911942d}/file-icons/folder_type_android.svg +0 -0
  1310. /package/static/{05e6417 → 911942d}/file-icons/folder_type_android_opened.svg +0 -0
  1311. /package/static/{05e6417 → 911942d}/file-icons/folder_type_api.svg +0 -0
  1312. /package/static/{05e6417 → 911942d}/file-icons/folder_type_api_opened.svg +0 -0
  1313. /package/static/{05e6417 → 911942d}/file-icons/folder_type_app.svg +0 -0
  1314. /package/static/{05e6417 → 911942d}/file-icons/folder_type_app_opened.svg +0 -0
  1315. /package/static/{05e6417 → 911942d}/file-icons/folder_type_arangodb.svg +0 -0
  1316. /package/static/{05e6417 → 911942d}/file-icons/folder_type_arangodb_opened.svg +0 -0
  1317. /package/static/{05e6417 → 911942d}/file-icons/folder_type_asset.svg +0 -0
  1318. /package/static/{05e6417 → 911942d}/file-icons/folder_type_asset_opened.svg +0 -0
  1319. /package/static/{05e6417 → 911942d}/file-icons/folder_type_audio.svg +0 -0
  1320. /package/static/{05e6417 → 911942d}/file-icons/folder_type_audio_opened.svg +0 -0
  1321. /package/static/{05e6417 → 911942d}/file-icons/folder_type_aurelia.svg +0 -0
  1322. /package/static/{05e6417 → 911942d}/file-icons/folder_type_aurelia_opened.svg +0 -0
  1323. /package/static/{05e6417 → 911942d}/file-icons/folder_type_aws.svg +0 -0
  1324. /package/static/{05e6417 → 911942d}/file-icons/folder_type_aws_opened.svg +0 -0
  1325. /package/static/{05e6417 → 911942d}/file-icons/folder_type_azure.svg +0 -0
  1326. /package/static/{05e6417 → 911942d}/file-icons/folder_type_azure_opened.svg +0 -0
  1327. /package/static/{05e6417 → 911942d}/file-icons/folder_type_azurepipelines.svg +0 -0
  1328. /package/static/{05e6417 → 911942d}/file-icons/folder_type_azurepipelines_opened.svg +0 -0
  1329. /package/static/{05e6417 → 911942d}/file-icons/folder_type_binary.svg +0 -0
  1330. /package/static/{05e6417 → 911942d}/file-icons/folder_type_binary_opened.svg +0 -0
  1331. /package/static/{05e6417 → 911942d}/file-icons/folder_type_bloc.svg +0 -0
  1332. /package/static/{05e6417 → 911942d}/file-icons/folder_type_bloc_opened.svg +0 -0
  1333. /package/static/{05e6417 → 911942d}/file-icons/folder_type_blueprint.svg +0 -0
  1334. /package/static/{05e6417 → 911942d}/file-icons/folder_type_blueprint_opened.svg +0 -0
  1335. /package/static/{05e6417 → 911942d}/file-icons/folder_type_bot.svg +0 -0
  1336. /package/static/{05e6417 → 911942d}/file-icons/folder_type_bot_opened.svg +0 -0
  1337. /package/static/{05e6417 → 911942d}/file-icons/folder_type_bower.svg +0 -0
  1338. /package/static/{05e6417 → 911942d}/file-icons/folder_type_bower_opened.svg +0 -0
  1339. /package/static/{05e6417 → 911942d}/file-icons/folder_type_buildkite.svg +0 -0
  1340. /package/static/{05e6417 → 911942d}/file-icons/folder_type_buildkite_opened.svg +0 -0
  1341. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cake.svg +0 -0
  1342. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cake_opened.svg +0 -0
  1343. /package/static/{05e6417 → 911942d}/file-icons/folder_type_certificate.svg +0 -0
  1344. /package/static/{05e6417 → 911942d}/file-icons/folder_type_certificate_opened.svg +0 -0
  1345. /package/static/{05e6417 → 911942d}/file-icons/folder_type_changesets.svg +0 -0
  1346. /package/static/{05e6417 → 911942d}/file-icons/folder_type_changesets_opened.svg +0 -0
  1347. /package/static/{05e6417 → 911942d}/file-icons/folder_type_chef.svg +0 -0
  1348. /package/static/{05e6417 → 911942d}/file-icons/folder_type_chef_opened.svg +0 -0
  1349. /package/static/{05e6417 → 911942d}/file-icons/folder_type_circleci.svg +0 -0
  1350. /package/static/{05e6417 → 911942d}/file-icons/folder_type_circleci_opened.svg +0 -0
  1351. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cli.svg +0 -0
  1352. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cli_opened.svg +0 -0
  1353. /package/static/{05e6417 → 911942d}/file-icons/folder_type_client.svg +0 -0
  1354. /package/static/{05e6417 → 911942d}/file-icons/folder_type_client_opened.svg +0 -0
  1355. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cmake.svg +0 -0
  1356. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cmake_opened.svg +0 -0
  1357. /package/static/{05e6417 → 911942d}/file-icons/folder_type_common.svg +0 -0
  1358. /package/static/{05e6417 → 911942d}/file-icons/folder_type_common_opened.svg +0 -0
  1359. /package/static/{05e6417 → 911942d}/file-icons/folder_type_component.svg +0 -0
  1360. /package/static/{05e6417 → 911942d}/file-icons/folder_type_component_opened.svg +0 -0
  1361. /package/static/{05e6417 → 911942d}/file-icons/folder_type_composer.svg +0 -0
  1362. /package/static/{05e6417 → 911942d}/file-icons/folder_type_composer_opened.svg +0 -0
  1363. /package/static/{05e6417 → 911942d}/file-icons/folder_type_config.svg +0 -0
  1364. /package/static/{05e6417 → 911942d}/file-icons/folder_type_config_opened.svg +0 -0
  1365. /package/static/{05e6417 → 911942d}/file-icons/folder_type_controller.svg +0 -0
  1366. /package/static/{05e6417 → 911942d}/file-icons/folder_type_controller_opened.svg +0 -0
  1367. /package/static/{05e6417 → 911942d}/file-icons/folder_type_coverage.svg +0 -0
  1368. /package/static/{05e6417 → 911942d}/file-icons/folder_type_coverage_opened.svg +0 -0
  1369. /package/static/{05e6417 → 911942d}/file-icons/folder_type_css.svg +0 -0
  1370. /package/static/{05e6417 → 911942d}/file-icons/folder_type_css2.svg +0 -0
  1371. /package/static/{05e6417 → 911942d}/file-icons/folder_type_css2_opened.svg +0 -0
  1372. /package/static/{05e6417 → 911942d}/file-icons/folder_type_css_opened.svg +0 -0
  1373. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cubit.svg +0 -0
  1374. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cubit_opened.svg +0 -0
  1375. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cypress.svg +0 -0
  1376. /package/static/{05e6417 → 911942d}/file-icons/folder_type_cypress_opened.svg +0 -0
  1377. /package/static/{05e6417 → 911942d}/file-icons/folder_type_dapr.svg +0 -0
  1378. /package/static/{05e6417 → 911942d}/file-icons/folder_type_dapr_opened.svg +0 -0
  1379. /package/static/{05e6417 → 911942d}/file-icons/folder_type_datadog.svg +0 -0
  1380. /package/static/{05e6417 → 911942d}/file-icons/folder_type_datadog_opened.svg +0 -0
  1381. /package/static/{05e6417 → 911942d}/file-icons/folder_type_db.svg +0 -0
  1382. /package/static/{05e6417 → 911942d}/file-icons/folder_type_db_opened.svg +0 -0
  1383. /package/static/{05e6417 → 911942d}/file-icons/folder_type_debian.svg +0 -0
  1384. /package/static/{05e6417 → 911942d}/file-icons/folder_type_debian_opened.svg +0 -0
  1385. /package/static/{05e6417 → 911942d}/file-icons/folder_type_dependabot.svg +0 -0
  1386. /package/static/{05e6417 → 911942d}/file-icons/folder_type_dependabot_opened.svg +0 -0
  1387. /package/static/{05e6417 → 911942d}/file-icons/folder_type_devcontainer.svg +0 -0
  1388. /package/static/{05e6417 → 911942d}/file-icons/folder_type_devcontainer_opened.svg +0 -0
  1389. /package/static/{05e6417 → 911942d}/file-icons/folder_type_dist.svg +0 -0
  1390. /package/static/{05e6417 → 911942d}/file-icons/folder_type_dist_opened.svg +0 -0
  1391. /package/static/{05e6417 → 911942d}/file-icons/folder_type_docker.svg +0 -0
  1392. /package/static/{05e6417 → 911942d}/file-icons/folder_type_docker_opened.svg +0 -0
  1393. /package/static/{05e6417 → 911942d}/file-icons/folder_type_docs.svg +0 -0
  1394. /package/static/{05e6417 → 911942d}/file-icons/folder_type_docs_opened.svg +0 -0
  1395. /package/static/{05e6417 → 911942d}/file-icons/folder_type_e2e.svg +0 -0
  1396. /package/static/{05e6417 → 911942d}/file-icons/folder_type_e2e_opened.svg +0 -0
  1397. /package/static/{05e6417 → 911942d}/file-icons/folder_type_elasticbeanstalk.svg +0 -0
  1398. /package/static/{05e6417 → 911942d}/file-icons/folder_type_elasticbeanstalk_opened.svg +0 -0
  1399. /package/static/{05e6417 → 911942d}/file-icons/folder_type_electron.svg +0 -0
  1400. /package/static/{05e6417 → 911942d}/file-icons/folder_type_electron_opened.svg +0 -0
  1401. /package/static/{05e6417 → 911942d}/file-icons/folder_type_expo.svg +0 -0
  1402. /package/static/{05e6417 → 911942d}/file-icons/folder_type_expo_opened.svg +0 -0
  1403. /package/static/{05e6417 → 911942d}/file-icons/folder_type_favicon.svg +0 -0
  1404. /package/static/{05e6417 → 911942d}/file-icons/folder_type_favicon_opened.svg +0 -0
  1405. /package/static/{05e6417 → 911942d}/file-icons/folder_type_flow.svg +0 -0
  1406. /package/static/{05e6417 → 911942d}/file-icons/folder_type_flow_opened.svg +0 -0
  1407. /package/static/{05e6417 → 911942d}/file-icons/folder_type_fonts.svg +0 -0
  1408. /package/static/{05e6417 → 911942d}/file-icons/folder_type_fonts_opened.svg +0 -0
  1409. /package/static/{05e6417 → 911942d}/file-icons/folder_type_frontcommerce.svg +0 -0
  1410. /package/static/{05e6417 → 911942d}/file-icons/folder_type_frontcommerce_opened.svg +0 -0
  1411. /package/static/{05e6417 → 911942d}/file-icons/folder_type_gcp.svg +0 -0
  1412. /package/static/{05e6417 → 911942d}/file-icons/folder_type_gcp_opened.svg +0 -0
  1413. /package/static/{05e6417 → 911942d}/file-icons/folder_type_git.svg +0 -0
  1414. /package/static/{05e6417 → 911942d}/file-icons/folder_type_git_opened.svg +0 -0
  1415. /package/static/{05e6417 → 911942d}/file-icons/folder_type_github.svg +0 -0
  1416. /package/static/{05e6417 → 911942d}/file-icons/folder_type_github_opened.svg +0 -0
  1417. /package/static/{05e6417 → 911942d}/file-icons/folder_type_gitlab.svg +0 -0
  1418. /package/static/{05e6417 → 911942d}/file-icons/folder_type_gitlab_opened.svg +0 -0
  1419. /package/static/{05e6417 → 911942d}/file-icons/folder_type_gradle.svg +0 -0
  1420. /package/static/{05e6417 → 911942d}/file-icons/folder_type_gradle_opened.svg +0 -0
  1421. /package/static/{05e6417 → 911942d}/file-icons/folder_type_graphql.svg +0 -0
  1422. /package/static/{05e6417 → 911942d}/file-icons/folder_type_graphql_opened.svg +0 -0
  1423. /package/static/{05e6417 → 911942d}/file-icons/folder_type_grunt.svg +0 -0
  1424. /package/static/{05e6417 → 911942d}/file-icons/folder_type_grunt_opened.svg +0 -0
  1425. /package/static/{05e6417 → 911942d}/file-icons/folder_type_gulp.svg +0 -0
  1426. /package/static/{05e6417 → 911942d}/file-icons/folder_type_gulp_opened.svg +0 -0
  1427. /package/static/{05e6417 → 911942d}/file-icons/folder_type_haxelib.svg +0 -0
  1428. /package/static/{05e6417 → 911942d}/file-icons/folder_type_haxelib_opened.svg +0 -0
  1429. /package/static/{05e6417 → 911942d}/file-icons/folder_type_helper.svg +0 -0
  1430. /package/static/{05e6417 → 911942d}/file-icons/folder_type_helper_opened.svg +0 -0
  1431. /package/static/{05e6417 → 911942d}/file-icons/folder_type_hook.svg +0 -0
  1432. /package/static/{05e6417 → 911942d}/file-icons/folder_type_hook_opened.svg +0 -0
  1433. /package/static/{05e6417 → 911942d}/file-icons/folder_type_husky.svg +0 -0
  1434. /package/static/{05e6417 → 911942d}/file-icons/folder_type_husky_opened.svg +0 -0
  1435. /package/static/{05e6417 → 911942d}/file-icons/folder_type_idea.svg +0 -0
  1436. /package/static/{05e6417 → 911942d}/file-icons/folder_type_idea_opened.svg +0 -0
  1437. /package/static/{05e6417 → 911942d}/file-icons/folder_type_images.svg +0 -0
  1438. /package/static/{05e6417 → 911942d}/file-icons/folder_type_images_opened.svg +0 -0
  1439. /package/static/{05e6417 → 911942d}/file-icons/folder_type_include.svg +0 -0
  1440. /package/static/{05e6417 → 911942d}/file-icons/folder_type_include_opened.svg +0 -0
  1441. /package/static/{05e6417 → 911942d}/file-icons/folder_type_interfaces.svg +0 -0
  1442. /package/static/{05e6417 → 911942d}/file-icons/folder_type_interfaces_opened.svg +0 -0
  1443. /package/static/{05e6417 → 911942d}/file-icons/folder_type_ios.svg +0 -0
  1444. /package/static/{05e6417 → 911942d}/file-icons/folder_type_ios_opened.svg +0 -0
  1445. /package/static/{05e6417 → 911942d}/file-icons/folder_type_js.svg +0 -0
  1446. /package/static/{05e6417 → 911942d}/file-icons/folder_type_js_opened.svg +0 -0
  1447. /package/static/{05e6417 → 911942d}/file-icons/folder_type_json.svg +0 -0
  1448. /package/static/{05e6417 → 911942d}/file-icons/folder_type_json_official.svg +0 -0
  1449. /package/static/{05e6417 → 911942d}/file-icons/folder_type_json_official_opened.svg +0 -0
  1450. /package/static/{05e6417 → 911942d}/file-icons/folder_type_json_opened.svg +0 -0
  1451. /package/static/{05e6417 → 911942d}/file-icons/folder_type_kubernetes.svg +0 -0
  1452. /package/static/{05e6417 → 911942d}/file-icons/folder_type_kubernetes_opened.svg +0 -0
  1453. /package/static/{05e6417 → 911942d}/file-icons/folder_type_less.svg +0 -0
  1454. /package/static/{05e6417 → 911942d}/file-icons/folder_type_less_opened.svg +0 -0
  1455. /package/static/{05e6417 → 911942d}/file-icons/folder_type_library.svg +0 -0
  1456. /package/static/{05e6417 → 911942d}/file-icons/folder_type_library_opened.svg +0 -0
  1457. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_cypress.svg +0 -0
  1458. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_cypress_opened.svg +0 -0
  1459. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_electron.svg +0 -0
  1460. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_electron_opened.svg +0 -0
  1461. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_expo.svg +0 -0
  1462. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_expo_opened.svg +0 -0
  1463. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_fonts.svg +0 -0
  1464. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_fonts_opened.svg +0 -0
  1465. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_gradle.svg +0 -0
  1466. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_gradle_opened.svg +0 -0
  1467. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_meteor.svg +0 -0
  1468. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_meteor_opened.svg +0 -0
  1469. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_mypy.svg +0 -0
  1470. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_mypy_opened.svg +0 -0
  1471. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_mysql.svg +0 -0
  1472. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_mysql_opened.svg +0 -0
  1473. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_node.svg +0 -0
  1474. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_node_opened.svg +0 -0
  1475. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_redux.svg +0 -0
  1476. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_redux_opened.svg +0 -0
  1477. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_sass.svg +0 -0
  1478. /package/static/{05e6417 → 911942d}/file-icons/folder_type_light_sass_opened.svg +0 -0
  1479. /package/static/{05e6417 → 911942d}/file-icons/folder_type_linux.svg +0 -0
  1480. /package/static/{05e6417 → 911942d}/file-icons/folder_type_linux_opened.svg +0 -0
  1481. /package/static/{05e6417 → 911942d}/file-icons/folder_type_locale.svg +0 -0
  1482. /package/static/{05e6417 → 911942d}/file-icons/folder_type_locale_opened.svg +0 -0
  1483. /package/static/{05e6417 → 911942d}/file-icons/folder_type_log.svg +0 -0
  1484. /package/static/{05e6417 → 911942d}/file-icons/folder_type_log_opened.svg +0 -0
  1485. /package/static/{05e6417 → 911942d}/file-icons/folder_type_macos.svg +0 -0
  1486. /package/static/{05e6417 → 911942d}/file-icons/folder_type_macos_opened.svg +0 -0
  1487. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mariadb.svg +0 -0
  1488. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mariadb_opened.svg +0 -0
  1489. /package/static/{05e6417 → 911942d}/file-icons/folder_type_maven.svg +0 -0
  1490. /package/static/{05e6417 → 911942d}/file-icons/folder_type_maven_opened.svg +0 -0
  1491. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mediawiki.svg +0 -0
  1492. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mediawiki_opened.svg +0 -0
  1493. /package/static/{05e6417 → 911942d}/file-icons/folder_type_memcached.svg +0 -0
  1494. /package/static/{05e6417 → 911942d}/file-icons/folder_type_memcached_opened.svg +0 -0
  1495. /package/static/{05e6417 → 911942d}/file-icons/folder_type_meteor.svg +0 -0
  1496. /package/static/{05e6417 → 911942d}/file-icons/folder_type_meteor_opened.svg +0 -0
  1497. /package/static/{05e6417 → 911942d}/file-icons/folder_type_middleware.svg +0 -0
  1498. /package/static/{05e6417 → 911942d}/file-icons/folder_type_middleware_opened.svg +0 -0
  1499. /package/static/{05e6417 → 911942d}/file-icons/folder_type_minecraft.svg +0 -0
  1500. /package/static/{05e6417 → 911942d}/file-icons/folder_type_minecraft_opened.svg +0 -0
  1501. /package/static/{05e6417 → 911942d}/file-icons/folder_type_minikube.svg +0 -0
  1502. /package/static/{05e6417 → 911942d}/file-icons/folder_type_minikube_opened.svg +0 -0
  1503. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mjml.svg +0 -0
  1504. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mjml_opened.svg +0 -0
  1505. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mock.svg +0 -0
  1506. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mock_opened.svg +0 -0
  1507. /package/static/{05e6417 → 911942d}/file-icons/folder_type_model.svg +0 -0
  1508. /package/static/{05e6417 → 911942d}/file-icons/folder_type_model_opened.svg +0 -0
  1509. /package/static/{05e6417 → 911942d}/file-icons/folder_type_module.svg +0 -0
  1510. /package/static/{05e6417 → 911942d}/file-icons/folder_type_module_opened.svg +0 -0
  1511. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mojo.svg +0 -0
  1512. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mojo_opened.svg +0 -0
  1513. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mongodb.svg +0 -0
  1514. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mongodb_opened.svg +0 -0
  1515. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mypy.svg +0 -0
  1516. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mypy_opened.svg +0 -0
  1517. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mysql.svg +0 -0
  1518. /package/static/{05e6417 → 911942d}/file-icons/folder_type_mysql_opened.svg +0 -0
  1519. /package/static/{05e6417 → 911942d}/file-icons/folder_type_netlify.svg +0 -0
  1520. /package/static/{05e6417 → 911942d}/file-icons/folder_type_netlify_opened.svg +0 -0
  1521. /package/static/{05e6417 → 911942d}/file-icons/folder_type_next.svg +0 -0
  1522. /package/static/{05e6417 → 911942d}/file-icons/folder_type_next_opened.svg +0 -0
  1523. /package/static/{05e6417 → 911942d}/file-icons/folder_type_nginx.svg +0 -0
  1524. /package/static/{05e6417 → 911942d}/file-icons/folder_type_nginx_opened.svg +0 -0
  1525. /package/static/{05e6417 → 911942d}/file-icons/folder_type_nix.svg +0 -0
  1526. /package/static/{05e6417 → 911942d}/file-icons/folder_type_nix_opened.svg +0 -0
  1527. /package/static/{05e6417 → 911942d}/file-icons/folder_type_node.svg +0 -0
  1528. /package/static/{05e6417 → 911942d}/file-icons/folder_type_node_opened.svg +0 -0
  1529. /package/static/{05e6417 → 911942d}/file-icons/folder_type_notebooks.svg +0 -0
  1530. /package/static/{05e6417 → 911942d}/file-icons/folder_type_notebooks_opened.svg +0 -0
  1531. /package/static/{05e6417 → 911942d}/file-icons/folder_type_notification.svg +0 -0
  1532. /package/static/{05e6417 → 911942d}/file-icons/folder_type_notification_opened.svg +0 -0
  1533. /package/static/{05e6417 → 911942d}/file-icons/folder_type_nuget.svg +0 -0
  1534. /package/static/{05e6417 → 911942d}/file-icons/folder_type_nuget_opened.svg +0 -0
  1535. /package/static/{05e6417 → 911942d}/file-icons/folder_type_nuxt.svg +0 -0
  1536. /package/static/{05e6417 → 911942d}/file-icons/folder_type_nuxt_opened.svg +0 -0
  1537. /package/static/{05e6417 → 911942d}/file-icons/folder_type_package.svg +0 -0
  1538. /package/static/{05e6417 → 911942d}/file-icons/folder_type_package_opened.svg +0 -0
  1539. /package/static/{05e6417 → 911942d}/file-icons/folder_type_paket.svg +0 -0
  1540. /package/static/{05e6417 → 911942d}/file-icons/folder_type_paket_opened.svg +0 -0
  1541. /package/static/{05e6417 → 911942d}/file-icons/folder_type_php.svg +0 -0
  1542. /package/static/{05e6417 → 911942d}/file-icons/folder_type_php_opened.svg +0 -0
  1543. /package/static/{05e6417 → 911942d}/file-icons/folder_type_platformio.svg +0 -0
  1544. /package/static/{05e6417 → 911942d}/file-icons/folder_type_platformio_opened.svg +0 -0
  1545. /package/static/{05e6417 → 911942d}/file-icons/folder_type_plugin.svg +0 -0
  1546. /package/static/{05e6417 → 911942d}/file-icons/folder_type_plugin_opened.svg +0 -0
  1547. /package/static/{05e6417 → 911942d}/file-icons/folder_type_prisma.svg +0 -0
  1548. /package/static/{05e6417 → 911942d}/file-icons/folder_type_prisma_opened.svg +0 -0
  1549. /package/static/{05e6417 → 911942d}/file-icons/folder_type_private.svg +0 -0
  1550. /package/static/{05e6417 → 911942d}/file-icons/folder_type_private_opened.svg +0 -0
  1551. /package/static/{05e6417 → 911942d}/file-icons/folder_type_public.svg +0 -0
  1552. /package/static/{05e6417 → 911942d}/file-icons/folder_type_public_opened.svg +0 -0
  1553. /package/static/{05e6417 → 911942d}/file-icons/folder_type_pytest.svg +0 -0
  1554. /package/static/{05e6417 → 911942d}/file-icons/folder_type_pytest_opened.svg +0 -0
  1555. /package/static/{05e6417 → 911942d}/file-icons/folder_type_python.svg +0 -0
  1556. /package/static/{05e6417 → 911942d}/file-icons/folder_type_python_opened.svg +0 -0
  1557. /package/static/{05e6417 → 911942d}/file-icons/folder_type_ravendb.svg +0 -0
  1558. /package/static/{05e6417 → 911942d}/file-icons/folder_type_ravendb_opened.svg +0 -0
  1559. /package/static/{05e6417 → 911942d}/file-icons/folder_type_redis.svg +0 -0
  1560. /package/static/{05e6417 → 911942d}/file-icons/folder_type_redis_opened.svg +0 -0
  1561. /package/static/{05e6417 → 911942d}/file-icons/folder_type_redux.svg +0 -0
  1562. /package/static/{05e6417 → 911942d}/file-icons/folder_type_redux_opened.svg +0 -0
  1563. /package/static/{05e6417 → 911942d}/file-icons/folder_type_route.svg +0 -0
  1564. /package/static/{05e6417 → 911942d}/file-icons/folder_type_route_opened.svg +0 -0
  1565. /package/static/{05e6417 → 911942d}/file-icons/folder_type_sass.svg +0 -0
  1566. /package/static/{05e6417 → 911942d}/file-icons/folder_type_sass_opened.svg +0 -0
  1567. /package/static/{05e6417 → 911942d}/file-icons/folder_type_script.svg +0 -0
  1568. /package/static/{05e6417 → 911942d}/file-icons/folder_type_script_opened.svg +0 -0
  1569. /package/static/{05e6417 → 911942d}/file-icons/folder_type_seedkit.svg +0 -0
  1570. /package/static/{05e6417 → 911942d}/file-icons/folder_type_seedkit_opened.svg +0 -0
  1571. /package/static/{05e6417 → 911942d}/file-icons/folder_type_server.svg +0 -0
  1572. /package/static/{05e6417 → 911942d}/file-icons/folder_type_server_opened.svg +0 -0
  1573. /package/static/{05e6417 → 911942d}/file-icons/folder_type_services.svg +0 -0
  1574. /package/static/{05e6417 → 911942d}/file-icons/folder_type_services_opened.svg +0 -0
  1575. /package/static/{05e6417 → 911942d}/file-icons/folder_type_shared.svg +0 -0
  1576. /package/static/{05e6417 → 911942d}/file-icons/folder_type_shared_opened.svg +0 -0
  1577. /package/static/{05e6417 → 911942d}/file-icons/folder_type_snaplet.svg +0 -0
  1578. /package/static/{05e6417 → 911942d}/file-icons/folder_type_snaplet_opened.svg +0 -0
  1579. /package/static/{05e6417 → 911942d}/file-icons/folder_type_spin.svg +0 -0
  1580. /package/static/{05e6417 → 911942d}/file-icons/folder_type_spin_opened.svg +0 -0
  1581. /package/static/{05e6417 → 911942d}/file-icons/folder_type_src.svg +0 -0
  1582. /package/static/{05e6417 → 911942d}/file-icons/folder_type_src_opened.svg +0 -0
  1583. /package/static/{05e6417 → 911942d}/file-icons/folder_type_sso.svg +0 -0
  1584. /package/static/{05e6417 → 911942d}/file-icons/folder_type_sso_opened.svg +0 -0
  1585. /package/static/{05e6417 → 911942d}/file-icons/folder_type_story.svg +0 -0
  1586. /package/static/{05e6417 → 911942d}/file-icons/folder_type_story_opened.svg +0 -0
  1587. /package/static/{05e6417 → 911942d}/file-icons/folder_type_style.svg +0 -0
  1588. /package/static/{05e6417 → 911942d}/file-icons/folder_type_style_opened.svg +0 -0
  1589. /package/static/{05e6417 → 911942d}/file-icons/folder_type_supabase.svg +0 -0
  1590. /package/static/{05e6417 → 911942d}/file-icons/folder_type_supabase_opened.svg +0 -0
  1591. /package/static/{05e6417 → 911942d}/file-icons/folder_type_svelte.svg +0 -0
  1592. /package/static/{05e6417 → 911942d}/file-icons/folder_type_svelte_opened.svg +0 -0
  1593. /package/static/{05e6417 → 911942d}/file-icons/folder_type_tauri.svg +0 -0
  1594. /package/static/{05e6417 → 911942d}/file-icons/folder_type_tauri_opened.svg +0 -0
  1595. /package/static/{05e6417 → 911942d}/file-icons/folder_type_temp.svg +0 -0
  1596. /package/static/{05e6417 → 911942d}/file-icons/folder_type_temp_opened.svg +0 -0
  1597. /package/static/{05e6417 → 911942d}/file-icons/folder_type_template.svg +0 -0
  1598. /package/static/{05e6417 → 911942d}/file-icons/folder_type_template_opened.svg +0 -0
  1599. /package/static/{05e6417 → 911942d}/file-icons/folder_type_test.svg +0 -0
  1600. /package/static/{05e6417 → 911942d}/file-icons/folder_type_test_opened.svg +0 -0
  1601. /package/static/{05e6417 → 911942d}/file-icons/folder_type_theme.svg +0 -0
  1602. /package/static/{05e6417 → 911942d}/file-icons/folder_type_theme_opened.svg +0 -0
  1603. /package/static/{05e6417 → 911942d}/file-icons/folder_type_tools.svg +0 -0
  1604. /package/static/{05e6417 → 911942d}/file-icons/folder_type_tools_opened.svg +0 -0
  1605. /package/static/{05e6417 → 911942d}/file-icons/folder_type_travis.svg +0 -0
  1606. /package/static/{05e6417 → 911942d}/file-icons/folder_type_travis_opened.svg +0 -0
  1607. /package/static/{05e6417 → 911942d}/file-icons/folder_type_trunk.svg +0 -0
  1608. /package/static/{05e6417 → 911942d}/file-icons/folder_type_trunk_opened.svg +0 -0
  1609. /package/static/{05e6417 → 911942d}/file-icons/folder_type_turbo.svg +0 -0
  1610. /package/static/{05e6417 → 911942d}/file-icons/folder_type_turbo_opened.svg +0 -0
  1611. /package/static/{05e6417 → 911942d}/file-icons/folder_type_typescript.svg +0 -0
  1612. /package/static/{05e6417 → 911942d}/file-icons/folder_type_typescript_opened.svg +0 -0
  1613. /package/static/{05e6417 → 911942d}/file-icons/folder_type_typings.svg +0 -0
  1614. /package/static/{05e6417 → 911942d}/file-icons/folder_type_typings2.svg +0 -0
  1615. /package/static/{05e6417 → 911942d}/file-icons/folder_type_typings2_opened.svg +0 -0
  1616. /package/static/{05e6417 → 911942d}/file-icons/folder_type_typings_opened.svg +0 -0
  1617. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vagrant.svg +0 -0
  1618. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vagrant_opened.svg +0 -0
  1619. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vercel.svg +0 -0
  1620. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vercel_opened.svg +0 -0
  1621. /package/static/{05e6417 → 911942d}/file-icons/folder_type_video.svg +0 -0
  1622. /package/static/{05e6417 → 911942d}/file-icons/folder_type_video_opened.svg +0 -0
  1623. /package/static/{05e6417 → 911942d}/file-icons/folder_type_view.svg +0 -0
  1624. /package/static/{05e6417 → 911942d}/file-icons/folder_type_view_opened.svg +0 -0
  1625. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vs.svg +0 -0
  1626. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vs2.svg +0 -0
  1627. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vs2_opened.svg +0 -0
  1628. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vs_opened.svg +0 -0
  1629. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode.svg +0 -0
  1630. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode2.svg +0 -0
  1631. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode2_opened.svg +0 -0
  1632. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode3.svg +0 -0
  1633. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode3_opened.svg +0 -0
  1634. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode_opened.svg +0 -0
  1635. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode_test.svg +0 -0
  1636. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode_test2.svg +0 -0
  1637. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode_test2_opened.svg +0 -0
  1638. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode_test3.svg +0 -0
  1639. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode_test3_opened.svg +0 -0
  1640. /package/static/{05e6417 → 911942d}/file-icons/folder_type_vscode_test_opened.svg +0 -0
  1641. /package/static/{05e6417 → 911942d}/file-icons/folder_type_webpack.svg +0 -0
  1642. /package/static/{05e6417 → 911942d}/file-icons/folder_type_webpack_opened.svg +0 -0
  1643. /package/static/{05e6417 → 911942d}/file-icons/folder_type_windows.svg +0 -0
  1644. /package/static/{05e6417 → 911942d}/file-icons/folder_type_windows_opened.svg +0 -0
  1645. /package/static/{05e6417 → 911942d}/file-icons/folder_type_wit.svg +0 -0
  1646. /package/static/{05e6417 → 911942d}/file-icons/folder_type_wit_opened.svg +0 -0
  1647. /package/static/{05e6417 → 911942d}/file-icons/folder_type_www.svg +0 -0
  1648. /package/static/{05e6417 → 911942d}/file-icons/folder_type_www_opened.svg +0 -0
  1649. /package/static/{05e6417 → 911942d}/file-icons/folder_type_yarn.svg +0 -0
  1650. /package/static/{05e6417 → 911942d}/file-icons/folder_type_yarn_opened.svg +0 -0
  1651. /package/static/{05e6417 → 911942d}/fonts/FiraCode-VariableFont.ttf +0 -0
  1652. /package/static/{05e6417 → 911942d}/icons/add.svg +0 -0
  1653. /package/static/{05e6417 → 911942d}/icons/arrow-down.svg +0 -0
  1654. /package/static/{05e6417 → 911942d}/icons/arrow-left.svg +0 -0
  1655. /package/static/{05e6417 → 911942d}/icons/arrow-right.svg +0 -0
  1656. /package/static/{05e6417 → 911942d}/icons/arrow-up.svg +0 -0
  1657. /package/static/{05e6417 → 911942d}/icons/blank.svg +0 -0
  1658. /package/static/{05e6417 → 911942d}/icons/book.svg +0 -0
  1659. /package/static/{05e6417 → 911942d}/icons/case-sensitive.svg +0 -0
  1660. /package/static/{05e6417 → 911942d}/icons/check.svg +0 -0
  1661. /package/static/{05e6417 → 911942d}/icons/chevron-down.svg +0 -0
  1662. /package/static/{05e6417 → 911942d}/icons/chevron-left.svg +0 -0
  1663. /package/static/{05e6417 → 911942d}/icons/chevron-right.svg +0 -0
  1664. /package/static/{05e6417 → 911942d}/icons/chevron-up.svg +0 -0
  1665. /package/static/{05e6417 → 911942d}/icons/chrome-close.svg +0 -0
  1666. /package/static/{05e6417 → 911942d}/icons/chrome-maximize.svg +0 -0
  1667. /package/static/{05e6417 → 911942d}/icons/chrome-minimize.svg +0 -0
  1668. /package/static/{05e6417 → 911942d}/icons/chrome-restore.svg +0 -0
  1669. /package/static/{05e6417 → 911942d}/icons/circle-filled.svg +0 -0
  1670. /package/static/{05e6417 → 911942d}/icons/clear-all.svg +0 -0
  1671. /package/static/{05e6417 → 911942d}/icons/close.svg +0 -0
  1672. /package/static/{05e6417 → 911942d}/icons/cloud.svg +0 -0
  1673. /package/static/{05e6417 → 911942d}/icons/collapse-all.svg +0 -0
  1674. /package/static/{05e6417 → 911942d}/icons/debug-all.svg +0 -0
  1675. /package/static/{05e6417 → 911942d}/icons/debug-alt-2.svg +0 -0
  1676. /package/static/{05e6417 → 911942d}/icons/debug-alt-small.svg +0 -0
  1677. /package/static/{05e6417 → 911942d}/icons/debug-alt.svg +0 -0
  1678. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
  1679. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-conditional.svg +0 -0
  1680. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-data-unverified.svg +0 -0
  1681. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-data.svg +0 -0
  1682. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-function-unverified.svg +0 -0
  1683. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-function.svg +0 -0
  1684. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-log-unverified.svg +0 -0
  1685. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-log.svg +0 -0
  1686. /package/static/{05e6417 → 911942d}/icons/debug-breakpoint-unsupported.svg +0 -0
  1687. /package/static/{05e6417 → 911942d}/icons/debug-console.svg +0 -0
  1688. /package/static/{05e6417 → 911942d}/icons/debug-continue-small.svg +0 -0
  1689. /package/static/{05e6417 → 911942d}/icons/debug-continue.svg +0 -0
  1690. /package/static/{05e6417 → 911942d}/icons/debug-coverage.svg +0 -0
  1691. /package/static/{05e6417 → 911942d}/icons/debug-disconnect.svg +0 -0
  1692. /package/static/{05e6417 → 911942d}/icons/debug-line-by-line.svg +0 -0
  1693. /package/static/{05e6417 → 911942d}/icons/debug-pause.svg +0 -0
  1694. /package/static/{05e6417 → 911942d}/icons/debug-rerun.svg +0 -0
  1695. /package/static/{05e6417 → 911942d}/icons/debug-restart-frame.svg +0 -0
  1696. /package/static/{05e6417 → 911942d}/icons/debug-restart.svg +0 -0
  1697. /package/static/{05e6417 → 911942d}/icons/debug-reverse-continue.svg +0 -0
  1698. /package/static/{05e6417 → 911942d}/icons/debug-stackframe-active.svg +0 -0
  1699. /package/static/{05e6417 → 911942d}/icons/debug-stackframe.svg +0 -0
  1700. /package/static/{05e6417 → 911942d}/icons/debug-start.svg +0 -0
  1701. /package/static/{05e6417 → 911942d}/icons/debug-step-back.svg +0 -0
  1702. /package/static/{05e6417 → 911942d}/icons/debug-step-into.svg +0 -0
  1703. /package/static/{05e6417 → 911942d}/icons/debug-step-out.svg +0 -0
  1704. /package/static/{05e6417 → 911942d}/icons/debug-step-over.svg +0 -0
  1705. /package/static/{05e6417 → 911942d}/icons/debug-stop.svg +0 -0
  1706. /package/static/{05e6417 → 911942d}/icons/debug.svg +0 -0
  1707. /package/static/{05e6417 → 911942d}/icons/discard.svg +0 -0
  1708. /package/static/{05e6417 → 911942d}/icons/edit.svg +0 -0
  1709. /package/static/{05e6417 → 911942d}/icons/ellipsis.svg +0 -0
  1710. /package/static/{05e6417 → 911942d}/icons/error.svg +0 -0
  1711. /package/static/{05e6417 → 911942d}/icons/exclude.svg +0 -0
  1712. /package/static/{05e6417 → 911942d}/icons/extensionDefaultIcon.png +0 -0
  1713. /package/static/{05e6417 → 911942d}/icons/extensions.svg +0 -0
  1714. /package/static/{05e6417 → 911942d}/icons/files.svg +0 -0
  1715. /package/static/{05e6417 → 911942d}/icons/filter.svg +0 -0
  1716. /package/static/{05e6417 → 911942d}/icons/go-to-file.svg +0 -0
  1717. /package/static/{05e6417 → 911942d}/icons/icon-close.svg +0 -0
  1718. /package/static/{05e6417 → 911942d}/icons/icon-source-control.svg +0 -0
  1719. /package/static/{05e6417 → 911942d}/icons/icon-sync.svg +0 -0
  1720. /package/static/{05e6417 → 911942d}/icons/icon.png +0 -0
  1721. /package/static/{05e6417 → 911942d}/icons/icon.svg +0 -0
  1722. /package/static/{05e6417 → 911942d}/icons/info.svg +0 -0
  1723. /package/static/{05e6417 → 911942d}/icons/language-icon.svg +0 -0
  1724. /package/static/{05e6417 → 911942d}/icons/link-external.svg +0 -0
  1725. /package/static/{05e6417 → 911942d}/icons/list-flat.svg +0 -0
  1726. /package/static/{05e6417 → 911942d}/icons/list-tree.svg +0 -0
  1727. /package/static/{05e6417 → 911942d}/icons/new-file.svg +0 -0
  1728. /package/static/{05e6417 → 911942d}/icons/new-folder.svg +0 -0
  1729. /package/static/{05e6417 → 911942d}/icons/newline.svg +0 -0
  1730. /package/static/{05e6417 → 911942d}/icons/open-preview.svg +0 -0
  1731. /package/static/{05e6417 → 911942d}/icons/play.svg +0 -0
  1732. /package/static/{05e6417 → 911942d}/icons/preserve-case.svg +0 -0
  1733. /package/static/{05e6417 → 911942d}/icons/progress.svg +0 -0
  1734. /package/static/{05e6417 → 911942d}/icons/pwa-icon-192.png +0 -0
  1735. /package/static/{05e6417 → 911942d}/icons/pwa-icon-512.png +0 -0
  1736. /package/static/{05e6417 → 911942d}/icons/record-keys.svg +0 -0
  1737. /package/static/{05e6417 → 911942d}/icons/refresh.svg +0 -0
  1738. /package/static/{05e6417 → 911942d}/icons/regex.svg +0 -0
  1739. /package/static/{05e6417 → 911942d}/icons/remove.svg +0 -0
  1740. /package/static/{05e6417 → 911942d}/icons/replace-all.svg +0 -0
  1741. /package/static/{05e6417 → 911942d}/icons/replace.svg +0 -0
  1742. /package/static/{05e6417 → 911942d}/icons/run-all.svg +0 -0
  1743. /package/static/{05e6417 → 911942d}/icons/search.svg +0 -0
  1744. /package/static/{05e6417 → 911942d}/icons/settings-gear.svg +0 -0
  1745. /package/static/{05e6417 → 911942d}/icons/sort-precedence.svg +0 -0
  1746. /package/static/{05e6417 → 911942d}/icons/source-control.svg +0 -0
  1747. /package/static/{05e6417 → 911942d}/icons/split-horizontal.svg +0 -0
  1748. /package/static/{05e6417 → 911942d}/icons/squiggly-error.svg +0 -0
  1749. /package/static/{05e6417 → 911942d}/icons/squiggly-warning.svg +0 -0
  1750. /package/static/{05e6417 → 911942d}/icons/symbol-array.svg +0 -0
  1751. /package/static/{05e6417 → 911942d}/icons/symbol-boolean.svg +0 -0
  1752. /package/static/{05e6417 → 911942d}/icons/symbol-class.svg +0 -0
  1753. /package/static/{05e6417 → 911942d}/icons/symbol-color.svg +0 -0
  1754. /package/static/{05e6417 → 911942d}/icons/symbol-constant.svg +0 -0
  1755. /package/static/{05e6417 → 911942d}/icons/symbol-enum-member.svg +0 -0
  1756. /package/static/{05e6417 → 911942d}/icons/symbol-enum.svg +0 -0
  1757. /package/static/{05e6417 → 911942d}/icons/symbol-event.svg +0 -0
  1758. /package/static/{05e6417 → 911942d}/icons/symbol-field.svg +0 -0
  1759. /package/static/{05e6417 → 911942d}/icons/symbol-file.svg +0 -0
  1760. /package/static/{05e6417 → 911942d}/icons/symbol-interface.svg +0 -0
  1761. /package/static/{05e6417 → 911942d}/icons/symbol-key.svg +0 -0
  1762. /package/static/{05e6417 → 911942d}/icons/symbol-keyword.svg +0 -0
  1763. /package/static/{05e6417 → 911942d}/icons/symbol-method.svg +0 -0
  1764. /package/static/{05e6417 → 911942d}/icons/symbol-misc.svg +0 -0
  1765. /package/static/{05e6417 → 911942d}/icons/symbol-namespace.svg +0 -0
  1766. /package/static/{05e6417 → 911942d}/icons/symbol-numeric.svg +0 -0
  1767. /package/static/{05e6417 → 911942d}/icons/symbol-operator.svg +0 -0
  1768. /package/static/{05e6417 → 911942d}/icons/symbol-parameter.svg +0 -0
  1769. /package/static/{05e6417 → 911942d}/icons/symbol-property.svg +0 -0
  1770. /package/static/{05e6417 → 911942d}/icons/symbol-ruler.svg +0 -0
  1771. /package/static/{05e6417 → 911942d}/icons/symbol-snippet.svg +0 -0
  1772. /package/static/{05e6417 → 911942d}/icons/symbol-string.svg +0 -0
  1773. /package/static/{05e6417 → 911942d}/icons/symbol-structure.svg +0 -0
  1774. /package/static/{05e6417 → 911942d}/icons/symbol-variable.svg +0 -0
  1775. /package/static/{05e6417 → 911942d}/icons/tag.svg +0 -0
  1776. /package/static/{05e6417 → 911942d}/icons/terminal-bash.svg +0 -0
  1777. /package/static/{05e6417 → 911942d}/icons/terminal.svg +0 -0
  1778. /package/static/{05e6417 → 911942d}/icons/theme-icon.png +0 -0
  1779. /package/static/{05e6417 → 911942d}/icons/trash.svg +0 -0
  1780. /package/static/{05e6417 → 911942d}/icons/triangle-down.svg +0 -0
  1781. /package/static/{05e6417 → 911942d}/icons/triangle-left.svg +0 -0
  1782. /package/static/{05e6417 → 911942d}/icons/triangle-right.svg +0 -0
  1783. /package/static/{05e6417 → 911942d}/icons/triangle-up.svg +0 -0
  1784. /package/static/{05e6417 → 911942d}/icons/warning.svg +0 -0
  1785. /package/static/{05e6417 → 911942d}/icons/whole-word.svg +0 -0
  1786. /package/static/{05e6417 → 911942d}/icons/zoom-in.svg +0 -0
  1787. /package/static/{05e6417 → 911942d}/icons/zoom-out.svg +0 -0
  1788. /package/static/{05e6417 → 911942d}/js/babel-parser.js +0 -0
  1789. /package/static/{05e6417 → 911942d}/js/blob-util.js +0 -0
  1790. /package/static/{05e6417 → 911942d}/js/ky.js +0 -0
  1791. /package/static/{05e6417 → 911942d}/js/lvce-editor-import-script.js +0 -0
  1792. /package/static/{05e6417 → 911942d}/js/lvce-editor-ipc.js +0 -0
  1793. /package/static/{05e6417 → 911942d}/js/lvce-editor-json-rpc.js +0 -0
  1794. /package/static/{05e6417 → 911942d}/js/lvce-editor-verror.js +0 -0
  1795. /package/static/{05e6417 → 911942d}/js/p-min-delay.js +0 -0
  1796. /package/static/{05e6417 → 911942d}/js/pretty-bytes.js +0 -0
  1797. /package/static/{05e6417 → 911942d}/js/preview-injected.js +0 -0
  1798. /package/static/{05e6417 → 911942d}/js/yoctodelay.js +0 -0
  1799. /package/static/{05e6417 → 911942d}/lib-css/termterm.css +0 -0
  1800. /package/static/{05e6417 → 911942d}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
  1801. /package/static/{05e6417 → 911942d}/packages/completion-worker/dist/completionWorkerMain.js +0 -0
  1802. /package/static/{05e6417 → 911942d}/packages/diff-worker/dist/diffWorkerMain.js +0 -0
  1803. /package/static/{05e6417 → 911942d}/packages/editor-worker/dist/editorWorkerMain.js +0 -0
  1804. /package/static/{05e6417 → 911942d}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
  1805. /package/static/{05e6417 → 911942d}/packages/error-worker/dist/errorWorkerMain.js +0 -0
  1806. /package/static/{05e6417 → 911942d}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +0 -0
  1807. /package/static/{05e6417 → 911942d}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
  1808. /package/static/{05e6417 → 911942d}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
  1809. /package/static/{05e6417 → 911942d}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
  1810. /package/static/{05e6417 → 911942d}/packages/file-system-worker/dist/fileSystemWorkerMain.js +0 -0
  1811. /package/static/{05e6417 → 911942d}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
  1812. /package/static/{05e6417 → 911942d}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
  1813. /package/static/{05e6417 → 911942d}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
  1814. /package/static/{05e6417 → 911942d}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
  1815. /package/static/{05e6417 → 911942d}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
  1816. /package/static/{05e6417 → 911942d}/packages/renderer-process/LICENSE +0 -0
  1817. /package/static/{05e6417 → 911942d}/packages/renderer-process/README.md +0 -0
  1818. /package/static/{05e6417 → 911942d}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
  1819. /package/static/{05e6417 → 911942d}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
  1820. /package/static/{05e6417 → 911942d}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
  1821. /package/static/{05e6417 → 911942d}/packages/test-worker/dist/testWorkerMain.js +0 -0
  1822. /package/static/{05e6417 → 911942d}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
  1823. /package/static/{05e6417 → 911942d}/packages/title-bar-worker/dist/titleBarWorkerMain.js +0 -0
  1824. /package/static/{05e6417 → 911942d}/playground/languages/index.cpp +0 -0
  1825. /package/static/{05e6417 → 911942d}/playground/languages/index.css +0 -0
  1826. /package/static/{05e6417 → 911942d}/playground/languages/index.csv +0 -0
  1827. /package/static/{05e6417 → 911942d}/playground/languages/index.dart +0 -0
  1828. /package/static/{05e6417 → 911942d}/playground/languages/index.env +0 -0
  1829. /package/static/{05e6417 → 911942d}/playground/languages/index.ex +0 -0
  1830. /package/static/{05e6417 → 911942d}/playground/languages/index.html +0 -0
  1831. /package/static/{05e6417 → 911942d}/playground/languages/index.java +0 -0
  1832. /package/static/{05e6417 → 911942d}/playground/languages/index.jl +0 -0
  1833. /package/static/{05e6417 → 911942d}/playground/languages/index.js +0 -0
  1834. /package/static/{05e6417 → 911942d}/playground/languages/index.json +0 -0
  1835. /package/static/{05e6417 → 911942d}/playground/languages/index.kt +0 -0
  1836. /package/static/{05e6417 → 911942d}/playground/languages/index.pl +0 -0
  1837. /package/static/{05e6417 → 911942d}/playground/languages/index.py +0 -0
  1838. /package/static/{05e6417 → 911942d}/playground/languages/index.ts +0 -0
  1839. /package/static/{05e6417 → 911942d}/playground/languages/scrolling.txt +0 -0
  1840. /package/static/{05e6417 → 911942d}/playground/languages/tsconfig.json +0 -0
  1841. /package/static/{05e6417 → 911942d}/playground/sample-folder/a.txt +0 -0
  1842. /package/static/{05e6417 → 911942d}/playground/sample-folder/b.txt +0 -0
  1843. /package/static/{05e6417 → 911942d}/playground/sample-folder/c.txt +0 -0
@@ -1,3906 +0,0 @@
1
- const normalizeLine = line => {
2
- if (line.startsWith('Error: ')) {
3
- return line.slice('Error: '.length);
4
- }
5
- if (line.startsWith('VError: ')) {
6
- return line.slice('VError: '.length);
7
- }
8
- return line;
9
- };
10
- const getCombinedMessage = (error, message) => {
11
- const stringifiedError = normalizeLine(`${error}`);
12
- if (message) {
13
- return `${message}: ${stringifiedError}`;
14
- }
15
- return stringifiedError;
16
- };
17
- const NewLine$2 = '\n';
18
- const getNewLineIndex$1 = (string, startIndex = undefined) => {
19
- return string.indexOf(NewLine$2, startIndex);
20
- };
21
- const mergeStacks = (parent, child) => {
22
- if (!child) {
23
- return parent;
24
- }
25
- const parentNewLineIndex = getNewLineIndex$1(parent);
26
- const childNewLineIndex = getNewLineIndex$1(child);
27
- if (childNewLineIndex === -1) {
28
- return parent;
29
- }
30
- const parentFirstLine = parent.slice(0, parentNewLineIndex);
31
- const childRest = child.slice(childNewLineIndex);
32
- const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
33
- if (parentFirstLine.includes(childFirstLine)) {
34
- return parentFirstLine + childRest;
35
- }
36
- return child;
37
- };
38
- class VError extends Error {
39
- constructor(error, message) {
40
- const combinedMessage = getCombinedMessage(error, message);
41
- super(combinedMessage);
42
- this.name = 'VError';
43
- if (error instanceof Error) {
44
- this.stack = mergeStacks(this.stack, error.stack);
45
- }
46
- if (error.codeFrame) {
47
- // @ts-ignore
48
- this.codeFrame = error.codeFrame;
49
- }
50
- if (error.code) {
51
- // @ts-ignore
52
- this.code = error.code;
53
- }
54
- }
55
- }
56
-
57
- class AssertionError extends Error {
58
- constructor(message) {
59
- super(message);
60
- this.name = 'AssertionError';
61
- }
62
- }
63
- const getType = value => {
64
- switch (typeof value) {
65
- case 'number':
66
- return 'number';
67
- case 'function':
68
- return 'function';
69
- case 'string':
70
- return 'string';
71
- case 'object':
72
- if (value === null) {
73
- return 'null';
74
- }
75
- if (Array.isArray(value)) {
76
- return 'array';
77
- }
78
- return 'object';
79
- case 'boolean':
80
- return 'boolean';
81
- default:
82
- return 'unknown';
83
- }
84
- };
85
- const array = value => {
86
- const type = getType(value);
87
- if (type !== 'array') {
88
- throw new AssertionError('expected value to be of type array');
89
- }
90
- };
91
- const string = value => {
92
- const type = getType(value);
93
- if (type !== 'string') {
94
- throw new AssertionError('expected value to be of type string');
95
- }
96
- };
97
-
98
- const isMessagePort = value => {
99
- return value && value instanceof MessagePort;
100
- };
101
- const isMessagePortMain = value => {
102
- return value && value.constructor && value.constructor.name === 'MessagePortMain';
103
- };
104
- const isOffscreenCanvas = value => {
105
- return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
106
- };
107
- const isInstanceOf = (value, constructorName) => {
108
- return value?.constructor?.name === constructorName;
109
- };
110
- const isSocket = value => {
111
- return isInstanceOf(value, 'Socket');
112
- };
113
- const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
114
- const isTransferrable = value => {
115
- for (const fn of transferrables) {
116
- if (fn(value)) {
117
- return true;
118
- }
119
- }
120
- return false;
121
- };
122
- const walkValue = (value, transferrables, isTransferrable) => {
123
- if (!value) {
124
- return;
125
- }
126
- if (isTransferrable(value)) {
127
- transferrables.push(value);
128
- return;
129
- }
130
- if (Array.isArray(value)) {
131
- for (const item of value) {
132
- walkValue(item, transferrables, isTransferrable);
133
- }
134
- return;
135
- }
136
- if (typeof value === 'object') {
137
- for (const property of Object.values(value)) {
138
- walkValue(property, transferrables, isTransferrable);
139
- }
140
- return;
141
- }
142
- };
143
- const getTransferrables = value => {
144
- const transferrables = [];
145
- walkValue(value, transferrables, isTransferrable);
146
- return transferrables;
147
- };
148
- const attachEvents = that => {
149
- const handleMessage = (...args) => {
150
- const data = that.getData(...args);
151
- that.dispatchEvent(new MessageEvent('message', {
152
- data
153
- }));
154
- };
155
- that.onMessage(handleMessage);
156
- const handleClose = event => {
157
- that.dispatchEvent(new Event('close'));
158
- };
159
- that.onClose(handleClose);
160
- };
161
- class Ipc extends EventTarget {
162
- constructor(rawIpc) {
163
- super();
164
- this._rawIpc = rawIpc;
165
- attachEvents(this);
166
- }
167
- }
168
- const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
169
- const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
170
- const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
171
- const NewLine$1 = '\n';
172
- const joinLines$1 = lines => {
173
- return lines.join(NewLine$1);
174
- };
175
- const RE_AT = /^\s+at/;
176
- const RE_AT_PROMISE_INDEX = /^\s*at async Promise.all \(index \d+\)$/;
177
- const isNormalStackLine = line => {
178
- return RE_AT.test(line) && !RE_AT_PROMISE_INDEX.test(line);
179
- };
180
- const getDetails = lines => {
181
- const index = lines.findIndex(isNormalStackLine);
182
- if (index === -1) {
183
- return {
184
- actualMessage: joinLines$1(lines),
185
- rest: []
186
- };
187
- }
188
- let lastIndex = index - 1;
189
- while (++lastIndex < lines.length) {
190
- if (!isNormalStackLine(lines[lastIndex])) {
191
- break;
192
- }
193
- }
194
- return {
195
- actualMessage: lines[index - 1],
196
- rest: lines.slice(index, lastIndex)
197
- };
198
- };
199
- const splitLines$1 = lines => {
200
- return lines.split(NewLine$1);
201
- };
202
- const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
203
- const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
204
- const isMessageCodeBlockStartIndex = line => {
205
- return RE_MESSAGE_CODE_BLOCK_START.test(line);
206
- };
207
- const isMessageCodeBlockEndIndex = line => {
208
- return RE_MESSAGE_CODE_BLOCK_END.test(line);
209
- };
210
- const getMessageCodeBlock = stderr => {
211
- const lines = splitLines$1(stderr);
212
- const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
213
- const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
214
- const relevantLines = lines.slice(startIndex, endIndex);
215
- const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
216
- return relevantMessage;
217
- };
218
- const isModuleNotFoundMessage = line => {
219
- return line.includes('[ERR_MODULE_NOT_FOUND]');
220
- };
221
- const getModuleNotFoundError = stderr => {
222
- const lines = splitLines$1(stderr);
223
- const messageIndex = lines.findIndex(isModuleNotFoundMessage);
224
- const message = lines[messageIndex];
225
- return {
226
- message,
227
- code: ERR_MODULE_NOT_FOUND
228
- };
229
- };
230
- const isModuleNotFoundError = stderr => {
231
- if (!stderr) {
232
- return false;
233
- }
234
- return stderr.includes('ERR_MODULE_NOT_FOUND');
235
- };
236
- const isModulesSyntaxError = stderr => {
237
- if (!stderr) {
238
- return false;
239
- }
240
- return stderr.includes('SyntaxError: Cannot use import statement outside a module');
241
- };
242
- const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
243
- const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
244
- const isUnhelpfulNativeModuleError = stderr => {
245
- return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
246
- };
247
- const getNativeModuleErrorMessage = stderr => {
248
- const message = getMessageCodeBlock(stderr);
249
- return {
250
- message: `Incompatible native node module: ${message}`,
251
- code: E_INCOMPATIBLE_NATIVE_MODULE
252
- };
253
- };
254
- const getModuleSyntaxError = () => {
255
- return {
256
- message: `ES Modules are not supported in electron`,
257
- code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
258
- };
259
- };
260
- const getHelpfulChildProcessError = (stdout, stderr) => {
261
- if (isUnhelpfulNativeModuleError(stderr)) {
262
- return getNativeModuleErrorMessage(stderr);
263
- }
264
- if (isModulesSyntaxError(stderr)) {
265
- return getModuleSyntaxError();
266
- }
267
- if (isModuleNotFoundError(stderr)) {
268
- return getModuleNotFoundError(stderr);
269
- }
270
- const lines = splitLines$1(stderr);
271
- const {
272
- actualMessage,
273
- rest
274
- } = getDetails(lines);
275
- return {
276
- message: actualMessage,
277
- code: '',
278
- stack: rest
279
- };
280
- };
281
- class IpcError extends VError {
282
- // @ts-ignore
283
- constructor(betterMessage, stdout = '', stderr = '') {
284
- if (stdout || stderr) {
285
- // @ts-ignore
286
- const {
287
- message,
288
- code,
289
- stack
290
- } = getHelpfulChildProcessError(stdout, stderr);
291
- const cause = new Error(message);
292
- // @ts-ignore
293
- cause.code = code;
294
- cause.stack = stack;
295
- super(cause, betterMessage);
296
- } else {
297
- super(betterMessage);
298
- }
299
- // @ts-ignore
300
- this.name = 'IpcError';
301
- // @ts-ignore
302
- this.stdout = stdout;
303
- // @ts-ignore
304
- this.stderr = stderr;
305
- }
306
- }
307
- const readyMessage = 'ready';
308
- const getData$2 = event => {
309
- return event.data;
310
- };
311
- const listen$7 = () => {
312
- // @ts-ignore
313
- if (typeof WorkerGlobalScope === 'undefined') {
314
- throw new TypeError('module is not in web worker scope');
315
- }
316
- return globalThis;
317
- };
318
- const signal$8 = global => {
319
- global.postMessage(readyMessage);
320
- };
321
- class IpcChildWithModuleWorker extends Ipc {
322
- getData(event) {
323
- return getData$2(event);
324
- }
325
- send(message) {
326
- // @ts-ignore
327
- this._rawIpc.postMessage(message);
328
- }
329
- sendAndTransfer(message) {
330
- const transfer = getTransferrables(message);
331
- // @ts-ignore
332
- this._rawIpc.postMessage(message, transfer);
333
- }
334
- dispose() {
335
- // ignore
336
- }
337
- onClose(callback) {
338
- // ignore
339
- }
340
- onMessage(callback) {
341
- this._rawIpc.addEventListener('message', callback);
342
- }
343
- }
344
- const wrap$f = global => {
345
- return new IpcChildWithModuleWorker(global);
346
- };
347
- const withResolvers = () => {
348
- let _resolve;
349
- const promise = new Promise(resolve => {
350
- _resolve = resolve;
351
- });
352
- return {
353
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
354
- resolve: _resolve,
355
- promise
356
- };
357
- };
358
- const waitForFirstMessage = async port => {
359
- const {
360
- resolve,
361
- promise
362
- } = withResolvers();
363
- port.addEventListener('message', resolve, {
364
- once: true
365
- });
366
- const event = await promise;
367
- // @ts-ignore
368
- return event.data;
369
- };
370
- const listen$6 = async () => {
371
- const parentIpcRaw = listen$7();
372
- signal$8(parentIpcRaw);
373
- const parentIpc = wrap$f(parentIpcRaw);
374
- const firstMessage = await waitForFirstMessage(parentIpc);
375
- if (firstMessage.method !== 'initialize') {
376
- throw new IpcError('unexpected first message');
377
- }
378
- const type = firstMessage.params[0];
379
- if (type === 'message-port') {
380
- parentIpc.send({
381
- jsonrpc: '2.0',
382
- id: firstMessage.id,
383
- result: null
384
- });
385
- parentIpc.dispose();
386
- const port = firstMessage.params[1];
387
- return port;
388
- }
389
- return globalThis;
390
- };
391
- class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
392
- getData(event) {
393
- return getData$2(event);
394
- }
395
- send(message) {
396
- this._rawIpc.postMessage(message);
397
- }
398
- sendAndTransfer(message) {
399
- const transfer = getTransferrables(message);
400
- this._rawIpc.postMessage(message, transfer);
401
- }
402
- dispose() {
403
- if (this._rawIpc.close) {
404
- this._rawIpc.close();
405
- }
406
- }
407
- onClose(callback) {
408
- // ignore
409
- }
410
- onMessage(callback) {
411
- this._rawIpc.addEventListener('message', callback);
412
- this._rawIpc.start();
413
- }
414
- }
415
- const wrap$e = port => {
416
- return new IpcChildWithModuleWorkerAndMessagePort(port);
417
- };
418
- const IpcChildWithModuleWorkerAndMessagePort$1 = {
419
- __proto__: null,
420
- listen: listen$6,
421
- wrap: wrap$e
422
- };
423
-
424
- const Two = '2.0';
425
- const create$4 = (method, params) => {
426
- return {
427
- jsonrpc: Two,
428
- method,
429
- params
430
- };
431
- };
432
- const callbacks = Object.create(null);
433
- const set$1 = (id, fn) => {
434
- callbacks[id] = fn;
435
- };
436
- const get = id => {
437
- return callbacks[id];
438
- };
439
- const remove = id => {
440
- delete callbacks[id];
441
- };
442
- let id = 0;
443
- const create$3 = () => {
444
- return ++id;
445
- };
446
- const registerPromise = () => {
447
- const id = create$3();
448
- const {
449
- resolve,
450
- promise
451
- } = Promise.withResolvers();
452
- set$1(id, resolve);
453
- return {
454
- id,
455
- promise
456
- };
457
- };
458
- const create$2 = (method, params) => {
459
- const {
460
- id,
461
- promise
462
- } = registerPromise();
463
- const message = {
464
- jsonrpc: Two,
465
- method,
466
- params,
467
- id
468
- };
469
- return {
470
- message,
471
- promise
472
- };
473
- };
474
- class JsonRpcError extends Error {
475
- constructor(message) {
476
- super(message);
477
- this.name = 'JsonRpcError';
478
- }
479
- }
480
- const NewLine = '\n';
481
- const DomException = 'DOMException';
482
- const ReferenceError$1 = 'ReferenceError';
483
- const SyntaxError$1 = 'SyntaxError';
484
- const TypeError$1 = 'TypeError';
485
- const getErrorConstructor = (message, type) => {
486
- if (type) {
487
- switch (type) {
488
- case DomException:
489
- return DOMException;
490
- case TypeError$1:
491
- return TypeError;
492
- case SyntaxError$1:
493
- return SyntaxError;
494
- case ReferenceError$1:
495
- return ReferenceError;
496
- default:
497
- return Error;
498
- }
499
- }
500
- if (message.startsWith('TypeError: ')) {
501
- return TypeError;
502
- }
503
- if (message.startsWith('SyntaxError: ')) {
504
- return SyntaxError;
505
- }
506
- if (message.startsWith('ReferenceError: ')) {
507
- return ReferenceError;
508
- }
509
- return Error;
510
- };
511
- const constructError = (message, type, name) => {
512
- const ErrorConstructor = getErrorConstructor(message, type);
513
- if (ErrorConstructor === DOMException && name) {
514
- return new ErrorConstructor(message, name);
515
- }
516
- if (ErrorConstructor === Error) {
517
- const error = new Error(message);
518
- if (name && name !== 'VError') {
519
- error.name = name;
520
- }
521
- return error;
522
- }
523
- return new ErrorConstructor(message);
524
- };
525
- const getNewLineIndex = (string, startIndex = undefined) => {
526
- return string.indexOf(NewLine, startIndex);
527
- };
528
- const getParentStack = error => {
529
- let parentStack = error.stack || error.data || error.message || '';
530
- if (parentStack.startsWith(' at')) {
531
- parentStack = error.message + NewLine + parentStack;
532
- }
533
- return parentStack;
534
- };
535
- const joinLines = lines => {
536
- return lines.join(NewLine);
537
- };
538
- const MethodNotFound = -32601;
539
- const Custom = -32001;
540
- const splitLines = lines => {
541
- return lines.split(NewLine);
542
- };
543
- const restoreJsonRpcError = error => {
544
- if (error && error instanceof Error) {
545
- return error;
546
- }
547
- const currentStack = joinLines(splitLines(new Error().stack || '').slice(1));
548
- if (error && error.code && error.code === MethodNotFound) {
549
- const restoredError = new JsonRpcError(error.message);
550
- const parentStack = getParentStack(error);
551
- restoredError.stack = parentStack + NewLine + currentStack;
552
- return restoredError;
553
- }
554
- if (error && error.message) {
555
- const restoredError = constructError(error.message, error.type, error.name);
556
- if (error.data) {
557
- if (error.data.stack && error.data.type && error.message) {
558
- restoredError.stack = error.data.type + ': ' + error.message + NewLine + error.data.stack + NewLine + currentStack;
559
- } else if (error.data.stack) {
560
- restoredError.stack = error.data.stack;
561
- }
562
- if (error.data.codeFrame) {
563
- // @ts-ignore
564
- restoredError.codeFrame = error.data.codeFrame;
565
- }
566
- if (error.data.code) {
567
- // @ts-ignore
568
- restoredError.code = error.data.code;
569
- }
570
- if (error.data.type) {
571
- // @ts-ignore
572
- restoredError.name = error.data.type;
573
- }
574
- } else {
575
- if (error.stack) {
576
- const lowerStack = restoredError.stack || '';
577
- // @ts-ignore
578
- const indexNewLine = getNewLineIndex(lowerStack);
579
- const parentStack = getParentStack(error);
580
- // @ts-ignore
581
- restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
582
- }
583
- if (error.codeFrame) {
584
- // @ts-ignore
585
- restoredError.codeFrame = error.codeFrame;
586
- }
587
- }
588
- return restoredError;
589
- }
590
- if (typeof error === 'string') {
591
- return new Error(`JsonRpc Error: ${error}`);
592
- }
593
- return new Error(`JsonRpc Error: ${error}`);
594
- };
595
- const unwrapJsonRpcResult = responseMessage => {
596
- if ('error' in responseMessage) {
597
- const restoredError = restoreJsonRpcError(responseMessage.error);
598
- throw restoredError;
599
- }
600
- if ('result' in responseMessage) {
601
- return responseMessage.result;
602
- }
603
- throw new JsonRpcError('unexpected response message');
604
- };
605
- const warn = (...args) => {
606
- console.warn(...args);
607
- };
608
- const resolve = (id, response) => {
609
- const fn = get(id);
610
- if (!fn) {
611
- console.log(response);
612
- warn(`callback ${id} may already be disposed`);
613
- return;
614
- }
615
- fn(response);
616
- remove(id);
617
- };
618
- const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
619
- const getErrorType = prettyError => {
620
- if (prettyError && prettyError.type) {
621
- return prettyError.type;
622
- }
623
- if (prettyError && prettyError.constructor && prettyError.constructor.name) {
624
- return prettyError.constructor.name;
625
- }
626
- return undefined;
627
- };
628
- const getErrorProperty = (error, prettyError) => {
629
- if (error && error.code === E_COMMAND_NOT_FOUND) {
630
- return {
631
- code: MethodNotFound,
632
- message: error.message,
633
- data: error.stack
634
- };
635
- }
636
- return {
637
- code: Custom,
638
- message: prettyError.message,
639
- data: {
640
- stack: prettyError.stack,
641
- codeFrame: prettyError.codeFrame,
642
- type: getErrorType(prettyError),
643
- code: prettyError.code,
644
- name: prettyError.name
645
- }
646
- };
647
- };
648
- const create$1 = (message, error) => {
649
- return {
650
- jsonrpc: Two,
651
- id: message.id,
652
- error
653
- };
654
- };
655
- const getErrorResponse = (message, error, preparePrettyError, logError) => {
656
- const prettyError = preparePrettyError(error);
657
- logError(error, prettyError);
658
- const errorProperty = getErrorProperty(error, prettyError);
659
- return create$1(message, errorProperty);
660
- };
661
- const create$5 = (message, result) => {
662
- return {
663
- jsonrpc: Two,
664
- id: message.id,
665
- result: result ?? null
666
- };
667
- };
668
- const getSuccessResponse = (message, result) => {
669
- const resultProperty = result ?? null;
670
- return create$5(message, resultProperty);
671
- };
672
- const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
673
- try {
674
- const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
675
- return getSuccessResponse(message, result);
676
- } catch (error) {
677
- return getErrorResponse(message, error, preparePrettyError, logError);
678
- }
679
- };
680
- const defaultPreparePrettyError = error => {
681
- return error;
682
- };
683
- const defaultLogError = () => {
684
- // ignore
685
- };
686
- const defaultRequiresSocket = () => {
687
- return false;
688
- };
689
- const defaultResolve = resolve;
690
-
691
- // TODO maybe remove this in v6 or v7, only accept options object to simplify the code
692
- const normalizeParams = args => {
693
- if (args.length === 1) {
694
- const options = args[0];
695
- return {
696
- ipc: options.ipc,
697
- message: options.message,
698
- execute: options.execute,
699
- resolve: options.resolve || defaultResolve,
700
- preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
701
- logError: options.logError || defaultLogError,
702
- requiresSocket: options.requiresSocket || defaultRequiresSocket
703
- };
704
- }
705
- return {
706
- ipc: args[0],
707
- message: args[1],
708
- execute: args[2],
709
- resolve: args[3],
710
- preparePrettyError: args[4],
711
- logError: args[5],
712
- requiresSocket: args[6]
713
- };
714
- };
715
- const handleJsonRpcMessage = async (...args) => {
716
- const options = normalizeParams(args);
717
- const {
718
- message,
719
- ipc,
720
- execute,
721
- resolve,
722
- preparePrettyError,
723
- logError,
724
- requiresSocket
725
- } = options;
726
- if ('id' in message) {
727
- if ('method' in message) {
728
- const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
729
- try {
730
- ipc.send(response);
731
- } catch (error) {
732
- const errorResponse = getErrorResponse(message, error, preparePrettyError, logError);
733
- ipc.send(errorResponse);
734
- }
735
- return;
736
- }
737
- resolve(message.id, message);
738
- return;
739
- }
740
- if ('method' in message) {
741
- await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
742
- return;
743
- }
744
- throw new JsonRpcError('unexpected message');
745
- };
746
- const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
747
- const {
748
- message,
749
- promise
750
- } = create$2(method, params);
751
- if (useSendAndTransfer && ipc.sendAndTransfer) {
752
- ipc.sendAndTransfer(message);
753
- } else {
754
- ipc.send(message);
755
- }
756
- const responseMessage = await promise;
757
- return unwrapJsonRpcResult(responseMessage);
758
- };
759
- const send = (transport, method, ...params) => {
760
- const message = create$4(method, params);
761
- transport.send(message);
762
- };
763
- const invoke = (ipc, method, ...params) => {
764
- return invokeHelper(ipc, method, params, false);
765
- };
766
- const invokeAndTransfer = (ipc, method, ...params) => {
767
- return invokeHelper(ipc, method, params, true);
768
- };
769
-
770
- const commands = Object.create(null);
771
- const register = commandMap => {
772
- Object.assign(commands, commandMap);
773
- };
774
- const getCommand = key => {
775
- return commands[key];
776
- };
777
- const execute = (command, ...args) => {
778
- const fn = getCommand(command);
779
- if (!fn) {
780
- throw new Error(`command not found ${command}`);
781
- }
782
- return fn(...args);
783
- };
784
-
785
- const createRpc = ipc => {
786
- const rpc = {
787
- // @ts-ignore
788
- ipc,
789
- /**
790
- * @deprecated
791
- */
792
- send(method, ...params) {
793
- send(ipc, method, ...params);
794
- },
795
- invoke(method, ...params) {
796
- return invoke(ipc, method, ...params);
797
- },
798
- invokeAndTransfer(method, ...params) {
799
- return invokeAndTransfer(ipc, method, ...params);
800
- },
801
- async dispose() {
802
- await ipc?.dispose();
803
- }
804
- };
805
- return rpc;
806
- };
807
- const requiresSocket = () => {
808
- return false;
809
- };
810
- const preparePrettyError = error => {
811
- return error;
812
- };
813
- const logError = () => {
814
- // handled by renderer worker
815
- };
816
- const handleMessage = event => {
817
- const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
818
- const actualExecute = event?.target?.execute || execute;
819
- return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError, actualRequiresSocket);
820
- };
821
- const handleIpc = ipc => {
822
- if ('addEventListener' in ipc) {
823
- ipc.addEventListener('message', handleMessage);
824
- } else if ('on' in ipc) {
825
- // deprecated
826
- ipc.on('message', handleMessage);
827
- }
828
- };
829
- const listen$1 = async (module, options) => {
830
- const rawIpc = await module.listen(options);
831
- if (module.signal) {
832
- module.signal(rawIpc);
833
- }
834
- const ipc = module.wrap(rawIpc);
835
- return ipc;
836
- };
837
- const create = async ({
838
- commandMap
839
- }) => {
840
- // TODO create a commandMap per rpc instance
841
- register(commandMap);
842
- const ipc = await listen$1(IpcChildWithModuleWorkerAndMessagePort$1);
843
- handleIpc(ipc);
844
- const rpc = createRpc(ipc);
845
- return rpc;
846
- };
847
- const WebWorkerRpcClient = {
848
- __proto__: null,
849
- create
850
- };
851
-
852
- const allowedMarkdownAttributes = ['src', 'id', 'className', 'title', 'alt', 'href', 'target', 'rel'];
853
-
854
- const Document = 'document';
855
-
856
- const Markdown = 'Markdown';
857
-
858
- const HandleReadmeContextMenu = 'handleReadmeContextMenu';
859
-
860
- const getVirtualDomChildCount = markdownDom => {
861
- const max = markdownDom.length - 1;
862
- let stack = [];
863
- for (let i = max; i >= 0; i--) {
864
- const element = markdownDom[i];
865
- if (element.childCount > 0) {
866
- stack = stack.slice(element.childCount);
867
- }
868
- stack.unshift(element);
869
- }
870
- return stack.length;
871
- };
872
-
873
- const Div$1 = 'div';
874
- const H1$1 = 'h1';
875
- const H2$1 = 'h2';
876
- const H3$1 = 'h3';
877
- const H4$1 = 'h4';
878
- const H5$1 = 'h5';
879
- const Img$1 = 'img';
880
- const Span$1 = 'span';
881
- const Article$1 = 'article';
882
- const Aside$1 = 'aside';
883
- const Footer$1 = 'footer';
884
- const Header$1 = 'header';
885
- const Nav$1 = 'nav';
886
- const Section$1 = 'section';
887
- const Search$1 = 'search';
888
- const Dd$1 = 'dd';
889
- const Dl$1 = 'dl';
890
- const Figcaption$1 = 'figcaption';
891
- const Figure$1 = 'figure';
892
- const Hr$1 = 'hr';
893
- const Li$1 = 'li';
894
- const Ol$1 = 'ol';
895
- const P$1 = 'p';
896
- const Pre$1 = 'pre';
897
- const A$1 = 'a';
898
- const Abbr$1 = 'abbr';
899
- const Br$1 = 'br';
900
- const Cite$1 = 'cite';
901
- const Data$1 = 'data';
902
- const Time$1 = 'time';
903
- const Tfoot$1 = 'tfoot';
904
-
905
- const A = 53;
906
- const Abbr = 54;
907
- const Article = 27;
908
- const Aside = 28;
909
- const Br = 55;
910
- const Cite = 56;
911
- const Data = 57;
912
- const Dd = 43;
913
- const Div = 4;
914
- const Dl = 44;
915
- const Figcaption = 45;
916
- const Figure = 46;
917
- const Footer = 29;
918
- const H1 = 5;
919
- const H2 = 22;
920
- const H3 = 23;
921
- const H4 = 24;
922
- const H5 = 25;
923
- const Header = 30;
924
- const Hr = 47;
925
- const Img = 17;
926
- const Li = 48;
927
- const Nav = 40;
928
- const Ol = 49;
929
- const P = 50;
930
- const Pre = 51;
931
- const Search = 42;
932
- const Section = 41;
933
- const Span = 8;
934
- const Text$1 = 12;
935
- const Tfoot = 59;
936
- const Time = 58;
937
-
938
- const getVirtualDomTag = text => {
939
- switch (text) {
940
- case H1$1:
941
- return H1;
942
- case H2$1:
943
- return H2;
944
- case H3$1:
945
- return H3;
946
- case H4$1:
947
- return H4;
948
- case H5$1:
949
- return H5;
950
- case Div$1:
951
- return Div;
952
- case Article$1:
953
- return Article;
954
- case Aside$1:
955
- return Aside;
956
- case Footer$1:
957
- return Footer;
958
- case Header$1:
959
- return Header;
960
- case Nav$1:
961
- return Nav;
962
- case Section$1:
963
- return Section;
964
- case Search$1:
965
- return Search;
966
- case Dd$1:
967
- return Dd;
968
- case Dl$1:
969
- return Dl;
970
- case Figcaption$1:
971
- return Figcaption;
972
- case Figure$1:
973
- return Figure;
974
- case Hr$1:
975
- return Hr;
976
- case Li$1:
977
- return Li;
978
- case Ol$1:
979
- return Ol;
980
- case P$1:
981
- return P;
982
- case Pre$1:
983
- return Pre;
984
- case A$1:
985
- return A;
986
- case Abbr$1:
987
- return Abbr;
988
- case Br$1:
989
- return Br;
990
- case Cite$1:
991
- return Cite;
992
- case Data$1:
993
- return Data;
994
- case Time$1:
995
- return Time;
996
- case Tfoot$1:
997
- return Tfoot;
998
- case Img$1:
999
- return Img;
1000
- case Span$1:
1001
- return Span;
1002
- default:
1003
- return Div;
1004
- }
1005
- };
1006
-
1007
- const None = 0;
1008
- const OpeningAngleBracket = 1;
1009
- const ClosingAngleBracket = 2;
1010
- const TagNameStart = 3;
1011
- const TagNameEnd = 4;
1012
- const Content = 5;
1013
- const ClosingTagSlash = 6;
1014
- const WhitespaceInsideOpeningTag = 7;
1015
- const AttributeName = 8;
1016
- const AttributeEqualSign = 9;
1017
- const AttributeQuoteStart = 10;
1018
- const AttributeValue = 11;
1019
- const AttributeQuoteEnd = 12;
1020
- const WhitespaceAfterClosingTagSlash = 13;
1021
- const WhitespaceAfterOpeningTagOpenAngleBracket = 14;
1022
- const ExclamationMark = 15;
1023
- const Doctype = 16;
1024
- const StartCommentDashes = 17;
1025
- const Comment = 18;
1026
- const EndCommentTag = 19;
1027
- const Text = 20;
1028
- const CommentStart = 21;
1029
-
1030
- const isSelfClosingTag = tag => {
1031
- switch (tag) {
1032
- case Img$1:
1033
- return true;
1034
- default:
1035
- return false;
1036
- }
1037
- };
1038
-
1039
- const parseText = text => {
1040
- return text.replaceAll('&gt;', '>').replaceAll('&lt;', '<').replaceAll('&amp;', '&');
1041
- };
1042
-
1043
- class UnexpectedTokenError extends Error {
1044
- constructor() {
1045
- super('Unexpected token');
1046
- this.name = 'UnexpectedTokenError';
1047
- }
1048
- }
1049
-
1050
- const State = {
1051
- TopLevelContent: 1,
1052
- AfterOpeningAngleBracket: 2,
1053
- InsideOpeningTag: 3,
1054
- AfterClosingTagSlash: 4,
1055
- AfterClosingTagName: 5,
1056
- InsideOpeningTagAfterWhitespace: 6,
1057
- AfterAttributeName: 7,
1058
- AfterAttributeEqualSign: 8,
1059
- InsideAttributeAfterDoubleQuote: 9,
1060
- AfterAttributeValueInsideDoubleQuote: 10,
1061
- AfterAttributeValueClosingQuote: 11,
1062
- AfterExclamationMark: 16,
1063
- InsideComment: 17
1064
- };
1065
- const RE_ANGLE_BRACKET_OPEN = /^</;
1066
- const RE_ANGLE_BRACKET_OPEN_TAG = /^<(?![\s!%])/;
1067
- const RE_ANGLE_BRACKET_CLOSE = /^>/;
1068
- const RE_SLASH = /^\//;
1069
- const RE_TAGNAME = /^[a-zA-Z\d$]+/;
1070
- const RE_CONTENT = /^[^<>]+/;
1071
- const RE_WHITESPACE = /^\s+/;
1072
- const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d-]+/;
1073
- const RE_EQUAL_SIGN = /^=/;
1074
- const RE_DOUBLE_QUOTE = /^"/;
1075
- const RE_ATTRIBUTE_VALUE_INSIDE_DOUBLE_QUOTE = /^[^"\n]+/;
1076
- const RE_TEXT = /^[^<>]+/;
1077
- const RE_EXCLAMATION_MARK = /^!/;
1078
- const RE_DASH_DASH = /^--/;
1079
- const RE_DOCTYPE = /^doctype/i;
1080
- const RE_BLOCK_COMMENT_CONTENT = /^[a-zA-Z\s]+/;
1081
- const RE_COMMENT_END = /^-->/;
1082
- const RE_TAG_TEXT = /^[^\s>]+/;
1083
- const RE_ANY_TEXT = /^[^\n]+/;
1084
- const RE_BLOCK_COMMENT_START = /^<!--/;
1085
- const RE_SELF_CLOSING = /^\/>/;
1086
- const tokenizeHtml = text => {
1087
- string(text);
1088
- let state = State.TopLevelContent;
1089
- let index = 0;
1090
- let next;
1091
- const tokens = [];
1092
- let token = None;
1093
- while (index < text.length) {
1094
- const part = text.slice(index);
1095
- switch (state) {
1096
- case State.TopLevelContent:
1097
- if (next = part.match(RE_ANGLE_BRACKET_OPEN_TAG)) {
1098
- token = OpeningAngleBracket;
1099
- state = State.AfterOpeningAngleBracket;
1100
- } else if (next = part.match(RE_CONTENT)) {
1101
- token = Content;
1102
- state = State.TopLevelContent;
1103
- } else if (next = part.match(RE_BLOCK_COMMENT_START)) {
1104
- token = CommentStart;
1105
- state = State.InsideComment;
1106
- } else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1107
- token = Content;
1108
- state = State.TopLevelContent;
1109
- } else if (next = part.match(RE_ANGLE_BRACKET_OPEN)) {
1110
- token = Text;
1111
- state = State.TopLevelContent;
1112
- } else {
1113
- throw new UnexpectedTokenError();
1114
- }
1115
- break;
1116
- case State.AfterOpeningAngleBracket:
1117
- if (next = part.match(RE_TAGNAME)) {
1118
- token = TagNameStart;
1119
- state = State.InsideOpeningTag;
1120
- } else if (next = part.match(RE_SLASH)) {
1121
- token = ClosingTagSlash;
1122
- state = State.AfterClosingTagSlash;
1123
- } else if (next = part.match(RE_WHITESPACE)) {
1124
- token = WhitespaceAfterOpeningTagOpenAngleBracket;
1125
- state = State.TopLevelContent;
1126
- } else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1127
- token = ClosingAngleBracket;
1128
- state = State.TopLevelContent;
1129
- } else if (next = part.match(RE_EXCLAMATION_MARK)) {
1130
- token = ExclamationMark;
1131
- state = State.AfterExclamationMark;
1132
- } else if (next = part.match(RE_ANY_TEXT)) {
1133
- token = Text;
1134
- state = State.TopLevelContent;
1135
- } else {
1136
- text.slice(index); // ?
1137
- throw new UnexpectedTokenError();
1138
- }
1139
- break;
1140
- case State.AfterExclamationMark:
1141
- if (next = part.match(RE_DASH_DASH)) {
1142
- token = StartCommentDashes;
1143
- state = State.InsideComment;
1144
- } else if (next = part.match(RE_DOCTYPE)) {
1145
- token = Doctype;
1146
- state = State.InsideOpeningTag;
1147
- } else {
1148
- text.slice(index); // ?
1149
- throw new UnexpectedTokenError();
1150
- }
1151
- break;
1152
- case State.InsideComment:
1153
- if (next = part.match(RE_BLOCK_COMMENT_CONTENT)) {
1154
- token = Comment;
1155
- state = State.InsideComment;
1156
- } else if (next = part.match(RE_COMMENT_END)) {
1157
- token = EndCommentTag;
1158
- state = State.TopLevelContent;
1159
- } else {
1160
- text.slice(index); // ?
1161
- throw new UnexpectedTokenError();
1162
- }
1163
- break;
1164
- case State.InsideOpeningTag:
1165
- if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1166
- token = ClosingAngleBracket;
1167
- state = State.TopLevelContent;
1168
- } else if (next = part.match(RE_WHITESPACE)) {
1169
- token = WhitespaceInsideOpeningTag;
1170
- state = State.InsideOpeningTagAfterWhitespace;
1171
- } else if (next = part.match(RE_TAG_TEXT)) {
1172
- token = Text;
1173
- state = State.TopLevelContent;
1174
- } else {
1175
- throw new UnexpectedTokenError();
1176
- }
1177
- break;
1178
- case State.InsideOpeningTagAfterWhitespace:
1179
- if (next = part.match(RE_ATTRIBUTE_NAME)) {
1180
- token = AttributeName;
1181
- state = State.AfterAttributeName;
1182
- } else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1183
- token = ClosingAngleBracket;
1184
- state = State.TopLevelContent;
1185
- } else if (next = part.match(RE_SELF_CLOSING)) {
1186
- token = ClosingAngleBracket;
1187
- state = State.TopLevelContent;
1188
- } else if (next = part.match(RE_TEXT)) {
1189
- token = AttributeName;
1190
- state = State.AfterAttributeName;
1191
- } else {
1192
- text.slice(index).match(RE_TEXT); // ?
1193
- text.slice(index); // ?
1194
- throw new UnexpectedTokenError();
1195
- }
1196
- break;
1197
- case State.AfterAttributeName:
1198
- if (next = part.match(RE_EQUAL_SIGN)) {
1199
- token = AttributeEqualSign;
1200
- state = State.AfterAttributeEqualSign;
1201
- } else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1202
- token = ClosingAngleBracket;
1203
- state = State.TopLevelContent;
1204
- } else if (next = part.match(RE_WHITESPACE)) {
1205
- token = WhitespaceInsideOpeningTag;
1206
- state = State.InsideOpeningTagAfterWhitespace;
1207
- } else if (next = part.match(RE_ANGLE_BRACKET_OPEN)) {
1208
- token = OpeningAngleBracket;
1209
- state = State.AfterOpeningAngleBracket;
1210
- } else {
1211
- text.slice(index); // ?
1212
- throw new UnexpectedTokenError();
1213
- }
1214
- break;
1215
- case State.AfterAttributeEqualSign:
1216
- if (next = part.match(RE_DOUBLE_QUOTE)) {
1217
- token = AttributeQuoteStart;
1218
- state = State.InsideAttributeAfterDoubleQuote;
1219
- } else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1220
- token = ClosingAngleBracket;
1221
- state = State.TopLevelContent;
1222
- } else {
1223
- throw new UnexpectedTokenError();
1224
- }
1225
- break;
1226
- case State.InsideAttributeAfterDoubleQuote:
1227
- if (next = text.slice(index).match(RE_ATTRIBUTE_VALUE_INSIDE_DOUBLE_QUOTE)) {
1228
- token = AttributeValue;
1229
- state = State.AfterAttributeValueInsideDoubleQuote;
1230
- } else if (next = part.match(RE_DOUBLE_QUOTE)) {
1231
- token = AttributeQuoteEnd;
1232
- state = State.AfterAttributeValueClosingQuote;
1233
- } else {
1234
- throw new UnexpectedTokenError();
1235
- }
1236
- break;
1237
- case State.AfterAttributeValueInsideDoubleQuote:
1238
- if (next = part.match(RE_DOUBLE_QUOTE)) {
1239
- token = AttributeQuoteEnd;
1240
- state = State.AfterAttributeValueClosingQuote;
1241
- } else {
1242
- throw new UnexpectedTokenError();
1243
- }
1244
- break;
1245
- case State.AfterAttributeValueClosingQuote:
1246
- if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1247
- token = ClosingAngleBracket;
1248
- state = State.TopLevelContent;
1249
- } else if (next = part.match(RE_WHITESPACE)) {
1250
- token = WhitespaceInsideOpeningTag;
1251
- state = State.InsideOpeningTagAfterWhitespace;
1252
- } else if (next = part.match(RE_SELF_CLOSING)) {
1253
- token = ClosingAngleBracket;
1254
- state = State.TopLevelContent;
1255
- } else {
1256
- throw new UnexpectedTokenError();
1257
- }
1258
- break;
1259
- case State.AfterClosingTagSlash:
1260
- if (next = part.match(RE_TAGNAME)) {
1261
- token = TagNameEnd;
1262
- state = State.AfterClosingTagName;
1263
- } else if (next = part.match(RE_WHITESPACE)) {
1264
- token = WhitespaceAfterClosingTagSlash;
1265
- state = State.TopLevelContent;
1266
- } else if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1267
- token = ClosingAngleBracket;
1268
- state = State.TopLevelContent;
1269
- } else {
1270
- throw new UnexpectedTokenError();
1271
- }
1272
- break;
1273
- case State.AfterClosingTagName:
1274
- if (next = part.match(RE_ANGLE_BRACKET_CLOSE)) {
1275
- token = ClosingAngleBracket;
1276
- state = State.TopLevelContent;
1277
- } else if (next = part.match(RE_WHITESPACE)) {
1278
- token = Content;
1279
- state = State.TopLevelContent;
1280
- } else {
1281
- throw new UnexpectedTokenError();
1282
- }
1283
- break;
1284
- default:
1285
- throw new UnexpectedTokenError();
1286
- }
1287
- const tokenText = next[0];
1288
- tokens.push({
1289
- type: token,
1290
- text: tokenText
1291
- });
1292
- index += tokenText.length;
1293
- }
1294
- return tokens;
1295
- };
1296
-
1297
- const text = data => {
1298
- return {
1299
- type: Text$1,
1300
- text: data,
1301
- childCount: 0
1302
- };
1303
- };
1304
-
1305
- const parseHtml = (html, allowedAttributes) => {
1306
- string(html);
1307
- array(allowedAttributes);
1308
- const tokens = tokenizeHtml(html);
1309
- const dom = [];
1310
- const root = {
1311
- type: 0,
1312
- childCount: 0
1313
- };
1314
- let current = root;
1315
- const stack = [root];
1316
- let attributeName = '';
1317
- for (const token of tokens) {
1318
- switch (token.type) {
1319
- case TagNameStart:
1320
- current.childCount++;
1321
- current = {
1322
- type: getVirtualDomTag(token.text),
1323
- childCount: 0
1324
- };
1325
- dom.push(current);
1326
- if (!isSelfClosingTag(token.text)) {
1327
- stack.push(current);
1328
- }
1329
- break;
1330
- case TagNameEnd:
1331
- stack.pop();
1332
- current = stack.at(-1) || root;
1333
- break;
1334
- case Content:
1335
- current.childCount++;
1336
- dom.push(text(parseText(token.text)));
1337
- break;
1338
- case AttributeName:
1339
- attributeName = token.text;
1340
- if (attributeName === 'class') {
1341
- attributeName = 'className';
1342
- }
1343
- break;
1344
- case AttributeValue:
1345
- if (allowedAttributes.includes(attributeName)) {
1346
- current[attributeName] = token.text;
1347
- }
1348
- attributeName = '';
1349
- break;
1350
- }
1351
- }
1352
- return dom;
1353
- };
1354
-
1355
- const getMarkdownVirtualDom = html => {
1356
- string(html);
1357
- const childDom = parseHtml(html, allowedMarkdownAttributes);
1358
- const markdownChildCount = getVirtualDomChildCount(childDom);
1359
- return [{
1360
- type: Div,
1361
- className: Markdown,
1362
- role: Document,
1363
- onContextMenu: HandleReadmeContextMenu,
1364
- childCount: markdownChildCount
1365
- }, ...childDom];
1366
- };
1367
-
1368
- /**
1369
- * marked v15.0.9 - a markdown parser
1370
- * Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed)
1371
- * https://github.com/markedjs/marked
1372
- */
1373
-
1374
- /**
1375
- * DO NOT EDIT THIS FILE
1376
- * The code in this file is generated from files in ./src/
1377
- */
1378
-
1379
- /**
1380
- * Gets the original marked default options.
1381
- */
1382
- function _getDefaults() {
1383
- return {
1384
- async: false,
1385
- breaks: false,
1386
- extensions: null,
1387
- gfm: true,
1388
- hooks: null,
1389
- pedantic: false,
1390
- renderer: null,
1391
- silent: false,
1392
- tokenizer: null,
1393
- walkTokens: null
1394
- };
1395
- }
1396
- let _defaults = _getDefaults();
1397
- function changeDefaults(newDefaults) {
1398
- _defaults = newDefaults;
1399
- }
1400
- const noopTest = {
1401
- exec: () => null
1402
- };
1403
- function edit(regex, opt = '') {
1404
- let source = typeof regex === 'string' ? regex : regex.source;
1405
- const obj = {
1406
- replace: (name, val) => {
1407
- let valSource = typeof val === 'string' ? val : val.source;
1408
- valSource = valSource.replace(other.caret, '$1');
1409
- source = source.replace(name, valSource);
1410
- return obj;
1411
- },
1412
- getRegex: () => {
1413
- return new RegExp(source, opt);
1414
- }
1415
- };
1416
- return obj;
1417
- }
1418
- const other = {
1419
- codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
1420
- outputLinkReplace: /\\([\[\]])/g,
1421
- indentCodeCompensation: /^(\s+)(?:```)/,
1422
- beginningSpace: /^\s+/,
1423
- endingHash: /#$/,
1424
- startingSpaceChar: /^ /,
1425
- endingSpaceChar: / $/,
1426
- nonSpaceChar: /[^ ]/,
1427
- newLineCharGlobal: /\n/g,
1428
- tabCharGlobal: /\t/g,
1429
- multipleSpaceGlobal: /\s+/g,
1430
- blankLine: /^[ \t]*$/,
1431
- doubleBlankLine: /\n[ \t]*\n[ \t]*$/,
1432
- blockquoteStart: /^ {0,3}>/,
1433
- blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g,
1434
- blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm,
1435
- listReplaceTabs: /^\t+/,
1436
- listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,
1437
- listIsTask: /^\[[ xX]\] /,
1438
- listReplaceTask: /^\[[ xX]\] +/,
1439
- anyLine: /\n.*\n/,
1440
- hrefBrackets: /^<(.*)>$/,
1441
- tableDelimiter: /[:|]/,
1442
- tableAlignChars: /^\||\| *$/g,
1443
- tableRowBlankLine: /\n[ \t]*$/,
1444
- tableAlignRight: /^ *-+: *$/,
1445
- tableAlignCenter: /^ *:-+: *$/,
1446
- tableAlignLeft: /^ *:-+ *$/,
1447
- startATag: /^<a /i,
1448
- endATag: /^<\/a>/i,
1449
- startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i,
1450
- endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i,
1451
- startAngleBracket: /^</,
1452
- endAngleBracket: />$/,
1453
- pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/,
1454
- unicodeAlphaNumeric: /[\p{L}\p{N}]/u,
1455
- escapeTest: /[&<>"']/,
1456
- escapeReplace: /[&<>"']/g,
1457
- escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,
1458
- escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,
1459
- unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,
1460
- caret: /(^|[^\[])\^/g,
1461
- percentDecode: /%25/g,
1462
- findPipe: /\|/g,
1463
- splitPipe: / \|/,
1464
- slashPipe: /\\\|/g,
1465
- carriageReturn: /\r\n|\r/g,
1466
- spaceLine: /^ +$/gm,
1467
- notSpaceStart: /^\S*/,
1468
- endingNewline: /\n$/,
1469
- listItemRegex: bull => new RegExp(`^( {0,3}${bull})((?:[\t ][^\\n]*)?(?:\\n|$))`),
1470
- nextBulletRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),
1471
- hrRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),
1472
- fencesBeginRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`),
1473
- headingBeginRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`),
1474
- htmlBeginRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}<(?:[a-z].*>|!--)`, 'i')
1475
- };
1476
- /**
1477
- * Block-Level Grammar
1478
- */
1479
- const newline = /^(?:[ \t]*(?:\n|$))+/;
1480
- const blockCode = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/;
1481
- const fences = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
1482
- const hr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
1483
- const heading = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
1484
- const bullet = /(?:[*+-]|\d{1,9}[.)])/;
1485
- const lheadingCore = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
1486
- const lheading = edit(lheadingCore).replace(/bull/g, bullet) // lists can interrupt
1487
- .replace(/blockCode/g, /(?: {4}| {0,3}\t)/) // indented code blocks can interrupt
1488
- .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt
1489
- .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt
1490
- .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt
1491
- .replace(/html/g, / {0,3}<[^\n>]+>\n/) // block html can interrupt
1492
- .replace(/\|table/g, '') // table not in commonmark
1493
- .getRegex();
1494
- const lheadingGfm = edit(lheadingCore).replace(/bull/g, bullet) // lists can interrupt
1495
- .replace(/blockCode/g, /(?: {4}| {0,3}\t)/) // indented code blocks can interrupt
1496
- .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt
1497
- .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt
1498
- .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt
1499
- .replace(/html/g, / {0,3}<[^\n>]+>\n/) // block html can interrupt
1500
- .replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/) // table can interrupt
1501
- .getRegex();
1502
- const _paragraph = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
1503
- const blockText = /^[^\n]+/;
1504
- const _blockLabel = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
1505
- const def = edit(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace('label', _blockLabel).replace('title', /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
1506
- const list = edit(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, bullet).getRegex();
1507
- const _tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title' + '|tr|track|ul';
1508
- const _comment = /<!--(?:-?>|[\s\S]*?(?:-->|$))/;
1509
- const html = edit('^ {0,3}(?:' // optional indentation
1510
- + '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)' // (1)
1511
- + '|comment[^\\n]*(\\n+|$)' // (2)
1512
- + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3)
1513
- + '|<![A-Z][\\s\\S]*?(?:>\\n*|$)' // (4)
1514
- + '|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)' // (5)
1515
- + '|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)' // (6)
1516
- + '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)' // (7) open tag
1517
- + '|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)' // (7) closing tag
1518
- + ')', 'i').replace('comment', _comment).replace('tag', _tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
1519
- const paragraph = edit(_paragraph).replace('hr', hr).replace('heading', ' {0,3}#{1,6}(?:\\s|$)').replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs
1520
- .replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
1521
- .replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', _tag) // pars can be interrupted by type (6) html blocks
1522
- .getRegex();
1523
- const blockquote = edit(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace('paragraph', paragraph).getRegex();
1524
- /**
1525
- * Normal Block Grammar
1526
- */
1527
- const blockNormal = {
1528
- blockquote,
1529
- code: blockCode,
1530
- def,
1531
- fences,
1532
- heading,
1533
- hr,
1534
- html,
1535
- lheading,
1536
- list,
1537
- newline,
1538
- paragraph,
1539
- table: noopTest,
1540
- text: blockText
1541
- };
1542
- /**
1543
- * GFM Block Grammar
1544
- */
1545
- const gfmTable = edit('^ *([^\\n ].*)\\n' // Header
1546
- + ' {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)' // Align
1547
- + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)') // Cells
1548
- .replace('hr', hr).replace('heading', ' {0,3}#{1,6}(?:\\s|$)').replace('blockquote', ' {0,3}>').replace('code', '(?: {4}| {0,3}\t)[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
1549
- .replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', _tag) // tables can be interrupted by type (6) html blocks
1550
- .getRegex();
1551
- const blockGfm = {
1552
- ...blockNormal,
1553
- lheading: lheadingGfm,
1554
- table: gfmTable,
1555
- paragraph: edit(_paragraph).replace('hr', hr).replace('heading', ' {0,3}#{1,6}(?:\\s|$)').replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs
1556
- .replace('table', gfmTable) // interrupt paragraphs with table
1557
- .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
1558
- .replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', _tag) // pars can be interrupted by type (6) html blocks
1559
- .getRegex()
1560
- };
1561
- /**
1562
- * Pedantic grammar (original John Gruber's loose markdown specification)
1563
- */
1564
- const blockPedantic = {
1565
- ...blockNormal,
1566
- html: edit('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)' // closed tag
1567
- + '|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', _comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(),
1568
- def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
1569
- heading: /^(#{1,6})(.*)(?:\n+|$)/,
1570
- fences: noopTest,
1571
- // fences not supported
1572
- lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
1573
- paragraph: edit(_paragraph).replace('hr', hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', lheading).replace('|table', '').replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').replace('|tag', '').getRegex()
1574
- };
1575
- /**
1576
- * Inline-Level Grammar
1577
- */
1578
- const escape$1 = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
1579
- const inlineCode = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
1580
- const br = /^( {2,}|\\)\n(?!\s*$)/;
1581
- const inlineText = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/;
1582
- // list of unicode punctuation marks, plus any missing characters from CommonMark spec
1583
- const _punctuation = /[\p{P}\p{S}]/u;
1584
- const _punctuationOrSpace = /[\s\p{P}\p{S}]/u;
1585
- const _notPunctuationOrSpace = /[^\s\p{P}\p{S}]/u;
1586
- const punctuation = edit(/^((?![*_])punctSpace)/, 'u').replace(/punctSpace/g, _punctuationOrSpace).getRegex();
1587
- // GFM allows ~ inside strong and em for strikethrough
1588
- const _punctuationGfmStrongEm = /(?!~)[\p{P}\p{S}]/u;
1589
- const _punctuationOrSpaceGfmStrongEm = /(?!~)[\s\p{P}\p{S}]/u;
1590
- const _notPunctuationOrSpaceGfmStrongEm = /(?:[^\s\p{P}\p{S}]|~)/u;
1591
- // sequences em should skip over [title](link), `code`, <html>
1592
- const blockSkip = /\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g;
1593
- const emStrongLDelimCore = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/;
1594
- const emStrongLDelim = edit(emStrongLDelimCore, 'u').replace(/punct/g, _punctuation).getRegex();
1595
- const emStrongLDelimGfm = edit(emStrongLDelimCore, 'u').replace(/punct/g, _punctuationGfmStrongEm).getRegex();
1596
- const emStrongRDelimAstCore = '^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)' // Skip orphan inside strong
1597
- + '|[^*]+(?=[^*])' // Consume to delim
1598
- + '|(?!\\*)punct(\\*+)(?=[\\s]|$)' // (1) #*** can only be a Right Delimiter
1599
- + '|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)' // (2) a***#, a*** can only be a Right Delimiter
1600
- + '|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)' // (3) #***a, ***a can only be Left Delimiter
1601
- + '|[\\s](\\*+)(?!\\*)(?=punct)' // (4) ***# can only be Left Delimiter
1602
- + '|(?!\\*)punct(\\*+)(?!\\*)(?=punct)' // (5) #***# can be either Left or Right Delimiter
1603
- + '|notPunctSpace(\\*+)(?=notPunctSpace)'; // (6) a***a can be either Left or Right Delimiter
1604
- const emStrongRDelimAst = edit(emStrongRDelimAstCore, 'gu').replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
1605
- const emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, 'gu').replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm).replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm).replace(/punct/g, _punctuationGfmStrongEm).getRegex();
1606
- // (6) Not allowed for _
1607
- const emStrongRDelimUnd = edit('^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)' // Skip orphan inside strong
1608
- + '|[^_]+(?=[^_])' // Consume to delim
1609
- + '|(?!_)punct(_+)(?=[\\s]|$)' // (1) #___ can only be a Right Delimiter
1610
- + '|notPunctSpace(_+)(?!_)(?=punctSpace|$)' // (2) a___#, a___ can only be a Right Delimiter
1611
- + '|(?!_)punctSpace(_+)(?=notPunctSpace)' // (3) #___a, ___a can only be Left Delimiter
1612
- + '|[\\s](_+)(?!_)(?=punct)' // (4) ___# can only be Left Delimiter
1613
- + '|(?!_)punct(_+)(?!_)(?=punct)', 'gu') // (5) #___# can be either Left or Right Delimiter
1614
- .replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
1615
- const anyPunctuation = edit(/\\(punct)/, 'gu').replace(/punct/g, _punctuation).getRegex();
1616
- const autolink = edit(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
1617
- const _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();
1618
- const tag = edit('^comment' + '|^</[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
1619
- + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
1620
- + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. <?php ?>
1621
- + '|^<![a-zA-Z]+\\s[\\s\\S]*?>' // declaration, e.g. <!DOCTYPE html>
1622
- + '|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>') // CDATA section
1623
- .replace('comment', _inlineComment).replace('attribute', /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
1624
- const _inlineLabel = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
1625
- const link = edit(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace('label', _inlineLabel).replace('href', /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace('title', /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
1626
- const reflink = edit(/^!?\[(label)\]\[(ref)\]/).replace('label', _inlineLabel).replace('ref', _blockLabel).getRegex();
1627
- const nolink = edit(/^!?\[(ref)\](?:\[\])?/).replace('ref', _blockLabel).getRegex();
1628
- const reflinkSearch = edit('reflink|nolink(?!\\()', 'g').replace('reflink', reflink).replace('nolink', nolink).getRegex();
1629
- /**
1630
- * Normal Inline Grammar
1631
- */
1632
- const inlineNormal = {
1633
- _backpedal: noopTest,
1634
- // only used for GFM url
1635
- anyPunctuation,
1636
- autolink,
1637
- blockSkip,
1638
- br,
1639
- code: inlineCode,
1640
- del: noopTest,
1641
- emStrongLDelim,
1642
- emStrongRDelimAst,
1643
- emStrongRDelimUnd,
1644
- escape: escape$1,
1645
- link,
1646
- nolink,
1647
- punctuation,
1648
- reflink,
1649
- reflinkSearch,
1650
- tag,
1651
- text: inlineText,
1652
- url: noopTest
1653
- };
1654
- /**
1655
- * Pedantic Inline Grammar
1656
- */
1657
- const inlinePedantic = {
1658
- ...inlineNormal,
1659
- link: edit(/^!?\[(label)\]\((.*?)\)/).replace('label', _inlineLabel).getRegex(),
1660
- reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', _inlineLabel).getRegex()
1661
- };
1662
- /**
1663
- * GFM Inline Grammar
1664
- */
1665
- const inlineGfm = {
1666
- ...inlineNormal,
1667
- emStrongRDelimAst: emStrongRDelimAstGfm,
1668
- emStrongLDelim: emStrongLDelimGfm,
1669
- url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, 'i').replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
1670
- _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
1671
- del: /^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,
1672
- text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
1673
- };
1674
- /**
1675
- * GFM + Line Breaks Inline Grammar
1676
- */
1677
- const inlineBreaks = {
1678
- ...inlineGfm,
1679
- br: edit(br).replace('{2,}', '*').getRegex(),
1680
- text: edit(inlineGfm.text).replace('\\b_', '\\b_| {2,}\\n').replace(/\{2,\}/g, '*').getRegex()
1681
- };
1682
- /**
1683
- * exports
1684
- */
1685
- const block = {
1686
- normal: blockNormal,
1687
- gfm: blockGfm,
1688
- pedantic: blockPedantic
1689
- };
1690
- const inline = {
1691
- normal: inlineNormal,
1692
- gfm: inlineGfm,
1693
- breaks: inlineBreaks,
1694
- pedantic: inlinePedantic
1695
- };
1696
-
1697
- /**
1698
- * Helpers
1699
- */
1700
- const escapeReplacements = {
1701
- '&': '&amp;',
1702
- '<': '&lt;',
1703
- '>': '&gt;',
1704
- '"': '&quot;',
1705
- "'": '&#39;'
1706
- };
1707
- const getEscapeReplacement = ch => escapeReplacements[ch];
1708
- function escape(html, encode) {
1709
- if (encode) {
1710
- if (other.escapeTest.test(html)) {
1711
- return html.replace(other.escapeReplace, getEscapeReplacement);
1712
- }
1713
- } else {
1714
- if (other.escapeTestNoEncode.test(html)) {
1715
- return html.replace(other.escapeReplaceNoEncode, getEscapeReplacement);
1716
- }
1717
- }
1718
- return html;
1719
- }
1720
- function cleanUrl(href) {
1721
- try {
1722
- href = encodeURI(href).replace(other.percentDecode, '%');
1723
- } catch {
1724
- return null;
1725
- }
1726
- return href;
1727
- }
1728
- function splitCells(tableRow, count) {
1729
- // ensure that every cell-delimiting pipe has a space
1730
- // before it to distinguish it from an escaped pipe
1731
- const row = tableRow.replace(other.findPipe, (match, offset, str) => {
1732
- let escaped = false;
1733
- let curr = offset;
1734
- while (--curr >= 0 && str[curr] === '\\') escaped = !escaped;
1735
- if (escaped) {
1736
- // odd number of slashes means | is escaped
1737
- // so we leave it alone
1738
- return '|';
1739
- } else {
1740
- // add space before unescaped |
1741
- return ' |';
1742
- }
1743
- }),
1744
- cells = row.split(other.splitPipe);
1745
- let i = 0;
1746
- // First/last cell in a row cannot be empty if it has no leading/trailing pipe
1747
- if (!cells[0].trim()) {
1748
- cells.shift();
1749
- }
1750
- if (cells.length > 0 && !cells.at(-1)?.trim()) {
1751
- cells.pop();
1752
- }
1753
- if (count) {
1754
- if (cells.length > count) {
1755
- cells.splice(count);
1756
- } else {
1757
- while (cells.length < count) cells.push('');
1758
- }
1759
- }
1760
- for (; i < cells.length; i++) {
1761
- // leading or trailing whitespace is ignored per the gfm spec
1762
- cells[i] = cells[i].trim().replace(other.slashPipe, '|');
1763
- }
1764
- return cells;
1765
- }
1766
- /**
1767
- * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
1768
- * /c*$/ is vulnerable to REDOS.
1769
- *
1770
- * @param str
1771
- * @param c
1772
- * @param invert Remove suffix of non-c chars instead. Default falsey.
1773
- */
1774
- function rtrim(str, c, invert) {
1775
- const l = str.length;
1776
- if (l === 0) {
1777
- return '';
1778
- }
1779
- // Length of suffix matching the invert condition.
1780
- let suffLen = 0;
1781
- // Step left until we fail to match the invert condition.
1782
- while (suffLen < l) {
1783
- const currChar = str.charAt(l - suffLen - 1);
1784
- if (currChar === c && true) {
1785
- suffLen++;
1786
- } else {
1787
- break;
1788
- }
1789
- }
1790
- return str.slice(0, l - suffLen);
1791
- }
1792
- function findClosingBracket(str, b) {
1793
- if (str.indexOf(b[1]) === -1) {
1794
- return -1;
1795
- }
1796
- let level = 0;
1797
- for (let i = 0; i < str.length; i++) {
1798
- if (str[i] === '\\') {
1799
- i++;
1800
- } else if (str[i] === b[0]) {
1801
- level++;
1802
- } else if (str[i] === b[1]) {
1803
- level--;
1804
- if (level < 0) {
1805
- return i;
1806
- }
1807
- }
1808
- }
1809
- if (level > 0) {
1810
- return -2;
1811
- }
1812
- return -1;
1813
- }
1814
- function outputLink(cap, link, raw, lexer, rules) {
1815
- const href = link.href;
1816
- const title = link.title || null;
1817
- const text = cap[1].replace(rules.other.outputLinkReplace, '$1');
1818
- if (cap[0].charAt(0) !== '!') {
1819
- lexer.state.inLink = true;
1820
- const token = {
1821
- type: 'link',
1822
- raw,
1823
- href,
1824
- title,
1825
- text,
1826
- tokens: lexer.inlineTokens(text)
1827
- };
1828
- lexer.state.inLink = false;
1829
- return token;
1830
- }
1831
- return {
1832
- type: 'image',
1833
- raw,
1834
- href,
1835
- title,
1836
- text
1837
- };
1838
- }
1839
- function indentCodeCompensation(raw, text, rules) {
1840
- const matchIndentToCode = raw.match(rules.other.indentCodeCompensation);
1841
- if (matchIndentToCode === null) {
1842
- return text;
1843
- }
1844
- const indentToCode = matchIndentToCode[1];
1845
- return text.split('\n').map(node => {
1846
- const matchIndentInNode = node.match(rules.other.beginningSpace);
1847
- if (matchIndentInNode === null) {
1848
- return node;
1849
- }
1850
- const [indentInNode] = matchIndentInNode;
1851
- if (indentInNode.length >= indentToCode.length) {
1852
- return node.slice(indentToCode.length);
1853
- }
1854
- return node;
1855
- }).join('\n');
1856
- }
1857
- /**
1858
- * Tokenizer
1859
- */
1860
- class _Tokenizer {
1861
- options;
1862
- rules; // set by the lexer
1863
- lexer; // set by the lexer
1864
- constructor(options) {
1865
- this.options = options || _defaults;
1866
- }
1867
- space(src) {
1868
- const cap = this.rules.block.newline.exec(src);
1869
- if (cap && cap[0].length > 0) {
1870
- return {
1871
- type: 'space',
1872
- raw: cap[0]
1873
- };
1874
- }
1875
- }
1876
- code(src) {
1877
- const cap = this.rules.block.code.exec(src);
1878
- if (cap) {
1879
- const text = cap[0].replace(this.rules.other.codeRemoveIndent, '');
1880
- return {
1881
- type: 'code',
1882
- raw: cap[0],
1883
- codeBlockStyle: 'indented',
1884
- text: !this.options.pedantic ? rtrim(text, '\n') : text
1885
- };
1886
- }
1887
- }
1888
- fences(src) {
1889
- const cap = this.rules.block.fences.exec(src);
1890
- if (cap) {
1891
- const raw = cap[0];
1892
- const text = indentCodeCompensation(raw, cap[3] || '', this.rules);
1893
- return {
1894
- type: 'code',
1895
- raw,
1896
- lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],
1897
- text
1898
- };
1899
- }
1900
- }
1901
- heading(src) {
1902
- const cap = this.rules.block.heading.exec(src);
1903
- if (cap) {
1904
- let text = cap[2].trim();
1905
- // remove trailing #s
1906
- if (this.rules.other.endingHash.test(text)) {
1907
- const trimmed = rtrim(text, '#');
1908
- if (this.options.pedantic) {
1909
- text = trimmed.trim();
1910
- } else if (!trimmed || this.rules.other.endingSpaceChar.test(trimmed)) {
1911
- // CommonMark requires space before trailing #s
1912
- text = trimmed.trim();
1913
- }
1914
- }
1915
- return {
1916
- type: 'heading',
1917
- raw: cap[0],
1918
- depth: cap[1].length,
1919
- text,
1920
- tokens: this.lexer.inline(text)
1921
- };
1922
- }
1923
- }
1924
- hr(src) {
1925
- const cap = this.rules.block.hr.exec(src);
1926
- if (cap) {
1927
- return {
1928
- type: 'hr',
1929
- raw: rtrim(cap[0], '\n')
1930
- };
1931
- }
1932
- }
1933
- blockquote(src) {
1934
- const cap = this.rules.block.blockquote.exec(src);
1935
- if (cap) {
1936
- let lines = rtrim(cap[0], '\n').split('\n');
1937
- let raw = '';
1938
- let text = '';
1939
- const tokens = [];
1940
- while (lines.length > 0) {
1941
- let inBlockquote = false;
1942
- const currentLines = [];
1943
- let i;
1944
- for (i = 0; i < lines.length; i++) {
1945
- // get lines up to a continuation
1946
- if (this.rules.other.blockquoteStart.test(lines[i])) {
1947
- currentLines.push(lines[i]);
1948
- inBlockquote = true;
1949
- } else if (!inBlockquote) {
1950
- currentLines.push(lines[i]);
1951
- } else {
1952
- break;
1953
- }
1954
- }
1955
- lines = lines.slice(i);
1956
- const currentRaw = currentLines.join('\n');
1957
- const currentText = currentRaw
1958
- // precede setext continuation with 4 spaces so it isn't a setext
1959
- .replace(this.rules.other.blockquoteSetextReplace, '\n $1').replace(this.rules.other.blockquoteSetextReplace2, '');
1960
- raw = raw ? `${raw}\n${currentRaw}` : currentRaw;
1961
- text = text ? `${text}\n${currentText}` : currentText;
1962
- // parse blockquote lines as top level tokens
1963
- // merge paragraphs if this is a continuation
1964
- const top = this.lexer.state.top;
1965
- this.lexer.state.top = true;
1966
- this.lexer.blockTokens(currentText, tokens, true);
1967
- this.lexer.state.top = top;
1968
- // if there is no continuation then we are done
1969
- if (lines.length === 0) {
1970
- break;
1971
- }
1972
- const lastToken = tokens.at(-1);
1973
- if (lastToken?.type === 'code') {
1974
- // blockquote continuation cannot be preceded by a code block
1975
- break;
1976
- } else if (lastToken?.type === 'blockquote') {
1977
- // include continuation in nested blockquote
1978
- const oldToken = lastToken;
1979
- const newText = oldToken.raw + '\n' + lines.join('\n');
1980
- const newToken = this.blockquote(newText);
1981
- tokens[tokens.length - 1] = newToken;
1982
- raw = raw.substring(0, raw.length - oldToken.raw.length) + newToken.raw;
1983
- text = text.substring(0, text.length - oldToken.text.length) + newToken.text;
1984
- break;
1985
- } else if (lastToken?.type === 'list') {
1986
- // include continuation in nested list
1987
- const oldToken = lastToken;
1988
- const newText = oldToken.raw + '\n' + lines.join('\n');
1989
- const newToken = this.list(newText);
1990
- tokens[tokens.length - 1] = newToken;
1991
- raw = raw.substring(0, raw.length - lastToken.raw.length) + newToken.raw;
1992
- text = text.substring(0, text.length - oldToken.raw.length) + newToken.raw;
1993
- lines = newText.substring(tokens.at(-1).raw.length).split('\n');
1994
- continue;
1995
- }
1996
- }
1997
- return {
1998
- type: 'blockquote',
1999
- raw,
2000
- tokens,
2001
- text
2002
- };
2003
- }
2004
- }
2005
- list(src) {
2006
- let cap = this.rules.block.list.exec(src);
2007
- if (cap) {
2008
- let bull = cap[1].trim();
2009
- const isordered = bull.length > 1;
2010
- const list = {
2011
- type: 'list',
2012
- raw: '',
2013
- ordered: isordered,
2014
- start: isordered ? +bull.slice(0, -1) : '',
2015
- loose: false,
2016
- items: []
2017
- };
2018
- bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`;
2019
- if (this.options.pedantic) {
2020
- bull = isordered ? bull : '[*+-]';
2021
- }
2022
- // Get next list item
2023
- const itemRegex = this.rules.other.listItemRegex(bull);
2024
- let endsWithBlankLine = false;
2025
- // Check if current bullet point can start a new List Item
2026
- while (src) {
2027
- let endEarly = false;
2028
- let raw = '';
2029
- let itemContents = '';
2030
- if (!(cap = itemRegex.exec(src))) {
2031
- break;
2032
- }
2033
- if (this.rules.block.hr.test(src)) {
2034
- // End list if bullet was actually HR (possibly move into itemRegex?)
2035
- break;
2036
- }
2037
- raw = cap[0];
2038
- src = src.substring(raw.length);
2039
- let line = cap[2].split('\n', 1)[0].replace(this.rules.other.listReplaceTabs, t => ' '.repeat(3 * t.length));
2040
- let nextLine = src.split('\n', 1)[0];
2041
- let blankLine = !line.trim();
2042
- let indent = 0;
2043
- if (this.options.pedantic) {
2044
- indent = 2;
2045
- itemContents = line.trimStart();
2046
- } else if (blankLine) {
2047
- indent = cap[1].length + 1;
2048
- } else {
2049
- indent = cap[2].search(this.rules.other.nonSpaceChar); // Find first non-space char
2050
- indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent
2051
- itemContents = line.slice(indent);
2052
- indent += cap[1].length;
2053
- }
2054
- if (blankLine && this.rules.other.blankLine.test(nextLine)) {
2055
- // Items begin with at most one blank line
2056
- raw += nextLine + '\n';
2057
- src = src.substring(nextLine.length + 1);
2058
- endEarly = true;
2059
- }
2060
- if (!endEarly) {
2061
- const nextBulletRegex = this.rules.other.nextBulletRegex(indent);
2062
- const hrRegex = this.rules.other.hrRegex(indent);
2063
- const fencesBeginRegex = this.rules.other.fencesBeginRegex(indent);
2064
- const headingBeginRegex = this.rules.other.headingBeginRegex(indent);
2065
- const htmlBeginRegex = this.rules.other.htmlBeginRegex(indent);
2066
- // Check if following lines should be included in List Item
2067
- while (src) {
2068
- const rawLine = src.split('\n', 1)[0];
2069
- let nextLineWithoutTabs;
2070
- nextLine = rawLine;
2071
- // Re-align to follow commonmark nesting rules
2072
- if (this.options.pedantic) {
2073
- nextLine = nextLine.replace(this.rules.other.listReplaceNesting, ' ');
2074
- nextLineWithoutTabs = nextLine;
2075
- } else {
2076
- nextLineWithoutTabs = nextLine.replace(this.rules.other.tabCharGlobal, ' ');
2077
- }
2078
- // End list item if found code fences
2079
- if (fencesBeginRegex.test(nextLine)) {
2080
- break;
2081
- }
2082
- // End list item if found start of new heading
2083
- if (headingBeginRegex.test(nextLine)) {
2084
- break;
2085
- }
2086
- // End list item if found start of html block
2087
- if (htmlBeginRegex.test(nextLine)) {
2088
- break;
2089
- }
2090
- // End list item if found start of new bullet
2091
- if (nextBulletRegex.test(nextLine)) {
2092
- break;
2093
- }
2094
- // Horizontal rule found
2095
- if (hrRegex.test(nextLine)) {
2096
- break;
2097
- }
2098
- if (nextLineWithoutTabs.search(this.rules.other.nonSpaceChar) >= indent || !nextLine.trim()) {
2099
- // Dedent if possible
2100
- itemContents += '\n' + nextLineWithoutTabs.slice(indent);
2101
- } else {
2102
- // not enough indentation
2103
- if (blankLine) {
2104
- break;
2105
- }
2106
- // paragraph continuation unless last line was a different block level element
2107
- if (line.replace(this.rules.other.tabCharGlobal, ' ').search(this.rules.other.nonSpaceChar) >= 4) {
2108
- // indented code block
2109
- break;
2110
- }
2111
- if (fencesBeginRegex.test(line)) {
2112
- break;
2113
- }
2114
- if (headingBeginRegex.test(line)) {
2115
- break;
2116
- }
2117
- if (hrRegex.test(line)) {
2118
- break;
2119
- }
2120
- itemContents += '\n' + nextLine;
2121
- }
2122
- if (!blankLine && !nextLine.trim()) {
2123
- // Check if current line is blank
2124
- blankLine = true;
2125
- }
2126
- raw += rawLine + '\n';
2127
- src = src.substring(rawLine.length + 1);
2128
- line = nextLineWithoutTabs.slice(indent);
2129
- }
2130
- }
2131
- if (!list.loose) {
2132
- // If the previous item ended with a blank line, the list is loose
2133
- if (endsWithBlankLine) {
2134
- list.loose = true;
2135
- } else if (this.rules.other.doubleBlankLine.test(raw)) {
2136
- endsWithBlankLine = true;
2137
- }
2138
- }
2139
- let istask = null;
2140
- let ischecked;
2141
- // Check for task list items
2142
- if (this.options.gfm) {
2143
- istask = this.rules.other.listIsTask.exec(itemContents);
2144
- if (istask) {
2145
- ischecked = istask[0] !== '[ ] ';
2146
- itemContents = itemContents.replace(this.rules.other.listReplaceTask, '');
2147
- }
2148
- }
2149
- list.items.push({
2150
- type: 'list_item',
2151
- raw,
2152
- task: !!istask,
2153
- checked: ischecked,
2154
- loose: false,
2155
- text: itemContents,
2156
- tokens: []
2157
- });
2158
- list.raw += raw;
2159
- }
2160
- // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic
2161
- const lastItem = list.items.at(-1);
2162
- if (lastItem) {
2163
- lastItem.raw = lastItem.raw.trimEnd();
2164
- lastItem.text = lastItem.text.trimEnd();
2165
- } else {
2166
- // not a list since there were no items
2167
- return;
2168
- }
2169
- list.raw = list.raw.trimEnd();
2170
- // Item child tokens handled here at end because we needed to have the final item to trim it first
2171
- for (let i = 0; i < list.items.length; i++) {
2172
- this.lexer.state.top = false;
2173
- list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
2174
- if (!list.loose) {
2175
- // Check if list should be loose
2176
- const spacers = list.items[i].tokens.filter(t => t.type === 'space');
2177
- const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => this.rules.other.anyLine.test(t.raw));
2178
- list.loose = hasMultipleLineBreaks;
2179
- }
2180
- }
2181
- // Set all items to loose if list is loose
2182
- if (list.loose) {
2183
- for (let i = 0; i < list.items.length; i++) {
2184
- list.items[i].loose = true;
2185
- }
2186
- }
2187
- return list;
2188
- }
2189
- }
2190
- html(src) {
2191
- const cap = this.rules.block.html.exec(src);
2192
- if (cap) {
2193
- const token = {
2194
- type: 'html',
2195
- block: true,
2196
- raw: cap[0],
2197
- pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',
2198
- text: cap[0]
2199
- };
2200
- return token;
2201
- }
2202
- }
2203
- def(src) {
2204
- const cap = this.rules.block.def.exec(src);
2205
- if (cap) {
2206
- const tag = cap[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, ' ');
2207
- const href = cap[2] ? cap[2].replace(this.rules.other.hrefBrackets, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';
2208
- const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];
2209
- return {
2210
- type: 'def',
2211
- tag,
2212
- raw: cap[0],
2213
- href,
2214
- title
2215
- };
2216
- }
2217
- }
2218
- table(src) {
2219
- const cap = this.rules.block.table.exec(src);
2220
- if (!cap) {
2221
- return;
2222
- }
2223
- if (!this.rules.other.tableDelimiter.test(cap[2])) {
2224
- // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading
2225
- return;
2226
- }
2227
- const headers = splitCells(cap[1]);
2228
- const aligns = cap[2].replace(this.rules.other.tableAlignChars, '').split('|');
2229
- const rows = cap[3]?.trim() ? cap[3].replace(this.rules.other.tableRowBlankLine, '').split('\n') : [];
2230
- const item = {
2231
- type: 'table',
2232
- raw: cap[0],
2233
- header: [],
2234
- align: [],
2235
- rows: []
2236
- };
2237
- if (headers.length !== aligns.length) {
2238
- // header and align columns must be equal, rows can be different.
2239
- return;
2240
- }
2241
- for (const align of aligns) {
2242
- if (this.rules.other.tableAlignRight.test(align)) {
2243
- item.align.push('right');
2244
- } else if (this.rules.other.tableAlignCenter.test(align)) {
2245
- item.align.push('center');
2246
- } else if (this.rules.other.tableAlignLeft.test(align)) {
2247
- item.align.push('left');
2248
- } else {
2249
- item.align.push(null);
2250
- }
2251
- }
2252
- for (let i = 0; i < headers.length; i++) {
2253
- item.header.push({
2254
- text: headers[i],
2255
- tokens: this.lexer.inline(headers[i]),
2256
- header: true,
2257
- align: item.align[i]
2258
- });
2259
- }
2260
- for (const row of rows) {
2261
- item.rows.push(splitCells(row, item.header.length).map((cell, i) => {
2262
- return {
2263
- text: cell,
2264
- tokens: this.lexer.inline(cell),
2265
- header: false,
2266
- align: item.align[i]
2267
- };
2268
- }));
2269
- }
2270
- return item;
2271
- }
2272
- lheading(src) {
2273
- const cap = this.rules.block.lheading.exec(src);
2274
- if (cap) {
2275
- return {
2276
- type: 'heading',
2277
- raw: cap[0],
2278
- depth: cap[2].charAt(0) === '=' ? 1 : 2,
2279
- text: cap[1],
2280
- tokens: this.lexer.inline(cap[1])
2281
- };
2282
- }
2283
- }
2284
- paragraph(src) {
2285
- const cap = this.rules.block.paragraph.exec(src);
2286
- if (cap) {
2287
- const text = cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1];
2288
- return {
2289
- type: 'paragraph',
2290
- raw: cap[0],
2291
- text,
2292
- tokens: this.lexer.inline(text)
2293
- };
2294
- }
2295
- }
2296
- text(src) {
2297
- const cap = this.rules.block.text.exec(src);
2298
- if (cap) {
2299
- return {
2300
- type: 'text',
2301
- raw: cap[0],
2302
- text: cap[0],
2303
- tokens: this.lexer.inline(cap[0])
2304
- };
2305
- }
2306
- }
2307
- escape(src) {
2308
- const cap = this.rules.inline.escape.exec(src);
2309
- if (cap) {
2310
- return {
2311
- type: 'escape',
2312
- raw: cap[0],
2313
- text: cap[1]
2314
- };
2315
- }
2316
- }
2317
- tag(src) {
2318
- const cap = this.rules.inline.tag.exec(src);
2319
- if (cap) {
2320
- if (!this.lexer.state.inLink && this.rules.other.startATag.test(cap[0])) {
2321
- this.lexer.state.inLink = true;
2322
- } else if (this.lexer.state.inLink && this.rules.other.endATag.test(cap[0])) {
2323
- this.lexer.state.inLink = false;
2324
- }
2325
- if (!this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(cap[0])) {
2326
- this.lexer.state.inRawBlock = true;
2327
- } else if (this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(cap[0])) {
2328
- this.lexer.state.inRawBlock = false;
2329
- }
2330
- return {
2331
- type: 'html',
2332
- raw: cap[0],
2333
- inLink: this.lexer.state.inLink,
2334
- inRawBlock: this.lexer.state.inRawBlock,
2335
- block: false,
2336
- text: cap[0]
2337
- };
2338
- }
2339
- }
2340
- link(src) {
2341
- const cap = this.rules.inline.link.exec(src);
2342
- if (cap) {
2343
- const trimmedUrl = cap[2].trim();
2344
- if (!this.options.pedantic && this.rules.other.startAngleBracket.test(trimmedUrl)) {
2345
- // commonmark requires matching angle brackets
2346
- if (!this.rules.other.endAngleBracket.test(trimmedUrl)) {
2347
- return;
2348
- }
2349
- // ending angle bracket cannot be escaped
2350
- const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\');
2351
- if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
2352
- return;
2353
- }
2354
- } else {
2355
- // find closing parenthesis
2356
- const lastParenIndex = findClosingBracket(cap[2], '()');
2357
- if (lastParenIndex === -2) {
2358
- // more open parens than closed
2359
- return;
2360
- }
2361
- if (lastParenIndex > -1) {
2362
- const start = cap[0].indexOf('!') === 0 ? 5 : 4;
2363
- const linkLen = start + cap[1].length + lastParenIndex;
2364
- cap[2] = cap[2].substring(0, lastParenIndex);
2365
- cap[0] = cap[0].substring(0, linkLen).trim();
2366
- cap[3] = '';
2367
- }
2368
- }
2369
- let href = cap[2];
2370
- let title = '';
2371
- if (this.options.pedantic) {
2372
- // split pedantic href and title
2373
- const link = this.rules.other.pedanticHrefTitle.exec(href);
2374
- if (link) {
2375
- href = link[1];
2376
- title = link[3];
2377
- }
2378
- } else {
2379
- title = cap[3] ? cap[3].slice(1, -1) : '';
2380
- }
2381
- href = href.trim();
2382
- if (this.rules.other.startAngleBracket.test(href)) {
2383
- if (this.options.pedantic && !this.rules.other.endAngleBracket.test(trimmedUrl)) {
2384
- // pedantic allows starting angle bracket without ending angle bracket
2385
- href = href.slice(1);
2386
- } else {
2387
- href = href.slice(1, -1);
2388
- }
2389
- }
2390
- return outputLink(cap, {
2391
- href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,
2392
- title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title
2393
- }, cap[0], this.lexer, this.rules);
2394
- }
2395
- }
2396
- reflink(src, links) {
2397
- let cap;
2398
- if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
2399
- const linkString = (cap[2] || cap[1]).replace(this.rules.other.multipleSpaceGlobal, ' ');
2400
- const link = links[linkString.toLowerCase()];
2401
- if (!link) {
2402
- const text = cap[0].charAt(0);
2403
- return {
2404
- type: 'text',
2405
- raw: text,
2406
- text
2407
- };
2408
- }
2409
- return outputLink(cap, link, cap[0], this.lexer, this.rules);
2410
- }
2411
- }
2412
- emStrong(src, maskedSrc, prevChar = '') {
2413
- let match = this.rules.inline.emStrongLDelim.exec(src);
2414
- if (!match) return;
2415
- // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
2416
- if (match[3] && prevChar.match(this.rules.other.unicodeAlphaNumeric)) return;
2417
- const nextChar = match[1] || match[2] || '';
2418
- if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {
2419
- // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)
2420
- const lLength = [...match[0]].length - 1;
2421
- let rDelim,
2422
- rLength,
2423
- delimTotal = lLength,
2424
- midDelimTotal = 0;
2425
- const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
2426
- endReg.lastIndex = 0;
2427
- // Clip maskedSrc to same section of string as src (move to lexer?)
2428
- maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
2429
- while ((match = endReg.exec(maskedSrc)) != null) {
2430
- rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
2431
- if (!rDelim) continue; // skip single * in __abc*abc__
2432
- rLength = [...rDelim].length;
2433
- if (match[3] || match[4]) {
2434
- // found another Left Delim
2435
- delimTotal += rLength;
2436
- continue;
2437
- } else if (match[5] || match[6]) {
2438
- // either Left or Right Delim
2439
- if (lLength % 3 && !((lLength + rLength) % 3)) {
2440
- midDelimTotal += rLength;
2441
- continue; // CommonMark Emphasis Rules 9-10
2442
- }
2443
- }
2444
- delimTotal -= rLength;
2445
- if (delimTotal > 0) continue; // Haven't found enough closing delimiters
2446
- // Remove extra characters. *a*** -> *a*
2447
- rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);
2448
- // char length can be >1 for unicode characters;
2449
- const lastCharLength = [...match[0]][0].length;
2450
- const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);
2451
- // Create `em` if smallest delimiter has odd char count. *a***
2452
- if (Math.min(lLength, rLength) % 2) {
2453
- const text = raw.slice(1, -1);
2454
- return {
2455
- type: 'em',
2456
- raw,
2457
- text,
2458
- tokens: this.lexer.inlineTokens(text)
2459
- };
2460
- }
2461
- // Create 'strong' if smallest delimiter has even char count. **a***
2462
- const text = raw.slice(2, -2);
2463
- return {
2464
- type: 'strong',
2465
- raw,
2466
- text,
2467
- tokens: this.lexer.inlineTokens(text)
2468
- };
2469
- }
2470
- }
2471
- }
2472
- codespan(src) {
2473
- const cap = this.rules.inline.code.exec(src);
2474
- if (cap) {
2475
- let text = cap[2].replace(this.rules.other.newLineCharGlobal, ' ');
2476
- const hasNonSpaceChars = this.rules.other.nonSpaceChar.test(text);
2477
- const hasSpaceCharsOnBothEnds = this.rules.other.startingSpaceChar.test(text) && this.rules.other.endingSpaceChar.test(text);
2478
- if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
2479
- text = text.substring(1, text.length - 1);
2480
- }
2481
- return {
2482
- type: 'codespan',
2483
- raw: cap[0],
2484
- text
2485
- };
2486
- }
2487
- }
2488
- br(src) {
2489
- const cap = this.rules.inline.br.exec(src);
2490
- if (cap) {
2491
- return {
2492
- type: 'br',
2493
- raw: cap[0]
2494
- };
2495
- }
2496
- }
2497
- del(src) {
2498
- const cap = this.rules.inline.del.exec(src);
2499
- if (cap) {
2500
- return {
2501
- type: 'del',
2502
- raw: cap[0],
2503
- text: cap[2],
2504
- tokens: this.lexer.inlineTokens(cap[2])
2505
- };
2506
- }
2507
- }
2508
- autolink(src) {
2509
- const cap = this.rules.inline.autolink.exec(src);
2510
- if (cap) {
2511
- let text, href;
2512
- if (cap[2] === '@') {
2513
- text = cap[1];
2514
- href = 'mailto:' + text;
2515
- } else {
2516
- text = cap[1];
2517
- href = text;
2518
- }
2519
- return {
2520
- type: 'link',
2521
- raw: cap[0],
2522
- text,
2523
- href,
2524
- tokens: [{
2525
- type: 'text',
2526
- raw: text,
2527
- text
2528
- }]
2529
- };
2530
- }
2531
- }
2532
- url(src) {
2533
- let cap;
2534
- if (cap = this.rules.inline.url.exec(src)) {
2535
- let text, href;
2536
- if (cap[2] === '@') {
2537
- text = cap[0];
2538
- href = 'mailto:' + text;
2539
- } else {
2540
- // do extended autolink path validation
2541
- let prevCapZero;
2542
- do {
2543
- prevCapZero = cap[0];
2544
- cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';
2545
- } while (prevCapZero !== cap[0]);
2546
- text = cap[0];
2547
- if (cap[1] === 'www.') {
2548
- href = 'http://' + cap[0];
2549
- } else {
2550
- href = cap[0];
2551
- }
2552
- }
2553
- return {
2554
- type: 'link',
2555
- raw: cap[0],
2556
- text,
2557
- href,
2558
- tokens: [{
2559
- type: 'text',
2560
- raw: text,
2561
- text
2562
- }]
2563
- };
2564
- }
2565
- }
2566
- inlineText(src) {
2567
- const cap = this.rules.inline.text.exec(src);
2568
- if (cap) {
2569
- const escaped = this.lexer.state.inRawBlock;
2570
- return {
2571
- type: 'text',
2572
- raw: cap[0],
2573
- text: cap[0],
2574
- escaped
2575
- };
2576
- }
2577
- }
2578
- }
2579
-
2580
- /**
2581
- * Block Lexer
2582
- */
2583
- class _Lexer {
2584
- tokens;
2585
- options;
2586
- state;
2587
- tokenizer;
2588
- inlineQueue;
2589
- constructor(options) {
2590
- // TokenList cannot be created in one go
2591
- this.tokens = [];
2592
- this.tokens.links = Object.create(null);
2593
- this.options = options || _defaults;
2594
- this.options.tokenizer = this.options.tokenizer || new _Tokenizer();
2595
- this.tokenizer = this.options.tokenizer;
2596
- this.tokenizer.options = this.options;
2597
- this.tokenizer.lexer = this;
2598
- this.inlineQueue = [];
2599
- this.state = {
2600
- inLink: false,
2601
- inRawBlock: false,
2602
- top: true
2603
- };
2604
- const rules = {
2605
- other,
2606
- block: block.normal,
2607
- inline: inline.normal
2608
- };
2609
- if (this.options.pedantic) {
2610
- rules.block = block.pedantic;
2611
- rules.inline = inline.pedantic;
2612
- } else if (this.options.gfm) {
2613
- rules.block = block.gfm;
2614
- if (this.options.breaks) {
2615
- rules.inline = inline.breaks;
2616
- } else {
2617
- rules.inline = inline.gfm;
2618
- }
2619
- }
2620
- this.tokenizer.rules = rules;
2621
- }
2622
- /**
2623
- * Expose Rules
2624
- */
2625
- static get rules() {
2626
- return {
2627
- block,
2628
- inline
2629
- };
2630
- }
2631
- /**
2632
- * Static Lex Method
2633
- */
2634
- static lex(src, options) {
2635
- const lexer = new _Lexer(options);
2636
- return lexer.lex(src);
2637
- }
2638
- /**
2639
- * Static Lex Inline Method
2640
- */
2641
- static lexInline(src, options) {
2642
- const lexer = new _Lexer(options);
2643
- return lexer.inlineTokens(src);
2644
- }
2645
- /**
2646
- * Preprocessing
2647
- */
2648
- lex(src) {
2649
- src = src.replace(other.carriageReturn, '\n');
2650
- this.blockTokens(src, this.tokens);
2651
- for (let i = 0; i < this.inlineQueue.length; i++) {
2652
- const next = this.inlineQueue[i];
2653
- this.inlineTokens(next.src, next.tokens);
2654
- }
2655
- this.inlineQueue = [];
2656
- return this.tokens;
2657
- }
2658
- blockTokens(src, tokens = [], lastParagraphClipped = false) {
2659
- if (this.options.pedantic) {
2660
- src = src.replace(other.tabCharGlobal, ' ').replace(other.spaceLine, '');
2661
- }
2662
- while (src) {
2663
- let token;
2664
- if (this.options.extensions?.block?.some(extTokenizer => {
2665
- if (token = extTokenizer.call({
2666
- lexer: this
2667
- }, src, tokens)) {
2668
- src = src.substring(token.raw.length);
2669
- tokens.push(token);
2670
- return true;
2671
- }
2672
- return false;
2673
- })) {
2674
- continue;
2675
- }
2676
- // newline
2677
- if (token = this.tokenizer.space(src)) {
2678
- src = src.substring(token.raw.length);
2679
- const lastToken = tokens.at(-1);
2680
- if (token.raw.length === 1 && lastToken !== undefined) {
2681
- // if there's a single \n as a spacer, it's terminating the last line,
2682
- // so move it there so that we don't get unnecessary paragraph tags
2683
- lastToken.raw += '\n';
2684
- } else {
2685
- tokens.push(token);
2686
- }
2687
- continue;
2688
- }
2689
- // code
2690
- if (token = this.tokenizer.code(src)) {
2691
- src = src.substring(token.raw.length);
2692
- const lastToken = tokens.at(-1);
2693
- // An indented code block cannot interrupt a paragraph.
2694
- if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') {
2695
- lastToken.raw += '\n' + token.raw;
2696
- lastToken.text += '\n' + token.text;
2697
- this.inlineQueue.at(-1).src = lastToken.text;
2698
- } else {
2699
- tokens.push(token);
2700
- }
2701
- continue;
2702
- }
2703
- // fences
2704
- if (token = this.tokenizer.fences(src)) {
2705
- src = src.substring(token.raw.length);
2706
- tokens.push(token);
2707
- continue;
2708
- }
2709
- // heading
2710
- if (token = this.tokenizer.heading(src)) {
2711
- src = src.substring(token.raw.length);
2712
- tokens.push(token);
2713
- continue;
2714
- }
2715
- // hr
2716
- if (token = this.tokenizer.hr(src)) {
2717
- src = src.substring(token.raw.length);
2718
- tokens.push(token);
2719
- continue;
2720
- }
2721
- // blockquote
2722
- if (token = this.tokenizer.blockquote(src)) {
2723
- src = src.substring(token.raw.length);
2724
- tokens.push(token);
2725
- continue;
2726
- }
2727
- // list
2728
- if (token = this.tokenizer.list(src)) {
2729
- src = src.substring(token.raw.length);
2730
- tokens.push(token);
2731
- continue;
2732
- }
2733
- // html
2734
- if (token = this.tokenizer.html(src)) {
2735
- src = src.substring(token.raw.length);
2736
- tokens.push(token);
2737
- continue;
2738
- }
2739
- // def
2740
- if (token = this.tokenizer.def(src)) {
2741
- src = src.substring(token.raw.length);
2742
- const lastToken = tokens.at(-1);
2743
- if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') {
2744
- lastToken.raw += '\n' + token.raw;
2745
- lastToken.text += '\n' + token.raw;
2746
- this.inlineQueue.at(-1).src = lastToken.text;
2747
- } else if (!this.tokens.links[token.tag]) {
2748
- this.tokens.links[token.tag] = {
2749
- href: token.href,
2750
- title: token.title
2751
- };
2752
- }
2753
- continue;
2754
- }
2755
- // table (gfm)
2756
- if (token = this.tokenizer.table(src)) {
2757
- src = src.substring(token.raw.length);
2758
- tokens.push(token);
2759
- continue;
2760
- }
2761
- // lheading
2762
- if (token = this.tokenizer.lheading(src)) {
2763
- src = src.substring(token.raw.length);
2764
- tokens.push(token);
2765
- continue;
2766
- }
2767
- // top-level paragraph
2768
- // prevent paragraph consuming extensions by clipping 'src' to extension start
2769
- let cutSrc = src;
2770
- if (this.options.extensions?.startBlock) {
2771
- let startIndex = Infinity;
2772
- const tempSrc = src.slice(1);
2773
- let tempStart;
2774
- this.options.extensions.startBlock.forEach(getStartIndex => {
2775
- tempStart = getStartIndex.call({
2776
- lexer: this
2777
- }, tempSrc);
2778
- if (typeof tempStart === 'number' && tempStart >= 0) {
2779
- startIndex = Math.min(startIndex, tempStart);
2780
- }
2781
- });
2782
- if (startIndex < Infinity && startIndex >= 0) {
2783
- cutSrc = src.substring(0, startIndex + 1);
2784
- }
2785
- }
2786
- if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
2787
- const lastToken = tokens.at(-1);
2788
- if (lastParagraphClipped && lastToken?.type === 'paragraph') {
2789
- lastToken.raw += '\n' + token.raw;
2790
- lastToken.text += '\n' + token.text;
2791
- this.inlineQueue.pop();
2792
- this.inlineQueue.at(-1).src = lastToken.text;
2793
- } else {
2794
- tokens.push(token);
2795
- }
2796
- lastParagraphClipped = cutSrc.length !== src.length;
2797
- src = src.substring(token.raw.length);
2798
- continue;
2799
- }
2800
- // text
2801
- if (token = this.tokenizer.text(src)) {
2802
- src = src.substring(token.raw.length);
2803
- const lastToken = tokens.at(-1);
2804
- if (lastToken?.type === 'text') {
2805
- lastToken.raw += '\n' + token.raw;
2806
- lastToken.text += '\n' + token.text;
2807
- this.inlineQueue.pop();
2808
- this.inlineQueue.at(-1).src = lastToken.text;
2809
- } else {
2810
- tokens.push(token);
2811
- }
2812
- continue;
2813
- }
2814
- if (src) {
2815
- const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
2816
- if (this.options.silent) {
2817
- console.error(errMsg);
2818
- break;
2819
- } else {
2820
- throw new Error(errMsg);
2821
- }
2822
- }
2823
- }
2824
- this.state.top = true;
2825
- return tokens;
2826
- }
2827
- inline(src, tokens = []) {
2828
- this.inlineQueue.push({
2829
- src,
2830
- tokens
2831
- });
2832
- return tokens;
2833
- }
2834
- /**
2835
- * Lexing/Compiling
2836
- */
2837
- inlineTokens(src, tokens = []) {
2838
- // String with links masked to avoid interference with em and strong
2839
- let maskedSrc = src;
2840
- let match = null;
2841
- // Mask out reflinks
2842
- if (this.tokens.links) {
2843
- const links = Object.keys(this.tokens.links);
2844
- if (links.length > 0) {
2845
- while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
2846
- if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {
2847
- maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
2848
- }
2849
- }
2850
- }
2851
- }
2852
- // Mask out escaped characters
2853
- while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {
2854
- maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
2855
- }
2856
- // Mask out other blocks
2857
- while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
2858
- maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
2859
- }
2860
- let keepPrevChar = false;
2861
- let prevChar = '';
2862
- while (src) {
2863
- if (!keepPrevChar) {
2864
- prevChar = '';
2865
- }
2866
- keepPrevChar = false;
2867
- let token;
2868
- // extensions
2869
- if (this.options.extensions?.inline?.some(extTokenizer => {
2870
- if (token = extTokenizer.call({
2871
- lexer: this
2872
- }, src, tokens)) {
2873
- src = src.substring(token.raw.length);
2874
- tokens.push(token);
2875
- return true;
2876
- }
2877
- return false;
2878
- })) {
2879
- continue;
2880
- }
2881
- // escape
2882
- if (token = this.tokenizer.escape(src)) {
2883
- src = src.substring(token.raw.length);
2884
- tokens.push(token);
2885
- continue;
2886
- }
2887
- // tag
2888
- if (token = this.tokenizer.tag(src)) {
2889
- src = src.substring(token.raw.length);
2890
- tokens.push(token);
2891
- continue;
2892
- }
2893
- // link
2894
- if (token = this.tokenizer.link(src)) {
2895
- src = src.substring(token.raw.length);
2896
- tokens.push(token);
2897
- continue;
2898
- }
2899
- // reflink, nolink
2900
- if (token = this.tokenizer.reflink(src, this.tokens.links)) {
2901
- src = src.substring(token.raw.length);
2902
- const lastToken = tokens.at(-1);
2903
- if (token.type === 'text' && lastToken?.type === 'text') {
2904
- lastToken.raw += token.raw;
2905
- lastToken.text += token.text;
2906
- } else {
2907
- tokens.push(token);
2908
- }
2909
- continue;
2910
- }
2911
- // em & strong
2912
- if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
2913
- src = src.substring(token.raw.length);
2914
- tokens.push(token);
2915
- continue;
2916
- }
2917
- // code
2918
- if (token = this.tokenizer.codespan(src)) {
2919
- src = src.substring(token.raw.length);
2920
- tokens.push(token);
2921
- continue;
2922
- }
2923
- // br
2924
- if (token = this.tokenizer.br(src)) {
2925
- src = src.substring(token.raw.length);
2926
- tokens.push(token);
2927
- continue;
2928
- }
2929
- // del (gfm)
2930
- if (token = this.tokenizer.del(src)) {
2931
- src = src.substring(token.raw.length);
2932
- tokens.push(token);
2933
- continue;
2934
- }
2935
- // autolink
2936
- if (token = this.tokenizer.autolink(src)) {
2937
- src = src.substring(token.raw.length);
2938
- tokens.push(token);
2939
- continue;
2940
- }
2941
- // url (gfm)
2942
- if (!this.state.inLink && (token = this.tokenizer.url(src))) {
2943
- src = src.substring(token.raw.length);
2944
- tokens.push(token);
2945
- continue;
2946
- }
2947
- // text
2948
- // prevent inlineText consuming extensions by clipping 'src' to extension start
2949
- let cutSrc = src;
2950
- if (this.options.extensions?.startInline) {
2951
- let startIndex = Infinity;
2952
- const tempSrc = src.slice(1);
2953
- let tempStart;
2954
- this.options.extensions.startInline.forEach(getStartIndex => {
2955
- tempStart = getStartIndex.call({
2956
- lexer: this
2957
- }, tempSrc);
2958
- if (typeof tempStart === 'number' && tempStart >= 0) {
2959
- startIndex = Math.min(startIndex, tempStart);
2960
- }
2961
- });
2962
- if (startIndex < Infinity && startIndex >= 0) {
2963
- cutSrc = src.substring(0, startIndex + 1);
2964
- }
2965
- }
2966
- if (token = this.tokenizer.inlineText(cutSrc)) {
2967
- src = src.substring(token.raw.length);
2968
- if (token.raw.slice(-1) !== '_') {
2969
- // Track prevChar before string of ____ started
2970
- prevChar = token.raw.slice(-1);
2971
- }
2972
- keepPrevChar = true;
2973
- const lastToken = tokens.at(-1);
2974
- if (lastToken?.type === 'text') {
2975
- lastToken.raw += token.raw;
2976
- lastToken.text += token.text;
2977
- } else {
2978
- tokens.push(token);
2979
- }
2980
- continue;
2981
- }
2982
- if (src) {
2983
- const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
2984
- if (this.options.silent) {
2985
- console.error(errMsg);
2986
- break;
2987
- } else {
2988
- throw new Error(errMsg);
2989
- }
2990
- }
2991
- }
2992
- return tokens;
2993
- }
2994
- }
2995
-
2996
- /**
2997
- * Renderer
2998
- */
2999
- class _Renderer {
3000
- options;
3001
- parser; // set by the parser
3002
- constructor(options) {
3003
- this.options = options || _defaults;
3004
- }
3005
- space(token) {
3006
- return '';
3007
- }
3008
- code({
3009
- text,
3010
- lang,
3011
- escaped
3012
- }) {
3013
- const langString = (lang || '').match(other.notSpaceStart)?.[0];
3014
- const code = text.replace(other.endingNewline, '') + '\n';
3015
- if (!langString) {
3016
- return '<pre><code>' + (escaped ? code : escape(code, true)) + '</code></pre>\n';
3017
- }
3018
- return '<pre><code class="language-' + escape(langString) + '">' + (escaped ? code : escape(code, true)) + '</code></pre>\n';
3019
- }
3020
- blockquote({
3021
- tokens
3022
- }) {
3023
- const body = this.parser.parse(tokens);
3024
- return `<blockquote>\n${body}</blockquote>\n`;
3025
- }
3026
- html({
3027
- text
3028
- }) {
3029
- return text;
3030
- }
3031
- heading({
3032
- tokens,
3033
- depth
3034
- }) {
3035
- return `<h${depth}>${this.parser.parseInline(tokens)}</h${depth}>\n`;
3036
- }
3037
- hr(token) {
3038
- return '<hr>\n';
3039
- }
3040
- list(token) {
3041
- const ordered = token.ordered;
3042
- const start = token.start;
3043
- let body = '';
3044
- for (let j = 0; j < token.items.length; j++) {
3045
- const item = token.items[j];
3046
- body += this.listitem(item);
3047
- }
3048
- const type = ordered ? 'ol' : 'ul';
3049
- const startAttr = ordered && start !== 1 ? ' start="' + start + '"' : '';
3050
- return '<' + type + startAttr + '>\n' + body + '</' + type + '>\n';
3051
- }
3052
- listitem(item) {
3053
- let itemBody = '';
3054
- if (item.task) {
3055
- const checkbox = this.checkbox({
3056
- checked: !!item.checked
3057
- });
3058
- if (item.loose) {
3059
- if (item.tokens[0]?.type === 'paragraph') {
3060
- item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;
3061
- if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {
3062
- item.tokens[0].tokens[0].text = checkbox + ' ' + escape(item.tokens[0].tokens[0].text);
3063
- item.tokens[0].tokens[0].escaped = true;
3064
- }
3065
- } else {
3066
- item.tokens.unshift({
3067
- type: 'text',
3068
- raw: checkbox + ' ',
3069
- text: checkbox + ' ',
3070
- escaped: true
3071
- });
3072
- }
3073
- } else {
3074
- itemBody += checkbox + ' ';
3075
- }
3076
- }
3077
- itemBody += this.parser.parse(item.tokens, !!item.loose);
3078
- return `<li>${itemBody}</li>\n`;
3079
- }
3080
- checkbox({
3081
- checked
3082
- }) {
3083
- return '<input ' + (checked ? 'checked="" ' : '') + 'disabled="" type="checkbox">';
3084
- }
3085
- paragraph({
3086
- tokens
3087
- }) {
3088
- return `<p>${this.parser.parseInline(tokens)}</p>\n`;
3089
- }
3090
- table(token) {
3091
- let header = '';
3092
- // header
3093
- let cell = '';
3094
- for (let j = 0; j < token.header.length; j++) {
3095
- cell += this.tablecell(token.header[j]);
3096
- }
3097
- header += this.tablerow({
3098
- text: cell
3099
- });
3100
- let body = '';
3101
- for (let j = 0; j < token.rows.length; j++) {
3102
- const row = token.rows[j];
3103
- cell = '';
3104
- for (let k = 0; k < row.length; k++) {
3105
- cell += this.tablecell(row[k]);
3106
- }
3107
- body += this.tablerow({
3108
- text: cell
3109
- });
3110
- }
3111
- if (body) body = `<tbody>${body}</tbody>`;
3112
- return '<table>\n' + '<thead>\n' + header + '</thead>\n' + body + '</table>\n';
3113
- }
3114
- tablerow({
3115
- text
3116
- }) {
3117
- return `<tr>\n${text}</tr>\n`;
3118
- }
3119
- tablecell(token) {
3120
- const content = this.parser.parseInline(token.tokens);
3121
- const type = token.header ? 'th' : 'td';
3122
- const tag = token.align ? `<${type} align="${token.align}">` : `<${type}>`;
3123
- return tag + content + `</${type}>\n`;
3124
- }
3125
- /**
3126
- * span level renderer
3127
- */
3128
- strong({
3129
- tokens
3130
- }) {
3131
- return `<strong>${this.parser.parseInline(tokens)}</strong>`;
3132
- }
3133
- em({
3134
- tokens
3135
- }) {
3136
- return `<em>${this.parser.parseInline(tokens)}</em>`;
3137
- }
3138
- codespan({
3139
- text
3140
- }) {
3141
- return `<code>${escape(text, true)}</code>`;
3142
- }
3143
- br(token) {
3144
- return '<br>';
3145
- }
3146
- del({
3147
- tokens
3148
- }) {
3149
- return `<del>${this.parser.parseInline(tokens)}</del>`;
3150
- }
3151
- link({
3152
- href,
3153
- title,
3154
- tokens
3155
- }) {
3156
- const text = this.parser.parseInline(tokens);
3157
- const cleanHref = cleanUrl(href);
3158
- if (cleanHref === null) {
3159
- return text;
3160
- }
3161
- href = cleanHref;
3162
- let out = '<a href="' + href + '"';
3163
- if (title) {
3164
- out += ' title="' + escape(title) + '"';
3165
- }
3166
- out += '>' + text + '</a>';
3167
- return out;
3168
- }
3169
- image({
3170
- href,
3171
- title,
3172
- text
3173
- }) {
3174
- const cleanHref = cleanUrl(href);
3175
- if (cleanHref === null) {
3176
- return escape(text);
3177
- }
3178
- href = cleanHref;
3179
- let out = `<img src="${href}" alt="${text}"`;
3180
- if (title) {
3181
- out += ` title="${escape(title)}"`;
3182
- }
3183
- out += '>';
3184
- return out;
3185
- }
3186
- text(token) {
3187
- return 'tokens' in token && token.tokens ? this.parser.parseInline(token.tokens) : 'escaped' in token && token.escaped ? token.text : escape(token.text);
3188
- }
3189
- }
3190
-
3191
- /**
3192
- * TextRenderer
3193
- * returns only the textual part of the token
3194
- */
3195
- class _TextRenderer {
3196
- // no need for block level renderers
3197
- strong({
3198
- text
3199
- }) {
3200
- return text;
3201
- }
3202
- em({
3203
- text
3204
- }) {
3205
- return text;
3206
- }
3207
- codespan({
3208
- text
3209
- }) {
3210
- return text;
3211
- }
3212
- del({
3213
- text
3214
- }) {
3215
- return text;
3216
- }
3217
- html({
3218
- text
3219
- }) {
3220
- return text;
3221
- }
3222
- text({
3223
- text
3224
- }) {
3225
- return text;
3226
- }
3227
- link({
3228
- text
3229
- }) {
3230
- return '' + text;
3231
- }
3232
- image({
3233
- text
3234
- }) {
3235
- return '' + text;
3236
- }
3237
- br() {
3238
- return '';
3239
- }
3240
- }
3241
-
3242
- /**
3243
- * Parsing & Compiling
3244
- */
3245
- class _Parser {
3246
- options;
3247
- renderer;
3248
- textRenderer;
3249
- constructor(options) {
3250
- this.options = options || _defaults;
3251
- this.options.renderer = this.options.renderer || new _Renderer();
3252
- this.renderer = this.options.renderer;
3253
- this.renderer.options = this.options;
3254
- this.renderer.parser = this;
3255
- this.textRenderer = new _TextRenderer();
3256
- }
3257
- /**
3258
- * Static Parse Method
3259
- */
3260
- static parse(tokens, options) {
3261
- const parser = new _Parser(options);
3262
- return parser.parse(tokens);
3263
- }
3264
- /**
3265
- * Static Parse Inline Method
3266
- */
3267
- static parseInline(tokens, options) {
3268
- const parser = new _Parser(options);
3269
- return parser.parseInline(tokens);
3270
- }
3271
- /**
3272
- * Parse Loop
3273
- */
3274
- parse(tokens, top = true) {
3275
- let out = '';
3276
- for (let i = 0; i < tokens.length; i++) {
3277
- const anyToken = tokens[i];
3278
- // Run any renderer extensions
3279
- if (this.options.extensions?.renderers?.[anyToken.type]) {
3280
- const genericToken = anyToken;
3281
- const ret = this.options.extensions.renderers[genericToken.type].call({
3282
- parser: this
3283
- }, genericToken);
3284
- if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {
3285
- out += ret || '';
3286
- continue;
3287
- }
3288
- }
3289
- const token = anyToken;
3290
- switch (token.type) {
3291
- case 'space':
3292
- {
3293
- out += this.renderer.space(token);
3294
- continue;
3295
- }
3296
- case 'hr':
3297
- {
3298
- out += this.renderer.hr(token);
3299
- continue;
3300
- }
3301
- case 'heading':
3302
- {
3303
- out += this.renderer.heading(token);
3304
- continue;
3305
- }
3306
- case 'code':
3307
- {
3308
- out += this.renderer.code(token);
3309
- continue;
3310
- }
3311
- case 'table':
3312
- {
3313
- out += this.renderer.table(token);
3314
- continue;
3315
- }
3316
- case 'blockquote':
3317
- {
3318
- out += this.renderer.blockquote(token);
3319
- continue;
3320
- }
3321
- case 'list':
3322
- {
3323
- out += this.renderer.list(token);
3324
- continue;
3325
- }
3326
- case 'html':
3327
- {
3328
- out += this.renderer.html(token);
3329
- continue;
3330
- }
3331
- case 'paragraph':
3332
- {
3333
- out += this.renderer.paragraph(token);
3334
- continue;
3335
- }
3336
- case 'text':
3337
- {
3338
- let textToken = token;
3339
- let body = this.renderer.text(textToken);
3340
- while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {
3341
- textToken = tokens[++i];
3342
- body += '\n' + this.renderer.text(textToken);
3343
- }
3344
- if (top) {
3345
- out += this.renderer.paragraph({
3346
- type: 'paragraph',
3347
- raw: body,
3348
- text: body,
3349
- tokens: [{
3350
- type: 'text',
3351
- raw: body,
3352
- text: body,
3353
- escaped: true
3354
- }]
3355
- });
3356
- } else {
3357
- out += body;
3358
- }
3359
- continue;
3360
- }
3361
- default:
3362
- {
3363
- const errMsg = 'Token with "' + token.type + '" type was not found.';
3364
- if (this.options.silent) {
3365
- console.error(errMsg);
3366
- return '';
3367
- } else {
3368
- throw new Error(errMsg);
3369
- }
3370
- }
3371
- }
3372
- }
3373
- return out;
3374
- }
3375
- /**
3376
- * Parse Inline Tokens
3377
- */
3378
- parseInline(tokens, renderer = this.renderer) {
3379
- let out = '';
3380
- for (let i = 0; i < tokens.length; i++) {
3381
- const anyToken = tokens[i];
3382
- // Run any renderer extensions
3383
- if (this.options.extensions?.renderers?.[anyToken.type]) {
3384
- const ret = this.options.extensions.renderers[anyToken.type].call({
3385
- parser: this
3386
- }, anyToken);
3387
- if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(anyToken.type)) {
3388
- out += ret || '';
3389
- continue;
3390
- }
3391
- }
3392
- const token = anyToken;
3393
- switch (token.type) {
3394
- case 'escape':
3395
- {
3396
- out += renderer.text(token);
3397
- break;
3398
- }
3399
- case 'html':
3400
- {
3401
- out += renderer.html(token);
3402
- break;
3403
- }
3404
- case 'link':
3405
- {
3406
- out += renderer.link(token);
3407
- break;
3408
- }
3409
- case 'image':
3410
- {
3411
- out += renderer.image(token);
3412
- break;
3413
- }
3414
- case 'strong':
3415
- {
3416
- out += renderer.strong(token);
3417
- break;
3418
- }
3419
- case 'em':
3420
- {
3421
- out += renderer.em(token);
3422
- break;
3423
- }
3424
- case 'codespan':
3425
- {
3426
- out += renderer.codespan(token);
3427
- break;
3428
- }
3429
- case 'br':
3430
- {
3431
- out += renderer.br(token);
3432
- break;
3433
- }
3434
- case 'del':
3435
- {
3436
- out += renderer.del(token);
3437
- break;
3438
- }
3439
- case 'text':
3440
- {
3441
- out += renderer.text(token);
3442
- break;
3443
- }
3444
- default:
3445
- {
3446
- const errMsg = 'Token with "' + token.type + '" type was not found.';
3447
- if (this.options.silent) {
3448
- console.error(errMsg);
3449
- return '';
3450
- } else {
3451
- throw new Error(errMsg);
3452
- }
3453
- }
3454
- }
3455
- }
3456
- return out;
3457
- }
3458
- }
3459
- class _Hooks {
3460
- options;
3461
- block;
3462
- constructor(options) {
3463
- this.options = options || _defaults;
3464
- }
3465
- static passThroughHooks = new Set(['preprocess', 'postprocess', 'processAllTokens']);
3466
- /**
3467
- * Process markdown before marked
3468
- */
3469
- preprocess(markdown) {
3470
- return markdown;
3471
- }
3472
- /**
3473
- * Process HTML after marked is finished
3474
- */
3475
- postprocess(html) {
3476
- return html;
3477
- }
3478
- /**
3479
- * Process all tokens before walk tokens
3480
- */
3481
- processAllTokens(tokens) {
3482
- return tokens;
3483
- }
3484
- /**
3485
- * Provide function to tokenize markdown
3486
- */
3487
- provideLexer() {
3488
- return this.block ? _Lexer.lex : _Lexer.lexInline;
3489
- }
3490
- /**
3491
- * Provide function to parse tokens
3492
- */
3493
- provideParser() {
3494
- return this.block ? _Parser.parse : _Parser.parseInline;
3495
- }
3496
- }
3497
- class Marked {
3498
- defaults = _getDefaults();
3499
- options = this.setOptions;
3500
- parse = this.parseMarkdown(true);
3501
- parseInline = this.parseMarkdown(false);
3502
- Parser = _Parser;
3503
- Renderer = _Renderer;
3504
- TextRenderer = _TextRenderer;
3505
- Lexer = _Lexer;
3506
- Tokenizer = _Tokenizer;
3507
- Hooks = _Hooks;
3508
- constructor(...args) {
3509
- this.use(...args);
3510
- }
3511
- /**
3512
- * Run callback for every token
3513
- */
3514
- walkTokens(tokens, callback) {
3515
- let values = [];
3516
- for (const token of tokens) {
3517
- values = values.concat(callback.call(this, token));
3518
- switch (token.type) {
3519
- case 'table':
3520
- {
3521
- const tableToken = token;
3522
- for (const cell of tableToken.header) {
3523
- values = values.concat(this.walkTokens(cell.tokens, callback));
3524
- }
3525
- for (const row of tableToken.rows) {
3526
- for (const cell of row) {
3527
- values = values.concat(this.walkTokens(cell.tokens, callback));
3528
- }
3529
- }
3530
- break;
3531
- }
3532
- case 'list':
3533
- {
3534
- const listToken = token;
3535
- values = values.concat(this.walkTokens(listToken.items, callback));
3536
- break;
3537
- }
3538
- default:
3539
- {
3540
- const genericToken = token;
3541
- if (this.defaults.extensions?.childTokens?.[genericToken.type]) {
3542
- this.defaults.extensions.childTokens[genericToken.type].forEach(childTokens => {
3543
- const tokens = genericToken[childTokens].flat(Infinity);
3544
- values = values.concat(this.walkTokens(tokens, callback));
3545
- });
3546
- } else if (genericToken.tokens) {
3547
- values = values.concat(this.walkTokens(genericToken.tokens, callback));
3548
- }
3549
- }
3550
- }
3551
- }
3552
- return values;
3553
- }
3554
- use(...args) {
3555
- const extensions = this.defaults.extensions || {
3556
- renderers: {},
3557
- childTokens: {}
3558
- };
3559
- args.forEach(pack => {
3560
- // copy options to new object
3561
- const opts = {
3562
- ...pack
3563
- };
3564
- // set async to true if it was set to true before
3565
- opts.async = this.defaults.async || opts.async || false;
3566
- // ==-- Parse "addon" extensions --== //
3567
- if (pack.extensions) {
3568
- pack.extensions.forEach(ext => {
3569
- if (!ext.name) {
3570
- throw new Error('extension name required');
3571
- }
3572
- if ('renderer' in ext) {
3573
- // Renderer extensions
3574
- const prevRenderer = extensions.renderers[ext.name];
3575
- if (prevRenderer) {
3576
- // Replace extension with func to run new extension but fall back if false
3577
- extensions.renderers[ext.name] = function (...args) {
3578
- let ret = ext.renderer.apply(this, args);
3579
- if (ret === false) {
3580
- ret = prevRenderer.apply(this, args);
3581
- }
3582
- return ret;
3583
- };
3584
- } else {
3585
- extensions.renderers[ext.name] = ext.renderer;
3586
- }
3587
- }
3588
- if ('tokenizer' in ext) {
3589
- // Tokenizer Extensions
3590
- if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') {
3591
- throw new Error("extension level must be 'block' or 'inline'");
3592
- }
3593
- const extLevel = extensions[ext.level];
3594
- if (extLevel) {
3595
- extLevel.unshift(ext.tokenizer);
3596
- } else {
3597
- extensions[ext.level] = [ext.tokenizer];
3598
- }
3599
- if (ext.start) {
3600
- // Function to check for start of token
3601
- if (ext.level === 'block') {
3602
- if (extensions.startBlock) {
3603
- extensions.startBlock.push(ext.start);
3604
- } else {
3605
- extensions.startBlock = [ext.start];
3606
- }
3607
- } else if (ext.level === 'inline') {
3608
- if (extensions.startInline) {
3609
- extensions.startInline.push(ext.start);
3610
- } else {
3611
- extensions.startInline = [ext.start];
3612
- }
3613
- }
3614
- }
3615
- }
3616
- if ('childTokens' in ext && ext.childTokens) {
3617
- // Child tokens to be visited by walkTokens
3618
- extensions.childTokens[ext.name] = ext.childTokens;
3619
- }
3620
- });
3621
- opts.extensions = extensions;
3622
- }
3623
- // ==-- Parse "overwrite" extensions --== //
3624
- if (pack.renderer) {
3625
- const renderer = this.defaults.renderer || new _Renderer(this.defaults);
3626
- for (const prop in pack.renderer) {
3627
- if (!(prop in renderer)) {
3628
- throw new Error(`renderer '${prop}' does not exist`);
3629
- }
3630
- if (['options', 'parser'].includes(prop)) {
3631
- // ignore options property
3632
- continue;
3633
- }
3634
- const rendererProp = prop;
3635
- const rendererFunc = pack.renderer[rendererProp];
3636
- const prevRenderer = renderer[rendererProp];
3637
- // Replace renderer with func to run extension, but fall back if false
3638
- renderer[rendererProp] = (...args) => {
3639
- let ret = rendererFunc.apply(renderer, args);
3640
- if (ret === false) {
3641
- ret = prevRenderer.apply(renderer, args);
3642
- }
3643
- return ret || '';
3644
- };
3645
- }
3646
- opts.renderer = renderer;
3647
- }
3648
- if (pack.tokenizer) {
3649
- const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);
3650
- for (const prop in pack.tokenizer) {
3651
- if (!(prop in tokenizer)) {
3652
- throw new Error(`tokenizer '${prop}' does not exist`);
3653
- }
3654
- if (['options', 'rules', 'lexer'].includes(prop)) {
3655
- // ignore options, rules, and lexer properties
3656
- continue;
3657
- }
3658
- const tokenizerProp = prop;
3659
- const tokenizerFunc = pack.tokenizer[tokenizerProp];
3660
- const prevTokenizer = tokenizer[tokenizerProp];
3661
- // Replace tokenizer with func to run extension, but fall back if false
3662
- // @ts-expect-error cannot type tokenizer function dynamically
3663
- tokenizer[tokenizerProp] = (...args) => {
3664
- let ret = tokenizerFunc.apply(tokenizer, args);
3665
- if (ret === false) {
3666
- ret = prevTokenizer.apply(tokenizer, args);
3667
- }
3668
- return ret;
3669
- };
3670
- }
3671
- opts.tokenizer = tokenizer;
3672
- }
3673
- // ==-- Parse Hooks extensions --== //
3674
- if (pack.hooks) {
3675
- const hooks = this.defaults.hooks || new _Hooks();
3676
- for (const prop in pack.hooks) {
3677
- if (!(prop in hooks)) {
3678
- throw new Error(`hook '${prop}' does not exist`);
3679
- }
3680
- if (['options', 'block'].includes(prop)) {
3681
- // ignore options and block properties
3682
- continue;
3683
- }
3684
- const hooksProp = prop;
3685
- const hooksFunc = pack.hooks[hooksProp];
3686
- const prevHook = hooks[hooksProp];
3687
- if (_Hooks.passThroughHooks.has(prop)) {
3688
- // @ts-expect-error cannot type hook function dynamically
3689
- hooks[hooksProp] = arg => {
3690
- if (this.defaults.async) {
3691
- return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {
3692
- return prevHook.call(hooks, ret);
3693
- });
3694
- }
3695
- const ret = hooksFunc.call(hooks, arg);
3696
- return prevHook.call(hooks, ret);
3697
- };
3698
- } else {
3699
- // @ts-expect-error cannot type hook function dynamically
3700
- hooks[hooksProp] = (...args) => {
3701
- let ret = hooksFunc.apply(hooks, args);
3702
- if (ret === false) {
3703
- ret = prevHook.apply(hooks, args);
3704
- }
3705
- return ret;
3706
- };
3707
- }
3708
- }
3709
- opts.hooks = hooks;
3710
- }
3711
- // ==-- Parse WalkTokens extensions --== //
3712
- if (pack.walkTokens) {
3713
- const walkTokens = this.defaults.walkTokens;
3714
- const packWalktokens = pack.walkTokens;
3715
- opts.walkTokens = function (token) {
3716
- let values = [];
3717
- values.push(packWalktokens.call(this, token));
3718
- if (walkTokens) {
3719
- values = values.concat(walkTokens.call(this, token));
3720
- }
3721
- return values;
3722
- };
3723
- }
3724
- this.defaults = {
3725
- ...this.defaults,
3726
- ...opts
3727
- };
3728
- });
3729
- return this;
3730
- }
3731
- setOptions(opt) {
3732
- this.defaults = {
3733
- ...this.defaults,
3734
- ...opt
3735
- };
3736
- return this;
3737
- }
3738
- lexer(src, options) {
3739
- return _Lexer.lex(src, options ?? this.defaults);
3740
- }
3741
- parser(tokens, options) {
3742
- return _Parser.parse(tokens, options ?? this.defaults);
3743
- }
3744
- parseMarkdown(blockType) {
3745
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3746
- const parse = (src, options) => {
3747
- const origOpt = {
3748
- ...options
3749
- };
3750
- const opt = {
3751
- ...this.defaults,
3752
- ...origOpt
3753
- };
3754
- const throwError = this.onError(!!opt.silent, !!opt.async);
3755
- // throw error if an extension set async to true but parse was called with async: false
3756
- if (this.defaults.async === true && origOpt.async === false) {
3757
- return throwError(new Error('marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.'));
3758
- }
3759
- // throw error in case of non string input
3760
- if (typeof src === 'undefined' || src === null) {
3761
- return throwError(new Error('marked(): input parameter is undefined or null'));
3762
- }
3763
- if (typeof src !== 'string') {
3764
- return throwError(new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected'));
3765
- }
3766
- if (opt.hooks) {
3767
- opt.hooks.options = opt;
3768
- opt.hooks.block = blockType;
3769
- }
3770
- const lexer = opt.hooks ? opt.hooks.provideLexer() : blockType ? _Lexer.lex : _Lexer.lexInline;
3771
- const parser = opt.hooks ? opt.hooks.provideParser() : blockType ? _Parser.parse : _Parser.parseInline;
3772
- if (opt.async) {
3773
- return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then(src => lexer(src, opt)).then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens).then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens).then(tokens => parser(tokens, opt)).then(html => opt.hooks ? opt.hooks.postprocess(html) : html).catch(throwError);
3774
- }
3775
- try {
3776
- if (opt.hooks) {
3777
- src = opt.hooks.preprocess(src);
3778
- }
3779
- let tokens = lexer(src, opt);
3780
- if (opt.hooks) {
3781
- tokens = opt.hooks.processAllTokens(tokens);
3782
- }
3783
- if (opt.walkTokens) {
3784
- this.walkTokens(tokens, opt.walkTokens);
3785
- }
3786
- let html = parser(tokens, opt);
3787
- if (opt.hooks) {
3788
- html = opt.hooks.postprocess(html);
3789
- }
3790
- return html;
3791
- } catch (e) {
3792
- return throwError(e);
3793
- }
3794
- };
3795
- return parse;
3796
- }
3797
- onError(silent, async) {
3798
- return e => {
3799
- e.message += '\nPlease report this to https://github.com/markedjs/marked.';
3800
- if (silent) {
3801
- const msg = '<p>An error occurred:</p><pre>' + escape(e.message + '', true) + '</pre>';
3802
- if (async) {
3803
- return Promise.resolve(msg);
3804
- }
3805
- return msg;
3806
- }
3807
- if (async) {
3808
- return Promise.reject(e);
3809
- }
3810
- throw e;
3811
- };
3812
- }
3813
- }
3814
- const markedInstance = new Marked();
3815
- function marked(src, opt) {
3816
- return markedInstance.parse(src, opt);
3817
- }
3818
- /**
3819
- * Sets the default options.
3820
- *
3821
- * @param options Hash of options
3822
- */
3823
- marked.options = marked.setOptions = function (options) {
3824
- markedInstance.setOptions(options);
3825
- marked.defaults = markedInstance.defaults;
3826
- changeDefaults(marked.defaults);
3827
- return marked;
3828
- };
3829
- /**
3830
- * Gets the original marked default options.
3831
- */
3832
- marked.getDefaults = _getDefaults;
3833
- marked.defaults = _defaults;
3834
- /**
3835
- * Use Extension
3836
- */
3837
- marked.use = function (...args) {
3838
- markedInstance.use(...args);
3839
- marked.defaults = markedInstance.defaults;
3840
- changeDefaults(marked.defaults);
3841
- return marked;
3842
- };
3843
- /**
3844
- * Run callback for every token
3845
- */
3846
- marked.walkTokens = function (tokens, callback) {
3847
- return markedInstance.walkTokens(tokens, callback);
3848
- };
3849
- /**
3850
- * Compiles markdown to HTML without enclosing `p` tag.
3851
- *
3852
- * @param src String of markdown source to be compiled
3853
- * @param options Hash of options
3854
- * @return String of compiled HTML
3855
- */
3856
- marked.parseInline = markedInstance.parseInline;
3857
- /**
3858
- * Expose
3859
- */
3860
- marked.Parser = _Parser;
3861
- marked.parser = _Parser.parse;
3862
- marked.Renderer = _Renderer;
3863
- marked.TextRenderer = _TextRenderer;
3864
- marked.Lexer = _Lexer;
3865
- marked.lexer = _Lexer.lex;
3866
- marked.Tokenizer = _Tokenizer;
3867
- marked.Hooks = _Hooks;
3868
- marked.parse = marked;
3869
-
3870
- const renderMarkdown = async (markdown, options = {}) => {
3871
- const html = await marked(markdown, {});
3872
- return html;
3873
- };
3874
-
3875
- const terminate = () => {
3876
- globalThis.close();
3877
- };
3878
-
3879
- const commandMap = {
3880
- 'Markdown.getVirtualDom': getMarkdownVirtualDom,
3881
- 'Markdown.render': renderMarkdown,
3882
- 'Markdown.terminate': terminate,
3883
- // deprecated
3884
- 'Markdown.renderMarkdown': renderMarkdown,
3885
- 'Markdown.getMarkDownVirtualDom': getMarkdownVirtualDom
3886
- };
3887
-
3888
- const RendererWorker = 1;
3889
-
3890
- const rpcs = Object.create(null);
3891
- const set = (id, rpc) => {
3892
- rpcs[id] = rpc;
3893
- };
3894
-
3895
- const listen = async () => {
3896
- const rpc = await WebWorkerRpcClient.create({
3897
- commandMap: commandMap
3898
- });
3899
- set(RendererWorker, rpc);
3900
- };
3901
-
3902
- const main = async () => {
3903
- await listen();
3904
- };
3905
-
3906
- main();