@mnaoumov/obsidian-lib 2.0.0 → 3.1.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 (229) hide show
  1. package/dist/lib/cjs/__merged.cjs +3 -1
  2. package/dist/lib/cjs/__merged.d.cts +1 -1
  3. package/dist/lib/cjs/attachment-path.cjs +8 -5
  4. package/dist/lib/cjs/attachment-path.d.cts +4 -4
  5. package/dist/lib/cjs/attachment-unit-folder.cjs +1 -1
  6. package/dist/lib/cjs/attachment-unit-folder.d.cts +3 -3
  7. package/dist/lib/cjs/callout.cjs +1 -1
  8. package/dist/lib/cjs/callout.d.cts +2 -2
  9. package/dist/lib/cjs/canvas.cjs +1 -1
  10. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +9 -9
  11. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.d.cts +14 -14
  12. package/dist/lib/cjs/components/plugin-gate-component.cjs +3 -3
  13. package/dist/lib/cjs/components/plugin-gate-component.d.cts +8 -2
  14. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +4 -3
  15. package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +5 -1
  16. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +1 -1
  17. package/dist/lib/cjs/dataview-link.cjs +1 -1
  18. package/dist/lib/cjs/dataview-link.d.cts +1 -1
  19. package/dist/lib/cjs/dataview.cjs +1 -1
  20. package/dist/lib/cjs/dataview.d.cts +16 -10
  21. package/dist/lib/cjs/demo-vault-helper-settings.cjs +1 -1
  22. package/dist/lib/cjs/demo-vault-helper-settings.d.cts +1 -1
  23. package/dist/lib/cjs/demo-vault-helper.cjs +1 -1
  24. package/dist/lib/cjs/demo-vault-helper.d.cts +11 -11
  25. package/dist/lib/cjs/file-system.cjs +1 -1
  26. package/dist/lib/cjs/file-system.d.cts +2 -2
  27. package/dist/lib/cjs/folder-note.cjs +1 -1
  28. package/dist/lib/cjs/generated-during-build.cjs +1 -1
  29. package/dist/lib/cjs/html-element.cjs +6 -1
  30. package/dist/lib/cjs/html-element.d.cts +11 -0
  31. package/dist/lib/cjs/metadata-cache.cjs +2 -2
  32. package/dist/lib/cjs/metadata-cache.d.cts +6 -6
  33. package/dist/lib/cjs/note-priority.cjs +1 -1
  34. package/dist/lib/cjs/note-priority.d.cts +1 -1
  35. package/dist/lib/cjs/notebook-navigator.cjs +1 -1
  36. package/dist/lib/cjs/notebook-navigator.d.cts +12 -12
  37. package/dist/lib/cjs/plugin/plugin.cjs +2 -2
  38. package/dist/lib/cjs/plugin/plugin.d.cts +1 -1
  39. package/dist/lib/cjs/templater.cjs +4 -4
  40. package/dist/lib/cjs/templater.d.cts +35 -35
  41. package/dist/lib/esm/__merged.d.mts +1 -1
  42. package/dist/lib/esm/__merged.mjs +3 -1
  43. package/dist/lib/esm/attachment-path.d.mts +4 -4
  44. package/dist/lib/esm/attachment-path.mjs +8 -5
  45. package/dist/lib/esm/attachment-unit-folder.d.mts +3 -3
  46. package/dist/lib/esm/attachment-unit-folder.mjs +1 -1
  47. package/dist/lib/esm/callout.d.mts +2 -2
  48. package/dist/lib/esm/callout.mjs +1 -1
  49. package/dist/lib/esm/canvas.mjs +1 -1
  50. package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.d.mts +14 -14
  51. package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +9 -9
  52. package/dist/lib/esm/components/plugin-gate-component.d.mts +8 -2
  53. package/dist/lib/esm/components/plugin-gate-component.mjs +4 -3
  54. package/dist/lib/esm/components/plugin-suggestion-component.d.mts +5 -1
  55. package/dist/lib/esm/components/plugin-suggestion-component.mjs +4 -3
  56. package/dist/lib/esm/components/rename-delete-handler-component.mjs +1 -1
  57. package/dist/lib/esm/dataview-link.d.mts +1 -1
  58. package/dist/lib/esm/dataview-link.mjs +1 -1
  59. package/dist/lib/esm/dataview.d.mts +16 -10
  60. package/dist/lib/esm/dataview.mjs +1 -1
  61. package/dist/lib/esm/demo-vault-helper-settings.d.mts +1 -1
  62. package/dist/lib/esm/demo-vault-helper.d.mts +11 -11
  63. package/dist/lib/esm/demo-vault-helper.mjs +1 -1
  64. package/dist/lib/esm/file-system.d.mts +2 -2
  65. package/dist/lib/esm/file-system.mjs +1 -1
  66. package/dist/lib/esm/folder-note.mjs +1 -1
  67. package/dist/lib/esm/generated-during-build.mjs +1 -1
  68. package/dist/lib/esm/html-element.d.mts +11 -0
  69. package/dist/lib/esm/html-element.mjs +5 -1
  70. package/dist/lib/esm/metadata-cache.d.mts +6 -6
  71. package/dist/lib/esm/metadata-cache.mjs +2 -2
  72. package/dist/lib/esm/note-priority.d.mts +1 -1
  73. package/dist/lib/esm/note-priority.mjs +1 -1
  74. package/dist/lib/esm/notebook-navigator.d.mts +12 -12
  75. package/dist/lib/esm/notebook-navigator.mjs +1 -1
  76. package/dist/lib/esm/plugin/plugin.d.mts +1 -1
  77. package/dist/lib/esm/plugin/plugin.mjs +2 -2
  78. package/dist/lib/esm/templater.d.mts +35 -35
  79. package/dist/lib/esm/templater.mjs +4 -4
  80. package/package.json +4 -135
  81. package/@types/dataview/api/data-array/package.json +0 -4
  82. package/@types/dataview/api/extensions/package.json +0 -4
  83. package/@types/dataview/api/inline-api/package.json +0 -4
  84. package/@types/dataview/api/plugin-api/package.json +0 -4
  85. package/@types/dataview/api/result/package.json +0 -4
  86. package/@types/dataview/data-import/common/package.json +0 -4
  87. package/@types/dataview/data-import/csv/package.json +0 -4
  88. package/@types/dataview/data-import/inline-field/package.json +0 -4
  89. package/@types/dataview/data-import/markdown-file/package.json +0 -4
  90. package/@types/dataview/data-import/persister/package.json +0 -4
  91. package/@types/dataview/data-import/web-worker/import-entry/package.json +0 -4
  92. package/@types/dataview/data-import/web-worker/import-impl/package.json +0 -4
  93. package/@types/dataview/data-import/web-worker/import-manager/package.json +0 -4
  94. package/@types/dataview/data-index/index/package.json +0 -4
  95. package/@types/dataview/data-index/package.json +0 -4
  96. package/@types/dataview/data-index/resolver/package.json +0 -4
  97. package/@types/dataview/data-index/source/package.json +0 -4
  98. package/@types/dataview/data-model/markdown/package.json +0 -4
  99. package/@types/dataview/data-model/serialized/markdown/package.json +0 -4
  100. package/@types/dataview/data-model/transferable/package.json +0 -4
  101. package/@types/dataview/data-model/value/package.json +0 -4
  102. package/@types/dataview/expression/binaryop/package.json +0 -4
  103. package/@types/dataview/expression/context/package.json +0 -4
  104. package/@types/dataview/expression/field/package.json +0 -4
  105. package/@types/dataview/expression/functions/package.json +0 -4
  106. package/@types/dataview/expression/parse/package.json +0 -4
  107. package/@types/dataview/index/package.json +0 -4
  108. package/@types/dataview/main/package.json +0 -4
  109. package/@types/dataview/package.json +0 -4
  110. package/@types/dataview/query/engine/package.json +0 -4
  111. package/@types/dataview/query/parse/package.json +0 -4
  112. package/@types/dataview/query/query/package.json +0 -4
  113. package/@types/dataview/settings/package.json +0 -4
  114. package/@types/dataview/typings/obsidian-ex/package.json +0 -4
  115. package/@types/dataview/typings/workers/package.json +0 -4
  116. package/@types/dataview/ui/export/markdown/package.json +0 -4
  117. package/@types/dataview/ui/lp-render/package.json +0 -4
  118. package/@types/dataview/ui/markdown/package.json +0 -4
  119. package/@types/dataview/ui/refreshable-view/package.json +0 -4
  120. package/@types/dataview/ui/render/package.json +0 -4
  121. package/@types/dataview/ui/views/calendar-view/package.json +0 -4
  122. package/@types/dataview/ui/views/inline-field-live-preview/package.json +0 -4
  123. package/@types/dataview/ui/views/inline-view/package.json +0 -4
  124. package/@types/dataview/ui/views/js-view/package.json +0 -4
  125. package/@types/dataview/ui/views/list-view/package.json +0 -4
  126. package/@types/dataview/ui/views/table-view/package.json +0 -4
  127. package/@types/dataview/ui/views/task-view/package.json +0 -4
  128. package/@types/dataview/util/hash/package.json +0 -4
  129. package/@types/dataview/util/locale/package.json +0 -4
  130. package/@types/dataview/util/media/package.json +0 -4
  131. package/@types/dataview/util/normalize/package.json +0 -4
  132. package/dist/lib/cjs/@types/dataview/api/data-array.d.cts +0 -137
  133. package/dist/lib/cjs/@types/dataview/api/extensions.d.cts +0 -16
  134. package/dist/lib/cjs/@types/dataview/api/inline-api.d.cts +0 -187
  135. package/dist/lib/cjs/@types/dataview/api/plugin-api.d.cts +0 -210
  136. package/dist/lib/cjs/@types/dataview/api/result.d.cts +0 -39
  137. package/dist/lib/cjs/@types/dataview/data-import/common.d.cts +0 -4
  138. package/dist/lib/cjs/@types/dataview/data-import/csv.d.cts +0 -4
  139. package/dist/lib/cjs/@types/dataview/data-import/inline-field.d.cts +0 -43
  140. package/dist/lib/cjs/@types/dataview/data-import/markdown-file.d.cts +0 -53
  141. package/dist/lib/cjs/@types/dataview/data-import/persister.d.cts +0 -33
  142. package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-entry.d.cts +0 -2
  143. package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-impl.d.cts +0 -7
  144. package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-manager.d.cts +0 -38
  145. package/dist/lib/cjs/@types/dataview/data-index/index.d.cts +0 -187
  146. package/dist/lib/cjs/@types/dataview/data-index/resolver.d.cts +0 -24
  147. package/dist/lib/cjs/@types/dataview/data-index/source.d.cts +0 -72
  148. package/dist/lib/cjs/@types/dataview/data-model/markdown.d.cts +0 -116
  149. package/dist/lib/cjs/@types/dataview/data-model/serialized/markdown.d.cts +0 -107
  150. package/dist/lib/cjs/@types/dataview/data-model/transferable.d.cts +0 -8
  151. package/dist/lib/cjs/@types/dataview/data-model/value.d.cts +0 -176
  152. package/dist/lib/cjs/@types/dataview/expression/binaryop.d.cts +0 -44
  153. package/dist/lib/cjs/@types/dataview/expression/context.d.cts +0 -50
  154. package/dist/lib/cjs/@types/dataview/expression/field.d.cts +0 -83
  155. package/dist/lib/cjs/@types/dataview/expression/functions.d.cts +0 -150
  156. package/dist/lib/cjs/@types/dataview/expression/parse.d.cts +0 -164
  157. package/dist/lib/cjs/@types/dataview/index.d.cts +0 -56
  158. package/dist/lib/cjs/@types/dataview/main.d.cts +0 -53
  159. package/dist/lib/cjs/@types/dataview/query/engine.d.cts +0 -104
  160. package/dist/lib/cjs/@types/dataview/query/parse.d.cts +0 -45
  161. package/dist/lib/cjs/@types/dataview/query/query.d.cts +0 -96
  162. package/dist/lib/cjs/@types/dataview/settings.d.cts +0 -61
  163. package/dist/lib/cjs/@types/dataview/typings/obsidian-ex.d.cts +0 -29
  164. package/dist/lib/cjs/@types/dataview/typings/workers.d.cts +0 -5
  165. package/dist/lib/cjs/@types/dataview/ui/export/markdown.d.cts +0 -16
  166. package/dist/lib/cjs/@types/dataview/ui/lp-render.d.cts +0 -38
  167. package/dist/lib/cjs/@types/dataview/ui/markdown.d.cts +0 -87
  168. package/dist/lib/cjs/@types/dataview/ui/refreshable-view.d.cts +0 -19
  169. package/dist/lib/cjs/@types/dataview/ui/render.d.cts +0 -34
  170. package/dist/lib/cjs/@types/dataview/ui/views/calendar-view.d.cts +0 -18
  171. package/dist/lib/cjs/@types/dataview/ui/views/inline-field-live-preview.d.cts +0 -43
  172. package/dist/lib/cjs/@types/dataview/ui/views/inline-view.d.cts +0 -29
  173. package/dist/lib/cjs/@types/dataview/ui/views/js-view.d.cts +0 -24
  174. package/dist/lib/cjs/@types/dataview/ui/views/list-view.d.cts +0 -26
  175. package/dist/lib/cjs/@types/dataview/ui/views/table-view.d.cts +0 -29
  176. package/dist/lib/cjs/@types/dataview/ui/views/task-view.d.cts +0 -52
  177. package/dist/lib/cjs/@types/dataview/util/hash.d.cts +0 -2
  178. package/dist/lib/cjs/@types/dataview/util/locale.d.cts +0 -3
  179. package/dist/lib/cjs/@types/dataview/util/media.d.cts +0 -7
  180. package/dist/lib/cjs/@types/dataview/util/normalize.d.cts +0 -45
  181. package/dist/lib/esm/@types/dataview/api/data-array.d.mts +0 -137
  182. package/dist/lib/esm/@types/dataview/api/extensions.d.mts +0 -16
  183. package/dist/lib/esm/@types/dataview/api/inline-api.d.mts +0 -187
  184. package/dist/lib/esm/@types/dataview/api/plugin-api.d.mts +0 -210
  185. package/dist/lib/esm/@types/dataview/api/result.d.mts +0 -39
  186. package/dist/lib/esm/@types/dataview/data-import/common.d.mts +0 -4
  187. package/dist/lib/esm/@types/dataview/data-import/csv.d.mts +0 -4
  188. package/dist/lib/esm/@types/dataview/data-import/inline-field.d.mts +0 -43
  189. package/dist/lib/esm/@types/dataview/data-import/markdown-file.d.mts +0 -53
  190. package/dist/lib/esm/@types/dataview/data-import/persister.d.mts +0 -33
  191. package/dist/lib/esm/@types/dataview/data-import/web-worker/import-entry.d.mts +0 -2
  192. package/dist/lib/esm/@types/dataview/data-import/web-worker/import-impl.d.mts +0 -7
  193. package/dist/lib/esm/@types/dataview/data-import/web-worker/import-manager.d.mts +0 -38
  194. package/dist/lib/esm/@types/dataview/data-index/index.d.mts +0 -187
  195. package/dist/lib/esm/@types/dataview/data-index/resolver.d.mts +0 -24
  196. package/dist/lib/esm/@types/dataview/data-index/source.d.mts +0 -72
  197. package/dist/lib/esm/@types/dataview/data-model/markdown.d.mts +0 -116
  198. package/dist/lib/esm/@types/dataview/data-model/serialized/markdown.d.mts +0 -107
  199. package/dist/lib/esm/@types/dataview/data-model/transferable.d.mts +0 -8
  200. package/dist/lib/esm/@types/dataview/data-model/value.d.mts +0 -176
  201. package/dist/lib/esm/@types/dataview/expression/binaryop.d.mts +0 -44
  202. package/dist/lib/esm/@types/dataview/expression/context.d.mts +0 -50
  203. package/dist/lib/esm/@types/dataview/expression/field.d.mts +0 -83
  204. package/dist/lib/esm/@types/dataview/expression/functions.d.mts +0 -150
  205. package/dist/lib/esm/@types/dataview/expression/parse.d.mts +0 -164
  206. package/dist/lib/esm/@types/dataview/index.d.mts +0 -56
  207. package/dist/lib/esm/@types/dataview/main.d.mts +0 -53
  208. package/dist/lib/esm/@types/dataview/query/engine.d.mts +0 -104
  209. package/dist/lib/esm/@types/dataview/query/parse.d.mts +0 -45
  210. package/dist/lib/esm/@types/dataview/query/query.d.mts +0 -96
  211. package/dist/lib/esm/@types/dataview/settings.d.mts +0 -61
  212. package/dist/lib/esm/@types/dataview/typings/obsidian-ex.d.mts +0 -29
  213. package/dist/lib/esm/@types/dataview/typings/workers.d.mts +0 -5
  214. package/dist/lib/esm/@types/dataview/ui/export/markdown.d.mts +0 -16
  215. package/dist/lib/esm/@types/dataview/ui/lp-render.d.mts +0 -38
  216. package/dist/lib/esm/@types/dataview/ui/markdown.d.mts +0 -87
  217. package/dist/lib/esm/@types/dataview/ui/refreshable-view.d.mts +0 -19
  218. package/dist/lib/esm/@types/dataview/ui/render.d.mts +0 -34
  219. package/dist/lib/esm/@types/dataview/ui/views/calendar-view.d.mts +0 -18
  220. package/dist/lib/esm/@types/dataview/ui/views/inline-field-live-preview.d.mts +0 -43
  221. package/dist/lib/esm/@types/dataview/ui/views/inline-view.d.mts +0 -29
  222. package/dist/lib/esm/@types/dataview/ui/views/js-view.d.mts +0 -24
  223. package/dist/lib/esm/@types/dataview/ui/views/list-view.d.mts +0 -26
  224. package/dist/lib/esm/@types/dataview/ui/views/table-view.d.mts +0 -29
  225. package/dist/lib/esm/@types/dataview/ui/views/task-view.d.mts +0 -52
  226. package/dist/lib/esm/@types/dataview/util/hash.d.mts +0 -2
  227. package/dist/lib/esm/@types/dataview/util/locale.d.mts +0 -3
  228. package/dist/lib/esm/@types/dataview/util/media.d.mts +0 -7
  229. package/dist/lib/esm/@types/dataview/util/normalize.d.mts +0 -45
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @file
4
4
  *
5
- * This module provides utility functions for rendering callouts in Dataview.
5
+ * This module provides utility functions for rendering callouts in `Dataview`.
6
6
  */
7
7
  import type { MaybeReturn } from '@mnaoumov/typescript-lib/type';
8
8
  import type { ValueProvider } from '@mnaoumov/typescript-lib/value-provider';
@@ -62,7 +62,7 @@ export interface RenderCalloutParams {
62
62
  readonly type?: string;
63
63
  }
64
64
  /**
65
- * Renders a callout block in Dataview.
65
+ * Renders a callout block in `Dataview`.
66
66
  *
67
67
  * @param params - The parameters for rendering the callout.
68
68
  */
@@ -121,4 +121,4 @@ export {
121
121
  renderCallout,
122
122
  wrapForCallout
123
123
  };
124
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhbGxvdXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcmVuZGVyaW5nIGNhbGxvdXRzIGluIERhdGF2aWV3LlxuICovXG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZSc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdmFsdWUtcHJvdmlkZXInO1xuXG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGFzc2VydE5ldmVyLFxuICBlbnN1cmVOb25OdWxsYWJsZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXByb3ZpZGVyJztcblxuaW1wb3J0IHR5cGUgeyBEYXRhdmlld0lubGluZUFwaSB9IGZyb20gJy4vZGF0YXZpZXcudHMnO1xuaW1wb3J0IHR5cGUgeyBBZGRUb1F1ZXVlUGFyYW1zIH0gZnJvbSAnLi9xdWV1ZS50cyc7XG5cbmltcG9ydCB7IGdldFJlbmRlcmVkQ29udGFpbmVyIH0gZnJvbSAnLi9kYXRhdmlldy50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuaW1wb3J0IHsgYWRkVG9RdWV1ZSB9IGZyb20gJy4vcXVldWUudHMnO1xuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHRoZSBtb2RlIG9mIGEgY2FsbG91dC5cbiAqL1xuZXhwb3J0IGVudW0gQ2FsbG91dE1vZGUge1xuICAvKipcbiAgRGVmYXVsdCBtb2RlLCB3aXRoIG5vIHNwZWNpYWwgYmVoYXZpb3IuXG4gICAqL1xuICBEZWZhdWx0LFxuXG4gIC8qKlxuICBGb2xkYWJsZSBtb2RlIHdpdGggdGhlIGNhbGxvdXQgY29sbGFwc2VkLlxuICAgKi9cbiAgRm9sZGFibGVDb2xsYXBzZWQsXG5cbiAgLyoqXG4gIEZvbGRhYmxlIG1vZGUgd2l0aCB0aGUgY2FsbG91dCBleHBhbmRlZC5cbiAgICovXG4gIEZvbGRhYmxlRXhwYW5kZWRcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmVuZGVyQ2FsbG91dH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyQ2FsbG91dFBhcmFtcyB7XG4gIC8qKlxuICAgKiBBbiBhYm9ydCBzaWduYWwuXG4gICAqL1xuICByZWFkb25seSBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBwcm92aWRlciBmb3IgdGhlIGNvbnRlbnQsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYSBOb2RlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgXG4gICAqL1xuICByZWFkb25seSBjb250ZW50UHJvdmlkZXI/OiBWYWx1ZVByb3ZpZGVyPE1heWJlUmV0dXJuPE5vZGUgfCBzdHJpbmc+PjtcblxuICAvKipcbiAgICogQSB7QGxpbmsgRGF0YXZpZXdJbmxpbmVBcGl9IGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZHY6IERhdGF2aWV3SW5saW5lQXBpO1xuXG4gIC8qKlxuICAgKiBBIGhlYWRlciB0ZXh0IG9mIHRoZSBjYWxsb3V0LCBkZWZhdWx0IGlzIGFuIGVtcHR5IHN0cmluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgaGVhZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGNhbGxvdXQgbW9kZSwgZGVmYXVsdCBpcyBgQ2FsbG91dE1vZGUuRm9sZGFibGVDb2xsYXBzZWRgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7QGxpbmsgQ2FsbG91dE1vZGUuRm9sZGFibGVDb2xsYXBzZWR9XG4gICAqL1xuICByZWFkb25seSBtb2RlPzogQ2FsbG91dE1vZGU7XG5cbiAgLyoqXG4gICAqIEEgdHlwZSBvZiB0aGUgY2FsbG91dCwgZGVmYXVsdCBpcyBgXCJOT1RFXCJgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJ05PVEUnYFxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGEgY2FsbG91dCBibG9jayBpbiBEYXRhdmlldy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHJlbmRlcmluZyB0aGUgY2FsbG91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckNhbGxvdXQocGFyYW1zOiBSZW5kZXJDYWxsb3V0UGFyYW1zKTogdm9pZCB7XG4gIGNvbnN0IHtcbiAgICBjb250ZW50UHJvdmlkZXIgPSAnJyxcbiAgICBkdixcbiAgICBoZWFkZXIgPSAnJyxcbiAgICBtb2RlID0gQ2FsbG91dE1vZGUuRm9sZGFibGVDb2xsYXBzZWQsXG4gICAgdHlwZSA9ICdOT1RFJ1xuICB9ID0gcGFyYW1zO1xuICBjb25zdCBtb2RpZmllciA9IGdldE1vZGlmaWVyKG1vZGUpO1xuICBjb25zdCBjYWxsb3V0ID0gZHYucGFyYWdyYXBoKGA+IFshJHt0eXBlfV0ke21vZGlmaWVyfSAke2hlYWRlcn1cXG4+XFxuPiA8ZGl2IGNsYXNzPVwiY29udGVudFwiPjwvZGl2PmApO1xuICBjb25zdCBjb250ZW50RGl2ID0gZW5zdXJlTm9uTnVsbGFibGUoY2FsbG91dC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmNvbnRlbnQnKSwgJ0NvbnRlbnQgZGl2IG5vdCBmb3VuZCcpO1xuICBkdi5wYXJhZ3JhcGgoJ0xvYWRpbmcuLi4gXHUyM0YzJywgeyBjb250YWluZXI6IGNvbnRlbnREaXYgfSk7XG5cbiAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXM6IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlbXSkgPT4ge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgaWYgKCFlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7XG4gICAgICBhZGRUb1F1ZXVlKG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxBZGRUb1F1ZXVlUGFyYW1zPih7XG4gICAgICAgIGFib3J0U2lnbmFsOiBwYXJhbXMuYWJvcnRTaWduYWwsXG4gICAgICAgIG9wZXJhdGlvbkZ1bmN0aW9uOiBsb2FkQ29udGVudCxcbiAgICAgICAgb3BlcmF0aW9uTmFtZTogdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmNhbGxvdXQubG9hZENvbnRlbnQpXG4gICAgICB9KSk7XG4gICAgfVxuICB9KTtcbiAgb2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50RGl2KTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkQ29udGVudChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgIGxldCBjb250ZW50OiBNYXliZVJldHVybjxOb2RlIHwgc3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuICAgIGNvbnN0IHBhcmFncmFwaCA9IGF3YWl0IGdldFJlbmRlcmVkQ29udGFpbmVyKGR2LCBhc3luYyAoKSA9PiB7XG4gICAgICBjb250ZW50ID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNvbnRlbnRQcm92aWRlciwgYWJvcnRTaWduYWwpO1xuICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICB9KTtcbiAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuXG4gICAgY29udGVudCA/Pz0gcGFyYWdyYXBoO1xuXG4gICAgY29udGVudERpdi5lbXB0eSgpO1xuICAgIGR2LnBhcmFncmFwaChjb250ZW50LCB7IGNvbnRhaW5lcjogY29udGVudERpdiB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFdyYXBzIHRoZSBwcm92aWRlZCBjb250ZW50IGluIGJsb2NrcXVvdGUgc3ludGF4IGZvciBhIGNhbGxvdXQuXG4gKlxuICogQHBhcmFtIGNvbnRlbnQgLSBUaGUgY29udGVudCB0byB3cmFwLlxuICogQHJldHVybnMgVGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBibG9ja3F1b3RlIHN5bnRheC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBGb3JDYWxsb3V0KGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IHByZWZpeGVkTGluZXMgPSBsaW5lcy5tYXAoKGxpbmUpID0+IGA+ICR7bGluZX1gKTtcbiAgcmV0dXJuIHByZWZpeGVkTGluZXMuam9pbignXFxuJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbW9kaWZpZXIgc3RyaW5nIGJhc2VkIG9uIHRoZSBjYWxsb3V0IG1vZGUuXG4gKlxuICogQHBhcmFtIG1vZGUgLSBUaGUgbW9kZSBvZiB0aGUgY2FsbG91dC5cbiAqIEByZXR1cm5zIFRoZSBjb3JyZXNwb25kaW5nIG1vZGlmaWVyIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gZ2V0TW9kaWZpZXIobW9kZTogQ2FsbG91dE1vZGUpOiBzdHJpbmcge1xuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlIENhbGxvdXRNb2RlLkRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY2FzZSBDYWxsb3V0TW9kZS5Gb2xkYWJsZUNvbGxhcHNlZDoge1xuICAgICAgcmV0dXJuICctJztcbiAgICB9XG4gICAgY2FzZSBDYWxsb3V0TW9kZS5Gb2xkYWJsZUV4cGFuZGVkOiB7XG4gICAgICByZXR1cm4gJysnO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICBhc3NlcnROZXZlcihtb2RlKTtcbiAgICB9XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EsU0FBUyxtQ0FBbUM7QUFDNUM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG9CQUFvQjtBQUs3QixTQUFTLDRCQUE0QjtBQUNyQyxTQUFTLFNBQVM7QUFDbEIsU0FBUyxrQkFBa0I7QUFLcEIsSUFBSyxjQUFMLGtCQUFLQSxpQkFBTDtBQUlMLEVBQUFBLDBCQUFBO0FBS0EsRUFBQUEsMEJBQUE7QUFLQSxFQUFBQSwwQkFBQTtBQWRVLFNBQUFBO0FBQUEsR0FBQTtBQWlFTCxTQUFTLGNBQWMsUUFBbUM7QUFDL0QsUUFBTTtBQUFBLElBQ0osa0JBQWtCO0FBQUEsSUFDbEI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULE9BQU87QUFBQSxJQUNQLE9BQU87QUFBQSxFQUNULElBQUk7QUFDSixRQUFNLFdBQVcsWUFBWSxJQUFJO0FBQ2pDLFFBQU0sVUFBVSxHQUFHLFVBQVUsT0FBTyxJQUFJLElBQUksUUFBUSxJQUFJLE1BQU07QUFBQTtBQUFBLDhCQUFvQztBQUNsRyxRQUFNLGFBQWEsa0JBQWtCLFFBQVEsY0FBOEIsVUFBVSxHQUFHLHVCQUF1QjtBQUMvRyxLQUFHLFVBQVUscUJBQWdCLEVBQUUsV0FBVyxXQUFXLENBQUM7QUFFdEQsUUFBTSxXQUFXLElBQUkscUJBQXFCLENBQUMsWUFBeUM7QUFDbEYsZUFBVyxTQUFTLFNBQVM7QUFDM0IsVUFBSSxDQUFDLE1BQU0sZ0JBQWdCO0FBQ3pCO0FBQUEsTUFDRjtBQUVBLGVBQVMsVUFBVSxNQUFNLE1BQU07QUFDL0IsaUJBQVcsNEJBQThDO0FBQUEsUUFDdkQsYUFBYSxPQUFPO0FBQUEsUUFDcEIsbUJBQW1CO0FBQUEsUUFDbkIsZUFBZSxFQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLFdBQVc7QUFBQSxNQUNoRSxDQUFDLENBQUM7QUFBQSxJQUNKO0FBQUEsRUFDRixDQUFDO0FBQ0QsV0FBUyxRQUFRLFVBQVU7QUFFM0IsaUJBQWUsWUFBWSxhQUF5QztBQUNsRSxnQkFBWSxlQUFlO0FBQzNCLFFBQUk7QUFFSixVQUFNLFlBQVksTUFBTSxxQkFBcUIsSUFBSSxZQUFZO0FBQzNELGdCQUFVLE1BQU0sYUFBYSxpQkFBaUIsV0FBVztBQUN6RCxrQkFBWSxlQUFlO0FBQUEsSUFDN0IsQ0FBQztBQUNELGdCQUFZLGVBQWU7QUFFM0IsZ0JBQVk7QUFFWixlQUFXLE1BQU07QUFDakIsT0FBRyxVQUFVLFNBQVMsRUFBRSxXQUFXLFdBQVcsQ0FBQztBQUFBLEVBQ2pEO0FBQ0Y7QUFRTyxTQUFTLGVBQWUsU0FBeUI7QUFDdEQsUUFBTSxRQUFRLFFBQVEsTUFBTSxJQUFJO0FBQ2hDLFFBQU0sZ0JBQWdCLE1BQU0sSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7QUFDckQsU0FBTyxjQUFjLEtBQUssSUFBSTtBQUNoQztBQVFBLFNBQVMsWUFBWSxNQUEyQjtBQUM5QyxVQUFRLE1BQU07QUFBQSxJQUNaLEtBQUssaUJBQXFCO0FBQ3hCLGFBQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxLQUFLLDJCQUErQjtBQUNsQyxhQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EsS0FBSywwQkFBOEI7QUFDakMsYUFBTztBQUFBLElBQ1Q7QUFBQSxJQUNBLFNBQVM7QUFDUCxrQkFBWSxJQUFJO0FBQUEsSUFDbEI7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbIkNhbGxvdXRNb2RlIl0KfQo=
124
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhbGxvdXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcmVuZGVyaW5nIGNhbGxvdXRzIGluIGBEYXRhdmlld2AuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXliZVJldHVybiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlJztcbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi92YWx1ZS1wcm92aWRlcic7XG5cbmltcG9ydCB7IG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9vYmplY3QtdXRpbHMnO1xuaW1wb3J0IHtcbiAgYXNzZXJ0TmV2ZXIsXG4gIGVuc3VyZU5vbk51bGxhYmxlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdmFsdWUtcHJvdmlkZXInO1xuXG5pbXBvcnQgdHlwZSB7IERhdGF2aWV3SW5saW5lQXBpIH0gZnJvbSAnLi9kYXRhdmlldy50cyc7XG5pbXBvcnQgdHlwZSB7IEFkZFRvUXVldWVQYXJhbXMgfSBmcm9tICcuL3F1ZXVlLnRzJztcblxuaW1wb3J0IHsgZ2V0UmVuZGVyZWRDb250YWluZXIgfSBmcm9tICcuL2RhdGF2aWV3LnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBhZGRUb1F1ZXVlIH0gZnJvbSAnLi9xdWV1ZS50cyc7XG5cbi8qKlxuICogRW51bSByZXByZXNlbnRpbmcgdGhlIG1vZGUgb2YgYSBjYWxsb3V0LlxuICovXG5leHBvcnQgZW51bSBDYWxsb3V0TW9kZSB7XG4gIC8qKlxuICBEZWZhdWx0IG1vZGUsIHdpdGggbm8gc3BlY2lhbCBiZWhhdmlvci5cbiAgICovXG4gIERlZmF1bHQsXG5cbiAgLyoqXG4gIEZvbGRhYmxlIG1vZGUgd2l0aCB0aGUgY2FsbG91dCBjb2xsYXBzZWQuXG4gICAqL1xuICBGb2xkYWJsZUNvbGxhcHNlZCxcblxuICAvKipcbiAgRm9sZGFibGUgbW9kZSB3aXRoIHRoZSBjYWxsb3V0IGV4cGFuZGVkLlxuICAgKi9cbiAgRm9sZGFibGVFeHBhbmRlZFxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZW5kZXJDYWxsb3V0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJDYWxsb3V0UGFyYW1zIHtcbiAgLyoqXG4gICAqIEFuIGFib3J0IHNpZ25hbC5cbiAgICovXG4gIHJlYWRvbmx5IGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWw7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHByb3ZpZGVyIGZvciB0aGUgY29udGVudCwgd2hpY2ggY2FuIGJlIGVpdGhlciBhIHN0cmluZyBvciBhIE5vZGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRQcm92aWRlcj86IFZhbHVlUHJvdmlkZXI8TWF5YmVSZXR1cm48Tm9kZSB8IHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBEYXRhdmlld0lubGluZUFwaX0gaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBkdjogRGF0YXZpZXdJbmxpbmVBcGk7XG5cbiAgLyoqXG4gICAqIEEgaGVhZGVyIHRleHQgb2YgdGhlIGNhbGxvdXQsIGRlZmF1bHQgaXMgYW4gZW1wdHkgc3RyaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgXG4gICAqL1xuICByZWFkb25seSBoZWFkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgY2FsbG91dCBtb2RlLCBkZWZhdWx0IGlzIGBDYWxsb3V0TW9kZS5Gb2xkYWJsZUNvbGxhcHNlZGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHtAbGluayBDYWxsb3V0TW9kZS5Gb2xkYWJsZUNvbGxhcHNlZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU/OiBDYWxsb3V0TW9kZTtcblxuICAvKipcbiAgICogQSB0eXBlIG9mIHRoZSBjYWxsb3V0LCBkZWZhdWx0IGlzIGBcIk5PVEVcImAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnTk9URSdgXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBjYWxsb3V0IGJsb2NrIGluIGBEYXRhdmlld2AuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciByZW5kZXJpbmcgdGhlIGNhbGxvdXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJDYWxsb3V0KHBhcmFtczogUmVuZGVyQ2FsbG91dFBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgY29udGVudFByb3ZpZGVyID0gJycsXG4gICAgZHYsXG4gICAgaGVhZGVyID0gJycsXG4gICAgbW9kZSA9IENhbGxvdXRNb2RlLkZvbGRhYmxlQ29sbGFwc2VkLFxuICAgIHR5cGUgPSAnTk9URSdcbiAgfSA9IHBhcmFtcztcbiAgY29uc3QgbW9kaWZpZXIgPSBnZXRNb2RpZmllcihtb2RlKTtcbiAgY29uc3QgY2FsbG91dCA9IGR2LnBhcmFncmFwaChgPiBbISR7dHlwZX1dJHttb2RpZmllcn0gJHtoZWFkZXJ9XFxuPlxcbj4gPGRpdiBjbGFzcz1cImNvbnRlbnRcIj48L2Rpdj5gKTtcbiAgY29uc3QgY29udGVudERpdiA9IGVuc3VyZU5vbk51bGxhYmxlKGNhbGxvdXQucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5jb250ZW50JyksICdDb250ZW50IGRpdiBub3QgZm91bmQnKTtcbiAgZHYucGFyYWdyYXBoKCdMb2FkaW5nLi4uIFx1MjNGMycsIHsgY29udGFpbmVyOiBjb250ZW50RGl2IH0pO1xuXG4gIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzOiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10pID0+IHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGlmICghZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZShlbnRyeS50YXJnZXQpO1xuICAgICAgYWRkVG9RdWV1ZShub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8QWRkVG9RdWV1ZVBhcmFtcz4oe1xuICAgICAgICBhYm9ydFNpZ25hbDogcGFyYW1zLmFib3J0U2lnbmFsLFxuICAgICAgICBvcGVyYXRpb25GdW5jdGlvbjogbG9hZENvbnRlbnQsXG4gICAgICAgIG9wZXJhdGlvbk5hbWU6IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5jYWxsb3V0LmxvYWRDb250ZW50KVxuICAgICAgfSkpO1xuICAgIH1cbiAgfSk7XG4gIG9ic2VydmVyLm9ic2VydmUoY29udGVudERpdik7XG5cbiAgYXN5bmMgZnVuY3Rpb24gbG9hZENvbnRlbnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICBsZXQgY29udGVudDogTWF5YmVSZXR1cm48Tm9kZSB8IHN0cmluZyB8IHVuZGVmaW5lZD47XG5cbiAgICBjb25zdCBwYXJhZ3JhcGggPSBhd2FpdCBnZXRSZW5kZXJlZENvbnRhaW5lcihkdiwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29udGVudCA9IGF3YWl0IHJlc29sdmVWYWx1ZShjb250ZW50UHJvdmlkZXIsIGFib3J0U2lnbmFsKTtcbiAgICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgfSk7XG4gICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICAgIGNvbnRlbnQgPz89IHBhcmFncmFwaDtcblxuICAgIGNvbnRlbnREaXYuZW1wdHkoKTtcbiAgICBkdi5wYXJhZ3JhcGgoY29udGVudCwgeyBjb250YWluZXI6IGNvbnRlbnREaXYgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyB0aGUgcHJvdmlkZWQgY29udGVudCBpbiBibG9ja3F1b3RlIHN5bnRheCBmb3IgYSBjYWxsb3V0LlxuICpcbiAqIEBwYXJhbSBjb250ZW50IC0gVGhlIGNvbnRlbnQgdG8gd3JhcC5cbiAqIEByZXR1cm5zIFRoZSBjb250ZW50IHdyYXBwZWQgaW4gYmxvY2txdW90ZSBzeW50YXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwRm9yQ2FsbG91dChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBsaW5lcyA9IGNvbnRlbnQuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBwcmVmaXhlZExpbmVzID0gbGluZXMubWFwKChsaW5lKSA9PiBgPiAke2xpbmV9YCk7XG4gIHJldHVybiBwcmVmaXhlZExpbmVzLmpvaW4oJ1xcbicpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG1vZGlmaWVyIHN0cmluZyBiYXNlZCBvbiB0aGUgY2FsbG91dCBtb2RlLlxuICpcbiAqIEBwYXJhbSBtb2RlIC0gVGhlIG1vZGUgb2YgdGhlIGNhbGxvdXQuXG4gKiBAcmV0dXJucyBUaGUgY29ycmVzcG9uZGluZyBtb2RpZmllciBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGdldE1vZGlmaWVyKG1vZGU6IENhbGxvdXRNb2RlKTogc3RyaW5nIHtcbiAgc3dpdGNoIChtb2RlKSB7XG4gICAgY2FzZSBDYWxsb3V0TW9kZS5EZWZhdWx0OiB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNhc2UgQ2FsbG91dE1vZGUuRm9sZGFibGVDb2xsYXBzZWQ6IHtcbiAgICAgIHJldHVybiAnLSc7XG4gICAgfVxuICAgIGNhc2UgQ2FsbG91dE1vZGUuRm9sZGFibGVFeHBhbmRlZDoge1xuICAgICAgcmV0dXJuICcrJztcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgYXNzZXJ0TmV2ZXIobW9kZSk7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNBLFNBQVMsbUNBQW1DO0FBQzVDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxvQkFBb0I7QUFLN0IsU0FBUyw0QkFBNEI7QUFDckMsU0FBUyxTQUFTO0FBQ2xCLFNBQVMsa0JBQWtCO0FBS3BCLElBQUssY0FBTCxrQkFBS0EsaUJBQUw7QUFJTCxFQUFBQSwwQkFBQTtBQUtBLEVBQUFBLDBCQUFBO0FBS0EsRUFBQUEsMEJBQUE7QUFkVSxTQUFBQTtBQUFBLEdBQUE7QUFpRUwsU0FBUyxjQUFjLFFBQW1DO0FBQy9ELFFBQU07QUFBQSxJQUNKLGtCQUFrQjtBQUFBLElBQ2xCO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxPQUFPO0FBQUEsSUFDUCxPQUFPO0FBQUEsRUFDVCxJQUFJO0FBQ0osUUFBTSxXQUFXLFlBQVksSUFBSTtBQUNqQyxRQUFNLFVBQVUsR0FBRyxVQUFVLE9BQU8sSUFBSSxJQUFJLFFBQVEsSUFBSSxNQUFNO0FBQUE7QUFBQSw4QkFBb0M7QUFDbEcsUUFBTSxhQUFhLGtCQUFrQixRQUFRLGNBQThCLFVBQVUsR0FBRyx1QkFBdUI7QUFDL0csS0FBRyxVQUFVLHFCQUFnQixFQUFFLFdBQVcsV0FBVyxDQUFDO0FBRXRELFFBQU0sV0FBVyxJQUFJLHFCQUFxQixDQUFDLFlBQXlDO0FBQ2xGLGVBQVcsU0FBUyxTQUFTO0FBQzNCLFVBQUksQ0FBQyxNQUFNLGdCQUFnQjtBQUN6QjtBQUFBLE1BQ0Y7QUFFQSxlQUFTLFVBQVUsTUFBTSxNQUFNO0FBQy9CLGlCQUFXLDRCQUE4QztBQUFBLFFBQ3ZELGFBQWEsT0FBTztBQUFBLFFBQ3BCLG1CQUFtQjtBQUFBLFFBQ25CLGVBQWUsRUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSxXQUFXO0FBQUEsTUFDaEUsQ0FBQyxDQUFDO0FBQUEsSUFDSjtBQUFBLEVBQ0YsQ0FBQztBQUNELFdBQVMsUUFBUSxVQUFVO0FBRTNCLGlCQUFlLFlBQVksYUFBeUM7QUFDbEUsZ0JBQVksZUFBZTtBQUMzQixRQUFJO0FBRUosVUFBTSxZQUFZLE1BQU0scUJBQXFCLElBQUksWUFBWTtBQUMzRCxnQkFBVSxNQUFNLGFBQWEsaUJBQWlCLFdBQVc7QUFDekQsa0JBQVksZUFBZTtBQUFBLElBQzdCLENBQUM7QUFDRCxnQkFBWSxlQUFlO0FBRTNCLGdCQUFZO0FBRVosZUFBVyxNQUFNO0FBQ2pCLE9BQUcsVUFBVSxTQUFTLEVBQUUsV0FBVyxXQUFXLENBQUM7QUFBQSxFQUNqRDtBQUNGO0FBUU8sU0FBUyxlQUFlLFNBQXlCO0FBQ3RELFFBQU0sUUFBUSxRQUFRLE1BQU0sSUFBSTtBQUNoQyxRQUFNLGdCQUFnQixNQUFNLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO0FBQ3JELFNBQU8sY0FBYyxLQUFLLElBQUk7QUFDaEM7QUFRQSxTQUFTLFlBQVksTUFBMkI7QUFDOUMsVUFBUSxNQUFNO0FBQUEsSUFDWixLQUFLLGlCQUFxQjtBQUN4QixhQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EsS0FBSywyQkFBK0I7QUFDbEMsYUFBTztBQUFBLElBQ1Q7QUFBQSxJQUNBLEtBQUssMEJBQThCO0FBQ2pDLGFBQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxTQUFTO0FBQ1Asa0JBQVksSUFBSTtBQUFBLElBQ2xCO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJDYWxsb3V0TW9kZSJdCn0K
@@ -118,4 +118,4 @@ function contributeMultiValueFrontmatterLinks(metadata) {
118
118
  export {
119
119
  getCanvasReferences
120
120
  };
121
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhbnZhcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgdXRpbGl0eSBmdW5jdGlvbiBmb3IgZXh0cmFjdGluZyByZWZlcmVuY2VzIGZyb20gYSBjYW52YXMgKGAuY2FudmFzYCkgZmlsZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQ2FudmFzRGF0YSB9IGZyb20gJ29ic2lkaWFuL2NhbnZhcy5kLnRzJztcblxuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ2FjaGVkTWV0YWRhdGFFeCB9IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuaW1wb3J0IHR5cGUge1xuICBDYW52YXNGaWxlTm9kZVJlZmVyZW5jZSxcbiAgQ2FudmFzUmVmZXJlbmNlLFxuICBDYW52YXNUZXh0Tm9kZVJlZmVyZW5jZVxufSBmcm9tICcuL3JlZmVyZW5jZS50cyc7XG5cbmltcG9ydCB7XG4gIGdldExpbmtzLFxuICBwYXJzZU1ldGFkYXRhXG59IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuaW1wb3J0IHsgcmVhZFNhZmUgfSBmcm9tICcuL3ZhdWx0LnRzJztcblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgb3V0Z29pbmcgcmVmZXJlbmNlcyBvZiBhIGNhbnZhcyAoYC5jYW52YXNgKSBmaWxlLlxuICpcbiAqIE9ic2lkaWFuIGRvZXMgbm90IGluZGV4IGNhbnZhcyBsaW5rcyBpbnRvIHRoZSBwZXItZmlsZSBtZXRhZGF0YSBjYWNoZSwgc28gYSBjYW52YXMgZmlsZSdzXG4gKiB7QGxpbmsgaHR0cHM6Ly9kb2NzLm9ic2lkaWFuLm1kL1JlZmVyZW5jZS9UeXBlU2NyaXB0K0FQSS9DYWNoZWRNZXRhZGF0YSB8IENhY2hlZE1ldGFkYXRhfSBpcyBlbXB0eSBhbmQgdGhlXG4gKiB1c3VhbCBjYWNoZS1iYXNlZCByZWFkZXJzIHJldHVybiBub3RoaW5nIGZvciBpdC4gVGhpcyBoZWxwZXIgcmVhZHMgdGhlIGNhbnZhcyBKU09OIGRpcmVjdGx5IGFuZCByZXR1cm5zXG4gKiBib3RoIGl0cyBmaWxlLW5vZGUgbGlua3MgYW5kIGl0cyB0ZXh0LW5vZGUgZW1iZWRzIGFzIHtAbGluayBDYW52YXNSZWZlcmVuY2V9cy5cbiAqXG4gKiBUaGUgcmV0dXJuZWQgcmVmZXJlbmNlcyBjYXJyeSB0aGUgYG5vZGVJbmRleGAvYHR5cGVgIChhbmQsIGZvciB0ZXh0IG5vZGVzLCB0aGUgYG9yaWdpbmFsUmVmZXJlbmNlYCkgdGhhdFxuICogdGhlIGNhbnZhcy1hd2FyZSB3cml0ZSBwYXRoIG5lZWRzLCBzbyBhIGNvbnN1bWVyIGNhbiBtb3ZlIGEgY2FudmFzLXJlZmVyZW5jZWQgYXR0YWNobWVudCBhbmQgcmV3cml0ZSB0aGVcbiAqIGNhbnZhcyBieSBjb21wb3NpbmcgYHJlZmVyZW5jZVRvRmlsZUNoYW5nZWAgKGZyb20gYC4vcmVmZXJlbmNlLnRzYCkgd2l0aCBgYXBwbHlGaWxlQ2hhbmdlc2AgKGZyb21cbiAqIGAuL2ZpbGUtY2hhbmdlLnRzYCkuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBjYW52YXMgZmlsZSAob3IgaXRzIHBhdGgpIHRvIGV4dHJhY3QgcmVmZXJlbmNlcyBmcm9tLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgY2FudmFzIHJlZmVyZW5jZXMsIG9yIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIGZpbGUgaXNcbiAqIG1pc3Npbmcgb3IgaXRzIGNvbnRlbnQgaXMgbm90IHZhbGlkIGNhbnZhcyBKU09OLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q2FudmFzUmVmZXJlbmNlcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q2FudmFzUmVmZXJlbmNlW10+IHtcbiAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmIChjb250ZW50ID09PSBudWxsKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxDYW52YXNEYXRhOiBudWxsIHwgUGFydGlhbDxDYW52YXNEYXRhPjtcbiAgdHJ5IHtcbiAgICBwYXJ0aWFsQ2FudmFzRGF0YSA9IEpTT04ucGFyc2UoY29udGVudCkgYXMgbnVsbCB8IFBhcnRpYWw8Q2FudmFzRGF0YT47XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGNhbnZhc0RhdGEgPSBwYXJ0aWFsQ2FudmFzRGF0YT8ubm9kZXNcbiAgICA/IHBhcnRpYWxDYW52YXNEYXRhIGFzIENhbnZhc0RhdGFcbiAgICA6IHtcbiAgICAgIGVkZ2VzOiBbXSxcbiAgICAgIG5vZGVzOiBbXVxuICAgIH07XG5cbiAgY29uc3QgcmVmZXJlbmNlczogQ2FudmFzUmVmZXJlbmNlW10gPSBbXTtcbiAgY29uc3QgaGFzRnJvbnRtYXR0ZXJNYXJrZG93bkxpbmtzUGx1Z2luID0gISFhcHAucGx1Z2lucy5nZXRQbHVnaW4oJ2Zyb250bWF0dGVyLW1hcmtkb3duLWxpbmtzJyk7XG5cbiAgZm9yIChjb25zdCBbbm9kZUluZGV4LCBub2RlXSBvZiBjYW52YXNEYXRhLm5vZGVzLmVudHJpZXMoKSkge1xuICAgIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgICBjYXNlICdmaWxlJzoge1xuICAgICAgICBjb25zdCBjYW52YXNGaWxlTm9kZVJlZmVyZW5jZTogQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UgPSB7XG4gICAgICAgICAgaXNDYW52YXM6IHRydWUsXG4gICAgICAgICAga2V5OiBgbm9kZXMuJHtTdHJpbmcobm9kZUluZGV4KX0uZmlsZWAsXG4gICAgICAgICAgbGluazogbm9kZS5maWxlLFxuICAgICAgICAgIG5vZGVJbmRleCxcbiAgICAgICAgICBvcmlnaW5hbDogbm9kZS5maWxlLFxuICAgICAgICAgIHR5cGU6ICdmaWxlJ1xuICAgICAgICB9O1xuICAgICAgICByZWZlcmVuY2VzLnB1c2goY2FudmFzRmlsZU5vZGVSZWZlcmVuY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RleHQnOiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gYXdhaXQgcGFyc2VNZXRhZGF0YShhcHAsIG5vZGUudGV4dCwgeyBzaG91bGRQYXJzZU11bHRpVmFsdWVGcm9udG1hdHRlckxpbmtzOiBoYXNGcm9udG1hdHRlck1hcmtkb3duTGlua3NQbHVnaW4gfSk7XG4gICAgICAgIGlmIChoYXNGcm9udG1hdHRlck1hcmtkb3duTGlua3NQbHVnaW4pIHtcbiAgICAgICAgICBjb250cmlidXRlTXVsdGlWYWx1ZUZyb250bWF0dGVyTGlua3MobWV0YWRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxpbmtzID0gZ2V0TGlua3MoeyBjYWNoZTogbWV0YWRhdGEgfSk7XG4gICAgICAgIGZvciAoY29uc3QgW2xpbmtJbmRleCwgbGlua10gb2YgbGlua3MuZW50cmllcygpKSB7XG4gICAgICAgICAgY29uc3QgY2FudmFzVGV4dE5vZGVSZWZlcmVuY2U6IENhbnZhc1RleHROb2RlUmVmZXJlbmNlID0ge1xuICAgICAgICAgICAgaXNDYW52YXM6IHRydWUsXG4gICAgICAgICAgICBrZXk6IGBub2Rlcy4ke1N0cmluZyhub2RlSW5kZXgpfS50ZXh0LiR7U3RyaW5nKGxpbmtJbmRleCl9YCxcbiAgICAgICAgICAgIGxpbms6IGxpbmsubGluayxcbiAgICAgICAgICAgIG5vZGVJbmRleCxcbiAgICAgICAgICAgIG9yaWdpbmFsOiBsaW5rLm9yaWdpbmFsLFxuICAgICAgICAgICAgb3JpZ2luYWxSZWZlcmVuY2U6IGxpbmssXG4gICAgICAgICAgICB0eXBlOiAndGV4dCdcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJlZmVyZW5jZXMucHVzaChjYW52YXNUZXh0Tm9kZVJlZmVyZW5jZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWZlcmVuY2VzO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSBvbmUgY2hhbmdlIHRvIGEgY2FudmFzIHRleHQgbm9kZSdzIG1ldGFkYXRhIHRoYXQgdGhlIEZyb250bWF0dGVyIE1hcmtkb3duIExpbmtzIHBsdWdpbiBtYWtlcyB0byBhXG4gKiBub3RlJ3MgY2FjaGUsIHNvIGEgdGV4dCBub2RlIHJlYWRzIGl0cyBsaW5rcyBhcyBhIG5vdGUgd2l0aCB0aGUgc2FtZSB0ZXh0IHdvdWxkLlxuICpcbiAqIE9ic2lkaWFuIGl0c2VsZiByZWFkcyBhIHByb3BlcnR5IHdob3NlIFdIT0xFIHZhbHVlIGlzIG9uZSBpbnRlcm5hbCBsaW5rLCBtYXJrZG93biBsaW5rcyBpbmNsdWRlZCwgc28gdGhlIHBsdWdpblxuICogY29udHJpYnV0ZXMgb25seSB0aGUgbGlua3MgZW1iZWRkZWQgaW4gYSBtdWx0aS1saW5rIHZhbHVlIChgW0FdKGEubWQpLCBbQl0oYi5tZClgKSBhbmQgcmVwbGFjZXMgd2hhdGV2ZXIgT2JzaWRpYW5cbiAqIHJlY29yZGVkIHVuZGVyIHRoZSBzYW1lIGtleS4gQSB0ZXh0IG5vZGUgaXMgcGFyc2VkIG91dHNpZGUgdGhlIG1ldGFkYXRhIGNhY2hlLCB3aGVyZSB0aGUgcGx1Z2luIG5ldmVyIHNlZXMgaXQsXG4gKiBzbyB0aGUgc2FtZSBzdGVwIGlzIHJlcGVhdGVkIGhlcmUuXG4gKlxuICogQHBhcmFtIG1ldGFkYXRhIC0gVGhlIHRleHQgbm9kZSdzIG1ldGFkYXRhLCBwYXJzZWQgd2l0aCBtdWx0aS12YWx1ZSBmcm9udG1hdHRlciBsaW5rcywgc29cbiAqIGBtdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rc2AgaXMgYWx3YXlzIHNldC5cbiAqL1xuZnVuY3Rpb24gY29udHJpYnV0ZU11bHRpVmFsdWVGcm9udG1hdHRlckxpbmtzKG1ldGFkYXRhOiBDYWNoZWRNZXRhZGF0YUV4KTogdm9pZCB7XG4gIGNvbnN0IGNvbnRyaWJ1dGVkTGlua3MgPSBlbnN1cmVOb25OdWxsYWJsZShtZXRhZGF0YS5tdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rcyk7XG4gIGlmIChjb250cmlidXRlZExpbmtzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNvbnRyaWJ1dGVkS2V5cyA9IG5ldyBTZXQoY29udHJpYnV0ZWRMaW5rcy5tYXAoKGxpbmspID0+IGxpbmsua2V5KSk7XG4gIC8vIEEgY29udHJpYnV0ZWQgbGluayBtZWFucyB0aGUgbm90ZSBoYXMgYSBmcm9udG1hdHRlciByZWNvcmQsIGFuZCBPYnNpZGlhbiBhc3NpZ25zIGBmcm9udG1hdHRlckxpbmtzYCBiZXNpZGUgaXQuXG4gIC8qIHY4IGlnbm9yZSBuZXh0IC0tIE5ldmVyIG51bGxpc2ggd2hlbiBhIGxpbmsgd2FzIGNvbnRyaWJ1dGVkOyB0aGUgYD8/IFtdYCBpcyBkZWZlbnNpdmUuICovXG4gIGNvbnN0IG5hdGl2ZUxpbmtzID0gbWV0YWRhdGEuZnJvbnRtYXR0ZXJMaW5rcyA/PyBbXTtcbiAgbWV0YWRhdGEuZnJvbnRtYXR0ZXJMaW5rcyA9IFtcbiAgICAuLi5uYXRpdmVMaW5rcy5maWx0ZXIoKGxpbmspID0+ICFjb250cmlidXRlZEtleXMuaGFzKGxpbmsua2V5KSksXG4gICAgLi4uY29udHJpYnV0ZWRMaW5rc1xuICBdO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxTQUFTLHlCQUF5QjtBQVVsQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsZ0JBQWdCO0FBb0J6QixlQUFzQixvQkFBb0IsS0FBVSxZQUFvRDtBQUN0RyxRQUFNLFVBQVUsTUFBTSxTQUFTLEtBQUssVUFBVTtBQUM5QyxNQUFJLFlBQVksTUFBTTtBQUNwQixXQUFPLENBQUM7QUFBQSxFQUNWO0FBRUEsTUFBSTtBQUNKLE1BQUk7QUFDRix3QkFBb0IsS0FBSyxNQUFNLE9BQU87QUFBQSxFQUN4QyxRQUFRO0FBQ04sV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUVBLFFBQU0sYUFBYSxtQkFBbUIsUUFDbEMsb0JBQ0E7QUFBQSxJQUNBLE9BQU8sQ0FBQztBQUFBLElBQ1IsT0FBTyxDQUFDO0FBQUEsRUFDVjtBQUVGLFFBQU0sYUFBZ0MsQ0FBQztBQUN2QyxRQUFNLG9DQUFvQyxDQUFDLENBQUMsSUFBSSxRQUFRLFVBQVUsNEJBQTRCO0FBRTlGLGFBQVcsQ0FBQyxXQUFXLElBQUksS0FBSyxXQUFXLE1BQU0sUUFBUSxHQUFHO0FBQzFELFlBQVEsS0FBSyxNQUFNO0FBQUEsTUFDakIsS0FBSyxRQUFRO0FBQ1gsY0FBTSwwQkFBbUQ7QUFBQSxVQUN2RCxVQUFVO0FBQUEsVUFDVixLQUFLLFNBQVMsT0FBTyxTQUFTLENBQUM7QUFBQSxVQUMvQixNQUFNLEtBQUs7QUFBQSxVQUNYO0FBQUEsVUFDQSxVQUFVLEtBQUs7QUFBQSxVQUNmLE1BQU07QUFBQSxRQUNSO0FBQ0EsbUJBQVcsS0FBSyx1QkFBdUI7QUFDdkM7QUFBQSxNQUNGO0FBQUEsTUFDQSxLQUFLLFFBQVE7QUFDWCxjQUFNLFdBQVcsTUFBTSxjQUFjLEtBQUssS0FBSyxNQUFNLEVBQUUsdUNBQXVDLGtDQUFrQyxDQUFDO0FBQ2pJLFlBQUksbUNBQW1DO0FBQ3JDLCtDQUFxQyxRQUFRO0FBQUEsUUFDL0M7QUFDQSxjQUFNLFFBQVEsU0FBUyxFQUFFLE9BQU8sU0FBUyxDQUFDO0FBQzFDLG1CQUFXLENBQUMsV0FBVyxJQUFJLEtBQUssTUFBTSxRQUFRLEdBQUc7QUFDL0MsZ0JBQU0sMEJBQW1EO0FBQUEsWUFDdkQsVUFBVTtBQUFBLFlBQ1YsS0FBSyxTQUFTLE9BQU8sU0FBUyxDQUFDLFNBQVMsT0FBTyxTQUFTLENBQUM7QUFBQSxZQUN6RCxNQUFNLEtBQUs7QUFBQSxZQUNYO0FBQUEsWUFDQSxVQUFVLEtBQUs7QUFBQSxZQUNmLG1CQUFtQjtBQUFBLFlBQ25CLE1BQU07QUFBQSxVQUNSO0FBQ0EscUJBQVcsS0FBSyx1QkFBdUI7QUFBQSxRQUN6QztBQUNBO0FBQUEsTUFDRjtBQUFBLE1BQ0EsU0FBUztBQUNQO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUNUO0FBY0EsU0FBUyxxQ0FBcUMsVUFBa0M7QUFDOUUsUUFBTSxtQkFBbUIsa0JBQWtCLFNBQVMsMEJBQTBCO0FBQzlFLE1BQUksaUJBQWlCLFdBQVcsR0FBRztBQUNqQztBQUFBLEVBQ0Y7QUFFQSxRQUFNLGtCQUFrQixJQUFJLElBQUksaUJBQWlCLElBQUksQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDO0FBR3hFLFFBQU0sY0FBYyxTQUFTLG9CQUFvQixDQUFDO0FBQ2xELFdBQVMsbUJBQW1CO0FBQUEsSUFDMUIsR0FBRyxZQUFZLE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksS0FBSyxHQUFHLENBQUM7QUFBQSxJQUM5RCxHQUFHO0FBQUEsRUFDTDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
121
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NhbnZhcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIGEgdXRpbGl0eSBmdW5jdGlvbiBmb3IgZXh0cmFjdGluZyByZWZlcmVuY2VzIGZyb20gYSBjYW52YXMgKGAuY2FudmFzYCkgZmlsZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgQ2FudmFzRGF0YSB9IGZyb20gJ29ic2lkaWFuL2NhbnZhcy5kLnRzJztcblxuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ2FjaGVkTWV0YWRhdGFFeCB9IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuaW1wb3J0IHR5cGUge1xuICBDYW52YXNGaWxlTm9kZVJlZmVyZW5jZSxcbiAgQ2FudmFzUmVmZXJlbmNlLFxuICBDYW52YXNUZXh0Tm9kZVJlZmVyZW5jZVxufSBmcm9tICcuL3JlZmVyZW5jZS50cyc7XG5cbmltcG9ydCB7XG4gIGdldExpbmtzLFxuICBwYXJzZU1ldGFkYXRhXG59IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuaW1wb3J0IHsgcmVhZFNhZmUgfSBmcm9tICcuL3ZhdWx0LnRzJztcblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgb3V0Z29pbmcgcmVmZXJlbmNlcyBvZiBhIGNhbnZhcyAoYC5jYW52YXNgKSBmaWxlLlxuICpcbiAqIE9ic2lkaWFuIGRvZXMgbm90IGluZGV4IGNhbnZhcyBsaW5rcyBpbnRvIHRoZSBwZXItZmlsZSBtZXRhZGF0YSBjYWNoZSwgc28gYSBjYW52YXMgZmlsZSdzXG4gKiB7QGxpbmsgaHR0cHM6Ly9kb2NzLm9ic2lkaWFuLm1kL1JlZmVyZW5jZS9UeXBlU2NyaXB0K0FQSS9DYWNoZWRNZXRhZGF0YSB8IENhY2hlZE1ldGFkYXRhfSBpcyBlbXB0eSBhbmQgdGhlXG4gKiB1c3VhbCBjYWNoZS1iYXNlZCByZWFkZXJzIHJldHVybiBub3RoaW5nIGZvciBpdC4gVGhpcyBoZWxwZXIgcmVhZHMgdGhlIGNhbnZhcyBKU09OIGRpcmVjdGx5IGFuZCByZXR1cm5zXG4gKiBib3RoIGl0cyBmaWxlLW5vZGUgbGlua3MgYW5kIGl0cyB0ZXh0LW5vZGUgZW1iZWRzIGFzIHtAbGluayBDYW52YXNSZWZlcmVuY2V9cy5cbiAqXG4gKiBUaGUgcmV0dXJuZWQgcmVmZXJlbmNlcyBjYXJyeSB0aGUgYG5vZGVJbmRleGAvYHR5cGVgIChhbmQsIGZvciB0ZXh0IG5vZGVzLCB0aGUgYG9yaWdpbmFsUmVmZXJlbmNlYCkgdGhhdFxuICogdGhlIGNhbnZhcy1hd2FyZSB3cml0ZSBwYXRoIG5lZWRzLCBzbyBhIGNvbnN1bWVyIGNhbiBtb3ZlIGEgY2FudmFzLXJlZmVyZW5jZWQgYXR0YWNobWVudCBhbmQgcmV3cml0ZSB0aGVcbiAqIGNhbnZhcyBieSBjb21wb3NpbmcgYHJlZmVyZW5jZVRvRmlsZUNoYW5nZWAgKGZyb20gYC4vcmVmZXJlbmNlLnRzYCkgd2l0aCBgYXBwbHlGaWxlQ2hhbmdlc2AgKGZyb21cbiAqIGAuL2ZpbGUtY2hhbmdlLnRzYCkuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBjYW52YXMgZmlsZSAob3IgaXRzIHBhdGgpIHRvIGV4dHJhY3QgcmVmZXJlbmNlcyBmcm9tLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgY2FudmFzIHJlZmVyZW5jZXMsIG9yIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIGZpbGUgaXNcbiAqIG1pc3Npbmcgb3IgaXRzIGNvbnRlbnQgaXMgbm90IHZhbGlkIGNhbnZhcyBKU09OLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q2FudmFzUmVmZXJlbmNlcyhhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q2FudmFzUmVmZXJlbmNlW10+IHtcbiAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIGlmIChjb250ZW50ID09PSBudWxsKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxDYW52YXNEYXRhOiBudWxsIHwgUGFydGlhbDxDYW52YXNEYXRhPjtcbiAgdHJ5IHtcbiAgICBwYXJ0aWFsQ2FudmFzRGF0YSA9IEpTT04ucGFyc2UoY29udGVudCkgYXMgbnVsbCB8IFBhcnRpYWw8Q2FudmFzRGF0YT47XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGNhbnZhc0RhdGEgPSBwYXJ0aWFsQ2FudmFzRGF0YT8ubm9kZXNcbiAgICA/IHBhcnRpYWxDYW52YXNEYXRhIGFzIENhbnZhc0RhdGFcbiAgICA6IHtcbiAgICAgIGVkZ2VzOiBbXSxcbiAgICAgIG5vZGVzOiBbXVxuICAgIH07XG5cbiAgY29uc3QgcmVmZXJlbmNlczogQ2FudmFzUmVmZXJlbmNlW10gPSBbXTtcbiAgY29uc3QgaGFzRnJvbnRtYXR0ZXJNYXJrZG93bkxpbmtzUGx1Z2luID0gISFhcHAucGx1Z2lucy5nZXRQbHVnaW4oJ2Zyb250bWF0dGVyLW1hcmtkb3duLWxpbmtzJyk7XG5cbiAgZm9yIChjb25zdCBbbm9kZUluZGV4LCBub2RlXSBvZiBjYW52YXNEYXRhLm5vZGVzLmVudHJpZXMoKSkge1xuICAgIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgICBjYXNlICdmaWxlJzoge1xuICAgICAgICBjb25zdCBjYW52YXNGaWxlTm9kZVJlZmVyZW5jZTogQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UgPSB7XG4gICAgICAgICAgaXNDYW52YXM6IHRydWUsXG4gICAgICAgICAga2V5OiBgbm9kZXMuJHtTdHJpbmcobm9kZUluZGV4KX0uZmlsZWAsXG4gICAgICAgICAgbGluazogbm9kZS5maWxlLFxuICAgICAgICAgIG5vZGVJbmRleCxcbiAgICAgICAgICBvcmlnaW5hbDogbm9kZS5maWxlLFxuICAgICAgICAgIHR5cGU6ICdmaWxlJ1xuICAgICAgICB9O1xuICAgICAgICByZWZlcmVuY2VzLnB1c2goY2FudmFzRmlsZU5vZGVSZWZlcmVuY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RleHQnOiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gYXdhaXQgcGFyc2VNZXRhZGF0YShhcHAsIG5vZGUudGV4dCwgeyBzaG91bGRQYXJzZU11bHRpVmFsdWVGcm9udG1hdHRlckxpbmtzOiBoYXNGcm9udG1hdHRlck1hcmtkb3duTGlua3NQbHVnaW4gfSk7XG4gICAgICAgIGlmIChoYXNGcm9udG1hdHRlck1hcmtkb3duTGlua3NQbHVnaW4pIHtcbiAgICAgICAgICBjb250cmlidXRlTXVsdGlWYWx1ZUZyb250bWF0dGVyTGlua3MobWV0YWRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxpbmtzID0gZ2V0TGlua3MoeyBjYWNoZTogbWV0YWRhdGEgfSk7XG4gICAgICAgIGZvciAoY29uc3QgW2xpbmtJbmRleCwgbGlua10gb2YgbGlua3MuZW50cmllcygpKSB7XG4gICAgICAgICAgY29uc3QgY2FudmFzVGV4dE5vZGVSZWZlcmVuY2U6IENhbnZhc1RleHROb2RlUmVmZXJlbmNlID0ge1xuICAgICAgICAgICAgaXNDYW52YXM6IHRydWUsXG4gICAgICAgICAgICBrZXk6IGBub2Rlcy4ke1N0cmluZyhub2RlSW5kZXgpfS50ZXh0LiR7U3RyaW5nKGxpbmtJbmRleCl9YCxcbiAgICAgICAgICAgIGxpbms6IGxpbmsubGluayxcbiAgICAgICAgICAgIG5vZGVJbmRleCxcbiAgICAgICAgICAgIG9yaWdpbmFsOiBsaW5rLm9yaWdpbmFsLFxuICAgICAgICAgICAgb3JpZ2luYWxSZWZlcmVuY2U6IGxpbmssXG4gICAgICAgICAgICB0eXBlOiAndGV4dCdcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJlZmVyZW5jZXMucHVzaChjYW52YXNUZXh0Tm9kZVJlZmVyZW5jZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWZlcmVuY2VzO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSBvbmUgY2hhbmdlIHRvIGEgY2FudmFzIHRleHQgbm9kZSdzIG1ldGFkYXRhIHRoYXQgdGhlIGBGcm9udG1hdHRlciBNYXJrZG93biBMaW5rc2AgcGx1Z2luIG1ha2VzIHRvIGFcbiAqIG5vdGUncyBjYWNoZSwgc28gYSB0ZXh0IG5vZGUgcmVhZHMgaXRzIGxpbmtzIGFzIGEgbm90ZSB3aXRoIHRoZSBzYW1lIHRleHQgd291bGQuXG4gKlxuICogT2JzaWRpYW4gaXRzZWxmIHJlYWRzIGEgcHJvcGVydHkgd2hvc2UgV0hPTEUgdmFsdWUgaXMgb25lIGludGVybmFsIGxpbmssIG1hcmtkb3duIGxpbmtzIGluY2x1ZGVkLCBzbyB0aGUgcGx1Z2luXG4gKiBjb250cmlidXRlcyBvbmx5IHRoZSBsaW5rcyBlbWJlZGRlZCBpbiBhIG11bHRpLWxpbmsgdmFsdWUgKGBbQV0oYS5tZCksIFtCXShiLm1kKWApIGFuZCByZXBsYWNlcyB3aGF0ZXZlciBPYnNpZGlhblxuICogcmVjb3JkZWQgdW5kZXIgdGhlIHNhbWUga2V5LiBBIHRleHQgbm9kZSBpcyBwYXJzZWQgb3V0c2lkZSB0aGUgbWV0YWRhdGEgY2FjaGUsIHdoZXJlIHRoZSBwbHVnaW4gbmV2ZXIgc2VlcyBpdCxcbiAqIHNvIHRoZSBzYW1lIHN0ZXAgaXMgcmVwZWF0ZWQgaGVyZS5cbiAqXG4gKiBAcGFyYW0gbWV0YWRhdGEgLSBUaGUgdGV4dCBub2RlJ3MgbWV0YWRhdGEsIHBhcnNlZCB3aXRoIG11bHRpLXZhbHVlIGZyb250bWF0dGVyIGxpbmtzLCBzb1xuICogYG11bHRpVmFsdWVGcm9udG1hdHRlckxpbmtzYCBpcyBhbHdheXMgc2V0LlxuICovXG5mdW5jdGlvbiBjb250cmlidXRlTXVsdGlWYWx1ZUZyb250bWF0dGVyTGlua3MobWV0YWRhdGE6IENhY2hlZE1ldGFkYXRhRXgpOiB2b2lkIHtcbiAgY29uc3QgY29udHJpYnV0ZWRMaW5rcyA9IGVuc3VyZU5vbk51bGxhYmxlKG1ldGFkYXRhLm11bHRpVmFsdWVGcm9udG1hdHRlckxpbmtzKTtcbiAgaWYgKGNvbnRyaWJ1dGVkTGlua3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgY29udHJpYnV0ZWRLZXlzID0gbmV3IFNldChjb250cmlidXRlZExpbmtzLm1hcCgobGluaykgPT4gbGluay5rZXkpKTtcbiAgLy8gQSBjb250cmlidXRlZCBsaW5rIG1lYW5zIHRoZSBub3RlIGhhcyBhIGZyb250bWF0dGVyIHJlY29yZCwgYW5kIE9ic2lkaWFuIGFzc2lnbnMgYGZyb250bWF0dGVyTGlua3NgIGJlc2lkZSBpdC5cbiAgLyogdjggaWdub3JlIG5leHQgLS0gTmV2ZXIgbnVsbGlzaCB3aGVuIGEgbGluayB3YXMgY29udHJpYnV0ZWQ7IHRoZSBgPz8gW11gIGlzIGRlZmVuc2l2ZS4gKi9cbiAgY29uc3QgbmF0aXZlTGlua3MgPSBtZXRhZGF0YS5mcm9udG1hdHRlckxpbmtzID8/IFtdO1xuICBtZXRhZGF0YS5mcm9udG1hdHRlckxpbmtzID0gW1xuICAgIC4uLm5hdGl2ZUxpbmtzLmZpbHRlcigobGluaykgPT4gIWNvbnRyaWJ1dGVkS2V5cy5oYXMobGluay5rZXkpKSxcbiAgICAuLi5jb250cmlidXRlZExpbmtzXG4gIF07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNBLFNBQVMseUJB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
@@ -2,11 +2,11 @@
2
2
  /**
3
3
  * @file
4
4
  *
5
- * Bridges the file and files context-menu events into Notebook Navigator's own menus.
5
+ * Bridges the file and files context-menu events into `Notebook Navigator`'s own menus.
6
6
  *
7
- * Notebook Navigator draws its own file tree and never raises Obsidian's `file-menu` / `files-menu`
7
+ * `Notebook Navigator` draws its own file tree and never raises Obsidian's `file-menu` / `files-menu`
8
8
  * workspace events, so a plugin's context-menu items vanish for anyone browsing through it. This
9
- * component is a {@link MenuEventRegistrar} backed by Notebook Navigator's extension API instead of
9
+ * component is a {@link MenuEventRegistrar} backed by `Notebook Navigator`'s extension API instead of
10
10
  * the workspace, so the very same handlers reach both surfaces.
11
11
  */
12
12
  import type { DisposableEx } from '@mnaoumov/typescript-lib/disposable';
@@ -33,10 +33,10 @@ export interface NotebookNavigatorMenuEventRegistrarComponentConstructorParams {
33
33
  readonly submenuIcon?: IconName | undefined;
34
34
  }
35
35
  /**
36
- * {@link MenuEventRegistrar} backed by Notebook Navigator's menu-extension API.
36
+ * {@link MenuEventRegistrar} backed by `Notebook Navigator`'s menu-extension API.
37
37
  *
38
- * Handlers registered here are collected eagerly and bound to Notebook Navigator once the workspace
39
- * layout is ready. When Notebook Navigator is not installed the component simply stays dormant.
38
+ * Handlers registered here are collected eagerly and bound to `Notebook Navigator` once the workspace
39
+ * layout is ready. When `Notebook Navigator` is not installed the component simply stays dormant.
40
40
  *
41
41
  * Every collected handler writes into a plugin-titled parent entry's submenu, so a handler must NOT
42
42
  * declare a section submenu of its own — `Menu.sort()` would fold that into a second, nested
@@ -55,7 +55,7 @@ export declare class NotebookNavigatorMenuEventRegistrarComponent extends Layout
55
55
  private fileMenuEventHandlers;
56
56
  private filesMenuEventHandlers;
57
57
  /**
58
- * Creates a new Notebook Navigator menu event registrar.
58
+ * Creates a new `Notebook Navigator` menu event registrar.
59
59
  *
60
60
  * @param params - The parameters for the component.
61
61
  */
@@ -63,7 +63,7 @@ export declare class NotebookNavigatorMenuEventRegistrarComponent extends Layout
63
63
  /**
64
64
  * Accepts an editor-menu registration and does nothing with it.
65
65
  *
66
- * Notebook Navigator extends the file tree, not the editor — an editor menu there is Obsidian's
66
+ * `Notebook Navigator` extends the file tree, not the editor — an editor menu there is Obsidian's
67
67
  * own, which the handlers already reach through the workspace event. The registration is inert
68
68
  * rather than refused so a handler that declares one is not a load-time error.
69
69
  *
@@ -88,7 +88,7 @@ export declare class NotebookNavigatorMenuEventRegistrarComponent extends Layout
88
88
  /**
89
89
  * Accepts a markdown-viewport-menu registration and does nothing with it.
90
90
  *
91
- * Notebook Navigator extends the file tree, not the editor — the margin beside a note's text is
91
+ * `Notebook Navigator` extends the file tree, not the editor — the margin beside a note's text is
92
92
  * Obsidian's own viewport, which the handlers already reach through the workspace event. The
93
93
  * registration is inert rather than refused so a handler that declares one is not a load-time error.
94
94
  *
@@ -97,7 +97,7 @@ export declare class NotebookNavigatorMenuEventRegistrarComponent extends Layout
97
97
  */
98
98
  registerMarkdownViewportMenuEventHandler(_handler: MarkdownViewportMenuEventHandler): DisposableEx;
99
99
  /**
100
- * Binds to Notebook Navigator once every plugin has loaded.
100
+ * Binds to `Notebook Navigator` once every plugin has loaded.
101
101
  *
102
102
  * Layout-ready rather than `onload`: plugin load order is not ours to choose, and Notebook
103
103
  * Navigator's API only exists once its own plugin is up. When it is not installed the component
@@ -108,19 +108,19 @@ export declare class NotebookNavigatorMenuEventRegistrarComponent extends Layout
108
108
  /**
109
109
  * Adds the plugin's entry, unless the handlers had nothing to contribute.
110
110
  *
111
- * The menu is populated TWICE, and both runs are needed: Notebook Navigator's `addItem` cannot be
111
+ * The menu is populated TWICE, and both runs are needed: `Notebook Navigator`'s `addItem` cannot be
112
112
  * taken back once called, so the only way to keep an unrelated file's menu clean is to ask the
113
113
  * handlers first, against a menu nobody sees. The gates they answer with are metadata reads, so the
114
114
  * second run costs nothing and cannot disagree with the first.
115
115
  *
116
- * @param context - The Notebook Navigator menu being built.
116
+ * @param context - The `Notebook Navigator` menu being built.
117
117
  * @param populate - Runs the collected handlers against a menu.
118
118
  */
119
119
  private contribute;
120
120
  /**
121
121
  * Handles a file menu, single or multi-selection.
122
122
  *
123
- * @param context - The Notebook Navigator menu being built.
123
+ * @param context - The `Notebook Navigator` menu being built.
124
124
  */
125
125
  private handleFileMenu;
126
126
  /**
@@ -130,7 +130,7 @@ export declare class NotebookNavigatorMenuEventRegistrarComponent extends Layout
130
130
  * carries one — the event is typed {@link TAbstractFile}, and the folder handlers are the ones that
131
131
  * narrow it.
132
132
  *
133
- * @param context - The Notebook Navigator menu being built.
133
+ * @param context - The `Notebook Navigator` menu being built.
134
134
  */
135
135
  private handleFolderMenu;
136
136
  /**
@@ -59,7 +59,7 @@ class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent
59
59
  fileMenuEventHandlers = [];
60
60
  filesMenuEventHandlers = [];
61
61
  /**
62
- * Creates a new Notebook Navigator menu event registrar.
62
+ * Creates a new `Notebook Navigator` menu event registrar.
63
63
  *
64
64
  * @param params - The parameters for the component.
65
65
  */
@@ -71,7 +71,7 @@ class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent
71
71
  /**
72
72
  * Accepts an editor-menu registration and does nothing with it.
73
73
  *
74
- * Notebook Navigator extends the file tree, not the editor — an editor menu there is Obsidian's
74
+ * `Notebook Navigator` extends the file tree, not the editor — an editor menu there is Obsidian's
75
75
  * own, which the handlers already reach through the workspace event. The registration is inert
76
76
  * rather than refused so a handler that declares one is not a load-time error.
77
77
  *
@@ -116,7 +116,7 @@ class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent
116
116
  /**
117
117
  * Accepts a markdown-viewport-menu registration and does nothing with it.
118
118
  *
119
- * Notebook Navigator extends the file tree, not the editor — the margin beside a note's text is
119
+ * `Notebook Navigator` extends the file tree, not the editor — the margin beside a note's text is
120
120
  * Obsidian's own viewport, which the handlers already reach through the workspace event. The
121
121
  * registration is inert rather than refused so a handler that declares one is not a load-time error.
122
122
  *
@@ -127,7 +127,7 @@ class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent
127
127
  return new CallbackDisposable({ callback: noop });
128
128
  }
129
129
  /**
130
- * Binds to Notebook Navigator once every plugin has loaded.
130
+ * Binds to `Notebook Navigator` once every plugin has loaded.
131
131
  *
132
132
  * Layout-ready rather than `onload`: plugin load order is not ours to choose, and Notebook
133
133
  * Navigator's API only exists once its own plugin is up. When it is not installed the component
@@ -149,12 +149,12 @@ class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent
149
149
  /**
150
150
  * Adds the plugin's entry, unless the handlers had nothing to contribute.
151
151
  *
152
- * The menu is populated TWICE, and both runs are needed: Notebook Navigator's `addItem` cannot be
152
+ * The menu is populated TWICE, and both runs are needed: `Notebook Navigator`'s `addItem` cannot be
153
153
  * taken back once called, so the only way to keep an unrelated file's menu clean is to ask the
154
154
  * handlers first, against a menu nobody sees. The gates they answer with are metadata reads, so the
155
155
  * second run costs nothing and cannot disagree with the first.
156
156
  *
157
- * @param context - The Notebook Navigator menu being built.
157
+ * @param context - The `Notebook Navigator` menu being built.
158
158
  * @param populate - Runs the collected handlers against a menu.
159
159
  */
160
160
  contribute(context, populate) {
@@ -171,7 +171,7 @@ class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent
171
171
  /**
172
172
  * Handles a file menu, single or multi-selection.
173
173
  *
174
- * @param context - The Notebook Navigator menu being built.
174
+ * @param context - The `Notebook Navigator` menu being built.
175
175
  */
176
176
  handleFileMenu(context) {
177
177
  const selectedFiles = [...context.selection.files];
@@ -191,7 +191,7 @@ class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent
191
191
  * carries one — the event is typed {@link TAbstractFile}, and the folder handlers are the ones that
192
192
  * narrow it.
193
193
  *
194
- * @param context - The Notebook Navigator menu being built.
194
+ * @param context - The `Notebook Navigator` menu being built.
195
195
  */
196
196
  handleFolderMenu(context) {
197
197
  this.contribute(context, (menu) => {
@@ -224,4 +224,4 @@ class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent
224
224
  export {
225
225
  NotebookNavigatorMenuEventRegistrarComponent
226
226
  };
227
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEJyaWRnZXMgdGhlIGZpbGUgYW5kIGZpbGVzIGNvbnRleHQtbWVudSBldmVudHMgaW50byBOb3RlYm9vayBOYXZpZ2F0b3IncyBvd24gbWVudXMuXG4gKlxuICogTm90ZWJvb2sgTmF2aWdhdG9yIGRyYXdzIGl0cyBvd24gZmlsZSB0cmVlIGFuZCBuZXZlciByYWlzZXMgT2JzaWRpYW4ncyBgZmlsZS1tZW51YCAvIGBmaWxlcy1tZW51YFxuICogd29ya3NwYWNlIGV2ZW50cywgc28gYSBwbHVnaW4ncyBjb250ZXh0LW1lbnUgaXRlbXMgdmFuaXNoIGZvciBhbnlvbmUgYnJvd3NpbmcgdGhyb3VnaCBpdC4gVGhpc1xuICogY29tcG9uZW50IGlzIGEge0BsaW5rIE1lbnVFdmVudFJlZ2lzdHJhcn0gYmFja2VkIGJ5IE5vdGVib29rIE5hdmlnYXRvcidzIGV4dGVuc2lvbiBBUEkgaW5zdGVhZCBvZlxuICogdGhlIHdvcmtzcGFjZSwgc28gdGhlIHZlcnkgc2FtZSBoYW5kbGVycyByZWFjaCBib3RoIHN1cmZhY2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGlzcG9zYWJsZUV4IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIEljb25OYW1lLFxuICBNZW51LFxuICBUQWJzdHJhY3RGaWxlLFxuICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IENhbGxiYWNrRGlzcG9zYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kaXNwb3NhYmxlJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZnVuY3Rpb24nO1xuaW1wb3J0IHsgTWVudSBhcyBNZW51SW1wbCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBFZGl0b3JNZW51RXZlbnRIYW5kbGVyLFxuICBGaWxlTWVudUV2ZW50SGFuZGxlcixcbiAgRmlsZXNNZW51RXZlbnRIYW5kbGVyLFxuICBNYXJrZG93blZpZXdwb3J0TWVudUV2ZW50SGFuZGxlcixcbiAgTWVudUV2ZW50UmVnaXN0cmFyXG59IGZyb20gJy4uL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudUNvbnRleHQsXG4gIE5vdGVib29rTmF2aWdhdG9yRm9sZGVyTWVudUNvbnRleHQsXG4gIE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHRcbn0gZnJvbSAnLi4vbm90ZWJvb2stbmF2aWdhdG9yLnRzJztcblxuaW1wb3J0IHtcbiAgTk9URUJPT0tfTkFWSUdBVE9SX01FTlVfU09VUkNFLFxuICByZXNvbHZlTm90ZWJvb2tOYXZpZ2F0b3JBcGlcbn0gZnJvbSAnLi4vbm90ZWJvb2stbmF2aWdhdG9yLnRzJztcbmltcG9ydCB7IExheW91dFJlYWR5Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtcmVhZHktY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgTm90ZWJvb2tOYXZpZ2F0b3JNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50Q29uc3RydWN0b3JQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBkaXNwbGF5IG5hbWUsIHdoaWNoIHRpdGxlcyB0aGUgcGFyZW50IGVudHJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBmb3IgdGhlIHBhcmVudCBlbnRyeS5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYCAobm8gaWNvbilcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym1lbnVJY29uPzogSWNvbk5hbWUgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICoge0BsaW5rIE1lbnVFdmVudFJlZ2lzdHJhcn0gYmFja2VkIGJ5IE5vdGVib29rIE5hdmlnYXRvcidzIG1lbnUtZXh0ZW5zaW9uIEFQSS5cbiAqXG4gKiBIYW5kbGVycyByZWdpc3RlcmVkIGhlcmUgYXJlIGNvbGxlY3RlZCBlYWdlcmx5IGFuZCBib3VuZCB0byBOb3RlYm9vayBOYXZpZ2F0b3Igb25jZSB0aGUgd29ya3NwYWNlXG4gKiBsYXlvdXQgaXMgcmVhZHkuIFdoZW4gTm90ZWJvb2sgTmF2aWdhdG9yIGlzIG5vdCBpbnN0YWxsZWQgdGhlIGNvbXBvbmVudCBzaW1wbHkgc3RheXMgZG9ybWFudC5cbiAqXG4gKiBFdmVyeSBjb2xsZWN0ZWQgaGFuZGxlciB3cml0ZXMgaW50byBhIHBsdWdpbi10aXRsZWQgcGFyZW50IGVudHJ5J3Mgc3VibWVudSwgc28gYSBoYW5kbGVyIG11c3QgTk9UXG4gKiBkZWNsYXJlIGEgc2VjdGlvbiBzdWJtZW51IG9mIGl0cyBvd24gXHUyMDE0IGBNZW51LnNvcnQoKWAgd291bGQgZm9sZCB0aGF0IGludG8gYSBzZWNvbmQsIG5lc3RlZFxuICogcGx1Z2luLXRpdGxlZCBlbnRyeS4gYENvbW1hbmRIYW5kbGVyQ29tcG9uZW50YCB0YWtlcyBjYXJlIG9mIHRoaXMgYnkgZm9yY2luZ1xuICogYENvbW1hbmRIYW5kbGVyUmVnaXN0cmF0aW9uQ29udGV4dC5zaG91bGRBZGRDb21tYW5kVG9TdWJtZW51YCBvZmYgZm9yIHRoZSBzdXJmYWNlcyBpdCBmZWVkcyBoZXJlLlxuICovXG5leHBvcnQgY2xhc3MgTm90ZWJvb2tOYXZpZ2F0b3JNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnQgZXh0ZW5kcyBMYXlvdXRSZWFkeUNvbXBvbmVudCBpbXBsZW1lbnRzIE1lbnVFdmVudFJlZ2lzdHJhciB7XG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luJ3MgZGlzcGxheSBuYW1lLCB3aGljaCB0aXRsZXMgdGhlIHBhcmVudCBlbnRyeS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIGZvciB0aGUgcGFyZW50IGVudHJ5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1Ym1lbnVJY29uOiBJY29uTmFtZTtcblxuICBwcml2YXRlIGZpbGVNZW51RXZlbnRIYW5kbGVyczogRmlsZU1lbnVFdmVudEhhbmRsZXJbXSA9IFtdO1xuICBwcml2YXRlIGZpbGVzTWVudUV2ZW50SGFuZGxlcnM6IEZpbGVzTWVudUV2ZW50SGFuZGxlcltdID0gW107XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgTm90ZWJvb2sgTmF2aWdhdG9yIG1lbnUgZXZlbnQgcmVnaXN0cmFyLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBOb3RlYm9va05hdmlnYXRvck1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudENvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zLmFwcCk7XG4gICAgdGhpcy5wbHVnaW5OYW1lID0gcGFyYW1zLnBsdWdpbk5hbWU7XG4gICAgdGhpcy5zdWJtZW51SWNvbiA9IHBhcmFtcy5zdWJtZW51SWNvbiA/PyAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2NlcHRzIGFuIGVkaXRvci1tZW51IHJlZ2lzdHJhdGlvbiBhbmQgZG9lcyBub3RoaW5nIHdpdGggaXQuXG4gICAqXG4gICAqIE5vdGVib29rIE5hdmlnYXRvciBleHRlbmRzIHRoZSBmaWxlIHRyZWUsIG5vdCB0aGUgZWRpdG9yIFx1MjAxNCBhbiBlZGl0b3IgbWVudSB0aGVyZSBpcyBPYnNpZGlhbidzXG4gICAqIG93biwgd2hpY2ggdGhlIGhhbmRsZXJzIGFscmVhZHkgcmVhY2ggdGhyb3VnaCB0aGUgd29ya3NwYWNlIGV2ZW50LiBUaGUgcmVnaXN0cmF0aW9uIGlzIGluZXJ0XG4gICAqIHJhdGhlciB0aGFuIHJlZnVzZWQgc28gYSBoYW5kbGVyIHRoYXQgZGVjbGFyZXMgb25lIGlzIG5vdCBhIGxvYWQtdGltZSBlcnJvci5cbiAgICpcbiAgICogQHBhcmFtIF9oYW5kbGVyIC0gVGhlIGhhbmRsZXIsIGRlbGliZXJhdGVseSB1bnVzZWQuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGVFeH0gdGhhdCBoYXMgbm90aGluZyB0byB1bmRvLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyRWRpdG9yTWVudUV2ZW50SGFuZGxlcihfaGFuZGxlcjogRWRpdG9yTWVudUV2ZW50SGFuZGxlcik6IERpc3Bvc2FibGVFeCB7XG4gICAgcmV0dXJuIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoeyBjYWxsYmFjazogbm9vcCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0cyBhIHNpbmdsZS1maWxlIG1lbnUgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgaGFuZGxlciB0byBjb2xsZWN0LlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlRXh9IHRoYXQgZHJvcHMgdGhlIGhhbmRsZXIgYWdhaW4gKG9yIG9uIGNvbXBvbmVudCB1bmxvYWQpLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyRmlsZU1lbnVFdmVudEhhbmRsZXIoaGFuZGxlcjogRmlsZU1lbnVFdmVudEhhbmRsZXIpOiBEaXNwb3NhYmxlRXgge1xuICAgIHRoaXMuZmlsZU1lbnVFdmVudEhhbmRsZXJzLnB1c2goaGFuZGxlcik7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKFxuICAgICAgbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7XG4gICAgICAgIGNhbGxiYWNrOiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5maWxlTWVudUV2ZW50SGFuZGxlcnMgPSB0aGlzLmZpbGVNZW51RXZlbnRIYW5kbGVycy5maWx0ZXIoKGNvbGxlY3RlZCkgPT4gY29sbGVjdGVkICE9PSBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbGxlY3RzIGEgbXVsdGktZmlsZSBtZW51IGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBoYW5kbGVyIC0gVGhlIGhhbmRsZXIgdG8gY29sbGVjdC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZUV4fSB0aGF0IGRyb3BzIHRoZSBoYW5kbGVyIGFnYWluIChvciBvbiBjb21wb25lbnQgdW5sb2FkKS5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckZpbGVzTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBGaWxlc01lbnVFdmVudEhhbmRsZXIpOiBEaXNwb3NhYmxlRXgge1xuICAgIHRoaXMuZmlsZXNNZW51RXZlbnRIYW5kbGVycy5wdXNoKGhhbmRsZXIpO1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShcbiAgICAgIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoe1xuICAgICAgICBjYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsZXNNZW51RXZlbnRIYW5kbGVycyA9IHRoaXMuZmlsZXNNZW51RXZlbnRIYW5kbGVycy5maWx0ZXIoKGNvbGxlY3RlZCkgPT4gY29sbGVjdGVkICE9PSBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdHMgYSBtYXJrZG93bi12aWV3cG9ydC1tZW51IHJlZ2lzdHJhdGlvbiBhbmQgZG9lcyBub3RoaW5nIHdpdGggaXQuXG4gICAqXG4gICAqIE5vdGVib29rIE5hdmlnYXRvciBleHRlbmRzIHRoZSBmaWxlIHRyZWUsIG5vdCB0aGUgZWRpdG9yIFx1MjAxNCB0aGUgbWFyZ2luIGJlc2lkZSBhIG5vdGUncyB0ZXh0IGlzXG4gICAqIE9ic2lkaWFuJ3Mgb3duIHZpZXdwb3J0LCB3aGljaCB0aGUgaGFuZGxlcnMgYWxyZWFkeSByZWFjaCB0aHJvdWdoIHRoZSB3b3Jrc3BhY2UgZXZlbnQuIFRoZVxuICAgKiByZWdpc3RyYXRpb24gaXMgaW5lcnQgcmF0aGVyIHRoYW4gcmVmdXNlZCBzbyBhIGhhbmRsZXIgdGhhdCBkZWNsYXJlcyBvbmUgaXMgbm90IGEgbG9hZC10aW1lIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gX2hhbmRsZXIgLSBUaGUgaGFuZGxlciwgZGVsaWJlcmF0ZWx5IHVudXNlZC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZUV4fSB0aGF0IGhhcyBub3RoaW5nIHRvIHVuZG8uXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJNYXJrZG93blZpZXdwb3J0TWVudUV2ZW50SGFuZGxlcihfaGFuZGxlcjogTWFya2Rvd25WaWV3cG9ydE1lbnVFdmVudEhhbmRsZXIpOiBEaXNwb3NhYmxlRXgge1xuICAgIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHsgY2FsbGJhY2s6IG5vb3AgfSk7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdG8gTm90ZWJvb2sgTmF2aWdhdG9yIG9uY2UgZXZlcnkgcGx1Z2luIGhhcyBsb2FkZWQuXG4gICAqXG4gICAqIExheW91dC1yZWFkeSByYXRoZXIgdGhhbiBgb25sb2FkYDogcGx1Z2luIGxvYWQgb3JkZXIgaXMgbm90IG91cnMgdG8gY2hvb3NlLCBhbmQgTm90ZWJvb2tcbiAgICogTmF2aWdhdG9yJ3MgQVBJIG9ubHkgZXhpc3RzIG9uY2UgaXRzIG93biBwbHVnaW4gaXMgdXAuIFdoZW4gaXQgaXMgbm90IGluc3RhbGxlZCB0aGUgY29tcG9uZW50XG4gICAqIHN0YXlzIGRvcm1hbnQgXHUyMDE0IGVuYWJsaW5nIGl0IGxhdGVyIHRha2VzIGFuIE9ic2lkaWFuIHJlbG9hZCwgZXhhY3RseSBhcyBpdCBkb2VzIGZvciBhbnl0aGluZyBlbHNlXG4gICAqIHRoYXQgcmVhZHMgYW5vdGhlciBwbHVnaW4gYXQgc3RhcnR1cC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbkxheW91dFJlYWR5KCk6IHZvaWQge1xuICAgIGNvbnN0IGFwaSA9IHJlc29sdmVOb3RlYm9va05hdmlnYXRvckFwaSh0aGlzLmFwcCk7XG4gICAgaWYgKGFwaSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVnaXN0ZXIoYXBpLm1lbnVzLnJlZ2lzdGVyRmlsZU1lbnUoKGNvbnRleHQpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlRmlsZU1lbnUoY29udGV4dCk7XG4gICAgfSkpO1xuICAgIHRoaXMucmVnaXN0ZXIoYXBpLm1lbnVzLnJlZ2lzdGVyRm9sZGVyTWVudSgoY29udGV4dCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVGb2xkZXJNZW51KGNvbnRleHQpO1xuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBwbHVnaW4ncyBlbnRyeSwgdW5sZXNzIHRoZSBoYW5kbGVycyBoYWQgbm90aGluZyB0byBjb250cmlidXRlLlxuICAgKlxuICAgKiBUaGUgbWVudSBpcyBwb3B1bGF0ZWQgVFdJQ0UsIGFuZCBib3RoIHJ1bnMgYXJlIG5lZWRlZDogTm90ZWJvb2sgTmF2aWdhdG9yJ3MgYGFkZEl0ZW1gIGNhbm5vdCBiZVxuICAgKiB0YWtlbiBiYWNrIG9uY2UgY2FsbGVkLCBzbyB0aGUgb25seSB3YXkgdG8ga2VlcCBhbiB1bnJlbGF0ZWQgZmlsZSdzIG1lbnUgY2xlYW4gaXMgdG8gYXNrIHRoZVxuICAgKiBoYW5kbGVycyBmaXJzdCwgYWdhaW5zdCBhIG1lbnUgbm9ib2R5IHNlZXMuIFRoZSBnYXRlcyB0aGV5IGFuc3dlciB3aXRoIGFyZSBtZXRhZGF0YSByZWFkcywgc28gdGhlXG4gICAqIHNlY29uZCBydW4gY29zdHMgbm90aGluZyBhbmQgY2Fubm90IGRpc2FncmVlIHdpdGggdGhlIGZpcnN0LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBOb3RlYm9vayBOYXZpZ2F0b3IgbWVudSBiZWluZyBidWlsdC5cbiAgICogQHBhcmFtIHBvcHVsYXRlIC0gUnVucyB0aGUgY29sbGVjdGVkIGhhbmRsZXJzIGFnYWluc3QgYSBtZW51LlxuICAgKi9cbiAgcHJpdmF0ZSBjb250cmlidXRlKGNvbnRleHQ6IE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQsIHBvcHVsYXRlOiAobWVudTogTWVudSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2JlTWVudSA9IG5ldyBNZW51SW1wbCgpO1xuICAgIHBvcHVsYXRlKHByb2JlTWVudSk7XG5cbiAgICBpZiAocHJvYmVNZW51Lml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnRleHQuYWRkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbVxuICAgICAgICAuc2V0VGl0bGUodGhpcy5wbHVnaW5OYW1lKVxuICAgICAgICAuc2V0SWNvbih0aGlzLnN1Ym1lbnVJY29uKTtcbiAgICAgIHBvcHVsYXRlKGl0ZW0uc2V0U3VibWVudSgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGEgZmlsZSBtZW51LCBzaW5nbGUgb3IgbXVsdGktc2VsZWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBOb3RlYm9vayBOYXZpZ2F0b3IgbWVudSBiZWluZyBidWlsdC5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlRmlsZU1lbnUoY29udGV4dDogTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudUNvbnRleHQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZEZpbGVzOiBURmlsZVtdID0gWy4uLmNvbnRleHQuc2VsZWN0aW9uLmZpbGVzXTtcbiAgICB0aGlzLmNvbnRyaWJ1dGUoXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGV4dC5zZWxlY3Rpb24ubW9kZSA9PT0gJ211bHRpcGxlJ1xuICAgICAgICA/IChtZW51OiBNZW51KTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5ydW5GaWxlc01lbnVIYW5kbGVycyhtZW51LCBzZWxlY3RlZEZpbGVzKTtcbiAgICAgICAgfVxuICAgICAgICA6IChtZW51OiBNZW51KTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5ydW5GaWxlTWVudUhhbmRsZXJzKG1lbnUsIGNvbnRleHQuZmlsZSk7XG4gICAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgYSBmb2xkZXIgbWVudS5cbiAgICpcbiAgICogQSBmb2xkZXIgZ29lcyB0aHJvdWdoIHRoZSBTSU5HTEUtZmlsZSBoYW5kbGVycywgYmVjYXVzZSB0aGF0IGlzIGhvdyBPYnNpZGlhbidzIG93biBgZmlsZS1tZW51YFxuICAgKiBjYXJyaWVzIG9uZSBcdTIwMTQgdGhlIGV2ZW50IGlzIHR5cGVkIHtAbGluayBUQWJzdHJhY3RGaWxlfSwgYW5kIHRoZSBmb2xkZXIgaGFuZGxlcnMgYXJlIHRoZSBvbmVzIHRoYXRcbiAgICogbmFycm93IGl0LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBOb3RlYm9vayBOYXZpZ2F0b3IgbWVudSBiZWluZyBidWlsdC5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlRm9sZGVyTWVudShjb250ZXh0OiBOb3RlYm9va05hdmlnYXRvckZvbGRlck1lbnVDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5jb250cmlidXRlKGNvbnRleHQsIChtZW51OiBNZW51KTogdm9pZCA9PiB7XG4gICAgICB0aGlzLnJ1bkZpbGVNZW51SGFuZGxlcnMobWVudSwgY29udGV4dC5mb2xkZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgdGhlIHNpbmdsZS1maWxlIGhhbmRsZXJzIGFnYWluc3QgYSBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gbWVudSAtIFRoZSBtZW51IHRvIHBvcHVsYXRlLlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyIHRoZSBtZW51IHdhcyByYWlzZWQgb24uXG4gICAqL1xuICBwcml2YXRlIHJ1bkZpbGVNZW51SGFuZGxlcnMobWVudTogTWVudSwgYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIHRoaXMuZmlsZU1lbnVFdmVudEhhbmRsZXJzKSB7XG4gICAgICBoYW5kbGVyKG1lbnUsIGFic3RyYWN0RmlsZSwgTk9URUJPT0tfTkFWSUdBVE9SX01FTlVfU09VUkNFKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyB0aGUgbXVsdGktZmlsZSBoYW5kbGVycyBhZ2FpbnN0IGEgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIG1lbnUgLSBUaGUgbWVudSB0byBwb3B1bGF0ZS5cbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgZmlsZXMgdGhlIG1lbnUgd2FzIHJhaXNlZCBvbi5cbiAgICovXG4gIHByaXZhdGUgcnVuRmlsZXNNZW51SGFuZGxlcnMobWVudTogTWVudSwgYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIHRoaXMuZmlsZXNNZW51RXZlbnRIYW5kbGVycykge1xuICAgICAgaGFuZGxlcihtZW51LCBhYnN0cmFjdEZpbGVzLCBOT1RFQk9PS19OQVZJR0FUT1JfTUVOVV9TT1VSQ0UpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsU0FBUywwQkFBMEI7QUFDbkMsU0FB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
227
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEJyaWRnZXMgdGhlIGZpbGUgYW5kIGZpbGVzIGNvbnRleHQtbWVudSBldmVudHMgaW50byBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIG93biBtZW51cy5cbiAqXG4gKiBgTm90ZWJvb2sgTmF2aWdhdG9yYCBkcmF3cyBpdHMgb3duIGZpbGUgdHJlZSBhbmQgbmV2ZXIgcmFpc2VzIE9ic2lkaWFuJ3MgYGZpbGUtbWVudWAgLyBgZmlsZXMtbWVudWBcbiAqIHdvcmtzcGFjZSBldmVudHMsIHNvIGEgcGx1Z2luJ3MgY29udGV4dC1tZW51IGl0ZW1zIHZhbmlzaCBmb3IgYW55b25lIGJyb3dzaW5nIHRocm91Z2ggaXQuIFRoaXNcbiAqIGNvbXBvbmVudCBpcyBhIHtAbGluayBNZW51RXZlbnRSZWdpc3RyYXJ9IGJhY2tlZCBieSBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIGV4dGVuc2lvbiBBUEkgaW5zdGVhZCBvZlxuICogdGhlIHdvcmtzcGFjZSwgc28gdGhlIHZlcnkgc2FtZSBoYW5kbGVycyByZWFjaCBib3RoIHN1cmZhY2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGlzcG9zYWJsZUV4IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIEljb25OYW1lLFxuICBNZW51LFxuICBUQWJzdHJhY3RGaWxlLFxuICBURmlsZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IENhbGxiYWNrRGlzcG9zYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kaXNwb3NhYmxlJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZnVuY3Rpb24nO1xuaW1wb3J0IHsgTWVudSBhcyBNZW51SW1wbCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBFZGl0b3JNZW51RXZlbnRIYW5kbGVyLFxuICBGaWxlTWVudUV2ZW50SGFuZGxlcixcbiAgRmlsZXNNZW51RXZlbnRIYW5kbGVyLFxuICBNYXJrZG93blZpZXdwb3J0TWVudUV2ZW50SGFuZGxlcixcbiAgTWVudUV2ZW50UmVnaXN0cmFyXG59IGZyb20gJy4uL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudUNvbnRleHQsXG4gIE5vdGVib29rTmF2aWdhdG9yRm9sZGVyTWVudUNvbnRleHQsXG4gIE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHRcbn0gZnJvbSAnLi4vbm90ZWJvb2stbmF2aWdhdG9yLnRzJztcblxuaW1wb3J0IHtcbiAgTk9URUJPT0tfTkFWSUdBVE9SX01FTlVfU09VUkNFLFxuICByZXNvbHZlTm90ZWJvb2tOYXZpZ2F0b3JBcGlcbn0gZnJvbSAnLi4vbm90ZWJvb2stbmF2aWdhdG9yLnRzJztcbmltcG9ydCB7IExheW91dFJlYWR5Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtcmVhZHktY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgTm90ZWJvb2tOYXZpZ2F0b3JNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50Q29uc3RydWN0b3JQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBkaXNwbGF5IG5hbWUsIHdoaWNoIHRpdGxlcyB0aGUgcGFyZW50IGVudHJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBmb3IgdGhlIHBhcmVudCBlbnRyeS5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYCAobm8gaWNvbilcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym1lbnVJY29uPzogSWNvbk5hbWUgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICoge0BsaW5rIE1lbnVFdmVudFJlZ2lzdHJhcn0gYmFja2VkIGJ5IGBOb3RlYm9vayBOYXZpZ2F0b3JgJ3MgbWVudS1leHRlbnNpb24gQVBJLlxuICpcbiAqIEhhbmRsZXJzIHJlZ2lzdGVyZWQgaGVyZSBhcmUgY29sbGVjdGVkIGVhZ2VybHkgYW5kIGJvdW5kIHRvIGBOb3RlYm9vayBOYXZpZ2F0b3JgIG9uY2UgdGhlIHdvcmtzcGFjZVxuICogbGF5b3V0IGlzIHJlYWR5LiBXaGVuIGBOb3RlYm9vayBOYXZpZ2F0b3JgIGlzIG5vdCBpbnN0YWxsZWQgdGhlIGNvbXBvbmVudCBzaW1wbHkgc3RheXMgZG9ybWFudC5cbiAqXG4gKiBFdmVyeSBjb2xsZWN0ZWQgaGFuZGxlciB3cml0ZXMgaW50byBhIHBsdWdpbi10aXRsZWQgcGFyZW50IGVudHJ5J3Mgc3VibWVudSwgc28gYSBoYW5kbGVyIG11c3QgTk9UXG4gKiBkZWNsYXJlIGEgc2VjdGlvbiBzdWJtZW51IG9mIGl0cyBvd24gXHUyMDE0IGBNZW51LnNvcnQoKWAgd291bGQgZm9sZCB0aGF0IGludG8gYSBzZWNvbmQsIG5lc3RlZFxuICogcGx1Z2luLXRpdGxlZCBlbnRyeS4gYENvbW1hbmRIYW5kbGVyQ29tcG9uZW50YCB0YWtlcyBjYXJlIG9mIHRoaXMgYnkgZm9yY2luZ1xuICogYENvbW1hbmRIYW5kbGVyUmVnaXN0cmF0aW9uQ29udGV4dC5zaG91bGRBZGRDb21tYW5kVG9TdWJtZW51YCBvZmYgZm9yIHRoZSBzdXJmYWNlcyBpdCBmZWVkcyBoZXJlLlxuICovXG5leHBvcnQgY2xhc3MgTm90ZWJvb2tOYXZpZ2F0b3JNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnQgZXh0ZW5kcyBMYXlvdXRSZWFkeUNvbXBvbmVudCBpbXBsZW1lbnRzIE1lbnVFdmVudFJlZ2lzdHJhciB7XG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luJ3MgZGlzcGxheSBuYW1lLCB3aGljaCB0aXRsZXMgdGhlIHBhcmVudCBlbnRyeS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIGZvciB0aGUgcGFyZW50IGVudHJ5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1Ym1lbnVJY29uOiBJY29uTmFtZTtcblxuICBwcml2YXRlIGZpbGVNZW51RXZlbnRIYW5kbGVyczogRmlsZU1lbnVFdmVudEhhbmRsZXJbXSA9IFtdO1xuICBwcml2YXRlIGZpbGVzTWVudUV2ZW50SGFuZGxlcnM6IEZpbGVzTWVudUV2ZW50SGFuZGxlcltdID0gW107XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYE5vdGVib29rIE5hdmlnYXRvcmAgbWVudSBldmVudCByZWdpc3RyYXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IE5vdGVib29rTmF2aWdhdG9yTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50Q29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMuYXBwKTtcbiAgICB0aGlzLnBsdWdpbk5hbWUgPSBwYXJhbXMucGx1Z2luTmFtZTtcbiAgICB0aGlzLnN1Ym1lbnVJY29uID0gcGFyYW1zLnN1Ym1lbnVJY29uID8/ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdHMgYW4gZWRpdG9yLW1lbnUgcmVnaXN0cmF0aW9uIGFuZCBkb2VzIG5vdGhpbmcgd2l0aCBpdC5cbiAgICpcbiAgICogYE5vdGVib29rIE5hdmlnYXRvcmAgZXh0ZW5kcyB0aGUgZmlsZSB0cmVlLCBub3QgdGhlIGVkaXRvciBcdTIwMTQgYW4gZWRpdG9yIG1lbnUgdGhlcmUgaXMgT2JzaWRpYW4nc1xuICAgKiBvd24sIHdoaWNoIHRoZSBoYW5kbGVycyBhbHJlYWR5IHJlYWNoIHRocm91Z2ggdGhlIHdvcmtzcGFjZSBldmVudC4gVGhlIHJlZ2lzdHJhdGlvbiBpcyBpbmVydFxuICAgKiByYXRoZXIgdGhhbiByZWZ1c2VkIHNvIGEgaGFuZGxlciB0aGF0IGRlY2xhcmVzIG9uZSBpcyBub3QgYSBsb2FkLXRpbWUgZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSBfaGFuZGxlciAtIFRoZSBoYW5kbGVyLCBkZWxpYmVyYXRlbHkgdW51c2VkLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlRXh9IHRoYXQgaGFzIG5vdGhpbmcgdG8gdW5kby5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckVkaXRvck1lbnVFdmVudEhhbmRsZXIoX2hhbmRsZXI6IEVkaXRvck1lbnVFdmVudEhhbmRsZXIpOiBEaXNwb3NhYmxlRXgge1xuICAgIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHsgY2FsbGJhY2s6IG5vb3AgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29sbGVjdHMgYSBzaW5nbGUtZmlsZSBtZW51IGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBoYW5kbGVyIC0gVGhlIGhhbmRsZXIgdG8gY29sbGVjdC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZUV4fSB0aGF0IGRyb3BzIHRoZSBoYW5kbGVyIGFnYWluIChvciBvbiBjb21wb25lbnQgdW5sb2FkKS5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckZpbGVNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXI6IEZpbGVNZW51RXZlbnRIYW5kbGVyKTogRGlzcG9zYWJsZUV4IHtcbiAgICB0aGlzLmZpbGVNZW51RXZlbnRIYW5kbGVycy5wdXNoKGhhbmRsZXIpO1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShcbiAgICAgIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoe1xuICAgICAgICBjYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsZU1lbnVFdmVudEhhbmRsZXJzID0gdGhpcy5maWxlTWVudUV2ZW50SGFuZGxlcnMuZmlsdGVyKChjb2xsZWN0ZWQpID0+IGNvbGxlY3RlZCAhPT0gaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0cyBhIG11bHRpLWZpbGUgbWVudSBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciAtIFRoZSBoYW5kbGVyIHRvIGNvbGxlY3QuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGVFeH0gdGhhdCBkcm9wcyB0aGUgaGFuZGxlciBhZ2FpbiAob3Igb24gY29tcG9uZW50IHVubG9hZCkuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJGaWxlc01lbnVFdmVudEhhbmRsZXIoaGFuZGxlcjogRmlsZXNNZW51RXZlbnRIYW5kbGVyKTogRGlzcG9zYWJsZUV4IHtcbiAgICB0aGlzLmZpbGVzTWVudUV2ZW50SGFuZGxlcnMucHVzaChoYW5kbGVyKTtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUoXG4gICAgICBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHtcbiAgICAgICAgY2FsbGJhY2s6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLmZpbGVzTWVudUV2ZW50SGFuZGxlcnMgPSB0aGlzLmZpbGVzTWVudUV2ZW50SGFuZGxlcnMuZmlsdGVyKChjb2xsZWN0ZWQpID0+IGNvbGxlY3RlZCAhPT0gaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2NlcHRzIGEgbWFya2Rvd24tdmlld3BvcnQtbWVudSByZWdpc3RyYXRpb24gYW5kIGRvZXMgbm90aGluZyB3aXRoIGl0LlxuICAgKlxuICAgKiBgTm90ZWJvb2sgTmF2aWdhdG9yYCBleHRlbmRzIHRoZSBmaWxlIHRyZWUsIG5vdCB0aGUgZWRpdG9yIFx1MjAxNCB0aGUgbWFyZ2luIGJlc2lkZSBhIG5vdGUncyB0ZXh0IGlzXG4gICAqIE9ic2lkaWFuJ3Mgb3duIHZpZXdwb3J0LCB3aGljaCB0aGUgaGFuZGxlcnMgYWxyZWFkeSByZWFjaCB0aHJvdWdoIHRoZSB3b3Jrc3BhY2UgZXZlbnQuIFRoZVxuICAgKiByZWdpc3RyYXRpb24gaXMgaW5lcnQgcmF0aGVyIHRoYW4gcmVmdXNlZCBzbyBhIGhhbmRsZXIgdGhhdCBkZWNsYXJlcyBvbmUgaXMgbm90IGEgbG9hZC10aW1lIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gX2hhbmRsZXIgLSBUaGUgaGFuZGxlciwgZGVsaWJlcmF0ZWx5IHVudXNlZC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZUV4fSB0aGF0IGhhcyBub3RoaW5nIHRvIHVuZG8uXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJNYXJrZG93blZpZXdwb3J0TWVudUV2ZW50SGFuZGxlcihfaGFuZGxlcjogTWFya2Rvd25WaWV3cG9ydE1lbnVFdmVudEhhbmRsZXIpOiBEaXNwb3NhYmxlRXgge1xuICAgIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHsgY2FsbGJhY2s6IG5vb3AgfSk7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdG8gYE5vdGVib29rIE5hdmlnYXRvcmAgb25jZSBldmVyeSBwbHVnaW4gaGFzIGxvYWRlZC5cbiAgICpcbiAgICogTGF5b3V0LXJlYWR5IHJhdGhlciB0aGFuIGBvbmxvYWRgOiBwbHVnaW4gbG9hZCBvcmRlciBpcyBub3Qgb3VycyB0byBjaG9vc2UsIGFuZCBOb3RlYm9va1xuICAgKiBOYXZpZ2F0b3IncyBBUEkgb25seSBleGlzdHMgb25jZSBpdHMgb3duIHBsdWdpbiBpcyB1cC4gV2hlbiBpdCBpcyBub3QgaW5zdGFsbGVkIHRoZSBjb21wb25lbnRcbiAgICogc3RheXMgZG9ybWFudCBcdTIwMTQgZW5hYmxpbmcgaXQgbGF0ZXIgdGFrZXMgYW4gT2JzaWRpYW4gcmVsb2FkLCBleGFjdGx5IGFzIGl0IGRvZXMgZm9yIGFueXRoaW5nIGVsc2VcbiAgICogdGhhdCByZWFkcyBhbm90aGVyIHBsdWdpbiBhdCBzdGFydHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uTGF5b3V0UmVhZHkoKTogdm9pZCB7XG4gICAgY29uc3QgYXBpID0gcmVzb2x2ZU5vdGVib29rTmF2aWdhdG9yQXBpKHRoaXMuYXBwKTtcbiAgICBpZiAoYXBpID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZWdpc3RlcihhcGkubWVudXMucmVnaXN0ZXJGaWxlTWVudSgoY29udGV4dCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVGaWxlTWVudShjb250ZXh0KTtcbiAgICB9KSk7XG4gICAgdGhpcy5yZWdpc3RlcihhcGkubWVudXMucmVnaXN0ZXJGb2xkZXJNZW51KChjb250ZXh0KSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUZvbGRlck1lbnUoY29udGV4dCk7XG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIHBsdWdpbidzIGVudHJ5LCB1bmxlc3MgdGhlIGhhbmRsZXJzIGhhZCBub3RoaW5nIHRvIGNvbnRyaWJ1dGUuXG4gICAqXG4gICAqIFRoZSBtZW51IGlzIHBvcHVsYXRlZCBUV0lDRSwgYW5kIGJvdGggcnVucyBhcmUgbmVlZGVkOiBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIGBhZGRJdGVtYCBjYW5ub3QgYmVcbiAgICogdGFrZW4gYmFjayBvbmNlIGNhbGxlZCwgc28gdGhlIG9ubHkgd2F5IHRvIGtlZXAgYW4gdW5yZWxhdGVkIGZpbGUncyBtZW51IGNsZWFuIGlzIHRvIGFzayB0aGVcbiAgICogaGFuZGxlcnMgZmlyc3QsIGFnYWluc3QgYSBtZW51IG5vYm9keSBzZWVzLiBUaGUgZ2F0ZXMgdGhleSBhbnN3ZXIgd2l0aCBhcmUgbWV0YWRhdGEgcmVhZHMsIHNvIHRoZVxuICAgKiBzZWNvbmQgcnVuIGNvc3RzIG5vdGhpbmcgYW5kIGNhbm5vdCBkaXNhZ3JlZSB3aXRoIHRoZSBmaXJzdC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRleHQgLSBUaGUgYE5vdGVib29rIE5hdmlnYXRvcmAgbWVudSBiZWluZyBidWlsdC5cbiAgICogQHBhcmFtIHBvcHVsYXRlIC0gUnVucyB0aGUgY29sbGVjdGVkIGhhbmRsZXJzIGFnYWluc3QgYSBtZW51LlxuICAgKi9cbiAgcHJpdmF0ZSBjb250cmlidXRlKGNvbnRleHQ6IE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQsIHBvcHVsYXRlOiAobWVudTogTWVudSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2JlTWVudSA9IG5ldyBNZW51SW1wbCgpO1xuICAgIHBvcHVsYXRlKHByb2JlTWVudSk7XG5cbiAgICBpZiAocHJvYmVNZW51Lml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnRleHQuYWRkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbVxuICAgICAgICAuc2V0VGl0bGUodGhpcy5wbHVnaW5OYW1lKVxuICAgICAgICAuc2V0SWNvbih0aGlzLnN1Ym1lbnVJY29uKTtcbiAgICAgIHBvcHVsYXRlKGl0ZW0uc2V0U3VibWVudSgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGEgZmlsZSBtZW51LCBzaW5nbGUgb3IgbXVsdGktc2VsZWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBgTm90ZWJvb2sgTmF2aWdhdG9yYCBtZW51IGJlaW5nIGJ1aWx0LlxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVGaWxlTWVudShjb250ZXh0OiBOb3RlYm9va05hdmlnYXRvckZpbGVNZW51Q29udGV4dCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkRmlsZXM6IFRGaWxlW10gPSBbLi4uY29udGV4dC5zZWxlY3Rpb24uZmlsZXNdO1xuICAgIHRoaXMuY29udHJpYnV0ZShcbiAgICAgIGNvbnRleHQsXG4gICAgICBjb250ZXh0LnNlbGVjdGlvbi5tb2RlID09PSAnbXVsdGlwbGUnXG4gICAgICAgID8gKG1lbnU6IE1lbnUpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLnJ1bkZpbGVzTWVudUhhbmRsZXJzKG1lbnUsIHNlbGVjdGVkRmlsZXMpO1xuICAgICAgICB9XG4gICAgICAgIDogKG1lbnU6IE1lbnUpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLnJ1bkZpbGVNZW51SGFuZGxlcnMobWVudSwgY29udGV4dC5maWxlKTtcbiAgICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBhIGZvbGRlciBtZW51LlxuICAgKlxuICAgKiBBIGZvbGRlciBnb2VzIHRocm91Z2ggdGhlIFNJTkdMRS1maWxlIGhhbmRsZXJzLCBiZWNhdXNlIHRoYXQgaXMgaG93IE9ic2lkaWFuJ3Mgb3duIGBmaWxlLW1lbnVgXG4gICAqIGNhcnJpZXMgb25lIFx1MjAxNCB0aGUgZXZlbnQgaXMgdHlwZWQge0BsaW5rIFRBYnN0cmFjdEZpbGV9LCBhbmQgdGhlIGZvbGRlciBoYW5kbGVycyBhcmUgdGhlIG9uZXMgdGhhdFxuICAgKiBuYXJyb3cgaXQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250ZXh0IC0gVGhlIGBOb3RlYm9vayBOYXZpZ2F0b3JgIG1lbnUgYmVpbmcgYnVpbHQuXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUZvbGRlck1lbnUoY29udGV4dDogTm90ZWJvb2tOYXZpZ2F0b3JGb2xkZXJNZW51Q29udGV4dCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJpYnV0ZShjb250ZXh0LCAobWVudTogTWVudSk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5ydW5GaWxlTWVudUhhbmRsZXJzKG1lbnUsIGNvbnRleHQuZm9sZGVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHRoZSBzaW5nbGUtZmlsZSBoYW5kbGVycyBhZ2FpbnN0IGEgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIG1lbnUgLSBUaGUgbWVudSB0byBwb3B1bGF0ZS5cbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlciB0aGUgbWVudSB3YXMgcmFpc2VkIG9uLlxuICAgKi9cbiAgcHJpdmF0ZSBydW5GaWxlTWVudUhhbmRsZXJzKG1lbnU6IE1lbnUsIGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiB0aGlzLmZpbGVNZW51RXZlbnRIYW5kbGVycykge1xuICAgICAgaGFuZGxlcihtZW51LCBhYnN0cmFjdEZpbGUsIE5PVEVCT09LX05BVklHQVRPUl9NRU5VX1NPVVJDRSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgdGhlIG11bHRpLWZpbGUgaGFuZGxlcnMgYWdhaW5zdCBhIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBtZW51IC0gVGhlIG1lbnUgdG8gcG9wdWxhdGUuXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIHRoZSBtZW51IHdhcyByYWlzZWQgb24uXG4gICAqL1xuICBwcml2YXRlIHJ1bkZpbGVzTWVudUhhbmRsZXJzKG1lbnU6IE1lbnUsIGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiB0aGlzLmZpbGVzTWVudUV2ZW50SGFuZGxlcnMpIHtcbiAgICAgIGhhbmRsZXIobWVudSwgYWJzdHJhY3RGaWxlcywgTk9URUJPT0tfTkFWSUdBVE9SX01FTlVfU09VUkNFKTtcbiAgICB9XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -132,8 +132,11 @@ export interface PluginConflict {
132
132
  *
133
133
  * The declaring plugin owns this string because only it knows what the two of them collide over, and a
134
134
  * user being asked to disable something deserves to be told why.
135
+ *
136
+ * Pass a {@link DocumentFragment} to mark up part of the sentence, such as a plugin name rendered as
137
+ * code. Each render appends a fresh clone of it, since the banner is rendered again on every refresh.
135
138
  */
136
- readonly reason: string;
139
+ readonly reason: DocumentFragment | string;
137
140
  /**
138
141
  * What this plugin does about the conflict.
139
142
  */
@@ -164,8 +167,11 @@ export interface PluginDependency {
164
167
  *
165
168
  * The dependent owns this string because only it knows what it uses the other plugin for, and a user
166
169
  * being asked to install something deserves to be told why.
170
+ *
171
+ * Pass a {@link DocumentFragment} to mark up part of the sentence, such as a plugin name rendered as
172
+ * code. Each render appends a fresh clone of it, since the banner is rendered again on every refresh.
167
173
  */
168
- readonly reason: string;
174
+ readonly reason: DocumentFragment | string;
169
175
  }
170
176
  /**
171
177
  * Parameters for the {@link PluginGateComponent} constructor.