@mnaoumov/obsidian-dev-toolkit 1.0.0 → 2.0.0

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 (228) hide show
  1. package/README.md +9 -1
  2. package/dist/demo-vault-helper/main.js +678 -18
  3. package/dist/integration-test-plugin/main.js +12075 -3087
  4. package/dist/integration-test-plugin/manifest.json +2 -2
  5. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +6 -38
  6. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +1 -1
  7. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +5 -37
  8. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.d.cts +1 -1
  9. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +5 -37
  10. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +1 -1
  11. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +7 -66
  12. package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +1 -1
  13. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +7 -39
  14. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +1 -1
  15. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +5 -37
  16. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -1
  17. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +5 -37
  18. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.d.cts +1 -1
  19. package/dist/lib/cjs/bundlers/esbuild.cjs +1 -60
  20. package/dist/lib/cjs/bundlers/esbuild.d.cts +1 -1
  21. package/dist/lib/cjs/bundlers/index.cjs +3 -62
  22. package/dist/lib/cjs/bundlers/index.d.cts +1 -1
  23. package/dist/lib/cjs/demo-vault-app-json.cjs +5 -37
  24. package/dist/lib/cjs/demo-vault-app-json.d.cts +1 -1
  25. package/dist/lib/cjs/demo-vault-buttons.cjs +6 -38
  26. package/dist/lib/cjs/demo-vault-buttons.d.cts +8 -8
  27. package/dist/lib/cjs/demo-vault-coverage.cjs +7 -38
  28. package/dist/lib/cjs/demo-vault-coverage.d.cts +1 -1
  29. package/dist/lib/cjs/demo-vault.cjs +6 -38
  30. package/dist/lib/cjs/demo-vault.d.cts +1 -1
  31. package/dist/lib/cjs/formatters/dprint.cjs +5 -37
  32. package/dist/lib/cjs/formatters/dprint.d.cts +1 -1
  33. package/dist/lib/cjs/formatters/index.cjs +2 -61
  34. package/dist/lib/cjs/formatters/index.d.cts +1 -1
  35. package/dist/lib/cjs/index.cjs +12 -71
  36. package/dist/lib/cjs/integration-test-setup.cjs +1 -60
  37. package/dist/lib/cjs/integration-test-setup.d.cts +5 -5
  38. package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +6 -38
  39. package/dist/lib/cjs/integration-test-vitest-global-setup.d.cts +7 -7
  40. package/dist/lib/cjs/jest-setup.cjs +5 -37
  41. package/dist/lib/cjs/jest-setup.d.cts +1 -1
  42. package/dist/lib/cjs/library-references.d.cts +2 -0
  43. package/dist/lib/cjs/linters/eslint-config.cjs +71 -49
  44. package/dist/lib/cjs/linters/eslint-config.d.cts +1 -1
  45. package/dist/lib/cjs/linters/eslint-rules/index.cjs +26 -73
  46. package/dist/lib/cjs/linters/eslint-rules/index.d.cts +6 -2
  47. package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +1 -60
  48. package/dist/lib/cjs/linters/eslint-rules/manifest-description.d.cts +1 -1
  49. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +6 -38
  50. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.d.cts +1 -1
  51. package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +1 -60
  52. package/dist/lib/cjs/linters/eslint-rules/manifest-id.d.cts +1 -1
  53. package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +1 -60
  54. package/dist/lib/cjs/linters/eslint-rules/manifest-name.d.cts +1 -1
  55. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +1 -60
  56. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.d.cts +1 -1
  57. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +240 -0
  58. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.d.cts +10 -0
  59. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +5 -37
  60. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.cts +1 -1
  61. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +5 -37
  62. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.d.cts +1 -1
  63. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.cjs +136 -0
  64. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.d.cts +16 -0
  65. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +217 -0
  66. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.d.cts +30 -0
  67. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +169 -0
  68. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.d.cts +29 -0
  69. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +5 -37
  70. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.d.cts +1 -1
  71. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +287 -0
  72. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.d.cts +10 -0
  73. package/dist/lib/cjs/linters/eslint.cjs +5 -37
  74. package/dist/lib/cjs/linters/eslint.d.cts +1 -1
  75. package/dist/lib/cjs/linters/index.cjs +17 -67
  76. package/dist/lib/cjs/linters/index.d.cts +4 -1
  77. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +152 -0
  78. package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +12 -0
  79. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +118 -0
  80. package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +2 -0
  81. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +200 -0
  82. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.d.cts +32 -0
  83. package/dist/lib/cjs/linters/markdownlint.cjs +5 -37
  84. package/dist/lib/cjs/linters/markdownlint.d.cts +1 -1
  85. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +1 -60
  86. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.d.cts +1 -1
  87. package/dist/lib/cjs/linters/plugin-names.cjs +203 -0
  88. package/dist/lib/cjs/linters/plugin-names.d.cts +81 -0
  89. package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +1 -60
  90. package/dist/lib/cjs/obsidian-plugin-repo-paths.d.cts +1 -1
  91. package/dist/lib/cjs/setup.cjs +5 -37
  92. package/dist/lib/cjs/setup.d.cts +1 -1
  93. package/dist/lib/cjs/templates.cjs +5 -37
  94. package/dist/lib/cjs/templates.d.cts +1 -1
  95. package/dist/lib/cjs/test-runners/index.cjs +4 -63
  96. package/dist/lib/cjs/test-runners/index.d.cts +1 -1
  97. package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +12 -44
  98. package/dist/lib/cjs/test-runners/integration-test-plugin.d.cts +5 -5
  99. package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +1 -60
  100. package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +1 -1
  101. package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +5 -37
  102. package/dist/lib/cjs/test-runners/stale-build-global-setup.d.cts +1 -1
  103. package/dist/lib/cjs/test-runners/vitest-config.cjs +9 -41
  104. package/dist/lib/cjs/test-runners/vitest-config.d.cts +2 -3
  105. package/dist/lib/cjs/version.cjs +5 -37
  106. package/dist/lib/cjs/version.d.cts +1 -1
  107. package/dist/lib/cjs/vitest-setup.cjs +5 -37
  108. package/dist/lib/cjs/vitest-setup.d.cts +1 -1
  109. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +1 -1
  110. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +5 -22
  111. package/dist/lib/esm/bundlers/esbuild-impl/dependency.d.mts +1 -1
  112. package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +5 -22
  113. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +1 -1
  114. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +5 -22
  115. package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +1 -1
  116. package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +1 -45
  117. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +1 -1
  118. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +5 -22
  119. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -1
  120. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +5 -22
  121. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.d.mts +1 -1
  122. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +5 -22
  123. package/dist/lib/esm/bundlers/esbuild.d.mts +1 -1
  124. package/dist/lib/esm/bundlers/esbuild.mjs +1 -45
  125. package/dist/lib/esm/bundlers/index.d.mts +1 -1
  126. package/dist/lib/esm/bundlers/index.mjs +1 -45
  127. package/dist/lib/esm/demo-vault-app-json.d.mts +1 -1
  128. package/dist/lib/esm/demo-vault-app-json.mjs +5 -22
  129. package/dist/lib/esm/demo-vault-buttons.d.mts +8 -8
  130. package/dist/lib/esm/demo-vault-buttons.mjs +5 -22
  131. package/dist/lib/esm/demo-vault-coverage.d.mts +1 -1
  132. package/dist/lib/esm/demo-vault-coverage.mjs +7 -23
  133. package/dist/lib/esm/demo-vault.d.mts +1 -1
  134. package/dist/lib/esm/demo-vault.mjs +6 -23
  135. package/dist/lib/esm/formatters/dprint.d.mts +1 -1
  136. package/dist/lib/esm/formatters/dprint.mjs +5 -22
  137. package/dist/lib/esm/formatters/index.d.mts +1 -1
  138. package/dist/lib/esm/formatters/index.mjs +1 -45
  139. package/dist/lib/esm/index.mjs +1 -45
  140. package/dist/lib/esm/integration-test-setup.d.mts +5 -5
  141. package/dist/lib/esm/integration-test-setup.mjs +1 -45
  142. package/dist/lib/esm/integration-test-vitest-global-setup.d.mts +7 -7
  143. package/dist/lib/esm/integration-test-vitest-global-setup.mjs +7 -24
  144. package/dist/lib/esm/jest-setup.d.mts +1 -1
  145. package/dist/lib/esm/jest-setup.mjs +5 -22
  146. package/dist/lib/esm/library-references.d.mts +2 -0
  147. package/dist/lib/esm/linters/eslint-config.d.mts +1 -1
  148. package/dist/lib/esm/linters/eslint-config.mjs +70 -33
  149. package/dist/lib/esm/linters/eslint-rules/index.d.mts +6 -2
  150. package/dist/lib/esm/linters/eslint-rules/index.mjs +12 -48
  151. package/dist/lib/esm/linters/eslint-rules/manifest-description.d.mts +1 -1
  152. package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +1 -45
  153. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.d.mts +1 -1
  154. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +5 -22
  155. package/dist/lib/esm/linters/eslint-rules/manifest-id.d.mts +1 -1
  156. package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +1 -45
  157. package/dist/lib/esm/linters/eslint-rules/manifest-name.d.mts +1 -1
  158. package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +1 -45
  159. package/dist/lib/esm/linters/eslint-rules/manifest-schema.d.mts +1 -1
  160. package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +1 -45
  161. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.d.mts +10 -0
  162. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.mjs +141 -0
  163. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.mts +1 -1
  164. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +5 -22
  165. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.d.mts +1 -1
  166. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +5 -22
  167. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-toolkit-plugin.d.mts +16 -0
  168. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-toolkit-plugin.mjs +37 -0
  169. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.d.mts +30 -0
  170. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.mjs +121 -0
  171. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.d.mts +29 -0
  172. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.mjs +72 -0
  173. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.d.mts +1 -1
  174. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +5 -22
  175. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.d.mts +10 -0
  176. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.mjs +188 -0
  177. package/dist/lib/esm/linters/eslint.d.mts +1 -1
  178. package/dist/lib/esm/linters/eslint.mjs +5 -22
  179. package/dist/lib/esm/linters/index.d.mts +4 -1
  180. package/dist/lib/esm/linters/index.mjs +8 -46
  181. package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +12 -0
  182. package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +57 -0
  183. package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +2 -0
  184. package/dist/lib/esm/linters/markdownlint-rules/index.mjs +10 -0
  185. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.d.mts +32 -0
  186. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.mjs +94 -0
  187. package/dist/lib/esm/linters/markdownlint.d.mts +1 -1
  188. package/dist/lib/esm/linters/markdownlint.mjs +5 -22
  189. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.d.mts +1 -1
  190. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +1 -45
  191. package/dist/lib/esm/linters/plugin-names.d.mts +81 -0
  192. package/dist/lib/esm/linters/plugin-names.mjs +105 -0
  193. package/dist/lib/esm/obsidian-plugin-repo-paths.d.mts +1 -1
  194. package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +1 -45
  195. package/dist/lib/esm/setup.d.mts +1 -1
  196. package/dist/lib/esm/setup.mjs +5 -22
  197. package/dist/lib/esm/templates.d.mts +1 -1
  198. package/dist/lib/esm/templates.mjs +5 -22
  199. package/dist/lib/esm/test-runners/index.d.mts +1 -1
  200. package/dist/lib/esm/test-runners/index.mjs +1 -45
  201. package/dist/lib/esm/test-runners/integration-test-plugin.d.mts +5 -5
  202. package/dist/lib/esm/test-runners/integration-test-plugin.mjs +11 -28
  203. package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +1 -1
  204. package/dist/lib/esm/test-runners/performance-eval-cap.mjs +1 -45
  205. package/dist/lib/esm/test-runners/stale-build-global-setup.d.mts +1 -1
  206. package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +5 -22
  207. package/dist/lib/esm/test-runners/vitest-config.d.mts +2 -3
  208. package/dist/lib/esm/test-runners/vitest-config.mjs +8 -25
  209. package/dist/lib/esm/version.d.mts +1 -1
  210. package/dist/lib/esm/version.mjs +5 -22
  211. package/dist/lib/esm/vitest-setup.d.mts +1 -1
  212. package/dist/lib/esm/vitest-setup.mjs +5 -22
  213. package/dist/templates/scripts/markdownlint-cli2-config.ts +2 -2
  214. package/linters/eslint-rules/no-local-obsidian-internals/package.json +6 -0
  215. package/linters/eslint-rules/{obsidian-dev-utils-plugin → obsidian-dev-toolkit-plugin}/package.json +3 -3
  216. package/linters/eslint-rules/plugin-name-as-code/package.json +6 -0
  217. package/linters/eslint-rules/plugin-name-as-code-in-ui/package.json +6 -0
  218. package/linters/eslint-rules/require-plugin-api-contract-schemas/package.json +6 -0
  219. package/linters/markdownlint-cli2-config/package.json +6 -0
  220. package/linters/markdownlint-rules/index/package.json +6 -0
  221. package/linters/markdownlint-rules/package.json +6 -0
  222. package/linters/markdownlint-rules/plugin-name-as-code/package.json +6 -0
  223. package/linters/plugin-names/package.json +6 -0
  224. package/package.json +86 -25
  225. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +0 -186
  226. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +0 -13
  227. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +0 -13
  228. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +0 -73
@@ -2,49 +2,32 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
15
9
  cwd() {
16
- return '/';
10
+ return "/";
17
11
  },
18
12
  env: {},
19
- platform: 'android'
13
+ platform: "android"
20
14
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
15
  const existingProcess = globalThis.process;
24
-
25
16
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
17
  globalThis.process = browserProcess;
28
18
  return;
29
19
  }
30
-
31
20
  if (existingProcess.versions?.node) {
32
21
  return;
33
22
  }
34
-
35
23
  const existingProcessRecord = existingProcess;
36
-
37
24
  for (const [key, value] of Object.entries(browserProcess)) {
38
25
  existingProcessRecord[key] ??= value;
39
26
  }
40
-
41
- existingProcessRecord['browser'] = true;
27
+ existingProcessRecord["browser"] = true;
42
28
  }
43
29
 
44
- (function initEsm() {
45
- ensureDisposeSymbols();
46
- ensureBrowserProcess();
47
- })();
30
+ ensureBrowserProcess();
48
31
  })();
49
32
 
50
33
  import json from "@eslint/json";
@@ -95,4 +78,4 @@ export {
95
78
  jsonPlugin,
96
79
  toReportNode
97
80
  };
98
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL21hbmlmZXN0LWhlbHBlcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTaGFyZWQgaGVscGVycyBmb3IgdGhlIGBtYW5pZmVzdC5qc29uYCBFU0xpbnQgcnVsZXMuXG4gKlxuICogVGhlIG1hbmlmZXN0IGlzIGxpbnRlZCB0aHJvdWdoIGBAZXNsaW50L2pzb25gJ3MgYGpzb24vanNvbmAgbGFuZ3VhZ2UsIHdob3NlIEFTVCBpcyBNb21vYVxuICogKGBEb2N1bWVudGAgLT4gYE9iamVjdGAgLT4gYE1lbWJlcmApIHJhdGhlciB0aGFuIEVTVHJlZSwgc28gdGhlc2UgcnVsZXMgdmlzaXQgYERvY3VtZW50YCBpbnN0ZWFkIG9mXG4gKiBgUHJvZ3JhbWAuIFRoYXQgZGlmZmVyZW5jZSBpcyBleGFjdGx5IHdoeSBgb2JzaWRpYW5tZC92YWxpZGF0ZS1tYW5pZmVzdGAgY2FuIG5ldmVyIGZpcmU6IGl0IHJlZ2lzdGVycyBhXG4gKiBgUHJvZ3JhbWAgdmlzaXRvciBhbmQgZXhwZWN0cyBhbiBFU1RyZWUgYE9iamVjdEV4cHJlc3Npb25gLCB3aGljaCBubyBzaGlwcGVkIEpTT04gcGFyc2VyIHByb2R1Y2VzLlxuICpcbiAqIFRoZSBNb21vYSBub2RlIHNoYXBlcyBhcmUgZGVjbGFyZWQgc3RydWN0dXJhbGx5IGhlcmUgcmF0aGVyIHRoYW4gaW1wb3J0ZWQgZnJvbSBgQGh1bWFud2hvY29kZXMvbW9tb2FgLFxuICogd2hpY2ggaXMgb25seSBhIHRyYW5zaXRpdmUgZGVwZW5kZW5jeSBvZiBgQGVzbGludC9qc29uYC4gQSB0eXBlLW9ubHkgaW1wb3J0IHdvdWxkIGxlYWsgaW50byB0aGVcbiAqIHB1Ymxpc2hlZCBkZWNsYXJhdGlvbnMgYW5kIGZvcmNlIGV2ZXJ5IGNvbnN1bWVyIHRvIHJlc29sdmUgYSBwYWNrYWdlIGl0IG5ldmVyIGluc3RhbGxlZC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEVTTGludCxcbiAgUnVsZVxufSBmcm9tICdlc2xpbnQnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tcmVuYW1lLWRlZmF1bHQgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYHBsdWdpbmAgaXMgdG9vIGNvbmZ1c2luZy5cbmltcG9ydCBqc29uIGZyb20gJ0Blc2xpbnQvanNvbic7XG5cbi8qKlxuICogVGhlIE1vbW9hIG5vZGUgdHlwZSBvZiBhIEpTT04gYm9vbGVhbiB2YWx1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEpTT05fTk9ERV9UWVBFX0JPT0xFQU4gPSAnQm9vbGVhbic7XG5cbi8qKlxuICogVGhlIE1vbW9hIG5vZGUgdHlwZSBvZiBhIEpTT04gb2JqZWN0IHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgSlNPTl9OT0RFX1RZUEVfT0JKRUNUID0gJ09iamVjdCc7XG5cbi8qKlxuICogVGhlIE1vbW9hIG5vZGUgdHlwZSBvZiBhIEpTT04gc3RyaW5nIHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgSlNPTl9OT0RFX1RZUEVfU1RSSU5HID0gJ1N0cmluZyc7XG5cbi8qKlxuICogYEBlc2xpbnQvanNvbmAsIHR5cGVkIGFzIHRoZSBwbHVnaW4gdHlwZSBhIGZsYXQgY29uZmlnIGFuZCBgUnVsZVRlc3RlcmAgYXJlIHdyaXR0ZW4gYWdhaW5zdC5cbiAqXG4gKiBUaGUgcGFja2FnZSdzIHJ1bGUgZGVmaW5pdGlvbnMgYXJlIGdlbmVyaWMgb3ZlciBpdHMgb3duIEpTT04gbGFuZ3VhZ2UsIHdoaWNoIGBAdHlwZXMvZXNsaW50YCdzXG4gKiBgRVNMaW50LlBsdWdpbmAgLSB3cml0dGVuIGFnYWluc3QgRVNUcmVlIHJ1bGVzIC0gY2Fubm90IGV4cHJlc3MsIHNvIHRoZSB0d28gYXJlIG5vbWluYWxseSBpbmNvbXBhdGlibGVcbiAqIHdoaWxlIGJlaW5nIGV4YWN0bHkgY29tcGF0aWJsZSBhdCBydW50aW1lLiBSZWdpc3RlcmluZyBpdCBpcyB3aGF0IG1ha2VzIGBsYW5ndWFnZTogJ2pzb24vanNvbidgXG4gKiByZXNvbHZhYmxlLCBzbyB0aGVyZSBpcyBubyB3YXkgdG8gYXZvaWQgdGhlIGJyaWRnZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGpzb25QbHVnaW46IEVTTGludC5QbHVnaW4gPSBicmlkZ2VKc29uUGx1Z2luKCk7XG5cbi8qKlxuICogVGhlIGB2ZXJzaW9uYCBhIHBsdWdpbiByZXBvIGNhcnJpZXMgYmVmb3JlIGl0cyBmaXJzdCByZWxlYXNlLCB3aGVuIGBtaW5BcHBWZXJzaW9uYCBpcyBsZWdpdGltYXRlbHkgYWJzZW50LlxuICovXG5leHBvcnQgY29uc3QgVU5SRUxFQVNFRF9WRVJTSU9OID0gJzAuMC4wJztcblxuLyoqXG4gKiBUaGUgcm9vdCBub2RlIG9mIGEgcGFyc2VkIEpTT04gZG9jdW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkRvY3VtZW50Tm9kZSBleHRlbmRzIEpzb25Ob2RlIHtcbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudCdzIHNpbmdsZSB0b3AtbGV2ZWwgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBib2R5OiBKc29uTm9kZTtcbn1cblxuLyoqXG4gKiBBIEpTT04gbGl0ZXJhbCAtIGEgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4gb3IgbnVsbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uTGl0ZXJhbE5vZGUgZXh0ZW5kcyBKc29uTm9kZSB7XG4gIC8qKlxuICAgKiBUaGUgbGl0ZXJhbCdzIHBhcnNlZCB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IG51bWJlciB8IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBgXCJrZXlcIjogdmFsdWVgIHBhaXIgb2YgYSBKU09OIG9iamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uTWVtYmVyTm9kZSBleHRlbmRzIEpzb25Ob2RlIHtcbiAgLyoqXG4gICAqIFRoZSBtZW1iZXIncyBrZXkuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBKc29uTGl0ZXJhbE5vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBtZW1iZXIncyB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBKc29uTm9kZTtcbn1cblxuLyoqXG4gKiBBbnkgbm9kZSBvZiB0aGUgTW9tb2EgSlNPTiBBU1QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbk5vZGUge1xuICAvKipcbiAgICogVGhlIG5vZGUgdHlwZSwgZS5nLiBgRG9jdW1lbnRgLCBgT2JqZWN0YCwgYE1lbWJlcmAsIGBTdHJpbmdgLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgSlNPTiBvYmplY3QgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbk9iamVjdE5vZGUgZXh0ZW5kcyBKc29uTm9kZSB7XG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0J3MgbWVtYmVycywgaW4gc291cmNlIG9yZGVyLCBpbmNsdWRpbmcgYW55IGR1cGxpY2F0ZSBrZXlzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWVtYmVyczogcmVhZG9ubHkgSnNvbk1lbWJlck5vZGVbXTtcbn1cblxuLyoqXG4gKiBGaW5kcyBhIHRvcC1sZXZlbCBtZW1iZXIgb2YgdGhlIG1hbmlmZXN0IGJ5IGtleS5cbiAqXG4gKiBAcGFyYW0gbWFuaWZlc3RPYmplY3QgLSBUaGUgbWFuaWZlc3QncyByb290IG9iamVjdCBub2RlLlxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gbG9vayBmb3IuXG4gKiBAcmV0dXJucyBUaGUgZmlyc3QgbWVtYmVyIHdpdGggdGhhdCBrZXksIG9yIGBudWxsYCB3aGVuIHRoZSBtYW5pZmVzdCBoYXMgbm9uZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRNYW5pZmVzdE1lbWJlcihtYW5pZmVzdE9iamVjdDogSnNvbk9iamVjdE5vZGUsIGtleTogc3RyaW5nKTogSnNvbk1lbWJlck5vZGUgfCBudWxsIHtcbiAgcmV0dXJuIG1hbmlmZXN0T2JqZWN0Lm1lbWJlcnMuZmluZCgobWVtYmVyKSA9PiBnZXRNZW1iZXJLZXkobWVtYmVyKSA9PT0ga2V5KSA/PyBudWxsO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBtYW5pZmVzdCdzIHJvb3Qgb2JqZWN0IG91dCBvZiB0aGUgdmlzaXRlZCBgRG9jdW1lbnRgIG5vZGUuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgYERvY3VtZW50YCBub2RlIGhhbmRlZCB0byB0aGUgcnVsZSdzIHZpc2l0b3IuXG4gKiBAcmV0dXJucyBUaGUgcm9vdCBvYmplY3Qgbm9kZSwgb3IgYG51bGxgIHdoZW4gdGhlIGRvY3VtZW50J3MgdG9wLWxldmVsIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYW5pZmVzdE9iamVjdChub2RlOiB1bmtub3duKTogSnNvbk9iamVjdE5vZGUgfCBudWxsIHtcbiAgY29uc3QgZG9jdW1lbnQgPSBub2RlIGFzIEpzb25Eb2N1bWVudE5vZGU7XG4gIHJldHVybiBkb2N1bWVudC5ib2R5LnR5cGUgPT09IEpTT05fTk9ERV9UWVBFX09CSkVDVCA/IGRvY3VtZW50LmJvZHkgYXMgSnNvbk9iamVjdE5vZGUgOiBudWxsO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSB2YWx1ZSBvZiBhIHRvcC1sZXZlbCBzdHJpbmcgbWVtYmVyIG9mIHRoZSBtYW5pZmVzdC5cbiAqXG4gKiBAcGFyYW0gbWFuaWZlc3RPYmplY3QgLSBUaGUgbWFuaWZlc3QncyByb290IG9iamVjdCBub2RlLlxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gbG9vayBmb3IuXG4gKiBAcmV0dXJucyBUaGUgbWVtYmVyJ3MgdmFsdWUsIG9yIGBudWxsYCB3aGVuIGl0IGlzIGFic2VudCBvciBub3QgYSBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYW5pZmVzdFN0cmluZ1ZhbHVlKG1hbmlmZXN0T2JqZWN0OiBKc29uT2JqZWN0Tm9kZSwga2V5OiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgY29uc3QgbWVtYmVyID0gZmluZE1hbmlmZXN0TWVtYmVyKG1hbmlmZXN0T2JqZWN0LCBrZXkpO1xuICByZXR1cm4gbWVtYmVyID8gZ2V0U3RyaW5nVmFsdWUobWVtYmVyLnZhbHVlKSA6IG51bGw7XG59XG5cbi8qKlxuICogUmVhZHMgYSBtZW1iZXIncyBrZXkuXG4gKlxuICogVW5kZXIgdGhlIGBqc29uL2pzb25gIGxhbmd1YWdlIGEgbWVtYmVyJ3MgbmFtZSBpcyBhbHdheXMgYSBzdHJpbmcgbm9kZSAtIGlkZW50aWZpZXIga2V5cyBleGlzdCBvbmx5IGluXG4gKiBKU09ONSAtIHNvIHRoaXMgbmV2ZXIgaGFzIHRvIGFjY291bnQgZm9yIGEgbWlzc2luZyBrZXkuXG4gKlxuICogQHBhcmFtIG1lbWJlciAtIFRoZSBtZW1iZXIgdG8gcmVhZC5cbiAqIEByZXR1cm5zIFRoZSBtZW1iZXIncyBrZXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZW1iZXJLZXkobWVtYmVyOiBKc29uTWVtYmVyTm9kZSk6IHN0cmluZyB7XG4gIHJldHVybiBtZW1iZXIubmFtZS52YWx1ZSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIHZhbHVlIG9mIGEgTW9tb2Egc3RyaW5nIG5vZGUuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgbm9kZSB0byByZWFkLlxuICogQHJldHVybnMgVGhlIHN0cmluZyB2YWx1ZSwgb3IgYG51bGxgIHdoZW4gdGhlIG5vZGUgaXMgbm90IGEgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RyaW5nVmFsdWUobm9kZTogSnNvbk5vZGUpOiBudWxsIHwgc3RyaW5nIHtcbiAgaWYgKG5vZGUudHlwZSAhPT0gSlNPTl9OT0RFX1RZUEVfU1RSSU5HKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXRlcmFsID0gbm9kZSBhcyBKc29uTGl0ZXJhbE5vZGU7XG4gIHJldHVybiBsaXRlcmFsLnZhbHVlIGFzIHN0cmluZztcbn1cblxuLyoqXG4gKiBCcmlkZ2VzIGEgTW9tb2Egbm9kZSB0byB0aGUgbm9kZSB0eXBlIGBjb250ZXh0LnJlcG9ydCgpYCBpcyB0eXBlZCBhZ2FpbnN0LlxuICpcbiAqIFRoZSB0d28gYXJlIHN0cnVjdHVyYWxseSBpbmNvbXBhdGlibGUgLSBFU0xpbnQncyBydWxlIHR5cGVzIGRlc2NyaWJlIEVTVHJlZSAtIGJ1dCB0aGUgYGpzb24vanNvbmBcbiAqIGxhbmd1YWdlJ3Mgc291cmNlIGNvZGUgYWRhcHRlciByZXNvbHZlcyBhIE1vbW9hIG5vZGUncyBwb3NpdGlvbiBhdCByZXBvcnQgdGltZSwgc28gdGhleSBhcmUgY29tcGF0aWJsZVxuICogYXQgcnVudGltZS4gVGhpcyBtaXJyb3JzIHRoZSBicmlkZ2UgYHJ1bGUtdGVzdGVyLWhlbHBlci50c2AgbWFrZXMgb3ZlciB0aGUgc2FtZSBraW5kIG9mIHR5cGUtbGV2ZWwgZ2FwLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIE1vbW9hIG5vZGUgdG8gcmVwb3J0IG9uLlxuICogQHJldHVybnMgVGhlIHNhbWUgbm9kZSwgdHlwZWQgZm9yIGBjb250ZXh0LnJlcG9ydCgpYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUmVwb3J0Tm9kZShub2RlOiB1bmtub3duKTogUnVsZS5Ob2RlIHtcbiAgY29uc3QgYnJpZGdlZDogdW5rbm93biA9IG5vZGU7XG4gIHJldHVybiBicmlkZ2VkIGFzIFJ1bGUuTm9kZTtcbn1cblxuLyoqXG4gKiBDYXN0cyBgQGVzbGludC9qc29uYCB0byB0aGUgcGx1Z2luIHR5cGUgYEB0eXBlcy9lc2xpbnRgIGRlY2xhcmVzLlxuICpcbiAqIEByZXR1cm5zIFRoZSBgQGVzbGludC9qc29uYCBwbHVnaW4sIHR5cGVkIGZvciBhIGZsYXQgY29uZmlnLlxuICovXG5mdW5jdGlvbiBicmlkZ2VKc29uUGx1Z2luKCk6IEVTTGludC5QbHVnaW4ge1xuICBjb25zdCBicmlkZ2VkOiB1bmtub3duID0ganNvbjtcbiAgcmV0dXJuIGJyaWRnZWQgYXMgRVNMaW50LlBsdWdpbjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkEsT0FBTyxVQUFVO0FBS1YsTUFBTSx5QkFBeUI7QUFLL0IsTUFBTSx3QkFBd0I7QUFLOUIsTUFBTSx3QkFBd0I7QUFVOUIsTUFBTSxhQUE0QixpQkFBaUI7QUFLbkQsTUFBTSxxQkFBcUI7QUFnRTNCLFNBQVMsbUJBQW1CLGdCQUFnQyxLQUFvQztBQUNyRyxTQUFPLGVBQWUsUUFBUSxLQUFLLENBQUMsV0FBVyxhQUFhLE1BQU0sTUFBTSxHQUFHLEtBQUs7QUFDbEY7QUFRTyxTQUFTLGtCQUFrQixNQUFzQztBQUN0RSxRQUFNLFdBQVc7QUFDakIsU0FBTyxTQUFTLEtBQUssU0FBUyx3QkFBd0IsU0FBUyxPQUF5QjtBQUMxRjtBQVNPLFNBQVMsdUJBQXVCLGdCQUFnQyxLQUE0QjtBQUNqRyxRQUFNLFNBQVMsbUJBQW1CLGdCQUFnQixHQUFHO0FBQ3JELFNBQU8sU0FBUyxlQUFlLE9BQU8sS0FBSyxJQUFJO0FBQ2pEO0FBV08sU0FBUyxhQUFhLFFBQWdDO0FBQzNELFNBQU8sT0FBTyxLQUFLO0FBQ3JCO0FBUU8sU0FBUyxlQUFlLE1BQStCO0FBQzVELE1BQUksS0FBSyxTQUFTLHVCQUF1QjtBQUN2QyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sVUFBVTtBQUNoQixTQUFPLFFBQVE7QUFDakI7QUFZTyxTQUFTLGFBQWEsTUFBMEI7QUFDckQsUUFBTSxVQUFtQjtBQUN6QixTQUFPO0FBQ1Q7QUFPQSxTQUFTLG1CQUFrQztBQUN6QyxRQUFNLFVBQW1CO0FBQ3pCLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9tYW5pZmVzdC1oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTaGFyZWQgaGVscGVycyBmb3IgdGhlIGBtYW5pZmVzdC5qc29uYCBFU0xpbnQgcnVsZXMuXG4gKlxuICogVGhlIG1hbmlmZXN0IGlzIGxpbnRlZCB0aHJvdWdoIGBAZXNsaW50L2pzb25gJ3MgYGpzb24vanNvbmAgbGFuZ3VhZ2UsIHdob3NlIEFTVCBpcyBNb21vYVxuICogKGBEb2N1bWVudGAgLT4gYE9iamVjdGAgLT4gYE1lbWJlcmApIHJhdGhlciB0aGFuIEVTVHJlZSwgc28gdGhlc2UgcnVsZXMgdmlzaXQgYERvY3VtZW50YCBpbnN0ZWFkIG9mXG4gKiBgUHJvZ3JhbWAuIFRoYXQgZGlmZmVyZW5jZSBpcyBleGFjdGx5IHdoeSBgb2JzaWRpYW5tZC92YWxpZGF0ZS1tYW5pZmVzdGAgY2FuIG5ldmVyIGZpcmU6IGl0IHJlZ2lzdGVycyBhXG4gKiBgUHJvZ3JhbWAgdmlzaXRvciBhbmQgZXhwZWN0cyBhbiBFU1RyZWUgYE9iamVjdEV4cHJlc3Npb25gLCB3aGljaCBubyBzaGlwcGVkIEpTT04gcGFyc2VyIHByb2R1Y2VzLlxuICpcbiAqIFRoZSBNb21vYSBub2RlIHNoYXBlcyBhcmUgZGVjbGFyZWQgc3RydWN0dXJhbGx5IGhlcmUgcmF0aGVyIHRoYW4gaW1wb3J0ZWQgZnJvbSBgQGh1bWFud2hvY29kZXMvbW9tb2FgLFxuICogd2hpY2ggaXMgb25seSBhIHRyYW5zaXRpdmUgZGVwZW5kZW5jeSBvZiBgQGVzbGludC9qc29uYC4gQSB0eXBlLW9ubHkgaW1wb3J0IHdvdWxkIGxlYWsgaW50byB0aGVcbiAqIHB1Ymxpc2hlZCBkZWNsYXJhdGlvbnMgYW5kIGZvcmNlIGV2ZXJ5IGNvbnN1bWVyIHRvIHJlc29sdmUgYSBwYWNrYWdlIGl0IG5ldmVyIGluc3RhbGxlZC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEVTTGludCxcbiAgUnVsZVxufSBmcm9tICdlc2xpbnQnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tcmVuYW1lLWRlZmF1bHQgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYHBsdWdpbmAgaXMgdG9vIGNvbmZ1c2luZy5cbmltcG9ydCBqc29uIGZyb20gJ0Blc2xpbnQvanNvbic7XG5cbi8qKlxuICogVGhlIE1vbW9hIG5vZGUgdHlwZSBvZiBhIEpTT04gYm9vbGVhbiB2YWx1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEpTT05fTk9ERV9UWVBFX0JPT0xFQU4gPSAnQm9vbGVhbic7XG5cbi8qKlxuICogVGhlIE1vbW9hIG5vZGUgdHlwZSBvZiBhIEpTT04gb2JqZWN0IHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgSlNPTl9OT0RFX1RZUEVfT0JKRUNUID0gJ09iamVjdCc7XG5cbi8qKlxuICogVGhlIE1vbW9hIG5vZGUgdHlwZSBvZiBhIEpTT04gc3RyaW5nIHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgSlNPTl9OT0RFX1RZUEVfU1RSSU5HID0gJ1N0cmluZyc7XG5cbi8qKlxuICogYEBlc2xpbnQvanNvbmAsIHR5cGVkIGFzIHRoZSBwbHVnaW4gdHlwZSBhIGZsYXQgY29uZmlnIGFuZCBgUnVsZVRlc3RlcmAgYXJlIHdyaXR0ZW4gYWdhaW5zdC5cbiAqXG4gKiBUaGUgcGFja2FnZSdzIHJ1bGUgZGVmaW5pdGlvbnMgYXJlIGdlbmVyaWMgb3ZlciBpdHMgb3duIEpTT04gbGFuZ3VhZ2UsIHdoaWNoIGBAdHlwZXMvZXNsaW50YCdzXG4gKiBgRVNMaW50LlBsdWdpbmAgLSB3cml0dGVuIGFnYWluc3QgRVNUcmVlIHJ1bGVzIC0gY2Fubm90IGV4cHJlc3MsIHNvIHRoZSB0d28gYXJlIG5vbWluYWxseSBpbmNvbXBhdGlibGVcbiAqIHdoaWxlIGJlaW5nIGV4YWN0bHkgY29tcGF0aWJsZSBhdCBydW50aW1lLiBSZWdpc3RlcmluZyBpdCBpcyB3aGF0IG1ha2VzIGBsYW5ndWFnZTogJ2pzb24vanNvbidgXG4gKiByZXNvbHZhYmxlLCBzbyB0aGVyZSBpcyBubyB3YXkgdG8gYXZvaWQgdGhlIGJyaWRnZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGpzb25QbHVnaW46IEVTTGludC5QbHVnaW4gPSBicmlkZ2VKc29uUGx1Z2luKCk7XG5cbi8qKlxuICogVGhlIGB2ZXJzaW9uYCBhIHBsdWdpbiByZXBvIGNhcnJpZXMgYmVmb3JlIGl0cyBmaXJzdCByZWxlYXNlLCB3aGVuIGBtaW5BcHBWZXJzaW9uYCBpcyBsZWdpdGltYXRlbHkgYWJzZW50LlxuICovXG5leHBvcnQgY29uc3QgVU5SRUxFQVNFRF9WRVJTSU9OID0gJzAuMC4wJztcblxuLyoqXG4gKiBUaGUgcm9vdCBub2RlIG9mIGEgcGFyc2VkIEpTT04gZG9jdW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkRvY3VtZW50Tm9kZSBleHRlbmRzIEpzb25Ob2RlIHtcbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudCdzIHNpbmdsZSB0b3AtbGV2ZWwgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBib2R5OiBKc29uTm9kZTtcbn1cblxuLyoqXG4gKiBBIEpTT04gbGl0ZXJhbCAtIGEgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4gb3IgbnVsbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uTGl0ZXJhbE5vZGUgZXh0ZW5kcyBKc29uTm9kZSB7XG4gIC8qKlxuICAgKiBUaGUgbGl0ZXJhbCdzIHBhcnNlZCB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IG51bWJlciB8IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBgXCJrZXlcIjogdmFsdWVgIHBhaXIgb2YgYSBKU09OIG9iamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uTWVtYmVyTm9kZSBleHRlbmRzIEpzb25Ob2RlIHtcbiAgLyoqXG4gICAqIFRoZSBtZW1iZXIncyBrZXkuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBKc29uTGl0ZXJhbE5vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBtZW1iZXIncyB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBKc29uTm9kZTtcbn1cblxuLyoqXG4gKiBBbnkgbm9kZSBvZiB0aGUgTW9tb2EgSlNPTiBBU1QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbk5vZGUge1xuICAvKipcbiAgICogVGhlIG5vZGUgdHlwZSwgZS5nLiBgRG9jdW1lbnRgLCBgT2JqZWN0YCwgYE1lbWJlcmAsIGBTdHJpbmdgLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgSlNPTiBvYmplY3QgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbk9iamVjdE5vZGUgZXh0ZW5kcyBKc29uTm9kZSB7XG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0J3MgbWVtYmVycywgaW4gc291cmNlIG9yZGVyLCBpbmNsdWRpbmcgYW55IGR1cGxpY2F0ZSBrZXlzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWVtYmVyczogcmVhZG9ubHkgSnNvbk1lbWJlck5vZGVbXTtcbn1cblxuLyoqXG4gKiBGaW5kcyBhIHRvcC1sZXZlbCBtZW1iZXIgb2YgdGhlIG1hbmlmZXN0IGJ5IGtleS5cbiAqXG4gKiBAcGFyYW0gbWFuaWZlc3RPYmplY3QgLSBUaGUgbWFuaWZlc3QncyByb290IG9iamVjdCBub2RlLlxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gbG9vayBmb3IuXG4gKiBAcmV0dXJucyBUaGUgZmlyc3QgbWVtYmVyIHdpdGggdGhhdCBrZXksIG9yIGBudWxsYCB3aGVuIHRoZSBtYW5pZmVzdCBoYXMgbm9uZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRNYW5pZmVzdE1lbWJlcihtYW5pZmVzdE9iamVjdDogSnNvbk9iamVjdE5vZGUsIGtleTogc3RyaW5nKTogSnNvbk1lbWJlck5vZGUgfCBudWxsIHtcbiAgcmV0dXJuIG1hbmlmZXN0T2JqZWN0Lm1lbWJlcnMuZmluZCgobWVtYmVyKSA9PiBnZXRNZW1iZXJLZXkobWVtYmVyKSA9PT0ga2V5KSA/PyBudWxsO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBtYW5pZmVzdCdzIHJvb3Qgb2JqZWN0IG91dCBvZiB0aGUgdmlzaXRlZCBgRG9jdW1lbnRgIG5vZGUuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgYERvY3VtZW50YCBub2RlIGhhbmRlZCB0byB0aGUgcnVsZSdzIHZpc2l0b3IuXG4gKiBAcmV0dXJucyBUaGUgcm9vdCBvYmplY3Qgbm9kZSwgb3IgYG51bGxgIHdoZW4gdGhlIGRvY3VtZW50J3MgdG9wLWxldmVsIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYW5pZmVzdE9iamVjdChub2RlOiB1bmtub3duKTogSnNvbk9iamVjdE5vZGUgfCBudWxsIHtcbiAgY29uc3QgZG9jdW1lbnQgPSBub2RlIGFzIEpzb25Eb2N1bWVudE5vZGU7XG4gIHJldHVybiBkb2N1bWVudC5ib2R5LnR5cGUgPT09IEpTT05fTk9ERV9UWVBFX09CSkVDVCA/IGRvY3VtZW50LmJvZHkgYXMgSnNvbk9iamVjdE5vZGUgOiBudWxsO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSB2YWx1ZSBvZiBhIHRvcC1sZXZlbCBzdHJpbmcgbWVtYmVyIG9mIHRoZSBtYW5pZmVzdC5cbiAqXG4gKiBAcGFyYW0gbWFuaWZlc3RPYmplY3QgLSBUaGUgbWFuaWZlc3QncyByb290IG9iamVjdCBub2RlLlxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gbG9vayBmb3IuXG4gKiBAcmV0dXJucyBUaGUgbWVtYmVyJ3MgdmFsdWUsIG9yIGBudWxsYCB3aGVuIGl0IGlzIGFic2VudCBvciBub3QgYSBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYW5pZmVzdFN0cmluZ1ZhbHVlKG1hbmlmZXN0T2JqZWN0OiBKc29uT2JqZWN0Tm9kZSwga2V5OiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgY29uc3QgbWVtYmVyID0gZmluZE1hbmlmZXN0TWVtYmVyKG1hbmlmZXN0T2JqZWN0LCBrZXkpO1xuICByZXR1cm4gbWVtYmVyID8gZ2V0U3RyaW5nVmFsdWUobWVtYmVyLnZhbHVlKSA6IG51bGw7XG59XG5cbi8qKlxuICogUmVhZHMgYSBtZW1iZXIncyBrZXkuXG4gKlxuICogVW5kZXIgdGhlIGBqc29uL2pzb25gIGxhbmd1YWdlIGEgbWVtYmVyJ3MgbmFtZSBpcyBhbHdheXMgYSBzdHJpbmcgbm9kZSAtIGlkZW50aWZpZXIga2V5cyBleGlzdCBvbmx5IGluXG4gKiBKU09ONSAtIHNvIHRoaXMgbmV2ZXIgaGFzIHRvIGFjY291bnQgZm9yIGEgbWlzc2luZyBrZXkuXG4gKlxuICogQHBhcmFtIG1lbWJlciAtIFRoZSBtZW1iZXIgdG8gcmVhZC5cbiAqIEByZXR1cm5zIFRoZSBtZW1iZXIncyBrZXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZW1iZXJLZXkobWVtYmVyOiBKc29uTWVtYmVyTm9kZSk6IHN0cmluZyB7XG4gIHJldHVybiBtZW1iZXIubmFtZS52YWx1ZSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIHZhbHVlIG9mIGEgTW9tb2Egc3RyaW5nIG5vZGUuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgbm9kZSB0byByZWFkLlxuICogQHJldHVybnMgVGhlIHN0cmluZyB2YWx1ZSwgb3IgYG51bGxgIHdoZW4gdGhlIG5vZGUgaXMgbm90IGEgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RyaW5nVmFsdWUobm9kZTogSnNvbk5vZGUpOiBudWxsIHwgc3RyaW5nIHtcbiAgaWYgKG5vZGUudHlwZSAhPT0gSlNPTl9OT0RFX1RZUEVfU1RSSU5HKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsaXRlcmFsID0gbm9kZSBhcyBKc29uTGl0ZXJhbE5vZGU7XG4gIHJldHVybiBsaXRlcmFsLnZhbHVlIGFzIHN0cmluZztcbn1cblxuLyoqXG4gKiBCcmlkZ2VzIGEgTW9tb2Egbm9kZSB0byB0aGUgbm9kZSB0eXBlIGBjb250ZXh0LnJlcG9ydCgpYCBpcyB0eXBlZCBhZ2FpbnN0LlxuICpcbiAqIFRoZSB0d28gYXJlIHN0cnVjdHVyYWxseSBpbmNvbXBhdGlibGUgLSBFU0xpbnQncyBydWxlIHR5cGVzIGRlc2NyaWJlIEVTVHJlZSAtIGJ1dCB0aGUgYGpzb24vanNvbmBcbiAqIGxhbmd1YWdlJ3Mgc291cmNlIGNvZGUgYWRhcHRlciByZXNvbHZlcyBhIE1vbW9hIG5vZGUncyBwb3NpdGlvbiBhdCByZXBvcnQgdGltZSwgc28gdGhleSBhcmUgY29tcGF0aWJsZVxuICogYXQgcnVudGltZS4gVGhpcyBtaXJyb3JzIHRoZSBicmlkZ2UgYHJ1bGUtdGVzdGVyLWhlbHBlci50c2AgbWFrZXMgb3ZlciB0aGUgc2FtZSBraW5kIG9mIHR5cGUtbGV2ZWwgZ2FwLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIE1vbW9hIG5vZGUgdG8gcmVwb3J0IG9uLlxuICogQHJldHVybnMgVGhlIHNhbWUgbm9kZSwgdHlwZWQgZm9yIGBjb250ZXh0LnJlcG9ydCgpYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUmVwb3J0Tm9kZShub2RlOiB1bmtub3duKTogUnVsZS5Ob2RlIHtcbiAgY29uc3QgYnJpZGdlZDogdW5rbm93biA9IG5vZGU7XG4gIHJldHVybiBicmlkZ2VkIGFzIFJ1bGUuTm9kZTtcbn1cblxuLyoqXG4gKiBDYXN0cyBgQGVzbGludC9qc29uYCB0byB0aGUgcGx1Z2luIHR5cGUgYEB0eXBlcy9lc2xpbnRgIGRlY2xhcmVzLlxuICpcbiAqIEByZXR1cm5zIFRoZSBgQGVzbGludC9qc29uYCBwbHVnaW4sIHR5cGVkIGZvciBhIGZsYXQgY29uZmlnLlxuICovXG5mdW5jdGlvbiBicmlkZ2VKc29uUGx1Z2luKCk6IEVTTGludC5QbHVnaW4ge1xuICBjb25zdCBicmlkZ2VkOiB1bmtub3duID0ganNvbjtcbiAgcmV0dXJuIGJyaWRnZWQgYXMgRVNMaW50LlBsdWdpbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkEsT0FBTyxVQUFVO0FBS1YsTUFBTSx5QkFBeUI7QUFLL0IsTUFBTSx3QkFBd0I7QUFLOUIsTUFBTSx3QkFBd0I7QUFVOUIsTUFBTSxhQUE0QixpQkFBaUI7QUFLbkQsTUFBTSxxQkFBcUI7QUFnRTNCLFNBQVMsbUJBQW1CLGdCQUFnQyxLQUFvQztBQUNyRyxTQUFPLGVBQWUsUUFBUSxLQUFLLENBQUMsV0FBVyxhQUFhLE1BQU0sTUFBTSxHQUFHLEtBQUs7QUFDbEY7QUFRTyxTQUFTLGtCQUFrQixNQUFzQztBQUN0RSxRQUFNLFdBQVc7QUFDakIsU0FBTyxTQUFTLEtBQUssU0FBUyx3QkFBd0IsU0FBUyxPQUF5QjtBQUMxRjtBQVNPLFNBQVMsdUJBQXVCLGdCQUFnQyxLQUE0QjtBQUNqRyxRQUFNLFNBQVMsbUJBQW1CLGdCQUFnQixHQUFHO0FBQ3JELFNBQU8sU0FBUyxlQUFlLE9BQU8sS0FBSyxJQUFJO0FBQ2pEO0FBV08sU0FBUyxhQUFhLFFBQWdDO0FBQzNELFNBQU8sT0FBTyxLQUFLO0FBQ3JCO0FBUU8sU0FBUyxlQUFlLE1BQStCO0FBQzVELE1BQUksS0FBSyxTQUFTLHVCQUF1QjtBQUN2QyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sVUFBVTtBQUNoQixTQUFPLFFBQVE7QUFDakI7QUFZTyxTQUFTLGFBQWEsTUFBMEI7QUFDckQsUUFBTSxVQUFtQjtBQUN6QixTQUFPO0FBQ1Q7QUFPQSxTQUFTLG1CQUFrQztBQUN6QyxRQUFNLFVBQW1CO0FBQ3pCLFNBQU87QUFDVDsiLCJuYW1lcyI6W119
@@ -1,4 +1,4 @@
1
- /// <reference path="../../index.d.mts" />
1
+ /// <reference path="../../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -3,50 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return '/';
17
- },
18
- env: {},
19
- platform: 'android'
20
- };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
- const existingProcess = globalThis.process;
24
-
25
- if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
- globalThis.process = browserProcess;
28
- return;
29
- }
30
-
31
- if (existingProcess.versions?.node) {
32
- return;
33
- }
34
-
35
- const existingProcessRecord = existingProcess;
36
-
37
- for (const [key, value] of Object.entries(browserProcess)) {
38
- existingProcessRecord[key] ??= value;
39
- }
40
-
41
- existingProcessRecord['browser'] = true;
42
- }
43
-
44
- (function initEsm() {
45
- ensureDisposeSymbols();
46
- ensureBrowserProcess();
47
- })();
48
- })();
49
-
50
6
  import {
51
7
  findManifestMember,
52
8
  getManifestObject,
@@ -114,4 +70,4 @@ export {
114
70
  MESSAGE_ID_INVALID_CHARACTERS,
115
71
  manifestId
116
72
  };
117
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL21hbmlmZXN0LWlkLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG1hbmlmZXN0LWlkXG4gKlxuICogRW5mb3JjZXMgdGhlIENvbW11bml0eSBkaXJlY3RvcnkncyBjb25zdHJhaW50cyBvbiBhIHBsdWdpbidzIGBtYW5pZmVzdC5qc29uYCBgaWRgOiBsb3dlcmNhc2UgbGV0dGVycyxcbiAqIGRpZ2l0cyBhbmQgaHlwaGVucyBvbmx5OyBuZXZlciBjb250YWluaW5nIGBvYnNpZGlhbmA7IG5ldmVyIGVuZGluZyB3aXRoIGBwbHVnaW5gLlxuICpcbiAqIEEgcHVibGlzaGVkIGlkIGNhbiBuZXZlciBiZSBjaGFuZ2VkLCBzbyBhIHZpb2xhdGlvbiBpbiBhbiBhbHJlYWR5LWxpc3RlZCBwbHVnaW4gaXMgcGVybWFuZW50IGFuZCB0aGVcbiAqIG9ubHkgcmVtZWR5IGlzIHR1cm5pbmcgdGhpcyBydWxlIG9mZiBmb3IgdGhhdCByZXBvIHdpdGggdGhlIHJlYXNvbiB3cml0dGVuIGJlc2lkZSBpdC5cbiAqXG4gKiBSdW5zIG9uIHRoZSBgQGVzbGludC9qc29uYCBganNvbi9qc29uYCBsYW5ndWFnZTsgc2VlIGBtYW5pZmVzdC1oZWxwZXJzLnRzYCBmb3Igd2h5IHRoZSBBU1QgaXMgTW9tb2FcbiAqIHJhdGhlciB0aGFuIEVTVHJlZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQge1xuICBmaW5kTWFuaWZlc3RNZW1iZXIsXG4gIGdldE1hbmlmZXN0T2JqZWN0LFxuICBnZXRTdHJpbmdWYWx1ZSxcbiAgdG9SZXBvcnROb2RlXG59IGZyb20gJy4vbWFuaWZlc3QtaGVscGVycy50cyc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIHRoZSBpZCBjb250YWlucyBgb2JzaWRpYW5gLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9DT05UQUlOU19PQlNJRElBTiA9ICdpZENvbnRhaW5zT2JzaWRpYW4nO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiB0aGUgaWQgZW5kcyB3aXRoIGBwbHVnaW5gLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9FTkRTX1dJVEhfUExVR0lOID0gJ2lkRW5kc1dpdGhQbHVnaW4nO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiB0aGUgaWQgaG9sZHMgY2hhcmFjdGVycyBvdGhlciB0aGFuIGxvd2VyY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIGh5cGhlbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0lOVkFMSURfQ0hBUkFDVEVSUyA9ICdpZEludmFsaWRDaGFyYWN0ZXJzJztcblxuLyoqXG5UaGUgb25seSBjaGFyYWN0ZXJzIGEgcGx1Z2luIGlkIG1heSBob2xkLlxuICovXG5jb25zdCBBTExPV0VEX0lEX0NIQVJBQ1RFUlMgPSAvXlthLXowLTktXSskLztcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSBlbmZvcmNpbmcgdGhlIENvbW11bml0eSBkaXJlY3RvcnkncyBjb25zdHJhaW50cyBvbiBhIHBsdWdpbidzIGBtYW5pZmVzdC5qc29uYCBgaWRgLlxuICovXG5leHBvcnQgY29uc3QgbWFuaWZlc3RJZDogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICBEb2N1bWVudChub2RlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1hbmlmZXN0T2JqZWN0ID0gZ2V0TWFuaWZlc3RPYmplY3Qobm9kZSk7XG5cbiAgICAgICAgaWYgKCFtYW5pZmVzdE9iamVjdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lbWJlciA9IGZpbmRNYW5pZmVzdE1lbWJlcihtYW5pZmVzdE9iamVjdCwgJ2lkJyk7XG5cbiAgICAgICAgaWYgKCFtZW1iZXIpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZCA9IGdldFN0cmluZ1ZhbHVlKG1lbWJlci52YWx1ZSk7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVwb3J0Tm9kZSA9IHRvUmVwb3J0Tm9kZShtZW1iZXIudmFsdWUpO1xuXG4gICAgICAgIGlmICghQUxMT1dFRF9JRF9DSEFSQUNURVJTLnRlc3QoaWQpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0lOVkFMSURfQ0hBUkFDVEVSUyxcbiAgICAgICAgICAgIG5vZGU6IHJlcG9ydE5vZGVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdvYnNpZGlhbicpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0NPTlRBSU5TX09CU0lESUFOLFxuICAgICAgICAgICAgbm9kZTogcmVwb3J0Tm9kZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlkLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ3BsdWdpbicpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0VORFNfV0lUSF9QTFVHSU4sXG4gICAgICAgICAgICBub2RlOiByZXBvcnROb2RlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdFbmZvcmNlIHRoZSBDb21tdW5pdHkgZGlyZWN0b3J5XFwncyBjb25zdHJhaW50cyBvbiBhIHBsdWdpblxcJ3MgYG1hbmlmZXN0Lmpzb25gIGBpZGAnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURfQ09OVEFJTlNfT0JTSURJQU5dOiAnVGhlIGBpZGAgbXVzdCBub3QgY29udGFpbiBgb2JzaWRpYW5gLiBJdCBpcyBpbXBsaWVkIGJ5IHRoZSBjb250ZXh0IG9mIHRoZSBwbHVnaW4gZGlyZWN0b3J5LicsXG4gICAgICBbTUVTU0FHRV9JRF9FTkRTX1dJVEhfUExVR0lOXTogJ1RoZSBgaWRgIG11c3Qgbm90IGVuZCB3aXRoIGBwbHVnaW5gLicsXG4gICAgICBbTUVTU0FHRV9JRF9JTlZBTElEX0NIQVJBQ1RFUlNdOiAnVGhlIGBpZGAgbXVzdCBjb250YWluIG9ubHkgbG93ZXJjYXNlIGxldHRlcnMsIGRpZ2l0cyBhbmQgaHlwaGVucy4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBS0EsTUFBTSwrQkFBK0I7QUFLckMsTUFBTSw4QkFBOEI7QUFLcEMsTUFBTSxnQ0FBZ0M7QUFLN0MsTUFBTSx3QkFBd0I7QUFLdkIsTUFBTSxhQUE4QjtBQUFBLEVBQ3pDLE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLFNBQVMsTUFBcUI7QUFDNUIsY0FBTSxpQkFBaUIsa0JBQWtCLElBQUk7QUFFN0MsWUFBSSxDQUFDLGdCQUFnQjtBQUNuQjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLFNBQVMsbUJBQW1CLGdCQUFnQixJQUFJO0FBRXRELFlBQUksQ0FBQyxRQUFRO0FBQ1g7QUFBQSxRQUNGO0FBRUEsY0FBTSxLQUFLLGVBQWUsT0FBTyxLQUFLO0FBRXRDLFlBQUksT0FBTyxNQUFNO0FBQ2Y7QUFBQSxRQUNGO0FBRUEsY0FBTSxhQUFhLGFBQWEsT0FBTyxLQUFLO0FBRTVDLFlBQUksQ0FBQyxzQkFBc0IsS0FBSyxFQUFFLEdBQUc7QUFDbkMsa0JBQVEsT0FBTztBQUFBLFlBQ2IsV0FBVztBQUFBLFlBQ1gsTUFBTTtBQUFBLFVBQ1IsQ0FBQztBQUFBLFFBQ0g7QUFFQSxZQUFJLEdBQUcsWUFBWSxFQUFFLFNBQVMsVUFBVSxHQUFHO0FBQ3pDLGtCQUFRLE9BQU87QUFBQSxZQUNiLFdBQVc7QUFBQSxZQUNYLE1BQU07QUFBQSxVQUNSLENBQUM7QUFBQSxRQUNIO0FBRUEsWUFBSSxHQUFHLFlBQVksRUFBRSxTQUFTLFFBQVEsR0FBRztBQUN2QyxrQkFBUSxPQUFPO0FBQUEsWUFDYixXQUFXO0FBQUEsWUFDWCxNQUFNO0FBQUEsVUFDUixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsNEJBQTRCLEdBQUc7QUFBQSxNQUNoQyxDQUFDLDJCQUEyQixHQUFHO0FBQUEsTUFDL0IsQ0FBQyw2QkFBNkIsR0FBRztBQUFBLElBQ25DO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNSO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
73
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL21hbmlmZXN0LWlkLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG1hbmlmZXN0LWlkXG4gKlxuICogRW5mb3JjZXMgdGhlIENvbW11bml0eSBkaXJlY3RvcnkncyBjb25zdHJhaW50cyBvbiBhIHBsdWdpbidzIGBtYW5pZmVzdC5qc29uYCBgaWRgOiBsb3dlcmNhc2UgbGV0dGVycyxcbiAqIGRpZ2l0cyBhbmQgaHlwaGVucyBvbmx5OyBuZXZlciBjb250YWluaW5nIGBvYnNpZGlhbmA7IG5ldmVyIGVuZGluZyB3aXRoIGBwbHVnaW5gLlxuICpcbiAqIEEgcHVibGlzaGVkIGlkIGNhbiBuZXZlciBiZSBjaGFuZ2VkLCBzbyBhIHZpb2xhdGlvbiBpbiBhbiBhbHJlYWR5LWxpc3RlZCBwbHVnaW4gaXMgcGVybWFuZW50IGFuZCB0aGVcbiAqIG9ubHkgcmVtZWR5IGlzIHR1cm5pbmcgdGhpcyBydWxlIG9mZiBmb3IgdGhhdCByZXBvIHdpdGggdGhlIHJlYXNvbiB3cml0dGVuIGJlc2lkZSBpdC5cbiAqXG4gKiBSdW5zIG9uIHRoZSBgQGVzbGludC9qc29uYCBganNvbi9qc29uYCBsYW5ndWFnZTsgc2VlIGBtYW5pZmVzdC1oZWxwZXJzLnRzYCBmb3Igd2h5IHRoZSBBU1QgaXMgTW9tb2FcbiAqIHJhdGhlciB0aGFuIEVTVHJlZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQge1xuICBmaW5kTWFuaWZlc3RNZW1iZXIsXG4gIGdldE1hbmlmZXN0T2JqZWN0LFxuICBnZXRTdHJpbmdWYWx1ZSxcbiAgdG9SZXBvcnROb2RlXG59IGZyb20gJy4vbWFuaWZlc3QtaGVscGVycy50cyc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIHRoZSBpZCBjb250YWlucyBgb2JzaWRpYW5gLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9DT05UQUlOU19PQlNJRElBTiA9ICdpZENvbnRhaW5zT2JzaWRpYW4nO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiB0aGUgaWQgZW5kcyB3aXRoIGBwbHVnaW5gLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9FTkRTX1dJVEhfUExVR0lOID0gJ2lkRW5kc1dpdGhQbHVnaW4nO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiB0aGUgaWQgaG9sZHMgY2hhcmFjdGVycyBvdGhlciB0aGFuIGxvd2VyY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIGh5cGhlbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0lOVkFMSURfQ0hBUkFDVEVSUyA9ICdpZEludmFsaWRDaGFyYWN0ZXJzJztcblxuLyoqXG5UaGUgb25seSBjaGFyYWN0ZXJzIGEgcGx1Z2luIGlkIG1heSBob2xkLlxuICovXG5jb25zdCBBTExPV0VEX0lEX0NIQVJBQ1RFUlMgPSAvXlthLXowLTktXSskLztcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSBlbmZvcmNpbmcgdGhlIENvbW11bml0eSBkaXJlY3RvcnkncyBjb25zdHJhaW50cyBvbiBhIHBsdWdpbidzIGBtYW5pZmVzdC5qc29uYCBgaWRgLlxuICovXG5leHBvcnQgY29uc3QgbWFuaWZlc3RJZDogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICBEb2N1bWVudChub2RlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1hbmlmZXN0T2JqZWN0ID0gZ2V0TWFuaWZlc3RPYmplY3Qobm9kZSk7XG5cbiAgICAgICAgaWYgKCFtYW5pZmVzdE9iamVjdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lbWJlciA9IGZpbmRNYW5pZmVzdE1lbWJlcihtYW5pZmVzdE9iamVjdCwgJ2lkJyk7XG5cbiAgICAgICAgaWYgKCFtZW1iZXIpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZCA9IGdldFN0cmluZ1ZhbHVlKG1lbWJlci52YWx1ZSk7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVwb3J0Tm9kZSA9IHRvUmVwb3J0Tm9kZShtZW1iZXIudmFsdWUpO1xuXG4gICAgICAgIGlmICghQUxMT1dFRF9JRF9DSEFSQUNURVJTLnRlc3QoaWQpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0lOVkFMSURfQ0hBUkFDVEVSUyxcbiAgICAgICAgICAgIG5vZGU6IHJlcG9ydE5vZGVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdvYnNpZGlhbicpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0NPTlRBSU5TX09CU0lESUFOLFxuICAgICAgICAgICAgbm9kZTogcmVwb3J0Tm9kZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlkLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ3BsdWdpbicpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0VORFNfV0lUSF9QTFVHSU4sXG4gICAgICAgICAgICBub2RlOiByZXBvcnROb2RlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdFbmZvcmNlIHRoZSBDb21tdW5pdHkgZGlyZWN0b3J5XFwncyBjb25zdHJhaW50cyBvbiBhIHBsdWdpblxcJ3MgYG1hbmlmZXN0Lmpzb25gIGBpZGAnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURfQ09OVEFJTlNfT0JTSURJQU5dOiAnVGhlIGBpZGAgbXVzdCBub3QgY29udGFpbiBgb2JzaWRpYW5gLiBJdCBpcyBpbXBsaWVkIGJ5IHRoZSBjb250ZXh0IG9mIHRoZSBwbHVnaW4gZGlyZWN0b3J5LicsXG4gICAgICBbTUVTU0FHRV9JRF9FTkRTX1dJVEhfUExVR0lOXTogJ1RoZSBgaWRgIG11c3Qgbm90IGVuZCB3aXRoIGBwbHVnaW5gLicsXG4gICAgICBbTUVTU0FHRV9JRF9JTlZBTElEX0NIQVJBQ1RFUlNdOiAnVGhlIGBpZGAgbXVzdCBjb250YWluIG9ubHkgbG93ZXJjYXNlIGxldHRlcnMsIGRpZ2l0cyBhbmQgaHlwaGVucy4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFpQkE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUtBLE1BQU0sK0JBQStCO0FBS3JDLE1BQU0sOEJBQThCO0FBS3BDLE1BQU0sZ0NBQWdDO0FBSzdDLE1BQU0sd0JBQXdCO0FBS3ZCLE1BQU0sYUFBOEI7QUFBQSxFQUN6QyxPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxTQUFTLE1BQXFCO0FBQzVCLGNBQU0saUJBQWlCLGtCQUFrQixJQUFJO0FBRTdDLFlBQUksQ0FBQyxnQkFBZ0I7QUFDbkI7QUFBQSxRQUNGO0FBRUEsY0FBTSxTQUFTLG1CQUFtQixnQkFBZ0IsSUFBSTtBQUV0RCxZQUFJLENBQUMsUUFBUTtBQUNYO0FBQUEsUUFDRjtBQUVBLGNBQU0sS0FBSyxlQUFlLE9BQU8sS0FBSztBQUV0QyxZQUFJLE9BQU8sTUFBTTtBQUNmO0FBQUEsUUFDRjtBQUVBLGNBQU0sYUFBYSxhQUFhLE9BQU8sS0FBSztBQUU1QyxZQUFJLENBQUMsc0JBQXNCLEtBQUssRUFBRSxHQUFHO0FBQ25DLGtCQUFRLE9BQU87QUFBQSxZQUNiLFdBQVc7QUFBQSxZQUNYLE1BQU07QUFBQSxVQUNSLENBQUM7QUFBQSxRQUNIO0FBRUEsWUFBSSxHQUFHLFlBQVksRUFBRSxTQUFTLFVBQVUsR0FBRztBQUN6QyxrQkFBUSxPQUFPO0FBQUEsWUFDYixXQUFXO0FBQUEsWUFDWCxNQUFNO0FBQUEsVUFDUixDQUFDO0FBQUEsUUFDSDtBQUVBLFlBQUksR0FBRyxZQUFZLEVBQUUsU0FBUyxRQUFRLEdBQUc7QUFDdkMsa0JBQVEsT0FBTztBQUFBLFlBQ2IsV0FBVztBQUFBLFlBQ1gsTUFBTTtBQUFBLFVBQ1IsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixDQUFDLDRCQUE0QixHQUFHO0FBQUEsTUFDaEMsQ0FBQywyQkFBMkIsR0FBRztBQUFBLE1BQy9CLENBQUMsNkJBQTZCLEdBQUc7QUFBQSxJQUNuQztBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxNQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,4 +1,4 @@
1
- /// <reference path="../../index.d.mts" />
1
+ /// <reference path="../../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -3,50 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return '/';
17
- },
18
- env: {},
19
- platform: 'android'
20
- };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
- const existingProcess = globalThis.process;
24
-
25
- if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
- globalThis.process = browserProcess;
28
- return;
29
- }
30
-
31
- if (existingProcess.versions?.node) {
32
- return;
33
- }
34
-
35
- const existingProcessRecord = existingProcess;
36
-
37
- for (const [key, value] of Object.entries(browserProcess)) {
38
- existingProcessRecord[key] ??= value;
39
- }
40
-
41
- existingProcessRecord['browser'] = true;
42
- }
43
-
44
- (function initEsm() {
45
- ensureDisposeSymbols();
46
- ensureBrowserProcess();
47
- })();
48
- })();
49
-
50
6
  import {
51
7
  findManifestMember,
52
8
  getManifestObject,
@@ -115,4 +71,4 @@ export {
115
71
  MESSAGE_ID_INVALID_CHARACTERS,
116
72
  manifestName
117
73
  };
118
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL21hbmlmZXN0LW5hbWUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbWFuaWZlc3QtbmFtZVxuICpcbiAqIEVuZm9yY2VzIHRoZSBDb21tdW5pdHkgZGlyZWN0b3J5J3MgY29uc3RyYWludHMgb24gYSBwbHVnaW4ncyBgbWFuaWZlc3QuanNvbmAgYG5hbWVgOiBubyBgT2JzaWRpYW5gIG9yXG4gKiBpdHMgdmFyaWFudHMsIG5vIGBQbHVnaW5gLCBhbmQgQmFzaWMgTGF0aW4gb25seSB3aXRoIGh5cGhlbnMsIHBsdXMgc2lnbnMgYW5kIHBhcmVudGhlc2VzIHRoZSBzb2xlXG4gKiBwZXJtaXR0ZWQgcHVuY3R1YXRpb24uXG4gKlxuICogUnVucyBvbiB0aGUgYEBlc2xpbnQvanNvbmAgYGpzb24vanNvbmAgbGFuZ3VhZ2U7IHNlZSBgbWFuaWZlc3QtaGVscGVycy50c2AgZm9yIHdoeSB0aGUgQVNUIGlzIE1vbW9hXG4gKiByYXRoZXIgdGhhbiBFU1RyZWUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuaW1wb3J0IHtcbiAgZmluZE1hbmlmZXN0TWVtYmVyLFxuICBnZXRNYW5pZmVzdE9iamVjdCxcbiAgZ2V0U3RyaW5nVmFsdWUsXG4gIHRvUmVwb3J0Tm9kZVxufSBmcm9tICcuL21hbmlmZXN0LWhlbHBlcnMudHMnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiB0aGUgbmFtZSBjb250YWlucyBgT2JzaWRpYW5gIG9yIG9uZSBvZiBpdHMgdmFyaWFudHMuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0NPTlRBSU5TX09CU0lESUFOID0gJ25hbWVDb250YWluc09ic2lkaWFuJztcblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gdGhlIG5hbWUgY29udGFpbnMgYFBsdWdpbmAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0NPTlRBSU5TX1BMVUdJTiA9ICduYW1lQ29udGFpbnNQbHVnaW4nO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiB0aGUgbmFtZSBob2xkcyBhIGNoYXJhY3RlciBvdXRzaWRlIEJhc2ljIExhdGluLCBvciBwdW5jdHVhdGlvbiB0aGUgZGlyZWN0b3J5IHJlamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0lOVkFMSURfQ0hBUkFDVEVSUyA9ICduYW1lSW52YWxpZENoYXJhY3RlcnMnO1xuXG4vKipcblRoZSBvbmx5IGNoYXJhY3RlcnMgYSBwbHVnaW4gbmFtZSBtYXkgaG9sZDogQmFzaWMgTGF0aW4gbGV0dGVycyBhbmQgZGlnaXRzLCBzcGFjZXMsIGFuZCB0aGUgdGhyZWVcbnBlcm1pdHRlZCBwdW5jdHVhdGlvbiBtYXJrcy5cbiAqL1xuY29uc3QgQUxMT1dFRF9OQU1FX0NIQVJBQ1RFUlMgPSAvXltBLVphLXowLTkgXFwtKygpXSskLztcblxuLyoqXG5gT2JzaWRpYW5gIGFuZCB0aGUgdHdvIHZhcmlhbnRzIHRoZSBkaXJlY3RvcnkgYWxzbyByZWplY3RzLlxuICovXG5jb25zdCBPQlNJRElBTl9WQVJJQU5UUyA9IC9vYnNpfHNpZGlhbi9pO1xuXG4vKipcbiAqIEVTTGludCBydWxlIGVuZm9yY2luZyB0aGUgQ29tbXVuaXR5IGRpcmVjdG9yeSdzIGNvbnN0cmFpbnRzIG9uIGEgcGx1Z2luJ3MgYG1hbmlmZXN0Lmpzb25gIGBuYW1lYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG1hbmlmZXN0TmFtZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICBEb2N1bWVudChub2RlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1hbmlmZXN0T2JqZWN0ID0gZ2V0TWFuaWZlc3RPYmplY3Qobm9kZSk7XG5cbiAgICAgICAgaWYgKCFtYW5pZmVzdE9iamVjdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lbWJlciA9IGZpbmRNYW5pZmVzdE1lbWJlcihtYW5pZmVzdE9iamVjdCwgJ25hbWUnKTtcblxuICAgICAgICBpZiAoIW1lbWJlcikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hbWUgPSBnZXRTdHJpbmdWYWx1ZShtZW1iZXIudmFsdWUpO1xuXG4gICAgICAgIGlmIChuYW1lID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVwb3J0Tm9kZSA9IHRvUmVwb3J0Tm9kZShtZW1iZXIudmFsdWUpO1xuXG4gICAgICAgIGlmIChPQlNJRElBTl9WQVJJQU5UUy50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0NPTlRBSU5TX09CU0lESUFOLFxuICAgICAgICAgICAgbm9kZTogcmVwb3J0Tm9kZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygncGx1Z2luJykpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfQ09OVEFJTlNfUExVR0lOLFxuICAgICAgICAgICAgbm9kZTogcmVwb3J0Tm9kZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFBTExPV0VEX05BTUVfQ0hBUkFDVEVSUy50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0lOVkFMSURfQ0hBUkFDVEVSUyxcbiAgICAgICAgICAgIG5vZGU6IHJlcG9ydE5vZGVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0VuZm9yY2UgdGhlIENvbW11bml0eSBkaXJlY3RvcnlcXCdzIGNvbnN0cmFpbnRzIG9uIGEgcGx1Z2luXFwncyBgbWFuaWZlc3QuanNvbmAgYG5hbWVgJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEX0NPTlRBSU5TX09CU0lESUFOXTogJ1RoZSBgbmFtZWAgbXVzdCBub3QgY29udGFpbiBgT2JzaWRpYW5gIG9yIGEgdmFyaWFudCBvZiBpdC4gSXQgaXMgaW1wbGllZCBieSB0aGUgY29udGV4dCBvZiB0aGUgcGx1Z2luIGRpcmVjdG9yeS4nLFxuICAgICAgW01FU1NBR0VfSURfQ09OVEFJTlNfUExVR0lOXTogJ1RoZSBgbmFtZWAgbXVzdCBub3QgY29udGFpbiBgUGx1Z2luYC4nLFxuICAgICAgW01FU1NBR0VfSURfSU5WQUxJRF9DSEFSQUNURVJTXTogJ1RoZSBgbmFtZWAgbXVzdCB1c2UgQmFzaWMgTGF0aW4gb25seSwgd2l0aCBoeXBoZW5zLCBwbHVzIHNpZ25zIGFuZCBwYXJlbnRoZXNlcyB0aGUgb25seSBwZXJtaXR0ZWQgcHVuY3R1YXRpb24uJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBS0EsTUFBTSwrQkFBK0I7QUFLckMsTUFBTSw2QkFBNkI7QUFLbkMsTUFBTSxnQ0FBZ0M7QUFNN0MsTUFBTSwwQkFBMEI7QUFLaEMsTUFBTSxvQkFBb0I7QUFLbkIsTUFBTSxlQUFnQztBQUFBLEVBQzNDLE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLFNBQVMsTUFBcUI7QUFDNUIsY0FBTSxpQkFBaUIsa0JBQWtCLElBQUk7QUFFN0MsWUFBSSxDQUFDLGdCQUFnQjtBQUNuQjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLFNBQVMsbUJBQW1CLGdCQUFnQixNQUFNO0FBRXhELFlBQUksQ0FBQyxRQUFRO0FBQ1g7QUFBQSxRQUNGO0FBRUEsY0FBTSxPQUFPLGVBQWUsT0FBTyxLQUFLO0FBRXhDLFlBQUksU0FBUyxNQUFNO0FBQ2pCO0FBQUEsUUFDRjtBQUVBLGNBQU0sYUFBYSxhQUFhLE9BQU8sS0FBSztBQUU1QyxZQUFJLGtCQUFrQixLQUFLLElBQUksR0FBRztBQUNoQyxrQkFBUSxPQUFPO0FBQUEsWUFDYixXQUFXO0FBQUEsWUFDWCxNQUFNO0FBQUEsVUFDUixDQUFDO0FBQUEsUUFDSDtBQUVBLFlBQUksS0FBSyxZQUFZLEVBQUUsU0FBUyxRQUFRLEdBQUc7QUFDekMsa0JBQVEsT0FBTztBQUFBLFlBQ2IsV0FBVztBQUFBLFlBQ1gsTUFBTTtBQUFBLFVBQ1IsQ0FBQztBQUFBLFFBQ0g7QUFFQSxZQUFJLENBQUMsd0JBQXdCLEtBQUssSUFBSSxHQUFHO0FBQ3ZDLGtCQUFRLE9BQU87QUFBQSxZQUNiLFdBQVc7QUFBQSxZQUNYLE1BQU07QUFBQSxVQUNSLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsQ0FBQyw0QkFBNEIsR0FBRztBQUFBLE1BQ2hDLENBQUMsMEJBQTBCLEdBQUc7QUFBQSxNQUM5QixDQUFDLDZCQUE2QixHQUFHO0FBQUEsSUFDbkM7QUFBQSxJQUNBLFFBQVEsQ0FBQztBQUFBLElBQ1QsTUFBTTtBQUFBLEVBQ1I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
74
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL21hbmlmZXN0LW5hbWUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbWFuaWZlc3QtbmFtZVxuICpcbiAqIEVuZm9yY2VzIHRoZSBDb21tdW5pdHkgZGlyZWN0b3J5J3MgY29uc3RyYWludHMgb24gYSBwbHVnaW4ncyBgbWFuaWZlc3QuanNvbmAgYG5hbWVgOiBubyBgT2JzaWRpYW5gIG9yXG4gKiBpdHMgdmFyaWFudHMsIG5vIGBQbHVnaW5gLCBhbmQgQmFzaWMgTGF0aW4gb25seSB3aXRoIGh5cGhlbnMsIHBsdXMgc2lnbnMgYW5kIHBhcmVudGhlc2VzIHRoZSBzb2xlXG4gKiBwZXJtaXR0ZWQgcHVuY3R1YXRpb24uXG4gKlxuICogUnVucyBvbiB0aGUgYEBlc2xpbnQvanNvbmAgYGpzb24vanNvbmAgbGFuZ3VhZ2U7IHNlZSBgbWFuaWZlc3QtaGVscGVycy50c2AgZm9yIHdoeSB0aGUgQVNUIGlzIE1vbW9hXG4gKiByYXRoZXIgdGhhbiBFU1RyZWUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuaW1wb3J0IHtcbiAgZmluZE1hbmlmZXN0TWVtYmVyLFxuICBnZXRNYW5pZmVzdE9iamVjdCxcbiAgZ2V0U3RyaW5nVmFsdWUsXG4gIHRvUmVwb3J0Tm9kZVxufSBmcm9tICcuL21hbmlmZXN0LWhlbHBlcnMudHMnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiB0aGUgbmFtZSBjb250YWlucyBgT2JzaWRpYW5gIG9yIG9uZSBvZiBpdHMgdmFyaWFudHMuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0NPTlRBSU5TX09CU0lESUFOID0gJ25hbWVDb250YWluc09ic2lkaWFuJztcblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gdGhlIG5hbWUgY29udGFpbnMgYFBsdWdpbmAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0NPTlRBSU5TX1BMVUdJTiA9ICduYW1lQ29udGFpbnNQbHVnaW4nO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiB0aGUgbmFtZSBob2xkcyBhIGNoYXJhY3RlciBvdXRzaWRlIEJhc2ljIExhdGluLCBvciBwdW5jdHVhdGlvbiB0aGUgZGlyZWN0b3J5IHJlamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0lOVkFMSURfQ0hBUkFDVEVSUyA9ICduYW1lSW52YWxpZENoYXJhY3RlcnMnO1xuXG4vKipcblRoZSBvbmx5IGNoYXJhY3RlcnMgYSBwbHVnaW4gbmFtZSBtYXkgaG9sZDogQmFzaWMgTGF0aW4gbGV0dGVycyBhbmQgZGlnaXRzLCBzcGFjZXMsIGFuZCB0aGUgdGhyZWVcbnBlcm1pdHRlZCBwdW5jdHVhdGlvbiBtYXJrcy5cbiAqL1xuY29uc3QgQUxMT1dFRF9OQU1FX0NIQVJBQ1RFUlMgPSAvXltBLVphLXowLTkgXFwtKygpXSskLztcblxuLyoqXG5gT2JzaWRpYW5gIGFuZCB0aGUgdHdvIHZhcmlhbnRzIHRoZSBkaXJlY3RvcnkgYWxzbyByZWplY3RzLlxuICovXG5jb25zdCBPQlNJRElBTl9WQVJJQU5UUyA9IC9vYnNpfHNpZGlhbi9pO1xuXG4vKipcbiAqIEVTTGludCBydWxlIGVuZm9yY2luZyB0aGUgQ29tbXVuaXR5IGRpcmVjdG9yeSdzIGNvbnN0cmFpbnRzIG9uIGEgcGx1Z2luJ3MgYG1hbmlmZXN0Lmpzb25gIGBuYW1lYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG1hbmlmZXN0TmFtZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIHJldHVybiB7XG4gICAgICBEb2N1bWVudChub2RlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1hbmlmZXN0T2JqZWN0ID0gZ2V0TWFuaWZlc3RPYmplY3Qobm9kZSk7XG5cbiAgICAgICAgaWYgKCFtYW5pZmVzdE9iamVjdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lbWJlciA9IGZpbmRNYW5pZmVzdE1lbWJlcihtYW5pZmVzdE9iamVjdCwgJ25hbWUnKTtcblxuICAgICAgICBpZiAoIW1lbWJlcikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hbWUgPSBnZXRTdHJpbmdWYWx1ZShtZW1iZXIudmFsdWUpO1xuXG4gICAgICAgIGlmIChuYW1lID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVwb3J0Tm9kZSA9IHRvUmVwb3J0Tm9kZShtZW1iZXIudmFsdWUpO1xuXG4gICAgICAgIGlmIChPQlNJRElBTl9WQVJJQU5UUy50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0NPTlRBSU5TX09CU0lESUFOLFxuICAgICAgICAgICAgbm9kZTogcmVwb3J0Tm9kZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygncGx1Z2luJykpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfQ09OVEFJTlNfUExVR0lOLFxuICAgICAgICAgICAgbm9kZTogcmVwb3J0Tm9kZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFBTExPV0VEX05BTUVfQ0hBUkFDVEVSUy50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX0lOVkFMSURfQ0hBUkFDVEVSUyxcbiAgICAgICAgICAgIG5vZGU6IHJlcG9ydE5vZGVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0VuZm9yY2UgdGhlIENvbW11bml0eSBkaXJlY3RvcnlcXCdzIGNvbnN0cmFpbnRzIG9uIGEgcGx1Z2luXFwncyBgbWFuaWZlc3QuanNvbmAgYG5hbWVgJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEX0NPTlRBSU5TX09CU0lESUFOXTogJ1RoZSBgbmFtZWAgbXVzdCBub3QgY29udGFpbiBgT2JzaWRpYW5gIG9yIGEgdmFyaWFudCBvZiBpdC4gSXQgaXMgaW1wbGllZCBieSB0aGUgY29udGV4dCBvZiB0aGUgcGx1Z2luIGRpcmVjdG9yeS4nLFxuICAgICAgW01FU1NBR0VfSURfQ09OVEFJTlNfUExVR0lOXTogJ1RoZSBgbmFtZWAgbXVzdCBub3QgY29udGFpbiBgUGx1Z2luYC4nLFxuICAgICAgW01FU1NBR0VfSURfSU5WQUxJRF9DSEFSQUNURVJTXTogJ1RoZSBgbmFtZWAgbXVzdCB1c2UgQmFzaWMgTGF0aW4gb25seSwgd2l0aCBoeXBoZW5zLCBwbHVzIHNpZ25zIGFuZCBwYXJlbnRoZXNlcyB0aGUgb25seSBwZXJtaXR0ZWQgcHVuY3R1YXRpb24uJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBZUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUtBLE1BQU0sK0JBQStCO0FBS3JDLE1BQU0sNkJBQTZCO0FBS25DLE1BQU0sZ0NBQWdDO0FBTTdDLE1BQU0sMEJBQTBCO0FBS2hDLE1BQU0sb0JBQW9CO0FBS25CLE1BQU0sZUFBZ0M7QUFBQSxFQUMzQyxPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxTQUFTLE1BQXFCO0FBQzVCLGNBQU0saUJBQWlCLGtCQUFrQixJQUFJO0FBRTdDLFlBQUksQ0FBQyxnQkFBZ0I7QUFDbkI7QUFBQSxRQUNGO0FBRUEsY0FBTSxTQUFTLG1CQUFtQixnQkFBZ0IsTUFBTTtBQUV4RCxZQUFJLENBQUMsUUFBUTtBQUNYO0FBQUEsUUFDRjtBQUVBLGNBQU0sT0FBTyxlQUFlLE9BQU8sS0FBSztBQUV4QyxZQUFJLFNBQVMsTUFBTTtBQUNqQjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLGFBQWEsYUFBYSxPQUFPLEtBQUs7QUFFNUMsWUFBSSxrQkFBa0IsS0FBSyxJQUFJLEdBQUc7QUFDaEMsa0JBQVEsT0FBTztBQUFBLFlBQ2IsV0FBVztBQUFBLFlBQ1gsTUFBTTtBQUFBLFVBQ1IsQ0FBQztBQUFBLFFBQ0g7QUFFQSxZQUFJLEtBQUssWUFBWSxFQUFFLFNBQVMsUUFBUSxHQUFHO0FBQ3pDLGtCQUFRLE9BQU87QUFBQSxZQUNiLFdBQVc7QUFBQSxZQUNYLE1BQU07QUFBQSxVQUNSLENBQUM7QUFBQSxRQUNIO0FBRUEsWUFBSSxDQUFDLHdCQUF3QixLQUFLLElBQUksR0FBRztBQUN2QyxrQkFBUSxPQUFPO0FBQUEsWUFDYixXQUFXO0FBQUEsWUFDWCxNQUFNO0FBQUEsVUFDUixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsNEJBQTRCLEdBQUc7QUFBQSxNQUNoQyxDQUFDLDBCQUEwQixHQUFHO0FBQUEsTUFDOUIsQ0FBQyw2QkFBNkIsR0FBRztBQUFBLElBQ25DO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNSO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,4 +1,4 @@
1
- /// <reference path="../../index.d.mts" />
1
+ /// <reference path="../../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -3,50 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return '/';
17
- },
18
- env: {},
19
- platform: 'android'
20
- };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
- const existingProcess = globalThis.process;
24
-
25
- if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
- globalThis.process = browserProcess;
28
- return;
29
- }
30
-
31
- if (existingProcess.versions?.node) {
32
- return;
33
- }
34
-
35
- const existingProcessRecord = existingProcess;
36
-
37
- for (const [key, value] of Object.entries(browserProcess)) {
38
- existingProcessRecord[key] ??= value;
39
- }
40
-
41
- existingProcessRecord['browser'] = true;
42
- }
43
-
44
- (function initEsm() {
45
- ensureDisposeSymbols();
46
- ensureBrowserProcess();
47
- })();
48
- })();
49
-
50
6
  import {
51
7
  findManifestMember,
52
8
  getManifestObject,
@@ -217,4 +173,4 @@ export {
217
173
  MESSAGE_ID_MUST_BE_ROOT_OBJECT,
218
174
  manifestSchema
219
175
  };
220
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL21hbmlmZXN0LXNjaGVtYS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiBtYW5pZmVzdC1zY2hlbWFcbiAqXG4gKiBWYWxpZGF0ZXMgdGhlIHN0cnVjdHVyZSBvZiBhIHBsdWdpbidzIHJvb3QgYG1hbmlmZXN0Lmpzb25gIC0gdGhlIHJlcXVpcmVkIGtleXMsIHRoZSBrZXlzIHRoZSBDb21tdW5pdHlcbiAqIGRpcmVjdG9yeSBkb2VzIG5vdCBhbGxvdywgZHVwbGljYXRlIGtleXMsIGVhY2ggdmFsdWUncyB0eXBlLCBhbmQgdGhlIHNoYXBlIG9mIGBmdW5kaW5nVXJsYC5cbiAqXG4gKiBSdW5zIG9uIHRoZSBgQGVzbGludC9qc29uYCBganNvbi9qc29uYCBsYW5ndWFnZTsgc2VlIGBtYW5pZmVzdC1oZWxwZXJzLnRzYCBmb3Igd2h5IHRoZSBBU1QgaXMgTW9tb2FcbiAqIHJhdGhlciB0aGFuIEVTVHJlZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIEpzb25NZW1iZXJOb2RlLFxuICBKc29uT2JqZWN0Tm9kZVxufSBmcm9tICcuL21hbmlmZXN0LWhlbHBlcnMudHMnO1xuXG5pbXBvcnQge1xuICBmaW5kTWFuaWZlc3RNZW1iZXIsXG4gIGdldE1hbmlmZXN0T2JqZWN0LFxuICBnZXRNYW5pZmVzdFN0cmluZ1ZhbHVlLFxuICBnZXRNZW1iZXJLZXksXG4gIGdldFN0cmluZ1ZhbHVlLFxuICBKU09OX05PREVfVFlQRV9CT09MRUFOLFxuICBKU09OX05PREVfVFlQRV9PQkpFQ1QsXG4gIEpTT05fTk9ERV9UWVBFX1NUUklORyxcbiAgdG9SZXBvcnROb2RlLFxuICBVTlJFTEVBU0VEX1ZFUlNJT05cbn0gZnJvbSAnLi9tYW5pZmVzdC1oZWxwZXJzLnRzJztcblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYSBrZXkgdGhlIENvbW11bml0eSBkaXJlY3RvcnkgZG9lcyBub3QgYWxsb3cgaXMgcHJlc2VudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfRElTQUxMT1dFRF9LRVkgPSAnZGlzYWxsb3dlZEtleSc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIHRoZSBzYW1lIGtleSBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9EVVBMSUNBVEVfS0VZID0gJ2R1cGxpY2F0ZUtleSc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGBmdW5kaW5nVXJsYCBpcyBhbiBlbXB0eSBzdHJpbmcsIGFuIGVtcHR5IG9iamVjdCwgb3IgYW4gb2JqZWN0IHdpdGggYW4gZW1wdHkgdmFsdWUuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0VNUFRZX0ZVTkRJTkdfVVJMID0gJ2VtcHR5RnVuZGluZ1VybCc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgdmFsdWUgaGFzIHRoZSB3cm9uZyB0eXBlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9JTlZBTElEX1RZUEUgPSAnaW52YWxpZFR5cGUnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhIGBmdW5kaW5nVXJsYCBvYmplY3QgaG9sZHMgYSBub24tc3RyaW5nIHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9JTlZBTElEX0ZVTkRJTkdfVVJMID0gJ2ludmFsaWRGdW5kaW5nVXJsJztcblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYSByZXF1aXJlZCBrZXkgaXMgbWlzc2luZy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfTUlTU0lOR19LRVkgPSAnbWlzc2luZ0tleSc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIHRoZSBtYW5pZmVzdCdzIHRvcC1sZXZlbCB2YWx1ZSBpcyBub3QgYW4gb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9NVVNUX0JFX1JPT1RfT0JKRUNUID0gJ211c3RCZVJvb3RPYmplY3QnO1xuXG4vKipcblRoZSBrZXlzIGV2ZXJ5IG1hbmlmZXN0IG11c3QgY2FycnksIHdoZXRoZXIgb3Igbm90IHRoZSBwbHVnaW4gaGFzIGJlZW4gcmVsZWFzZWQuXG4gKi9cbmNvbnN0IEFMV0FZU19SRVFVSVJFRF9LRVlTID0gWydhdXRob3InLCAnZGVzY3JpcHRpb24nLCAnaWQnLCAnaXNEZXNrdG9wT25seScsICduYW1lJywgJ3ZlcnNpb24nXTtcblxuLyoqXG5UaGUgTW9tb2Egbm9kZSB0eXBlIGVhY2ggYWxsb3dlZCBrZXkncyB2YWx1ZSBtYXkgaGF2ZS4gQSBrZXkgYWJzZW50IGZyb20gdGhpcyBtYXAgaXMgbm90IGFsbG93ZWQgYXQgYWxsLlxuICovXG5jb25zdCBLRVlfTk9ERV9UWVBFUyA9IG5ldyBNYXA8c3RyaW5nLCByZWFkb25seSBzdHJpbmdbXT4oW1xuICBbJ2F1dGhvcicsIFtKU09OX05PREVfVFlQRV9TVFJJTkddXSxcbiAgWydhdXRob3JVcmwnLCBbSlNPTl9OT0RFX1RZUEVfU1RSSU5HXV0sXG4gIFsnZGVzY3JpcHRpb24nLCBbSlNPTl9OT0RFX1RZUEVfU1RSSU5HXV0sXG4gIFsnZnVuZGluZ1VybCcsIFtKU09OX05PREVfVFlQRV9PQkpFQ1QsIEpTT05fTk9ERV9UWVBFX1NUUklOR11dLFxuICBbJ2lkJywgW0pTT05fTk9ERV9UWVBFX1NUUklOR11dLFxuICBbJ2lzRGVza3RvcE9ubHknLCBbSlNPTl9OT0RFX1RZUEVfQk9PTEVBTl1dLFxuICBbJ21pbkFwcFZlcnNpb24nLCBbSlNPTl9OT0RFX1RZUEVfU1RSSU5HXV0sXG4gIFsnbmFtZScsIFtKU09OX05PREVfVFlQRV9TVFJJTkddXSxcbiAgWyd2ZXJzaW9uJywgW0pTT05fTk9ERV9UWVBFX1NUUklOR11dXG5dKTtcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSB2YWxpZGF0aW5nIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwbHVnaW4ncyByb290IGBtYW5pZmVzdC5qc29uYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG1hbmlmZXN0U2NoZW1hOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIERvY3VtZW50KG5vZGU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWFuaWZlc3RPYmplY3QgPSBnZXRNYW5pZmVzdE9iamVjdChub2RlKTtcblxuICAgICAgICBpZiAoIW1hbmlmZXN0T2JqZWN0KSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX01VU1RfQkVfUk9PVF9PQkpFQ1QsXG4gICAgICAgICAgICBub2RlOiB0b1JlcG9ydE5vZGUobm9kZSlcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXBvcnREdXBsaWNhdGVLZXlzKHsgY29udGV4dCwgbWFuaWZlc3RPYmplY3QgfSk7XG4gICAgICAgIHJlcG9ydE1pc3NpbmdLZXlzKHsgY29udGV4dCwgbWFuaWZlc3RPYmplY3QgfSk7XG4gICAgICAgIHJlcG9ydEtleVZhbHVlcyh7IGNvbnRleHQsIG1hbmlmZXN0T2JqZWN0IH0pO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1ZhbGlkYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwbHVnaW5cXCdzIHJvb3QgYG1hbmlmZXN0Lmpzb25gJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEX0RJU0FMTE9XRURfS0VZXTogJ1RoZSBge3sga2V5IH19YCBwcm9wZXJ0eSBpcyBub3QgYWxsb3dlZCBpbiB0aGUgbWFuaWZlc3QuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0RVUExJQ0FURV9LRVldOiAnVGhlIGB7eyBrZXkgfX1gIHByb3BlcnR5IGlzIGRlZmluZWQgbW9yZSB0aGFuIG9uY2UuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0VNUFRZX0ZVTkRJTkdfVVJMXTogJ1RoZSBgZnVuZGluZ1VybGAgcHJvcGVydHkgY2Fubm90IGJlIGVtcHR5LiBSZW1vdmUgaXQgaW5zdGVhZCB3aGVuIG5vIGRvbmF0aW9ucyBhcmUgYWNjZXB0ZWQuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0lOVkFMSURfRlVORElOR19VUkxdOiAnVGhlIGBmdW5kaW5nVXJsYCBvYmplY3QgbXVzdCBvbmx5IGNvbnRhaW4gc3RyaW5nIHZhbHVlcy4nLFxuICAgICAgW01FU1NBR0VfSURfSU5WQUxJRF9UWVBFXTogJ1RoZSBge3sga2V5IH19YCBwcm9wZXJ0eSBtdXN0IGJlIG9mIHR5cGUgYHt7IGV4cGVjdGVkVHlwZSB9fWAsIGJ1dCB3YXMgYHt7IGFjdHVhbFR5cGUgfX1gLicsXG4gICAgICBbTUVTU0FHRV9JRF9NSVNTSU5HX0tFWV06ICdUaGUgbWFuaWZlc3QgaXMgbWlzc2luZyB0aGUgcmVxdWlyZWQgYHt7IGtleSB9fWAgcHJvcGVydHkuJyxcbiAgICAgIFtNRVNTQUdFX0lEX01VU1RfQkVfUk9PVF9PQkpFQ1RdOiAnVGhlIG1hbmlmZXN0IG11c3QgYmUgYSBzaW5nbGUgSlNPTiBvYmplY3QuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVwb3J0RnVuZGluZ1VybH0uXG4gKi9cbmludGVyZmFjZSBSZXBvcnRGdW5kaW5nVXJsUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIGBmdW5kaW5nVXJsYCBtZW1iZXIuXG4gICAqL1xuICByZWFkb25seSBtZW1iZXI6IEpzb25NZW1iZXJOb2RlO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSBtYW5pZmVzdCByZXBvcnRpbmcgaGVscGVycy5cbiAqL1xuaW50ZXJmYWNlIFJlcG9ydFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBtYW5pZmVzdCdzIHJvb3Qgb2JqZWN0IG5vZGUuXG4gICAqL1xuICByZWFkb25seSBtYW5pZmVzdE9iamVjdDogSnNvbk9iamVjdE5vZGU7XG59XG5cbi8qKlxuICogUmVwb3J0cyBldmVyeSBrZXkgdGhhdCBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlcG9ydFBhcmFtc30uXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydER1cGxpY2F0ZUtleXMocGFyYW1zOiBSZXBvcnRQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBjb250ZXh0LCBtYW5pZmVzdE9iamVjdCB9ID0gcGFyYW1zO1xuICBjb25zdCBzZWVuS2V5cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAoY29uc3QgbWVtYmVyIG9mIG1hbmlmZXN0T2JqZWN0Lm1lbWJlcnMpIHtcbiAgICBjb25zdCBrZXkgPSBnZXRNZW1iZXJLZXkobWVtYmVyKTtcblxuICAgIGlmIChzZWVuS2V5cy5oYXMoa2V5KSkge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IGtleSB9LFxuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfRFVQTElDQVRFX0tFWSxcbiAgICAgICAgbm9kZTogdG9SZXBvcnROb2RlKG1lbWJlci5uYW1lKVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlZW5LZXlzLmFkZChrZXkpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlcG9ydHMgdGhlIHdheXMgYSBgZnVuZGluZ1VybGAgY2FuIGJlIGVtcHR5IG9yIGhvbGQgYSBub24tc3RyaW5nIHZhbHVlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlcG9ydEZ1bmRpbmdVcmxQYXJhbXN9LlxuICovXG5mdW5jdGlvbiByZXBvcnRGdW5kaW5nVXJsKHBhcmFtczogUmVwb3J0RnVuZGluZ1VybFBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGNvbnRleHQsIG1lbWJlciB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IHN0cmluZ1ZhbHVlID0gZ2V0U3RyaW5nVmFsdWUobWVtYmVyLnZhbHVlKTtcblxuICBpZiAoc3RyaW5nVmFsdWUgIT09IG51bGwpIHtcbiAgICBpZiAoc3RyaW5nVmFsdWUgPT09ICcnKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRF9FTVBUWV9GVU5ESU5HX1VSTCxcbiAgICAgICAgbm9kZTogdG9SZXBvcnROb2RlKG1lbWJlci52YWx1ZSlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGZ1bmRpbmdPYmplY3QgPSBtZW1iZXIudmFsdWUgYXMgSnNvbk9iamVjdE5vZGU7XG5cbiAgaWYgKGZ1bmRpbmdPYmplY3QubWVtYmVycy5sZW5ndGggPT09IDApIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfRU1QVFlfRlVORElOR19VUkwsXG4gICAgICBub2RlOiB0b1JlcG9ydE5vZGUoZnVuZGluZ09iamVjdClcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IGZ1bmRpbmdNZW1iZXIgb2YgZnVuZGluZ09iamVjdC5tZW1iZXJzKSB7XG4gICAgY29uc3QgZnVuZGluZ1ZhbHVlID0gZ2V0U3RyaW5nVmFsdWUoZnVuZGluZ01lbWJlci52YWx1ZSk7XG5cbiAgICBpZiAoZnVuZGluZ1ZhbHVlID09PSBudWxsKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRF9JTlZBTElEX0ZVTkRJTkdfVVJMLFxuICAgICAgICBub2RlOiB0b1JlcG9ydE5vZGUoZnVuZGluZ01lbWJlci52YWx1ZSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZnVuZGluZ1ZhbHVlID09PSAnJykge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfRU1QVFlfRlVORElOR19VUkwsXG4gICAgICAgIG5vZGU6IHRvUmVwb3J0Tm9kZShmdW5kaW5nTWVtYmVyLnZhbHVlKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBldmVyeSBrZXkgdGhhdCBpcyBub3QgYWxsb3dlZCwgYW5kIGV2ZXJ5IGFsbG93ZWQga2V5IHdob3NlIHZhbHVlIGhhcyB0aGUgd3JvbmcgdHlwZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBSZXBvcnRQYXJhbXN9LlxuICovXG5mdW5jdGlvbiByZXBvcnRLZXlWYWx1ZXMocGFyYW1zOiBSZXBvcnRQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBjb250ZXh0LCBtYW5pZmVzdE9iamVjdCB9ID0gcGFyYW1zO1xuXG4gIGZvciAoY29uc3QgbWVtYmVyIG9mIG1hbmlmZXN0T2JqZWN0Lm1lbWJlcnMpIHtcbiAgICBjb25zdCBrZXkgPSBnZXRNZW1iZXJLZXkobWVtYmVyKTtcbiAgICBjb25zdCBleHBlY3RlZE5vZGVUeXBlcyA9IEtFWV9OT0RFX1RZUEVTLmdldChrZXkpO1xuXG4gICAgaWYgKCFleHBlY3RlZE5vZGVUeXBlcykge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IGtleSB9LFxuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfRElTQUxMT1dFRF9LRVksXG4gICAgICAgIG5vZGU6IHRvUmVwb3J0Tm9kZShtZW1iZXIubmFtZSlcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKCFleHBlY3RlZE5vZGVUeXBlcy5pbmNsdWRlcyhtZW1iZXIudmFsdWUudHlwZSkpIHtcbiAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGFjdHVhbFR5cGU6IG1lbWJlci52YWx1ZS50eXBlLFxuICAgICAgICAgIGV4cGVjdGVkVHlwZTogZXhwZWN0ZWROb2RlVHlwZXMuam9pbignIG9yICcpLFxuICAgICAgICAgIGtleVxuICAgICAgICB9LFxuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfSU5WQUxJRF9UWVBFLFxuICAgICAgICBub2RlOiB0b1JlcG9ydE5vZGUobWVtYmVyLnZhbHVlKVxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAnZnVuZGluZ1VybCcpIHtcbiAgICAgIHJlcG9ydEZ1bmRpbmdVcmwoeyBjb250ZXh0LCBtZW1iZXIgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBldmVyeSByZXF1aXJlZCBrZXkgdGhlIG1hbmlmZXN0IGlzIG1pc3NpbmcuXG4gKlxuICogYG1pbkFwcFZlcnNpb25gIGlzIHJlcXVpcmVkIG9ubHkgb25jZSB0aGUgcGx1Z2luIGhhcyBiZWVuIHJlbGVhc2VkLiBgdXBkYXRlVmVyc2lvbkluRmlsZXNGb3JQbHVnaW5gXG4gKiB3cml0ZXMgaXQgYXQgcmVsZWFzZSB0aW1lLCBzbyBhIHJlcG8gc3RpbGwgYXQgdmVyc2lvbiBgMC4wLjBgIGxlZ2l0aW1hdGVseSBoYXMgbm9uZSBhbmQgbXVzdCBub3QgYmVcbiAqIHJlcG9ydGVkIGZvciBpdC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBSZXBvcnRQYXJhbXN9LlxuICovXG5mdW5jdGlvbiByZXBvcnRNaXNzaW5nS2V5cyhwYXJhbXM6IFJlcG9ydFBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGNvbnRleHQsIG1hbmlmZXN0T2JqZWN0IH0gPSBwYXJhbXM7XG4gIGNvbnN0IHJlcXVpcmVkS2V5cyA9IFsuLi5BTFdBWVNfUkVRVUlSRURfS0VZUywgLi4uKGdldE1hbmlmZXN0U3RyaW5nVmFsdWUobWFuaWZlc3RPYmplY3QsICd2ZXJzaW9uJykgPT09IFVOUkVMRUFTRURfVkVSU0lPTiA/IFtdIDogWydtaW5BcHBWZXJzaW9uJ10pXTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiByZXF1aXJlZEtleXMpIHtcbiAgICBpZiAoIWZpbmRNYW5pZmVzdE1lbWJlcihtYW5pZmVzdE9iamVjdCwga2V5KSkge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IGtleSB9LFxuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfTUlTU0lOR19LRVksXG4gICAgICAgIG5vZGU6IHRvUmVwb3J0Tm9kZShtYW5pZmVzdE9iamVjdClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBS0EsTUFBTSw0QkFBNEI7QUFLbEMsTUFBTSwyQkFBMkI7QUFLakMsTUFBTSwrQkFBK0I7QUFLckMsTUFBTSwwQkFBMEI7QUFLaEMsTUFBTSxpQ0FBaUM7QUFLdkMsTUFBTSx5QkFBeUI7QUFLL0IsTUFBTSxpQ0FBaUM7QUFLOUMsTUFBTSx1QkFBdUIsQ0FBQyxVQUFVLGVBQWUsTUFBTSxpQkFBaUIsUUFBUSxTQUFTO0FBSy9GLE1BQU0saUJBQWlCLG9CQUFJLElBQStCO0FBQUEsRUFDeEQsQ0FB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
176
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL21hbmlmZXN0LXNjaGVtYS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiBtYW5pZmVzdC1zY2hlbWFcbiAqXG4gKiBWYWxpZGF0ZXMgdGhlIHN0cnVjdHVyZSBvZiBhIHBsdWdpbidzIHJvb3QgYG1hbmlmZXN0Lmpzb25gIC0gdGhlIHJlcXVpcmVkIGtleXMsIHRoZSBrZXlzIHRoZSBDb21tdW5pdHlcbiAqIGRpcmVjdG9yeSBkb2VzIG5vdCBhbGxvdywgZHVwbGljYXRlIGtleXMsIGVhY2ggdmFsdWUncyB0eXBlLCBhbmQgdGhlIHNoYXBlIG9mIGBmdW5kaW5nVXJsYC5cbiAqXG4gKiBSdW5zIG9uIHRoZSBgQGVzbGludC9qc29uYCBganNvbi9qc29uYCBsYW5ndWFnZTsgc2VlIGBtYW5pZmVzdC1oZWxwZXJzLnRzYCBmb3Igd2h5IHRoZSBBU1QgaXMgTW9tb2FcbiAqIHJhdGhlciB0aGFuIEVTVHJlZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIEpzb25NZW1iZXJOb2RlLFxuICBKc29uT2JqZWN0Tm9kZVxufSBmcm9tICcuL21hbmlmZXN0LWhlbHBlcnMudHMnO1xuXG5pbXBvcnQge1xuICBmaW5kTWFuaWZlc3RNZW1iZXIsXG4gIGdldE1hbmlmZXN0T2JqZWN0LFxuICBnZXRNYW5pZmVzdFN0cmluZ1ZhbHVlLFxuICBnZXRNZW1iZXJLZXksXG4gIGdldFN0cmluZ1ZhbHVlLFxuICBKU09OX05PREVfVFlQRV9CT09MRUFOLFxuICBKU09OX05PREVfVFlQRV9PQkpFQ1QsXG4gIEpTT05fTk9ERV9UWVBFX1NUUklORyxcbiAgdG9SZXBvcnROb2RlLFxuICBVTlJFTEVBU0VEX1ZFUlNJT05cbn0gZnJvbSAnLi9tYW5pZmVzdC1oZWxwZXJzLnRzJztcblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYSBrZXkgdGhlIENvbW11bml0eSBkaXJlY3RvcnkgZG9lcyBub3QgYWxsb3cgaXMgcHJlc2VudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfRElTQUxMT1dFRF9LRVkgPSAnZGlzYWxsb3dlZEtleSc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIHRoZSBzYW1lIGtleSBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9EVVBMSUNBVEVfS0VZID0gJ2R1cGxpY2F0ZUtleSc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGBmdW5kaW5nVXJsYCBpcyBhbiBlbXB0eSBzdHJpbmcsIGFuIGVtcHR5IG9iamVjdCwgb3IgYW4gb2JqZWN0IHdpdGggYW4gZW1wdHkgdmFsdWUuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX0VNUFRZX0ZVTkRJTkdfVVJMID0gJ2VtcHR5RnVuZGluZ1VybCc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgdmFsdWUgaGFzIHRoZSB3cm9uZyB0eXBlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9JTlZBTElEX1RZUEUgPSAnaW52YWxpZFR5cGUnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhIGBmdW5kaW5nVXJsYCBvYmplY3QgaG9sZHMgYSBub24tc3RyaW5nIHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9JTlZBTElEX0ZVTkRJTkdfVVJMID0gJ2ludmFsaWRGdW5kaW5nVXJsJztcblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYSByZXF1aXJlZCBrZXkgaXMgbWlzc2luZy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfTUlTU0lOR19LRVkgPSAnbWlzc2luZ0tleSc7XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIHRoZSBtYW5pZmVzdCdzIHRvcC1sZXZlbCB2YWx1ZSBpcyBub3QgYW4gb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9NVVNUX0JFX1JPT1RfT0JKRUNUID0gJ211c3RCZVJvb3RPYmplY3QnO1xuXG4vKipcblRoZSBrZXlzIGV2ZXJ5IG1hbmlmZXN0IG11c3QgY2FycnksIHdoZXRoZXIgb3Igbm90IHRoZSBwbHVnaW4gaGFzIGJlZW4gcmVsZWFzZWQuXG4gKi9cbmNvbnN0IEFMV0FZU19SRVFVSVJFRF9LRVlTID0gWydhdXRob3InLCAnZGVzY3JpcHRpb24nLCAnaWQnLCAnaXNEZXNrdG9wT25seScsICduYW1lJywgJ3ZlcnNpb24nXTtcblxuLyoqXG5UaGUgTW9tb2Egbm9kZSB0eXBlIGVhY2ggYWxsb3dlZCBrZXkncyB2YWx1ZSBtYXkgaGF2ZS4gQSBrZXkgYWJzZW50IGZyb20gdGhpcyBtYXAgaXMgbm90IGFsbG93ZWQgYXQgYWxsLlxuICovXG5jb25zdCBLRVlfTk9ERV9UWVBFUyA9IG5ldyBNYXA8c3RyaW5nLCByZWFkb25seSBzdHJpbmdbXT4oW1xuICBbJ2F1dGhvcicsIFtKU09OX05PREVfVFlQRV9TVFJJTkddXSxcbiAgWydhdXRob3JVcmwnLCBbSlNPTl9OT0RFX1RZUEVfU1RSSU5HXV0sXG4gIFsnZGVzY3JpcHRpb24nLCBbSlNPTl9OT0RFX1RZUEVfU1RSSU5HXV0sXG4gIFsnZnVuZGluZ1VybCcsIFtKU09OX05PREVfVFlQRV9PQkpFQ1QsIEpTT05fTk9ERV9UWVBFX1NUUklOR11dLFxuICBbJ2lkJywgW0pTT05fTk9ERV9UWVBFX1NUUklOR11dLFxuICBbJ2lzRGVza3RvcE9ubHknLCBbSlNPTl9OT0RFX1RZUEVfQk9PTEVBTl1dLFxuICBbJ21pbkFwcFZlcnNpb24nLCBbSlNPTl9OT0RFX1RZUEVfU1RSSU5HXV0sXG4gIFsnbmFtZScsIFtKU09OX05PREVfVFlQRV9TVFJJTkddXSxcbiAgWyd2ZXJzaW9uJywgW0pTT05fTk9ERV9UWVBFX1NUUklOR11dXG5dKTtcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSB2YWxpZGF0aW5nIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwbHVnaW4ncyByb290IGBtYW5pZmVzdC5qc29uYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG1hbmlmZXN0U2NoZW1hOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIERvY3VtZW50KG5vZGU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWFuaWZlc3RPYmplY3QgPSBnZXRNYW5pZmVzdE9iamVjdChub2RlKTtcblxuICAgICAgICBpZiAoIW1hbmlmZXN0T2JqZWN0KSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX01VU1RfQkVfUk9PVF9PQkpFQ1QsXG4gICAgICAgICAgICBub2RlOiB0b1JlcG9ydE5vZGUobm9kZSlcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXBvcnREdXBsaWNhdGVLZXlzKHsgY29udGV4dCwgbWFuaWZlc3RPYmplY3QgfSk7XG4gICAgICAgIHJlcG9ydE1pc3NpbmdLZXlzKHsgY29udGV4dCwgbWFuaWZlc3RPYmplY3QgfSk7XG4gICAgICAgIHJlcG9ydEtleVZhbHVlcyh7IGNvbnRleHQsIG1hbmlmZXN0T2JqZWN0IH0pO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1ZhbGlkYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwbHVnaW5cXCdzIHJvb3QgYG1hbmlmZXN0Lmpzb25gJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEX0RJU0FMTE9XRURfS0VZXTogJ1RoZSBge3sga2V5IH19YCBwcm9wZXJ0eSBpcyBub3QgYWxsb3dlZCBpbiB0aGUgbWFuaWZlc3QuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0RVUExJQ0FURV9LRVldOiAnVGhlIGB7eyBrZXkgfX1gIHByb3BlcnR5IGlzIGRlZmluZWQgbW9yZSB0aGFuIG9uY2UuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0VNUFRZX0ZVTkRJTkdfVVJMXTogJ1RoZSBgZnVuZGluZ1VybGAgcHJvcGVydHkgY2Fubm90IGJlIGVtcHR5LiBSZW1vdmUgaXQgaW5zdGVhZCB3aGVuIG5vIGRvbmF0aW9ucyBhcmUgYWNjZXB0ZWQuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0lOVkFMSURfRlVORElOR19VUkxdOiAnVGhlIGBmdW5kaW5nVXJsYCBvYmplY3QgbXVzdCBvbmx5IGNvbnRhaW4gc3RyaW5nIHZhbHVlcy4nLFxuICAgICAgW01FU1NBR0VfSURfSU5WQUxJRF9UWVBFXTogJ1RoZSBge3sga2V5IH19YCBwcm9wZXJ0eSBtdXN0IGJlIG9mIHR5cGUgYHt7IGV4cGVjdGVkVHlwZSB9fWAsIGJ1dCB3YXMgYHt7IGFjdHVhbFR5cGUgfX1gLicsXG4gICAgICBbTUVTU0FHRV9JRF9NSVNTSU5HX0tFWV06ICdUaGUgbWFuaWZlc3QgaXMgbWlzc2luZyB0aGUgcmVxdWlyZWQgYHt7IGtleSB9fWAgcHJvcGVydHkuJyxcbiAgICAgIFtNRVNTQUdFX0lEX01VU1RfQkVfUk9PVF9PQkpFQ1RdOiAnVGhlIG1hbmlmZXN0IG11c3QgYmUgYSBzaW5nbGUgSlNPTiBvYmplY3QuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcmVwb3J0RnVuZGluZ1VybH0uXG4gKi9cbmludGVyZmFjZSBSZXBvcnRGdW5kaW5nVXJsUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIGBmdW5kaW5nVXJsYCBtZW1iZXIuXG4gICAqL1xuICByZWFkb25seSBtZW1iZXI6IEpzb25NZW1iZXJOb2RlO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSBtYW5pZmVzdCByZXBvcnRpbmcgaGVscGVycy5cbiAqL1xuaW50ZXJmYWNlIFJlcG9ydFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBtYW5pZmVzdCdzIHJvb3Qgb2JqZWN0IG5vZGUuXG4gICAqL1xuICByZWFkb25seSBtYW5pZmVzdE9iamVjdDogSnNvbk9iamVjdE5vZGU7XG59XG5cbi8qKlxuICogUmVwb3J0cyBldmVyeSBrZXkgdGhhdCBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlcG9ydFBhcmFtc30uXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydER1cGxpY2F0ZUtleXMocGFyYW1zOiBSZXBvcnRQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBjb250ZXh0LCBtYW5pZmVzdE9iamVjdCB9ID0gcGFyYW1zO1xuICBjb25zdCBzZWVuS2V5cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAoY29uc3QgbWVtYmVyIG9mIG1hbmlmZXN0T2JqZWN0Lm1lbWJlcnMpIHtcbiAgICBjb25zdCBrZXkgPSBnZXRNZW1iZXJLZXkobWVtYmVyKTtcblxuICAgIGlmIChzZWVuS2V5cy5oYXMoa2V5KSkge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IGtleSB9LFxuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfRFVQTElDQVRFX0tFWSxcbiAgICAgICAgbm9kZTogdG9SZXBvcnROb2RlKG1lbWJlci5uYW1lKVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlZW5LZXlzLmFkZChrZXkpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlcG9ydHMgdGhlIHdheXMgYSBgZnVuZGluZ1VybGAgY2FuIGJlIGVtcHR5IG9yIGhvbGQgYSBub24tc3RyaW5nIHZhbHVlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlcG9ydEZ1bmRpbmdVcmxQYXJhbXN9LlxuICovXG5mdW5jdGlvbiByZXBvcnRGdW5kaW5nVXJsKHBhcmFtczogUmVwb3J0RnVuZGluZ1VybFBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGNvbnRleHQsIG1lbWJlciB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IHN0cmluZ1ZhbHVlID0gZ2V0U3RyaW5nVmFsdWUobWVtYmVyLnZhbHVlKTtcblxuICBpZiAoc3RyaW5nVmFsdWUgIT09IG51bGwpIHtcbiAgICBpZiAoc3RyaW5nVmFsdWUgPT09ICcnKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRF9FTVBUWV9GVU5ESU5HX1VSTCxcbiAgICAgICAgbm9kZTogdG9SZXBvcnROb2RlKG1lbWJlci52YWx1ZSlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGZ1bmRpbmdPYmplY3QgPSBtZW1iZXIudmFsdWUgYXMgSnNvbk9iamVjdE5vZGU7XG5cbiAgaWYgKGZ1bmRpbmdPYmplY3QubWVtYmVycy5sZW5ndGggPT09IDApIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfRU1QVFlfRlVORElOR19VUkwsXG4gICAgICBub2RlOiB0b1JlcG9ydE5vZGUoZnVuZGluZ09iamVjdClcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IGZ1bmRpbmdNZW1iZXIgb2YgZnVuZGluZ09iamVjdC5tZW1iZXJzKSB7XG4gICAgY29uc3QgZnVuZGluZ1ZhbHVlID0gZ2V0U3RyaW5nVmFsdWUoZnVuZGluZ01lbWJlci52YWx1ZSk7XG5cbiAgICBpZiAoZnVuZGluZ1ZhbHVlID09PSBudWxsKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRF9JTlZBTElEX0ZVTkRJTkdfVVJMLFxuICAgICAgICBub2RlOiB0b1JlcG9ydE5vZGUoZnVuZGluZ01lbWJlci52YWx1ZSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZnVuZGluZ1ZhbHVlID09PSAnJykge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfRU1QVFlfRlVORElOR19VUkwsXG4gICAgICAgIG5vZGU6IHRvUmVwb3J0Tm9kZShmdW5kaW5nTWVtYmVyLnZhbHVlKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBldmVyeSBrZXkgdGhhdCBpcyBub3QgYWxsb3dlZCwgYW5kIGV2ZXJ5IGFsbG93ZWQga2V5IHdob3NlIHZhbHVlIGhhcyB0aGUgd3JvbmcgdHlwZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBSZXBvcnRQYXJhbXN9LlxuICovXG5mdW5jdGlvbiByZXBvcnRLZXlWYWx1ZXMocGFyYW1zOiBSZXBvcnRQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBjb250ZXh0LCBtYW5pZmVzdE9iamVjdCB9ID0gcGFyYW1zO1xuXG4gIGZvciAoY29uc3QgbWVtYmVyIG9mIG1hbmlmZXN0T2JqZWN0Lm1lbWJlcnMpIHtcbiAgICBjb25zdCBrZXkgPSBnZXRNZW1iZXJLZXkobWVtYmVyKTtcbiAgICBjb25zdCBleHBlY3RlZE5vZGVUeXBlcyA9IEtFWV9OT0RFX1RZUEVTLmdldChrZXkpO1xuXG4gICAgaWYgKCFleHBlY3RlZE5vZGVUeXBlcykge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IGtleSB9LFxuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfRElTQUxMT1dFRF9LRVksXG4gICAgICAgIG5vZGU6IHRvUmVwb3J0Tm9kZShtZW1iZXIubmFtZSlcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKCFleHBlY3RlZE5vZGVUeXBlcy5pbmNsdWRlcyhtZW1iZXIudmFsdWUudHlwZSkpIHtcbiAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGFjdHVhbFR5cGU6IG1lbWJlci52YWx1ZS50eXBlLFxuICAgICAgICAgIGV4cGVjdGVkVHlwZTogZXhwZWN0ZWROb2RlVHlwZXMuam9pbignIG9yICcpLFxuICAgICAgICAgIGtleVxuICAgICAgICB9LFxuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfSU5WQUxJRF9UWVBFLFxuICAgICAgICBub2RlOiB0b1JlcG9ydE5vZGUobWVtYmVyLnZhbHVlKVxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAnZnVuZGluZ1VybCcpIHtcbiAgICAgIHJlcG9ydEZ1bmRpbmdVcmwoeyBjb250ZXh0LCBtZW1iZXIgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBldmVyeSByZXF1aXJlZCBrZXkgdGhlIG1hbmlmZXN0IGlzIG1pc3NpbmcuXG4gKlxuICogYG1pbkFwcFZlcnNpb25gIGlzIHJlcXVpcmVkIG9ubHkgb25jZSB0aGUgcGx1Z2luIGhhcyBiZWVuIHJlbGVhc2VkLiBgdXBkYXRlVmVyc2lvbkluRmlsZXNGb3JQbHVnaW5gXG4gKiB3cml0ZXMgaXQgYXQgcmVsZWFzZSB0aW1lLCBzbyBhIHJlcG8gc3RpbGwgYXQgdmVyc2lvbiBgMC4wLjBgIGxlZ2l0aW1hdGVseSBoYXMgbm9uZSBhbmQgbXVzdCBub3QgYmVcbiAqIHJlcG9ydGVkIGZvciBpdC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBSZXBvcnRQYXJhbXN9LlxuICovXG5mdW5jdGlvbiByZXBvcnRNaXNzaW5nS2V5cyhwYXJhbXM6IFJlcG9ydFBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7IGNvbnRleHQsIG1hbmlmZXN0T2JqZWN0IH0gPSBwYXJhbXM7XG4gIGNvbnN0IHJlcXVpcmVkS2V5cyA9IFsuLi5BTFdBWVNfUkVRVUlSRURfS0VZUywgLi4uKGdldE1hbmlmZXN0U3RyaW5nVmFsdWUobWFuaWZlc3RPYmplY3QsICd2ZXJzaW9uJykgPT09IFVOUkVMRUFTRURfVkVSU0lPTiA/IFtdIDogWydtaW5BcHBWZXJzaW9uJ10pXTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiByZXF1aXJlZEtleXMpIHtcbiAgICBpZiAoIWZpbmRNYW5pZmVzdE1lbWJlcihtYW5pZmVzdE9iamVjdCwga2V5KSkge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IGtleSB9LFxuICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfTUlTU0lOR19LRVksXG4gICAgICAgIG5vZGU6IHRvUmVwb3J0Tm9kZShtYW5pZmVzdE9iamVjdClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFtQkE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUtBLE1BQU0sNEJBQTRCO0FBS2xDLE1BQU0sMkJBQTJCO0FBS2pDLE1BQU0sK0JBQStCO0FBS3JDLE1BQU0sMEJBQTBCO0FBS2hDLE1BQU0saUNBQWlDO0FBS3ZDLE1BQU0seUJBQXlCO0FBSy9CLE1BQU0saUNBQWlDO0FBSzlDLE1BQU0sdUJBQXVCLENBQUMsVUFBVSxlQUFlLE1BQU0saUJBQWlCLFFBQVEsU0FBUztBQUsvRixNQUFNLGlCQUFpQixvQkFBSSxJQUErQjtBQUFBLEVBQ3hELENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO0FBQUEsRUFDbEMsQ0FBQyxhQUFh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QUFhLGNBQWMsS0FBSztBQUFBLE1BQ3hDLENBQUM7QUFBQSxJQUNILFdBQVcsaUJBQWlCLElBQUk7QUFDOUIsY0FBUSxPQUFPO0FBQUEsUUFDYixXQUFXO0FBQUEsUUFDWCxNQUFNLGFBQWEsY0FBYyxLQUFLO0FBQUEsTUFDeEMsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7QUFPQSxTQUFTLGdCQUFnQixRQUE0QjtBQUNuRCxRQUFNLEVBQUUsU0FBUyxlQUFlLElBQUk7QUFFcEMsYUFBVyxVQUFVLGVBQWUsU0FBUztBQUMzQyxVQUFNLE1BQU0sYUFBYSxNQUFNO0FBQy9CLFVBQU0sb0JBQW9CLGVBQWUsSUFBSSxHQUFHO0FBRWhELFFBQUksQ0FBQyxtQkFBbUI7QUFDdEIsY0FBUSxPQUFPO0FBQUEsUUFDYixNQUFNLEVBQUUsSUFBSTtBQUFBLFFBQ1osV0FBVztBQUFBLFFBQ1gsTUFBTSxhQUFhLE9BQU8sSUFBSTtBQUFBLE1BQ2hDLENBQUM7QUFDRDtBQUFBLElBQ0Y7QUFFQSxRQUFJLENBQUMsa0JBQWtCLFNBQVMsT0FBTyxNQUFNLElBQUksR0FBRztBQUNsRCxjQUFRLE9BQU87QUFBQSxRQUNiLE1BQU07QUFBQSxVQUNKLFlBQVksT0FBTyxNQUFNO0FBQUEsVUFDekIsY0FBYyxrQkFBa0IsS0FBSyxNQUFNO0FBQUEsVUFDM0M7QUFBQSxRQUNGO0FBQUEsUUFDQSxXQUFXO0FBQUEsUUFDWCxNQUFNLGFBQWEsT0FBTyxLQUFLO0FBQUEsTUFDakMsQ0FBQztBQUNEO0FBQUEsSUFDRjtBQUVBLFFBQUksUUFBUSxjQUFjO0FBQ3hCLHVCQUFpQixFQUFFLFNBQVMsT0FBTyxDQUFDO0FBQUEsSUFDdEM7QUFBQSxFQUNGO0FBQ0Y7QUFXQSxTQUFTLGtCQUFrQixRQUE0QjtBQUNyRCxRQUFNLEVBQUUsU0FBUyxlQUFlLElBQUk7QUFDcEMsUUFBTSxlQUFlLENBQUMsR0FBRyxzQkFBc0IsR0FBSSx1QkFBdUIsZ0JBQWdCLFNBQVMsTUFBTSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFFO0FBRXJKLGFBQVcsT0FBTyxjQUFjO0FBQzlCLFFBQUksQ0FBQyxtQkFBbUIsZ0JBQWdCLEdBQUcsR0FBRztBQUM1QyxjQUFRLE9BQU87QUFBQSxRQUNiLE1BQU0sRUFBRSxJQUFJO0FBQUEsUUFDWixXQUFXO0FBQUEsUUFDWCxNQUFNLGFBQWEsY0FBYztBQUFBLE1BQ25DLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,10 @@
1
+ /// <reference path="../../library-references.d.mts" />
2
+ import type { Rule } from 'eslint';
3
+ /**
4
+ Message ID reported for a member a `declare module 'obsidian'` augmentation adds.
5
+ */
6
+ export declare const MESSAGE_ID = "noLocalObsidianInternals";
7
+ /**
8
+ * ESLint rule disallowing locally declared Obsidian internals in a `declare module 'obsidian'` augmentation.
9
+ */
10
+ export declare const noLocalObsidianInternals: Rule.RuleModule;
@@ -0,0 +1,141 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+ (function () {
6
+ function ensureBrowserProcess() {
7
+ const browserProcess = {
8
+ browser: true,
9
+ cwd() {
10
+ return "/";
11
+ },
12
+ env: {},
13
+ platform: "android"
14
+ };
15
+ const existingProcess = globalThis.process;
16
+ if (!existingProcess) {
17
+ globalThis.process = browserProcess;
18
+ return;
19
+ }
20
+ if (existingProcess.versions?.node) {
21
+ return;
22
+ }
23
+ const existingProcessRecord = existingProcess;
24
+ for (const [key, value] of Object.entries(browserProcess)) {
25
+ existingProcessRecord[key] ??= value;
26
+ }
27
+ existingProcessRecord["browser"] = true;
28
+ }
29
+
30
+ ensureBrowserProcess();
31
+ })();
32
+
33
+ import { toTSESTreeNode } from "@mnaoumov/typescript-dev-toolkit/linters/eslint-rules/ts-estree-node";
34
+ import { AST_NODE_TYPES } from "@typescript-eslint/utils";
35
+ const MESSAGE_ID = "noLocalObsidianInternals";
36
+ const OBSIDIAN_MODULE_NAME = "obsidian";
37
+ const EVENT_METHOD_NAMES = /* @__PURE__ */ new Set(["off", "on", "trigger", "tryTrigger"]);
38
+ const noLocalObsidianInternals = {
39
+ create(context) {
40
+ return {
41
+ "TSModuleDeclaration"(node) {
42
+ const moduleNode = toTSESTreeNode(node);
43
+ if (moduleNode.id.type !== AST_NODE_TYPES.Literal || moduleNode.id.value !== OBSIDIAN_MODULE_NAME || !moduleNode.body) {
44
+ return;
45
+ }
46
+ const isStringLiteralType = createStringLiteralTypeCheck(context);
47
+ for (const statement of moduleNode.body.body) {
48
+ for (const reported of collectReportedNodes(statement, isStringLiteralType)) {
49
+ context.report({
50
+ data: { name: describeNode(reported) },
51
+ loc: reported.loc,
52
+ messageId: MESSAGE_ID
53
+ });
54
+ }
55
+ }
56
+ }
57
+ };
58
+ },
59
+ meta: {
60
+ docs: {
61
+ description: "Disallow declaring Obsidian internals locally in a `declare module 'obsidian'` augmentation"
62
+ },
63
+ messages: {
64
+ [MESSAGE_ID]: "`{{ name }}` declares Obsidian API locally. Import it from `obsidian-typings` instead, adding it there first if it is missing or wrong. Only a custom-event overload of `on` / `off` / `trigger` / `tryTrigger` may stay here."
65
+ },
66
+ schema: [],
67
+ type: "problem"
68
+ }
69
+ };
70
+ function collectReportedNodes(statement, isStringLiteralType) {
71
+ const declaration = statement.type === AST_NODE_TYPES.ExportNamedDeclaration && statement.declaration ? statement.declaration : statement;
72
+ if (declaration.type !== AST_NODE_TYPES.TSInterfaceDeclaration) {
73
+ return [declaration];
74
+ }
75
+ return [
76
+ ...declaration.extends,
77
+ ...declaration.body.body.filter((member) => !isCustomEventOverload(member, isStringLiteralType))
78
+ ];
79
+ }
80
+ function createStringLiteralTypeCheck(context) {
81
+ const services = context.sourceCode.parserServices;
82
+ const checker = services.program?.getTypeChecker() ?? null;
83
+ return isStringLiteralType;
84
+ function isStringLiteralType(typeNode) {
85
+ if (typeNode.type === AST_NODE_TYPES.TSUnionType) {
86
+ return typeNode.types.every((member) => isStringLiteralType(member));
87
+ }
88
+ if (typeNode.type === AST_NODE_TYPES.TSLiteralType) {
89
+ return typeNode.literal.type === AST_NODE_TYPES.Literal && typeof typeNode.literal.value === "string";
90
+ }
91
+ if (!checker) {
92
+ return false;
93
+ }
94
+ const type = checker.getTypeFromTypeNode(services.esTreeNodeToTSNodeMap.get(typeNode));
95
+ return type.isUnion() ? type.types.every((member) => member.isStringLiteral()) : type.isStringLiteral();
96
+ }
97
+ }
98
+ function describeNode(node) {
99
+ switch (node.type) {
100
+ case AST_NODE_TYPES.ClassDeclaration:
101
+ case AST_NODE_TYPES.FunctionDeclaration:
102
+ case AST_NODE_TYPES.TSDeclareFunction:
103
+ case AST_NODE_TYPES.TSEnumDeclaration:
104
+ case AST_NODE_TYPES.TSModuleDeclaration:
105
+ case AST_NODE_TYPES.TSTypeAliasDeclaration: {
106
+ return node.id?.type === AST_NODE_TYPES.Identifier ? node.id.name : node.type;
107
+ }
108
+ case AST_NODE_TYPES.TSInterfaceHeritage: {
109
+ return node.expression.type === AST_NODE_TYPES.Identifier ? `extends ${node.expression.name}` : "extends";
110
+ }
111
+ case AST_NODE_TYPES.TSMethodSignature:
112
+ case AST_NODE_TYPES.TSPropertySignature: {
113
+ return readKeyName(node.key) ?? node.type;
114
+ }
115
+ default: {
116
+ return node.type;
117
+ }
118
+ }
119
+ }
120
+ function isCustomEventOverload(member, isStringLiteralType) {
121
+ if (member.type !== AST_NODE_TYPES.TSMethodSignature) {
122
+ return false;
123
+ }
124
+ const name = readKeyName(member.key);
125
+ if (name === null || !EVENT_METHOD_NAMES.has(name)) {
126
+ return false;
127
+ }
128
+ const firstParameter = member.params[0];
129
+ return firstParameter?.type === AST_NODE_TYPES.Identifier && firstParameter.typeAnnotation !== void 0 && isStringLiteralType(firstParameter.typeAnnotation.typeAnnotation);
130
+ }
131
+ function readKeyName(key) {
132
+ if (key.type === AST_NODE_TYPES.Identifier) {
133
+ return key.name;
134
+ }
135
+ return key.type === AST_NODE_TYPES.Literal && typeof key.value === "string" ? key.value : null;
136
+ }
137
+ export {
138
+ MESSAGE_ID,
139
+ noLocalObsidianInternals
140
+ };
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saW50ZXJzL2VzbGludC1ydWxlcy9uby1sb2NhbC1vYnNpZGlhbi1pbnRlcm5hbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiBuby1sb2NhbC1vYnNpZGlhbi1pbnRlcm5hbHNcbiAqXG4gKiBSZXBvcnRzIGV2ZXJ5IG1lbWJlciBhIGBkZWNsYXJlIG1vZHVsZSAnb2JzaWRpYW4nYCBhdWdtZW50YXRpb24gYWRkcyB0byBPYnNpZGlhbidzIHR5cGVzLlxuICpcbiAqIE9ic2lkaWFuJ3MgaW50ZXJuYWwgKHVuZG9jdW1lbnRlZCkgQVBJIGlzIHR5cGVkIGluIGBvYnNpZGlhbi10eXBpbmdzYCwgd2hlcmUgZWFjaCBtZW1iZXIgaXMgY2hlY2tlZCBhZ2FpbnN0IHRoZVxuICogc2hpcHBlZCBgYXBwLmpzYCBvbiBldmVyeSByZWxlYXNlIHRoYXQgaGFzIGl0LiBBIGxvY2FsIGF1Z21lbnRhdGlvbiBpcyBhIHNlY29uZCwgdW5jaGVja2VkIGNvcHkgb2YgdGhlIHNhbWVcbiAqIGNsYWltOiBpdCBkcmlmdHMgZnJvbSB3aGF0IE9ic2lkaWFuIGFjdHVhbGx5IHNoaXBzLCBhbmQgd2hlbiBgb2JzaWRpYW4tdHlwaW5nc2AgZ2FpbnMgdGhlIG1lbWJlciB0aGUgdHdvXG4gKiBkZWNsYXJhdGlvbnMgbWVyZ2Ugc2lsZW50bHksIG9yIGNsYXNoLiBUaGUgZml4IGZvciBhIG1lbWJlciBgb2JzaWRpYW4tdHlwaW5nc2AgbGFja3Mgb3IgZGVjbGFyZXMgd3JvbmdseSBnb2VzXG4gKiBpbnRvIGBvYnNpZGlhbi10eXBpbmdzYCwgYW5kIHRoZSBjb25zdW1lciBpbXBvcnRzIGl0IGZyb20gdGhlcmUuXG4gKlxuICogT25lIHNoYXBlIGlzIGV4ZW1wdDogYW4gb3ZlcmxvYWQgb2YgYG9uYCwgYG9mZmAsIGB0cmlnZ2VyYCBvciBgdHJ5VHJpZ2dlcmAgd2hvc2UgZmlyc3QgcGFyYW1ldGVyIGlzIGFcbiAqIHN0cmluZy1saXRlcmFsIHR5cGUsIG9yIGEgdW5pb24gb2YgdGhlbS4gVGhhdCBpcyBob3cgYSBwbHVnaW4gdHlwZXMgaXRzIE9XTiBjdXN0b20gZXZlbnRzIG9uIGBXb3Jrc3BhY2VgIG9yXG4gKiBhbm90aGVyIGBFdmVudHNgIHN1YmNsYXNzLCBzbyBpdCBkZXNjcmliZXMgdGhlIHBsdWdpbidzIGNvZGUgcmF0aGVyIHRoYW4gT2JzaWRpYW4ncy4gQSBuYW1lIHR5cGVkIHRocm91Z2ggYW5cbiAqIGFsaWFzIChgbmFtZTogTXlFdmVudE5hbWVgKSBpcyByZWNvZ25pemVkIG9ubHkgd2hlbiB0aGUgZmlsZSBpcyBsaW50ZWQgd2l0aCB0eXBlIGluZm9ybWF0aW9uLCB3aGljaCB0aGUgc2hhcmVkXG4gKiBjb25maWd1cmF0aW9uIGFsd2F5cyBoYXMuXG4gKlxuICogT25seSB0aGUgbW9kdWxlIG5hbWVkIGV4YWN0bHkgYG9ic2lkaWFuYCBpcyByZWFkLiBBIGBkZWNsYXJlIG1vZHVsZSAnb2JzaWRpYW4tdHlwaW5ncydgIGF1Z21lbnRhdGlvbiBvZlxuICogYFBsdWdpbnNQbHVnaW5zUmVjb3JkYCBpcyBgb2JzaWRpYW4tdHlwaW5nc2AnIGRlc2lnbmVkIGV4dGVuc2lvbiBwb2ludCBmb3IgdGhpcmQtcGFydHkgcGx1Z2luIHR5cGVzLCBhbmQgaXNcbiAqIG5vdCByZXBvcnRlZC5cbiAqXG4gKiBOb3QgYXR0ZW1wdGVkOiBhIGxvY2FsIGludGVyZmFjZSBvciBhbiBpbmxpbmUgY2FzdCB0aGF0IHNwZWxscyBhbiBpbnRlcm5hbCBzaGFwZSBjYW5ub3QgYmUgdG9sZCBhcGFydCBmcm9tIGFcbiAqIHJlcG9zaXRvcnkncyBvd24gdHlwZXMgbWVjaGFuaWNhbGx5LCBzbyB0aG9zZSBhcmUgbGVmdCB0byByZXZpZXcuXG4gKi9cbmltcG9ydCB0eXBlIHtcbiAgUGFyc2VyU2VydmljZXMsXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBUeXBlTm9kZSB9IGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQgeyB0b1RTRVNUcmVlTm9kZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2xpbnRlcnMvZXNsaW50LXJ1bGVzL3RzLWVzdHJlZS1ub2RlJztcbmltcG9ydCB7IEFTVF9OT0RFX1RZUEVTIH0gZnJvbSAnQHR5cGVzY3JpcHQtZXNsaW50L3V0aWxzJztcblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIGZvciBhIG1lbWJlciBhIGBkZWNsYXJlIG1vZHVsZSAnb2JzaWRpYW4nYCBhdWdtZW50YXRpb24gYWRkcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAnbm9Mb2NhbE9ic2lkaWFuSW50ZXJuYWxzJztcblxuLyoqXG5UaGUgbW9kdWxlIG5hbWUgd2hvc2UgYXVnbWVudGF0aW9ucyBhcmUgcmVwb3J0ZWQuXG4gKi9cbmNvbnN0IE9CU0lESUFOX01PRFVMRV9OQU1FID0gJ29ic2lkaWFuJztcblxuLyoqXG5UaGUgYEV2ZW50c2AgbWV0aG9kcyBhIGN1c3RvbS1ldmVudCBvdmVybG9hZCBtYXkgYmUgZGVjbGFyZWQgb24uXG4gKi9cbmNvbnN0IEVWRU5UX01FVEhPRF9OQU1FUyA9IG5ldyBTZXQoWydvZmYnLCAnb24nLCAndHJpZ2dlcicsICd0cnlUcmlnZ2VyJ10pO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgdHlwZSBpcyBhIHN0cmluZy1saXRlcmFsIHR5cGUsIG9yIGEgdW5pb24gbWFkZSBvbmx5IG9mIHRoZW0uXG4gKi9cbnR5cGUgU3RyaW5nTGl0ZXJhbFR5cGVDaGVjayA9ICh0eXBlTm9kZTogVFNFU1RyZWUuVHlwZU5vZGUpID0+IGJvb2xlYW47XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgZGlzYWxsb3dpbmcgbG9jYWxseSBkZWNsYXJlZCBPYnNpZGlhbiBpbnRlcm5hbHMgaW4gYSBgZGVjbGFyZSBtb2R1bGUgJ29ic2lkaWFuJ2AgYXVnbWVudGF0aW9uLlxuICovXG5leHBvcnQgY29uc3Qgbm9Mb2NhbE9ic2lkaWFuSW50ZXJuYWxzOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdUU01vZHVsZURlY2xhcmF0aW9uJyhub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbW9kdWxlTm9kZSA9IHRvVFNFU1RyZWVOb2RlKG5vZGUpIGFzIFRTRVNUcmVlLlRTTW9kdWxlRGVjbGFyYXRpb247XG5cbiAgICAgICAgaWYgKG1vZHVsZU5vZGUuaWQudHlwZSAhPT0gQVNUX05PREVfVFlQRVMuTGl0ZXJhbCB8fCBtb2R1bGVOb2RlLmlkLnZhbHVlICE9PSBPQlNJRElBTl9NT0RVTEVfTkFNRSB8fCAhbW9kdWxlTm9kZS5ib2R5KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNTdHJpbmdMaXRlcmFsVHlwZSA9IGNyZWF0ZVN0cmluZ0xpdGVyYWxUeXBlQ2hlY2soY29udGV4dCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgbW9kdWxlTm9kZS5ib2R5LmJvZHkpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHJlcG9ydGVkIG9mIGNvbGxlY3RSZXBvcnRlZE5vZGVzKHN0YXRlbWVudCwgaXNTdHJpbmdMaXRlcmFsVHlwZSkpIHtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgZGF0YTogeyBuYW1lOiBkZXNjcmliZU5vZGUocmVwb3J0ZWQpIH0sXG4gICAgICAgICAgICAgIGxvYzogcmVwb3J0ZWQubG9jLFxuICAgICAgICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc2FsbG93IGRlY2xhcmluZyBPYnNpZGlhbiBpbnRlcm5hbHMgbG9jYWxseSBpbiBhIGBkZWNsYXJlIG1vZHVsZSBcXCdvYnNpZGlhblxcJ2AgYXVnbWVudGF0aW9uJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ2B7eyBuYW1lIH19YCBkZWNsYXJlcyBPYnNpZGlhbiBBUEkgbG9jYWxseS4gSW1wb3J0IGl0IGZyb20gYG9ic2lkaWFuLXR5cGluZ3NgIGluc3RlYWQsIGFkZGluZyBpdCB0aGVyZSBmaXJzdCBpZiBpdCBpcyBtaXNzaW5nIG9yIHdyb25nLiBPbmx5IGEgY3VzdG9tLWV2ZW50IG92ZXJsb2FkIG9mIGBvbmAgLyBgb2ZmYCAvIGB0cmlnZ2VyYCAvIGB0cnlUcmlnZ2VyYCBtYXkgc3RheSBoZXJlLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3Byb2JsZW0nXG4gIH1cbn07XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIG5vZGVzIHRvIHJlcG9ydCBmb3Igb25lIHN0YXRlbWVudCBvZiBhIGBkZWNsYXJlIG1vZHVsZSAnb2JzaWRpYW4nYCBibG9jay5cbiAqXG4gKiBBbiBpbnRlcmZhY2UgaXMgcmVwb3J0ZWQgbWVtYmVyIGJ5IG1lbWJlciwgc28gYSBjdXN0b20tZXZlbnQgb3ZlcmxvYWQgY2FuIHNpdCBiZXNpZGUgYSByZXBvcnRlZCBtZW1iZXIsIGFuZCBpdHNcbiAqIGBleHRlbmRzYCBjbGF1c2UgaXMgcmVwb3J0ZWQgdG9vLCBzaW5jZSB0aGF0IGJvbHRzIG1lbWJlcnMgb24gYXMgc3VyZWx5IGFzIGRlY2xhcmluZyB0aGVtLiBBbnkgb3RoZXIgc3RhdGVtZW50XG4gKiAoYSBjbGFzcywgYSBmdW5jdGlvbiwgYSB0eXBlIGFsaWFzLCBhIHZhcmlhYmxlKSBpcyByZXBvcnRlZCB3aG9sZS5cbiAqXG4gKiBAcGFyYW0gc3RhdGVtZW50IC0gQSBzdGF0ZW1lbnQgb2YgdGhlIG1vZHVsZSBibG9jay5cbiAqIEBwYXJhbSBpc1N0cmluZ0xpdGVyYWxUeXBlIC0gVGhlIGNoZWNrIG9mIHdoZXRoZXIgYSB0eXBlIGlzIGEgc3RyaW5nLWxpdGVyYWwgdHlwZSBvciBhIHVuaW9uIG9mIHRoZW0uXG4gKiBAcmV0dXJucyBUaGUgbm9kZXMgdG8gcmVwb3J0LlxuICovXG5mdW5jdGlvbiBjb2xsZWN0UmVwb3J0ZWROb2RlcyhzdGF0ZW1lbnQ6IFRTRVNUcmVlLlByb2dyYW1TdGF0ZW1lbnQsIGlzU3RyaW5nTGl0ZXJhbFR5cGU6IFN0cmluZ0xpdGVyYWxUeXBlQ2hlY2spOiBUU0VTVHJlZS5Ob2RlW10ge1xuICBjb25zdCBkZWNsYXJhdGlvbiA9IHN0YXRlbWVudC50eXBlID09PSBBU1RfTk9ERV9UWVBFUy5FeHBvcnROYW1lZERlY2xhcmF0aW9uICYmIHN0YXRlbWVudC5kZWNsYXJhdGlvbiA/IHN0YXRlbWVudC5kZWNsYXJhdGlvbiA6IHN0YXRlbWVudDtcblxuICBpZiAoZGVjbGFyYXRpb24udHlwZSAhPT0gQVNUX05PREVfVFlQRVMuVFNJbnRlcmZhY2VEZWNsYXJhdGlvbikge1xuICAgIHJldHVybiBbZGVjbGFyYXRpb25dO1xuICB9XG5cbiAgcmV0dXJuIFtcbiAgICAuLi5kZWNsYXJhdGlvbi5leHRlbmRzLFxuICAgIC4uLmRlY2xhcmF0aW9uLmJvZHkuYm9keS5maWx0ZXIoKG1lbWJlcikgPT4gIWlzQ3VzdG9tRXZlbnRPdmVybG9hZChtZW1iZXIsIGlzU3RyaW5nTGl0ZXJhbFR5cGUpKVxuICBdO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGNoZWNrIG9mIHdoZXRoZXIgYSB0eXBlIGlzIGEgc3RyaW5nLWxpdGVyYWwgdHlwZSwgb3IgYSB1bmlvbiBtYWRlIG9ubHkgb2YgdGhlbS5cbiAqXG4gKiBBIHR5cGUgd3JpdHRlbiBvdXQgYXMgbGl0ZXJhbHMgKGAnbXktZXZlbnQnIHwgJ290aGVyLWV2ZW50J2ApIGlzIHJlY29nbml6ZWQgZnJvbSB0aGUgc3ludGF4IGFsb25lLiBBIHR5cGUgcmVhY2hlZFxuICogdGhyb3VnaCBhbiBhbGlhcyAoYG5hbWU6IE15RXZlbnROYW1lYCkgbmVlZHMgdGhlIHR5cGUgY2hlY2tlciwgc28gaXQgaXMgcmVjb2duaXplZCBvbmx5IHdoZW4gdGhlIGZpbGUgaXMgbGludGVkXG4gKiB3aXRoIHR5cGUgaW5mb3JtYXRpb24sIGFuZCByZXBvcnRlZCBvdGhlcndpc2UuXG4gKlxuICogQHBhcmFtIGNvbnRleHQgLSBUaGUgcnVsZSBjb250ZXh0LlxuICogQHJldHVybnMgVGhlIGNoZWNrLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTdHJpbmdMaXRlcmFsVHlwZUNoZWNrKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBTdHJpbmdMaXRlcmFsVHlwZUNoZWNrIHtcbiAgY29uc3Qgc2VydmljZXMgPSBjb250ZXh0LnNvdXJjZUNvZGUucGFyc2VyU2VydmljZXMgYXMgUGFyc2VyU2VydmljZXM7XG4gIGNvbnN0IGNoZWNrZXIgPSBzZXJ2aWNlcy5wcm9ncmFtPy5nZXRUeXBlQ2hlY2tlcigpID8/IG51bGw7XG5cbiAgcmV0dXJuIGlzU3RyaW5nTGl0ZXJhbFR5cGU7XG5cbiAgZnVuY3Rpb24gaXNTdHJpbmdMaXRlcmFsVHlwZSh0eXBlTm9kZTogVFNFU1RyZWUuVHlwZU5vZGUpOiBib29sZWFuIHtcbiAgICBpZiAodHlwZU5vZGUudHlwZSA9PT0gQVNUX05PREVfVFlQRVMuVFNVbmlvblR5cGUpIHtcbiAgICAgIHJldHVybiB0eXBlTm9kZS50eXBlcy5ldmVyeSgobWVtYmVyKSA9PiBpc1N0cmluZ0xpdGVyYWxUeXBlKG1lbWJlcikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlTm9kZS50eXBlID09PSBBU1RfTk9ERV9UWVBFUy5UU0xpdGVyYWxUeXBlKSB7XG4gICAgICByZXR1cm4gdHlwZU5vZGUubGl0ZXJhbC50eXBlID09PSBBU1RfTk9ERV9UWVBFUy5MaXRlcmFsICYmIHR5cGVvZiB0eXBlTm9kZS5saXRlcmFsLnZhbHVlID09PSAnc3RyaW5nJztcbiAgICB9XG5cbiAgICBpZiAoIWNoZWNrZXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCB0eXBlID0gY2hlY2tlci5nZXRUeXBlRnJvbVR5cGVOb2RlKHNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQodHlwZU5vZGUpIGFzIFR5cGVOb2RlKTtcbiAgICByZXR1cm4gdHlwZS5pc1VuaW9uKCkgPyB0eXBlLnR5cGVzLmV2ZXJ5KChtZW1iZXIpID0+IG1lbWJlci5pc1N0cmluZ0xpdGVyYWwoKSkgOiB0eXBlLmlzU3RyaW5nTGl0ZXJhbCgpO1xuICB9XG59XG5cbi8qKlxuICogTmFtZXMgYSByZXBvcnRlZCBub2RlIGZvciB0aGUgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSByZXBvcnRlZCBub2RlLlxuICogQHJldHVybnMgVGhlIG5hbWUgdG8gc2hvdy5cbiAqL1xuZnVuY3Rpb24gZGVzY3JpYmVOb2RlKG5vZGU6IFRTRVNUcmVlLk5vZGUpOiBzdHJpbmcge1xuICBzd2l0Y2ggKG5vZGUudHlwZSkge1xuICAgIGNhc2UgQVNUX05PREVfVFlQRVMuQ2xhc3NEZWNsYXJhdGlvbjpcbiAgICBjYXNlIEFTVF9OT0RFX1RZUEVTLkZ1bmN0aW9uRGVjbGFyYXRpb246XG4gICAgY2FzZSBBU1RfTk9ERV9UWVBFUy5UU0RlY2xhcmVGdW5jdGlvbjpcbiAgICBjYXNlIEFTVF9OT0RFX1RZUEVTLlRTRW51bURlY2xhcmF0aW9uOlxuICAgIGNhc2UgQVNUX05PREVfVFlQRVMuVFNNb2R1bGVEZWNsYXJhdGlvbjpcbiAgICBjYXNlIEFTVF9OT0RFX1RZUEVTLlRTVHlwZUFsaWFzRGVjbGFyYXRpb246IHtcbiAgICAgIHJldHVybiBub2RlLmlkPy50eXBlID09PSBBU1RfTk9ERV9UWVBFUy5JZGVudGlmaWVyID8gbm9kZS5pZC5uYW1lIDogbm9kZS50eXBlO1xuICAgIH1cbiAgICBjYXNlIEFTVF9OT0RFX1RZUEVTLlRTSW50ZXJmYWNlSGVyaXRhZ2U6IHtcbiAgICAgIHJldHVybiBub2RlLmV4cHJlc3Npb24udHlwZSA9PT0gQVNUX05PREVfVFlQRVMuSWRlbnRpZmllciA/IGBleHRlbmRzICR7bm9kZS5leHByZXNzaW9uLm5hbWV9YCA6ICdleHRlbmRzJztcbiAgICB9XG4gICAgY2FzZSBBU1RfTk9ERV9UWVBFUy5UU01ldGhvZFNpZ25hdHVyZTpcbiAgICBjYXNlIEFTVF9OT0RFX1RZUEVTLlRTUHJvcGVydHlTaWduYXR1cmU6IHtcbiAgICAgIHJldHVybiByZWFkS2V5TmFtZShub2RlLmtleSkgPz8gbm9kZS50eXBlO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gbm9kZS50eXBlO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGFuIGludGVyZmFjZSBtZW1iZXIgaXMgYSBjdXN0b20tZXZlbnQgb3ZlcmxvYWQ6IGFuIGBvbmAgLyBgb2ZmYCAvIGB0cmlnZ2VyYCAvIGB0cnlUcmlnZ2VyYCBtZXRob2RcbiAqIHdob3NlIGZpcnN0IHBhcmFtZXRlciBpcyB0eXBlZCBhcyBhIHN0cmluZy1saXRlcmFsIHR5cGUgb3IgYSB1bmlvbiBvZiB0aGVtLlxuICpcbiAqIEBwYXJhbSBtZW1iZXIgLSBUaGUgaW50ZXJmYWNlIG1lbWJlci5cbiAqIEBwYXJhbSBpc1N0cmluZ0xpdGVyYWxUeXBlIC0gVGhlIGNoZWNrIG9mIHdoZXRoZXIgYSB0eXBlIGlzIGEgc3RyaW5nLWxpdGVyYWwgdHlwZSBvciBhIHVuaW9uIG9mIHRoZW0uXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgbWVtYmVyIGlzIGV4ZW1wdC5cbiAqL1xuZnVuY3Rpb24gaXNDdXN0b21FdmVudE92ZXJsb2FkKG1lbWJlcjogVFNFU1RyZWUuVHlwZUVsZW1lbnQsIGlzU3RyaW5nTGl0ZXJhbFR5cGU6IFN0cmluZ0xpdGVyYWxUeXBlQ2hlY2spOiBib29sZWFuIHtcbiAgaWYgKG1lbWJlci50eXBlICE9PSBBU1RfTk9ERV9UWVBFUy5UU01ldGhvZFNpZ25hdHVyZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG5hbWUgPSByZWFkS2V5TmFtZShtZW1iZXIua2V5KTtcbiAgaWYgKG5hbWUgPT09IG51bGwgfHwgIUVWRU5UX01FVEhPRF9OQU1FUy5oYXMobmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBmaXJzdFBhcmFtZXRlciA9IG1lbWJlci5wYXJhbXNbMF07XG4gIHJldHVybiBmaXJzdFBhcmFtZXRlcj8udHlwZSA9PT0gQVNUX05PREVfVFlQRVMuSWRlbnRpZmllciAmJiBmaXJzdFBhcmFtZXRlci50eXBlQW5ub3RhdGlvbiAhPT0gdW5kZWZpbmVkXG4gICAgJiYgaXNTdHJpbmdMaXRlcmFsVHlwZShmaXJzdFBhcmFtZXRlci50eXBlQW5ub3RhdGlvbi50eXBlQW5ub3RhdGlvbik7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIG5hbWUgb2YgYSBtZW1iZXIga2V5IHdyaXR0ZW4gYXMgYW4gaWRlbnRpZmllciBvciBhIHN0cmluZyBsaXRlcmFsLlxuICpcbiAqIEBwYXJhbSBrZXkgLSBUaGUgbWVtYmVyIGtleS5cbiAqIEByZXR1cm5zIFRoZSBuYW1lLCBvciBgbnVsbGAgZm9yIGEgY29tcHV0ZWQga2V5LlxuICovXG5mdW5jdGlvbiByZWFkS2V5TmFtZShrZXk6IFRTRVNUcmVlLlByb3BlcnR5TmFtZSk6IG51bGwgfCBzdHJpbmcge1xuICBpZiAoa2V5LnR5cGUgPT09IEFTVF9OT0RFX1RZUEVTLklkZW50aWZpZXIpIHtcbiAgICByZXR1cm4ga2V5Lm5hbWU7XG4gIH1cblxuICByZXR1cm4ga2V5LnR5cGUgPT09IEFTVF9OT0RFX1RZUEVTLkxpdGVyYWwgJiYgdHlwZW9mIGtleS52YWx1ZSA9PT0gJ3N0cmluZycgPyBrZXkudmFsdWUgOiBudWxsO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDQSxTQUFTLHNCQUFzQjtBQUMvQixTQUFTLHNCQUFzQjtBQUt4QixNQUFNLGFBQWE7QUFLMUIsTUFBTSx1QkFBdUI7QUFLN0IsTUFBTSxxQkFBcUIsb0JBQUksSUFBSSxDQUFDLE9BQU8sTUFBTSxXQUFXLFlBQVksQ0FBQztBQVVsRSxNQUFNLDJCQUE0QztBQUFBLEVBQ3ZELE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLHNCQUFzQixNQUF1QjtBQUMzQyxjQUFNLGFBQWEsZUFBZSxJQUFJO0FBRXRDLFlBQUksV0FBVyxHQUFHLFNBQVMsZUFBZSxXQUFXLFdBQVcsR0FBRyxVQUFVLHdCQUF3QixDQUFDLFdBQVcsTUFBTTtBQUNySDtBQUFBLFFBQ0Y7QUFFQSxjQUFNLHNCQUFzQiw2QkFBNkIsT0FBTztBQUVoRSxtQkFBVyxhQUFhLFdBQVcsS0FBSyxNQUFNO0FBQzVDLHFCQUFXLFlBQVkscUJBQXFCLFdBQVcsbUJBQW1CLEdBQUc7QUFDM0Usb0JBQVEsT0FBTztBQUFBLGNBQ2IsTUFBTSxFQUFFLE1BQU0sYUFBYSxRQUFRLEVBQUU7QUFBQSxjQUNyQyxLQUFLLFNBQVM7QUFBQSxjQUNkLFdBQVc7QUFBQSxZQUNiLENBQUM7QUFBQSxVQUNIO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsVUFBVSxHQUFHO0FBQUEsSUFDaEI7QUFBQSxJQUNBLFFBQVEsQ0FBQztBQUFBLElBQ1QsTUFBTTtBQUFBLEVBQ1I7QUFDRjtBQWFBLFNBQVMscUJBQXFCLFdBQXNDLHFCQUE4RDtBQUNoSSxRQUFNLGNBQWMsVUFBVSxTQUFTLGVBQWUsMEJBQTBCLFVBQVUsY0FBYyxVQUFVLGNBQWM7QUFFaEksTUFBSSxZQUFZLFNBQVMsZUFBZSx3QkFBd0I7QUFDOUQsV0FBTyxDQUFDLFdBQVc7QUFBQSxFQUNyQjtBQUVBLFNBQU87QUFBQSxJQUNMLEdBQUcsWUFBWTtBQUFBLElBQ2YsR0FBRyxZQUFZLEtBQUssS0FBSyxPQUFPLENBQUMsV0FBVyxDQUFDLHNCQUFzQixRQUFRLG1CQUFtQixDQUFDO0FBQUEsRUFDakc7QUFDRjtBQVlBLFNBQVMsNkJBQTZCLFNBQW1EO0FBQ3ZGLFFBQU0sV0FBVyxRQUFRLFdBQVc7QUFDcEMsUUFBTSxVQUFVLFNBQVMsU0FBUyxlQUFlLEtBQUs7QUFFdEQsU0FBTztBQUVQLFdBQVMsb0JBQW9CLFVBQXNDO0FBQ2pFLFFBQUksU0FBUyxTQUFTLGVBQWUsYUFBYTtBQUNoRCxhQUFPLFNBQVMsTUFBTSxNQUFNLENBQUMsV0FBVyxvQkFBb0IsTUFBTSxDQUFDO0FBQUEsSUFDckU7QUFFQSxRQUFJLFNBQVMsU0FBUyxlQUFlLGVBQWU7QUFDbEQsYUFBTyxTQUFTLFFBQVEsU0FBUyxlQUFlLFdBQVcsT0FBTyxTQUFTLFFBQVEsVUFBVTtBQUFBLElBQy9GO0FBRUEsUUFBSSxDQUFDLFNBQVM7QUFDWixhQUFPO0FBQUEsSUFDVDtBQUVBLFVBQU0sT0FBTyxRQUFRLG9CQUFvQixTQUFTLHNCQUFzQixJQUFJLFFBQVEsQ0FBYTtBQUNqRyxXQUFPLEtBQUssUUFBUSxJQUFJLEtBQUssTUFBTSxNQUFNLENBQUMsV0FBVyxPQUFPLGdCQUFnQixDQUFDLElBQUksS0FBSyxnQkFBZ0I7QUFBQSxFQUN4RztBQUNGO0FBUUEsU0FBUyxhQUFhLE1BQTZCO0FBQ2pELFVBQVEsS0FBSyxNQUFNO0FBQUEsSUFDakIsS0FBSyxlQUFlO0FBQUEsSUFDcEIsS0FBSyxlQUFlO0FBQUEsSUFDcEIsS0FBSyxlQUFlO0FBQUEsSUFDcEIsS0FBSyxlQUFlO0FBQUEsSUFDcEIsS0FBSyxlQUFlO0FBQUEsSUFDcEIsS0FBSyxlQUFlLHdCQUF3QjtBQUMxQyxhQUFPLEtBQUssSUFBSSxTQUFTLGVBQWUsYUFBYSxLQUFLLEdBQUcsT0FBTyxLQUFLO0FBQUEsSUFDM0U7QUFBQSxJQUNBLEtBQUssZUFBZSxxQkFBcUI7QUFDdkMsYUFBTyxLQUFLLFdBQVcsU0FBUyxlQUFlLGFBQWEsV0FBVyxLQUFLLFdBQVcsSUFBSSxLQUFLO0FBQUEsSUFDbEc7QUFBQSxJQUNBLEtBQUssZUFBZTtBQUFBLElBQ3BCLEtBQUssZUFBZSxxQkFBcUI7QUFDdkMsYUFBTyxZQUFZLEtBQUssR0FBRyxLQUFLLEtBQUs7QUFBQSxJQUN2QztBQUFBLElBQ0EsU0FBUztBQUNQLGFBQU8sS0FBSztBQUFBLElBQ2Q7QUFBQSxFQUNGO0FBQ0Y7QUFVQSxTQUFTLHNCQUFzQixRQUE4QixxQkFBc0Q7QUFDakgsTUFBSSxPQUFPLFNBQVMsZUFBZSxtQkFBbUI7QUFDcEQsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLE9BQU8sWUFBWSxPQUFPLEdBQUc7QUFDbkMsTUFBSSxTQUFTLFFBQVEsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLEdBQUc7QUFDbEQsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGlCQUFpQixPQUFPLE9BQU8sQ0FBQztBQUN0QyxTQUFPLGdCQUFnQixTQUFTLGVBQWUsY0FBYyxlQUFlLG1CQUFtQixVQUMxRixvQkFBb0IsZUFBZSxlQUFlLGNBQWM7QUFDdkU7QUFRQSxTQUFTLFlBQVksS0FBMkM7QUFDOUQsTUFBSSxJQUFJLFNBQVMsZUFBZSxZQUFZO0FBQzFDLFdBQU8sSUFBSTtBQUFBLEVBQ2I7QUFFQSxTQUFPLElBQUksU0FBUyxlQUFlLFdBQVcsT0FBTyxJQUFJLFVBQVUsV0FBVyxJQUFJLFFBQVE7QUFDNUY7IiwibmFtZXMiOltdfQ==
@@ -1,4 +1,4 @@
1
- /// <reference path="../../index.d.mts" />
1
+ /// <reference path="../../library-references.d.mts" />
2
2
  import type { Rule } from 'eslint';
3
3
  /**
4
4
  * Message ID reported when an in-Obsidian closure declares more waiting than the transport's cap allows.