@dotglitch/ngx-common 2.0.0 → 3.0.0-beta.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 (1187) hide show
  1. package/README.md +37 -22
  2. package/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.d.ts +1 -1
  3. package/{components/command-palette → command-palette}/command-palette.component.d.ts +1 -1
  4. package/{services → command-palette}/command-palette.service.d.ts +2 -2
  5. package/command-palette/index.d.ts +2 -0
  6. package/{components/command-palette → command-palette}/shortcut/shortcut.component.d.ts +1 -1
  7. package/{components → core/components}/menu/menu.component.d.ts +2 -2
  8. package/{directives → core/components/menu}/menu.directive.d.ts +1 -1
  9. package/{types/menu.d.ts → core/components/menu/types.d.ts} +1 -1
  10. package/{components → core/components}/types.d.ts +0 -1
  11. package/{public-api.d.ts → core/index.d.ts} +12 -20
  12. package/{services → core/services}/navigation.service.d.ts +1 -1
  13. package/core/utils/index.d.ts +18 -0
  14. package/esm2022/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.mjs +1 -1
  15. package/esm2022/command-palette/command-palette.component.mjs +257 -0
  16. package/esm2022/command-palette/command-palette.service.mjs +207 -0
  17. package/esm2022/command-palette/dotglitch-ngx-common-command-palette.mjs +5 -0
  18. package/esm2022/command-palette/index.mjs +3 -0
  19. package/esm2022/{components/command-palette → command-palette}/shortcut/shortcut.component.mjs +1 -1
  20. package/esm2022/core/components/lazy-loader/lazy-loader.component.mjs +383 -0
  21. package/esm2022/core/components/lazy-loader/lazy-loader.module.mjs +33 -0
  22. package/esm2022/core/components/lazy-loader/lazy-loader.service.mjs +216 -0
  23. package/esm2022/core/components/lazy-loader/types.mjs +26 -0
  24. package/esm2022/core/components/menu/menu.component.mjs +433 -0
  25. package/esm2022/core/components/menu/menu.directive.mjs +159 -0
  26. package/esm2022/core/components/menu/types.mjs +2 -0
  27. package/esm2022/core/components/parallax-card/parallax-card.component.mjs +138 -0
  28. package/esm2022/core/components/types.mjs +3 -0
  29. package/esm2022/core/directives/image-cache.directive.mjs +143 -0
  30. package/esm2022/core/directives/utils.mjs +120 -0
  31. package/esm2022/core/dotglitch-ngx-common-core.mjs +5 -0
  32. package/esm2022/core/index.mjs +50 -0
  33. package/esm2022/core/pipes/html-bypass.pipe.mjs +27 -0
  34. package/esm2022/core/pipes/resource-bypass.pipe.mjs +27 -0
  35. package/esm2022/core/pipes/script-bypass.pipe.mjs +27 -0
  36. package/esm2022/core/pipes/style-bypass.pipe.mjs +27 -0
  37. package/esm2022/core/pipes/url-bypass.pipe.mjs +27 -0
  38. package/esm2022/core/services/dependency.service.mjs +55 -0
  39. package/esm2022/core/services/dialog.service.mjs +67 -0
  40. package/esm2022/core/services/fetch.service.mjs +74 -0
  41. package/esm2022/core/services/file.service.mjs +42 -0
  42. package/esm2022/core/services/keyboard.service.mjs +128 -0
  43. package/esm2022/core/services/navigation.service.mjs +50 -0
  44. package/esm2022/core/services/theme.service.mjs +64 -0
  45. package/esm2022/core/types/popup.mjs +2 -0
  46. package/esm2022/core/utils/index.mjs +69 -0
  47. package/esm2022/dotglitch-ngx-common.mjs +2 -2
  48. package/esm2022/filemanager/dotglitch-ngx-common-filemanager.mjs +5 -0
  49. package/esm2022/filemanager/file-grid/file-grid.component.mjs +676 -0
  50. package/esm2022/{components/filemanager → filemanager}/filemanager.component.mjs +13 -14
  51. package/esm2022/{components/filemanager → filemanager}/folder-rename/folder-rename.component.mjs +2 -2
  52. package/esm2022/filemanager/helpers.mjs +26 -0
  53. package/esm2022/filemanager/icon-resolver.mjs +155 -0
  54. package/esm2022/filemanager/index.mjs +2 -0
  55. package/esm2022/filemanager/mat-icons.mjs +5705 -0
  56. package/esm2022/filemanager/textextensions.mjs +294 -0
  57. package/esm2022/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.mjs +1 -1
  58. package/esm2022/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.mjs +1 -1
  59. package/esm2022/filemanager/toolbar/toolbar.component.mjs +165 -0
  60. package/esm2022/{components/filemanager → filemanager}/tree-view/tree-view.component.mjs +1 -1
  61. package/esm2022/filemanager/types.mjs +2 -0
  62. package/esm2022/index.mjs +3 -0
  63. package/esm2022/monaco-editor/dotglitch-ngx-common-monaco-editor.mjs +5 -0
  64. package/esm2022/monaco-editor/index.mjs +2 -0
  65. package/esm2022/monaco-editor/monaco-editor.component.mjs +234 -0
  66. package/esm2022/monaco-editor/ts-type-resolver/dependency-parser.mjs +91 -0
  67. package/esm2022/monaco-editor/ts-type-resolver/dummy-source-cache.mjs +15 -0
  68. package/esm2022/monaco-editor/ts-type-resolver/import-resolver.mjs +311 -0
  69. package/esm2022/monaco-editor/ts-type-resolver/main.mjs +112 -0
  70. package/esm2022/monaco-editor/ts-type-resolver/recursion-depth.mjs +21 -0
  71. package/esm2022/monaco-editor/ts-type-resolver/types.mjs +14 -0
  72. package/esm2022/monaco-editor/ts-type-resolver/unpkg-source-resolver.mjs +21 -0
  73. package/esm2022/monaco-editor/ts-type-resolver/update-emitter.mjs +37 -0
  74. package/esm2022/overlay-wrapper/dotglitch-ngx-common-overlay-wrapper.mjs +5 -0
  75. package/esm2022/overlay-wrapper/index.mjs +2 -0
  76. package/esm2022/overlay-wrapper/overlay-wrapper.component.mjs +247 -0
  77. package/esm2022/tooltip/dotglitch-ngx-common-tooltip.mjs +5 -0
  78. package/esm2022/tooltip/index.mjs +4 -0
  79. package/esm2022/tooltip/tooltip.component.mjs +204 -0
  80. package/esm2022/tooltip/tooltip.directive.mjs +153 -0
  81. package/esm2022/tooltip/types.mjs +2 -0
  82. package/fesm2022/dotglitch-ngx-common-command-palette.mjs +508 -0
  83. package/fesm2022/dotglitch-ngx-common-command-palette.mjs.map +1 -0
  84. package/fesm2022/dotglitch-ngx-common-core.mjs +2280 -0
  85. package/fesm2022/dotglitch-ngx-common-core.mjs.map +1 -0
  86. package/fesm2022/{dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs → dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs} +9 -30
  87. package/fesm2022/dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs.map +1 -0
  88. package/fesm2022/dotglitch-ngx-common-filemanager.mjs +7403 -0
  89. package/fesm2022/dotglitch-ngx-common-filemanager.mjs.map +1 -0
  90. package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs +850 -0
  91. package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs.map +1 -0
  92. package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs +254 -0
  93. package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs.map +1 -0
  94. package/fesm2022/dotglitch-ngx-common-tooltip.mjs +357 -0
  95. package/fesm2022/dotglitch-ngx-common-tooltip.mjs.map +1 -0
  96. package/fesm2022/dotglitch-ngx-common.mjs +3 -11686
  97. package/fesm2022/dotglitch-ngx-common.mjs.map +1 -1
  98. package/{components/filemanager → filemanager}/file-grid/file-grid.component.d.ts +7 -14
  99. package/{components/filemanager → filemanager}/filemanager.component.d.ts +4 -5
  100. package/{components/filemanager → filemanager}/folder-rename/folder-rename.component.d.ts +1 -1
  101. package/{components/filemanager → filemanager}/helpers.d.ts +1 -1
  102. package/filemanager/index.d.ts +1 -0
  103. package/{components/filemanager → filemanager}/toolbar/toolbar.component.d.ts +2 -2
  104. package/filemanager/types.d.ts +1 -0
  105. package/index.d.ts +1 -5
  106. package/monaco-editor/README.md +3 -0
  107. package/monaco-editor/index.d.ts +1 -0
  108. package/monaco-editor/monaco-editor.component.d.ts +53 -0
  109. package/overlay-wrapper/index.d.ts +1 -0
  110. package/overlay-wrapper/overlay-wrapper.component.d.ts +11 -0
  111. package/package.json +108 -47
  112. package/tooltip/index.d.ts +3 -0
  113. package/{components/tooltip → tooltip}/tooltip.component.d.ts +3 -3
  114. package/{directives → tooltip}/tooltip.directive.d.ts +2 -2
  115. package/{types/tooltip.d.ts → tooltip/types.d.ts} +1 -1
  116. package/assets/lib/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  117. package/assets/lib/vs/base/common/worker/simpleWorker.nls.de.js +0 -8
  118. package/assets/lib/vs/base/common/worker/simpleWorker.nls.es.js +0 -8
  119. package/assets/lib/vs/base/common/worker/simpleWorker.nls.fr.js +0 -8
  120. package/assets/lib/vs/base/common/worker/simpleWorker.nls.it.js +0 -8
  121. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ja.js +0 -8
  122. package/assets/lib/vs/base/common/worker/simpleWorker.nls.js +0 -8
  123. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ko.js +0 -8
  124. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ru.js +0 -8
  125. package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-cn.js +0 -8
  126. package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-tw.js +0 -8
  127. package/assets/lib/vs/base/worker/workerMain.js +0 -24
  128. package/assets/lib/vs/basic-languages/abap/abap.js +0 -10
  129. package/assets/lib/vs/basic-languages/apex/apex.js +0 -10
  130. package/assets/lib/vs/basic-languages/azcli/azcli.js +0 -10
  131. package/assets/lib/vs/basic-languages/bat/bat.js +0 -10
  132. package/assets/lib/vs/basic-languages/bicep/bicep.js +0 -11
  133. package/assets/lib/vs/basic-languages/cameligo/cameligo.js +0 -10
  134. package/assets/lib/vs/basic-languages/clojure/clojure.js +0 -10
  135. package/assets/lib/vs/basic-languages/coffee/coffee.js +0 -10
  136. package/assets/lib/vs/basic-languages/cpp/cpp.js +0 -10
  137. package/assets/lib/vs/basic-languages/csharp/csharp.js +0 -10
  138. package/assets/lib/vs/basic-languages/csp/csp.js +0 -10
  139. package/assets/lib/vs/basic-languages/css/css.js +0 -12
  140. package/assets/lib/vs/basic-languages/cypher/cypher.js +0 -10
  141. package/assets/lib/vs/basic-languages/dart/dart.js +0 -10
  142. package/assets/lib/vs/basic-languages/dockerfile/dockerfile.js +0 -10
  143. package/assets/lib/vs/basic-languages/ecl/ecl.js +0 -10
  144. package/assets/lib/vs/basic-languages/elixir/elixir.js +0 -10
  145. package/assets/lib/vs/basic-languages/flow9/flow9.js +0 -10
  146. package/assets/lib/vs/basic-languages/freemarker2/freemarker2.js +0 -12
  147. package/assets/lib/vs/basic-languages/fsharp/fsharp.js +0 -10
  148. package/assets/lib/vs/basic-languages/go/go.js +0 -10
  149. package/assets/lib/vs/basic-languages/graphql/graphql.js +0 -10
  150. package/assets/lib/vs/basic-languages/handlebars/handlebars.js +0 -10
  151. package/assets/lib/vs/basic-languages/hcl/hcl.js +0 -10
  152. package/assets/lib/vs/basic-languages/html/html.js +0 -10
  153. package/assets/lib/vs/basic-languages/ini/ini.js +0 -10
  154. package/assets/lib/vs/basic-languages/java/java.js +0 -10
  155. package/assets/lib/vs/basic-languages/javascript/javascript.js +0 -10
  156. package/assets/lib/vs/basic-languages/julia/julia.js +0 -10
  157. package/assets/lib/vs/basic-languages/kotlin/kotlin.js +0 -10
  158. package/assets/lib/vs/basic-languages/less/less.js +0 -11
  159. package/assets/lib/vs/basic-languages/lexon/lexon.js +0 -10
  160. package/assets/lib/vs/basic-languages/liquid/liquid.js +0 -10
  161. package/assets/lib/vs/basic-languages/lua/lua.js +0 -10
  162. package/assets/lib/vs/basic-languages/m3/m3.js +0 -10
  163. package/assets/lib/vs/basic-languages/markdown/markdown.js +0 -10
  164. package/assets/lib/vs/basic-languages/mips/mips.js +0 -10
  165. package/assets/lib/vs/basic-languages/msdax/msdax.js +0 -10
  166. package/assets/lib/vs/basic-languages/mysql/mysql.js +0 -10
  167. package/assets/lib/vs/basic-languages/objective-c/objective-c.js +0 -10
  168. package/assets/lib/vs/basic-languages/pascal/pascal.js +0 -10
  169. package/assets/lib/vs/basic-languages/pascaligo/pascaligo.js +0 -10
  170. package/assets/lib/vs/basic-languages/perl/perl.js +0 -10
  171. package/assets/lib/vs/basic-languages/pgsql/pgsql.js +0 -10
  172. package/assets/lib/vs/basic-languages/php/php.js +0 -10
  173. package/assets/lib/vs/basic-languages/pla/pla.js +0 -10
  174. package/assets/lib/vs/basic-languages/postiats/postiats.js +0 -10
  175. package/assets/lib/vs/basic-languages/powerquery/powerquery.js +0 -10
  176. package/assets/lib/vs/basic-languages/powershell/powershell.js +0 -10
  177. package/assets/lib/vs/basic-languages/protobuf/protobuf.js +0 -11
  178. package/assets/lib/vs/basic-languages/pug/pug.js +0 -10
  179. package/assets/lib/vs/basic-languages/python/python.js +0 -10
  180. package/assets/lib/vs/basic-languages/qsharp/qsharp.js +0 -10
  181. package/assets/lib/vs/basic-languages/r/r.js +0 -10
  182. package/assets/lib/vs/basic-languages/razor/razor.js +0 -10
  183. package/assets/lib/vs/basic-languages/redis/redis.js +0 -10
  184. package/assets/lib/vs/basic-languages/redshift/redshift.js +0 -10
  185. package/assets/lib/vs/basic-languages/restructuredtext/restructuredtext.js +0 -10
  186. package/assets/lib/vs/basic-languages/ruby/ruby.js +0 -10
  187. package/assets/lib/vs/basic-languages/rust/rust.js +0 -10
  188. package/assets/lib/vs/basic-languages/sb/sb.js +0 -10
  189. package/assets/lib/vs/basic-languages/scala/scala.js +0 -10
  190. package/assets/lib/vs/basic-languages/scheme/scheme.js +0 -10
  191. package/assets/lib/vs/basic-languages/scss/scss.js +0 -12
  192. package/assets/lib/vs/basic-languages/shell/shell.js +0 -10
  193. package/assets/lib/vs/basic-languages/solidity/solidity.js +0 -10
  194. package/assets/lib/vs/basic-languages/sophia/sophia.js +0 -10
  195. package/assets/lib/vs/basic-languages/sparql/sparql.js +0 -10
  196. package/assets/lib/vs/basic-languages/sql/sql.js +0 -10
  197. package/assets/lib/vs/basic-languages/st/st.js +0 -10
  198. package/assets/lib/vs/basic-languages/swift/swift.js +0 -13
  199. package/assets/lib/vs/basic-languages/systemverilog/systemverilog.js +0 -10
  200. package/assets/lib/vs/basic-languages/tcl/tcl.js +0 -10
  201. package/assets/lib/vs/basic-languages/twig/twig.js +0 -10
  202. package/assets/lib/vs/basic-languages/typescript/typescript.js +0 -10
  203. package/assets/lib/vs/basic-languages/vb/vb.js +0 -10
  204. package/assets/lib/vs/basic-languages/wgsl/wgsl.js +0 -307
  205. package/assets/lib/vs/basic-languages/xml/xml.js +0 -10
  206. package/assets/lib/vs/basic-languages/yaml/yaml.js +0 -10
  207. package/assets/lib/vs/editor/editor.main.css +0 -6
  208. package/assets/lib/vs/editor/editor.main.js +0 -752
  209. package/assets/lib/vs/editor/editor.main.nls.de.js +0 -31
  210. package/assets/lib/vs/editor/editor.main.nls.es.js +0 -31
  211. package/assets/lib/vs/editor/editor.main.nls.fr.js +0 -29
  212. package/assets/lib/vs/editor/editor.main.nls.it.js +0 -29
  213. package/assets/lib/vs/editor/editor.main.nls.ja.js +0 -31
  214. package/assets/lib/vs/editor/editor.main.nls.js +0 -29
  215. package/assets/lib/vs/editor/editor.main.nls.ko.js +0 -29
  216. package/assets/lib/vs/editor/editor.main.nls.ru.js +0 -31
  217. package/assets/lib/vs/editor/editor.main.nls.zh-cn.js +0 -31
  218. package/assets/lib/vs/editor/editor.main.nls.zh-tw.js +0 -29
  219. package/assets/lib/vs/language/css/cssMode.js +0 -13
  220. package/assets/lib/vs/language/css/cssWorker.js +0 -81
  221. package/assets/lib/vs/language/html/htmlMode.js +0 -13
  222. package/assets/lib/vs/language/html/htmlWorker.js +0 -453
  223. package/assets/lib/vs/language/json/jsonMode.js +0 -15
  224. package/assets/lib/vs/language/json/jsonWorker.js +0 -36
  225. package/assets/lib/vs/language/typescript/tsMode.js +0 -20
  226. package/assets/lib/vs/language/typescript/tsWorker.js +0 -37016
  227. package/assets/lib/vs/loader.js +0 -11
  228. package/assets/mat-icons.ts +0 -5704
  229. package/assets/material/3d.svg +0 -1
  230. package/assets/material/abc.svg +0 -1
  231. package/assets/material/actionscript.svg +0 -1
  232. package/assets/material/ada.svg +0 -1
  233. package/assets/material/adonis.svg +0 -1
  234. package/assets/material/advpl_include.svg +0 -1
  235. package/assets/material/advpl_prw.svg +0 -1
  236. package/assets/material/advpl_ptm.svg +0 -1
  237. package/assets/material/advpl_tlpp.svg +0 -1
  238. package/assets/material/android.svg +0 -1
  239. package/assets/material/angular-component.svg +0 -1
  240. package/assets/material/angular-directive.svg +0 -1
  241. package/assets/material/angular-guard.svg +0 -1
  242. package/assets/material/angular-pipe.svg +0 -1
  243. package/assets/material/angular-resolver.svg +0 -1
  244. package/assets/material/angular-service.svg +0 -1
  245. package/assets/material/angular.svg +0 -1
  246. package/assets/material/antlr.svg +0 -1
  247. package/assets/material/apiblueprint.svg +0 -1
  248. package/assets/material/apollo.svg +0 -1
  249. package/assets/material/applescript.svg +0 -1
  250. package/assets/material/appveyor.svg +0 -1
  251. package/assets/material/architecture.svg +0 -1
  252. package/assets/material/arduino.svg +0 -1
  253. package/assets/material/asciidoc.svg +0 -1
  254. package/assets/material/assembly.svg +0 -1
  255. package/assets/material/astro.svg +0 -1
  256. package/assets/material/astyle.svg +0 -1
  257. package/assets/material/audio.svg +0 -1
  258. package/assets/material/aurelia.svg +0 -1
  259. package/assets/material/authors.svg +0 -1
  260. package/assets/material/auto.svg +0 -1
  261. package/assets/material/auto_light.svg +0 -1
  262. package/assets/material/autohotkey.svg +0 -1
  263. package/assets/material/autoit.svg +0 -1
  264. package/assets/material/azure-pipelines.svg +0 -1
  265. package/assets/material/azure.svg +0 -1
  266. package/assets/material/babel.svg +0 -1
  267. package/assets/material/ballerina.svg +0 -1
  268. package/assets/material/bazel.svg +0 -1
  269. package/assets/material/bicep.svg +0 -1
  270. package/assets/material/bitbucket.svg +0 -13
  271. package/assets/material/bithound.svg +0 -1
  272. package/assets/material/blink.svg +0 -1
  273. package/assets/material/blink_light.svg +0 -1
  274. package/assets/material/blitz.svg +0 -1
  275. package/assets/material/bower.svg +0 -1
  276. package/assets/material/brainfuck.svg +0 -1
  277. package/assets/material/browserlist.svg +0 -1
  278. package/assets/material/browserlist_light.svg +0 -1
  279. package/assets/material/buck.svg +0 -1
  280. package/assets/material/bucklescript.svg +0 -1
  281. package/assets/material/buildkite.svg +0 -1
  282. package/assets/material/bun.svg +0 -2
  283. package/assets/material/bun_light.svg +0 -2
  284. package/assets/material/c.svg +0 -4
  285. package/assets/material/cabal.svg +0 -1
  286. package/assets/material/caddy.svg +0 -1
  287. package/assets/material/cadence.svg +0 -1
  288. package/assets/material/cake.svg +0 -1
  289. package/assets/material/capacitor.svg +0 -1
  290. package/assets/material/certificate.svg +0 -1
  291. package/assets/material/changelog.svg +0 -1
  292. package/assets/material/chess.svg +0 -1
  293. package/assets/material/chess_light.svg +0 -1
  294. package/assets/material/circleci.svg +0 -1
  295. package/assets/material/circleci_light.svg +0 -1
  296. package/assets/material/clojure.svg +0 -1
  297. package/assets/material/cloudfoundry.svg +0 -1
  298. package/assets/material/cmake.svg +0 -1
  299. package/assets/material/coala.svg +0 -1
  300. package/assets/material/cobol.svg +0 -1
  301. package/assets/material/coconut.svg +0 -1
  302. package/assets/material/code-climate.svg +0 -1
  303. package/assets/material/code-climate_light.svg +0 -1
  304. package/assets/material/codecov.svg +0 -1
  305. package/assets/material/codeowners.svg +0 -1
  306. package/assets/material/coffee.svg +0 -1
  307. package/assets/material/coldfusion.svg +0 -1
  308. package/assets/material/command.svg +0 -1
  309. package/assets/material/commitlint.svg +0 -1
  310. package/assets/material/conduct.svg +0 -1
  311. package/assets/material/console.svg +0 -1
  312. package/assets/material/contributing.svg +0 -1
  313. package/assets/material/cpp.svg +0 -4
  314. package/assets/material/craco.svg +0 -45
  315. package/assets/material/credits.svg +0 -1
  316. package/assets/material/crystal.svg +0 -1
  317. package/assets/material/crystal_light.svg +0 -1
  318. package/assets/material/csharp.svg +0 -4
  319. package/assets/material/css-map.svg +0 -1
  320. package/assets/material/css.svg +0 -1
  321. package/assets/material/cucumber.svg +0 -1
  322. package/assets/material/cuda.svg +0 -1
  323. package/assets/material/cypress.svg +0 -1
  324. package/assets/material/d.svg +0 -1
  325. package/assets/material/dart.svg +0 -1
  326. package/assets/material/dart_generated.svg +0 -1
  327. package/assets/material/database.svg +0 -1
  328. package/assets/material/denizenscript.svg +0 -1
  329. package/assets/material/deno.svg +0 -1
  330. package/assets/material/deno_light.svg +0 -1
  331. package/assets/material/dependabot.svg +0 -1
  332. package/assets/material/dhall.svg +0 -1
  333. package/assets/material/diff.svg +0 -1
  334. package/assets/material/dinophp.svg +0 -1
  335. package/assets/material/disc.svg +0 -1
  336. package/assets/material/django.svg +0 -1
  337. package/assets/material/docker.svg +0 -1
  338. package/assets/material/document.svg +0 -1
  339. package/assets/material/dotjs.svg +0 -1
  340. package/assets/material/drawio.svg +0 -1
  341. package/assets/material/drone.svg +0 -1
  342. package/assets/material/drone_light.svg +0 -1
  343. package/assets/material/dune.svg +0 -1
  344. package/assets/material/edge.svg +0 -1
  345. package/assets/material/editorconfig.svg +0 -1
  346. package/assets/material/ejs.svg +0 -1
  347. package/assets/material/elixir.svg +0 -1
  348. package/assets/material/elm.svg +0 -1
  349. package/assets/material/email.svg +0 -1
  350. package/assets/material/ember.svg +0 -1
  351. package/assets/material/erlang.svg +0 -1
  352. package/assets/material/eslint.svg +0 -1
  353. package/assets/material/exe.svg +0 -1
  354. package/assets/material/fastlane.svg +0 -1
  355. package/assets/material/favicon.svg +0 -1
  356. package/assets/material/figma.svg +0 -1
  357. package/assets/material/file.svg +0 -1
  358. package/assets/material/firebase.svg +0 -1
  359. package/assets/material/flash.svg +0 -1
  360. package/assets/material/flow.svg +0 -1
  361. package/assets/material/folder-admin-open.svg +0 -1
  362. package/assets/material/folder-admin.svg +0 -1
  363. package/assets/material/folder-android-open.svg +0 -1
  364. package/assets/material/folder-android.svg +0 -1
  365. package/assets/material/folder-angular-open.svg +0 -1
  366. package/assets/material/folder-angular.svg +0 -1
  367. package/assets/material/folder-animation-open.svg +0 -1
  368. package/assets/material/folder-animation.svg +0 -1
  369. package/assets/material/folder-ansible-open.svg +0 -1
  370. package/assets/material/folder-ansible.svg +0 -1
  371. package/assets/material/folder-api-open.svg +0 -1
  372. package/assets/material/folder-api.svg +0 -1
  373. package/assets/material/folder-apollo-open.svg +0 -1
  374. package/assets/material/folder-apollo.svg +0 -1
  375. package/assets/material/folder-app-open.svg +0 -1
  376. package/assets/material/folder-app.svg +0 -1
  377. package/assets/material/folder-archive-open.svg +0 -1
  378. package/assets/material/folder-archive.svg +0 -1
  379. package/assets/material/folder-audio-open.svg +0 -1
  380. package/assets/material/folder-audio.svg +0 -1
  381. package/assets/material/folder-aurelia-open.svg +0 -1
  382. package/assets/material/folder-aurelia.svg +0 -1
  383. package/assets/material/folder-aws-open.svg +0 -1
  384. package/assets/material/folder-aws.svg +0 -1
  385. package/assets/material/folder-azure-pipelines-open.svg +0 -1
  386. package/assets/material/folder-azure-pipelines.svg +0 -1
  387. package/assets/material/folder-base-open.svg +0 -1
  388. package/assets/material/folder-base.svg +0 -1
  389. package/assets/material/folder-batch-open.svg +0 -1
  390. package/assets/material/folder-batch.svg +0 -1
  391. package/assets/material/folder-benchmark-open.svg +0 -1
  392. package/assets/material/folder-benchmark.svg +0 -1
  393. package/assets/material/folder-bower-open.svg +0 -1
  394. package/assets/material/folder-bower.svg +0 -1
  395. package/assets/material/folder-buildkite-open.svg +0 -1
  396. package/assets/material/folder-buildkite.svg +0 -1
  397. package/assets/material/folder-cart-open.svg +0 -1
  398. package/assets/material/folder-cart.svg +0 -1
  399. package/assets/material/folder-changesets-open.svg +0 -5
  400. package/assets/material/folder-changesets.svg +0 -2
  401. package/assets/material/folder-ci-open.svg +0 -1
  402. package/assets/material/folder-ci.svg +0 -1
  403. package/assets/material/folder-circleci-open.svg +0 -1
  404. package/assets/material/folder-circleci.svg +0 -1
  405. package/assets/material/folder-class-open.svg +0 -1
  406. package/assets/material/folder-class.svg +0 -1
  407. package/assets/material/folder-client-open.svg +0 -1
  408. package/assets/material/folder-client.svg +0 -1
  409. package/assets/material/folder-cluster-open.svg +0 -1
  410. package/assets/material/folder-cluster.svg +0 -1
  411. package/assets/material/folder-cobol-open.svg +0 -1
  412. package/assets/material/folder-cobol.svg +0 -1
  413. package/assets/material/folder-command-open.svg +0 -1
  414. package/assets/material/folder-command.svg +0 -1
  415. package/assets/material/folder-components-open.svg +0 -1
  416. package/assets/material/folder-components.svg +0 -1
  417. package/assets/material/folder-config-open.svg +0 -1
  418. package/assets/material/folder-config.svg +0 -1
  419. package/assets/material/folder-connection-open.svg +0 -1
  420. package/assets/material/folder-connection.svg +0 -1
  421. package/assets/material/folder-constant-open.svg +0 -1
  422. package/assets/material/folder-constant.svg +0 -1
  423. package/assets/material/folder-container-open.svg +0 -1
  424. package/assets/material/folder-container.svg +0 -1
  425. package/assets/material/folder-content-open.svg +0 -1
  426. package/assets/material/folder-content.svg +0 -1
  427. package/assets/material/folder-context-open.svg +0 -1
  428. package/assets/material/folder-context.svg +0 -1
  429. package/assets/material/folder-contract-open.svg +0 -1
  430. package/assets/material/folder-contract.svg +0 -1
  431. package/assets/material/folder-controller-open.svg +0 -1
  432. package/assets/material/folder-controller.svg +0 -1
  433. package/assets/material/folder-core-open.svg +0 -1
  434. package/assets/material/folder-core.svg +0 -1
  435. package/assets/material/folder-coverage-open.svg +0 -1
  436. package/assets/material/folder-coverage.svg +0 -1
  437. package/assets/material/folder-css-open.svg +0 -1
  438. package/assets/material/folder-css.svg +0 -1
  439. package/assets/material/folder-custom-open.svg +0 -1
  440. package/assets/material/folder-custom.svg +0 -1
  441. package/assets/material/folder-cypress-open.svg +0 -1
  442. package/assets/material/folder-cypress.svg +0 -1
  443. package/assets/material/folder-database-open.svg +0 -1
  444. package/assets/material/folder-database.svg +0 -1
  445. package/assets/material/folder-debug-open.svg +0 -1
  446. package/assets/material/folder-debug.svg +0 -1
  447. package/assets/material/folder-decorators-open.svg +0 -2
  448. package/assets/material/folder-decorators.svg +0 -5
  449. package/assets/material/folder-delta-open.svg +0 -1
  450. package/assets/material/folder-delta.svg +0 -1
  451. package/assets/material/folder-dist-open.svg +0 -1
  452. package/assets/material/folder-dist.svg +0 -1
  453. package/assets/material/folder-docker-open.svg +0 -1
  454. package/assets/material/folder-docker.svg +0 -1
  455. package/assets/material/folder-docs-open.svg +0 -1
  456. package/assets/material/folder-docs.svg +0 -1
  457. package/assets/material/folder-download-open.svg +0 -1
  458. package/assets/material/folder-download.svg +0 -1
  459. package/assets/material/folder-dump-open.svg +0 -1
  460. package/assets/material/folder-dump.svg +0 -1
  461. package/assets/material/folder-environment-open.svg +0 -1
  462. package/assets/material/folder-environment.svg +0 -1
  463. package/assets/material/folder-error-open.svg +0 -1
  464. package/assets/material/folder-error.svg +0 -1
  465. package/assets/material/folder-event-open.svg +0 -1
  466. package/assets/material/folder-event.svg +0 -1
  467. package/assets/material/folder-examples-open.svg +0 -1
  468. package/assets/material/folder-examples.svg +0 -1
  469. package/assets/material/folder-expo-open.svg +0 -1
  470. package/assets/material/folder-expo.svg +0 -1
  471. package/assets/material/folder-export-open.svg +0 -1
  472. package/assets/material/folder-export.svg +0 -1
  473. package/assets/material/folder-fastlane-open.svg +0 -1
  474. package/assets/material/folder-fastlane.svg +0 -1
  475. package/assets/material/folder-firebase-open.svg +0 -1
  476. package/assets/material/folder-firebase.svg +0 -1
  477. package/assets/material/folder-flow-open.svg +0 -1
  478. package/assets/material/folder-flow.svg +0 -1
  479. package/assets/material/folder-font-open.svg +0 -1
  480. package/assets/material/folder-font.svg +0 -1
  481. package/assets/material/folder-functions-open.svg +0 -1
  482. package/assets/material/folder-functions.svg +0 -1
  483. package/assets/material/folder-gamemaker-open.svg +0 -2
  484. package/assets/material/folder-gamemaker.svg +0 -2
  485. package/assets/material/folder-generator-open.svg +0 -1
  486. package/assets/material/folder-generator.svg +0 -1
  487. package/assets/material/folder-git-open.svg +0 -1
  488. package/assets/material/folder-git.svg +0 -1
  489. package/assets/material/folder-github-open.svg +0 -1
  490. package/assets/material/folder-github.svg +0 -1
  491. package/assets/material/folder-gitlab-open.svg +0 -1
  492. package/assets/material/folder-gitlab.svg +0 -1
  493. package/assets/material/folder-global-open.svg +0 -1
  494. package/assets/material/folder-global.svg +0 -1
  495. package/assets/material/folder-godot-open.svg +0 -2
  496. package/assets/material/folder-godot.svg +0 -8
  497. package/assets/material/folder-gradle-open.svg +0 -1
  498. package/assets/material/folder-gradle.svg +0 -1
  499. package/assets/material/folder-graphql-open.svg +0 -1
  500. package/assets/material/folder-graphql.svg +0 -1
  501. package/assets/material/folder-guard-open.svg +0 -1
  502. package/assets/material/folder-guard.svg +0 -1
  503. package/assets/material/folder-gulp-open.svg +0 -1
  504. package/assets/material/folder-gulp.svg +0 -1
  505. package/assets/material/folder-helper-open.svg +0 -1
  506. package/assets/material/folder-helper.svg +0 -1
  507. package/assets/material/folder-home-open.svg +0 -1
  508. package/assets/material/folder-home.svg +0 -1
  509. package/assets/material/folder-hook-open.svg +0 -1
  510. package/assets/material/folder-hook.svg +0 -1
  511. package/assets/material/folder-husky-open.svg +0 -1
  512. package/assets/material/folder-husky.svg +0 -1
  513. package/assets/material/folder-i18n-open.svg +0 -1
  514. package/assets/material/folder-i18n.svg +0 -1
  515. package/assets/material/folder-images-open.svg +0 -1
  516. package/assets/material/folder-images.svg +0 -1
  517. package/assets/material/folder-import-open.svg +0 -1
  518. package/assets/material/folder-import.svg +0 -1
  519. package/assets/material/folder-include-open.svg +0 -1
  520. package/assets/material/folder-include.svg +0 -1
  521. package/assets/material/folder-intellij-open.svg +0 -1
  522. package/assets/material/folder-intellij-open_light.svg +0 -1
  523. package/assets/material/folder-intellij.svg +0 -1
  524. package/assets/material/folder-intellij_light.svg +0 -1
  525. package/assets/material/folder-interface-open.svg +0 -1
  526. package/assets/material/folder-interface.svg +0 -1
  527. package/assets/material/folder-ios-open.svg +0 -1
  528. package/assets/material/folder-ios.svg +0 -1
  529. package/assets/material/folder-java-open.svg +0 -1
  530. package/assets/material/folder-java.svg +0 -1
  531. package/assets/material/folder-javascript-open.svg +0 -1
  532. package/assets/material/folder-javascript.svg +0 -1
  533. package/assets/material/folder-jinja-open.svg +0 -1
  534. package/assets/material/folder-jinja-open_light.svg +0 -1
  535. package/assets/material/folder-jinja.svg +0 -1
  536. package/assets/material/folder-jinja_light.svg +0 -1
  537. package/assets/material/folder-job-open.svg +0 -1
  538. package/assets/material/folder-job.svg +0 -1
  539. package/assets/material/folder-json-open.svg +0 -1
  540. package/assets/material/folder-json.svg +0 -1
  541. package/assets/material/folder-keys-open.svg +0 -1
  542. package/assets/material/folder-keys.svg +0 -1
  543. package/assets/material/folder-kubernetes-open.svg +0 -1
  544. package/assets/material/folder-kubernetes.svg +0 -1
  545. package/assets/material/folder-layout-open.svg +0 -1
  546. package/assets/material/folder-layout.svg +0 -1
  547. package/assets/material/folder-less-open.svg +0 -1
  548. package/assets/material/folder-less.svg +0 -1
  549. package/assets/material/folder-lib-open.svg +0 -1
  550. package/assets/material/folder-lib.svg +0 -1
  551. package/assets/material/folder-log-open.svg +0 -1
  552. package/assets/material/folder-log.svg +0 -1
  553. package/assets/material/folder-lua-open.svg +0 -1
  554. package/assets/material/folder-lua.svg +0 -1
  555. package/assets/material/folder-mail-open.svg +0 -1
  556. package/assets/material/folder-mail.svg +0 -1
  557. package/assets/material/folder-mappings-open.svg +0 -1
  558. package/assets/material/folder-mappings.svg +0 -1
  559. package/assets/material/folder-markdown-open.svg +0 -1
  560. package/assets/material/folder-markdown.svg +0 -1
  561. package/assets/material/folder-mercurial-open.svg +0 -5
  562. package/assets/material/folder-mercurial.svg +0 -2
  563. package/assets/material/folder-messages-open.svg +0 -1
  564. package/assets/material/folder-messages.svg +0 -1
  565. package/assets/material/folder-meta-open.svg +0 -1
  566. package/assets/material/folder-meta.svg +0 -1
  567. package/assets/material/folder-middleware-open.svg +0 -1
  568. package/assets/material/folder-middleware.svg +0 -1
  569. package/assets/material/folder-mjml-open.svg +0 -1
  570. package/assets/material/folder-mjml.svg +0 -1
  571. package/assets/material/folder-mobile-open.svg +0 -1
  572. package/assets/material/folder-mobile.svg +0 -1
  573. package/assets/material/folder-mock-open.svg +0 -1
  574. package/assets/material/folder-mock.svg +0 -1
  575. package/assets/material/folder-netlify-open.svg +0 -5
  576. package/assets/material/folder-netlify.svg +0 -2
  577. package/assets/material/folder-next-open.svg +0 -1
  578. package/assets/material/folder-next.svg +0 -1
  579. package/assets/material/folder-ngrx-actions-open.svg +0 -1
  580. package/assets/material/folder-ngrx-actions.svg +0 -1
  581. package/assets/material/folder-ngrx-effects-open.svg +0 -1
  582. package/assets/material/folder-ngrx-effects.svg +0 -1
  583. package/assets/material/folder-ngrx-entities-open.svg +0 -1
  584. package/assets/material/folder-ngrx-entities.svg +0 -1
  585. package/assets/material/folder-ngrx-reducer-open.svg +0 -1
  586. package/assets/material/folder-ngrx-reducer.svg +0 -1
  587. package/assets/material/folder-ngrx-selectors-open.svg +0 -1
  588. package/assets/material/folder-ngrx-selectors.svg +0 -1
  589. package/assets/material/folder-ngrx-state-open.svg +0 -1
  590. package/assets/material/folder-ngrx-state.svg +0 -1
  591. package/assets/material/folder-ngrx-store-open.svg +0 -1
  592. package/assets/material/folder-ngrx-store.svg +0 -1
  593. package/assets/material/folder-node-open.svg +0 -1
  594. package/assets/material/folder-node.svg +0 -1
  595. package/assets/material/folder-nuxt-open.svg +0 -1
  596. package/assets/material/folder-nuxt.svg +0 -1
  597. package/assets/material/folder-open.svg +0 -1
  598. package/assets/material/folder-other-open.svg +0 -1
  599. package/assets/material/folder-other.svg +0 -1
  600. package/assets/material/folder-packages-open.svg +0 -1
  601. package/assets/material/folder-packages.svg +0 -1
  602. package/assets/material/folder-pdf-open.svg +0 -1
  603. package/assets/material/folder-pdf.svg +0 -1
  604. package/assets/material/folder-php-open.svg +0 -1
  605. package/assets/material/folder-php.svg +0 -1
  606. package/assets/material/folder-phpmailer-open.svg +0 -1
  607. package/assets/material/folder-phpmailer.svg +0 -1
  608. package/assets/material/folder-pipe-open.svg +0 -1
  609. package/assets/material/folder-pipe.svg +0 -1
  610. package/assets/material/folder-plastic-open.svg +0 -8
  611. package/assets/material/folder-plastic.svg +0 -2
  612. package/assets/material/folder-plugin-open.svg +0 -1
  613. package/assets/material/folder-plugin.svg +0 -1
  614. package/assets/material/folder-prisma-open.svg +0 -1
  615. package/assets/material/folder-prisma.svg +0 -1
  616. package/assets/material/folder-private-open.svg +0 -1
  617. package/assets/material/folder-private.svg +0 -1
  618. package/assets/material/folder-project-open.svg +0 -1
  619. package/assets/material/folder-project.svg +0 -1
  620. package/assets/material/folder-proto-open.svg +0 -1
  621. package/assets/material/folder-proto.svg +0 -1
  622. package/assets/material/folder-public-open.svg +0 -1
  623. package/assets/material/folder-public.svg +0 -1
  624. package/assets/material/folder-python-open.svg +0 -1
  625. package/assets/material/folder-python.svg +0 -1
  626. package/assets/material/folder-quasar-open.svg +0 -1
  627. package/assets/material/folder-quasar.svg +0 -1
  628. package/assets/material/folder-queue-open.svg +0 -1
  629. package/assets/material/folder-queue.svg +0 -1
  630. package/assets/material/folder-react-components-open.svg +0 -1
  631. package/assets/material/folder-react-components.svg +0 -1
  632. package/assets/material/folder-redux-actions-open.svg +0 -1
  633. package/assets/material/folder-redux-actions.svg +0 -1
  634. package/assets/material/folder-redux-reducer-open.svg +0 -1
  635. package/assets/material/folder-redux-reducer.svg +0 -1
  636. package/assets/material/folder-redux-selector-open.svg +0 -1
  637. package/assets/material/folder-redux-selector.svg +0 -1
  638. package/assets/material/folder-redux-store-open.svg +0 -1
  639. package/assets/material/folder-redux-store.svg +0 -1
  640. package/assets/material/folder-resolver-open.svg +0 -1
  641. package/assets/material/folder-resolver.svg +0 -1
  642. package/assets/material/folder-resource-open.svg +0 -1
  643. package/assets/material/folder-resource.svg +0 -1
  644. package/assets/material/folder-review-open.svg +0 -1
  645. package/assets/material/folder-review.svg +0 -1
  646. package/assets/material/folder-root-open.svg +0 -1
  647. package/assets/material/folder-root.svg +0 -1
  648. package/assets/material/folder-routes-open.svg +0 -1
  649. package/assets/material/folder-routes.svg +0 -1
  650. package/assets/material/folder-rules-open.svg +0 -1
  651. package/assets/material/folder-rules.svg +0 -1
  652. package/assets/material/folder-sass-open.svg +0 -1
  653. package/assets/material/folder-sass.svg +0 -1
  654. package/assets/material/folder-scala-open.svg +0 -1
  655. package/assets/material/folder-scala.svg +0 -1
  656. package/assets/material/folder-scripts-open.svg +0 -1
  657. package/assets/material/folder-scripts.svg +0 -1
  658. package/assets/material/folder-secure-open.svg +0 -1
  659. package/assets/material/folder-secure.svg +0 -1
  660. package/assets/material/folder-server-open.svg +0 -1
  661. package/assets/material/folder-server.svg +0 -1
  662. package/assets/material/folder-serverless-open.svg +0 -1
  663. package/assets/material/folder-serverless.svg +0 -1
  664. package/assets/material/folder-shader-open.svg +0 -1
  665. package/assets/material/folder-shader.svg +0 -1
  666. package/assets/material/folder-shared-open.svg +0 -1
  667. package/assets/material/folder-shared.svg +0 -1
  668. package/assets/material/folder-src-open.svg +0 -1
  669. package/assets/material/folder-src.svg +0 -1
  670. package/assets/material/folder-stack-open.svg +0 -1
  671. package/assets/material/folder-stack.svg +0 -1
  672. package/assets/material/folder-stencil-open.svg +0 -1
  673. package/assets/material/folder-stencil.svg +0 -1
  674. package/assets/material/folder-storybook-open.svg +0 -1
  675. package/assets/material/folder-storybook.svg +0 -1
  676. package/assets/material/folder-stylus-open.svg +0 -1
  677. package/assets/material/folder-stylus.svg +0 -1
  678. package/assets/material/folder-sublime-open.svg +0 -1
  679. package/assets/material/folder-sublime.svg +0 -1
  680. package/assets/material/folder-supabase-open.svg +0 -5
  681. package/assets/material/folder-supabase.svg +0 -2
  682. package/assets/material/folder-svelte-open.svg +0 -1
  683. package/assets/material/folder-svelte.svg +0 -1
  684. package/assets/material/folder-svg-open.svg +0 -1
  685. package/assets/material/folder-svg.svg +0 -1
  686. package/assets/material/folder-syntax-open.svg +0 -1
  687. package/assets/material/folder-syntax.svg +0 -1
  688. package/assets/material/folder-target-open.svg +0 -1
  689. package/assets/material/folder-target.svg +0 -1
  690. package/assets/material/folder-tasks-open.svg +0 -1
  691. package/assets/material/folder-tasks.svg +0 -1
  692. package/assets/material/folder-temp-open.svg +0 -1
  693. package/assets/material/folder-temp.svg +0 -1
  694. package/assets/material/folder-template-open.svg +0 -1
  695. package/assets/material/folder-template.svg +0 -1
  696. package/assets/material/folder-terraform-open.svg +0 -1
  697. package/assets/material/folder-terraform.svg +0 -1
  698. package/assets/material/folder-test-open.svg +0 -1
  699. package/assets/material/folder-test.svg +0 -1
  700. package/assets/material/folder-theme-open.svg +0 -1
  701. package/assets/material/folder-theme.svg +0 -1
  702. package/assets/material/folder-tools-open.svg +0 -1
  703. package/assets/material/folder-tools.svg +0 -1
  704. package/assets/material/folder-typescript-open.svg +0 -1
  705. package/assets/material/folder-typescript.svg +0 -1
  706. package/assets/material/folder-unity-open.svg +0 -1
  707. package/assets/material/folder-unity.svg +0 -1
  708. package/assets/material/folder-update-open.svg +0 -1
  709. package/assets/material/folder-update.svg +0 -1
  710. package/assets/material/folder-upload-open.svg +0 -1
  711. package/assets/material/folder-upload.svg +0 -1
  712. package/assets/material/folder-utils-open.svg +0 -1
  713. package/assets/material/folder-utils.svg +0 -1
  714. package/assets/material/folder-vercel-open.svg +0 -1
  715. package/assets/material/folder-vercel.svg +0 -1
  716. package/assets/material/folder-verdaccio-open.svg +0 -1
  717. package/assets/material/folder-verdaccio.svg +0 -1
  718. package/assets/material/folder-video-open.svg +0 -1
  719. package/assets/material/folder-video.svg +0 -1
  720. package/assets/material/folder-views-open.svg +0 -1
  721. package/assets/material/folder-views.svg +0 -1
  722. package/assets/material/folder-vm-open.svg +0 -1
  723. package/assets/material/folder-vm.svg +0 -1
  724. package/assets/material/folder-vscode-open.svg +0 -1
  725. package/assets/material/folder-vscode.svg +0 -1
  726. package/assets/material/folder-vue-directives-open.svg +0 -1
  727. package/assets/material/folder-vue-directives.svg +0 -1
  728. package/assets/material/folder-vue-open.svg +0 -1
  729. package/assets/material/folder-vue.svg +0 -1
  730. package/assets/material/folder-vuepress-open.svg +0 -1
  731. package/assets/material/folder-vuepress.svg +0 -1
  732. package/assets/material/folder-vuex-store-open.svg +0 -1
  733. package/assets/material/folder-vuex-store.svg +0 -1
  734. package/assets/material/folder-wakatime-open.svg +0 -1
  735. package/assets/material/folder-wakatime.svg +0 -1
  736. package/assets/material/folder-webpack-open.svg +0 -1
  737. package/assets/material/folder-webpack.svg +0 -1
  738. package/assets/material/folder-wordpress-open.svg +0 -1
  739. package/assets/material/folder-wordpress.svg +0 -1
  740. package/assets/material/folder-yarn-open.svg +0 -1
  741. package/assets/material/folder-yarn.svg +0 -1
  742. package/assets/material/folder.svg +0 -1
  743. package/assets/material/font.svg +0 -1
  744. package/assets/material/forth.svg +0 -1
  745. package/assets/material/fortran.svg +0 -1
  746. package/assets/material/foxpro.svg +0 -1
  747. package/assets/material/fsharp.svg +0 -1
  748. package/assets/material/fusebox.svg +0 -1
  749. package/assets/material/gamemaker.svg +0 -4
  750. package/assets/material/gatsby.svg +0 -1
  751. package/assets/material/gcp.svg +0 -1
  752. package/assets/material/gemfile.svg +0 -1
  753. package/assets/material/gemini.svg +0 -1
  754. package/assets/material/git.svg +0 -1
  755. package/assets/material/gitlab.svg +0 -1
  756. package/assets/material/gitpod.svg +0 -1
  757. package/assets/material/gleam.svg +0 -1
  758. package/assets/material/go-mod.svg +0 -1
  759. package/assets/material/go.svg +0 -1
  760. package/assets/material/go_gopher.svg +0 -1
  761. package/assets/material/godot-assets.svg +0 -7
  762. package/assets/material/godot.svg +0 -7
  763. package/assets/material/gradle.svg +0 -1
  764. package/assets/material/grain.svg +0 -1
  765. package/assets/material/graphcool.svg +0 -1
  766. package/assets/material/graphql.svg +0 -1
  767. package/assets/material/gridsome.svg +0 -1
  768. package/assets/material/groovy.svg +0 -1
  769. package/assets/material/grunt.svg +0 -1
  770. package/assets/material/gulp.svg +0 -1
  771. package/assets/material/h.svg +0 -1
  772. package/assets/material/hack.svg +0 -1
  773. package/assets/material/haml.svg +0 -1
  774. package/assets/material/handlebars.svg +0 -1
  775. package/assets/material/hardhat.svg +0 -1
  776. package/assets/material/haskell.svg +0 -1
  777. package/assets/material/haxe.svg +0 -1
  778. package/assets/material/hcl.svg +0 -1
  779. package/assets/material/hcl_light.svg +0 -1
  780. package/assets/material/helm.svg +0 -1
  781. package/assets/material/heroku.svg +0 -1
  782. package/assets/material/hex.svg +0 -1
  783. package/assets/material/horusec.svg +0 -1
  784. package/assets/material/hpp.svg +0 -1
  785. package/assets/material/html.svg +0 -1
  786. package/assets/material/http.svg +0 -1
  787. package/assets/material/husky.svg +0 -1
  788. package/assets/material/i18n.svg +0 -1
  789. package/assets/material/idris.svg +0 -1
  790. package/assets/material/ifanr-cloud.svg +0 -10
  791. package/assets/material/image.svg +0 -1
  792. package/assets/material/imba.svg +0 -1
  793. package/assets/material/ionic.svg +0 -1
  794. package/assets/material/istanbul.svg +0 -1
  795. package/assets/material/jar.svg +0 -1
  796. package/assets/material/java.svg +0 -1
  797. package/assets/material/javaclass.svg +0 -1
  798. package/assets/material/javascript-map.svg +0 -1
  799. package/assets/material/javascript.svg +0 -1
  800. package/assets/material/jenkins.svg +0 -1
  801. package/assets/material/jest.svg +0 -1
  802. package/assets/material/jinja.svg +0 -1
  803. package/assets/material/jinja_light.svg +0 -1
  804. package/assets/material/jsconfig.svg +0 -1
  805. package/assets/material/json.svg +0 -1
  806. package/assets/material/julia.svg +0 -1
  807. package/assets/material/jupyter.svg +0 -1
  808. package/assets/material/karma.svg +0 -1
  809. package/assets/material/key.svg +0 -1
  810. package/assets/material/kivy.svg +0 -1
  811. package/assets/material/kl.svg +0 -1
  812. package/assets/material/kotlin.svg +0 -1
  813. package/assets/material/kusto.svg +0 -1
  814. package/assets/material/laravel.svg +0 -1
  815. package/assets/material/lerna.svg +0 -1
  816. package/assets/material/less.svg +0 -1
  817. package/assets/material/lib.svg +0 -1
  818. package/assets/material/lighthouse.svg +0 -1
  819. package/assets/material/lilypond.svg +0 -1
  820. package/assets/material/liquid.svg +0 -1
  821. package/assets/material/lisp.svg +0 -1
  822. package/assets/material/livescript.svg +0 -1
  823. package/assets/material/lock.svg +0 -1
  824. package/assets/material/log.svg +0 -1
  825. package/assets/material/lolcode.svg +0 -1
  826. package/assets/material/lua.svg +0 -1
  827. package/assets/material/makefile.svg +0 -1
  828. package/assets/material/markdown.svg +0 -1
  829. package/assets/material/markojs.svg +0 -1
  830. package/assets/material/mathematica.svg +0 -1
  831. package/assets/material/matlab.svg +0 -1
  832. package/assets/material/maven.svg +0 -1
  833. package/assets/material/mdsvex.svg +0 -1
  834. package/assets/material/mdx.svg +0 -1
  835. package/assets/material/mercurial.svg +0 -6
  836. package/assets/material/merlin.svg +0 -1
  837. package/assets/material/mermaid.svg +0 -4
  838. package/assets/material/meson.svg +0 -1
  839. package/assets/material/minecraft.svg +0 -1
  840. package/assets/material/mint.svg +0 -1
  841. package/assets/material/mjml.svg +0 -1
  842. package/assets/material/mocha.svg +0 -1
  843. package/assets/material/modernizr.svg +0 -1
  844. package/assets/material/moonscript.svg +0 -1
  845. package/assets/material/mxml.svg +0 -1
  846. package/assets/material/nano-staged.svg +0 -1
  847. package/assets/material/nano-staged_light.svg +0 -1
  848. package/assets/material/ndst.svg +0 -1
  849. package/assets/material/nest-controller.svg +0 -1
  850. package/assets/material/nest-decorator.svg +0 -1
  851. package/assets/material/nest-filter.svg +0 -1
  852. package/assets/material/nest-gateway.svg +0 -1
  853. package/assets/material/nest-guard.svg +0 -1
  854. package/assets/material/nest-middleware.svg +0 -1
  855. package/assets/material/nest-module.svg +0 -1
  856. package/assets/material/nest-pipe.svg +0 -1
  857. package/assets/material/nest-resolver.svg +0 -1
  858. package/assets/material/nest-service.svg +0 -1
  859. package/assets/material/nest.svg +0 -1
  860. package/assets/material/netlify.svg +0 -7
  861. package/assets/material/netlify_light.svg +0 -7
  862. package/assets/material/next.svg +0 -1
  863. package/assets/material/next_light.svg +0 -1
  864. package/assets/material/nginx.svg +0 -1
  865. package/assets/material/ngrx-actions.svg +0 -1
  866. package/assets/material/ngrx-effects.svg +0 -1
  867. package/assets/material/ngrx-entity.svg +0 -1
  868. package/assets/material/ngrx-reducer.svg +0 -1
  869. package/assets/material/ngrx-selectors.svg +0 -1
  870. package/assets/material/ngrx-state.svg +0 -1
  871. package/assets/material/nim.svg +0 -1
  872. package/assets/material/nix.svg +0 -1
  873. package/assets/material/nodejs.svg +0 -1
  874. package/assets/material/nodejs_alt.svg +0 -1
  875. package/assets/material/nodemon.svg +0 -1
  876. package/assets/material/npm.svg +0 -1
  877. package/assets/material/nrwl.svg +0 -1
  878. package/assets/material/nuget.svg +0 -1
  879. package/assets/material/nunjucks.svg +0 -1
  880. package/assets/material/nuxt.svg +0 -1
  881. package/assets/material/objective-c.svg +0 -4
  882. package/assets/material/objective-cpp.svg +0 -1
  883. package/assets/material/ocaml.svg +0 -1
  884. package/assets/material/odin.svg +0 -1
  885. package/assets/material/opa.svg +0 -1
  886. package/assets/material/opam.svg +0 -1
  887. package/assets/material/otne.svg +0 -1
  888. package/assets/material/parcel.svg +0 -1
  889. package/assets/material/pascal.svg +0 -6
  890. package/assets/material/pawn.svg +0 -1
  891. package/assets/material/pdf.svg +0 -1
  892. package/assets/material/percy.svg +0 -1
  893. package/assets/material/perl.svg +0 -1
  894. package/assets/material/php-cs-fixer.svg +0 -1
  895. package/assets/material/php.svg +0 -1
  896. package/assets/material/php_elephant.svg +0 -1
  897. package/assets/material/php_elephant_pink.svg +0 -1
  898. package/assets/material/phpunit.svg +0 -1
  899. package/assets/material/pinejs.svg +0 -1
  900. package/assets/material/pipeline.svg +0 -1
  901. package/assets/material/plastic.svg +0 -7
  902. package/assets/material/playwright.svg +0 -1
  903. package/assets/material/plop.svg +0 -1
  904. package/assets/material/pnpm.svg +0 -1
  905. package/assets/material/pnpm_light.svg +0 -1
  906. package/assets/material/poetry.svg +0 -1
  907. package/assets/material/postcss.svg +0 -1
  908. package/assets/material/posthtml.svg +0 -1
  909. package/assets/material/powerpoint.svg +0 -1
  910. package/assets/material/powershell.svg +0 -1
  911. package/assets/material/prettier.svg +0 -1
  912. package/assets/material/prisma.svg +0 -1
  913. package/assets/material/processing.svg +0 -1
  914. package/assets/material/prolog.svg +0 -1
  915. package/assets/material/proto.svg +0 -1
  916. package/assets/material/protractor.svg +0 -1
  917. package/assets/material/pug.svg +0 -1
  918. package/assets/material/puppet.svg +0 -1
  919. package/assets/material/purescript.svg +0 -1
  920. package/assets/material/python-misc.svg +0 -1
  921. package/assets/material/python.svg +0 -1
  922. package/assets/material/qsharp.svg +0 -1
  923. package/assets/material/quasar.svg +0 -1
  924. package/assets/material/qwik.svg +0 -2
  925. package/assets/material/r.svg +0 -1
  926. package/assets/material/racket.svg +0 -1
  927. package/assets/material/raml.svg +0 -1
  928. package/assets/material/razor.svg +0 -1
  929. package/assets/material/rc.svg +0 -2
  930. package/assets/material/react.svg +0 -1
  931. package/assets/material/react_ts.svg +0 -1
  932. package/assets/material/readme.svg +0 -1
  933. package/assets/material/reason.svg +0 -1
  934. package/assets/material/red.svg +0 -1
  935. package/assets/material/redux-action.svg +0 -1
  936. package/assets/material/redux-reducer.svg +0 -1
  937. package/assets/material/redux-selector.svg +0 -1
  938. package/assets/material/redux-store.svg +0 -1
  939. package/assets/material/remix.svg +0 -1
  940. package/assets/material/remix_light.svg +0 -1
  941. package/assets/material/renovate.svg +0 -1
  942. package/assets/material/replit.svg +0 -1
  943. package/assets/material/rescript-interface.svg +0 -1
  944. package/assets/material/rescript.svg +0 -1
  945. package/assets/material/restql.svg +0 -1
  946. package/assets/material/riot.svg +0 -1
  947. package/assets/material/roadmap.svg +0 -1
  948. package/assets/material/robot.svg +0 -1
  949. package/assets/material/robots.svg +0 -1
  950. package/assets/material/rollup.svg +0 -1
  951. package/assets/material/rome.svg +0 -1
  952. package/assets/material/routing.svg +0 -1
  953. package/assets/material/rubocop.svg +0 -1
  954. package/assets/material/rubocop_light.svg +0 -1
  955. package/assets/material/ruby.svg +0 -1
  956. package/assets/material/rust.svg +0 -1
  957. package/assets/material/salesforce.svg +0 -1
  958. package/assets/material/san.svg +0 -1
  959. package/assets/material/sas.svg +0 -1
  960. package/assets/material/sass.svg +0 -1
  961. package/assets/material/sbt.svg +0 -1
  962. package/assets/material/scala.svg +0 -1
  963. package/assets/material/scheme.svg +0 -1
  964. package/assets/material/search.svg +0 -1
  965. package/assets/material/semantic-release.svg +0 -1
  966. package/assets/material/semantic-release_light.svg +0 -1
  967. package/assets/material/sentry.svg +0 -1
  968. package/assets/material/sequelize.svg +0 -1
  969. package/assets/material/serverless.svg +0 -1
  970. package/assets/material/settings.svg +0 -1
  971. package/assets/material/shader.svg +0 -1
  972. package/assets/material/shaderlab.svg +0 -1
  973. package/assets/material/silverstripe.svg +0 -1
  974. package/assets/material/siyuan.svg +0 -1
  975. package/assets/material/sketch.svg +0 -1
  976. package/assets/material/slim.svg +0 -1
  977. package/assets/material/slug.svg +0 -1
  978. package/assets/material/smarty.svg +0 -1
  979. package/assets/material/sml.svg +0 -1
  980. package/assets/material/snowpack.svg +0 -1
  981. package/assets/material/snowpack_light.svg +0 -1
  982. package/assets/material/snyk.svg +0 -1
  983. package/assets/material/solidity.svg +0 -1
  984. package/assets/material/sonarcloud.svg +0 -4
  985. package/assets/material/steadybit.svg +0 -1
  986. package/assets/material/stencil.svg +0 -1
  987. package/assets/material/stitches.svg +0 -1
  988. package/assets/material/stitches_light.svg +0 -1
  989. package/assets/material/storybook.svg +0 -1
  990. package/assets/material/stryker.svg +0 -1
  991. package/assets/material/stylable.svg +0 -10
  992. package/assets/material/stylelint.svg +0 -1
  993. package/assets/material/stylelint_light.svg +0 -1
  994. package/assets/material/stylus.svg +0 -1
  995. package/assets/material/sublime.svg +0 -1
  996. package/assets/material/supabase.svg +0 -4
  997. package/assets/material/svelte.svg +0 -1
  998. package/assets/material/svg.svg +0 -1
  999. package/assets/material/svgo.svg +0 -1
  1000. package/assets/material/svgr.svg +0 -1
  1001. package/assets/material/swc.svg +0 -1
  1002. package/assets/material/swift.svg +0 -1
  1003. package/assets/material/table.svg +0 -1
  1004. package/assets/material/tailwindcss.svg +0 -1
  1005. package/assets/material/tauri.svg +0 -1
  1006. package/assets/material/tcl.svg +0 -1
  1007. package/assets/material/teal.svg +0 -1
  1008. package/assets/material/template.svg +0 -1
  1009. package/assets/material/terraform.svg +0 -1
  1010. package/assets/material/test-js.svg +0 -1
  1011. package/assets/material/test-jsx.svg +0 -1
  1012. package/assets/material/test-ts.svg +0 -1
  1013. package/assets/material/tex.svg +0 -1
  1014. package/assets/material/textlint.svg +0 -1
  1015. package/assets/material/tilt.svg +0 -1
  1016. package/assets/material/tldraw.svg +0 -4
  1017. package/assets/material/tldraw_light.svg +0 -4
  1018. package/assets/material/tobi.svg +0 -1
  1019. package/assets/material/tobimake.svg +0 -1
  1020. package/assets/material/todo.svg +0 -1
  1021. package/assets/material/travis.svg +0 -1
  1022. package/assets/material/tree.svg +0 -1
  1023. package/assets/material/tsconfig.svg +0 -1
  1024. package/assets/material/tune.svg +0 -1
  1025. package/assets/material/turborepo.svg +0 -1
  1026. package/assets/material/turborepo_light.svg +0 -1
  1027. package/assets/material/twig.svg +0 -1
  1028. package/assets/material/twine.svg +0 -1
  1029. package/assets/material/typescript-def.svg +0 -1
  1030. package/assets/material/typescript.svg +0 -1
  1031. package/assets/material/typst.svg +0 -2
  1032. package/assets/material/uml.svg +0 -1
  1033. package/assets/material/uml_light.svg +0 -1
  1034. package/assets/material/url.svg +0 -1
  1035. package/assets/material/vagrant.svg +0 -1
  1036. package/assets/material/vala.svg +0 -1
  1037. package/assets/material/velocity.svg +0 -1
  1038. package/assets/material/vercel.svg +0 -1
  1039. package/assets/material/vercel_light.svg +0 -1
  1040. package/assets/material/verdaccio.svg +0 -1
  1041. package/assets/material/verilog.svg +0 -1
  1042. package/assets/material/vfl.svg +0 -1
  1043. package/assets/material/video.svg +0 -1
  1044. package/assets/material/vim.svg +0 -1
  1045. package/assets/material/virtual.svg +0 -1
  1046. package/assets/material/visualstudio.svg +0 -1
  1047. package/assets/material/vite.svg +0 -1
  1048. package/assets/material/vitest.svg +0 -6
  1049. package/assets/material/vlang.svg +0 -1
  1050. package/assets/material/vscode.svg +0 -1
  1051. package/assets/material/vue-config.svg +0 -1
  1052. package/assets/material/vue.svg +0 -1
  1053. package/assets/material/vuex-store.svg +0 -1
  1054. package/assets/material/wakatime.svg +0 -1
  1055. package/assets/material/wakatime_light.svg +0 -1
  1056. package/assets/material/wallaby.svg +0 -1
  1057. package/assets/material/watchman.svg +0 -1
  1058. package/assets/material/webassembly.svg +0 -1
  1059. package/assets/material/webhint.svg +0 -1
  1060. package/assets/material/webpack.svg +0 -1
  1061. package/assets/material/wepy.svg +0 -1
  1062. package/assets/material/windicss.svg +0 -1
  1063. package/assets/material/wolframlanguage.svg +0 -1
  1064. package/assets/material/word.svg +0 -1
  1065. package/assets/material/xaml.svg +0 -1
  1066. package/assets/material/xml.svg +0 -1
  1067. package/assets/material/yaml.svg +0 -1
  1068. package/assets/material/yang.svg +0 -1
  1069. package/assets/material/yarn.svg +0 -1
  1070. package/assets/material/zig.svg +0 -1
  1071. package/assets/material/zip.svg +0 -1
  1072. package/assets/pop/LICENSE +0 -2
  1073. package/assets/pop/binary.svg +0 -1
  1074. package/assets/pop/compressed.svg +0 -1
  1075. package/assets/pop/database.svg +0 -1
  1076. package/assets/pop/exts/7z.svg +0 -1
  1077. package/assets/pop/exts/apk.svg +0 -1
  1078. package/assets/pop/exts/arc.svg +0 -1
  1079. package/assets/pop/exts/bz.svg +0 -1
  1080. package/assets/pop/exts/deb.svg +0 -1
  1081. package/assets/pop/exts/gz.svg +0 -1
  1082. package/assets/pop/exts/pdf.svg +0 -1
  1083. package/assets/pop/exts/rar.svg +0 -1
  1084. package/assets/pop/exts/rpm.svg +0 -1
  1085. package/assets/pop/exts/tar.svg +0 -1
  1086. package/assets/pop/exts/xar.svg +0 -1
  1087. package/assets/pop/exts/xz.svg +0 -1
  1088. package/assets/pop/exts/zip.svg +0 -1
  1089. package/assets/pop/folder-open.svg +0 -1
  1090. package/assets/pop/folder.svg +0 -1
  1091. package/assets/pop/generic.svg +0 -1
  1092. package/assets/pop/presentation.svg +0 -1
  1093. package/assets/pop/richtext.svg +0 -1
  1094. package/assets/pop/spreadsheet.svg +0 -1
  1095. package/assets/pop/text.svg +0 -1
  1096. package/components/dynamic-html/dynamic-html.component.d.ts +0 -15
  1097. package/components/dynamic-html/dynamic-html.module.d.ts +0 -10
  1098. package/components/dynamic-html/dynamic-html.service.d.ts +0 -18
  1099. package/components/dynamic-html/types.d.ts +0 -12
  1100. package/components/tabulator/tabulator.component.d.ts +0 -30
  1101. package/components/vscode/vscode.component.d.ts +0 -52
  1102. package/esm2022/assets/mat-icons.mjs +0 -5705
  1103. package/esm2022/components/command-palette/command-palette.component.mjs +0 -257
  1104. package/esm2022/components/dynamic-html/dynamic-html.component.mjs +0 -43
  1105. package/esm2022/components/dynamic-html/dynamic-html.module.mjs +0 -27
  1106. package/esm2022/components/dynamic-html/dynamic-html.service.mjs +0 -66
  1107. package/esm2022/components/dynamic-html/types.mjs +0 -7
  1108. package/esm2022/components/filemanager/file-grid/file-grid.component.mjs +0 -674
  1109. package/esm2022/components/filemanager/helpers.mjs +0 -26
  1110. package/esm2022/components/filemanager/icon-resolver.mjs +0 -155
  1111. package/esm2022/components/filemanager/textextensions.mjs +0 -294
  1112. package/esm2022/components/filemanager/toolbar/toolbar.component.mjs +0 -165
  1113. package/esm2022/components/lazy-loader/lazy-loader.component.mjs +0 -383
  1114. package/esm2022/components/lazy-loader/lazy-loader.module.mjs +0 -33
  1115. package/esm2022/components/lazy-loader/lazy-loader.service.mjs +0 -217
  1116. package/esm2022/components/lazy-loader/types.mjs +0 -26
  1117. package/esm2022/components/menu/menu.component.mjs +0 -433
  1118. package/esm2022/components/parallax-card/parallax-card.component.mjs +0 -138
  1119. package/esm2022/components/tabulator/tabulator.component.mjs +0 -93
  1120. package/esm2022/components/tooltip/tooltip.component.mjs +0 -205
  1121. package/esm2022/components/types.mjs +0 -3
  1122. package/esm2022/components/vscode/ts-type-resolver/dependency-parser.mjs +0 -91
  1123. package/esm2022/components/vscode/ts-type-resolver/dummy-source-cache.mjs +0 -15
  1124. package/esm2022/components/vscode/ts-type-resolver/import-resolver.mjs +0 -311
  1125. package/esm2022/components/vscode/ts-type-resolver/main.mjs +0 -112
  1126. package/esm2022/components/vscode/ts-type-resolver/recursion-depth.mjs +0 -21
  1127. package/esm2022/components/vscode/ts-type-resolver/types.mjs +0 -14
  1128. package/esm2022/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +0 -21
  1129. package/esm2022/components/vscode/ts-type-resolver/update-emitter.mjs +0 -37
  1130. package/esm2022/components/vscode/vscode.component.mjs +0 -232
  1131. package/esm2022/directives/image-cache.directive.mjs +0 -140
  1132. package/esm2022/directives/menu.directive.mjs +0 -159
  1133. package/esm2022/directives/tooltip.directive.mjs +0 -154
  1134. package/esm2022/directives/utils.mjs +0 -120
  1135. package/esm2022/pipes/html-bypass.pipe.mjs +0 -27
  1136. package/esm2022/pipes/resource-bypass.pipe.mjs +0 -27
  1137. package/esm2022/pipes/script-bypass.pipe.mjs +0 -27
  1138. package/esm2022/pipes/style-bypass.pipe.mjs +0 -27
  1139. package/esm2022/pipes/url-bypass.pipe.mjs +0 -27
  1140. package/esm2022/public-api.mjs +0 -59
  1141. package/esm2022/services/command-palette.service.mjs +0 -209
  1142. package/esm2022/services/dependency.service.mjs +0 -55
  1143. package/esm2022/services/dialog.service.mjs +0 -69
  1144. package/esm2022/services/fetch.service.mjs +0 -74
  1145. package/esm2022/services/file.service.mjs +0 -42
  1146. package/esm2022/services/keyboard.service.mjs +0 -128
  1147. package/esm2022/services/navigation.service.mjs +0 -52
  1148. package/esm2022/services/theme.service.mjs +0 -64
  1149. package/esm2022/types/menu.mjs +0 -2
  1150. package/esm2022/types/popup.mjs +0 -2
  1151. package/esm2022/types/tooltip.mjs +0 -2
  1152. package/esm2022/utils/index.mjs +0 -205
  1153. package/fesm2022/dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs.map +0 -1
  1154. package/utils/index.d.ts +0 -128
  1155. /package/{components → core/components}/lazy-loader/lazy-loader.component.d.ts +0 -0
  1156. /package/{components → core/components}/lazy-loader/lazy-loader.module.d.ts +0 -0
  1157. /package/{components → core/components}/lazy-loader/lazy-loader.service.d.ts +0 -0
  1158. /package/{components → core/components}/lazy-loader/types.d.ts +0 -0
  1159. /package/{components → core/components}/parallax-card/parallax-card.component.d.ts +0 -0
  1160. /package/{directives → core/directives}/image-cache.directive.d.ts +0 -0
  1161. /package/{directives → core/directives}/utils.d.ts +0 -0
  1162. /package/{pipes → core/pipes}/html-bypass.pipe.d.ts +0 -0
  1163. /package/{pipes → core/pipes}/resource-bypass.pipe.d.ts +0 -0
  1164. /package/{pipes → core/pipes}/script-bypass.pipe.d.ts +0 -0
  1165. /package/{pipes → core/pipes}/style-bypass.pipe.d.ts +0 -0
  1166. /package/{pipes → core/pipes}/url-bypass.pipe.d.ts +0 -0
  1167. /package/{services → core/services}/dependency.service.d.ts +0 -0
  1168. /package/{services → core/services}/dialog.service.d.ts +0 -0
  1169. /package/{services → core/services}/fetch.service.d.ts +0 -0
  1170. /package/{services → core/services}/file.service.d.ts +0 -0
  1171. /package/{services → core/services}/keyboard.service.d.ts +0 -0
  1172. /package/{services → core/services}/theme.service.d.ts +0 -0
  1173. /package/{types → core/types}/popup.d.ts +0 -0
  1174. /package/{components/filemanager → filemanager}/icon-resolver.d.ts +0 -0
  1175. /package/{assets → filemanager}/mat-icons.d.ts +0 -0
  1176. /package/{components/filemanager → filemanager}/textextensions.d.ts +0 -0
  1177. /package/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.d.ts +0 -0
  1178. /package/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.d.ts +0 -0
  1179. /package/{components/filemanager → filemanager}/tree-view/tree-view.component.d.ts +0 -0
  1180. /package/{components/vscode → monaco-editor}/ts-type-resolver/dependency-parser.d.ts +0 -0
  1181. /package/{components/vscode → monaco-editor}/ts-type-resolver/dummy-source-cache.d.ts +0 -0
  1182. /package/{components/vscode → monaco-editor}/ts-type-resolver/import-resolver.d.ts +0 -0
  1183. /package/{components/vscode → monaco-editor}/ts-type-resolver/main.d.ts +0 -0
  1184. /package/{components/vscode → monaco-editor}/ts-type-resolver/recursion-depth.d.ts +0 -0
  1185. /package/{components/vscode → monaco-editor}/ts-type-resolver/types.d.ts +0 -0
  1186. /package/{components/vscode → monaco-editor}/ts-type-resolver/unpkg-source-resolver.d.ts +0 -0
  1187. /package/{components/vscode → monaco-editor}/ts-type-resolver/update-emitter.d.ts +0 -0
@@ -1,383 +0,0 @@
1
- import { Input, ViewContainerRef, isDevMode, EventEmitter, Optional, ViewChild, Component, Inject, Output } from '@angular/core';
2
- import { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';
3
- import { MAT_DIALOG_DATA, } from '@angular/material/dialog';
4
- import { debounceTime } from 'rxjs';
5
- import { LazyLoaderService } from './lazy-loader.service';
6
- import { stringToSlug } from '../../utils';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./lazy-loader.service";
9
- import * as i2 from "@angular/cdk/dialog";
10
- export class LazyLoaderComponent {
11
- /**
12
- * The id of the component that will be lazy loaded
13
- */
14
- set id(data) {
15
- this.originalId = data;
16
- const id = stringToSlug(data);
17
- // Check if there is a change to the loaded component's id
18
- // if it's updated, we destroy and rehydrate the entire container
19
- if (this.initialized && this._id != id) {
20
- this._id = id;
21
- this.ngAfterViewInit();
22
- }
23
- else {
24
- this._id = id;
25
- }
26
- }
27
- ;
28
- set group(data) {
29
- this.originalGroup = data;
30
- const group = stringToSlug(data);
31
- if (typeof group != "string" || !group)
32
- return;
33
- // If the group was updated, retry to bootstrap something into the container.
34
- if (this.initialized && this._group != group) {
35
- this._group = group;
36
- this.ngAfterViewInit();
37
- return;
38
- }
39
- this._group = group;
40
- }
41
- get group() { return this._group; }
42
- /**
43
- * A map of inputs to bind to the child.
44
- * Supports change detection. (May fail on deep JSON changes)
45
- *
46
- * ```html
47
- * <lazy-loader component="MyLazyComponent"
48
- * [inputs]="{
49
- * prop1: true,
50
- * prop2: false,
51
- * complex: {
52
- * a: true,
53
- * b: 0
54
- * }
55
- * }"
56
- * >
57
- * </lazy-loader>
58
- * ```
59
- */
60
- set inputs(data) {
61
- if (data == undefined)
62
- return;
63
- let previous = this._inputs;
64
- this._inputs = data;
65
- if (data == undefined)
66
- console.trace(data);
67
- if (this.targetComponentFactory) {
68
- const { inputs } = this.targetComponentFactory.ɵcmp;
69
- const currentKeys = Object.keys(inputs);
70
- const oldKeys = Object.keys(previous).filter(key => currentKeys.includes(key));
71
- const newKeys = Object.keys(data).filter(key => currentKeys.includes(key));
72
- const removed = oldKeys.filter(key => !newKeys.includes(key));
73
- // ? perhaps set to null or undefined instead
74
- removed.forEach(k => this.targetComponentInstance[k] = null);
75
- this.bindInputs();
76
- }
77
- }
78
- /**
79
- * A map of outputs to bind from the child.
80
- * Should support change detection.
81
- * ```html
82
- * <lazy-loader component="MyLazyComponent"
83
- * [outputs]="{
84
- * prop3: onOutputFire
85
- * }"
86
- * >
87
- * </lazy-loader>
88
- * ```
89
- */
90
- set outputs(data) {
91
- let previous = this._outputs;
92
- this._outputs = data;
93
- if (this.targetComponentFactory) {
94
- const { inputs } = this.targetComponentFactory.ɵcmp;
95
- const currentKeys = Object.keys(inputs);
96
- const removed = Object.keys(previous).filter(key => !currentKeys.includes(key));
97
- removed.forEach(k => {
98
- // Unsubscribe from observable
99
- this.outputSubscriptions[k]?.unsubscribe();
100
- delete this.targetComponentInstance[k];
101
- });
102
- this.bindOutputs();
103
- }
104
- }
105
- constructor(service, viewContainerRef, dialog, dialogArguments) {
106
- this.service = service;
107
- this.viewContainerRef = viewContainerRef;
108
- this.dialog = dialog;
109
- this.dialogArguments = dialogArguments;
110
- this._group = "default";
111
- this.outputSubscriptions = {};
112
- /**
113
- * Emits errors encountered when loading components
114
- */
115
- this.componentLoadError = new EventEmitter();
116
- /**
117
- * Emits when the component is fully constructed
118
- * and had it's inputs and outputs bound
119
- * > before `OnInit`
120
- *
121
- * Returns the active class instance of the lazy-loaded component
122
- */
123
- this.componentLoaded = new EventEmitter();
124
- // Force 500ms delay before revealing the spinner
125
- this.clearEmitter = new EventEmitter();
126
- this.clearLoader$ = this.clearEmitter.pipe(debounceTime(300));
127
- this.showEmitter = new EventEmitter();
128
- this.showLoader$ = this.showEmitter.pipe(debounceTime(1));
129
- this.subscriptions = [
130
- this.clearLoader$.subscribe(() => {
131
- this.isClearingLoader = true;
132
- setTimeout(() => {
133
- this.renderSpinner = false;
134
- }, 300);
135
- }),
136
- this.showLoader$.subscribe(() => {
137
- this.isClearingLoader = false;
138
- this.renderSpinner = true;
139
- })
140
- ];
141
- this.renderSpinner = true; // whether we render the DOM for the spinner
142
- this.isClearingLoader = false; // should the spinner start fading out
143
- this.initialized = false;
144
- this.config = LazyLoaderService.config;
145
- this.err = LazyLoaderService.config.logger.err;
146
- this.warn = LazyLoaderService.config.logger.warn;
147
- this.log = LazyLoaderService.config.logger.log;
148
- // First, check for dialog arguments
149
- if (this.dialogArguments) {
150
- this.inputs = this.dialogArguments.inputs || this.dialogArguments.data;
151
- this.outputs = this.dialogArguments.outputs;
152
- this.id = this.dialogArguments.id;
153
- this.group = this.dialogArguments.group;
154
- }
155
- }
156
- async ngAfterViewInit() {
157
- this.ngOnDestroy(false);
158
- this.isClearingLoader = false;
159
- this.renderSpinner = true;
160
- this.initialized = true;
161
- if (!this._id) {
162
- this.warn("No component was specified!");
163
- return this.loadDefault();
164
- }
165
- try {
166
- const _entry = this.service.resolveRegistrationEntry(this.originalId, this.originalGroup);
167
- if (!_entry || !_entry.entry) {
168
- this.err(`Failed to find Component '${this._id}' in group '${this._group}' in registry!`);
169
- return this.loadDefault();
170
- }
171
- const { entry, matchGroups } = _entry;
172
- this._matchGroups = matchGroups;
173
- // Download the "module" (the standalone component)
174
- const bundle = this.targetModule = await entry.load();
175
- // Check if there is some corruption on the bundle.
176
- if (!bundle || typeof bundle != 'object') {
177
- this.err(`Failed to load component/module for '${this._id}'! Parsed resource is invalid.`);
178
- return this.loadError();
179
- }
180
- const modules = Object.keys(bundle)
181
- .map(k => {
182
- const entry = bundle[k];
183
- // Strictly check for exported modules or standalone components
184
- if (typeof entry == "function" && typeof entry["ɵfac"] == "function")
185
- return entry;
186
- return null;
187
- })
188
- .filter(e => e != null)
189
- .filter(entry => {
190
- entry['_isModule'] = !!entry['ɵmod']; // module
191
- entry['_isComponent'] = !!entry['ɵcmp']; // component
192
- return (entry['_isModule'] || entry['_isComponent']);
193
- });
194
- if (modules.length == 0) {
195
- this.err(`Component/Module loaded for '${this._id}' has no exported components or modules!`);
196
- return this.loadError();
197
- }
198
- const component = this.targetComponentFactory = this.service.resolveComponent(this._id, "default", modules);
199
- if (!component) {
200
- this.err(`Component '${this._id}' is invalid or corrupted!`);
201
- return this.loadError();
202
- }
203
- // const componentRef = this.targetComponentContainerRef = createComponent(component as any, {
204
- // environmentInjector: this.appRef.injector,
205
- // elementInjector: this.injector,
206
- // hostElement: this.viewContainerRef.element.nativeElement,
207
- // // projectableNodes:
208
- // });
209
- // // this.targetRef = this.targetContainer.insert(this.targetComponentContainerRef.hostView);
210
- // this.appRef.attachView(componentRef.hostView);
211
- // Bootstrap the component into the container
212
- const componentRef = this.targetComponentContainerRef = this.targetContainer.createComponent(component);
213
- this.targetRef = this.targetContainer.insert(this.targetComponentContainerRef.hostView);
214
- const instance = this.targetComponentInstance = componentRef['instance'];
215
- this.bindInputs();
216
- this.bindOutputs();
217
- this.componentLoaded.next(instance);
218
- this.instance = instance;
219
- // Look for an observable called isLoading$ that will make us show/hide
220
- // the same distractor that is used on basic loading
221
- const isLoading$ = instance['ngxShowDistractor$'];
222
- if (isLoading$ && typeof isLoading$.subscribe == "function") {
223
- this.distractorSubscription = isLoading$.subscribe(loading => {
224
- loading ? this.showEmitter.emit() : this.clearEmitter.emit();
225
- });
226
- }
227
- else {
228
- this.clearEmitter.emit();
229
- }
230
- const name = Object.keys(bundle)[0];
231
- this.log(`Loaded '${name}'`);
232
- this.clearEmitter.emit();
233
- return componentRef;
234
- }
235
- catch (ex) {
236
- if (isDevMode()) {
237
- console.warn("Component DDD " + this._id + " threw an error on mount!");
238
- console.warn("This will cause you to see a 404 panel.");
239
- console.error(ex);
240
- }
241
- // Network errors throw a toast and return an error component
242
- if (ex && !isDevMode()) {
243
- console.error("Uncaught error when loading component");
244
- throw ex;
245
- }
246
- return this.loadDefault();
247
- }
248
- }
249
- ngOnDestroy(clearAll = true) {
250
- // unsubscribe from all subscriptions
251
- Object.entries(this.outputSubscriptions).forEach(([key, sub]) => {
252
- sub.unsubscribe();
253
- });
254
- this.outputSubscriptions = {};
255
- // Clear all things
256
- if (clearAll) {
257
- Object.entries(this.subscriptions).forEach(([key, sub]) => {
258
- sub.unsubscribe();
259
- });
260
- }
261
- this.distractorSubscription?.unsubscribe();
262
- // Clear target container
263
- this.targetRef?.destroy();
264
- this.targetComponentContainerRef?.destroy();
265
- this.targetContainer?.clear();
266
- // Wipe the rest of the state clean
267
- this.targetRef = null;
268
- this.targetComponentContainerRef = null;
269
- }
270
- /**
271
- * Bind the input values to the child component.
272
- */
273
- bindInputs() {
274
- if (!this._inputs || !this.targetComponentInstance)
275
- return;
276
- // Merge match groups
277
- if (typeof this._matchGroups == "object") {
278
- Object.entries(this._matchGroups).forEach(([key, val]) => {
279
- if (typeof this._inputs[key] == 'undefined')
280
- this._inputs[key] = val;
281
- });
282
- }
283
- // forward-bind inputs
284
- const { inputs } = this.targetComponentFactory.ɵcmp;
285
- // Returns a list of entries that need to be set
286
- // This makes it so that unnecessary setters are not invoked.
287
- const updated = Object.entries(inputs).filter(([parentKey, childKey]) => {
288
- return this.targetComponentInstance[childKey] != this._inputs[parentKey];
289
- });
290
- updated.forEach(([parentKey, childKey]) => {
291
- if (this._inputs.hasOwnProperty(parentKey)) {
292
- // Angular 19.2+
293
- if (Array.isArray(childKey)) {
294
- this.targetComponentInstance[childKey[0]] = this._inputs[parentKey];
295
- }
296
- else {
297
- this.targetComponentInstance[childKey] = this._inputs[parentKey];
298
- }
299
- }
300
- });
301
- }
302
- /**
303
- * Bind the output handlers to the loaded child component
304
- */
305
- bindOutputs() {
306
- if (!this._outputs || !this.targetComponentInstance)
307
- return;
308
- const { outputs } = this.targetComponentFactory.ɵcmp;
309
- // Get a list of unregistered outputs
310
- const newOutputs = Object.entries(outputs).filter(([parentKey, childKey]) => {
311
- return !this.outputSubscriptions[parentKey];
312
- });
313
- // Reverse bind via subscription
314
- newOutputs.forEach(([parentKey, childKey]) => {
315
- if (this._outputs.hasOwnProperty(parentKey)) {
316
- const target = this.targetComponentInstance[childKey];
317
- const outputs = this._outputs;
318
- // Angular folks, stop making this so difficult.
319
- const ctx = this.viewContainerRef['_hostLView'][8];
320
- const sub = target.subscribe(outputs[parentKey].bind(ctx)); // Subscription
321
- this.outputSubscriptions[parentKey] = sub;
322
- }
323
- });
324
- }
325
- /**
326
- * Load the "Default" component (404) screen normally.
327
- * This is shown when the component id isn't in the
328
- * registry or otherwise doesn't match
329
- *
330
- * This
331
- */
332
- loadDefault() {
333
- if (this.config.notFoundComponent)
334
- this.targetContainer.createComponent(this.config.notFoundComponent);
335
- this.clearEmitter.emit();
336
- }
337
- /**
338
- * Load the "Error" component.
339
- * This is shown when we are able to resolve the component
340
- * in the registry, but have some issue boostrapping the
341
- * component into the viewContainer
342
- */
343
- loadError() {
344
- if (this.config.errorComponent)
345
- this.targetContainer.createComponent(this.config.errorComponent);
346
- this.clearEmitter.emit();
347
- }
348
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LazyLoaderComponent, deps: [{ token: i1.LazyLoaderService }, { token: i0.ViewContainerRef, optional: true }, { token: i2.DialogRef, optional: true }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
349
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LazyLoaderComponent, isStandalone: true, selector: "ngx-lazy-loader", inputs: { id: ["component", "id"], group: "group", inputs: "inputs", outputs: "outputs" }, outputs: { componentLoadError: "componentLoadError", componentLoaded: "componentLoaded" }, viewQueries: [{ propertyName: "targetContainer", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<ng-container #content></ng-container>\n\n@if (renderSpinner) {\n <div\n class=\"ngx-lazy-loader-distractor\"\n [class.destroying]=\"isClearingLoader\"\n >\n @if (config.loaderDistractorComponent) {\n <ng-container\n [ngComponentOutlet]=\"config.loaderDistractorComponent\"\n />\n }\n @if (config.loaderDistractorTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"config.loaderDistractorTemplate\"\n [ngTemplateOutletContext]=\"{ '$implicit': inputs }\"\n />\n }\n </div>\n}\n", styles: [":host{display:contents;contain:content;z-index:1;position:relative}.ngx-lazy-loader-distractor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background-color:var(--background-color, #212121);opacity:1;transition:opacity .3s ease;z-index:999999;animation:fade-in .3s ease}.ngx-lazy-loader-distractor.destroying{opacity:0;pointer-events:none}@keyframes fade-in{0%{opacity:0;pointer-events:none}to{opacity:1;pointer-events:all}}\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
350
- }
351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LazyLoaderComponent, decorators: [{
352
- type: Component,
353
- args: [{ selector: 'ngx-lazy-loader', imports: [NgComponentOutlet, NgTemplateOutlet], standalone: true, template: "<ng-container #content></ng-container>\n\n@if (renderSpinner) {\n <div\n class=\"ngx-lazy-loader-distractor\"\n [class.destroying]=\"isClearingLoader\"\n >\n @if (config.loaderDistractorComponent) {\n <ng-container\n [ngComponentOutlet]=\"config.loaderDistractorComponent\"\n />\n }\n @if (config.loaderDistractorTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"config.loaderDistractorTemplate\"\n [ngTemplateOutletContext]=\"{ '$implicit': inputs }\"\n />\n }\n </div>\n}\n", styles: [":host{display:contents;contain:content;z-index:1;position:relative}.ngx-lazy-loader-distractor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background-color:var(--background-color, #212121);opacity:1;transition:opacity .3s ease;z-index:999999;animation:fade-in .3s ease}.ngx-lazy-loader-distractor.destroying{opacity:0;pointer-events:none}@keyframes fade-in{0%{opacity:0;pointer-events:none}to{opacity:1;pointer-events:all}}\n"] }]
354
- }], ctorParameters: () => [{ type: i1.LazyLoaderService }, { type: i0.ViewContainerRef, decorators: [{
355
- type: Optional
356
- }] }, { type: i2.DialogRef, decorators: [{
357
- type: Optional
358
- }] }, { type: undefined, decorators: [{
359
- type: Optional
360
- }, {
361
- type: Inject,
362
- args: [MAT_DIALOG_DATA]
363
- }] }], propDecorators: { targetContainer: [{
364
- type: ViewChild,
365
- args: ["content", { read: ViewContainerRef }]
366
- }], id: [{
367
- type: Input,
368
- args: ["component"]
369
- }], group: [{
370
- type: Input,
371
- args: ["group"]
372
- }], inputs: [{
373
- type: Input,
374
- args: ["inputs"]
375
- }], outputs: [{
376
- type: Input,
377
- args: ["outputs"]
378
- }], componentLoadError: [{
379
- type: Output
380
- }], componentLoaded: [{
381
- type: Output
382
- }] } });
383
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb21wb25lbnRzL2xhenktbG9hZGVyL2xhenktbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9sYXp5LWxvYWRlci9sYXp5LWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBZ0IsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQ2hMLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEdBQUcsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQW1CLFlBQVksRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVczQyxNQUFNLE9BQU8sbUJBQW1CO0lBaUI1Qjs7T0FFRztJQUNILElBQXdCLEVBQUUsQ0FBQyxJQUFZO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QiwwREFBMEQ7UUFDMUQsaUVBQWlFO1FBQ2pFLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lB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QU07Z0JBU0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBWaWV3Q29udGFpbmVyUmVmLCBpc0Rldk1vZGUsIENvbXBvbmVudFJlZiwgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgVmlld0NoaWxkLCBDb21wb25lbnQsIEluamVjdCwgT3V0cHV0LCBOZ01vZHVsZSwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGF6eUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL2xhenktbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgc3RyaW5nVG9TbHVnIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ29tcGlsZWRCdW5kbGUsIE5neExhenlMb2FkZXJDb25maWcgfSBmcm9tICcuL3R5cGVzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1sYXp5LWxvYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xhenktbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsgJy4vbGF6eS1sb2FkZXIuY29tcG9uZW50LnNjc3MnIF0sXG4gICAgaW1wb3J0czogWyBOZ0NvbXBvbmVudE91dGxldCwgTmdUZW1wbGF0ZU91dGxldCBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTGF6eUxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoXCJjb250ZW50XCIsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSB0YXJnZXRDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICAvKipcbiAgICAgKiAhIEhlcmUgYmUgZHJhZ29ucy5cbiAgICAgKiBPbmx5IHRoZSBicmF2ZXN0IG9mIEFkdmVudHVyZXJzIGNhbiBzdXJ2aXZlIHRoZSBiYXR0bGVzIGJlbG93LFxuICAgICAqIGFuZCB0aGV5IG11c3QgYmUgdHJhaW5lZCBhbmQgcmVhZHkgZm9yIHRoZSBncnVlbGxpbmcgam91cm5leSBhaGVhZC5cbiAgICAgKiBNYW55IGEgc291bCBoYXMgdHJpZWQgdG8gYmVzdCB0aGVzZSBEcmFnb25zLCB5ZXQgb25seSBvbmUgaGFzXG4gICAgICogc3VjY2VlZGVkIHNpbmNlIG91ciBmb3VuZGluZy5cbiAgICAgKlxuICAgICAqIFRMO0RSIC0tIERvbid0IG1lc3Mgd2l0aCB0aGlzIHVubGVzcyB5b3Uga25vdyB3aGF0IHlvdSdyZSBkb2luZy5cbiAgICAgKiAgICAgVGhpcyBpcyBjZW50cmFsIHRvIGEgdG9uIG9mIG1vdmluZyBwYXJ0cyAtLSBicmVha2luZyBpdCB3aWxsXG4gICAgICogICAgIGNhdXNlIG1vcmUgY29sbGF0ZXJhbCBkYW1hZ2UgdGhhbiB5b3UgbWF5IHJlYWxpemUuXG4gICAgICovXG5cbiAgICBwcml2YXRlIF9pZDogc3RyaW5nO1xuICAgIHByaXZhdGUgb3JpZ2luYWxJZDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBpZCBvZiB0aGUgY29tcG9uZW50IHRoYXQgd2lsbCBiZSBsYXp5IGxvYWRlZFxuICAgICAqL1xuICAgIEBJbnB1dChcImNvbXBvbmVudFwiKSBzZXQgaWQoZGF0YTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMub3JpZ2luYWxJZCA9IGRhdGE7XG4gICAgICAgIGNvbnN0IGlkID0gc3RyaW5nVG9TbHVnKGRhdGEpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIGlzIGEgY2hhbmdlIHRvIHRoZSBsb2FkZWQgY29tcG9uZW50J3MgaWRcbiAgICAgICAgLy8gaWYgaXQncyB1cGRhdGVkLCB3ZSBkZXN0cm95IGFuZCByZWh5ZHJhdGUgdGhlIGVudGlyZSBjb250YWluZXJcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQgJiYgdGhpcy5faWQgIT0gaWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2lkID0gaWQ7XG4gICAgICAgICAgICB0aGlzLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faWQgPSBpZDtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIF9ncm91cCA9IFwiZGVmYXVsdFwiO1xuICAgIHByaXZhdGUgb3JpZ2luYWxHcm91cDogc3RyaW5nO1xuICAgIEBJbnB1dChcImdyb3VwXCIpIHNldCBncm91cChkYXRhOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5vcmlnaW5hbEdyb3VwID0gZGF0YTtcbiAgICAgICAgY29uc3QgZ3JvdXAgPSBzdHJpbmdUb1NsdWcoZGF0YSk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBncm91cCAhPSBcInN0cmluZ1wiIHx8ICFncm91cCkgcmV0dXJuO1xuXG4gICAgICAgIC8vIElmIHRoZSBncm91cCB3YXMgdXBkYXRlZCwgcmV0cnkgdG8gYm9vdHN0cmFwIHNvbWV0aGluZyBpbnRvIHRoZSBjb250YWluZXIuXG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkICYmIHRoaXMuX2dyb3VwICE9IGdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLl9ncm91cCA9IGdyb3VwO1xuXG4gICAgICAgICAgICB0aGlzLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZ3JvdXAgPSBncm91cDtcbiAgICB9XG4gICAgZ2V0IGdyb3VwKCkgeyByZXR1cm4gdGhpcy5fZ3JvdXAgfVxuXG4gICAgcHJpdmF0ZSBfbWF0Y2hHcm91cHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgcHJpdmF0ZSBfaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfTtcbiAgICAvKipcbiAgICAgKiBBIG1hcCBvZiBpbnB1dHMgdG8gYmluZCB0byB0aGUgY2hpbGQuXG4gICAgICogU3VwcG9ydHMgY2hhbmdlIGRldGVjdGlvbi4gKE1heSBmYWlsIG9uIGRlZXAgSlNPTiBjaGFuZ2VzKVxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxsYXp5LWxvYWRlciBjb21wb25lbnQ9XCJNeUxhenlDb21wb25lbnRcIlxuICAgICAqICAgICAgIFtpbnB1dHNdPVwie1xuICAgICAqICAgICAgICAgIHByb3AxOiB0cnVlLFxuICAgICAqICAgICAgICAgIHByb3AyOiBmYWxzZSxcbiAgICAgKiAgICAgICAgICBjb21wbGV4OiB7XG4gICAgICogICAgICAgICAgICAgIGE6IHRydWUsXG4gICAgICogICAgICAgICAgICAgIGI6IDBcbiAgICAgKiAgICAgICAgICB9XG4gICAgICogICAgICAgfVwiXG4gICAgICogPlxuICAgICAqIDwvbGF6eS1sb2FkZXI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KFwiaW5wdXRzXCIpIHNldCBpbnB1dHMoZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnk7IH0pIHtcbiAgICAgICAgaWYgKGRhdGEgPT0gdW5kZWZpbmVkKSByZXR1cm47XG5cbiAgICAgICAgbGV0IHByZXZpb3VzID0gdGhpcy5faW5wdXRzO1xuICAgICAgICB0aGlzLl9pbnB1dHMgPSBkYXRhO1xuICAgICAgICBpZiAoZGF0YSA9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBjb25zb2xlLnRyYWNlKGRhdGEpO1xuXG4gICAgICAgIGlmICh0aGlzLnRhcmdldENvbXBvbmVudEZhY3RvcnkpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgaW5wdXRzIH0gPSB0aGlzLnRhcmdldENvbXBvbmVudEZhY3RvcnkuybVjbXA7XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRLZXlzID0gT2JqZWN0LmtleXMoaW5wdXRzKTtcblxuICAgICAgICAgICAgY29uc3Qgb2xkS2V5cyA9IE9iamVjdC5rZXlzKHByZXZpb3VzKS5maWx0ZXIoa2V5ID0+IGN1cnJlbnRLZXlzLmluY2x1ZGVzKGtleSkpO1xuICAgICAgICAgICAgY29uc3QgbmV3S2V5cyA9IE9iamVjdC5rZXlzKGRhdGEpLmZpbHRlcihrZXkgPT4gY3VycmVudEtleXMuaW5jbHVkZXMoa2V5KSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlbW92ZWQgPSBvbGRLZXlzLmZpbHRlcihrZXkgPT4gIW5ld0tleXMuaW5jbHVkZXMoa2V5KSk7XG5cbiAgICAgICAgICAgIC8vID8gcGVyaGFwcyBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQgaW5zdGVhZFxuICAgICAgICAgICAgcmVtb3ZlZC5mb3JFYWNoKGsgPT4gdGhpcy50YXJnZXRDb21wb25lbnRJbnN0YW5jZVtrXSA9IG51bGwpO1xuXG4gICAgICAgICAgICB0aGlzLmJpbmRJbnB1dHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBvdXRwdXRTdWJzY3JpcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IFN1YnNjcmlwdGlvbjsgfSA9IHt9O1xuICAgIHByaXZhdGUgX291dHB1dHM6IHsgW2tleTogc3RyaW5nXTogRnVuY3Rpb247IH07XG4gICAgLyoqXG4gICAgICogQSBtYXAgb2Ygb3V0cHV0cyB0byBiaW5kIGZyb20gdGhlIGNoaWxkLlxuICAgICAqIFNob3VsZCBzdXBwb3J0IGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxsYXp5LWxvYWRlciBjb21wb25lbnQ9XCJNeUxhenlDb21wb25lbnRcIlxuICAgICAqICAgICAgIFtvdXRwdXRzXT1cIntcbiAgICAgKiAgICAgICAgICAgcHJvcDM6IG9uT3V0cHV0RmlyZVxuICAgICAqICAgICAgIH1cIlxuICAgICAqID5cbiAgICAgKiA8L2xhenktbG9hZGVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dChcIm91dHB1dHNcIikgc2V0IG91dHB1dHMoZGF0YTogeyBba2V5OiBzdHJpbmddOiBGdW5jdGlvbjsgfSkge1xuICAgICAgICBsZXQgcHJldmlvdXMgPSB0aGlzLl9vdXRwdXRzO1xuICAgICAgICB0aGlzLl9vdXRwdXRzID0gZGF0YTtcblxuICAgICAgICBpZiAodGhpcy50YXJnZXRDb21wb25lbnRGYWN0b3J5KSB7XG4gICAgICAgICAgICBjb25zdCB7IGlucHV0cyB9ID0gdGhpcy50YXJnZXRDb21wb25lbnRGYWN0b3J5Lsm1Y21wO1xuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50S2V5cyA9IE9iamVjdC5rZXlzKGlucHV0cyk7XG4gICAgICAgICAgICBjb25zdCByZW1vdmVkID0gT2JqZWN0LmtleXMocHJldmlvdXMpLmZpbHRlcihrZXkgPT4gIWN1cnJlbnRLZXlzLmluY2x1ZGVzKGtleSkpO1xuXG4gICAgICAgICAgICByZW1vdmVkLmZvckVhY2goayA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBvYnNlcnZhYmxlXG4gICAgICAgICAgICAgICAgdGhpcy5vdXRwdXRTdWJzY3JpcHRpb25zW2tdPy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnRhcmdldENvbXBvbmVudEluc3RhbmNlW2tdO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuYmluZE91dHB1dHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGVycm9ycyBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgY29tcG9uZW50c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBjb21wb25lbnRMb2FkRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZnVsbHkgY29uc3RydWN0ZWRcbiAgICAgKiBhbmQgaGFkIGl0J3MgaW5wdXRzIGFuZCBvdXRwdXRzIGJvdW5kXG4gICAgICogPiBiZWZvcmUgYE9uSW5pdGBcbiAgICAgKlxuICAgICAqIFJldHVybnMgdGhlIGFjdGl2ZSBjbGFzcyBpbnN0YW5jZSBvZiB0aGUgbGF6eS1sb2FkZWQgY29tcG9uZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIGNvbXBvbmVudExvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50IHRoYXQgaXMgY3VycmVudGx5IGxvYWRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW5zdGFuY2U6IGFueTtcblxuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVyIHRoYXQgcHJvdmlkZXMgdGhlIGNvbXBvbmVudCBkYXRhXG4gICAgICovXG4gICAgcHJpdmF0ZSB0YXJnZXRNb2R1bGU6IENvbXBpbGVkQnVuZGxlO1xuXG4gICAgLyoqXG4gICAgICogQ29tcG9uZW50IGRlZmluaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIHRhcmdldENvbXBvbmVudEZhY3Rvcnk6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBjb21wb25lbnQgY29udGFpbmVyIHJlZmVyZW5jZVxuICAgICAqL1xuICAgIHByaXZhdGUgdGFyZ2V0Q29tcG9uZW50Q29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8YW55PjtcbiAgICBwcml2YXRlIHRhcmdldFJlZjogYW55O1xuICAgIC8qKlxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50IGNsYXNzIGluc3RhbmNlXG4gICAgICovXG4gICAgcHJpdmF0ZSB0YXJnZXRDb21wb25lbnRJbnN0YW5jZTogYW55O1xuXG4gICAgLyoqXG4gICAgICogU3Vic2NyaXB0aW9uIHdpdGggdHJ1ZS9mYWxzZSBzdGF0ZSBvbiB3aGV0aGVyIHRoZSBkaXN0cmFjdG9yIHNob3VsZCBiZVxuICAgICAqL1xuICAgIHByaXZhdGUgZGlzdHJhY3RvclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHVibGljIGNvbmZpZzogTmd4TGF6eUxvYWRlckNvbmZpZztcbiAgICBwcml2YXRlIGVycjtcbiAgICBwcml2YXRlIHdhcm47XG4gICAgcHJpdmF0ZSBsb2c7XG5cbiAgICAvLyBGb3JjZSA1MDBtcyBkZWxheSBiZWZvcmUgcmV2ZWFsaW5nIHRoZSBzcGlubmVyXG4gICAgcHJpdmF0ZSBjbGVhckVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgcHJpdmF0ZSBjbGVhckxvYWRlciQgPSB0aGlzLmNsZWFyRW1pdHRlci5waXBlKGRlYm91bmNlVGltZSgzMDApKTtcblxuICAgIHByaXZhdGUgc2hvd0VtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgcHJpdmF0ZSBzaG93TG9hZGVyJCA9IHRoaXMuc2hvd0VtaXR0ZXIucGlwZShkZWJvdW5jZVRpbWUoMSkpO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0gW1xuICAgICAgICB0aGlzLmNsZWFyTG9hZGVyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0NsZWFyaW5nTG9hZGVyID0gdHJ1ZTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJTcGlubmVyID0gZmFsc2U7XG4gICAgICAgICAgICB9LCAzMDApXG4gICAgICAgIH0pLFxuICAgICAgICB0aGlzLnNob3dMb2FkZXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzQ2xlYXJpbmdMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyU3Bpbm5lciA9IHRydWU7XG4gICAgICAgIH0pXG4gICAgXTtcblxuICAgIHB1YmxpYyByZW5kZXJTcGlubmVyID0gdHJ1ZTsgLy8gd2hldGhlciB3ZSByZW5kZXIgdGhlIERPTSBmb3IgdGhlIHNwaW5uZXJcbiAgICBwdWJsaWMgaXNDbGVhcmluZ0xvYWRlciA9IGZhbHNlOyAvLyBzaG91bGQgdGhlIHNwaW5uZXIgc3RhcnQgZmFkaW5nIG91dFxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2VydmljZTogTGF6eUxvYWRlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZzogRGlhbG9nUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRpYWxvZ0FyZ3VtZW50c1xuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZztcbiAgICAgICAgdGhpcy5lcnIgPSBMYXp5TG9hZGVyU2VydmljZS5jb25maWcubG9nZ2VyLmVycjtcbiAgICAgICAgdGhpcy53YXJuID0gTGF6eUxvYWRlclNlcnZpY2UuY29uZmlnLmxvZ2dlci53YXJuO1xuICAgICAgICB0aGlzLmxvZyA9IExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5sb2dnZXIubG9nO1xuXG4gICAgICAgIC8vIEZpcnN0LCBjaGVjayBmb3IgZGlhbG9nIGFyZ3VtZW50c1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dBcmd1bWVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRzID0gdGhpcy5kaWFsb2dBcmd1bWVudHMuaW5wdXRzIHx8IHRoaXMuZGlhbG9nQXJndW1lbnRzLmRhdGE7XG4gICAgICAgICAgICB0aGlzLm91dHB1dHMgPSB0aGlzLmRpYWxvZ0FyZ3VtZW50cy5vdXRwdXRzO1xuICAgICAgICAgICAgdGhpcy5pZCA9IHRoaXMuZGlhbG9nQXJndW1lbnRzLmlkO1xuICAgICAgICAgICAgdGhpcy5ncm91cCA9IHRoaXMuZGlhbG9nQXJndW1lbnRzLmdyb3VwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5uZ09uRGVzdHJveShmYWxzZSk7XG4gICAgICAgIHRoaXMuaXNDbGVhcmluZ0xvYWRlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlbmRlclNwaW5uZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICBpZiAoIXRoaXMuX2lkKSB7XG4gICAgICAgICAgICB0aGlzLndhcm4oXCJObyBjb21wb25lbnQgd2FzIHNwZWNpZmllZCFcIik7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkRGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IF9lbnRyeSA9IHRoaXMuc2VydmljZS5yZXNvbHZlUmVnaXN0cmF0aW9uRW50cnkodGhpcy5vcmlnaW5hbElkLCB0aGlzLm9yaWdpbmFsR3JvdXApO1xuICAgICAgICAgICAgaWYgKCFfZW50cnkgfHwgIV9lbnRyeS5lbnRyeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyKGBGYWlsZWQgdG8gZmluZCBDb21wb25lbnQgJyR7dGhpcy5faWR9JyBpbiBncm91cCAnJHt0aGlzLl9ncm91cH0nIGluIHJlZ2lzdHJ5IWApO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHsgZW50cnksIG1hdGNoR3JvdXBzIH0gPSBfZW50cnk7XG4gICAgICAgICAgICB0aGlzLl9tYXRjaEdyb3VwcyA9IG1hdGNoR3JvdXBzO1xuXG4gICAgICAgICAgICAvLyBEb3dubG9hZCB0aGUgXCJtb2R1bGVcIiAodGhlIHN0YW5kYWxvbmUgY29tcG9uZW50KVxuICAgICAgICAgICAgY29uc3QgYnVuZGxlOiBDb21waWxlZEJ1bmRsZSA9IHRoaXMudGFyZ2V0TW9kdWxlID0gYXdhaXQgZW50cnkubG9hZCgpO1xuXG5cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIGlzIHNvbWUgY29ycnVwdGlvbiBvbiB0aGUgYnVuZGxlLlxuICAgICAgICAgICAgaWYgKCFidW5kbGUgfHwgdHlwZW9mIGJ1bmRsZSAhPSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyKGBGYWlsZWQgdG8gbG9hZCBjb21wb25lbnQvbW9kdWxlIGZvciAnJHt0aGlzLl9pZH0nISBQYXJzZWQgcmVzb3VyY2UgaXMgaW52YWxpZC5gKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkRXJyb3IoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbW9kdWxlcyA9IE9iamVjdC5rZXlzKGJ1bmRsZSlcbiAgICAgICAgICAgICAgICAubWFwKGsgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGJ1bmRsZVtrXTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTdHJpY3RseSBjaGVjayBmb3IgZXhwb3J0ZWQgbW9kdWxlcyBvciBzdGFuZGFsb25lIGNvbXBvbmVudHNcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBlbnRyeSA9PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIGVudHJ5W1wiybVmYWNcIl0gPT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoZSA9PiBlICE9IG51bGwpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihlbnRyeSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVudHJ5WydfaXNNb2R1bGUnXSA9ICEhZW50cnlbJ8m1bW9kJ107IC8vIG1vZHVsZVxuICAgICAgICAgICAgICAgICAgICBlbnRyeVsnX2lzQ29tcG9uZW50J10gPSAhIWVudHJ5WyfJtWNtcCddOyAvLyBjb21wb25lbnRcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGVudHJ5WydfaXNNb2R1bGUnXSB8fCBlbnRyeVsnX2lzQ29tcG9uZW50J10pO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAobW9kdWxlcy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyKGBDb21wb25lbnQvTW9kdWxlIGxvYWRlZCBmb3IgJyR7dGhpcy5faWR9JyBoYXMgbm8gZXhwb3J0ZWQgY29tcG9uZW50cyBvciBtb2R1bGVzIWApO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRFcnJvcigpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLnRhcmdldENvbXBvbmVudEZhY3RvcnkgPSB0aGlzLnNlcnZpY2UucmVzb2x2ZUNvbXBvbmVudCh0aGlzLl9pZCwgXCJkZWZhdWx0XCIsIG1vZHVsZXMpO1xuXG4gICAgICAgICAgICBpZiAoIWNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyKGBDb21wb25lbnQgJyR7dGhpcy5faWR9JyBpcyBpbnZhbGlkIG9yIGNvcnJ1cHRlZCFgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkRXJyb3IoKTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAvLyBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldENvbXBvbmVudENvbnRhaW5lclJlZiA9IGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQgYXMgYW55LCB7XG4gICAgICAgICAgICAvLyAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5hcHBSZWYuaW5qZWN0b3IsXG4gICAgICAgICAgICAvLyAgICAgZWxlbWVudEluamVjdG9yOiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgLy8gICAgIGhvc3RFbGVtZW50OiB0aGlzLnZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgLy8gICAgIC8vIHByb2plY3RhYmxlTm9kZXM6XG4gICAgICAgICAgICAvLyB9KTtcbiAgICAgICAgICAgIC8vIC8vIHRoaXMudGFyZ2V0UmVmID0gdGhpcy50YXJnZXRDb250YWluZXIuaW5zZXJ0KHRoaXMudGFyZ2V0Q29tcG9uZW50Q29udGFpbmVyUmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIC8vIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgICAgICAgICAgLy8gQm9vdHN0cmFwIHRoZSBjb21wb25lbnQgaW50byB0aGUgY29udGFpbmVyXG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldENvbXBvbmVudENvbnRhaW5lclJlZiA9IHRoaXMudGFyZ2V0Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQgYXMgYW55KTtcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0UmVmID0gdGhpcy50YXJnZXRDb250YWluZXIuaW5zZXJ0KHRoaXMudGFyZ2V0Q29tcG9uZW50Q29udGFpbmVyUmVmLmhvc3RWaWV3KTtcblxuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2U6IGFueSA9IHRoaXMudGFyZ2V0Q29tcG9uZW50SW5zdGFuY2UgPSBjb21wb25lbnRSZWZbJ2luc3RhbmNlJ107XG5cbiAgICAgICAgICAgIHRoaXMuYmluZElucHV0cygpO1xuICAgICAgICAgICAgdGhpcy5iaW5kT3V0cHV0cygpO1xuXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudExvYWRlZC5uZXh0KGluc3RhbmNlKTtcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcblxuICAgICAgICAgICAgLy8gTG9vayBmb3IgYW4gb2JzZXJ2YWJsZSBjYWxsZWQgaXNMb2FkaW5nJCB0aGF0IHdpbGwgbWFrZSB1cyBzaG93L2hpZGVcbiAgICAgICAgICAgIC8vIHRoZSBzYW1lIGRpc3RyYWN0b3IgdGhhdCBpcyB1c2VkIG9uIGJhc2ljIGxvYWRpbmdcbiAgICAgICAgICAgIGNvbnN0IGlzTG9hZGluZyQgPSBpbnN0YW5jZVsnbmd4U2hvd0Rpc3RyYWN0b3IkJ10gYXMgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gICAgICAgICAgICBpZiAoaXNMb2FkaW5nJCAmJiB0eXBlb2YgaXNMb2FkaW5nJC5zdWJzY3JpYmUgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXN0cmFjdG9yU3Vic2NyaXB0aW9uID0gaXNMb2FkaW5nJC5zdWJzY3JpYmUobG9hZGluZyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmcgPyB0aGlzLnNob3dFbWl0dGVyLmVtaXQoKSA6IHRoaXMuY2xlYXJFbWl0dGVyLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJFbWl0dGVyLmVtaXQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbmFtZSA9IE9iamVjdC5rZXlzKGJ1bmRsZSlbMF07XG4gICAgICAgICAgICB0aGlzLmxvZyhgTG9hZGVkICcke25hbWV9J2ApO1xuICAgICAgICAgICAgdGhpcy5jbGVhckVtaXR0ZXIuZW1pdCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChleCkge1xuXG4gICAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJDb21wb25lbnQgREREIFwiICsgdGhpcy5faWQgKyBcIiB0aHJldyBhbiBlcnJvciBvbiBtb3VudCFcIik7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVGhpcyB3aWxsIGNhdXNlIHlvdSB0byBzZWUgYSA0MDQgcGFuZWwuXCIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBOZXR3b3JrIGVycm9ycyB0aHJvdyBhIHRvYXN0IGFuZCByZXR1cm4gYW4gZXJyb3IgY29tcG9uZW50XG4gICAgICAgICAgICBpZiAoZXggJiYgIWlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlVuY2F1Z2h0IGVycm9yIHdoZW4gbG9hZGluZyBjb21wb25lbnRcIik7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveShjbGVhckFsbCA9IHRydWUpIHtcbiAgICAgICAgLy8gdW5zdWJzY3JpYmUgZnJvbSBhbGwgc3Vic2NyaXB0aW9uc1xuICAgICAgICBPYmplY3QuZW50cmllcyh0aGlzLm91dHB1dFN1YnNjcmlwdGlvbnMpLmZvckVhY2goKFtrZXksIHN1Yl0pID0+IHtcbiAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vdXRwdXRTdWJzY3JpcHRpb25zID0ge307XG5cbiAgICAgICAgLy8gQ2xlYXIgYWxsIHRoaW5nc1xuICAgICAgICBpZiAoY2xlYXJBbGwpIHtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuc3Vic2NyaXB0aW9ucykuZm9yRWFjaCgoW2tleSwgc3ViXSkgPT4ge1xuICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3RyYWN0b3JTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgLy8gQ2xlYXIgdGFyZ2V0IGNvbnRhaW5lclxuICAgICAgICB0aGlzLnRhcmdldFJlZj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnRhcmdldENvbXBvbmVudENvbnRhaW5lclJlZj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnRhcmdldENvbnRhaW5lcj8uY2xlYXIoKTtcblxuICAgICAgICAvLyBXaXBlIHRoZSByZXN0IG9mIHRoZSBzdGF0ZSBjbGVhblxuICAgICAgICB0aGlzLnRhcmdldFJlZiA9IG51bGw7XG4gICAgICAgIHRoaXMudGFyZ2V0Q29tcG9uZW50Q29udGFpbmVyUmVmID0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCaW5kIHRoZSBpbnB1dCB2YWx1ZXMgdG8gdGhlIGNoaWxkIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGJpbmRJbnB1dHMoKSB7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRzIHx8ICF0aGlzLnRhcmdldENvbXBvbmVudEluc3RhbmNlKSByZXR1cm47XG5cbiAgICAgICAgLy8gTWVyZ2UgbWF0Y2ggZ3JvdXBzXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5fbWF0Y2hHcm91cHMgPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5fbWF0Y2hHcm91cHMpLmZvckVhY2goKFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuX2lucHV0c1trZXldID09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbnB1dHNba2V5XSA9IHZhbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZm9yd2FyZC1iaW5kIGlucHV0c1xuICAgICAgICBjb25zdCB7IGlucHV0cyB9ID0gdGhpcy50YXJnZXRDb21wb25lbnRGYWN0b3J5Lsm1Y21wO1xuXG4gICAgICAgIC8vIFJldHVybnMgYSBsaXN0IG9mIGVudHJpZXMgdGhhdCBuZWVkIHRvIGJlIHNldFxuICAgICAgICAvLyBUaGlzIG1ha2VzIGl0IHNvIHRoYXQgdW5uZWNlc3Nhcnkgc2V0dGVycyBhcmUgbm90IGludm9rZWQuXG4gICAgICAgIGNvbnN0IHVwZGF0ZWQgPSBPYmplY3QuZW50cmllcyhpbnB1dHMpLmZpbHRlcigoW3BhcmVudEtleSwgY2hpbGRLZXldOiBbc3RyaW5nLCBzdHJpbmddKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50YXJnZXRDb21wb25lbnRJbnN0YW5jZVtjaGlsZEtleV0gIT0gdGhpcy5faW5wdXRzW3BhcmVudEtleV07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHVwZGF0ZWQuZm9yRWFjaCgoW3BhcmVudEtleSwgY2hpbGRLZXldOiBbc3RyaW5nLCBzdHJpbmcgfCBbc3RyaW5nLCBudW1iZXIsIHVua25vd25dXSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2lucHV0cy5oYXNPd25Qcm9wZXJ0eShwYXJlbnRLZXkpKSB7XG4gICAgICAgICAgICAgICAgLy8gQW5ndWxhciAxOS4yK1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkS2V5KSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhcmdldENvbXBvbmVudEluc3RhbmNlW2NoaWxkS2V5WzBdXSA9IHRoaXMuX2lucHV0c1twYXJlbnRLZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXJnZXRDb21wb25lbnRJbnN0YW5jZVtjaGlsZEtleV0gPSB0aGlzLl9pbnB1dHNbcGFyZW50S2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEJpbmQgdGhlIG91dHB1dCBoYW5kbGVycyB0byB0aGUgbG9hZGVkIGNoaWxkIGNvbXBvbmVudFxuICAgICAqL1xuICAgIHByaXZhdGUgYmluZE91dHB1dHMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fb3V0cHV0cyB8fCAhdGhpcy50YXJnZXRDb21wb25lbnRJbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHsgb3V0cHV0cyB9ID0gdGhpcy50YXJnZXRDb21wb25lbnRGYWN0b3J5Lsm1Y21wO1xuXG4gICAgICAgIC8vIEdldCBhIGxpc3Qgb2YgdW5yZWdpc3RlcmVkIG91dHB1dHNcbiAgICAgICAgY29uc3QgbmV3T3V0cHV0cyA9IE9iamVjdC5lbnRyaWVzKG91dHB1dHMpLmZpbHRlcigoW3BhcmVudEtleSwgY2hpbGRLZXldOiBbc3RyaW5nLCBzdHJpbmddKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gIXRoaXMub3V0cHV0U3Vic2NyaXB0aW9uc1twYXJlbnRLZXldO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZXZlcnNlIGJpbmQgdmlhIHN1YnNjcmlwdGlvblxuICAgICAgICBuZXdPdXRwdXRzLmZvckVhY2goKFtwYXJlbnRLZXksIGNoaWxkS2V5XTogW3N0cmluZywgc3RyaW5nXSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX291dHB1dHMuaGFzT3duUHJvcGVydHkocGFyZW50S2V5KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldDogRXZlbnRFbWl0dGVyPHVua25vd24+ID0gdGhpcy50YXJnZXRDb21wb25lbnRJbnN0YW5jZVtjaGlsZEtleV07XG4gICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0cyA9IHRoaXMuX291dHB1dHM7XG5cbiAgICAgICAgICAgICAgICAvLyBBbmd1bGFyIGZvbGtzLCBzdG9wIG1ha2luZyB0aGlzIHNvIGRpZmZpY3VsdC5cbiAgICAgICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLnZpZXdDb250YWluZXJSZWZbJ19ob3N0TFZpZXcnXVs4XTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWIgPSB0YXJnZXQuc3Vic2NyaWJlKG91dHB1dHNbcGFyZW50S2V5XS5iaW5kKGN0eCkpOyAvLyBTdWJzY3JpcHRpb25cblxuICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0U3Vic2NyaXB0aW9uc1twYXJlbnRLZXldID0gc3ViO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2FkIHRoZSBcIkRlZmF1bHRcIiBjb21wb25lbnQgKDQwNCkgc2NyZWVuIG5vcm1hbGx5LlxuICAgICAqIFRoaXMgaXMgc2hvd24gd2hlbiB0aGUgY29tcG9uZW50IGlkIGlzbid0IGluIHRoZVxuICAgICAqIHJlZ2lzdHJ5IG9yIG90aGVyd2lzZSBkb2Vzbid0IG1hdGNoXG4gICAgICpcbiAgICAgKiBUaGlzXG4gICAgICovXG4gICAgcHJpdmF0ZSBsb2FkRGVmYXVsdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLm5vdEZvdW5kQ29tcG9uZW50KVxuICAgICAgICAgICAgdGhpcy50YXJnZXRDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29uZmlnLm5vdEZvdW5kQ29tcG9uZW50KTtcblxuICAgICAgICB0aGlzLmNsZWFyRW1pdHRlci5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgXCJFcnJvclwiIGNvbXBvbmVudC5cbiAgICAgKiBUaGlzIGlzIHNob3duIHdoZW4gd2UgYXJlIGFibGUgdG8gcmVzb2x2ZSB0aGUgY29tcG9uZW50XG4gICAgICogaW4gdGhlIHJlZ2lzdHJ5LCBidXQgaGF2ZSBzb21lIGlzc3VlIGJvb3N0cmFwcGluZyB0aGVcbiAgICAgKiBjb21wb25lbnQgaW50byB0aGUgdmlld0NvbnRhaW5lclxuICAgICAqL1xuICAgIHByaXZhdGUgbG9hZEVycm9yKCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWcuZXJyb3JDb21wb25lbnQpXG4gICAgICAgICAgICB0aGlzLnRhcmdldENvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodGhpcy5jb25maWcuZXJyb3JDb21wb25lbnQpO1xuXG4gICAgICAgIHRoaXMuY2xlYXJFbWl0dGVyLmVtaXQoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICNjb250ZW50PjwvbmctY29udGFpbmVyPlxuXG5AaWYgKHJlbmRlclNwaW5uZXIpIHtcbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibmd4LWxhenktbG9hZGVyLWRpc3RyYWN0b3JcIlxuICAgICAgICBbY2xhc3MuZGVzdHJveWluZ109XCJpc0NsZWFyaW5nTG9hZGVyXCJcbiAgICA+XG4gICAgICAgIEBpZiAoY29uZmlnLmxvYWRlckRpc3RyYWN0b3JDb21wb25lbnQpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICBbbmdDb21wb25lbnRPdXRsZXRdPVwiY29uZmlnLmxvYWRlckRpc3RyYWN0b3JDb21wb25lbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGNvbmZpZy5sb2FkZXJEaXN0cmFjdG9yVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb25maWcubG9hZGVyRGlzdHJhY3RvclRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAnJGltcGxpY2l0JzogaW5wdXRzIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuIl19
@@ -1,33 +0,0 @@
1
- import { __decorate, __param } from "tslib";
2
- import { NgModule, Optional } from '@angular/core';
3
- import { LazyLoaderComponent } from './lazy-loader.component';
4
- import { LazyLoaderService, NGX_LAZY_LOADER_CONFIG } from './lazy-loader.service';
5
- import * as i0 from "@angular/core";
6
- export class LazyLoaderModule {
7
- static forRoot(config) {
8
- return ({
9
- ngModule: LazyLoaderModule,
10
- providers: [
11
- {
12
- provide: NGX_LAZY_LOADER_CONFIG,
13
- useValue: config
14
- },
15
- LazyLoaderService
16
- ]
17
- });
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LazyLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: LazyLoaderModule, imports: [LazyLoaderComponent], exports: [LazyLoaderComponent] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LazyLoaderModule }); }
22
- }
23
- __decorate([
24
- __param(0, Optional())
25
- ], LazyLoaderModule, "forRoot", null);
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LazyLoaderModule, decorators: [{
27
- type: NgModule,
28
- args: [{
29
- imports: [LazyLoaderComponent],
30
- exports: [LazyLoaderComponent]
31
- }]
32
- }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb21wb25lbnRzL2xhenktbG9hZGVyL2xhenktbG9hZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU1sRixNQUFNLE9BQU8sZ0JBQWdCO0lBQ1gsQUFBUCxNQUFNLENBQUMsT0FBTyxDQUFhLE1BQTJCO1FBQ3pELE9BQU8sQ0FBQztZQUNKLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxzQkFBc0I7b0JBQy9CLFFBQVEsRUFBRSxNQUFNO2lCQUNuQjtnQkFDRCxpQkFBaUI7YUFDcEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDOytHQVpRLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLFlBSGYsbUJBQW1CLGFBQ25CLG1CQUFtQjtnSEFFcEIsZ0JBQWdCOztBQUNYO0lBQVMsV0FBQSxRQUFRLEVBQUUsQ0FBQTtxQ0FXaEM7NEZBWlEsZ0JBQWdCO2tCQUo1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hMYXp5TG9hZGVyQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBMYXp5TG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sYXp5LWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF6eUxvYWRlclNlcnZpY2UsIE5HWF9MQVpZX0xPQURFUl9DT05GSUcgfSBmcm9tICcuL2xhenktbG9hZGVyLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtMYXp5TG9hZGVyQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbTGF6eUxvYWRlckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTGF6eUxvYWRlck1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KEBPcHRpb25hbCgpIGNvbmZpZzogTmd4TGF6eUxvYWRlckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TGF6eUxvYWRlck1vZHVsZT4ge1xuICAgICAgICByZXR1cm4gKHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMYXp5TG9hZGVyTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBOR1hfTEFaWV9MT0FERVJfQ09ORklHLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBMYXp5TG9hZGVyU2VydmljZVxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=