@mnaoumov/obsidian-lib 7.0.0 → 8.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 (361) hide show
  1. package/components/incremental-file-index-component/package.json +6 -0
  2. package/dist/lib/cjs/__merged.cjs +20 -6
  3. package/dist/lib/cjs/__merged.d.cts +2 -0
  4. package/dist/lib/cjs/active-file-provider.cjs +6 -6
  5. package/dist/lib/cjs/active-file-provider.d.cts +1 -1
  6. package/dist/lib/cjs/app.cjs +5 -5
  7. package/dist/lib/cjs/async-with-notice.cjs +5 -5
  8. package/dist/lib/cjs/attachment-path.cjs +6 -6
  9. package/dist/lib/cjs/attachment-unit-folder.cjs +5 -5
  10. package/dist/lib/cjs/backlink-index.cjs +13 -19
  11. package/dist/lib/cjs/backlink-index.d.cts +1 -1
  12. package/dist/lib/cjs/backlink.cjs +5 -5
  13. package/dist/lib/cjs/bases-view-registrar.cjs +6 -6
  14. package/dist/lib/cjs/bases-view-registrar.d.cts +1 -1
  15. package/dist/lib/cjs/callout.cjs +5 -5
  16. package/dist/lib/cjs/canvas.cjs +5 -5
  17. package/dist/lib/cjs/case-insensitive-file-index.cjs +5 -5
  18. package/dist/lib/cjs/code-block-markdown-information.cjs +6 -6
  19. package/dist/lib/cjs/code-block-markdown-information.d.cts +9 -9
  20. package/dist/lib/cjs/code-block-reg-exp.cjs +5 -5
  21. package/dist/lib/cjs/codemirror/index.cjs +5 -5
  22. package/dist/lib/cjs/codemirror/state-field-spec.cjs +6 -6
  23. package/dist/lib/cjs/codemirror/state-field-spec.d.cts +6 -6
  24. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +5 -5
  25. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +5 -5
  26. package/dist/lib/cjs/command-handlers/command-handler.cjs +5 -5
  27. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +5 -5
  28. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +5 -5
  29. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +5 -5
  30. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +5 -5
  31. package/dist/lib/cjs/command-handlers/index.cjs +5 -5
  32. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +5 -5
  33. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +5 -5
  34. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +5 -5
  35. package/dist/lib/cjs/command-registrar.cjs +6 -6
  36. package/dist/lib/cjs/command-registrar.d.cts +2 -2
  37. package/dist/lib/cjs/community-plugins.cjs +6 -6
  38. package/dist/lib/cjs/components/abort-signal-component.cjs +5 -5
  39. package/dist/lib/cjs/components/all-windows-event-component.cjs +5 -5
  40. package/dist/lib/cjs/components/async-error-handler-component.cjs +5 -5
  41. package/dist/lib/cjs/components/async-events-component.cjs +5 -5
  42. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +5 -5
  43. package/dist/lib/cjs/components/component-ex.cjs +5 -5
  44. package/dist/lib/cjs/components/console-debug-component.cjs +5 -5
  45. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +5 -5
  46. package/dist/lib/cjs/components/disposable-component.cjs +5 -5
  47. package/dist/lib/cjs/components/embed-extensions-component.cjs +5 -5
  48. package/dist/lib/cjs/components/file-explorer-root-menu-component.cjs +13 -16
  49. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +5 -5
  50. package/dist/lib/cjs/components/incremental-file-index-component.cjs +340 -0
  51. package/dist/lib/cjs/components/incremental-file-index-component.d.cts +152 -0
  52. package/dist/lib/cjs/components/index.cjs +9 -6
  53. package/dist/lib/cjs/components/index.d.cts +1 -0
  54. package/dist/lib/cjs/components/layout-ready-component.cjs +5 -5
  55. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +5 -5
  56. package/dist/lib/cjs/components/monkey-around-component.cjs +5 -5
  57. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +5 -5
  58. package/dist/lib/cjs/components/plugin-context-component.cjs +5 -5
  59. package/dist/lib/cjs/components/plugin-gate-component.cjs +5 -5
  60. package/dist/lib/cjs/components/plugin-notice-component.cjs +6 -6
  61. package/dist/lib/cjs/components/plugin-notice-component.d.cts +3 -3
  62. package/dist/lib/cjs/components/plugin-settings-component.cjs +6 -6
  63. package/dist/lib/cjs/components/plugin-settings-component.d.cts +5 -5
  64. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +5 -5
  65. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +5 -5
  66. package/dist/lib/cjs/components/pointer-position-component.cjs +5 -5
  67. package/dist/lib/cjs/components/registry-component.cjs +5 -5
  68. package/dist/lib/cjs/components/release-notes-component.cjs +5 -5
  69. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +6 -6
  70. package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +10 -10
  71. package/dist/lib/cjs/components/rmdir-guard-component.cjs +5 -5
  72. package/dist/lib/cjs/components/settings-migration-component.cjs +5 -5
  73. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +5 -5
  74. package/dist/lib/cjs/components/templates-language-component.cjs +5 -5
  75. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +5 -5
  76. package/dist/lib/cjs/constructors/index.cjs +5 -5
  77. package/dist/lib/cjs/css-class.cjs +5 -5
  78. package/dist/lib/cjs/data-handler.cjs +6 -6
  79. package/dist/lib/cjs/data-handler.d.cts +2 -2
  80. package/dist/lib/cjs/data-stores/data-store-replica.cjs +5 -5
  81. package/dist/lib/cjs/data-stores/data-store-seeds.cjs +6 -6
  82. package/dist/lib/cjs/data-stores/data-store-transport.cjs +5 -5
  83. package/dist/lib/cjs/data-stores/index.cjs +5 -5
  84. package/dist/lib/cjs/data-stores/local-data-store.cjs +5 -5
  85. package/dist/lib/cjs/data-stores/shared-data-store.cjs +6 -6
  86. package/dist/lib/cjs/dataview-link.cjs +5 -5
  87. package/dist/lib/cjs/dataview.cjs +12 -12
  88. package/dist/lib/cjs/dataview.d.cts +6 -6
  89. package/dist/lib/cjs/debug.cjs +5 -5
  90. package/dist/lib/cjs/demo-vault-helper-settings.cjs +5 -5
  91. package/dist/lib/cjs/demo-vault-helper.cjs +5 -5
  92. package/dist/lib/cjs/demo-vault-naming.cjs +5 -5
  93. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +5 -5
  94. package/dist/lib/cjs/desktop-trusted-input.cjs +6 -6
  95. package/dist/lib/cjs/desktop-trusted-input.d.cts +1 -1
  96. package/dist/lib/cjs/editor-extension-registrar.cjs +6 -6
  97. package/dist/lib/cjs/editor-extension-registrar.d.cts +1 -1
  98. package/dist/lib/cjs/editor-suggest-registrar.cjs +6 -6
  99. package/dist/lib/cjs/editor-suggest-registrar.d.cts +1 -1
  100. package/dist/lib/cjs/editor.cjs +5 -5
  101. package/dist/lib/cjs/events.cjs +5 -5
  102. package/dist/lib/cjs/extensions-registrar.cjs +6 -6
  103. package/dist/lib/cjs/extensions-registrar.d.cts +1 -1
  104. package/dist/lib/cjs/file-change.cjs +6 -6
  105. package/dist/lib/cjs/file-change.d.cts +3 -3
  106. package/dist/lib/cjs/file-explorer.cjs +5 -5
  107. package/dist/lib/cjs/file-manager.cjs +5 -5
  108. package/dist/lib/cjs/file-system.cjs +5 -5
  109. package/dist/lib/cjs/folder-note.cjs +6 -6
  110. package/dist/lib/cjs/folder-note.d.cts +1 -1
  111. package/dist/lib/cjs/frontmatter-formatting.cjs +5 -5
  112. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +6 -6
  113. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +2 -2
  114. package/dist/lib/cjs/frontmatter.cjs +6 -6
  115. package/dist/lib/cjs/frontmatter.d.cts +7 -7
  116. package/dist/lib/cjs/generated-during-build.cjs +7 -7
  117. package/dist/lib/cjs/hover-link-source-registrar.cjs +6 -6
  118. package/dist/lib/cjs/hover-link-source-registrar.d.cts +1 -1
  119. package/dist/lib/cjs/html-element.cjs +5 -5
  120. package/dist/lib/cjs/i18n/custom-type-options.cjs +6 -6
  121. package/dist/lib/cjs/i18n/custom-type-options.d.cts +4 -4
  122. package/dist/lib/cjs/i18n/default-translations.cjs +5 -5
  123. package/dist/lib/cjs/i18n/i18n.cjs +5 -5
  124. package/dist/lib/cjs/i18n/index.cjs +5 -5
  125. package/dist/lib/cjs/i18n/locales/en.cjs +5 -5
  126. package/dist/lib/cjs/i18n/locales/index.cjs +5 -5
  127. package/dist/lib/cjs/i18n/locales/translations-map.cjs +5 -5
  128. package/dist/lib/cjs/index.cjs +9 -6
  129. package/dist/lib/cjs/index.d.cts +1 -0
  130. package/dist/lib/cjs/is-in-obsidian.cjs +5 -5
  131. package/dist/lib/cjs/library-styles.cjs +5 -5
  132. package/dist/lib/cjs/library.cjs +5 -5
  133. package/dist/lib/cjs/link-name.cjs +5 -5
  134. package/dist/lib/cjs/link-update-progress.cjs +5 -5
  135. package/dist/lib/cjs/link.cjs +7 -7
  136. package/dist/lib/cjs/link.d.cts +2 -2
  137. package/dist/lib/cjs/logger.cjs +5 -5
  138. package/dist/lib/cjs/loop.cjs +5 -5
  139. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +6 -6
  140. package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +1 -1
  141. package/dist/lib/cjs/markdown-code-block-processor.cjs +5 -5
  142. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +6 -6
  143. package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +1 -1
  144. package/dist/lib/cjs/markdown-view.cjs +5 -5
  145. package/dist/lib/cjs/markdown.cjs +5 -5
  146. package/dist/lib/cjs/menu-event-registrar.cjs +6 -6
  147. package/dist/lib/cjs/menu-event-registrar.d.cts +4 -4
  148. package/dist/lib/cjs/metadata-cache.cjs +6 -6
  149. package/dist/lib/cjs/mobile-trusted-input.cjs +6 -6
  150. package/dist/lib/cjs/modals/alert.cjs +5 -5
  151. package/dist/lib/cjs/modals/confirm.cjs +5 -5
  152. package/dist/lib/cjs/modals/index.cjs +5 -5
  153. package/dist/lib/cjs/modals/minimizable-modal.cjs +6 -6
  154. package/dist/lib/cjs/modals/modal-command-builder.cjs +6 -6
  155. package/dist/lib/cjs/modals/modal-command-builder.d.cts +12 -12
  156. package/dist/lib/cjs/modals/modal.cjs +5 -5
  157. package/dist/lib/cjs/modals/prompt.cjs +14 -14
  158. package/dist/lib/cjs/modals/select-item.cjs +5 -5
  159. package/dist/lib/cjs/modals/select-option.cjs +5 -5
  160. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +5 -5
  161. package/dist/lib/cjs/note-priority.cjs +5 -5
  162. package/dist/lib/cjs/notebook-navigator.cjs +6 -6
  163. package/dist/lib/cjs/notebook-navigator.d.cts +3 -3
  164. package/dist/lib/cjs/obsidian-lib-state.cjs +6 -6
  165. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +6 -6
  166. package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +1 -1
  167. package/dist/lib/cjs/obsidian-settings.cjs +5 -5
  168. package/dist/lib/cjs/obsidian-word-characters.cjs +231 -0
  169. package/dist/lib/cjs/obsidian-word-characters.d.cts +59 -0
  170. package/dist/lib/cjs/parse-link.cjs +6 -6
  171. package/dist/lib/cjs/parse-link.d.cts +2 -2
  172. package/dist/lib/cjs/path-settings.cjs +6 -6
  173. package/dist/lib/cjs/pdf.cjs +5 -5
  174. package/dist/lib/cjs/plugin/index.cjs +5 -5
  175. package/dist/lib/cjs/plugin/plugin-api.cjs +6 -6
  176. package/dist/lib/cjs/plugin/plugin-api.d.cts +2 -2
  177. package/dist/lib/cjs/plugin/plugin-context.cjs +6 -6
  178. package/dist/lib/cjs/plugin/plugin-event-source.cjs +6 -6
  179. package/dist/lib/cjs/plugin/plugin-event-source.d.cts +1 -1
  180. package/dist/lib/cjs/plugin/plugin-install-state.cjs +5 -5
  181. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +5 -5
  182. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +6 -6
  183. package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +3 -3
  184. package/dist/lib/cjs/plugin/plugin.cjs +6 -6
  185. package/dist/lib/cjs/plugin/settings-migration-api.cjs +6 -6
  186. package/dist/lib/cjs/plugin/settings-migration-api.d.cts +1 -1
  187. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +6 -6
  188. package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +1 -1
  189. package/dist/lib/cjs/popovers/field-popover.cjs +5 -5
  190. package/dist/lib/cjs/popovers/index.cjs +5 -5
  191. package/dist/lib/cjs/popovers/popover-anchor.cjs +5 -5
  192. package/dist/lib/cjs/popovers/popover.cjs +5 -5
  193. package/dist/lib/cjs/property-entry.cjs +5 -5
  194. package/dist/lib/cjs/queue.cjs +6 -6
  195. package/dist/lib/cjs/react/app-context.cjs +5 -5
  196. package/dist/lib/cjs/react/index.cjs +5 -5
  197. package/dist/lib/cjs/reference.cjs +6 -6
  198. package/dist/lib/cjs/reference.d.cts +6 -6
  199. package/dist/lib/cjs/resource-lock.cjs +6 -6
  200. package/dist/lib/cjs/resource-url.cjs +5 -5
  201. package/dist/lib/cjs/ribbon-icon-registrar.cjs +6 -6
  202. package/dist/lib/cjs/ribbon-icon-registrar.d.cts +1 -1
  203. package/dist/lib/cjs/setting-components/checkbox-component.cjs +5 -5
  204. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +5 -5
  205. package/dist/lib/cjs/setting-components/date-component.cjs +5 -5
  206. package/dist/lib/cjs/setting-components/date-time-component.cjs +5 -5
  207. package/dist/lib/cjs/setting-components/email-component.cjs +5 -5
  208. package/dist/lib/cjs/setting-components/file-component.cjs +5 -5
  209. package/dist/lib/cjs/setting-components/index.cjs +5 -5
  210. package/dist/lib/cjs/setting-components/month-component.cjs +6 -6
  211. package/dist/lib/cjs/setting-components/month-component.d.cts +2 -2
  212. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +5 -5
  213. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +5 -5
  214. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +5 -5
  215. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +5 -5
  216. package/dist/lib/cjs/setting-components/number-component.cjs +5 -5
  217. package/dist/lib/cjs/setting-components/password-component.cjs +5 -5
  218. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +5 -5
  219. package/dist/lib/cjs/setting-components/telephone-component.cjs +5 -5
  220. package/dist/lib/cjs/setting-components/text-based-component.cjs +6 -6
  221. package/dist/lib/cjs/setting-components/text-based-component.d.cts +3 -3
  222. package/dist/lib/cjs/setting-components/time-component.cjs +5 -5
  223. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +5 -5
  224. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +5 -5
  225. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +5 -5
  226. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +5 -5
  227. package/dist/lib/cjs/setting-components/typed-text-component.cjs +5 -5
  228. package/dist/lib/cjs/setting-components/url-component.cjs +5 -5
  229. package/dist/lib/cjs/setting-components/validator-component.cjs +5 -5
  230. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +6 -6
  231. package/dist/lib/cjs/setting-components/week-component.cjs +6 -6
  232. package/dist/lib/cjs/setting-components/week-component.d.cts +2 -2
  233. package/dist/lib/cjs/setting-ex.cjs +5 -5
  234. package/dist/lib/cjs/setting-group-ex.cjs +5 -5
  235. package/dist/lib/cjs/status-bar-item-registrar.cjs +6 -6
  236. package/dist/lib/cjs/status-bar-item-registrar.d.cts +1 -1
  237. package/dist/lib/cjs/templater.cjs +6 -6
  238. package/dist/lib/cjs/templater.d.cts +9 -9
  239. package/dist/lib/cjs/transformers/duration-transformer.cjs +5 -5
  240. package/dist/lib/cjs/transformers/index.cjs +5 -5
  241. package/dist/lib/cjs/trusted-input.cjs +5 -5
  242. package/dist/lib/cjs/validation.cjs +6 -6
  243. package/dist/lib/cjs/validation.d.cts +1 -1
  244. package/dist/lib/cjs/vault-delete.cjs +5 -5
  245. package/dist/lib/cjs/vault-transaction.cjs +6 -6
  246. package/dist/lib/cjs/vault.cjs +5 -5
  247. package/dist/lib/cjs/view-registrar.cjs +6 -6
  248. package/dist/lib/cjs/view-registrar.d.cts +1 -1
  249. package/dist/lib/cjs/workspace.cjs +5 -5
  250. package/dist/lib/esm/__merged.d.mts +2 -0
  251. package/dist/lib/esm/__merged.mjs +15 -1
  252. package/dist/lib/esm/active-file-provider.d.mts +1 -1
  253. package/dist/lib/esm/active-file-provider.mjs +1 -1
  254. package/dist/lib/esm/attachment-path.mjs +1 -1
  255. package/dist/lib/esm/backlink-index.d.mts +1 -1
  256. package/dist/lib/esm/backlink-index.mjs +8 -14
  257. package/dist/lib/esm/bases-view-registrar.d.mts +1 -1
  258. package/dist/lib/esm/bases-view-registrar.mjs +1 -1
  259. package/dist/lib/esm/code-block-markdown-information.d.mts +9 -9
  260. package/dist/lib/esm/codemirror/state-field-spec.d.mts +6 -6
  261. package/dist/lib/esm/command-registrar.d.mts +2 -2
  262. package/dist/lib/esm/command-registrar.mjs +1 -1
  263. package/dist/lib/esm/community-plugins.mjs +1 -1
  264. package/dist/lib/esm/components/file-explorer-root-menu-component.mjs +8 -11
  265. package/dist/lib/esm/components/incremental-file-index-component.d.mts +152 -0
  266. package/dist/lib/esm/components/incremental-file-index-component.mjs +260 -0
  267. package/dist/lib/esm/components/index.d.mts +1 -0
  268. package/dist/lib/esm/components/index.mjs +3 -1
  269. package/dist/lib/esm/components/plugin-notice-component.d.mts +3 -3
  270. package/dist/lib/esm/components/plugin-notice-component.mjs +1 -1
  271. package/dist/lib/esm/components/plugin-settings-component.d.mts +5 -5
  272. package/dist/lib/esm/components/plugin-settings-component.mjs +1 -1
  273. package/dist/lib/esm/components/rename-delete-handler-component.d.mts +10 -10
  274. package/dist/lib/esm/components/rename-delete-handler-component.mjs +1 -1
  275. package/dist/lib/esm/data-handler.d.mts +2 -2
  276. package/dist/lib/esm/data-handler.mjs +1 -1
  277. package/dist/lib/esm/data-stores/data-store-seeds.mjs +1 -1
  278. package/dist/lib/esm/data-stores/shared-data-store.mjs +1 -1
  279. package/dist/lib/esm/dataview.d.mts +6 -6
  280. package/dist/lib/esm/dataview.mjs +7 -7
  281. package/dist/lib/esm/desktop-trusted-input.d.mts +1 -1
  282. package/dist/lib/esm/desktop-trusted-input.mjs +1 -1
  283. package/dist/lib/esm/editor-extension-registrar.d.mts +1 -1
  284. package/dist/lib/esm/editor-extension-registrar.mjs +1 -1
  285. package/dist/lib/esm/editor-suggest-registrar.d.mts +1 -1
  286. package/dist/lib/esm/editor-suggest-registrar.mjs +1 -1
  287. package/dist/lib/esm/extensions-registrar.d.mts +1 -1
  288. package/dist/lib/esm/extensions-registrar.mjs +1 -1
  289. package/dist/lib/esm/file-change.d.mts +3 -3
  290. package/dist/lib/esm/file-change.mjs +1 -1
  291. package/dist/lib/esm/folder-note.d.mts +1 -1
  292. package/dist/lib/esm/folder-note.mjs +1 -1
  293. package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +2 -2
  294. package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +1 -1
  295. package/dist/lib/esm/frontmatter.d.mts +7 -7
  296. package/dist/lib/esm/frontmatter.mjs +1 -1
  297. package/dist/lib/esm/generated-during-build.mjs +2 -2
  298. package/dist/lib/esm/hover-link-source-registrar.d.mts +1 -1
  299. package/dist/lib/esm/hover-link-source-registrar.mjs +1 -1
  300. package/dist/lib/esm/i18n/custom-type-options.d.mts +4 -4
  301. package/dist/lib/esm/i18n/custom-type-options.mjs +1 -1
  302. package/dist/lib/esm/index.d.mts +1 -0
  303. package/dist/lib/esm/index.mjs +3 -1
  304. package/dist/lib/esm/link.d.mts +2 -2
  305. package/dist/lib/esm/link.mjs +2 -2
  306. package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +1 -1
  307. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +1 -1
  308. package/dist/lib/esm/markdown-post-processor-registrar.d.mts +1 -1
  309. package/dist/lib/esm/markdown-post-processor-registrar.mjs +1 -1
  310. package/dist/lib/esm/menu-event-registrar.d.mts +4 -4
  311. package/dist/lib/esm/metadata-cache.mjs +1 -1
  312. package/dist/lib/esm/mobile-trusted-input.mjs +1 -1
  313. package/dist/lib/esm/modals/minimizable-modal.mjs +1 -1
  314. package/dist/lib/esm/modals/modal-command-builder.d.mts +12 -12
  315. package/dist/lib/esm/modals/modal-command-builder.mjs +1 -1
  316. package/dist/lib/esm/modals/prompt.mjs +9 -9
  317. package/dist/lib/esm/notebook-navigator.d.mts +3 -3
  318. package/dist/lib/esm/notebook-navigator.mjs +1 -1
  319. package/dist/lib/esm/obsidian-lib-state.mjs +1 -1
  320. package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +1 -1
  321. package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +1 -1
  322. package/dist/lib/esm/obsidian-word-characters.d.mts +59 -0
  323. package/dist/lib/esm/obsidian-word-characters.mjs +139 -0
  324. package/dist/lib/esm/parse-link.d.mts +2 -2
  325. package/dist/lib/esm/parse-link.mjs +1 -1
  326. package/dist/lib/esm/path-settings.mjs +1 -1
  327. package/dist/lib/esm/plugin/plugin-api.d.mts +2 -2
  328. package/dist/lib/esm/plugin/plugin-api.mjs +1 -1
  329. package/dist/lib/esm/plugin/plugin-context.mjs +1 -1
  330. package/dist/lib/esm/plugin/plugin-event-source.d.mts +1 -1
  331. package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -1
  332. package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +3 -3
  333. package/dist/lib/esm/plugin/plugin-settings-tab.mjs +1 -1
  334. package/dist/lib/esm/plugin/plugin.mjs +1 -1
  335. package/dist/lib/esm/plugin/settings-migration-api.d.mts +1 -1
  336. package/dist/lib/esm/plugin/settings-migration-api.mjs +1 -1
  337. package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +1 -1
  338. package/dist/lib/esm/plugin-cli-handler-registrar.mjs +1 -1
  339. package/dist/lib/esm/queue.mjs +1 -1
  340. package/dist/lib/esm/reference.d.mts +6 -6
  341. package/dist/lib/esm/reference.mjs +1 -1
  342. package/dist/lib/esm/resource-lock.mjs +1 -1
  343. package/dist/lib/esm/ribbon-icon-registrar.d.mts +1 -1
  344. package/dist/lib/esm/ribbon-icon-registrar.mjs +1 -1
  345. package/dist/lib/esm/setting-components/month-component.d.mts +2 -2
  346. package/dist/lib/esm/setting-components/month-component.mjs +1 -1
  347. package/dist/lib/esm/setting-components/text-based-component.d.mts +3 -3
  348. package/dist/lib/esm/setting-components/text-based-component.mjs +1 -1
  349. package/dist/lib/esm/setting-components/week-component.d.mts +2 -2
  350. package/dist/lib/esm/setting-components/week-component.mjs +1 -1
  351. package/dist/lib/esm/status-bar-item-registrar.d.mts +1 -1
  352. package/dist/lib/esm/status-bar-item-registrar.mjs +1 -1
  353. package/dist/lib/esm/templater.d.mts +9 -9
  354. package/dist/lib/esm/templater.mjs +1 -1
  355. package/dist/lib/esm/validation.d.mts +1 -1
  356. package/dist/lib/esm/validation.mjs +1 -1
  357. package/dist/lib/esm/vault-transaction.mjs +1 -1
  358. package/dist/lib/esm/view-registrar.d.mts +1 -1
  359. package/dist/lib/esm/view-registrar.mjs +1 -1
  360. package/dist/styles.css +2 -2
  361. package/package.json +6 -3
@@ -25,4 +25,4 @@ export {
25
25
  NOTEBOOK_NAVIGATOR_PLUGIN_ID,
26
26
  resolveNotebookNavigatorApi
27
27
  };
28
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25vdGVib29rLW5hdmlnYXRvci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBzbGljZSBvZiBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIHB1YmxpYyBBUEkgdGhpcyBsaWJyYXJ5IHRhbGtzIHRvLCBhbmQgdGhlIHJ1bnRpbWUgbmFycm93aW5nIHRoYXRcbiAqIGdldHMgaG9sZCBvZiBpdC5cbiAqXG4gKiAqKmBOb3RlYm9vayBOYXZpZ2F0b3JgIGRyYXdzIGl0cyBvd24gZmlsZSB0cmVlLCBzbyBpdCBuZXZlciByYWlzZXMgT2JzaWRpYW4ncyBgZmlsZS1tZW51YCAvXG4gKiBgZmlsZXMtbWVudWAgd29ya3NwYWNlIGV2ZW50cyoqIFx1MjAxNCB3aGljaCBpcyB3aHkgYSBwbHVnaW4ncyBjb250ZXh0LW1lbnUgaXRlbXMgc2ltcGx5IGRpc2FwcGVhciBmb3JcbiAqIGFueW9uZSBicm93c2luZyB0aHJvdWdoIGl0LiBXaGF0IGl0IG9mZmVycyBpbnN0ZWFkIGlzIGEgZG9jdW1lbnRlZCBleHRlbnNpb24gQVBJXG4gKiAoYGRvY3MvYXBpLXJlZmVyZW5jZS5tZGAgKyBgc3JjL2FwaS9wdWJsaWMvbm90ZWJvb2stbmF2aWdhdG9yLmQudHNgIGluIGBqb2hhbnNhbi9ub3RlYm9vay1uYXZpZ2F0b3JgLFxuICogQVBJIDIuMC4wKSwgcmVhY2hhYmxlIGF0IHJ1bnRpbWUgYXMgYGFwcC5wbHVnaW5zLmdldFBsdWdpbignbm90ZWJvb2stbmF2aWdhdG9yJykuYXBpYC5cbiAqXG4gKiBUaGUgdHlwZXMgYmVsb3cgYXJlIERFQ0xBUkVEIEhFUkUgcmF0aGVyIHRoYW4gaW1wb3J0ZWQ6IGBOb3RlYm9vayBOYXZpZ2F0b3JgIHNoaXBzIGl0cyBgLmQudHNgIGZvclxuICogZG93bmxvYWQsIG5vdCBhcyBhbiBucG0gcGFja2FnZSwgYW5kIGRlcGVuZGluZyBvbiBpdCB3b3VsZCB0dXJuIGFuIG9wdGlvbmFsIGludGVncmF0aW9uIGludG8gYVxuICogYnVpbGQtdGltZSBkZXBlbmRlbmN5LiBUaGV5IGFyZSBkZWxpYmVyYXRlbHkgdGhlIG5hcnJvd2VzdCBzaGFwZSB0aGlzIGxpYnJhcnkgdXNlcyBcdTIwMTQgdGhlIEFQSSBhbHNvXG4gKiBjYXJyaWVzIGBtZXRhZGF0YWAsIGBuYXZpZ2F0aW9uYCwgYHNlbGVjdGlvbmAsIGB0YWdDb2xsZWN0aW9uc2AsIGBwcm9wZXJ0eU5vZGVzYCBhbmQgYW4gZXZlbnQgYnVzLFxuICogbm9uZSBvZiB3aGljaCBhcHBseSB0byBhIGZpbGUvZm9sZGVyIGNvbW1hbmQgc3VyZmFjZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgTWVudUl0ZW0sXG4gIFRGaWxlLFxuICBURm9sZGVyXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIHB1YmxpYyBBUEkgb2JqZWN0LCBuYXJyb3dlZCB0byB3aGF0IHRoaXMgbGlicmFyeSB1c2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yQXBpIHtcbiAgLyoqXG4gICAqIFRoZSBtZW51LWV4dGVuc2lvbiBuYW1lc3BhY2UuXG4gICAqL1xuICByZWFkb25seSBtZW51czogTm90ZWJvb2tOYXZpZ2F0b3JNZW51cztcbn1cblxuLyoqXG4gKiBXaGF0IGBtZW51cy5yZWdpc3RlckZpbGVNZW51YCBoYW5kcyBhIHN1YnNjcmliZXIgd2hlbiBhIEZJTEUgaXMgcmlnaHQtY2xpY2tlZC5cbiAqXG4gKiBUaGVyZSBpcyBubyBgTWVudWAgaGVyZSBcdTIwMTQgYW4gaXRlbSBpcyBjb250cmlidXRlZCB0aHJvdWdoIGBhZGRJdGVtYCBhbG9uZSwgd2hpY2ggaXMgd2h5IHRoZVxuICogZmlsZS9maWxlcyBtZW51IGhhbmRsZXJzIGNhbm5vdCBzaW1wbHkgYmUgZm9yd2FyZGVkIHRvIGl0IGFuZCBoYXZlIHRvIGJlIGJyaWRnZWQgKHNlZVxuICogYGNvbXBvbmVudHMvbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50c2ApLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yRmlsZU1lbnVDb250ZXh0IGV4dGVuZHMgTm90ZWJvb2tOYXZpZ2F0b3JNZW51Q29udGV4dCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGF0IHdhcyByaWdodC1jbGlja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZTogVEZpbGU7XG5cbiAgLyoqXG4gICAqIFdoYXQgdGhlIHRyZWUgaGFkIHNlbGVjdGVkIHdoZW4gdGhlIG1lbnUgd2FzIHJhaXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlbGVjdGlvbjogTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudVNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgc2VsZWN0aW9uIGEgZmlsZSBtZW51IHdhcyByYWlzZWQgb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudVNlbGVjdGlvbiB7XG4gIC8qKlxuICAgKiBFdmVyeSBzZWxlY3RlZCBmaWxlLCB3aGljaCBmb3IgYHNpbmdsZWAgaXMganVzdCB0aGUgcmlnaHQtY2xpY2tlZCBvbmUuXG4gICAqL1xuICByZWFkb25seSBmaWxlczogcmVhZG9ubHkgVEZpbGVbXTtcblxuICAvKipcbiAgICogV2hldGhlciBvbmUgZmlsZSBvciBzZXZlcmFsIGFyZSBzZWxlY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IE5vdGVib29rTmF2aWdhdG9yRmlsZU1lbnVTZWxlY3Rpb25Nb2RlO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgYSBmaWxlIG1lbnUgY292ZXJzIG9uZSBmaWxlIG9yIGEgbXVsdGktc2VsZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBOb3RlYm9va05hdmlnYXRvckZpbGVNZW51U2VsZWN0aW9uTW9kZSA9ICdtdWx0aXBsZScgfCAnc2luZ2xlJztcblxuLyoqXG4gKiBXaGF0IGBtZW51cy5yZWdpc3RlckZvbGRlck1lbnVgIGhhbmRzIGEgc3Vic2NyaWJlciB3aGVuIGEgRk9MREVSIGlzIHJpZ2h0LWNsaWNrZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZWJvb2tOYXZpZ2F0b3JGb2xkZXJNZW51Q29udGV4dCBleHRlbmRzIE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQge1xuICAvKipcbiAgICogVGhlIGZvbGRlciB0aGF0IHdhcyByaWdodC1jbGlja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9sZGVyOiBURm9sZGVyO1xufVxuXG4vKipcbiAqIFdoYXQgZXZlcnkgYE5vdGVib29rIE5hdmlnYXRvcmAgbWVudSBjb250ZXh0IGhhcyBpbiBjb21tb246IGEgd2F5IHRvIGFkZCBhbiBpdGVtLCBhbmQgbm90aGluZyBlbHNlLlxuICpcbiAqIFRoZSBhYnNlbmNlIG9mIGEgYE1lbnVgIGlzIHRoZSB3aG9sZSBzaGFwZSBvZiB0aGUgaW50ZWdyYXRpb24gcHJvYmxlbSBcdTIwMTQgY29tbWFuZCBoYW5kbGVycyB3cml0ZSBpbnRvXG4gKiBhIGBNZW51YCwgc28gc29tZXRoaW5nIGhhcyB0byBzaXQgYmV0d2VlbiB0aGVtIGFuZCB0aGlzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQge1xuICAvKipcbiAgICogQWRkcyBhbiBpdGVtIHRvIHRoZSBtZW51IGBOb3RlYm9vayBOYXZpZ2F0b3JgIGlzIGJ1aWxkaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBSZWNlaXZlcyB0aGUgY3JlYXRlZCBpdGVtLCB0byBiZSBjb25maWd1cmVkIGluIHBsYWNlLlxuICAgKi9cbiAgYWRkSXRlbTogKGNhbGxiYWNrOiAoaXRlbTogTWVudUl0ZW0pID0+IHZvaWQpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogVW5yZWdpc3RlcnMgYSBtZW51IGV4dGVuc2lvbi4gYE5vdGVib29rIE5hdmlnYXRvcmAgcmV0dXJucyBhIGJhcmUgZnVuY3Rpb24gcmF0aGVyIHRoYW4gYSBkaXNwb3NhYmxlLFxuICogc28gaXQgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBicmlkZ2luZyBjb21wb25lbnQncyBgcmVnaXN0ZXJgLlxuICovXG5leHBvcnQgdHlwZSBOb3RlYm9va05hdmlnYXRvck1lbnVEaXNwb3NlID0gKCkgPT4gdm9pZDtcblxuLyoqXG4gKiBUaGUgYG1lbnVzYCBuYW1lc3BhY2Ugb2YgYE5vdGVib29rIE5hdmlnYXRvcmAncyBBUEkuXG4gKlxuICogT25seSB0aGUgZmlsZSBhbmQgZm9sZGVyIHJlZ2lzdHJhcnMgYXJlIGRlY2xhcmVkOiB0aGUgdGFnIGFuZCBwcm9wZXJ0eSByZWdpc3RyYXJzIGV4dGVuZCBtZW51c1xuICogcmFpc2VkIG9uIHRoaW5ncyBhIGZpbGUvZm9sZGVyIGNvbW1hbmQgaGFuZGxlciBoYXMgbm8gY291bnRlcnBhcnQgZm9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yTWVudXMge1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgY29udHJpYnV0b3IgdG8gdGhlIGZpbGUgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBJbnZva2VkIHdoaWxlIHRoZSBtZW51IGlzIGJlaW5nIGJ1aWx0LlxuICAgKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdW5yZWdpc3RlcnMgdGhlIGNvbnRyaWJ1dG9yLlxuICAgKi9cbiAgcmVnaXN0ZXJGaWxlTWVudTogKGNhbGxiYWNrOiAoY29udGV4dDogTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudUNvbnRleHQpID0+IHZvaWQpID0+IE5vdGVib29rTmF2aWdhdG9yTWVudURpc3Bvc2U7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNvbnRyaWJ1dG9yIHRvIHRoZSBmb2xkZXIgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBJbnZva2VkIHdoaWxlIHRoZSBtZW51IGlzIGJlaW5nIGJ1aWx0LlxuICAgKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdW5yZWdpc3RlcnMgdGhlIGNvbnRyaWJ1dG9yLlxuICAgKi9cbiAgcmVnaXN0ZXJGb2xkZXJNZW51OiAoY2FsbGJhY2s6IChjb250ZXh0OiBOb3RlYm9va05hdmlnYXRvckZvbGRlck1lbnVDb250ZXh0KSA9PiB2b2lkKSA9PiBOb3RlYm9va05hdmlnYXRvck1lbnVEaXNwb3NlO1xufVxuXG4vKipcbiAqIFRoZSBgc291cmNlYCBoYW5kZWQgdG8gdGhlIG1lbnUgZXZlbnQgaGFuZGxlcnMgZm9yIGEgYE5vdGVib29rIE5hdmlnYXRvcmAgbWVudS5cbiAqXG4gKiBPYnNpZGlhbidzIG93biBGaWxlIEV4cGxvcmVyIHNlbmRzIGBmaWxlLWV4cGxvcmVyLWNvbnRleHQtbWVudWA7IG5vdGhpbmcgaW4gdGhpcyBsaWJyYXJ5IGdhdGVzIG9uXG4gKiB0aGUgdmFsdWUsIGJ1dCB0aGUgaGFuZGxlcnMgYXJlIGNvbnRyYWN0ZWQgdG8gcmVjZWl2ZSBvbmUsIGFuZCBhIGRpc3RpbmN0IHN0cmluZyBpcyB3aGF0IG1ha2VzIGFcbiAqIGhhbmRsZXIgYWJsZSB0byB0ZWxsIHRoZSB0d28gc3VyZmFjZXMgYXBhcnQuXG4gKi9cbmV4cG9ydCBjb25zdCBOT1RFQk9PS19OQVZJR0FUT1JfTUVOVV9TT1VSQ0UgPSAnbm90ZWJvb2stbmF2aWdhdG9yLWNvbnRleHQtbWVudSc7XG5cbi8qKlxuICogYE5vdGVib29rIE5hdmlnYXRvcmAncyBwbHVnaW4gaWQsIGFzIGl0cyBtYW5pZmVzdCBkZWNsYXJlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5PVEVCT09LX05BVklHQVRPUl9QTFVHSU5fSUQgPSAnbm90ZWJvb2stbmF2aWdhdG9yJztcblxuLyoqXG4gKiBHZXRzIGBOb3RlYm9vayBOYXZpZ2F0b3JgJ3MgQVBJLCB3aGVuIGl0IGlzIGluc3RhbGxlZCwgZW5hYmxlZCBhbmQgbmV3IGVub3VnaC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIEFQSSwgb3IgYG51bGxgIHdoZW4gYE5vdGVib29rIE5hdmlnYXRvcmAgaXMgbm90IHRoZXJlIHRvIHRhbGsgdG8uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTm90ZWJvb2tOYXZpZ2F0b3JBcGkoYXBwOiBBcHApOiBOb3RlYm9va05hdmlnYXRvckFwaSB8IG51bGwge1xuICBjb25zdCBwbHVnaW4gPSBhcHAucGx1Z2lucy5nZXRQbHVnaW4oTk9URUJPT0tfTkFWSUdBVE9SX1BMVUdJTl9JRCk7XG4gIGlmICghcGx1Z2luIHx8ICEoJ2FwaScgaW4gcGx1Z2luKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgYXBpOiB1bmtub3duID0gcGx1Z2luLmFwaTtcbiAgcmV0dXJuIGlzTm90ZWJvb2tOYXZpZ2F0b3JBcGkoYXBpKSA/IGFwaSA6IG51bGw7XG59XG5cbi8qKlxuICogQ2hlY2tzIHRoYXQgYSB2YWx1ZSBpcyBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIEFQSSwgYnkgdGhlIG1lbWJlcnMgdGhpcyBsaWJyYXJ5IGFjdHVhbGx5IGNhbGxzLlxuICpcbiAqIEEgcHJlZGljYXRlIHJhdGhlciB0aGFuIGEgY2FzdCBvbiBwdXJwb3NlOiBgYXBpYCBpcyBub3QgcGFydCBvZiBPYnNpZGlhbidzIGBQbHVnaW5gIHR5cGUsIHNvIHRoZVxuICogdmFsdWUgYXJyaXZlcyBhcyBgdW5rbm93bmAgYW5kIHRoZSBvbmx5IGhvbmVzdCB3YXkgdG8gdHlwZSBpdCBpcyB0byBWRVJJRlkgaXQuIEEgYE5vdGVib29rIE5hdmlnYXRvcmBcbiAqIG9sZCBlbm91Z2ggdG8gcHJlZGF0ZSB0aGUgbWVudXMgbmFtZXNwYWNlLCBvciBhIGZ1dHVyZSBvbmUgdGhhdCByZW5hbWVzIGl0LCB0aGVyZWZvcmUgcmVhZHMgYXNcbiAqIFwibm8gQVBJXCIgYW5kIHRoZSBpbnRlZ3JhdGlvbiBzdGF5cyBkb3JtYW50IGluc3RlYWQgb2YgdGhyb3dpbmcgYXQgbWVudSB0aW1lLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBjYW5kaWRhdGUgYGFwaWAgb2JqZWN0LlxuICogQHJldHVybnMgV2hldGhlciBpdCBjYXJyaWVzIGJvdGggbWVudSByZWdpc3RyYXJzLlxuICovXG5mdW5jdGlvbiBpc05vdGVib29rTmF2aWdhdG9yQXBpKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgTm90ZWJvb2tOYXZpZ2F0b3JBcGkge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCAhKCdtZW51cycgaW4gdmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWVudXM6IHVua25vd24gPSB2YWx1ZS5tZW51cztcbiAgcmV0dXJuIHR5cGVvZiBtZW51cyA9PT0gJ29iamVjdCcgJiYgbWVudXMgIT09IG51bGxcbiAgICAmJiAncmVnaXN0ZXJGaWxlTWVudScgaW4gbWVudXMgJiYgdHlwZW9mIG1lbnVzLnJlZ2lzdGVyRmlsZU1lbnUgPT09ICdmdW5jdGlvbidcbiAgICAmJiAncmVnaXN0ZXJGb2xkZXJNZW51JyBpbiBtZW51cyAmJiB0eXBlb2YgbWVudXMucmVnaXN0ZXJGb2xkZXJNZW51ID09PSAnZnVuY3Rpb24nO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUF5SU8sTUFBTSxpQ0FBaUM7QUFLdkMsTUFBTSwrQkFBK0I7QUFRckMsU0FBUyw0QkFBNEIsS0FBdUM7QUFDakYsUUFBTSxTQUFTLElBQUksUUFBUSxVQUFVLDRCQUE0QjtBQUNqRSxNQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsU0FBUztBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sTUFBZSxPQUFPO0FBQzVCLFNBQU8sdUJBQXVCLEdBQUcsSUFBSSxNQUFNO0FBQzdDO0FBYUEsU0FBUyx1QkFBdUIsT0FBK0M7QUFDN0UsTUFBSSxPQUFPLFVBQVUsWUFBWSxVQUFVLFFBQVEsRUFBRSxXQUFXLFFBQVE7QUFDdEUsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFFBQWlCLE1BQU07QUFDN0IsU0FBTyxPQUFPLFVBQVUsWUFBWSxVQUFVLFFBQ3pDLHNCQUFzQixTQUFTLE9BQU8sTUFBTSxxQkFBcUIsY0FDakUsd0JBQXdCLFNBQVMsT0FBTyxNQUFNLHVCQUF1QjtBQUM1RTsiLAogICJuYW1lcyI6IFtdCn0K
28
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25vdGVib29rLW5hdmlnYXRvci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBzbGljZSBvZiBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIHB1YmxpYyBBUEkgdGhpcyBsaWJyYXJ5IHRhbGtzIHRvLCBhbmQgdGhlIHJ1bnRpbWUgbmFycm93aW5nIHRoYXRcbiAqIGdldHMgaG9sZCBvZiBpdC5cbiAqXG4gKiAqKmBOb3RlYm9vayBOYXZpZ2F0b3JgIGRyYXdzIGl0cyBvd24gZmlsZSB0cmVlLCBzbyBpdCBuZXZlciByYWlzZXMgT2JzaWRpYW4ncyBgZmlsZS1tZW51YCAvXG4gKiBgZmlsZXMtbWVudWAgd29ya3NwYWNlIGV2ZW50cyoqIFx1MjAxNCB3aGljaCBpcyB3aHkgYSBwbHVnaW4ncyBjb250ZXh0LW1lbnUgaXRlbXMgc2ltcGx5IGRpc2FwcGVhciBmb3JcbiAqIGFueW9uZSBicm93c2luZyB0aHJvdWdoIGl0LiBXaGF0IGl0IG9mZmVycyBpbnN0ZWFkIGlzIGEgZG9jdW1lbnRlZCBleHRlbnNpb24gQVBJXG4gKiAoYGRvY3MvYXBpLXJlZmVyZW5jZS5tZGAgKyBgc3JjL2FwaS9wdWJsaWMvbm90ZWJvb2stbmF2aWdhdG9yLmQudHNgIGluIGBqb2hhbnNhbi9ub3RlYm9vay1uYXZpZ2F0b3JgLFxuICogQVBJIDIuMC4wKSwgcmVhY2hhYmxlIGF0IHJ1bnRpbWUgYXMgYGFwcC5wbHVnaW5zLmdldFBsdWdpbignbm90ZWJvb2stbmF2aWdhdG9yJykuYXBpYC5cbiAqXG4gKiBUaGUgdHlwZXMgYmVsb3cgYXJlIERFQ0xBUkVEIEhFUkUgcmF0aGVyIHRoYW4gaW1wb3J0ZWQ6IGBOb3RlYm9vayBOYXZpZ2F0b3JgIHNoaXBzIGl0cyBgLmQudHNgIGZvclxuICogZG93bmxvYWQsIG5vdCBhcyBhbiBucG0gcGFja2FnZSwgYW5kIGRlcGVuZGluZyBvbiBpdCB3b3VsZCB0dXJuIGFuIG9wdGlvbmFsIGludGVncmF0aW9uIGludG8gYVxuICogYnVpbGQtdGltZSBkZXBlbmRlbmN5LiBUaGV5IGFyZSBkZWxpYmVyYXRlbHkgdGhlIG5hcnJvd2VzdCBzaGFwZSB0aGlzIGxpYnJhcnkgdXNlcyBcdTIwMTQgdGhlIEFQSSBhbHNvXG4gKiBjYXJyaWVzIGBtZXRhZGF0YWAsIGBuYXZpZ2F0aW9uYCwgYHNlbGVjdGlvbmAsIGB0YWdDb2xsZWN0aW9uc2AsIGBwcm9wZXJ0eU5vZGVzYCBhbmQgYW4gZXZlbnQgYnVzLFxuICogbm9uZSBvZiB3aGljaCBhcHBseSB0byBhIGZpbGUvZm9sZGVyIGNvbW1hbmQgc3VyZmFjZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgTWVudUl0ZW0sXG4gIFRGaWxlLFxuICBURm9sZGVyXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIHB1YmxpYyBBUEkgb2JqZWN0LCBuYXJyb3dlZCB0byB3aGF0IHRoaXMgbGlicmFyeSB1c2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yQXBpIHtcbiAgLyoqXG4gICAqIFRoZSBtZW51LWV4dGVuc2lvbiBuYW1lc3BhY2UuXG4gICAqL1xuICByZWFkb25seSBtZW51czogTm90ZWJvb2tOYXZpZ2F0b3JNZW51cztcbn1cblxuLyoqXG4gKiBXaGF0IGBtZW51cy5yZWdpc3RlckZpbGVNZW51YCBoYW5kcyBhIHN1YnNjcmliZXIgd2hlbiBhIEZJTEUgaXMgcmlnaHQtY2xpY2tlZC5cbiAqXG4gKiBUaGVyZSBpcyBubyBgTWVudWAgaGVyZSBcdTIwMTQgYW4gaXRlbSBpcyBjb250cmlidXRlZCB0aHJvdWdoIGBhZGRJdGVtYCBhbG9uZSwgd2hpY2ggaXMgd2h5IHRoZVxuICogZmlsZS9maWxlcyBtZW51IGhhbmRsZXJzIGNhbm5vdCBzaW1wbHkgYmUgZm9yd2FyZGVkIHRvIGl0IGFuZCBoYXZlIHRvIGJlIGJyaWRnZWQgKHNlZVxuICogYGNvbXBvbmVudHMvbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50c2ApLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yRmlsZU1lbnVDb250ZXh0IGV4dGVuZHMgTm90ZWJvb2tOYXZpZ2F0b3JNZW51Q29udGV4dCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGF0IHdhcyByaWdodC1jbGlja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZTogVEZpbGU7XG5cbiAgLyoqXG4gICAqIFdoYXQgdGhlIHRyZWUgaGFkIHNlbGVjdGVkIHdoZW4gdGhlIG1lbnUgd2FzIHJhaXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlbGVjdGlvbjogTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudVNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgc2VsZWN0aW9uIGEgZmlsZSBtZW51IHdhcyByYWlzZWQgb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudVNlbGVjdGlvbiB7XG4gIC8qKlxuICAgKiBFdmVyeSBzZWxlY3RlZCBmaWxlLCB3aGljaCBmb3IgYHNpbmdsZWAgaXMganVzdCB0aGUgcmlnaHQtY2xpY2tlZCBvbmUuXG4gICAqL1xuICByZWFkb25seSBmaWxlczogcmVhZG9ubHkgVEZpbGVbXTtcblxuICAvKipcbiAgICogV2hldGhlciBvbmUgZmlsZSBvciBzZXZlcmFsIGFyZSBzZWxlY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IE5vdGVib29rTmF2aWdhdG9yRmlsZU1lbnVTZWxlY3Rpb25Nb2RlO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgYSBmaWxlIG1lbnUgY292ZXJzIG9uZSBmaWxlIG9yIGEgbXVsdGktc2VsZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBOb3RlYm9va05hdmlnYXRvckZpbGVNZW51U2VsZWN0aW9uTW9kZSA9ICdtdWx0aXBsZScgfCAnc2luZ2xlJztcblxuLyoqXG4gKiBXaGF0IGBtZW51cy5yZWdpc3RlckZvbGRlck1lbnVgIGhhbmRzIGEgc3Vic2NyaWJlciB3aGVuIGEgRk9MREVSIGlzIHJpZ2h0LWNsaWNrZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZWJvb2tOYXZpZ2F0b3JGb2xkZXJNZW51Q29udGV4dCBleHRlbmRzIE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQge1xuICAvKipcbiAgICogVGhlIGZvbGRlciB0aGF0IHdhcyByaWdodC1jbGlja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9sZGVyOiBURm9sZGVyO1xufVxuXG4vKipcbiAqIFdoYXQgZXZlcnkgYE5vdGVib29rIE5hdmlnYXRvcmAgbWVudSBjb250ZXh0IGhhcyBpbiBjb21tb246IGEgd2F5IHRvIGFkZCBhbiBpdGVtLCBhbmQgbm90aGluZyBlbHNlLlxuICpcbiAqIFRoZSBhYnNlbmNlIG9mIGEgYE1lbnVgIGlzIHRoZSB3aG9sZSBzaGFwZSBvZiB0aGUgaW50ZWdyYXRpb24gcHJvYmxlbSBcdTIwMTQgY29tbWFuZCBoYW5kbGVycyB3cml0ZSBpbnRvXG4gKiBhIGBNZW51YCwgc28gc29tZXRoaW5nIGhhcyB0byBzaXQgYmV0d2VlbiB0aGVtIGFuZCB0aGlzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQge1xuICAvKipcbiAgICogQWRkcyBhbiBpdGVtIHRvIHRoZSBtZW51IGBOb3RlYm9vayBOYXZpZ2F0b3JgIGlzIGJ1aWxkaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBSZWNlaXZlcyB0aGUgY3JlYXRlZCBpdGVtLCB0byBiZSBjb25maWd1cmVkIGluIHBsYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkSXRlbTogKGNhbGxiYWNrOiAoaXRlbTogTWVudUl0ZW0pID0+IHZvaWQpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogVW5yZWdpc3RlcnMgYSBtZW51IGV4dGVuc2lvbi4gYE5vdGVib29rIE5hdmlnYXRvcmAgcmV0dXJucyBhIGJhcmUgZnVuY3Rpb24gcmF0aGVyIHRoYW4gYSBkaXNwb3NhYmxlLFxuICogc28gaXQgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBicmlkZ2luZyBjb21wb25lbnQncyBgcmVnaXN0ZXJgLlxuICovXG5leHBvcnQgdHlwZSBOb3RlYm9va05hdmlnYXRvck1lbnVEaXNwb3NlID0gKCkgPT4gdm9pZDtcblxuLyoqXG4gKiBUaGUgYG1lbnVzYCBuYW1lc3BhY2Ugb2YgYE5vdGVib29rIE5hdmlnYXRvcmAncyBBUEkuXG4gKlxuICogT25seSB0aGUgZmlsZSBhbmQgZm9sZGVyIHJlZ2lzdHJhcnMgYXJlIGRlY2xhcmVkOiB0aGUgdGFnIGFuZCBwcm9wZXJ0eSByZWdpc3RyYXJzIGV4dGVuZCBtZW51c1xuICogcmFpc2VkIG9uIHRoaW5ncyBhIGZpbGUvZm9sZGVyIGNvbW1hbmQgaGFuZGxlciBoYXMgbm8gY291bnRlcnBhcnQgZm9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yTWVudXMge1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgY29udHJpYnV0b3IgdG8gdGhlIGZpbGUgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBJbnZva2VkIHdoaWxlIHRoZSBtZW51IGlzIGJlaW5nIGJ1aWx0LlxuICAgKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdW5yZWdpc3RlcnMgdGhlIGNvbnRyaWJ1dG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaXN0ZXJGaWxlTWVudTogKGNhbGxiYWNrOiAoY29udGV4dDogTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudUNvbnRleHQpID0+IHZvaWQpID0+IE5vdGVib29rTmF2aWdhdG9yTWVudURpc3Bvc2U7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNvbnRyaWJ1dG9yIHRvIHRoZSBmb2xkZXIgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBJbnZva2VkIHdoaWxlIHRoZSBtZW51IGlzIGJlaW5nIGJ1aWx0LlxuICAgKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdW5yZWdpc3RlcnMgdGhlIGNvbnRyaWJ1dG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaXN0ZXJGb2xkZXJNZW51OiAoY2FsbGJhY2s6IChjb250ZXh0OiBOb3RlYm9va05hdmlnYXRvckZvbGRlck1lbnVDb250ZXh0KSA9PiB2b2lkKSA9PiBOb3RlYm9va05hdmlnYXRvck1lbnVEaXNwb3NlO1xufVxuXG4vKipcbiAqIFRoZSBgc291cmNlYCBoYW5kZWQgdG8gdGhlIG1lbnUgZXZlbnQgaGFuZGxlcnMgZm9yIGEgYE5vdGVib29rIE5hdmlnYXRvcmAgbWVudS5cbiAqXG4gKiBPYnNpZGlhbidzIG93biBGaWxlIEV4cGxvcmVyIHNlbmRzIGBmaWxlLWV4cGxvcmVyLWNvbnRleHQtbWVudWA7IG5vdGhpbmcgaW4gdGhpcyBsaWJyYXJ5IGdhdGVzIG9uXG4gKiB0aGUgdmFsdWUsIGJ1dCB0aGUgaGFuZGxlcnMgYXJlIGNvbnRyYWN0ZWQgdG8gcmVjZWl2ZSBvbmUsIGFuZCBhIGRpc3RpbmN0IHN0cmluZyBpcyB3aGF0IG1ha2VzIGFcbiAqIGhhbmRsZXIgYWJsZSB0byB0ZWxsIHRoZSB0d28gc3VyZmFjZXMgYXBhcnQuXG4gKi9cbmV4cG9ydCBjb25zdCBOT1RFQk9PS19OQVZJR0FUT1JfTUVOVV9TT1VSQ0UgPSAnbm90ZWJvb2stbmF2aWdhdG9yLWNvbnRleHQtbWVudSc7XG5cbi8qKlxuICogYE5vdGVib29rIE5hdmlnYXRvcmAncyBwbHVnaW4gaWQsIGFzIGl0cyBtYW5pZmVzdCBkZWNsYXJlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5PVEVCT09LX05BVklHQVRPUl9QTFVHSU5fSUQgPSAnbm90ZWJvb2stbmF2aWdhdG9yJztcblxuLyoqXG4gKiBHZXRzIGBOb3RlYm9vayBOYXZpZ2F0b3JgJ3MgQVBJLCB3aGVuIGl0IGlzIGluc3RhbGxlZCwgZW5hYmxlZCBhbmQgbmV3IGVub3VnaC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIEFQSSwgb3IgYG51bGxgIHdoZW4gYE5vdGVib29rIE5hdmlnYXRvcmAgaXMgbm90IHRoZXJlIHRvIHRhbGsgdG8uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTm90ZWJvb2tOYXZpZ2F0b3JBcGkoYXBwOiBBcHApOiBOb3RlYm9va05hdmlnYXRvckFwaSB8IG51bGwge1xuICBjb25zdCBwbHVnaW4gPSBhcHAucGx1Z2lucy5nZXRQbHVnaW4oTk9URUJPT0tfTkFWSUdBVE9SX1BMVUdJTl9JRCk7XG4gIGlmICghcGx1Z2luIHx8ICEoJ2FwaScgaW4gcGx1Z2luKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgYXBpOiB1bmtub3duID0gcGx1Z2luLmFwaTtcbiAgcmV0dXJuIGlzTm90ZWJvb2tOYXZpZ2F0b3JBcGkoYXBpKSA/IGFwaSA6IG51bGw7XG59XG5cbi8qKlxuICogQ2hlY2tzIHRoYXQgYSB2YWx1ZSBpcyBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIEFQSSwgYnkgdGhlIG1lbWJlcnMgdGhpcyBsaWJyYXJ5IGFjdHVhbGx5IGNhbGxzLlxuICpcbiAqIEEgcHJlZGljYXRlIHJhdGhlciB0aGFuIGEgY2FzdCBvbiBwdXJwb3NlOiBgYXBpYCBpcyBub3QgcGFydCBvZiBPYnNpZGlhbidzIGBQbHVnaW5gIHR5cGUsIHNvIHRoZVxuICogdmFsdWUgYXJyaXZlcyBhcyBgdW5rbm93bmAgYW5kIHRoZSBvbmx5IGhvbmVzdCB3YXkgdG8gdHlwZSBpdCBpcyB0byBWRVJJRlkgaXQuIEEgYE5vdGVib29rIE5hdmlnYXRvcmBcbiAqIG9sZCBlbm91Z2ggdG8gcHJlZGF0ZSB0aGUgbWVudXMgbmFtZXNwYWNlLCBvciBhIGZ1dHVyZSBvbmUgdGhhdCByZW5hbWVzIGl0LCB0aGVyZWZvcmUgcmVhZHMgYXNcbiAqIFwibm8gQVBJXCIgYW5kIHRoZSBpbnRlZ3JhdGlvbiBzdGF5cyBkb3JtYW50IGluc3RlYWQgb2YgdGhyb3dpbmcgYXQgbWVudSB0aW1lLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBjYW5kaWRhdGUgYGFwaWAgb2JqZWN0LlxuICogQHJldHVybnMgV2hldGhlciBpdCBjYXJyaWVzIGJvdGggbWVudSByZWdpc3RyYXJzLlxuICovXG5mdW5jdGlvbiBpc05vdGVib29rTmF2aWdhdG9yQXBpKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgTm90ZWJvb2tOYXZpZ2F0b3JBcGkge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCAhKCdtZW51cycgaW4gdmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWVudXM6IHVua25vd24gPSB2YWx1ZS5tZW51cztcbiAgcmV0dXJuIHR5cGVvZiBtZW51cyA9PT0gJ29iamVjdCcgJiYgbWVudXMgIT09IG51bGxcbiAgICAmJiAncmVnaXN0ZXJGaWxlTWVudScgaW4gbWVudXMgJiYgdHlwZW9mIG1lbnVzLnJlZ2lzdGVyRmlsZU1lbnUgPT09ICdmdW5jdGlvbidcbiAgICAmJiAncmVnaXN0ZXJGb2xkZXJNZW51JyBpbiBtZW51cyAmJiB0eXBlb2YgbWVudXMucmVnaXN0ZXJGb2xkZXJNZW51ID09PSAnZnVuY3Rpb24nO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUF5SU8sTUFBTSxpQ0FBaUM7QUFLdkMsTUFBTSwrQkFBK0I7QUFRckMsU0FBUyw0QkFBNEIsS0FBdUM7QUFDakYsUUFBTSxTQUFTLElBQUksUUFBUSxVQUFVLDRCQUE0QjtBQUNqRSxNQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsU0FBUztBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sTUFBZSxPQUFPO0FBQzVCLFNBQU8sdUJBQXVCLEdBQUcsSUFBSSxNQUFNO0FBQzdDO0FBYUEsU0FBUyx1QkFBdUIsT0FBK0M7QUFDN0UsTUFBSSxPQUFPLFVBQVUsWUFBWSxVQUFVLFFBQVEsRUFBRSxXQUFXLFFBQVE7QUFDdEUsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFFBQWlCLE1BQU07QUFDN0IsU0FBTyxPQUFPLFVBQVUsWUFBWSxVQUFVLFFBQ3pDLHNCQUFzQixTQUFTLE9BQU8sTUFBTSxxQkFBcUIsY0FDakUsd0JBQXdCLFNBQVMsT0FBTyxNQUFNLHVCQUF1QjtBQUM1RTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -56,4 +56,4 @@ export {
56
56
  getObsidianLibState,
57
57
  resetObsidianLibState
58
58
  };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi1saWItc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFByb3ZpZGVzIGFjY2VzcyB0byB0aGUgcHJvY2Vzcy13aWRlIHNoYXJlZC1zdGF0ZSBiYWcgb24gdGhlIGBfX29ic2lkaWFuTGliYCBnbG9iYWwuIE5ldyBnZW5lcmljIHN0YXRlIGJlbG9uZ3MgaW5cbiAqIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZXNjcmlwdC1saWItc3RhdGVgICh0aGUgYFN5bWJvbC5mb3IoJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdGF0ZScpYCBzbG90KS5cbiAqXG4gKiBUaGUgYmFnIGlzIHN0b3JlZCBvbiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuTGliYCwgaS5lLiBvbiB0aGUgZ2xvYmFsIG9iamVjdCBvZiB0aGUgcmVhbG0gaW5cbiAqIHdoaWNoIHRoaXMgbGlicmFyeSBpcyBsb2FkZWQuIEJlY2F1c2UgYSBmdW5jdGlvbidzIGBnbG9iYWxUaGlzYCByZXNvbHZlcyB0byBpdHMgZGVmaW5pbmdcbiAqIHJlYWxtIChub3QgdGhlIGNhbGxlcidzKSwgZXZlcnkgY29uc3VtZXIgdGhhdCBidW5kbGVzIHRoZSBsaWJyYXJ5IGluIHRoZSBtYWluIE9ic2lkaWFuIHJlbmRlcmVyXG4gKiBzaGFyZXMgdGhlIHNhbWUgYmFnLCByZWdhcmRsZXNzIG9mIHdoaWNoIHdpbmRvdyBpcyBjdXJyZW50bHkgYWN0aXZlLCBzbyBjYWxsZXJzIG5ldmVyIG5lZWQgdG8gcGFzcyBhbiBgQXBwYFxuICogaW5zdGFuY2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljT2JqZWN0IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcblxuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXdyYXBwZXInO1xuXG5pbnRlcmZhY2UgT2JzaWRpYW5MaWJXcmFwcGVyIHtcbiAgX19vYnNpZGlhbkxpYjogR2VuZXJpY09iamVjdDtcbn1cblxuY29uc3QgT0JTSURJQU5fTElCX0dMT0JBTF9OQU1FID0gJ19fb2JzaWRpYW5MaWInO1xuXG4vKipcbiAqIFJldHJpZXZlcyBvciBjcmVhdGVzIGEgc2hhcmVkLXN0YXRlIHtAbGluayBWYWx1ZVdyYXBwZXJ9IGZvciBhIGdpdmVuIGtleSBvbiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuTGliYC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgc2hhcmVkIHN0YXRlIHZhbHVlLlxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gc3RvcmUgb3IgcmV0cmlldmUgdGhlIHNoYXJlZCBzdGF0ZSB1bmRlci5cbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgLSBUaGUgZGVmYXVsdCB2YWx1ZSB0byB1c2UgaWYgdGhlIHNoYXJlZCBzdGF0ZSBkb2VzIG5vdCBleGlzdCB5ZXQuXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIFZhbHVlV3JhcHBlcn0gdGhhdCBzdG9yZXMgdGhlIHNoYXJlZCBzdGF0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9ic2lkaWFuTGliU3RhdGU8VD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFZhbHVlV3JhcHBlcjxUPiB7XG4gIHJldHVybiAoZ2V0T2JzaWRpYW5MaWJCYWcoKVtrZXldID8/PSBWYWx1ZVdyYXBwZXIub2YoZGVmYXVsdFZhbHVlKSkgYXMgVmFsdWVXcmFwcGVyPFQ+O1xufVxuXG4vKipcbiAqIENsZWFycyB0aGUgc2hhcmVkLXN0YXRlIGJhZyBvbiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuTGliYC5cbiAqXG4gKiBJbnRlbmRlZCBmb3IgdGVzdCBpc29sYXRpb246IGNhbGwgaXQgYmVmb3JlIGVhY2ggdGVzdCBzbyBhY2N1bXVsYXRlZCBzdGF0ZSAocXVldWVzLFxuICogcmVnaXN0ZXJlZCBoYW5kbGVycywgZXRjLikgZG9lcyBub3QgbGVhayBiZXR3ZWVuIHRlc3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRPYnNpZGlhbkxpYlN0YXRlKCk6IHZvaWQge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9uby1nbG9iYWwtdGhpcyAtLSBUaGUgc2hhcmVkIHN0YXRlIGludGVudGlvbmFsbHkgbGl2ZXMgb24gdGhlIHJlYWxtIGdsb2JhbC5cbiAgKGdsb2JhbFRoaXMgYXMgUGFydGlhbDxPYnNpZGlhbkxpYldyYXBwZXI+KS5fX29ic2lkaWFuTGliID0ge307XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmFnLCBjcmVhdGluZyBpdCBhcyBhIHBsYWluIGRhdGEgcHJvcGVydHkgd2hlbiB0aGlzIHJlYWxtIGhhcyBub25lLlxuICpcbiAqIEEgY29weSBvbGRlciB0aGFuIGA2LjAuMGAga2VwdCBpdHMgc3RhdGUgdW5kZXIgYW5vdGhlciBnbG9iYWwgYW5kIGluc3RhbGxlZCBgX19vYnNpZGlhbkxpYmAgYXMgYW4gYWNjZXNzb3Igb250b1xuICogaXQuIEFkb3B0aW5nIHRoYXQgYWNjZXNzb3Igd291bGQgbWFrZSB3aGV0aGVyIHRoaXMgY29weSBzaGFyZXMgc3RhdGUgd2l0aCBvbGRlciBvbmVzIGRlcGVuZCBvbiB3aGljaCBwbHVnaW4gbG9hZGVkXG4gKiBmaXJzdCwgc28gaXQgaXMgcmVwbGFjZWQgYnkgdGhpcyBjb3B5J3Mgb3duIGJhZy4gVGhlIG9sZGVyIGNvcGllcyBrZWVwIHJlYWRpbmcgdGhlaXIgb3duIGdsb2JhbCwgdW50b3VjaGVkLlxuICpcbiAqIEByZXR1cm5zIFRoZSBzaGFyZWQtc3RhdGUgYmFnLlxuICovXG5mdW5jdGlvbiBnZXRPYnNpZGlhbkxpYkJhZygpOiBHZW5lcmljT2JqZWN0IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgLS0gVGhlIHNoYXJlZCBzdGF0ZSBpbnRlbnRpb25hbGx5IGxpdmVzIG9uIHRoZSByZWFsbSBnbG9iYWwuXG4gIGNvbnN0IHdyYXBwZXIgPSBnbG9iYWxUaGlzIGFzIFBhcnRpYWw8T2JzaWRpYW5MaWJXcmFwcGVyPjtcbiAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod3JhcHBlciwgT0JTSURJQU5fTElCX0dMT0JBTF9OQU1FKTtcbiAgaWYgKGRlc2NyaXB0b3IgJiYgISgndmFsdWUnIGluIGRlc2NyaXB0b3IpKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHdyYXBwZXIsIE9CU0lESUFOX0xJQl9HTE9CQUxfTkFNRSwge1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiB7fSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICB3cmFwcGVyLl9fb2JzaWRpYW5MaWIgPz89IHt9O1xuICByZXR1cm4gd3JhcHBlci5fX29ic2lkaWFuTGliO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLFNBQVMsb0JBQW9CO0FBTTdCLE1BQU0sMkJBQTJCO0FBVTFCLFNBQVMsb0JBQXVCLEtBQWEsY0FBa0M7QUFDcEYsU0FBUSxrQkFBa0IsRUFBRSxHQUFHLE1BQU0sYUFBYSxHQUFHLFlBQVk7QUFDbkU7QUFRTyxTQUFTLHdCQUE4QjtBQUU1QyxFQUFDLFdBQTJDLGdCQUFnQixDQUFDO0FBQy9EO0FBV0EsU0FBUyxvQkFBbUM7QUFFMUMsUUFBTSxVQUFVO0FBQ2hCLFFBQU0sYUFBYSxPQUFPLHlCQUF5QixTQUFTLHdCQUF3QjtBQUNwRixNQUFJLGNBQWMsRUFBRSxXQUFXLGFBQWE7QUFDMUMsV0FBTyxlQUFlLFNBQVMsMEJBQTBCO0FBQUEsTUFDdkQsY0FBYztBQUFBLE1BQ2QsWUFBWTtBQUFBLE1BQ1osT0FBTyxDQUFDO0FBQUEsTUFDUixVQUFVO0FBQUEsSUFDWixDQUFDO0FBQUEsRUFDSDtBQUVBLFVBQVEsa0JBQWtCLENBQUM7QUFDM0IsU0FBTyxRQUFRO0FBQ2pCOyIsIm5hbWVzIjpbXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi1saWItc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFByb3ZpZGVzIGFjY2VzcyB0byB0aGUgcHJvY2Vzcy13aWRlIHNoYXJlZC1zdGF0ZSBiYWcgb24gdGhlIGBfX29ic2lkaWFuTGliYCBnbG9iYWwuIE5ldyBnZW5lcmljIHN0YXRlIGJlbG9uZ3MgaW5cbiAqIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZXNjcmlwdC1saWItc3RhdGVgICh0aGUgYFN5bWJvbC5mb3IoJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdGF0ZScpYCBzbG90KS5cbiAqXG4gKiBUaGUgYmFnIGlzIHN0b3JlZCBvbiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuTGliYCwgaS5lLiBvbiB0aGUgZ2xvYmFsIG9iamVjdCBvZiB0aGUgcmVhbG0gaW5cbiAqIHdoaWNoIHRoaXMgbGlicmFyeSBpcyBsb2FkZWQuIEJlY2F1c2UgYSBmdW5jdGlvbidzIGBnbG9iYWxUaGlzYCByZXNvbHZlcyB0byBpdHMgZGVmaW5pbmdcbiAqIHJlYWxtIChub3QgdGhlIGNhbGxlcidzKSwgZXZlcnkgY29uc3VtZXIgdGhhdCBidW5kbGVzIHRoZSBsaWJyYXJ5IGluIHRoZSBtYWluIE9ic2lkaWFuIHJlbmRlcmVyXG4gKiBzaGFyZXMgdGhlIHNhbWUgYmFnLCByZWdhcmRsZXNzIG9mIHdoaWNoIHdpbmRvdyBpcyBjdXJyZW50bHkgYWN0aXZlLCBzbyBjYWxsZXJzIG5ldmVyIG5lZWQgdG8gcGFzcyBhbiBgQXBwYFxuICogaW5zdGFuY2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljT2JqZWN0IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcblxuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXdyYXBwZXInO1xuXG5pbnRlcmZhY2UgT2JzaWRpYW5MaWJXcmFwcGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQtZGV2LXRvb2xraXQvcmVhZG9ubHktaW50ZXJmYWNlLW1lbWJlcnMgLS0gSW5pdGlhbGl6YXRpb24gYW5kIHRlc3QgaXNvbGF0aW9uIHJlcGxhY2UgdGhlIHJlYWxtIHNoYXJlZC1zdGF0ZSBiYWcuXG4gIF9fb2JzaWRpYW5MaWI6IEdlbmVyaWNPYmplY3Q7XG59XG5cbmNvbnN0IE9CU0lESUFOX0xJQl9HTE9CQUxfTkFNRSA9ICdfX29ic2lkaWFuTGliJztcblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIHNoYXJlZC1zdGF0ZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSBmb3IgYSBnaXZlbiBrZXkgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkxpYmAuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNoYXJlZCBzdGF0ZSB2YWx1ZS5cbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHN0b3JlIG9yIHJldHJpZXZlIHRoZSBzaGFyZWQgc3RhdGUgdW5kZXIuXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIHRoZSBzaGFyZWQgc3RhdGUgZG9lcyBub3QgZXhpc3QgeWV0LlxuICogQHJldHVybnMgVGhlIHtAbGluayBWYWx1ZVdyYXBwZXJ9IHRoYXQgc3RvcmVzIHRoZSBzaGFyZWQgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhbkxpYlN0YXRlPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBWYWx1ZVdyYXBwZXI8VD4ge1xuICByZXR1cm4gKGdldE9ic2lkaWFuTGliQmFnKClba2V5XSA/Pz0gVmFsdWVXcmFwcGVyLm9mKGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuLyoqXG4gKiBDbGVhcnMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkxpYmAuXG4gKlxuICogSW50ZW5kZWQgZm9yIHRlc3QgaXNvbGF0aW9uOiBjYWxsIGl0IGJlZm9yZSBlYWNoIHRlc3Qgc28gYWNjdW11bGF0ZWQgc3RhdGUgKHF1ZXVlcyxcbiAqIHJlZ2lzdGVyZWQgaGFuZGxlcnMsIGV0Yy4pIGRvZXMgbm90IGxlYWsgYmV0d2VlbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0T2JzaWRpYW5MaWJTdGF0ZSgpOiB2b2lkIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgLS0gVGhlIHNoYXJlZCBzdGF0ZSBpbnRlbnRpb25hbGx5IGxpdmVzIG9uIHRoZSByZWFsbSBnbG9iYWwuXG4gIChnbG9iYWxUaGlzIGFzIFBhcnRpYWw8T2JzaWRpYW5MaWJXcmFwcGVyPikuX19vYnNpZGlhbkxpYiA9IHt9O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGJhZywgY3JlYXRpbmcgaXQgYXMgYSBwbGFpbiBkYXRhIHByb3BlcnR5IHdoZW4gdGhpcyByZWFsbSBoYXMgbm9uZS5cbiAqXG4gKiBBIGNvcHkgb2xkZXIgdGhhbiBgNi4wLjBgIGtlcHQgaXRzIHN0YXRlIHVuZGVyIGFub3RoZXIgZ2xvYmFsIGFuZCBpbnN0YWxsZWQgYF9fb2JzaWRpYW5MaWJgIGFzIGFuIGFjY2Vzc29yIG9udG9cbiAqIGl0LiBBZG9wdGluZyB0aGF0IGFjY2Vzc29yIHdvdWxkIG1ha2Ugd2hldGhlciB0aGlzIGNvcHkgc2hhcmVzIHN0YXRlIHdpdGggb2xkZXIgb25lcyBkZXBlbmQgb24gd2hpY2ggcGx1Z2luIGxvYWRlZFxuICogZmlyc3QsIHNvIGl0IGlzIHJlcGxhY2VkIGJ5IHRoaXMgY29weSdzIG93biBiYWcuIFRoZSBvbGRlciBjb3BpZXMga2VlcCByZWFkaW5nIHRoZWlyIG93biBnbG9iYWwsIHVudG91Y2hlZC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgc2hhcmVkLXN0YXRlIGJhZy5cbiAqL1xuZnVuY3Rpb24gZ2V0T2JzaWRpYW5MaWJCYWcoKTogR2VuZXJpY09iamVjdCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL25vLWdsb2JhbC10aGlzIC0tIFRoZSBzaGFyZWQgc3RhdGUgaW50ZW50aW9uYWxseSBsaXZlcyBvbiB0aGUgcmVhbG0gZ2xvYmFsLlxuICBjb25zdCB3cmFwcGVyID0gZ2xvYmFsVGhpcyBhcyBQYXJ0aWFsPE9ic2lkaWFuTGliV3JhcHBlcj47XG4gIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdyYXBwZXIsIE9CU0lESUFOX0xJQl9HTE9CQUxfTkFNRSk7XG4gIGlmIChkZXNjcmlwdG9yICYmICEoJ3ZhbHVlJyBpbiBkZXNjcmlwdG9yKSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3cmFwcGVyLCBPQlNJRElBTl9MSUJfR0xPQkFMX05BTUUsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICB2YWx1ZToge30sXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgd3JhcHBlci5fX29ic2lkaWFuTGliID8/PSB7fTtcbiAgcmV0dXJuIHdyYXBwZXIuX19vYnNpZGlhbkxpYjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQSxTQUFTLG9CQUFvQjtBQU83QixNQUFNLDJCQUEyQjtBQVUxQixTQUFTLG9CQUF1QixLQUFhLGNBQWtDO0FBQ3BGLFNBQVEsa0JBQWtCLEVBQUUsR0FBRyxNQUFNLGFBQWEsR0FBRyxZQUFZO0FBQ25FO0FBUU8sU0FBUyx3QkFBOEI7QUFFNUMsRUFBQyxXQUEyQyxnQkFBZ0IsQ0FBQztBQUMvRDtBQVdBLFNBQVMsb0JBQW1DO0FBRTFDLFFBQU0sVUFBVTtBQUNoQixRQUFNLGFBQWEsT0FBTyx5QkFBeUIsU0FBUyx3QkFBd0I7QUFDcEYsTUFBSSxjQUFjLEVBQUUsV0FBVyxhQUFhO0FBQzFDLFdBQU8sZUFBZSxTQUFTLDBCQUEwQjtBQUFBLE1BQ3ZELGNBQWM7QUFBQSxNQUNkLFlBQVk7QUFBQSxNQUNaLE9BQU8sQ0FBQztBQUFBLE1BQ1IsVUFBVTtBQUFBLElBQ1osQ0FBQztBQUFBLEVBQ0g7QUFFQSxVQUFRLGtCQUFrQixDQUFDO0FBQzNCLFNBQU8sUUFBUTtBQUNqQjsiLCJuYW1lcyI6W119
@@ -15,7 +15,7 @@ export interface ObsidianProtocolHandlerRegistrar {
15
15
  *
16
16
  * @param params - The parameters for the Obsidian protocol handler registration.
17
17
  */
18
- registerObsidianProtocolHandler: (params: ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams) => void;
18
+ readonly registerObsidianProtocolHandler: (params: ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams) => void;
19
19
  }
20
20
  interface ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams {
21
21
  /**
@@ -56,4 +56,4 @@ class PluginObsidianProtocolHandlerRegistrar {
56
56
  export {
57
57
  PluginObsidianProtocolHandlerRegistrar
58
58
  };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi1wcm90b2NvbC1oYW5kbGVyLXJlZ2lzdHJhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlciByZWdpc3RyYXJzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgT2JzaWRpYW5Qcm90b2NvbERhdGEsXG4gIFBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBub3JtYWxpemVQcm9taXNhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcblxuLyoqXG4gKiBBIHJlZ2lzdHJhciBmb3IgT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXIge1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGFuIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlcjogKHBhcmFtczogT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zKSA9PiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gdG8gcmVnaXN0ZXIgdGhlIGhhbmRsZXIgZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb2JzaWRpYW5Qcm90b2NvbERhdGEgLSBUaGUgZGF0YSBwYXNzZWQgdG8gdGhlIGhhbmRsZXIuXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGhhbmRsZXIuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyOiAob2JzaWRpYW5Qcm90b2NvbERhdGE6IE9ic2lkaWFuUHJvdG9jb2xEYXRhKSA9PiBQcm9taXNhYmxlPHZvaWQ+O1xufVxuXG50eXBlIFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcyA9IE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcztcblxuLyoqXG4gKiBPYnNpZGlhbiBwcm90b2NvbCBoYW5kbGVyIHJlZ2lzdHJhciBpbiBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciBpbXBsZW1lbnRzIE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBwbHVnaW4gaW5zdGFuY2UgdGhlIHByb3RvY29sIGhhbmRsZXJzIGFyZSByZWdpc3RlcmVkIHdpdGguXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW47XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHtAbGluayBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhcn0gY2xhc3MuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHJlZ2lzdGVyIHRoZSBwcm90b2NvbCBoYW5kbGVyIHdpdGguXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGx1Z2luOiBQbHVnaW4pIHtcbiAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYW4gT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlciByZWdpc3RyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlcihwYXJhbXM6IFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXIocGFyYW1zLmFjdGlvbiwgKG9ic2lkaWFuUHJvdG9jb2xEYXRhKSA9PiBub3JtYWxpemVQcm9taXNhYmxlKHBhcmFtcy5oYW5kbGVyKG9ic2lkaWFuUHJvdG9jb2xEYXRhKSkpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWUEsU0FBUywyQkFBMkI7QUFrQzdCLE1BQU0sdUNBQW1GO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJM0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPWixZQUFZLFFBQWdCO0FBQ2pDLFNBQUssU0FBUztBQUFBLEVBQ2hCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sZ0NBQWdDLFFBQTJGO0FBQ2hJLFNBQUssT0FBTyxnQ0FBZ0MsT0FBTyxRQUFRLENBQUMseUJBQXlCLG9CQUFvQixPQUFPLFFBQVEsb0JBQW9CLENBQUMsQ0FBQztBQUFBLEVBQ2hKO0FBQ0Y7IiwibmFtZXMiOltdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi1wcm90b2NvbC1oYW5kbGVyLXJlZ2lzdHJhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlciByZWdpc3RyYXJzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgT2JzaWRpYW5Qcm90b2NvbERhdGEsXG4gIFBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBub3JtYWxpemVQcm9taXNhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcblxuLyoqXG4gKiBBIHJlZ2lzdHJhciBmb3IgT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXIge1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGFuIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlcjogKHBhcmFtczogT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zKSA9PiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gdG8gcmVnaXN0ZXIgdGhlIGhhbmRsZXIgZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb2JzaWRpYW5Qcm90b2NvbERhdGEgLSBUaGUgZGF0YSBwYXNzZWQgdG8gdGhlIGhhbmRsZXIuXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGhhbmRsZXIuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyOiAob2JzaWRpYW5Qcm90b2NvbERhdGE6IE9ic2lkaWFuUHJvdG9jb2xEYXRhKSA9PiBQcm9taXNhYmxlPHZvaWQ+O1xufVxuXG50eXBlIFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcyA9IE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcztcblxuLyoqXG4gKiBPYnNpZGlhbiBwcm90b2NvbCBoYW5kbGVyIHJlZ2lzdHJhciBpbiBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciBpbXBsZW1lbnRzIE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBwbHVnaW4gaW5zdGFuY2UgdGhlIHByb3RvY29sIGhhbmRsZXJzIGFyZSByZWdpc3RlcmVkIHdpdGguXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW47XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHtAbGluayBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhcn0gY2xhc3MuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHJlZ2lzdGVyIHRoZSBwcm90b2NvbCBoYW5kbGVyIHdpdGguXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGx1Z2luOiBQbHVnaW4pIHtcbiAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYW4gT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlciByZWdpc3RyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlcihwYXJhbXM6IFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXIocGFyYW1zLmFjdGlvbiwgKG9ic2lkaWFuUHJvdG9jb2xEYXRhKSA9PiBub3JtYWxpemVQcm9taXNhYmxlKHBhcmFtcy5oYW5kbGVyKG9ic2lkaWFuUHJvdG9jb2xEYXRhKSkpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWUEsU0FBUywyQkFBMkI7QUFrQzdCLE1BQU0sdUNBQW1GO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJM0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPWixZQUFZLFFBQWdCO0FBQ2pDLFNBQUssU0FBUztBQUFBLEVBQ2hCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sZ0NBQWdDLFFBQTJGO0FBQ2hJLFNBQUssT0FBTyxnQ0FBZ0MsT0FBTyxRQUFRLENBQUMseUJBQXlCLG9CQUFvQixPQUFPLFFBQVEsb0JBQW9CLENBQUMsQ0FBQztBQUFBLEVBQ2hKO0FBQ0Y7IiwibmFtZXMiOltdfQ==
@@ -0,0 +1,59 @@
1
+ /// <reference path="./library-references.d.mts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * How Obsidian decides where a name may match as an unlinked mention, restated so the index can find the same
6
+ * matches without running a regular expression per name over every note.
7
+ *
8
+ * Obsidian 1.14.4 builds one `RegExp(source, 'gi')` per name of the target note. A name whose first character is
9
+ * a WORD character must be preceded by a non-word character or the start of the file, and one whose last
10
+ * character is a word character must not be followed by one. The word characters are a fixed table of Unicode
11
+ * letters and digits, copied below. This is not a Unicode letter classification: for example, a name such as
12
+ * 東京 has no word character at all and matches inside any run of text. There is no `u` flag, so case is folded
13
+ * the way a non-Unicode `i` regex folds it, one UTF-16
14
+ * code unit at a time, and diacritics are not folded at all.
15
+ */
16
+ /**
17
+ * Canonicalizes text for Obsidian Search and unlinked mentions' non-Unicode ignore-case regex matching.
18
+ *
19
+ * Preserves UTF-16 length, lone surrogates and accents. This is not Unicode or locale case folding:
20
+ * Greek final sigma folds to sigma's uppercase, but Kelvin sign, long s and dotless i do not fold to ASCII.
21
+ * Verified against core Search's `gmi` expressions in Obsidian 1.14.5 and 1.15.0.
22
+ *
23
+ * @param text - The literal text, not a regular expression source.
24
+ * @returns Its ECMAScript non-Unicode ignore-case canonical form.
25
+ */
26
+ export declare function canonicalizeObsidianText(text: string): string;
27
+ /**
28
+ * Builds the regular expression Obsidian matches a name with, one per name, exactly as its own `recomputeUnlinked`
29
+ * builds it. Group 1 is the name itself.
30
+ *
31
+ * @param name - A basename or an alias.
32
+ * @returns The expression, global and case-insensitive.
33
+ */
34
+ export declare function createObsidianMentionRegExp(name: string): RegExp;
35
+ /**
36
+ * Splits a name into the canonical word tokens the index keys it by.
37
+ *
38
+ * @param name - A basename or an alias.
39
+ * @returns The tokens, or `null` when the name cannot be indexed: it has no word character, or it holds a
40
+ * character whose case folding crosses between word and non-word characters.
41
+ */
42
+ export declare function getObsidianNameTokens(name: string): null | string[];
43
+ /**
44
+ * Whether a UTF-16 code unit is one of Obsidian's word characters.
45
+ *
46
+ * @param charCode - The code unit; `NaN`, as `charCodeAt` returns past the end, is not one.
47
+ * @returns Whether it is.
48
+ */
49
+ export declare function isObsidianWordCharacter(charCode: number): boolean;
50
+ /**
51
+ * Splits text into its maximal runs of word characters, each folded to its canonical case.
52
+ *
53
+ * Every match Obsidian finds for an indexable name covers whole runs of this split, in order and with nothing
54
+ * between them, which is what lets the index find candidates without the regular expression.
55
+ *
56
+ * @param text - The text.
57
+ * @returns The canonical tokens, in order.
58
+ */
59
+ export declare function tokenizeObsidianWords(text: string): string[];
@@ -0,0 +1,139 @@
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 { escapeRegExp } from "@mnaoumov/typescript-lib/reg-exp";
34
+ const WORD_LETTERS_SOURCE = /A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source;
35
+ const WORD_DIGITS_SOURCE = /0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source;
36
+ const WORD_CHARACTERS_SOURCE = WORD_LETTERS_SOURCE + WORD_DIGITS_SOURCE;
37
+ const CODE_UNIT_COUNT = 65536;
38
+ const ASCII_LIMIT = 128;
39
+ const characterTablesHolder = { value: null };
40
+ function canonicalizeObsidianText(text) {
41
+ return canonicalizeRun(text, 0, text.length, getCharacterTables());
42
+ }
43
+ function createObsidianMentionRegExp(name) {
44
+ const isFirstWord = isObsidianWordCharacter(name.charCodeAt(0));
45
+ const isLastWord = isObsidianWordCharacter(name.charCodeAt(name.length - 1));
46
+ const prefix = isFirstWord ? `(?:^|[^${WORD_CHARACTERS_SOURCE}])` : "";
47
+ const suffix = isLastWord ? `(?![${WORD_CHARACTERS_SOURCE}])` : "()";
48
+ return new RegExp(`${prefix}(${escapeRegExp(name)})${suffix}`, "gi");
49
+ }
50
+ function getObsidianNameTokens(name) {
51
+ const tables = getCharacterTables();
52
+ for (let index = 0; index < name.length; index++) {
53
+ if (tables.ambiguityFlags[name.charCodeAt(index)] === 1) {
54
+ return null;
55
+ }
56
+ }
57
+ const tokens = tokenizeObsidianWords(name);
58
+ return tokens.length === 0 ? null : tokens;
59
+ }
60
+ function isObsidianWordCharacter(charCode) {
61
+ return getCharacterTables().wordFlags[charCode] === 1;
62
+ }
63
+ function tokenizeObsidianWords(text) {
64
+ const tables = getCharacterTables();
65
+ const tokens = [];
66
+ let tokenStart = -1;
67
+ let hasIrregularCase = false;
68
+ for (let index = 0; index <= text.length; index++) {
69
+ const charCode = text.charCodeAt(index);
70
+ if (tables.wordFlags[charCode] === 1) {
71
+ if (tokenStart === -1) {
72
+ tokenStart = index;
73
+ hasIrregularCase = false;
74
+ }
75
+ if (tables.irregularCaseFlags[charCode] === 1) {
76
+ hasIrregularCase = true;
77
+ }
78
+ continue;
79
+ }
80
+ if (tokenStart === -1) {
81
+ continue;
82
+ }
83
+ tokens.push(hasIrregularCase ? canonicalizeRun(text, tokenStart, index, tables) : text.slice(tokenStart, index).toUpperCase());
84
+ tokenStart = -1;
85
+ }
86
+ return tokens;
87
+ }
88
+ function buildCharacterTables() {
89
+ const wordRegExp = new RegExp(`[${WORD_CHARACTERS_SOURCE}]`);
90
+ const canonicalCharacters = [];
91
+ const irregularCaseFlags = new Uint8Array(CODE_UNIT_COUNT);
92
+ const wordFlags = new Uint8Array(CODE_UNIT_COUNT);
93
+ const foldedFromWordFlags = new Uint8Array(CODE_UNIT_COUNT);
94
+ const foldedFromNonWordFlags = new Uint8Array(CODE_UNIT_COUNT);
95
+ for (let charCode = 0; charCode < CODE_UNIT_COUNT; charCode++) {
96
+ const character = String.fromCharCode(charCode);
97
+ const canonicalCharCode = canonicalize(charCode, character);
98
+ const canonicalCharacter = String.fromCharCode(canonicalCharCode);
99
+ canonicalCharacters.push(canonicalCharacter);
100
+ irregularCaseFlags[charCode] = character.toUpperCase() === canonicalCharacter ? 0 : 1;
101
+ const isObsidianWordCharacterValue = wordRegExp.test(character);
102
+ wordFlags[charCode] = isObsidianWordCharacterValue ? 1 : 0;
103
+ (isObsidianWordCharacterValue ? foldedFromWordFlags : foldedFromNonWordFlags)[canonicalCharCode] = 1;
104
+ }
105
+ const canonical = canonicalCharacters.join("");
106
+ const ambiguityFlags = new Uint8Array(CODE_UNIT_COUNT);
107
+ for (let charCode = 0; charCode < CODE_UNIT_COUNT; charCode++) {
108
+ const canonicalCharCode = canonical.charCodeAt(charCode);
109
+ ambiguityFlags[charCode] = foldedFromWordFlags[canonicalCharCode] === 1 && foldedFromNonWordFlags[canonicalCharCode] === 1 ? 1 : 0;
110
+ }
111
+ return { ambiguityFlags, canonical, irregularCaseFlags, wordFlags };
112
+ }
113
+ function canonicalize(charCode, character) {
114
+ const upperCase = character.toUpperCase();
115
+ if (upperCase.length !== 1) {
116
+ return charCode;
117
+ }
118
+ const upperCharCode = upperCase.charCodeAt(0);
119
+ return charCode >= ASCII_LIMIT && upperCharCode < ASCII_LIMIT ? charCode : upperCharCode;
120
+ }
121
+ function canonicalizeRun(text, start, end, tables) {
122
+ const characters = [];
123
+ for (let index = start; index < end; index++) {
124
+ characters.push(tables.canonical.charAt(text.charCodeAt(index)));
125
+ }
126
+ return characters.join("");
127
+ }
128
+ function getCharacterTables() {
129
+ characterTablesHolder.value ??= buildCharacterTables();
130
+ return characterTablesHolder.value;
131
+ }
132
+ export {
133
+ canonicalizeObsidianText,
134
+ createObsidianMentionRegExp,
135
+ getObsidianNameTokens,
136
+ isObsidianWordCharacter,
137
+ tokenizeObsidianWords
138
+ };
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi13b3JkLWNoYXJhY3RlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEhvdyBPYnNpZGlhbiBkZWNpZGVzIHdoZXJlIGEgbmFtZSBtYXkgbWF0Y2ggYXMgYW4gdW5saW5rZWQgbWVudGlvbiwgcmVzdGF0ZWQgc28gdGhlIGluZGV4IGNhbiBmaW5kIHRoZSBzYW1lXG4gKiBtYXRjaGVzIHdpdGhvdXQgcnVubmluZyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBwZXIgbmFtZSBvdmVyIGV2ZXJ5IG5vdGUuXG4gKlxuICogT2JzaWRpYW4gMS4xNC40IGJ1aWxkcyBvbmUgYFJlZ0V4cChzb3VyY2UsICdnaScpYCBwZXIgbmFtZSBvZiB0aGUgdGFyZ2V0IG5vdGUuIEEgbmFtZSB3aG9zZSBmaXJzdCBjaGFyYWN0ZXIgaXNcbiAqIGEgV09SRCBjaGFyYWN0ZXIgbXVzdCBiZSBwcmVjZWRlZCBieSBhIG5vbi13b3JkIGNoYXJhY3RlciBvciB0aGUgc3RhcnQgb2YgdGhlIGZpbGUsIGFuZCBvbmUgd2hvc2UgbGFzdFxuICogY2hhcmFjdGVyIGlzIGEgd29yZCBjaGFyYWN0ZXIgbXVzdCBub3QgYmUgZm9sbG93ZWQgYnkgb25lLiBUaGUgd29yZCBjaGFyYWN0ZXJzIGFyZSBhIGZpeGVkIHRhYmxlIG9mIFVuaWNvZGVcbiAqIGxldHRlcnMgYW5kIGRpZ2l0cywgY29waWVkIGJlbG93LiBUaGlzIGlzIG5vdCBhIFVuaWNvZGUgbGV0dGVyIGNsYXNzaWZpY2F0aW9uOiBmb3IgZXhhbXBsZSwgYSBuYW1lIHN1Y2ggYXNcbiAqIOadseS6rCBoYXMgbm8gd29yZCBjaGFyYWN0ZXIgYXQgYWxsIGFuZCBtYXRjaGVzIGluc2lkZSBhbnkgcnVuIG9mIHRleHQuIFRoZXJlIGlzIG5vIGB1YCBmbGFnLCBzbyBjYXNlIGlzIGZvbGRlZFxuICogdGhlIHdheSBhIG5vbi1Vbmljb2RlIGBpYCByZWdleCBmb2xkcyBpdCwgb25lIFVURi0xNlxuICogY29kZSB1bml0IGF0IGEgdGltZSwgYW5kIGRpYWNyaXRpY3MgYXJlIG5vdCBmb2xkZWQgYXQgYWxsLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIHVuaWNvcm4vcHJlZmVyLWNvZGUtcG9pbnQgLS0gT2JzaWRpYW4ncyByZWdleCBoYXMgbm8gYHVgIGZsYWcsIHNvIGl0IHJlYWRzIFVURi0xNiBjb2RlIHVuaXRzLCBhbmQgc28gbXVzdCBldmVyeSB0YWJsZSBoZXJlLiAqL1xuXG5pbXBvcnQgeyBlc2NhcGVSZWdFeHAgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcmVnLWV4cCc7XG5cbi8vIENvcGllZCBmcm9tIE9ic2lkaWFuIDEuMTQuNCdzIGBhcHAuanNgOiB0aGUgbGV0dGVycywgdGhlbiB0aGUgZGlnaXRzLCBvZiBpdHMgd29yZC1jaGFyYWN0ZXIgY2xhc3MuXG4vKiBlc2xpbnQtZGlzYWJsZSB1bmljb3JuL3ByZWZlci11bmljb2RlLWNvZGUtcG9pbnQtZXNjYXBlcyAtLSBDb3BpZWQgdmVyYmF0aW0sIGFuZCByZWFkIHdpdGhvdXQgdGhlIGB1YCBmbGFnLCB3aGVyZSBgXFx1ey4uLn1gIG1lYW5zIHNvbWV0aGluZyBlbHNlLiAqL1xuY29uc3QgV09SRF9MRVRURVJTX1NPVVJDRSA9XG4gIC9BLVphLXpcXHUwMEFBXFx1MDBCNVxcdTAwQkFcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyQzFcXHUwMkM2LVxcdTAyRDFcXHUwMkUwLVxcdTAyRTRcXHUwMkVDXFx1MDJFRVxcdTAzNzAtXFx1MDM3NFxcdTAzNzZcXHUwMzc3XFx1MDM3QS1cXHUwMzdEXFx1MDM3RlxcdTAzODZcXHUwMzg4LVxcdTAzOEFcXHUwMzhDXFx1MDM4RS1cXHUwM0ExXFx1MDNBMy1cXHUwM0Y1XFx1MDNGNy1cXHUwNDgxXFx1MDQ4QS1cXHUwNTJGXFx1MDUzMS1cXHUwNTU2XFx1MDU1OVxcdTA1NjEtXFx1MDU4N1xcdTA1RDAtXFx1MDVFQVxcdTA1RjAtXFx1MDVGMlxcdTA2MjAtXFx1MDY0QVxcdTA2NkVcXHUwNjZGXFx1MDY3MS1cXHUwNkQzXFx1MDZENVxcdTA2RTVcXHUwNkU2XFx1MDZFRVxcdTA2RUZcXHUwNkZBLVxcdTA2RkNcXHUwNkZGXFx1MDcxMFxcdTA3MTItXFx1MDcyRlxcdTA3NEQtXFx1MDdBNVxcdTA3QjFcXHUwN0NBLVxcdTA3RUFcXHUwN0Y0XFx1MDdGNVxcdTA3RkFcXHUwODAwLVxcdTA4MTVcXHUwODFBXFx1MDgyNFxcdTA4MjhcXHUwODQwLVxcdTA4NThcXHUwOEEwLVxcdTA4QjRcXHUwOTA0LVxcdTA5MzlcXHUwOTNEXFx1MDk1MFxcdTA5NTgtXFx1MDk2MVxcdTA5NzEtXFx1MDk4MFxcdTA5ODUtXFx1MDk4Q1xcdTA5OEZcXHUwOTkwXFx1MDk5My1cXHUwOUE4XFx1MDlBQS1cXHUwOUIwXFx1MDlCMlxcdTA5QjYtXFx1MDlCOVxcdTA5QkRcXHUwOUNFXFx1MDlEQ1xcdTA5RERcXHUwOURGLVxcdTA5RTFcXHUwOUYwXFx1MDlGMVxcdTBBMDUtXFx1MEEwQVxcdTBBMEZcXHUwQTEwXFx1MEExMy1cXHUwQTI4XFx1MEEyQS1cXHUwQTMwXFx1MEEzMlxcdTBBMzNcXHUwQTM1XFx1MEEzNlxcdTBBMzhcXHUwQTM5XFx1MEE1OS1cXHUwQTVDXFx1MEE1RVxcdTBBNzItXFx1MEE3NFxcdTBBODUtXFx1MEE4RFxcdTBBOEYtXFx1MEE5MVxcdTBBOTMtXFx1MEFBOFxcdTBBQUEtXFx1MEFCMFxcdTBBQjJcXHUwQUIzXFx1MEFCNS1cXHUwQUI5XFx1MEFCRFxcdTBBRDBcXHUwQUUwXFx1MEFFMVxcdTBBRjlcXHUwQjA1LVxcdTBCMENcXHUwQjBGXFx1MEIxMFxcdTBCMTMtXFx1MEIyOFxcdTBCMkEtXFx1MEIzMFxcdTBCMzJcXHUwQjMzXFx1MEIzNS1cXHUwQjM5XFx1MEIzRFxcdTBCNUNcXHUwQjVEXFx1MEI1Ri1cXHUwQjYxXFx1MEI3MVxcdTBCODNcXHUwQjg1LVxcdTBCOEFcXHUwQjhFLVxcdTBCOTBcXHUwQjkyLVxcdTBCOTVcXHUwQjk5XFx1MEI5QVxcdTBCOUNcXHUwQjlFXFx1MEI5RlxcdTBCQTNcXHUwQkE0XFx1MEJBOC1cXHUwQkFBXFx1MEJBRS1cXHUwQkI5XFx1MEJEMFxcdTBDMDUtXFx1MEMwQ1xcdTBDMEUtXFx1MEMxMFxcdTBDMTItXFx1MEMyOFxcdTBDMkEtXFx1MEMzOVxcdTBDM0RcXHUwQzU4LVxcdTBDNUFcXHUwQzYwXFx1MEM2MVxcdTBDODUtXFx1MEM4Q1xcdTBDOEUtXFx1MEM5MFxcdTBDOTItXFx1MENBOFxcdTBDQUEtXFx1MENCM1xcdTBDQjUtXFx1MENCOVxcdTBDQkRcXHUwQ0RFXFx1MENFMFxcdTBDRTFcXHUwQ0YxXFx1MENGMlxcdTBEMDUtXFx1MEQwQ1xcdTBEMEUtXFx1MEQxMFxcdTBEMTItXFx1MEQzQVxcdTBEM0RcXHUwRDRFXFx1MEQ1Ri1cXHUwRDYxXFx1MEQ3QS1cXHUwRDdGXFx1MEQ4NS1cXHUwRDk2XFx1MEQ5QS1cXHUwREIxXFx1MERCMy1cXHUwREJCXFx1MERCRFxcdTBEQzAtXFx1MERDNlxcdTBFMDEtXFx1MEUzMFxcdTBFMzJcXHUwRTMzXFx1MEU0MC1cXHUwRTQ2XFx1MEU4MVxcdTBFODJcXHUwRTg0XFx1MEU4N1xcdTBFODhcXHUwRThBXFx1MEU4RFxcdTBFOTQtXFx1MEU5N1xcdTBFOTktXFx1MEU5RlxcdTBFQTEtXFx1MEVBM1xcdTBFQTVcXHUwRUE3XFx1MEVBQVxcdTBFQUJcXHUwRUFELVxcdTBFQjBcXHUwRUIyXFx1MEVCM1xcdTBFQkRcXHUwRUMwLVxcdTBFQzRcXHUwRUM2XFx1MEVEQy1cXHUwRURGXFx1MTAwMC1cXHUxMDJBXFx1MTAzRlxcdTEwNTAtXFx1MTA1NVxcdTEwNUEtXFx1MTA1RFxcdTEwNjFcXHUxMDY1XFx1MTA2NlxcdTEwNkUtXFx1MTA3MFxcdTEwNzUtXFx1MTA4MVxcdTEwOEVcXHUxMEEwLVxcdTEwQzVcXHUxMEM3XFx1MTBDRFxcdTEwRDAtXFx1MTBGQVxcdTEwRkMtXFx1MTI0OFxcdTEyNEEtXFx1MTI0RFxcdTEyNTAtXFx1MTI1NlxcdTEyNThcXHUxMjVBLVxcdTEyNURcXHUxMjYwLVxcdTEyODhcXHUxMjhBLVxcdTEyOERcXHUxMjkwLVxcdTEyQjBcXHUxMkIyLVxcdTEyQjVcXHUxMkI4LVxcdTEyQkVcXHUxMkMwXFx1MTJDMi1cXHUxMkM1XFx1MTJDOC1cXHUxMkQ2XFx1MTJEOC1cXHUxMzEwXFx1MTMxMi1cXHUxMzE1XFx1MTMxOC1cXHUxMzVBXFx1MTM4MC1cXHUxMzhGXFx1MTNBMC1cXHUxM0Y1XFx1MTNGOC1cXHUxM0ZEXFx1MTQwMS1cXHUxNjZDXFx1MTY2Ri1cXHUxNjdGXFx1MTY4MS1cXHUxNjlBXFx1MTZBMC1cXHUxNkVBXFx1MTZGMS1cXHUxNkY4XFx1MTcwMC1cXHUxNzBDXFx1MTcwRS1cXHUxNzExXFx1MTcyMC1cXHUxNzMxXFx1MTc0MC1cXHUxNzUxXFx1MTc2MC1cXHUxNzZDXFx1MTc2RS1cXHUxNzcwXFx1MTc4MC1cXHUxN0IzXFx1MTdEN1xcdTE3RENcXHUxODIwLVxcdTE4NzdcXHUxODgwLVxcdTE4QThcXHUxOEFBXFx1MThCMC1cXHUxOEY1XFx1MTkwMC1cXHUxOTFFXFx1MTk1MC1cXHUxOTZEXFx1MTk3MC1cXHUxOTc0XFx1MTk4MC1cXHUxOUFCXFx1MTlCMC1cXHUxOUM5XFx1MUEwMC1cXHUxQTE2XFx1MUEyMC1cXHUxQTU0XFx1MUFBN1xcdTFCMDUtXFx1MUIzM1xcdTFCNDUtXFx1MUI0QlxcdTFCODMtXFx1MUJBMFxcdTFCQUVcXHUxQkFGXFx1MUJCQS1cXHUxQkU1XFx1MUMwMC1cXHUxQzIzXFx1MUM0RC1cXHUxQzRGXFx1MUM1QS1cXHUxQzdEXFx1MUNFOS1cXHUxQ0VDXFx1MUNFRS1cXHUxQ0YxXFx1MUNGNVxcdTFDRjZcXHUxRDAwLVxcdTFEQkZcXHUxRTAwLVxcdTFGMTVcXHUxRjE4LVxcdTFGMURcXHUxRjIwLVxcdTFGNDVcXHUxRjQ4LVxcdTFGNERcXHUxRjUwLVxcdTFGNTdcXHUxRjU5XFx1MUY1QlxcdTFGNURcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXFx1MUZEMC1cXHUxRkQzXFx1MUZENi1cXHUxRkRCXFx1MUZFMC1cXHUxRkVDXFx1MUZGMi1cXHUxRkY0XFx1MUZGNi1cXHUxRkZDXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE5LVxcdTIxMURcXHUyMTI0XFx1MjEyNlxcdTIxMjhcXHUyMTJBLVxcdTIxMkRcXHUyMTJGLVxcdTIxMzlcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE4M1xcdTIxODRcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDRTRcXHUyQ0VCLVxcdTJDRUVcXHUyQ0YyXFx1MkNGM1xcdTJEMDAtXFx1MkQyNVxcdTJEMjdcXHUyRDJEXFx1MkQzMC1cXHUyRDY3XFx1MkQ2RlxcdTJEODAtXFx1MkQ5NlxcdTJEQTAtXFx1MkRBNlxcdTJEQTgtXFx1MkRBRVxcdTJEQjAtXFx1MkRCNlxcdTJEQjgtXFx1MkRCRVxcdTJEQzAtXFx1MkRDNlxcdTJEQzgtXFx1MkRDRVxcdTJERDAtXFx1MkRENlxcdTJERDgtXFx1MkRERVxcdTJFMkZcXHUzMDA1XFx1MzAwNlxcdTMwMzEtXFx1MzAzNVxcdTMwM0JcXHUzMDNDXFx1MzEwNS1cXHUzMTJEXFx1MzEzMS1cXHUzMThFXFx1MzFBMC1cXHUzMUJBXFx1MzFGMC1cXHUzMUZGXFx1MzQwMC1cXHU0REI1XFx1QTAwMC1cXHVBNDhDXFx1QTREMC1cXHVBNEZEXFx1QTUwMC1cXHVBNjBDXFx1QTYxMC1cXHVBNjFGXFx1QTYyQVxcdUE2MkJcXHVBNjQwLVxcdUE2NkVcXHVBNjdGLVxcdUE2OURcXHVBNkEwLVxcdUE2RTVcXHVBNzE3LVxcdUE3MUZcXHVBNzIyLVxcdUE3ODhcXHVBNzhCLVxcdUE3QURcXHVBN0IwLVxcdUE3QjdcXHVBN0Y3LVxcdUE4MDFcXHVBODAzLVxcdUE4MDVcXHVBODA3LVxcdUE4MEFcXHVBODBDLVxcdUE4MjJcXHVBODQwLVxcdUE4NzNcXHVBODgyLVxcdUE4QjNcXHVBOEYyLVxcdUE4RjdcXHVBOEZCXFx1QThGRFxcdUE5MEEtXFx1QTkyNVxcdUE5MzAtXFx1QTk0NlxcdUE5ODQtXFx1QTlCMlxcdUE5Q0ZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2LVxcdUE5RUZcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTQwLVxcdUFBNDJcXHVBQTQ0LVxcdUFBNEJcXHVBQTYwLVxcdUFBNzZcXHVBQTdBXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVxcdUFBQjVcXHVBQUI2XFx1QUFCOS1cXHVBQUJEXFx1QUFDMFxcdUFBQzJcXHVBQURCLVxcdUFBRERcXHVBQUUwLVxcdUFBRUFcXHVBQUYyLVxcdUFBRjRcXHVBQjAxLVxcdUFCMDZcXHVBQjA5LVxcdUFCMEVcXHVBQjExLVxcdUFCMTZcXHVBQjIwLVxcdUFCMjZcXHVBQjI4LVxcdUFCMkVcXHVBQjMwLVxcdUFCNUFcXHVBQjVDLVxcdUFCNjVcXHVBQjcwLVxcdUFCRTJcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFEXFx1RkIxRi1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTcwLVxcdUZFNzRcXHVGRTc2LVxcdUZFRkNcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGREMvXG4gICAgLnNvdXJjZTtcbmNvbnN0IFdPUkRfRElHSVRTX1NPVVJDRSA9IC8wLTlcXHUwNjYwLVxcdTA2NjlcXHUwNkYwLVxcdTA2RjlcXHUwN0MwLVxcdTA3QzlcXHUwOTY2LVxcdTA5NkZcXHUwOUU2LVxcdTA5RUZcXHUwQTY2LVxcdTBBNkZcXHUwQUU2LVxcdTBBRUZcXHUwQjY2LVxcdTBCNkZcXHUwQkU2LVxcdTBCRUZcXHUwQzY2LVxcdTBDNkZcXHUwQ0U2LVxcdTBDRUZcXHUwRDY2LVxcdTBENkZcXHUwREU2LVxcdTBERUZcXHUwRTUwLVxcdTBFNTlcXHUwRUQwLVxcdTBFRDlcXHUwRjIwLVxcdTBGMjlcXHUxMDQwLVxcdTEwNDlcXHUxMDkwLVxcdTEwOTlcXHUxN0UwLVxcdTE3RTlcXHUxODEwLVxcdTE4MTlcXHUxOTQ2LVxcdTE5NEZcXHUxOUQwLVxcdTE5RDlcXHUxQTgwLVxcdTFBODlcXHUxQTkwLVxcdTFBOTlcXHUxQjUwLVxcdTFCNTlcXHUxQkIwLVxcdTFCQjlcXHUxQzQwLVxcdTFDNDlcXHUxQzUwLVxcdTFDNTlcXHVBNjIwLVxcdUE2MjlcXHVBOEQwLVxcdUE4RDlcXHVBOTAwLVxcdUE5MDlcXHVBOUQwLVxcdUE5RDlcXHVBOUYwLVxcdUE5RjlcXHVBQTUwLVxcdUFBNTlcXHVBQkYwLVxcdUFCRjlcXHVGRjEwLVxcdUZGMTkvLnNvdXJjZTtcbi8qIGVzbGludC1lbmFibGUgdW5pY29ybi9wcmVmZXItdW5pY29kZS1jb2RlLXBvaW50LWVzY2FwZXMgLS0gRW5kIG9mIHRoZSBjb3BpZWQgY2xhc3MuICovXG5jb25zdCBXT1JEX0NIQVJBQ1RFUlNfU09VUkNFID0gV09SRF9MRVRURVJTX1NPVVJDRSArIFdPUkRfRElHSVRTX1NPVVJDRTtcblxuY29uc3QgQ09ERV9VTklUX0NPVU5UID0gMHgxXzAwXzAwO1xuY29uc3QgQVNDSUlfTElNSVQgPSAweDgwO1xuXG5pbnRlcmZhY2UgQ2hhcmFjdGVyVGFibGVzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBjb2RlIHVuaXQgc2hhcmVzIGl0cyBjYW5vbmljYWwgZm9ybSB3aXRoIGFub3RoZXIgY29kZSB1bml0IG9mIHRoZSBPVEhFUiB3b3JkLW5lc3MuIEEgbmFtZSBob2xkaW5nXG4gICAqIG9uZSBjYW5ub3QgYmUgc3BsaXQgaW50byB0b2tlbnMgdGhlIHdheSB0aGUgdGV4dCBpdCBtYXRjaGVzIGlzIHNwbGl0LCBzbyBpdCBpcyBuZXZlciBpbmRleGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYW1iaWd1aXR5RmxhZ3M6IFVpbnQ4QXJyYXk7XG5cbiAgLyoqXG4gICAqIEVhY2ggY29kZSB1bml0J3MgY2Fub25pY2FsIGZvcm0gdW5kZXIgYSBub24tVW5pY29kZSBgaWAgcmVnZXg6IHRoZSBjaGFyYWN0ZXIgYXQgdGhlIGNvZGUgdW5pdCdzIGluZGV4LlxuICAgKi9cbiAgcmVhZG9ubHkgY2Fub25pY2FsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBjb2RlIHVuaXQncyBjYW5vbmljYWwgZm9ybSBpcyBOT1Qgd2hhdCBgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZWAgbWFrZXMgb2YgaXQ6IGDDn2AsIHdob3NlIHVwcGVyXG4gICAqIGNhc2UgaXMgdHdvIGNvZGUgdW5pdHMsIG9yIGDEsWAsIHdoaWNoIHRoZSByZWdleCByZWZ1c2VzIHRvIGZvbGQgdG8gYW4gQVNDSUkgYElgLiBBIHJ1biBmcmVlIG9mIHRoZW0gaXMgZm9sZGVkIGJ5XG4gICAqIG9uZSBgdG9VcHBlckNhc2VgIGNhbGwuXG4gICAqL1xuICByZWFkb25seSBpcnJlZ3VsYXJDYXNlRmxhZ3M6IFVpbnQ4QXJyYXk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBjb2RlIHVuaXQgaXMgb25lIG9mIE9ic2lkaWFuJ3Mgd29yZCBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgd29yZEZsYWdzOiBVaW50OEFycmF5O1xufVxuXG5pbnRlcmZhY2UgQ2hhcmFjdGVyVGFibGVzSG9sZGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQtZGV2LXRvb2xraXQvcmVhZG9ubHktaW50ZXJmYWNlLW1lbWJlcnMgLS0gVGhlIGNoYXJhY3RlciB0YWJsZXMgYXJlIGNhY2hlZCBoZXJlIG9uIGZpcnN0IHVzZS5cbiAgdmFsdWU6IENoYXJhY3RlclRhYmxlcyB8IG51bGw7XG59XG5cbi8vIEEgaG9sZGVyIHJhdGhlciB0aGFuIGEgdmFyaWFibGUsIHNvIGJ1aWxkaW5nIHRoZSB0YWJsZXMgb24gZmlyc3QgdXNlIG11dGF0ZXMgaXQgaW5zdGVhZCBvZiByZWFzc2lnbmluZyBpdC5cbmNvbnN0IGNoYXJhY3RlclRhYmxlc0hvbGRlcjogQ2hhcmFjdGVyVGFibGVzSG9sZGVyID0geyB2YWx1ZTogbnVsbCB9O1xuXG4vKipcbiAqIENhbm9uaWNhbGl6ZXMgdGV4dCBmb3IgT2JzaWRpYW4gU2VhcmNoIGFuZCB1bmxpbmtlZCBtZW50aW9ucycgbm9uLVVuaWNvZGUgaWdub3JlLWNhc2UgcmVnZXggbWF0Y2hpbmcuXG4gKlxuICogUHJlc2VydmVzIFVURi0xNiBsZW5ndGgsIGxvbmUgc3Vycm9nYXRlcyBhbmQgYWNjZW50cy4gVGhpcyBpcyBub3QgVW5pY29kZSBvciBsb2NhbGUgY2FzZSBmb2xkaW5nOlxuICogR3JlZWsgZmluYWwgc2lnbWEgZm9sZHMgdG8gc2lnbWEncyB1cHBlcmNhc2UsIGJ1dCBLZWx2aW4gc2lnbiwgbG9uZyBzIGFuZCBkb3RsZXNzIGkgZG8gbm90IGZvbGQgdG8gQVNDSUkuXG4gKiBWZXJpZmllZCBhZ2FpbnN0IGNvcmUgU2VhcmNoJ3MgYGdtaWAgZXhwcmVzc2lvbnMgaW4gT2JzaWRpYW4gMS4xNC41IGFuZCAxLjE1LjAuXG4gKlxuICogQHBhcmFtIHRleHQgLSBUaGUgbGl0ZXJhbCB0ZXh0LCBub3QgYSByZWd1bGFyIGV4cHJlc3Npb24gc291cmNlLlxuICogQHJldHVybnMgSXRzIEVDTUFTY3JpcHQgbm9uLVVuaWNvZGUgaWdub3JlLWNhc2UgY2Fub25pY2FsIGZvcm0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYW5vbmljYWxpemVPYnNpZGlhblRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGNhbm9uaWNhbGl6ZVJ1bih0ZXh0LCAwLCB0ZXh0Lmxlbmd0aCwgZ2V0Q2hhcmFjdGVyVGFibGVzKCkpO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgcmVndWxhciBleHByZXNzaW9uIE9ic2lkaWFuIG1hdGNoZXMgYSBuYW1lIHdpdGgsIG9uZSBwZXIgbmFtZSwgZXhhY3RseSBhcyBpdHMgb3duIGByZWNvbXB1dGVVbmxpbmtlZGBcbiAqIGJ1aWxkcyBpdC4gR3JvdXAgMSBpcyB0aGUgbmFtZSBpdHNlbGYuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBBIGJhc2VuYW1lIG9yIGFuIGFsaWFzLlxuICogQHJldHVybnMgVGhlIGV4cHJlc3Npb24sIGdsb2JhbCBhbmQgY2FzZS1pbnNlbnNpdGl2ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU9ic2lkaWFuTWVudGlvblJlZ0V4cChuYW1lOiBzdHJpbmcpOiBSZWdFeHAge1xuICBjb25zdCBpc0ZpcnN0V29yZCA9IGlzT2JzaWRpYW5Xb3JkQ2hhcmFjdGVyKG5hbWUuY2hhckNvZGVBdCgwKSk7XG4gIGNvbnN0IGlzTGFzdFdvcmQgPSBpc09ic2lkaWFuV29yZENoYXJhY3RlcihuYW1lLmNoYXJDb2RlQXQobmFtZS5sZW5ndGggLSAxKSk7XG4gIGNvbnN0IHByZWZpeCA9IGlzRmlyc3RXb3JkID8gYCg/Ol58W14ke1dPUkRfQ0hBUkFDVEVSU19TT1VSQ0V9XSlgIDogJyc7XG4gIGNvbnN0IHN1ZmZpeCA9IGlzTGFzdFdvcmQgPyBgKD8hWyR7V09SRF9DSEFSQUNURVJTX1NPVVJDRX1dKWAgOiAnKCknO1xuICByZXR1cm4gbmV3IFJlZ0V4cChgJHtwcmVmaXh9KCR7ZXNjYXBlUmVnRXhwKG5hbWUpfSkke3N1ZmZpeH1gLCAnZ2knKTtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBuYW1lIGludG8gdGhlIGNhbm9uaWNhbCB3b3JkIHRva2VucyB0aGUgaW5kZXgga2V5cyBpdCBieS5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIEEgYmFzZW5hbWUgb3IgYW4gYWxpYXMuXG4gKiBAcmV0dXJucyBUaGUgdG9rZW5zLCBvciBgbnVsbGAgd2hlbiB0aGUgbmFtZSBjYW5ub3QgYmUgaW5kZXhlZDogaXQgaGFzIG5vIHdvcmQgY2hhcmFjdGVyLCBvciBpdCBob2xkcyBhXG4gKiAgIGNoYXJhY3RlciB3aG9zZSBjYXNlIGZvbGRpbmcgY3Jvc3NlcyBiZXR3ZWVuIHdvcmQgYW5kIG5vbi13b3JkIGNoYXJhY3RlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhbk5hbWVUb2tlbnMobmFtZTogc3RyaW5nKTogbnVsbCB8IHN0cmluZ1tdIHtcbiAgY29uc3QgdGFibGVzID0gZ2V0Q2hhcmFjdGVyVGFibGVzKCk7XG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBuYW1lLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGlmICh0YWJsZXMuYW1iaWd1aXR5RmxhZ3NbbmFtZS5jaGFyQ29kZUF0KGluZGV4KV0gPT09IDEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRva2VucyA9IHRva2VuaXplT2JzaWRpYW5Xb3JkcyhuYW1lKTtcbiAgcmV0dXJuIHRva2Vucy5sZW5ndGggPT09IDAgPyBudWxsIDogdG9rZW5zO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgYSBVVEYtMTYgY29kZSB1bml0IGlzIG9uZSBvZiBPYnNpZGlhbidzIHdvcmQgY2hhcmFjdGVycy5cbiAqXG4gKiBAcGFyYW0gY2hhckNvZGUgLSBUaGUgY29kZSB1bml0OyBgTmFOYCwgYXMgYGNoYXJDb2RlQXRgIHJldHVybnMgcGFzdCB0aGUgZW5kLCBpcyBub3Qgb25lLlxuICogQHJldHVybnMgV2hldGhlciBpdCBpcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JzaWRpYW5Xb3JkQ2hhcmFjdGVyKGNoYXJDb2RlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldENoYXJhY3RlclRhYmxlcygpLndvcmRGbGFnc1tjaGFyQ29kZV0gPT09IDE7XG59XG5cbi8qKlxuICogU3BsaXRzIHRleHQgaW50byBpdHMgbWF4aW1hbCBydW5zIG9mIHdvcmQgY2hhcmFjdGVycywgZWFjaCBmb2xkZWQgdG8gaXRzIGNhbm9uaWNhbCBjYXNlLlxuICpcbiAqIEV2ZXJ5IG1hdGNoIE9ic2lkaWFuIGZpbmRzIGZvciBhbiBpbmRleGFibGUgbmFtZSBjb3ZlcnMgd2hvbGUgcnVucyBvZiB0aGlzIHNwbGl0LCBpbiBvcmRlciBhbmQgd2l0aCBub3RoaW5nXG4gKiBiZXR3ZWVuIHRoZW0sIHdoaWNoIGlzIHdoYXQgbGV0cyB0aGUgaW5kZXggZmluZCBjYW5kaWRhdGVzIHdpdGhvdXQgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gdGV4dCAtIFRoZSB0ZXh0LlxuICogQHJldHVybnMgVGhlIGNhbm9uaWNhbCB0b2tlbnMsIGluIG9yZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemVPYnNpZGlhbldvcmRzKHRleHQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgdGFibGVzID0gZ2V0Q2hhcmFjdGVyVGFibGVzKCk7XG4gIGNvbnN0IHRva2Vuczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHRva2VuU3RhcnQgPSAtMTtcbiAgbGV0IGhhc0lycmVndWxhckNhc2UgPSBmYWxzZTtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDw9IHRleHQubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgY2hhckNvZGUgPSB0ZXh0LmNoYXJDb2RlQXQoaW5kZXgpO1xuICAgIGlmICh0YWJsZXMud29yZEZsYWdzW2NoYXJDb2RlXSA9PT0gMSkge1xuICAgICAgaWYgKHRva2VuU3RhcnQgPT09IC0xKSB7XG4gICAgICAgIHRva2VuU3RhcnQgPSBpbmRleDtcbiAgICAgICAgaGFzSXJyZWd1bGFyQ2FzZSA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGFibGVzLmlycmVndWxhckNhc2VGbGFnc1tjaGFyQ29kZV0gPT09IDEpIHtcbiAgICAgICAgaGFzSXJyZWd1bGFyQ2FzZSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICh0b2tlblN0YXJ0ID09PSAtMSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdG9rZW5zLnB1c2goaGFzSXJyZWd1bGFyQ2FzZSA/IGNhbm9uaWNhbGl6ZVJ1bih0ZXh0LCB0b2tlblN0YXJ0LCBpbmRleCwgdGFibGVzKSA6IHRleHQuc2xpY2UodG9rZW5TdGFydCwgaW5kZXgpLnRvVXBwZXJDYXNlKCkpO1xuICAgIHRva2VuU3RhcnQgPSAtMTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbnM7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQ2hhcmFjdGVyVGFibGVzKCk6IENoYXJhY3RlclRhYmxlcyB7XG4gIGNvbnN0IHdvcmRSZWdFeHAgPSBuZXcgUmVnRXhwKGBbJHtXT1JEX0NIQVJBQ1RFUlNfU09VUkNFfV1gKTtcbiAgY29uc3QgY2Fub25pY2FsQ2hhcmFjdGVyczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgaXJyZWd1bGFyQ2FzZUZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoQ09ERV9VTklUX0NPVU5UKTtcbiAgY29uc3Qgd29yZEZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoQ09ERV9VTklUX0NPVU5UKTtcbiAgLy8gUGVyIGNhbm9uaWNhbCBmb3JtOiB3aGV0aGVyIGEgd29yZCBjaGFyYWN0ZXIgZm9sZHMgdG8gaXQsIGFuZCB3aGV0aGVyIGEgbm9uLXdvcmQgY2hhcmFjdGVyIGRvZXMuXG4gIGNvbnN0IGZvbGRlZEZyb21Xb3JkRmxhZ3MgPSBuZXcgVWludDhBcnJheShDT0RFX1VOSVRfQ09VTlQpO1xuICBjb25zdCBmb2xkZWRGcm9tTm9uV29yZEZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoQ09ERV9VTklUX0NPVU5UKTtcblxuICBmb3IgKGxldCBjaGFyQ29kZSA9IDA7IGNoYXJDb2RlIDwgQ09ERV9VTklUX0NPVU5UOyBjaGFyQ29kZSsrKSB7XG4gICAgY29uc3QgY2hhcmFjdGVyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSk7XG4gICAgY29uc3QgY2Fub25pY2FsQ2hhckNvZGUgPSBjYW5vbmljYWxpemUoY2hhckNvZGUsIGNoYXJhY3Rlcik7XG4gICAgY29uc3QgY2Fub25pY2FsQ2hhcmFjdGVyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjYW5vbmljYWxDaGFyQ29kZSk7XG4gICAgY2Fub25pY2FsQ2hhcmFjdGVycy5wdXNoKGNhbm9uaWNhbENoYXJhY3Rlcik7XG4gICAgaXJyZWd1bGFyQ2FzZUZsYWdzW2NoYXJDb2RlXSA9IGNoYXJhY3Rlci50b1VwcGVyQ2FzZSgpID09PSBjYW5vbmljYWxDaGFyYWN0ZXIgPyAwIDogMTtcbiAgICBjb25zdCBpc09ic2lkaWFuV29yZENoYXJhY3RlclZhbHVlID0gd29yZFJlZ0V4cC50ZXN0KGNoYXJhY3Rlcik7XG4gICAgd29yZEZsYWdzW2NoYXJDb2RlXSA9IGlzT2JzaWRpYW5Xb3JkQ2hhcmFjdGVyVmFsdWUgPyAxIDogMDtcbiAgICAoaXNPYnNpZGlhbldvcmRDaGFyYWN0ZXJWYWx1ZSA/IGZvbGRlZEZyb21Xb3JkRmxhZ3MgOiBmb2xkZWRGcm9tTm9uV29yZEZsYWdzKVtjYW5vbmljYWxDaGFyQ29kZV0gPSAxO1xuICB9XG5cbiAgY29uc3QgY2Fub25pY2FsID0gY2Fub25pY2FsQ2hhcmFjdGVycy5qb2luKCcnKTtcbiAgY29uc3QgYW1iaWd1aXR5RmxhZ3MgPSBuZXcgVWludDhBcnJheShDT0RFX1VOSVRfQ09VTlQpO1xuICBmb3IgKGxldCBjaGFyQ29kZSA9IDA7IGNoYXJDb2RlIDwgQ09ERV9VTklUX0NPVU5UOyBjaGFyQ29kZSsrKSB7XG4gICAgY29uc3QgY2Fub25pY2FsQ2hhckNvZGUgPSBjYW5vbmljYWwuY2hhckNvZGVBdChjaGFyQ29kZSk7XG4gICAgYW1iaWd1aXR5RmxhZ3NbY2hhckNvZGVdID0gZm9sZGVkRnJvbVdvcmRGbGFnc1tjYW5vbmljYWxDaGFyQ29kZV0gPT09IDEgJiYgZm9sZGVkRnJvbU5vbldvcmRGbGFnc1tjYW5vbmljYWxDaGFyQ29kZV0gPT09IDEgPyAxIDogMDtcbiAgfVxuXG4gIHJldHVybiB7IGFtYmlndWl0eUZsYWdzLCBjYW5vbmljYWwsIGlycmVndWxhckNhc2VGbGFncywgd29yZEZsYWdzIH07XG59XG5cbi8qXG4gKiBFQ01BU2NyaXB0J3MgYENhbm9uaWNhbGl6ZWAgZm9yIGEgcmVndWxhciBleHByZXNzaW9uIHdpdGggYGlgIGFuZCB3aXRob3V0IGB1YDogdGhlIGNvZGUgdW5pdCdzIHVwcGVyIGNhc2UsIHVubGVzc1xuICogdGhhdCBpcyBsb25nZXIgdGhhbiBvbmUgY29kZSB1bml0LCBvciB3b3VsZCB0dXJuIGEgbm9uLUFTQ0lJIGNvZGUgdW5pdCBpbnRvIGFuIEFTQ0lJIG9uZS5cbiAqL1xuZnVuY3Rpb24gY2Fub25pY2FsaXplKGNoYXJDb2RlOiBudW1iZXIsIGNoYXJhY3Rlcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgdXBwZXJDYXNlID0gY2hhcmFjdGVyLnRvVXBwZXJDYXNlKCk7XG4gIGlmICh1cHBlckNhc2UubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIGNoYXJDb2RlO1xuICB9XG5cbiAgY29uc3QgdXBwZXJDaGFyQ29kZSA9IHVwcGVyQ2FzZS5jaGFyQ29kZUF0KDApO1xuICByZXR1cm4gY2hhckNvZGUgPj0gQVNDSUlfTElNSVQgJiYgdXBwZXJDaGFyQ29kZSA8IEFTQ0lJX0xJTUlUID8gY2hhckNvZGUgOiB1cHBlckNoYXJDb2RlO1xufVxuXG5mdW5jdGlvbiBjYW5vbmljYWxpemVSdW4odGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgdGFibGVzOiBDaGFyYWN0ZXJUYWJsZXMpOiBzdHJpbmcge1xuICBjb25zdCBjaGFyYWN0ZXJzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBpbmRleCA9IHN0YXJ0OyBpbmRleCA8IGVuZDsgaW5kZXgrKykge1xuICAgIGNoYXJhY3RlcnMucHVzaCh0YWJsZXMuY2Fub25pY2FsLmNoYXJBdCh0ZXh0LmNoYXJDb2RlQXQoaW5kZXgpKSk7XG4gIH1cblxuICByZXR1cm4gY2hhcmFjdGVycy5qb2luKCcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2hhcmFjdGVyVGFibGVzKCk6IENoYXJhY3RlclRhYmxlcyB7XG4gIGNoYXJhY3RlclRhYmxlc0hvbGRlci52YWx1ZSA/Pz0gYnVpbGRDaGFyYWN0ZXJUYWJsZXMoKTtcbiAgcmV0dXJuIGNoYXJhY3RlclRhYmxlc0hvbGRlci52YWx1ZTtcbn1cblxuLyogZXNsaW50LWVuYWJsZSB1bmljb3JuL3ByZWZlci1jb2RlLXBvaW50IC0tIEVuZCBvZiB0aGUgZmlsZS4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsU0FBUyxvQkFBb0I7QUFJN0IsTUFBTSxzQkFDSiw2Z0lBQ0c7QUFDTCxNQUFNLHFCQUFxQiwwZEFBMGQ7QUFFcmYsTUFBTSx5QkFBeUIsc0JBQXNCO0FBRXJELE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sY0FBYztBQWlDcEIsTUFBTSx3QkFBK0MsRUFBRSxPQUFPLEtBQUs7QUFZNUQsU0FBUyx5QkFBeUIsTUFBc0I7QUFDN0QsU0FBTyxnQkFBZ0IsTUFBTSxHQUFHLEtBQUssUUFBUSxtQkFBbUIsQ0FBQztBQUNuRTtBQVNPLFNBQVMsNEJBQTRCLE1BQXNCO0FBQ2hFLFFBQU0sY0FBYyx3QkFBd0IsS0FBSyxXQUFXLENBQUMsQ0FBQztBQUM5RCxRQUFNLGFBQWEsd0JBQXdCLEtBQUssV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0FBQzNFLFFBQU0sU0FBUyxjQUFjLFVBQVUsc0JBQXNCLE9BQU87QUFDcEUsUUFBTSxTQUFTLGFBQWEsT0FBTyxzQkFBc0IsT0FBTztBQUNoRSxTQUFPLElBQUksT0FBTyxHQUFHLE1BQU0sSUFBSSxhQUFhLElBQUksQ0FBQyxJQUFJLE1BQU0sSUFBSSxJQUFJO0FBQ3JFO0FBU08sU0FBUyxzQkFBc0IsTUFBK0I7QUFDbkUsUUFBTSxTQUFTLG1CQUFtQjtBQUNsQyxXQUFTLFFBQVEsR0FBRyxRQUFRLEtBQUssUUFBUSxTQUFTO0FBQ2hELFFBQUksT0FBTyxlQUFlLEtBQUssV0FBVyxLQUFLLENBQUMsTUFBTSxHQUFHO0FBQ3ZELGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFFBQU0sU0FBUyxzQkFBc0IsSUFBSTtBQUN6QyxTQUFPLE9BQU8sV0FBVyxJQUFJLE9BQU87QUFDdEM7QUFRTyxTQUFTLHdCQUF3QixVQUEyQjtBQUNqRSxTQUFPLG1CQUFtQixFQUFFLFVBQVUsUUFBUSxNQUFNO0FBQ3REO0FBV08sU0FBUyxzQkFBc0IsTUFBd0I7QUFDNUQsUUFBTSxTQUFTLG1CQUFtQjtBQUNsQyxRQUFNLFNBQW1CLENBQUM7QUFDMUIsTUFBSSxhQUFhO0FBQ2pCLE1BQUksbUJBQW1CO0FBRXZCLFdBQVMsUUFBUSxHQUFHLFNBQVMsS0FBSyxRQUFRLFNBQVM7QUFDakQsVUFBTSxXQUFXLEtBQUssV0FBVyxLQUFLO0FBQ3RDLFFBQUksT0FBTyxVQUFVLFFBQVEsTUFBTSxHQUFHO0FBQ3BDLFVBQUksZUFBZSxJQUFJO0FBQ3JCLHFCQUFhO0FBQ2IsMkJBQW1CO0FBQUEsTUFDckI7QUFFQSxVQUFJLE9BQU8sbUJBQW1CLFFBQVEsTUFBTSxHQUFHO0FBQzdDLDJCQUFtQjtBQUFBLE1BQ3JCO0FBRUE7QUFBQSxJQUNGO0FBRUEsUUFBSSxlQUFlLElBQUk7QUFDckI7QUFBQSxJQUNGO0FBRUEsV0FBTyxLQUFLLG1CQUFtQixnQkFBZ0IsTUFBTSxZQUFZLE9BQU8sTUFBTSxJQUFJLEtBQUssTUFBTSxZQUFZLEtBQUssRUFBRSxZQUFZLENBQUM7QUFDN0gsaUJBQWE7QUFBQSxFQUNmO0FBRUEsU0FBTztBQUNUO0FBRUEsU0FBUyx1QkFBd0M7QUFDL0MsUUFBTSxhQUFhLElBQUksT0FBTyxJQUFJLHNCQUFzQixHQUFHO0FBQzNELFFBQU0sc0JBQWdDLENBQUM7QUFDdkMsUUFBTSxxQkFBcUIsSUFBSSxXQUFXLGVBQWU7QUFDekQsUUFBTSxZQUFZLElBQUksV0FBVyxlQUFlO0FBRWhELFFBQU0sc0JBQXNCLElBQUksV0FBVyxlQUFlO0FBQzFELFFBQU0seUJBQXlCLElBQUksV0FBVyxlQUFlO0FBRTdELFdBQVMsV0FBVyxHQUFHLFdBQVcsaUJBQWlCLFlBQVk7QUFDN0QsVUFBTSxZQUFZLE9BQU8sYUFBYSxRQUFRO0FBQzlDLFVBQU0sb0JBQW9CLGFBQWEsVUFBVSxTQUFTO0FBQzFELFVBQU0scUJBQXFCLE9BQU8sYUFBYSxpQkFBaUI7QUFDaEUsd0JBQW9CLEtBQUssa0JBQWtCO0FBQzNDLHVCQUFtQixRQUFRLElBQUksVUFBVSxZQUFZLE1BQU0scUJBQXFCLElBQUk7QUFDcEYsVUFBTSwrQkFBK0IsV0FBVyxLQUFLLFNBQVM7QUFDOUQsY0FBVSxRQUFRLElBQUksK0JBQStCLElBQUk7QUFDekQsS0FBQywrQkFBK0Isc0JBQXNCLHdCQUF3QixpQkFBaUIsSUFBSTtBQUFBLEVBQ3JHO0FBRUEsUUFBTSxZQUFZLG9CQUFvQixLQUFLLEVBQUU7QUFDN0MsUUFBTSxpQkFBaUIsSUFBSSxXQUFXLGVBQWU7QUFDckQsV0FBUyxXQUFXLEdBQUcsV0FBVyxpQkFBaUIsWUFBWTtBQUM3RCxVQUFNLG9CQUFvQixVQUFVLFdBQVcsUUFBUTtBQUN2RCxtQkFBZSxRQUFRLElBQUksb0JBQW9CLGlCQUFpQixNQUFNLEtBQUssdUJBQXVCLGlCQUFpQixNQUFNLElBQUksSUFBSTtBQUFBLEVBQ25JO0FBRUEsU0FBTyxFQUFFLGdCQUFnQixXQUFXLG9CQUFvQixVQUFVO0FBQ3BFO0FBTUEsU0FBUyxhQUFhLFVBQWtCLFdBQTJCO0FBQ2pFLFFBQU0sWUFBWSxVQUFVLFlBQVk7QUFDeEMsTUFBSSxVQUFVLFdBQVcsR0FBRztBQUMxQixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sZ0JBQWdCLFVBQVUsV0FBVyxDQUFDO0FBQzVDLFNBQU8sWUFBWSxlQUFlLGdCQUFnQixjQUFjLFdBQVc7QUFDN0U7QUFFQSxTQUFTLGdCQUFnQixNQUFjLE9BQWUsS0FBYSxRQUFpQztBQUNsRyxRQUFNLGFBQXVCLENBQUM7QUFDOUIsV0FBUyxRQUFRLE9BQU8sUUFBUSxLQUFLLFNBQVM7QUFDNUMsZUFBVyxLQUFLLE9BQU8sVUFBVSxPQUFPLEtBQUssV0FBVyxLQUFLLENBQUMsQ0FBQztBQUFBLEVBQ2pFO0FBRUEsU0FBTyxXQUFXLEtBQUssRUFBRTtBQUMzQjtBQUVBLFNBQVMscUJBQXNDO0FBQzdDLHdCQUFzQixVQUFVLHFCQUFxQjtBQUNyRCxTQUFPLHNCQUFzQjtBQUMvQjsiLCJuYW1lcyI6W119
@@ -44,11 +44,11 @@ export interface ParseLinkFrontmatterReferenceWithOffsets extends ParseLinkFront
44
44
  /**
45
45
  * An end offset of the link in the frontmatter value.
46
46
  */
47
- endOffset: number;
47
+ readonly endOffset: number;
48
48
  /**
49
49
  * A start offset of the link in the frontmatter value.
50
50
  */
51
- startOffset: number;
51
+ readonly startOffset: number;
52
52
  }
53
53
  /**
54
54
  * Options for {@link parseLink}. The same as {@link ParseLinksOptions}.