@mnaoumov/obsidian-lib 3.3.0 → 3.4.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 (776) hide show
  1. package/README.md +6 -0
  2. package/dist/lib/cjs/@types/i18next.d.cts +1 -1
  3. package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +3 -3
  4. package/dist/lib/cjs/@types/original-fs.d.cts +2 -1
  5. package/dist/lib/cjs/__merged.cjs +2 -21
  6. package/dist/lib/cjs/__merged.d.cts +1 -1
  7. package/dist/lib/cjs/active-file-provider.cjs +1 -47
  8. package/dist/lib/cjs/active-file-provider.d.cts +1 -1
  9. package/dist/lib/cjs/app.cjs +1 -47
  10. package/dist/lib/cjs/app.d.cts +1 -1
  11. package/dist/lib/cjs/async-with-notice.cjs +2 -21
  12. package/dist/lib/cjs/async-with-notice.d.cts +2 -1
  13. package/dist/lib/cjs/attachment-path.cjs +2 -21
  14. package/dist/lib/cjs/attachment-path.d.cts +1 -1
  15. package/dist/lib/cjs/attachment-unit-folder.cjs +2 -21
  16. package/dist/lib/cjs/attachment-unit-folder.d.cts +1 -1
  17. package/dist/lib/cjs/backlink-index.cjs +2 -21
  18. package/dist/lib/cjs/backlink-index.d.cts +1 -1
  19. package/dist/lib/cjs/backlink.cjs +2 -21
  20. package/dist/lib/cjs/backlink.d.cts +1 -1
  21. package/dist/lib/cjs/bases-view-registrar.cjs +2 -21
  22. package/dist/lib/cjs/bases-view-registrar.d.cts +1 -1
  23. package/dist/lib/cjs/callout.cjs +2 -21
  24. package/dist/lib/cjs/callout.d.cts +2 -1
  25. package/dist/lib/cjs/canvas.cjs +2 -21
  26. package/dist/lib/cjs/canvas.d.cts +1 -1
  27. package/dist/lib/cjs/case-insensitive-file-index.cjs +2 -21
  28. package/dist/lib/cjs/case-insensitive-file-index.d.cts +1 -1
  29. package/dist/lib/cjs/code-block-markdown-information.cjs +1 -47
  30. package/dist/lib/cjs/code-block-markdown-information.d.cts +1 -1
  31. package/dist/lib/cjs/code-block-reg-exp.cjs +1 -47
  32. package/dist/lib/cjs/code-block-reg-exp.d.cts +1 -1
  33. package/dist/lib/cjs/codemirror/index.cjs +2 -48
  34. package/dist/lib/cjs/codemirror/index.d.cts +1 -1
  35. package/dist/lib/cjs/codemirror/state-field-spec.cjs +1 -47
  36. package/dist/lib/cjs/codemirror/state-field-spec.d.cts +1 -1
  37. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +2 -21
  38. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +1 -1
  39. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +2 -21
  40. package/dist/lib/cjs/command-handlers/command-handler-component.d.cts +1 -1
  41. package/dist/lib/cjs/command-handlers/command-handler.cjs +2 -21
  42. package/dist/lib/cjs/command-handlers/command-handler.d.cts +1 -1
  43. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +2 -21
  44. package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +1 -1
  45. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +5 -24
  46. package/dist/lib/cjs/command-handlers/file-command-handler.d.cts +1 -1
  47. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +5 -24
  48. package/dist/lib/cjs/command-handlers/folder-command-handler.d.cts +1 -1
  49. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +3 -22
  50. package/dist/lib/cjs/command-handlers/global-command-handler.d.cts +1 -1
  51. package/dist/lib/cjs/command-handlers/index.cjs +11 -57
  52. package/dist/lib/cjs/command-handlers/index.d.cts +1 -1
  53. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +2 -21
  54. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.d.cts +1 -1
  55. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +1 -47
  56. package/dist/lib/cjs/command-handlers/open-settings-command-handler.d.cts +1 -1
  57. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +1 -47
  58. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.d.cts +1 -1
  59. package/dist/lib/cjs/command-registrar.cjs +1 -47
  60. package/dist/lib/cjs/command-registrar.d.cts +1 -1
  61. package/dist/lib/cjs/community-plugins.cjs +2 -21
  62. package/dist/lib/cjs/community-plugins.d.cts +1 -1
  63. package/dist/lib/cjs/components/abort-signal-component.cjs +2 -21
  64. package/dist/lib/cjs/components/abort-signal-component.d.cts +2 -1
  65. package/dist/lib/cjs/components/all-windows-event-component.cjs +1 -47
  66. package/dist/lib/cjs/components/all-windows-event-component.d.cts +2 -1
  67. package/dist/lib/cjs/components/async-error-handler-component.cjs +2 -21
  68. package/dist/lib/cjs/components/async-error-handler-component.d.cts +1 -1
  69. package/dist/lib/cjs/components/async-events-component.cjs +2 -21
  70. package/dist/lib/cjs/components/async-events-component.d.cts +1 -1
  71. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +1 -47
  72. package/dist/lib/cjs/components/case-insensitive-file-index-component.d.cts +1 -1
  73. package/dist/lib/cjs/components/component-ex.cjs +3 -16
  74. package/dist/lib/cjs/components/component-ex.d.cts +1 -1
  75. package/dist/lib/cjs/components/console-debug-component.cjs +2 -21
  76. package/dist/lib/cjs/components/console-debug-component.d.cts +2 -2
  77. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +2 -21
  78. package/dist/lib/cjs/components/core-plugin-toggle-component.d.cts +1 -1
  79. package/dist/lib/cjs/components/disposable-component.cjs +3 -16
  80. package/dist/lib/cjs/components/disposable-component.d.cts +1 -1
  81. package/dist/lib/cjs/components/embed-extensions-component.cjs +1 -47
  82. package/dist/lib/cjs/components/embed-extensions-component.d.cts +1 -1
  83. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +1 -47
  84. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.d.cts +1 -1
  85. package/dist/lib/cjs/components/index.cjs +30 -76
  86. package/dist/lib/cjs/components/index.d.cts +1 -1
  87. package/dist/lib/cjs/components/layout-ready-component.cjs +2 -21
  88. package/dist/lib/cjs/components/layout-ready-component.d.cts +1 -1
  89. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +1 -47
  90. package/dist/lib/cjs/components/menu-event-registrar-component.d.cts +1 -1
  91. package/dist/lib/cjs/components/monkey-around-component.cjs +2 -21
  92. package/dist/lib/cjs/components/monkey-around-component.d.cts +1 -1
  93. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +2 -21
  94. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.d.cts +1 -1
  95. package/dist/lib/cjs/components/plugin-context-component.cjs +2 -21
  96. package/dist/lib/cjs/components/plugin-context-component.d.cts +1 -1
  97. package/dist/lib/cjs/components/plugin-gate-component.cjs +2 -21
  98. package/dist/lib/cjs/components/plugin-gate-component.d.cts +2 -1
  99. package/dist/lib/cjs/components/plugin-notice-component.cjs +3 -16
  100. package/dist/lib/cjs/components/plugin-notice-component.d.cts +2 -1
  101. package/dist/lib/cjs/components/plugin-settings-component.cjs +2 -21
  102. package/dist/lib/cjs/components/plugin-settings-component.d.cts +1 -1
  103. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +2 -21
  104. package/dist/lib/cjs/components/plugin-settings-tab-component.d.cts +1 -1
  105. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +2 -21
  106. package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +2 -1
  107. package/dist/lib/cjs/components/pointer-position-component.cjs +1 -47
  108. package/dist/lib/cjs/components/pointer-position-component.d.cts +1 -1
  109. package/dist/lib/cjs/components/registry-component.cjs +2 -21
  110. package/dist/lib/cjs/components/registry-component.d.cts +1 -1
  111. package/dist/lib/cjs/components/release-notes-component.cjs +2 -21
  112. package/dist/lib/cjs/components/release-notes-component.d.cts +2 -1
  113. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +3 -16
  114. package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +1 -1
  115. package/dist/lib/cjs/components/rmdir-guard-component.cjs +1 -47
  116. package/dist/lib/cjs/components/rmdir-guard-component.d.cts +1 -1
  117. package/dist/lib/cjs/components/settings-migration-component.cjs +2 -21
  118. package/dist/lib/cjs/components/settings-migration-component.d.cts +1 -1
  119. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +2 -21
  120. package/dist/lib/cjs/components/syntax-highlighting-component.d.cts +1 -1
  121. package/dist/lib/cjs/components/templates-language-component.cjs +3 -49
  122. package/dist/lib/cjs/components/templates-language-component.d.cts +1 -1
  123. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +3 -16
  124. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.d.cts +1 -1
  125. package/dist/lib/cjs/constructors/index.cjs +2 -48
  126. package/dist/lib/cjs/constructors/index.d.cts +1 -1
  127. package/dist/lib/cjs/css-class.cjs +1 -47
  128. package/dist/lib/cjs/css-class.d.cts +1 -1
  129. package/dist/lib/cjs/data-handler.cjs +1 -47
  130. package/dist/lib/cjs/data-handler.d.cts +1 -1
  131. package/dist/lib/cjs/dataview-link.cjs +2 -21
  132. package/dist/lib/cjs/dataview-link.d.cts +1 -1
  133. package/dist/lib/cjs/dataview.cjs +2 -21
  134. package/dist/lib/cjs/dataview.d.cts +2 -1
  135. package/dist/lib/cjs/debug.cjs +2 -21
  136. package/dist/lib/cjs/debug.d.cts +1 -1
  137. package/dist/lib/cjs/demo-vault-helper-settings.cjs +1 -47
  138. package/dist/lib/cjs/demo-vault-helper-settings.d.cts +1 -1
  139. package/dist/lib/cjs/demo-vault-helper.cjs +2 -21
  140. package/dist/lib/cjs/demo-vault-helper.d.cts +1 -1
  141. package/dist/lib/cjs/demo-vault-naming.cjs +1 -47
  142. package/dist/lib/cjs/demo-vault-naming.d.cts +1 -1
  143. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +3 -16
  144. package/dist/lib/cjs/desktop-demo-vault-opener.d.cts +1 -1
  145. package/dist/lib/cjs/desktop-trusted-input.cjs +2 -21
  146. package/dist/lib/cjs/desktop-trusted-input.d.cts +2 -1
  147. package/dist/lib/cjs/editor-extension-registrar.cjs +2 -21
  148. package/dist/lib/cjs/editor-extension-registrar.d.cts +1 -1
  149. package/dist/lib/cjs/editor-suggest-registrar.cjs +2 -21
  150. package/dist/lib/cjs/editor-suggest-registrar.d.cts +1 -1
  151. package/dist/lib/cjs/editor.cjs +2 -21
  152. package/dist/lib/cjs/editor.d.cts +1 -1
  153. package/dist/lib/cjs/events.cjs +2 -21
  154. package/dist/lib/cjs/events.d.cts +1 -1
  155. package/dist/lib/cjs/extensions-registrar.cjs +2 -21
  156. package/dist/lib/cjs/extensions-registrar.d.cts +1 -1
  157. package/dist/lib/cjs/file-change.cjs +2 -21
  158. package/dist/lib/cjs/file-change.d.cts +2 -1
  159. package/dist/lib/cjs/file-explorer.cjs +2 -21
  160. package/dist/lib/cjs/file-explorer.d.cts +1 -1
  161. package/dist/lib/cjs/file-manager.cjs +2 -21
  162. package/dist/lib/cjs/file-manager.d.cts +2 -1
  163. package/dist/lib/cjs/file-system.cjs +2 -21
  164. package/dist/lib/cjs/file-system.d.cts +1 -1
  165. package/dist/lib/cjs/folder-note.cjs +2 -21
  166. package/dist/lib/cjs/folder-note.d.cts +1 -1
  167. package/dist/lib/cjs/frontmatter-formatting.cjs +2 -21
  168. package/dist/lib/cjs/frontmatter-formatting.d.cts +1 -1
  169. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +2 -21
  170. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +1 -1
  171. package/dist/lib/cjs/frontmatter.cjs +2 -21
  172. package/dist/lib/cjs/frontmatter.d.cts +1 -1
  173. package/dist/lib/cjs/generated-during-build.cjs +2 -48
  174. package/dist/lib/cjs/generated-during-build.d.cts +1 -1
  175. package/dist/lib/cjs/hover-link-source-registrar.cjs +2 -21
  176. package/dist/lib/cjs/hover-link-source-registrar.d.cts +1 -1
  177. package/dist/lib/cjs/html-element.cjs +1 -47
  178. package/dist/lib/cjs/html-element.d.cts +2 -1
  179. package/dist/lib/cjs/i18n/custom-type-options.cjs +1 -47
  180. package/dist/lib/cjs/i18n/custom-type-options.d.cts +1 -1
  181. package/dist/lib/cjs/i18n/default-translations.cjs +1 -47
  182. package/dist/lib/cjs/i18n/default-translations.d.cts +1 -1
  183. package/dist/lib/cjs/i18n/i18n.cjs +3 -22
  184. package/dist/lib/cjs/i18n/i18n.d.cts +2 -2
  185. package/dist/lib/cjs/i18n/index.cjs +5 -51
  186. package/dist/lib/cjs/i18n/index.d.cts +1 -1
  187. package/dist/lib/cjs/i18n/locales/en.cjs +1 -47
  188. package/dist/lib/cjs/i18n/locales/en.d.cts +1 -1
  189. package/dist/lib/cjs/i18n/locales/index.cjs +3 -49
  190. package/dist/lib/cjs/i18n/locales/index.d.cts +1 -1
  191. package/dist/lib/cjs/i18n/locales/translations-map.cjs +1 -47
  192. package/dist/lib/cjs/i18n/locales/translations-map.d.cts +1 -1
  193. package/dist/lib/cjs/index.cjs +96 -142
  194. package/dist/lib/cjs/index.d.cts +1 -1
  195. package/dist/lib/cjs/is-in-obsidian.cjs +1 -47
  196. package/dist/lib/cjs/is-in-obsidian.d.cts +1 -1
  197. package/dist/lib/cjs/library-references.d.cts +2 -0
  198. package/dist/lib/cjs/library-styles.cjs +2 -21
  199. package/dist/lib/cjs/library-styles.d.cts +2 -1
  200. package/dist/lib/cjs/library.cjs +1 -47
  201. package/dist/lib/cjs/link-name.cjs +1 -47
  202. package/dist/lib/cjs/link-name.d.cts +1 -1
  203. package/dist/lib/cjs/link-update-progress.cjs +1 -47
  204. package/dist/lib/cjs/link-update-progress.d.cts +1 -1
  205. package/dist/lib/cjs/link.cjs +3 -16
  206. package/dist/lib/cjs/link.d.cts +2 -1
  207. package/dist/lib/cjs/logger.cjs +2 -21
  208. package/dist/lib/cjs/logger.d.cts +2 -1
  209. package/dist/lib/cjs/loop.cjs +3 -16
  210. package/dist/lib/cjs/loop.d.cts +2 -1
  211. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +2 -21
  212. package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +2 -1
  213. package/dist/lib/cjs/markdown-code-block-processor.cjs +2 -21
  214. package/dist/lib/cjs/markdown-code-block-processor.d.cts +2 -1
  215. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +2 -21
  216. package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +2 -1
  217. package/dist/lib/cjs/markdown-view.cjs +1 -47
  218. package/dist/lib/cjs/markdown-view.d.cts +1 -1
  219. package/dist/lib/cjs/markdown.cjs +3 -16
  220. package/dist/lib/cjs/markdown.d.cts +2 -1
  221. package/dist/lib/cjs/menu-event-registrar.cjs +1 -47
  222. package/dist/lib/cjs/menu-event-registrar.d.cts +1 -1
  223. package/dist/lib/cjs/metadata-cache.cjs +3 -16
  224. package/dist/lib/cjs/metadata-cache.d.cts +1 -1
  225. package/dist/lib/cjs/mobile-trusted-input.cjs +1 -47
  226. package/dist/lib/cjs/mobile-trusted-input.d.cts +1 -1
  227. package/dist/lib/cjs/modals/alert.cjs +2 -21
  228. package/dist/lib/cjs/modals/alert.d.cts +2 -1
  229. package/dist/lib/cjs/modals/confirm.cjs +2 -21
  230. package/dist/lib/cjs/modals/confirm.d.cts +2 -1
  231. package/dist/lib/cjs/modals/index.cjs +10 -56
  232. package/dist/lib/cjs/modals/index.d.cts +1 -1
  233. package/dist/lib/cjs/modals/minimizable-modal.cjs +2 -21
  234. package/dist/lib/cjs/modals/minimizable-modal.d.cts +1 -1
  235. package/dist/lib/cjs/modals/modal-command-builder.cjs +2 -21
  236. package/dist/lib/cjs/modals/modal-command-builder.d.cts +2 -1
  237. package/dist/lib/cjs/modals/modal.cjs +2 -21
  238. package/dist/lib/cjs/modals/modal.d.cts +1 -1
  239. package/dist/lib/cjs/modals/prompt.cjs +2 -21
  240. package/dist/lib/cjs/modals/prompt.d.cts +2 -1
  241. package/dist/lib/cjs/modals/select-item.cjs +2 -21
  242. package/dist/lib/cjs/modals/select-item.d.cts +1 -1
  243. package/dist/lib/cjs/modals/select-option.cjs +2 -21
  244. package/dist/lib/cjs/modals/select-option.d.cts +2 -1
  245. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +1 -47
  246. package/dist/lib/cjs/modals/suggest-modal-command-builder.d.cts +1 -1
  247. package/dist/lib/cjs/note-priority.cjs +2 -21
  248. package/dist/lib/cjs/note-priority.d.cts +1 -1
  249. package/dist/lib/cjs/notebook-navigator.cjs +1 -47
  250. package/dist/lib/cjs/notebook-navigator.d.cts +1 -1
  251. package/dist/lib/cjs/obsidian-dev-utils-state.cjs +2 -21
  252. package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +1 -1
  253. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +2 -21
  254. package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +1 -1
  255. package/dist/lib/cjs/obsidian-settings.cjs +2 -21
  256. package/dist/lib/cjs/obsidian-settings.d.cts +1 -1
  257. package/dist/lib/cjs/parse-link.cjs +3 -22
  258. package/dist/lib/cjs/parse-link.d.cts +1 -1
  259. package/dist/lib/cjs/path-settings.cjs +2 -21
  260. package/dist/lib/cjs/path-settings.d.cts +1 -1
  261. package/dist/lib/cjs/pdf.cjs +2 -21
  262. package/dist/lib/cjs/pdf.d.cts +2 -1
  263. package/dist/lib/cjs/plugin/index.cjs +10 -56
  264. package/dist/lib/cjs/plugin/index.d.cts +1 -1
  265. package/dist/lib/cjs/plugin/plugin-api-schema.cjs +2 -21
  266. package/dist/lib/cjs/plugin/plugin-api-schema.d.cts +1 -1
  267. package/dist/lib/cjs/plugin/plugin-api.cjs +2 -21
  268. package/dist/lib/cjs/plugin/plugin-api.d.cts +1 -1
  269. package/dist/lib/cjs/plugin/plugin-context.cjs +3 -22
  270. package/dist/lib/cjs/plugin/plugin-context.d.cts +2 -1
  271. package/dist/lib/cjs/plugin/plugin-event-source.cjs +1 -47
  272. package/dist/lib/cjs/plugin/plugin-event-source.d.cts +1 -1
  273. package/dist/lib/cjs/plugin/plugin-install-state.cjs +1 -47
  274. package/dist/lib/cjs/plugin/plugin-install-state.d.cts +1 -1
  275. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +1 -47
  276. package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +1 -1
  277. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +2 -21
  278. package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +2 -1
  279. package/dist/lib/cjs/plugin/plugin.cjs +2 -21
  280. package/dist/lib/cjs/plugin/plugin.d.cts +1 -1
  281. package/dist/lib/cjs/plugin/settings-migration-api.cjs +2 -21
  282. package/dist/lib/cjs/plugin/settings-migration-api.d.cts +1 -1
  283. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +2 -21
  284. package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +1 -1
  285. package/dist/lib/cjs/popovers/field-popover.cjs +2 -21
  286. package/dist/lib/cjs/popovers/field-popover.d.cts +1 -1
  287. package/dist/lib/cjs/popovers/index.cjs +4 -50
  288. package/dist/lib/cjs/popovers/index.d.cts +1 -1
  289. package/dist/lib/cjs/popovers/popover-anchor.cjs +2 -21
  290. package/dist/lib/cjs/popovers/popover-anchor.d.cts +2 -1
  291. package/dist/lib/cjs/popovers/popover.cjs +2 -21
  292. package/dist/lib/cjs/popovers/popover.d.cts +2 -1
  293. package/dist/lib/cjs/property-entry.cjs +1 -47
  294. package/dist/lib/cjs/property-entry.d.cts +1 -1
  295. package/dist/lib/cjs/queue.cjs +2 -21
  296. package/dist/lib/cjs/queue.d.cts +2 -1
  297. package/dist/lib/cjs/react/app-context.cjs +2 -21
  298. package/dist/lib/cjs/react/app-context.d.cts +1 -1
  299. package/dist/lib/cjs/react/index.cjs +2 -48
  300. package/dist/lib/cjs/react/index.d.cts +1 -1
  301. package/dist/lib/cjs/reference.cjs +2 -21
  302. package/dist/lib/cjs/reference.d.cts +1 -1
  303. package/dist/lib/cjs/resource-lock.cjs +2 -21
  304. package/dist/lib/cjs/resource-lock.d.cts +2 -1
  305. package/dist/lib/cjs/resource-url.cjs +2 -21
  306. package/dist/lib/cjs/resource-url.d.cts +1 -1
  307. package/dist/lib/cjs/ribbon-icon-registrar.cjs +2 -21
  308. package/dist/lib/cjs/ribbon-icon-registrar.d.cts +2 -1
  309. package/dist/lib/cjs/setting-components/checkbox-component.cjs +2 -21
  310. package/dist/lib/cjs/setting-components/checkbox-component.d.cts +2 -1
  311. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +2 -21
  312. package/dist/lib/cjs/setting-components/code-highlighter-component.d.cts +2 -1
  313. package/dist/lib/cjs/setting-components/date-component.cjs +2 -21
  314. package/dist/lib/cjs/setting-components/date-component.d.cts +2 -1
  315. package/dist/lib/cjs/setting-components/date-time-component.cjs +2 -21
  316. package/dist/lib/cjs/setting-components/date-time-component.d.cts +2 -1
  317. package/dist/lib/cjs/setting-components/email-component.cjs +1 -47
  318. package/dist/lib/cjs/setting-components/email-component.d.cts +2 -1
  319. package/dist/lib/cjs/setting-components/file-component.cjs +1 -47
  320. package/dist/lib/cjs/setting-components/file-component.d.cts +2 -1
  321. package/dist/lib/cjs/setting-components/index.cjs +27 -73
  322. package/dist/lib/cjs/setting-components/index.d.cts +1 -1
  323. package/dist/lib/cjs/setting-components/month-component.cjs +2 -21
  324. package/dist/lib/cjs/setting-components/month-component.d.cts +2 -1
  325. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +2 -21
  326. package/dist/lib/cjs/setting-components/multiple-dropdown-component.d.cts +3 -1
  327. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +1 -47
  328. package/dist/lib/cjs/setting-components/multiple-email-component.d.cts +2 -1
  329. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +2 -21
  330. package/dist/lib/cjs/setting-components/multiple-file-component.d.cts +2 -1
  331. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +2 -21
  332. package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +2 -1
  333. package/dist/lib/cjs/setting-components/number-component.cjs +1 -47
  334. package/dist/lib/cjs/setting-components/number-component.d.cts +2 -1
  335. package/dist/lib/cjs/setting-components/password-component.cjs +1 -47
  336. package/dist/lib/cjs/setting-components/password-component.d.cts +2 -1
  337. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +2 -21
  338. package/dist/lib/cjs/setting-components/setting-component-wrapper.d.cts +2 -1
  339. package/dist/lib/cjs/setting-components/telephone-component.cjs +1 -47
  340. package/dist/lib/cjs/setting-components/telephone-component.d.cts +2 -1
  341. package/dist/lib/cjs/setting-components/text-based-component.cjs +2 -21
  342. package/dist/lib/cjs/setting-components/text-based-component.d.cts +1 -1
  343. package/dist/lib/cjs/setting-components/time-component.cjs +2 -21
  344. package/dist/lib/cjs/setting-components/time-component.d.cts +2 -1
  345. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +2 -21
  346. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.d.cts +2 -1
  347. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +2 -21
  348. package/dist/lib/cjs/setting-components/typed-dropdown-component.d.cts +3 -1
  349. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +2 -21
  350. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.d.cts +3 -1
  351. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +1 -47
  352. package/dist/lib/cjs/setting-components/typed-range-text-component.d.cts +1 -1
  353. package/dist/lib/cjs/setting-components/typed-text-component.cjs +2 -21
  354. package/dist/lib/cjs/setting-components/typed-text-component.d.cts +2 -1
  355. package/dist/lib/cjs/setting-components/url-component.cjs +1 -47
  356. package/dist/lib/cjs/setting-components/url-component.d.cts +2 -1
  357. package/dist/lib/cjs/setting-components/validator-component.cjs +2 -21
  358. package/dist/lib/cjs/setting-components/validator-component.d.cts +1 -1
  359. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +1 -47
  360. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.d.cts +1 -1
  361. package/dist/lib/cjs/setting-components/week-component.cjs +2 -21
  362. package/dist/lib/cjs/setting-components/week-component.d.cts +2 -1
  363. package/dist/lib/cjs/setting-ex.cjs +2 -21
  364. package/dist/lib/cjs/setting-ex.d.cts +2 -1
  365. package/dist/lib/cjs/setting-group-ex.cjs +2 -21
  366. package/dist/lib/cjs/setting-group-ex.d.cts +2 -1
  367. package/dist/lib/cjs/status-bar-item-registrar.cjs +2 -21
  368. package/dist/lib/cjs/status-bar-item-registrar.d.cts +2 -1
  369. package/dist/lib/cjs/templater.cjs +1 -47
  370. package/dist/lib/cjs/templater.d.cts +1 -1
  371. package/dist/lib/cjs/transformers/duration-transformer.cjs +2 -21
  372. package/dist/lib/cjs/transformers/duration-transformer.d.cts +1 -1
  373. package/dist/lib/cjs/transformers/index.cjs +2 -48
  374. package/dist/lib/cjs/transformers/index.d.cts +1 -1
  375. package/dist/lib/cjs/trusted-input.cjs +2 -21
  376. package/dist/lib/cjs/trusted-input.d.cts +1 -1
  377. package/dist/lib/cjs/validation.cjs +2 -21
  378. package/dist/lib/cjs/validation.d.cts +1 -1
  379. package/dist/lib/cjs/vault-delete.cjs +2 -21
  380. package/dist/lib/cjs/vault-delete.d.cts +1 -1
  381. package/dist/lib/cjs/vault-transaction.cjs +3 -16
  382. package/dist/lib/cjs/vault-transaction.d.cts +1 -1
  383. package/dist/lib/cjs/vault.cjs +3 -16
  384. package/dist/lib/cjs/vault.d.cts +1 -1
  385. package/dist/lib/cjs/view-registrar.cjs +2 -21
  386. package/dist/lib/cjs/view-registrar.d.cts +1 -1
  387. package/dist/lib/cjs/workspace.cjs +2 -21
  388. package/dist/lib/cjs/workspace.d.cts +2 -1
  389. package/dist/lib/esm/@types/i18next.d.mts +1 -1
  390. package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +3 -3
  391. package/dist/lib/esm/@types/original-fs.d.mts +2 -1
  392. package/dist/lib/esm/__merged.d.mts +1 -1
  393. package/dist/lib/esm/__merged.mjs +2 -11
  394. package/dist/lib/esm/active-file-provider.d.mts +1 -1
  395. package/dist/lib/esm/active-file-provider.mjs +1 -37
  396. package/dist/lib/esm/app.d.mts +1 -1
  397. package/dist/lib/esm/app.mjs +1 -37
  398. package/dist/lib/esm/async-with-notice.d.mts +2 -1
  399. package/dist/lib/esm/async-with-notice.mjs +2 -11
  400. package/dist/lib/esm/attachment-path.d.mts +1 -1
  401. package/dist/lib/esm/attachment-path.mjs +2 -11
  402. package/dist/lib/esm/attachment-unit-folder.d.mts +1 -1
  403. package/dist/lib/esm/attachment-unit-folder.mjs +2 -11
  404. package/dist/lib/esm/backlink-index.d.mts +1 -1
  405. package/dist/lib/esm/backlink-index.mjs +2 -11
  406. package/dist/lib/esm/backlink.d.mts +1 -1
  407. package/dist/lib/esm/backlink.mjs +2 -11
  408. package/dist/lib/esm/bases-view-registrar.d.mts +1 -1
  409. package/dist/lib/esm/bases-view-registrar.mjs +2 -11
  410. package/dist/lib/esm/callout.d.mts +2 -1
  411. package/dist/lib/esm/callout.mjs +2 -11
  412. package/dist/lib/esm/canvas.d.mts +1 -1
  413. package/dist/lib/esm/canvas.mjs +2 -11
  414. package/dist/lib/esm/case-insensitive-file-index.d.mts +1 -1
  415. package/dist/lib/esm/case-insensitive-file-index.mjs +2 -11
  416. package/dist/lib/esm/code-block-markdown-information.d.mts +1 -1
  417. package/dist/lib/esm/code-block-markdown-information.mjs +0 -36
  418. package/dist/lib/esm/code-block-reg-exp.d.mts +1 -1
  419. package/dist/lib/esm/code-block-reg-exp.mjs +1 -37
  420. package/dist/lib/esm/codemirror/index.d.mts +1 -1
  421. package/dist/lib/esm/codemirror/index.mjs +1 -37
  422. package/dist/lib/esm/codemirror/state-field-spec.d.mts +1 -1
  423. package/dist/lib/esm/codemirror/state-field-spec.mjs +0 -36
  424. package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +1 -1
  425. package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +2 -11
  426. package/dist/lib/esm/command-handlers/command-handler-component.d.mts +1 -1
  427. package/dist/lib/esm/command-handlers/command-handler-component.mjs +2 -11
  428. package/dist/lib/esm/command-handlers/command-handler.d.mts +1 -1
  429. package/dist/lib/esm/command-handlers/command-handler.mjs +2 -11
  430. package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +1 -1
  431. package/dist/lib/esm/command-handlers/editor-command-handler.mjs +2 -11
  432. package/dist/lib/esm/command-handlers/file-command-handler.d.mts +1 -1
  433. package/dist/lib/esm/command-handlers/file-command-handler.mjs +5 -14
  434. package/dist/lib/esm/command-handlers/folder-command-handler.d.mts +1 -1
  435. package/dist/lib/esm/command-handlers/folder-command-handler.mjs +5 -14
  436. package/dist/lib/esm/command-handlers/global-command-handler.d.mts +1 -1
  437. package/dist/lib/esm/command-handlers/global-command-handler.mjs +3 -12
  438. package/dist/lib/esm/command-handlers/index.d.mts +1 -1
  439. package/dist/lib/esm/command-handlers/index.mjs +1 -37
  440. package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.d.mts +1 -1
  441. package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +2 -11
  442. package/dist/lib/esm/command-handlers/open-settings-command-handler.d.mts +1 -1
  443. package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +1 -37
  444. package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.d.mts +1 -1
  445. package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +1 -37
  446. package/dist/lib/esm/command-registrar.d.mts +1 -1
  447. package/dist/lib/esm/command-registrar.mjs +1 -37
  448. package/dist/lib/esm/community-plugins.d.mts +1 -1
  449. package/dist/lib/esm/community-plugins.mjs +2 -11
  450. package/dist/lib/esm/components/abort-signal-component.d.mts +2 -1
  451. package/dist/lib/esm/components/abort-signal-component.mjs +2 -11
  452. package/dist/lib/esm/components/all-windows-event-component.d.mts +2 -1
  453. package/dist/lib/esm/components/all-windows-event-component.mjs +1 -37
  454. package/dist/lib/esm/components/async-error-handler-component.d.mts +1 -1
  455. package/dist/lib/esm/components/async-error-handler-component.mjs +2 -11
  456. package/dist/lib/esm/components/async-events-component.d.mts +1 -1
  457. package/dist/lib/esm/components/async-events-component.mjs +2 -11
  458. package/dist/lib/esm/components/case-insensitive-file-index-component.d.mts +1 -1
  459. package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +1 -37
  460. package/dist/lib/esm/components/component-ex.d.mts +1 -1
  461. package/dist/lib/esm/components/component-ex.mjs +3 -6
  462. package/dist/lib/esm/components/console-debug-component.d.mts +2 -2
  463. package/dist/lib/esm/components/console-debug-component.mjs +2 -11
  464. package/dist/lib/esm/components/core-plugin-toggle-component.d.mts +1 -1
  465. package/dist/lib/esm/components/core-plugin-toggle-component.mjs +2 -11
  466. package/dist/lib/esm/components/disposable-component.d.mts +1 -1
  467. package/dist/lib/esm/components/disposable-component.mjs +3 -6
  468. package/dist/lib/esm/components/embed-extensions-component.d.mts +1 -1
  469. package/dist/lib/esm/components/embed-extensions-component.mjs +1 -37
  470. package/dist/lib/esm/components/generate-markdown-link-default-params-component.d.mts +1 -1
  471. package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +1 -37
  472. package/dist/lib/esm/components/index.d.mts +1 -1
  473. package/dist/lib/esm/components/index.mjs +1 -37
  474. package/dist/lib/esm/components/layout-ready-component.d.mts +1 -1
  475. package/dist/lib/esm/components/layout-ready-component.mjs +2 -11
  476. package/dist/lib/esm/components/menu-event-registrar-component.d.mts +1 -1
  477. package/dist/lib/esm/components/menu-event-registrar-component.mjs +1 -37
  478. package/dist/lib/esm/components/monkey-around-component.d.mts +1 -1
  479. package/dist/lib/esm/components/monkey-around-component.mjs +2 -11
  480. package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.d.mts +1 -1
  481. package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +2 -11
  482. package/dist/lib/esm/components/plugin-context-component.d.mts +1 -1
  483. package/dist/lib/esm/components/plugin-context-component.mjs +2 -11
  484. package/dist/lib/esm/components/plugin-gate-component.d.mts +2 -1
  485. package/dist/lib/esm/components/plugin-gate-component.mjs +2 -11
  486. package/dist/lib/esm/components/plugin-notice-component.d.mts +2 -1
  487. package/dist/lib/esm/components/plugin-notice-component.mjs +3 -6
  488. package/dist/lib/esm/components/plugin-settings-component.d.mts +1 -1
  489. package/dist/lib/esm/components/plugin-settings-component.mjs +2 -11
  490. package/dist/lib/esm/components/plugin-settings-tab-component.d.mts +1 -1
  491. package/dist/lib/esm/components/plugin-settings-tab-component.mjs +2 -11
  492. package/dist/lib/esm/components/plugin-suggestion-component.d.mts +2 -1
  493. package/dist/lib/esm/components/plugin-suggestion-component.mjs +2 -11
  494. package/dist/lib/esm/components/pointer-position-component.d.mts +1 -1
  495. package/dist/lib/esm/components/pointer-position-component.mjs +1 -37
  496. package/dist/lib/esm/components/registry-component.d.mts +1 -1
  497. package/dist/lib/esm/components/registry-component.mjs +2 -11
  498. package/dist/lib/esm/components/release-notes-component.d.mts +2 -1
  499. package/dist/lib/esm/components/release-notes-component.mjs +2 -11
  500. package/dist/lib/esm/components/rename-delete-handler-component.d.mts +1 -1
  501. package/dist/lib/esm/components/rename-delete-handler-component.mjs +3 -6
  502. package/dist/lib/esm/components/rmdir-guard-component.d.mts +1 -1
  503. package/dist/lib/esm/components/rmdir-guard-component.mjs +1 -37
  504. package/dist/lib/esm/components/settings-migration-component.d.mts +1 -1
  505. package/dist/lib/esm/components/settings-migration-component.mjs +2 -11
  506. package/dist/lib/esm/components/syntax-highlighting-component.d.mts +1 -1
  507. package/dist/lib/esm/components/syntax-highlighting-component.mjs +2 -11
  508. package/dist/lib/esm/components/templates-language-component.d.mts +1 -1
  509. package/dist/lib/esm/components/templates-language-component.mjs +3 -39
  510. package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.d.mts +1 -1
  511. package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +3 -6
  512. package/dist/lib/esm/constructors/index.d.mts +1 -1
  513. package/dist/lib/esm/constructors/index.mjs +1 -37
  514. package/dist/lib/esm/css-class.d.mts +1 -1
  515. package/dist/lib/esm/css-class.mjs +1 -37
  516. package/dist/lib/esm/data-handler.d.mts +1 -1
  517. package/dist/lib/esm/data-handler.mjs +1 -37
  518. package/dist/lib/esm/dataview-link.d.mts +1 -1
  519. package/dist/lib/esm/dataview-link.mjs +2 -11
  520. package/dist/lib/esm/dataview.d.mts +2 -1
  521. package/dist/lib/esm/dataview.mjs +2 -11
  522. package/dist/lib/esm/debug.d.mts +1 -1
  523. package/dist/lib/esm/debug.mjs +2 -11
  524. package/dist/lib/esm/demo-vault-helper-settings.d.mts +1 -1
  525. package/dist/lib/esm/demo-vault-helper-settings.mjs +0 -36
  526. package/dist/lib/esm/demo-vault-helper.d.mts +1 -1
  527. package/dist/lib/esm/demo-vault-helper.mjs +2 -11
  528. package/dist/lib/esm/demo-vault-naming.d.mts +1 -1
  529. package/dist/lib/esm/demo-vault-naming.mjs +1 -37
  530. package/dist/lib/esm/desktop-demo-vault-opener.d.mts +1 -1
  531. package/dist/lib/esm/desktop-demo-vault-opener.mjs +3 -6
  532. package/dist/lib/esm/desktop-trusted-input.d.mts +2 -1
  533. package/dist/lib/esm/desktop-trusted-input.mjs +2 -11
  534. package/dist/lib/esm/editor-extension-registrar.d.mts +1 -1
  535. package/dist/lib/esm/editor-extension-registrar.mjs +2 -11
  536. package/dist/lib/esm/editor-suggest-registrar.d.mts +1 -1
  537. package/dist/lib/esm/editor-suggest-registrar.mjs +2 -11
  538. package/dist/lib/esm/editor.d.mts +1 -1
  539. package/dist/lib/esm/editor.mjs +2 -11
  540. package/dist/lib/esm/events.d.mts +1 -1
  541. package/dist/lib/esm/events.mjs +2 -11
  542. package/dist/lib/esm/extensions-registrar.d.mts +1 -1
  543. package/dist/lib/esm/extensions-registrar.mjs +2 -11
  544. package/dist/lib/esm/file-change.d.mts +2 -1
  545. package/dist/lib/esm/file-change.mjs +2 -11
  546. package/dist/lib/esm/file-explorer.d.mts +1 -1
  547. package/dist/lib/esm/file-explorer.mjs +2 -11
  548. package/dist/lib/esm/file-manager.d.mts +2 -1
  549. package/dist/lib/esm/file-manager.mjs +2 -11
  550. package/dist/lib/esm/file-system.d.mts +1 -1
  551. package/dist/lib/esm/file-system.mjs +2 -11
  552. package/dist/lib/esm/folder-note.d.mts +1 -1
  553. package/dist/lib/esm/folder-note.mjs +2 -11
  554. package/dist/lib/esm/frontmatter-formatting.d.mts +1 -1
  555. package/dist/lib/esm/frontmatter-formatting.mjs +2 -11
  556. package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +1 -1
  557. package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +2 -11
  558. package/dist/lib/esm/frontmatter.d.mts +1 -1
  559. package/dist/lib/esm/frontmatter.mjs +2 -11
  560. package/dist/lib/esm/generated-during-build.d.mts +1 -1
  561. package/dist/lib/esm/generated-during-build.mjs +2 -38
  562. package/dist/lib/esm/hover-link-source-registrar.d.mts +1 -1
  563. package/dist/lib/esm/hover-link-source-registrar.mjs +2 -11
  564. package/dist/lib/esm/html-element.d.mts +2 -1
  565. package/dist/lib/esm/html-element.mjs +1 -37
  566. package/dist/lib/esm/i18n/custom-type-options.d.mts +1 -1
  567. package/dist/lib/esm/i18n/custom-type-options.mjs +1 -37
  568. package/dist/lib/esm/i18n/default-translations.d.mts +1 -1
  569. package/dist/lib/esm/i18n/default-translations.mjs +1 -37
  570. package/dist/lib/esm/i18n/i18n.d.mts +2 -2
  571. package/dist/lib/esm/i18n/i18n.mjs +2 -11
  572. package/dist/lib/esm/i18n/index.d.mts +1 -1
  573. package/dist/lib/esm/i18n/index.mjs +1 -37
  574. package/dist/lib/esm/i18n/locales/en.d.mts +1 -1
  575. package/dist/lib/esm/i18n/locales/en.mjs +1 -37
  576. package/dist/lib/esm/i18n/locales/index.d.mts +1 -1
  577. package/dist/lib/esm/i18n/locales/index.mjs +1 -37
  578. package/dist/lib/esm/i18n/locales/translations-map.d.mts +1 -1
  579. package/dist/lib/esm/i18n/locales/translations-map.mjs +1 -37
  580. package/dist/lib/esm/index.d.mts +1 -1
  581. package/dist/lib/esm/index.mjs +1 -37
  582. package/dist/lib/esm/is-in-obsidian.d.mts +1 -1
  583. package/dist/lib/esm/is-in-obsidian.mjs +1 -37
  584. package/dist/lib/esm/library-references.d.mts +2 -0
  585. package/dist/lib/esm/library-styles.d.mts +2 -1
  586. package/dist/lib/esm/library-styles.mjs +2 -11
  587. package/dist/lib/esm/library.mjs +1 -37
  588. package/dist/lib/esm/link-name.d.mts +1 -1
  589. package/dist/lib/esm/link-name.mjs +1 -37
  590. package/dist/lib/esm/link-update-progress.d.mts +1 -1
  591. package/dist/lib/esm/link-update-progress.mjs +0 -36
  592. package/dist/lib/esm/link.d.mts +2 -1
  593. package/dist/lib/esm/link.mjs +3 -6
  594. package/dist/lib/esm/logger.d.mts +2 -1
  595. package/dist/lib/esm/logger.mjs +2 -11
  596. package/dist/lib/esm/loop.d.mts +2 -1
  597. package/dist/lib/esm/loop.mjs +3 -6
  598. package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +2 -1
  599. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +2 -11
  600. package/dist/lib/esm/markdown-code-block-processor.d.mts +2 -1
  601. package/dist/lib/esm/markdown-code-block-processor.mjs +2 -11
  602. package/dist/lib/esm/markdown-post-processor-registrar.d.mts +2 -1
  603. package/dist/lib/esm/markdown-post-processor-registrar.mjs +2 -11
  604. package/dist/lib/esm/markdown-view.d.mts +1 -1
  605. package/dist/lib/esm/markdown-view.mjs +1 -37
  606. package/dist/lib/esm/markdown.d.mts +2 -1
  607. package/dist/lib/esm/markdown.mjs +3 -6
  608. package/dist/lib/esm/menu-event-registrar.d.mts +1 -1
  609. package/dist/lib/esm/menu-event-registrar.mjs +0 -36
  610. package/dist/lib/esm/metadata-cache.d.mts +1 -1
  611. package/dist/lib/esm/metadata-cache.mjs +3 -6
  612. package/dist/lib/esm/mobile-trusted-input.d.mts +1 -1
  613. package/dist/lib/esm/mobile-trusted-input.mjs +1 -37
  614. package/dist/lib/esm/modals/alert.d.mts +2 -1
  615. package/dist/lib/esm/modals/alert.mjs +2 -11
  616. package/dist/lib/esm/modals/confirm.d.mts +2 -1
  617. package/dist/lib/esm/modals/confirm.mjs +2 -11
  618. package/dist/lib/esm/modals/index.d.mts +1 -1
  619. package/dist/lib/esm/modals/index.mjs +1 -37
  620. package/dist/lib/esm/modals/minimizable-modal.d.mts +1 -1
  621. package/dist/lib/esm/modals/minimizable-modal.mjs +2 -11
  622. package/dist/lib/esm/modals/modal-command-builder.d.mts +2 -1
  623. package/dist/lib/esm/modals/modal-command-builder.mjs +2 -11
  624. package/dist/lib/esm/modals/modal.d.mts +1 -1
  625. package/dist/lib/esm/modals/modal.mjs +2 -11
  626. package/dist/lib/esm/modals/prompt.d.mts +2 -1
  627. package/dist/lib/esm/modals/prompt.mjs +2 -11
  628. package/dist/lib/esm/modals/select-item.d.mts +1 -1
  629. package/dist/lib/esm/modals/select-item.mjs +2 -11
  630. package/dist/lib/esm/modals/select-option.d.mts +2 -1
  631. package/dist/lib/esm/modals/select-option.mjs +2 -11
  632. package/dist/lib/esm/modals/suggest-modal-command-builder.d.mts +1 -1
  633. package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +1 -37
  634. package/dist/lib/esm/note-priority.d.mts +1 -1
  635. package/dist/lib/esm/note-priority.mjs +2 -11
  636. package/dist/lib/esm/notebook-navigator.d.mts +1 -1
  637. package/dist/lib/esm/notebook-navigator.mjs +1 -37
  638. package/dist/lib/esm/obsidian-dev-utils-state.d.mts +1 -1
  639. package/dist/lib/esm/obsidian-dev-utils-state.mjs +2 -11
  640. package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +1 -1
  641. package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +2 -11
  642. package/dist/lib/esm/obsidian-settings.d.mts +1 -1
  643. package/dist/lib/esm/obsidian-settings.mjs +2 -11
  644. package/dist/lib/esm/parse-link.d.mts +1 -1
  645. package/dist/lib/esm/parse-link.mjs +2 -11
  646. package/dist/lib/esm/path-settings.d.mts +1 -1
  647. package/dist/lib/esm/path-settings.mjs +2 -11
  648. package/dist/lib/esm/pdf.d.mts +2 -1
  649. package/dist/lib/esm/pdf.mjs +2 -11
  650. package/dist/lib/esm/plugin/index.d.mts +1 -1
  651. package/dist/lib/esm/plugin/index.mjs +1 -37
  652. package/dist/lib/esm/plugin/plugin-api-schema.d.mts +1 -1
  653. package/dist/lib/esm/plugin/plugin-api-schema.mjs +2 -11
  654. package/dist/lib/esm/plugin/plugin-api.d.mts +1 -1
  655. package/dist/lib/esm/plugin/plugin-api.mjs +2 -11
  656. package/dist/lib/esm/plugin/plugin-context.d.mts +2 -1
  657. package/dist/lib/esm/plugin/plugin-context.mjs +3 -12
  658. package/dist/lib/esm/plugin/plugin-event-source.d.mts +1 -1
  659. package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -37
  660. package/dist/lib/esm/plugin/plugin-install-state.d.mts +1 -1
  661. package/dist/lib/esm/plugin/plugin-install-state.mjs +1 -37
  662. package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +1 -1
  663. package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +1 -37
  664. package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +2 -1
  665. package/dist/lib/esm/plugin/plugin-settings-tab.mjs +2 -11
  666. package/dist/lib/esm/plugin/plugin.d.mts +1 -1
  667. package/dist/lib/esm/plugin/plugin.mjs +2 -11
  668. package/dist/lib/esm/plugin/settings-migration-api.d.mts +1 -1
  669. package/dist/lib/esm/plugin/settings-migration-api.mjs +2 -11
  670. package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +1 -1
  671. package/dist/lib/esm/plugin-cli-handler-registrar.mjs +2 -11
  672. package/dist/lib/esm/popovers/field-popover.d.mts +1 -1
  673. package/dist/lib/esm/popovers/field-popover.mjs +2 -11
  674. package/dist/lib/esm/popovers/index.d.mts +1 -1
  675. package/dist/lib/esm/popovers/index.mjs +1 -37
  676. package/dist/lib/esm/popovers/popover-anchor.d.mts +2 -1
  677. package/dist/lib/esm/popovers/popover-anchor.mjs +2 -11
  678. package/dist/lib/esm/popovers/popover.d.mts +2 -1
  679. package/dist/lib/esm/popovers/popover.mjs +2 -11
  680. package/dist/lib/esm/property-entry.d.mts +1 -1
  681. package/dist/lib/esm/property-entry.mjs +1 -37
  682. package/dist/lib/esm/queue.d.mts +2 -1
  683. package/dist/lib/esm/queue.mjs +2 -11
  684. package/dist/lib/esm/react/app-context.d.mts +1 -1
  685. package/dist/lib/esm/react/app-context.mjs +2 -11
  686. package/dist/lib/esm/react/index.d.mts +1 -1
  687. package/dist/lib/esm/react/index.mjs +1 -37
  688. package/dist/lib/esm/reference.d.mts +1 -1
  689. package/dist/lib/esm/reference.mjs +2 -11
  690. package/dist/lib/esm/resource-lock.d.mts +2 -1
  691. package/dist/lib/esm/resource-lock.mjs +2 -11
  692. package/dist/lib/esm/resource-url.d.mts +1 -1
  693. package/dist/lib/esm/resource-url.mjs +2 -11
  694. package/dist/lib/esm/ribbon-icon-registrar.d.mts +2 -1
  695. package/dist/lib/esm/ribbon-icon-registrar.mjs +2 -11
  696. package/dist/lib/esm/setting-components/checkbox-component.d.mts +2 -1
  697. package/dist/lib/esm/setting-components/checkbox-component.mjs +2 -11
  698. package/dist/lib/esm/setting-components/code-highlighter-component.d.mts +2 -1
  699. package/dist/lib/esm/setting-components/code-highlighter-component.mjs +2 -11
  700. package/dist/lib/esm/setting-components/date-component.d.mts +2 -1
  701. package/dist/lib/esm/setting-components/date-component.mjs +2 -11
  702. package/dist/lib/esm/setting-components/date-time-component.d.mts +2 -1
  703. package/dist/lib/esm/setting-components/date-time-component.mjs +2 -11
  704. package/dist/lib/esm/setting-components/email-component.d.mts +2 -1
  705. package/dist/lib/esm/setting-components/email-component.mjs +1 -37
  706. package/dist/lib/esm/setting-components/file-component.d.mts +2 -1
  707. package/dist/lib/esm/setting-components/file-component.mjs +1 -37
  708. package/dist/lib/esm/setting-components/index.d.mts +1 -1
  709. package/dist/lib/esm/setting-components/index.mjs +1 -37
  710. package/dist/lib/esm/setting-components/month-component.d.mts +2 -1
  711. package/dist/lib/esm/setting-components/month-component.mjs +2 -11
  712. package/dist/lib/esm/setting-components/multiple-dropdown-component.d.mts +3 -1
  713. package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +2 -11
  714. package/dist/lib/esm/setting-components/multiple-email-component.d.mts +2 -1
  715. package/dist/lib/esm/setting-components/multiple-email-component.mjs +1 -37
  716. package/dist/lib/esm/setting-components/multiple-file-component.d.mts +2 -1
  717. package/dist/lib/esm/setting-components/multiple-file-component.mjs +2 -11
  718. package/dist/lib/esm/setting-components/multiple-text-component.d.mts +2 -1
  719. package/dist/lib/esm/setting-components/multiple-text-component.mjs +2 -11
  720. package/dist/lib/esm/setting-components/number-component.d.mts +2 -1
  721. package/dist/lib/esm/setting-components/number-component.mjs +1 -37
  722. package/dist/lib/esm/setting-components/password-component.d.mts +2 -1
  723. package/dist/lib/esm/setting-components/password-component.mjs +1 -37
  724. package/dist/lib/esm/setting-components/setting-component-wrapper.d.mts +2 -1
  725. package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +2 -11
  726. package/dist/lib/esm/setting-components/telephone-component.d.mts +2 -1
  727. package/dist/lib/esm/setting-components/telephone-component.mjs +1 -37
  728. package/dist/lib/esm/setting-components/text-based-component.d.mts +1 -1
  729. package/dist/lib/esm/setting-components/text-based-component.mjs +2 -11
  730. package/dist/lib/esm/setting-components/time-component.d.mts +2 -1
  731. package/dist/lib/esm/setting-components/time-component.mjs +2 -11
  732. package/dist/lib/esm/setting-components/tri-state-checkbox-component.d.mts +2 -1
  733. package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +2 -11
  734. package/dist/lib/esm/setting-components/typed-dropdown-component.d.mts +3 -1
  735. package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +2 -11
  736. package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.d.mts +3 -1
  737. package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +2 -11
  738. package/dist/lib/esm/setting-components/typed-range-text-component.d.mts +1 -1
  739. package/dist/lib/esm/setting-components/typed-range-text-component.mjs +1 -37
  740. package/dist/lib/esm/setting-components/typed-text-component.d.mts +2 -1
  741. package/dist/lib/esm/setting-components/typed-text-component.mjs +2 -11
  742. package/dist/lib/esm/setting-components/url-component.d.mts +2 -1
  743. package/dist/lib/esm/setting-components/url-component.mjs +1 -37
  744. package/dist/lib/esm/setting-components/validator-component.d.mts +1 -1
  745. package/dist/lib/esm/setting-components/validator-component.mjs +2 -11
  746. package/dist/lib/esm/setting-components/value-component-with-change-tracking.d.mts +1 -1
  747. package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +0 -36
  748. package/dist/lib/esm/setting-components/week-component.d.mts +2 -1
  749. package/dist/lib/esm/setting-components/week-component.mjs +2 -11
  750. package/dist/lib/esm/setting-ex.d.mts +2 -1
  751. package/dist/lib/esm/setting-ex.mjs +2 -11
  752. package/dist/lib/esm/setting-group-ex.d.mts +2 -1
  753. package/dist/lib/esm/setting-group-ex.mjs +2 -11
  754. package/dist/lib/esm/status-bar-item-registrar.d.mts +2 -1
  755. package/dist/lib/esm/status-bar-item-registrar.mjs +2 -11
  756. package/dist/lib/esm/templater.d.mts +1 -1
  757. package/dist/lib/esm/templater.mjs +1 -37
  758. package/dist/lib/esm/transformers/duration-transformer.d.mts +1 -1
  759. package/dist/lib/esm/transformers/duration-transformer.mjs +2 -11
  760. package/dist/lib/esm/transformers/index.d.mts +1 -1
  761. package/dist/lib/esm/transformers/index.mjs +1 -37
  762. package/dist/lib/esm/trusted-input.d.mts +1 -1
  763. package/dist/lib/esm/trusted-input.mjs +2 -11
  764. package/dist/lib/esm/validation.d.mts +1 -1
  765. package/dist/lib/esm/validation.mjs +2 -11
  766. package/dist/lib/esm/vault-delete.d.mts +1 -1
  767. package/dist/lib/esm/vault-delete.mjs +2 -11
  768. package/dist/lib/esm/vault-transaction.d.mts +1 -1
  769. package/dist/lib/esm/vault-transaction.mjs +3 -6
  770. package/dist/lib/esm/vault.d.mts +1 -1
  771. package/dist/lib/esm/vault.mjs +3 -6
  772. package/dist/lib/esm/view-registrar.d.mts +1 -1
  773. package/dist/lib/esm/view-registrar.mjs +2 -11
  774. package/dist/lib/esm/workspace.d.mts +2 -1
  775. package/dist/lib/esm/workspace.mjs +2 -11
  776. package/package.json +24 -8
@@ -2,52 +2,6 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return "/";
17
- },
18
- env: {},
19
- platform: "android"
20
- };
21
- const existingProcess = globalThis.process;
22
- if (!existingProcess) {
23
- globalThis.process = browserProcess;
24
- return;
25
- }
26
- if (existingProcess.versions?.node) {
27
- return;
28
- }
29
- const existingProcessRecord = existingProcess;
30
- for (const [key, value] of Object.entries(browserProcess)) {
31
- existingProcessRecord[key] ??= value;
32
- }
33
- existingProcessRecord["browser"] = true;
34
- }
35
-
36
- function keepName($unknown) {
37
- return $unknown;
38
- }
39
-
40
- (function initCjs() {
41
- const globalThisRecord = globalThis;
42
- ensureDisposeSymbols();
43
- globalThisRecord["__name"] ??= keepName;
44
- globalThisRecord["__extractDefault"] ??= extractDefault;
45
- ensureBrowserProcess();
46
- function extractDefault(module) {
47
- return module && module.__esModule && "default" in module ? module.default : module;
48
- }
49
- })();
50
- })();
51
5
  (function patchObsidianRequire() {
52
6
  const originalRequire = require;
53
7
  if (!originalRequire || originalRequire.__isPatched) {
@@ -128,4 +82,4 @@ var __copyProps = (to, from, except, desc) => {
128
82
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
129
83
  var demo_vault_helper_settings_exports = {};
130
84
  module.exports = __toCommonJS(demo_vault_helper_settings_exports);
131
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlbW8tdmF1bHQtaGVscGVyLXNldHRpbmdzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGBkZW1vLXZhdWx0LWhlbHBlcmAgcGx1Z2luJ3Mgb3duIHNldHRpbmdzIFx1MjAxNCB0aGUgY29udHJhY3QgYmV0d2VlbiB0aGUgZGVtby12YXVsdCBwYWNrYWdpbmcgc3RlcFxuICogYW5kIHRoZSBib290c3RyYXAgdGhhdCBydW5zIGluc2lkZSB0aGUgb3BlbmVkIHZhdWx0LlxuICpcbiAqIFRoZSBoZWxwZXIgaGFzIHRvIG5hbWUgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLCBhbmQgbm90aGluZyBpbnNpZGUgdGhlIHZhdWx0IHJlbGlhYmx5IHNheXNcbiAqIHdoaWNoIG9uZSB0aGF0IGlzOiB0aGUgcGx1Z2luIGZvbGRlcnMgYWxzbyBob2xkIHRoZSBoZWxwZXIgaXRzZWxmLCBgQ29kZVNjcmlwdCBUb29sa2l0YCBvbmNlIHRoZVxuICogYm9vdHN0cmFwIGhhcyBpbnN0YWxsZWQgaXQsIGFuZCBhbnl0aGluZyBhIGRlbW8gbm90ZSdzIHByZXJlcXVpc2l0ZXMgaW5zdGFsbGVkLCBzbyBjb3VudGluZyB0aGVtXG4gKiBndWVzc2VzIChhbmQgZ3Vlc3NlcyBkaWZmZXJlbnRseSBvbiBhIHJlLW9wZW4pLiBUaGUgcGFja2FnaW5nIHN0ZXAsIG9uIHRoZSBvdGhlciBoYW5kLCBLTk9XUyBcdTIwMTQgaXRcbiAqIHJlYWRzIHRoZSBwbHVnaW4ncyBgbWFuaWZlc3QuanNvbmAgdG8gbmFtZSB0aGUgYXJjaGl2ZSBcdTIwMTQgc28gaXQgd3JpdGVzIHRoZSBpZCBkb3duIGhlcmUgYW5kIHRoZVxuICogYm9vdHN0cmFwIHNpbXBseSByZWFkcyBpdC5cbiAqXG4gKiBUaGUgbWFya2VyIGFuZCB0aGUgaGVscGVyIGJpbmFyeSBhcmUgd3JpdHRlbiB0b2dldGhlciwgYnkgdGhlIHNhbWUgYG9ic2lkaWFuLWRldi11dGlsc2AgdmVyc2lvbiwgaW50b1xuICogdGhlIHNhbWUgYXJjaGl2ZSwgc28gdGhlIHR3byBjYW4gbmV2ZXIgZGlzYWdyZWUuXG4gKlxuICogS2VwdCBmcmVlIG9mIGBvYnNpZGlhbmAgaW1wb3J0cyBvbiBwdXJwb3NlOiB0aGUgcGFja2FnaW5nIHN0ZXAgKHtAbGluayBhcmNoaXZlUGx1Z2luRGVtb1ZhdWx0fSkgcnVuc1xuICogdW5kZXIgTm9kZSwgd2hlcmUgdGhlIGBvYnNpZGlhbmAgbW9kdWxlIGRvZXMgbm90IGV4aXN0LlxuICovXG5cbi8qKlxuICogVGhlIGBkZW1vLXZhdWx0LWhlbHBlcmAgcGx1Z2luJ3MgYGRhdGEuanNvbmAsIHdyaXR0ZW4gaW50byB0aGUgZGVtbyB2YXVsdCBhdCBwYWNrYWdpbmcgdGltZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLCB0YWtlbiBmcm9tIHRoYXQgcGx1Z2luJ3MgYG1hbmlmZXN0Lmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LWhlbHBlci1zZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGBkZW1vLXZhdWx0LWhlbHBlcmAgcGx1Z2luJ3Mgb3duIHNldHRpbmdzIOKAlCB0aGUgY29udHJhY3QgYmV0d2VlbiB0aGUgZGVtby12YXVsdCBwYWNrYWdpbmcgc3RlcFxuICogYW5kIHRoZSBib290c3RyYXAgdGhhdCBydW5zIGluc2lkZSB0aGUgb3BlbmVkIHZhdWx0LlxuICpcbiAqIFRoZSBoZWxwZXIgaGFzIHRvIG5hbWUgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLCBhbmQgbm90aGluZyBpbnNpZGUgdGhlIHZhdWx0IHJlbGlhYmx5IHNheXNcbiAqIHdoaWNoIG9uZSB0aGF0IGlzOiB0aGUgcGx1Z2luIGZvbGRlcnMgYWxzbyBob2xkIHRoZSBoZWxwZXIgaXRzZWxmLCBgQ29kZVNjcmlwdCBUb29sa2l0YCBvbmNlIHRoZVxuICogYm9vdHN0cmFwIGhhcyBpbnN0YWxsZWQgaXQsIGFuZCBhbnl0aGluZyBhIGRlbW8gbm90ZSdzIHByZXJlcXVpc2l0ZXMgaW5zdGFsbGVkLCBzbyBjb3VudGluZyB0aGVtXG4gKiBndWVzc2VzIChhbmQgZ3Vlc3NlcyBkaWZmZXJlbnRseSBvbiBhIHJlLW9wZW4pLiBUaGUgcGFja2FnaW5nIHN0ZXAsIG9uIHRoZSBvdGhlciBoYW5kLCBLTk9XUyDigJQgaXRcbiAqIHJlYWRzIHRoZSBwbHVnaW4ncyBgbWFuaWZlc3QuanNvbmAgdG8gbmFtZSB0aGUgYXJjaGl2ZSDigJQgc28gaXQgd3JpdGVzIHRoZSBpZCBkb3duIGhlcmUgYW5kIHRoZVxuICogYm9vdHN0cmFwIHNpbXBseSByZWFkcyBpdC5cbiAqXG4gKiBUaGUgbWFya2VyIGFuZCB0aGUgaGVscGVyIGJpbmFyeSBhcmUgd3JpdHRlbiB0b2dldGhlciwgYnkgdGhlIHNhbWUgYG9ic2lkaWFuLWRldi11dGlsc2AgdmVyc2lvbiwgaW50b1xuICogdGhlIHNhbWUgYXJjaGl2ZSwgc28gdGhlIHR3byBjYW4gbmV2ZXIgZGlzYWdyZWUuXG4gKlxuICogS2VwdCBmcmVlIG9mIGBvYnNpZGlhbmAgaW1wb3J0cyBvbiBwdXJwb3NlOiB0aGUgcGFja2FnaW5nIHN0ZXAgKHtAbGluayBhcmNoaXZlUGx1Z2luRGVtb1ZhdWx0fSkgcnVuc1xuICogdW5kZXIgTm9kZSwgd2hlcmUgdGhlIGBvYnNpZGlhbmAgbW9kdWxlIGRvZXMgbm90IGV4aXN0LlxuICovXG5cbi8qKlxuICogVGhlIGBkZW1vLXZhdWx0LWhlbHBlcmAgcGx1Z2luJ3MgYGRhdGEuanNvbmAsIHdyaXR0ZW4gaW50byB0aGUgZGVtbyB2YXVsdCBhdCBwYWNrYWdpbmcgdGltZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLCB0YWtlbiBmcm9tIHRoYXQgcGx1Z2luJ3MgYG1hbmlmZXN0Lmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7IiwibmFtZXMiOltdfQ==
@@ -1,4 +1,4 @@
1
- /// <reference path="./library.d.cts" />
1
+ /// <reference path="./library-references.d.cts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -2,13 +2,7 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
@@ -33,20 +27,7 @@ function ensureBrowserProcess() {
33
27
  existingProcessRecord["browser"] = true;
34
28
  }
35
29
 
36
- function keepName($unknown) {
37
- return $unknown;
38
- }
39
-
40
- (function initCjs() {
41
- const globalThisRecord = globalThis;
42
- ensureDisposeSymbols();
43
- globalThisRecord["__name"] ??= keepName;
44
- globalThisRecord["__extractDefault"] ??= extractDefault;
45
- ensureBrowserProcess();
46
- function extractDefault(module) {
47
- return module && module.__esModule && "default" in module ? module.default : module;
48
- }
49
- })();
30
+ ensureBrowserProcess();
50
31
  })();
51
32
  (function patchObsidianRequire() {
52
33
  const originalRequire = require;
@@ -230,4 +211,4 @@ function showSandboxNotice(app, demoedPluginId) {
230
211
  0 && (module.exports = {
231
212
  bootstrapDemoVault
232
213
  });
233
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlbW8tdmF1bHQtaGVscGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgYnkgaW5zdGFsbGluZywgY29uZmlndXJpbmcsIGFuZCBlbmFibGluZyBgQ29kZVNjcmlwdCBUb29sa2l0YC5cbiAqXG4gKiBBIHBsdWdpbidzIGRlbW8gdmF1bHQgc2hvd2Nhc2VzIHRoZSBwbHVnaW4gdGhyb3VnaCBub3RlcyB3aG9zZSBgY29kZS1idXR0b25gcyBydW4gVHlwZVNjcmlwdCB2aWFcbiAqIGBDb2RlU2NyaXB0IFRvb2xraXRgLiBBIGRlbW8gdmF1bHQgdGhhdCBkb2VzIG5vdCBpdHNlbGYgc2hpcCBgQ29kZVNjcmlwdCBUb29sa2l0YCB0aGVyZWZvcmUgbmVlZHMgaXRcbiAqIGluc3RhbGxlZCwgY29uZmlndXJlZCwgYW5kIGVuYWJsZWQgYmVmb3JlIHRob3NlIGJ1dHRvbnMgd29yay4ge0BsaW5rIGJvb3RzdHJhcERlbW9WYXVsdH0gZG9lcyBleGFjdGx5XG4gKiB0aGF0IHdpdGggbm8gY29tbWl0dGVkIGBDb2RlU2NyaXB0IFRvb2xraXRgIGNvbmZpZyBhbmQgbm8gbWFudWFsIHNldHVwLCBzbyBpdCBjYW4gYmUgZHJpdmVuIGZyb20gYSB0aW55XG4gKiBjb21taXR0ZWQgYm9vdHN0cmFwIHBsdWdpbiAoYGRlbW8tdmF1bHQtaGVscGVyYCkgdGhhdCBpcyBpbmplY3RlZCBpbnRvIGV2ZXJ5IGRlbW8gdmF1bHQgYXQgcmVsZWFzZVxuICogdGltZS5cbiAqXG4gKiBUaGUgcGx1Z2luIHRoZSB2YXVsdCBkZW1vbnN0cmF0ZXMgaXMgcmVhZCBmcm9tIHRoZSBoZWxwZXIncyBvd24gYGRhdGEuanNvbmAsIHdyaXR0ZW4gYnkgdGhlIHBhY2thZ2luZ1xuICogc3RlcCAoe0BsaW5rIERlbW9WYXVsdEhlbHBlclNldHRpbmdzfSk7IGEgdmF1bHQgd2l0aG91dCB0aGF0IG1hcmtlciBpcyByZWZ1c2VkIGFzIG5vdCBhIGRlbW8gdmF1bHQuXG4gKlxuICogSXQgd3JpdGVzIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIGl0LCBzbyB0aGUgcGx1Z2luIGxvYWRzIGFscmVhZHkgY29uZmlndXJlZCBcdTIwMTRcbiAqIG5vIHJlbG9hZC4gYENvZGVTY3JpcHQgVG9vbGtpdGAgdGhlbiBydW5zIHRoZSB2YXVsdCdzIGBzdGFydHVwLnRzYCAodmlhIGl0cyBgc3RhcnR1cFNjcmlwdFBhdGhgXG4gKiBzZXR0aW5nKSwgd2hpY2ggaXMgd2hlcmUgZWFjaCB2YXVsdCBvcGVucyBpdHMgc3RhcnQgbm90ZSBhbmQgZG9lcyBhbnkgcGx1Z2luLXNwZWNpZmljIHNldHVwLlxuICpcbiAqIEl0IGFsc28gY3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciBpZiBpdCBpcyBtaXNzaW5nLCBzbyBldmVyeSBkZW1vIHZhdWx0XG4gKiBoYXMgdGhlIHNhbWUgbGF5b3V0IGV2ZW4gd2hlbiB0aGUgdmF1bHQgc2hpcHMgbm8gaW52b2NhYmxlIHNjcmlwdHMgXHUyMDE0IHRoZSB2YXVsdHMgdGhlbXNlbHZlcyBjb21taXQgbm9cbiAqIGVtcHR5IGZvbGRlciBmb3IgaXQuXG4gKlxuICogSXQgdGhlbiBpbnN0YWxscyB0aGUgYEZvbGRlciBOb3Rlc2AgcGx1Z2luLCBjb25maWd1cmVkIHRvIHRyZWF0IGBSRUFETUUubWRgIGFzIGEgZm9sZGVyJ3Mgb3duIG5vdGUuIEFcbiAqIGRlbW8gdmF1bHQgdGhhdCBoYXMgb3V0Z3Jvd24gYSBmbGF0IG5vdGUgbGlzdCBncm91cHMgaXRzIG5vdGVzIGludG8gZm9sZGVycywgYW5kIGEgZ3JvdXAgZm9sZGVyIG9ubHlcbiAqIHNheXMgd2hhdCBpdCBpcyBmb3IgaWYgaXQgaGFzIGEgbm90ZSBvZiBpdHMgb3duIFx1MjAxNCBgUkVBRE1FLm1kYCwgYmVjYXVzZSB0aGF0IGlzIGFsc28gdGhlIGZpbGUgR2l0SHViXG4gKiByZW5kZXJzIHVuZGVyIHRoZSBmaWxlIGxpc3Qgd2hlbiB0aGUgc2FtZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgc28gb25lIGZpbGUgc2VydmVzIGJvdGhcbiAqIHJlYWRlcnMuXG4gKlxuICogRmluYWxseSBpdCByYWlzZXMgdGhlIHNhbmRib3ggbm90aWNlIGV4cGxhaW5pbmcgdGhhdCB0aGUgb3BlbmVkIHZhdWx0IGlzIGEgdGhyb3dhd2F5IGNvcHksIHNvIGEgdXNlclxuICogd2hvIHdyaXRlcyB0aGVpciBvd24gbm90ZXMgaW4gaXQgaXMgbmV2ZXIgc3VycHJpc2VkIGJ5IHRoZW0gYmVpbmcgYWJzZW50IGZyb20gdGhlIG5leHQgY29weS4gU2V0dGluZ3NcbiAqIGlzIGNsb3NlZCBmaXJzdCwgc28gdGhlIG5vdGljZSBsYW5kcyBpbiB0aGUgdmF1bHQncyBtYWluIHdpbmRvdyByYXRoZXIgdGhhbiBpbiB0aGUgc2V0dGluZ3MgcG9wb3V0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyB9IGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuXG5pbXBvcnQge1xuICBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4sXG4gIENvbmZpZ3VyZUNvbW11bml0eVBsdWdpblJlc3VsdCxcbiAgZGlzYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgYXBwZW5kQ29kZUJsb2NrIH0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBib290c3RyYXBEZW1vVmF1bHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcERlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG59XG5cbi8qKlxuICogYENvZGVTY3JpcHQgVG9vbGtpdGAncyBzZXR0aW5ncywgd3JpdHRlbiBpbnRvIGl0cyBgZGF0YS5qc29uYCBiZWZvcmUgaXQgaXMgZW5hYmxlZC5cbiAqL1xuaW50ZXJmYWNlIENvZGVTY3JpcHRUb29sa2l0U2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIFlBTUwgZnJvbnRtYXR0ZXIgbWVyZ2VkIGludG8gZXZlcnkgYGNvZGUtYnV0dG9uYCBibG9jaydzIG93biBjb25maWcsIHVzZWQgaGVyZSB0byB0dXJuIHRoZVxuICAgKiBzb3VyY2Ugdmlld2VyIG9uIGZvciBldmVyeSBidXR0b24gaW4gZXZlcnkgZGVtbyB2YXVsdCB3aXRob3V0IGVkaXRpbmcgYSBzaW5nbGUgbm90ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDb2RlQnV0dG9uQ29uZmlnOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgaG9sZGluZyBpbnZvY2FibGUgc2NyaXB0cy5cbiAgICovXG4gIHJlYWRvbmx5IGludm9jYWJsZVNjcmlwdHNGb2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhdWx0LXJlbGF0aXZlIGZvbGRlciB0aGF0IGByZXF1aXJlKCcvXHUyMDI2JylgIHJlc29sdmVzIG1vZHVsZSBwYXRocyBhZ2FpbnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlc1Jvb3Q6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciBgQ29kZVNjcmlwdCBUb29sa2l0YCBoYW5kbGVzIGBvYnNpZGlhbjovL2AgcHJvdG9jb2wgVVJMcy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEhhbmRsZVByb3RvY29sVXJsczogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgb2YgdGhlIHNjcmlwdCBydW4gb24gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0dXBTY3JpcHRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogYEZvbGRlciBOb3Rlc2AnIHNldHRpbmdzLCB3cml0dGVuIGludG8gaXRzIGBkYXRhLmpzb25gIGJlZm9yZSBpdCBpcyBlbmFibGVkLlxuICovXG5pbnRlcmZhY2UgRm9sZGVyTm90ZXNTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGxvb2tlZCBmb3IgdW5kZXIsIHdpdGhvdXQgdGhlIGV4dGVuc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZvbGRlck5vdGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBmb2xkZXIncyBvd24gbm90ZSBpcyBoaWRkZW4gZnJvbSB0aGUgZmlsZSBleHBsb3Jlciwgc28gdGhlIGZvbGRlciBpdHNlbGYgc3RhbmRzIGZvciBpdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZGVGb2xkZXJOb3RlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGtlcHQsIHJlbGF0aXZlIHRvIHRoZSBmb2xkZXIgaXQgZGVzY3JpYmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZUxvY2F0aW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEID0gJ2ZpeC1yZXF1aXJlLW1vZHVsZXMnO1xuY29uc3QgQ09ERV9TQ1JJUFRfVE9PTEtJVF9NT0RVTEVTX1JPT1QgPSAnX2Fzc2V0cy9Db2RlU2NyaXB0VG9vbGtpdCc7XG5jb25zdCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTOiBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzID0ge1xuICBkZWZhdWx0Q29kZUJ1dHRvbkNvbmZpZzogJy0tLVxcbnNvdXJjZVZpc2liaWxpdHk6IGNvbGxhcHNlZFxcbi0tLScsXG4gIGludm9jYWJsZVNjcmlwdHNGb2xkZXI6ICdJbnZvY2FibGVzJyxcbiAgbW9kdWxlc1Jvb3Q6IENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULFxuICBzaG91bGRIYW5kbGVQcm90b2NvbFVybHM6IHRydWUsXG4gIHN0YXJ0dXBTY3JpcHRQYXRoOiAnc3RhcnR1cC50cydcbn07XG5cbmNvbnN0IEZPTERFUl9OT1RFU19QTFVHSU5fSUQgPSAnZm9sZGVyLW5vdGVzJztcbi8vIGBSRUFETUVgIHJhdGhlciB0aGFuIGBGb2xkZXIgTm90ZXNgJyBvd24gYHt7Zm9sZGVyX25hbWV9fWAgZGVmYXVsdDogdGhlIHNhbWUgZmlsZSBoYXMgdG8gYmUgdGhlIGZvbGRlcidzXG4vLyBub3RlIGluIE9ic2lkaWFuIEFORCB0aGUgcGFnZSBHaXRIdWIgcmVuZGVycyB3aGVuIHRoZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgYW5kIEdpdEh1YlxuLy8gb25seSBkb2VzIHRoYXQgZm9yIGBSRUFETUUubWRgLiBgaW5zaWRlRm9sZGVyYCBrZWVwcyBpdCB3aXRoIHRoZSBub3RlcyBpdCBkZXNjcmliZXMgcmF0aGVyIHRoYW4gYmVzaWRlXG4vLyB0aGUgZm9sZGVyLCBhbmQgaGlkaW5nIGl0IGxldHMgdGhlIGZvbGRlciBpdHNlbGYgc3RhbmQgZm9yIHRoZSBub3RlIGluc3RlYWQgb2YgbGlzdGluZyBib3RoLlxuY29uc3QgRk9MREVSX05PVEVTX1NFVFRJTkdTOiBGb2xkZXJOb3Rlc1NldHRpbmdzID0ge1xuICBmb2xkZXJOb3RlTmFtZTogJ1JFQURNRScsXG4gIGhpZGVGb2xkZXJOb3RlOiB0cnVlLFxuICBzdG9yYWdlTG9jYXRpb246ICdpbnNpZGVGb2xkZXInXG59O1xuXG5jb25zdCBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSUQgPSAnZGVtby12YXVsdC1oZWxwZXInO1xuY29uc3QgUExVR0lOU19GT0xERVJfTkFNRSA9ICdwbHVnaW5zJztcbmNvbnN0IERBVEFfSlNPTl9GSUxFX05BTUUgPSAnZGF0YS5qc29uJztcbmNvbnN0IElOVkFMSURfREVNT19WQVVMVF9FUlJPUl9NRVNTQUdFID0gJ0ludmFsaWQgZGVtbyB2YXVsdCc7XG5jb25zdCBPUEVOX0RFTU9fVkFVTFRfQ09NTUFORF9OQU1FID0gJ09wZW4gZGVtbyB2YXVsdCc7XG4vLyBgMGAgYXNrcyBPYnNpZGlhbiB0byBrZWVwIHRoZSBub3RpY2UgdXAgdW50aWwgdGhlIHVzZXIgY2xpY2tzIGl0IFx1MjAxNCB0aGUgc2FtZSB0cmVhdG1lbnQgT2JzaWRpYW4gZ2l2ZXNcbi8vIGl0cyBvd24gc2FuZGJveC12YXVsdCBub3RpY2UsIGFuZCB3aGF0IHRoZSBkZW1vLXZhdWx0IG5vdGljZSBpcyBtb2RlbGxlZCBvbi5cbmNvbnN0IFNBTkRCT1hfTk9USUNFX0RVUkFUSU9OX0lOX01JTExJU0VDT05EUyA9IDA7XG5cbi8qKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgc28gaXRzIG5vdGVzJyBgY29kZS1idXR0b25gcyB3b3JrIHdpdGggbm8gbWFudWFsIHNldHVwOiBpbnN0YWxscyBDb2RlU2NyaXB0XG4gKiBUb29sa2l0IGZyb20gdGhlIGNvbW11bml0eSBzdG9yZSAoaWYgaXQgaXMgbm90IGFscmVhZHkgaW5zdGFsbGVkKSwgd3JpdGVzIGl0cyBzZXR0aW5ncywgdGhlbiBlbmFibGVzXG4gKiBpdCBcdTIwMTQgd3JpdGluZyB0aGUgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIHNvIGEgZnJlc2ggZW5hYmxlIGxvYWRzIGl0IGFscmVhZHkgY29uZmlndXJlZCwgd2l0aCBub1xuICogcmVsb2FkLiBJZiBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBhbHJlYWR5IGVuYWJsZWQgYnV0IHRoZSBzZXR0aW5ncyBqdXN0IGNoYW5nZWQsIGl0IGlzIHJlbG9hZGVkXG4gKiAoZGlzYWJsZWQgdGhlbiBlbmFibGVkKSBzbyBpdCByZS1yZWFkcyBgZGF0YS5qc29uYDsgd2hlbiB0aGUgc2V0dGluZ3Mgd2VyZSBhbHJlYWR5IGluIHBsYWNlLCBub3RoaW5nIGlzXG4gKiByZWxvYWRlZCAoc28gYSByb3V0aW5lIHZhdWx0IHJlLW9wZW4gZG9lcyBub3QgcmUtcnVuIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc3RhcnR1cCkuIGBDb2RlU2NyaXB0IFRvb2xraXRgXG4gKiB0aGVuIHJ1bnMgdGhlIHZhdWx0J3MgYHN0YXJ0dXAudHNgLiBgRm9sZGVyIE5vdGVzYCBpcyBpbnN0YWxsZWQgbmV4dCwgY29uZmlndXJlZCB0byB0cmVhdCBgUkVBRE1FLm1kYCBhc1xuICogYSBmb2xkZXIncyBvd24gbm90ZSwgc28gYSB2YXVsdCB3aG9zZSBub3RlcyBhcmUgZ3JvdXBlZCBpbnRvIGZvbGRlcnMgZGVzY3JpYmVzIGVhY2ggZ3JvdXAgaW4gdGhlIGZpbGVcbiAqIGV4cGxvcmVyLiBGaW5hbGx5IGl0IGNsb3NlcyBTZXR0aW5ncyAoc28gdGhlIG5vdGljZSBjYW5ub3QgYmUgcmFpc2VkIGluc2lkZSB0aGUgc2V0dGluZ3MgcG9wb3V0KSBhbmRcbiAqIHJhaXNlcyB0aGUgc2FuZGJveCBub3RpY2UgZGVzY3JpYmluZyB0aGUgb3BlbmVkIHZhdWx0IGFzIGEgdGhyb3dhd2F5IGNvcHkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBpbnN0YWxsZWQsIGNvbmZpZ3VyZWQsIGFuZCBlbmFibGVkXG4gKiBhbmQgdGhlIHNhbmRib3ggbm90aWNlIGhhcyBiZWVuIHNob3duLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYm9vdHN0cmFwRGVtb1ZhdWx0KHBhcmFtczogQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwIH0gPSBwYXJhbXM7XG4gIC8vIFJlc29sdmVkIGZpcnN0LCBzbyBhIHZhdWx0IHRoYXQgaXMgbm90IGEgZGVtbyB2YXVsdCBpcyByZWZ1c2VkIGJlZm9yZSBhbnl0aGluZyBpcyBpbnN0YWxsZWQgaW50byBpdC5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSBhd2FpdCBnZXREZW1vZWRQbHVnaW5JZChhcHApO1xuICBhd2FpdCBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luKHsgYXBwLCBwbHVnaW5JZDogQ09ERV9TQ1JJUFRfVE9PTEtJVF9QTFVHSU5fSUQgfSk7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbmZpZ3VyZUNvbW11bml0eVBsdWdpbih7XG4gICAgYXBwLFxuICAgIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCxcbiAgICBzZXR0aW5nczogQ09ERV9TQ1JJUFRfVE9PTEtJVF9TRVRUSU5HU1xuICB9KTtcbiAgYXdhaXQgZW5zdXJlSW52b2NhYmxlU2NyaXB0c0ZvbGRlcihhcHApO1xuXG4gIGlmICghYXBwLnBsdWdpbnMuZW5hYmxlZFBsdWdpbnMuaGFzKENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEKSkge1xuICAgIGF3YWl0IGVuYWJsZUNvbW11bml0eVBsdWdpbih7IGFwcCwgcGx1Z2luSWQ6IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEIH0pO1xuICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gQ29uZmlndXJlQ29tbXVuaXR5UGx1Z2luUmVzdWx0LlN1Y2Nlc3MpIHtcbiAgICAvLyBBbHJlYWR5IGVuYWJsZWQgd2l0aCBzdGFsZSBzZXR0aW5ncyBcdTIwMTQgcmVsb2FkIHNvIGBDb2RlU2NyaXB0IFRvb2xraXRgIHJlLXJlYWRzIHRoZSBmcmVzaGx5IHdyaXR0ZW4gZGF0YS5qc29uLlxuICAgIGF3YWl0IGRpc2FibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgICBhd2FpdCBlbmFibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgfVxuXG4gIC8vIEFmdGVyIGBDb2RlU2NyaXB0IFRvb2xraXRgLCBzbyB0aGUgdmF1bHQncyBzdGFydHVwIHNjcmlwdCBoYXMgYWxyZWFkeSBvcGVuZWQgdGhlIHN0YXJ0IG5vdGUgYnkgdGhlIHRpbWVcbiAgLy8gdGhlIGZpbGUgZXhwbG9yZXIgZ2FpbnMgaXRzIGZvbGRlci1ub3RlIGJlaGF2aW9yLlxuICBhd2FpdCBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luKHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQ6IEZPTERFUl9OT1RFU19QTFVHSU5fSUQsXG4gICAgc2V0dGluZ3M6IEZPTERFUl9OT1RFU19TRVRUSU5HU1xuICB9KTtcblxuICBzaG93U2FuZGJveE5vdGljZShhcHAsIGRlbW9lZFBsdWdpbklkKTtcbn1cblxuLy8gQnVpbGRzIHRoZSBzYW5kYm94IG5vdGljZSBjb250ZW50OiB3aGF0IHRoaXMgdmF1bHQgaXMsIHdoZXJlIGl0IGxpdmVzLCBob3cgbG9uZyBpdCBsaXZlcywgYW5kIHdoeVxuLy8gcmUtcnVubmluZyB0aGUgY29tbWFuZCBwcm9kdWNlcyBhIHZhdWx0IHdpdGhvdXQgdGhlIG5vdGVzIGp1c3Qgd3JpdHRlbiBoZXJlLlxuLy9cbi8vIEV2ZXJ5IGNsYWltIGhhcyB0byBzdGF5IHRydWUgb2YgdGhlIG9wZW5lciAoYGRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHNgKTogaXQgZXh0cmFjdHMgYSBGUkVTSCBjb3B5XG4vLyBpbnRvIGl0cyBvd24gZm9sZGVyIG9uIGV2ZXJ5IG9wZW4sIGFuZCBkZWxldGVzIGV4dHJhY3RlZCBmb2xkZXJzIG9sZGVyIHRoYW4gYSBkYXkgb24gZWFjaCBsYXRlciBvcGVuLlxuLy8gU28gdGhlIHZhdWx0IGlzIGEgdGVtcG9yYXJ5IHNhbmRib3ggXHUyMDE0IGl0IG11c3QgbmV2ZXIgYmUgZGVzY3JpYmVkIGFzIGEgcGxhY2Ugd29yayBjYW4gYmUgbGVmdC5cbmZ1bmN0aW9uIGJ1aWxkU2FuZGJveE5vdGljZUZyYWdtZW50KHBsdWdpbk5hbWU6IHN0cmluZyk6IERvY3VtZW50RnJhZ21lbnQge1xuICByZXR1cm4gY3JlYXRlRnJhZ21lbnQoKGZyYWdtZW50KSA9PiB7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnVGhpcyBpcyBhIGRlbW8gdmF1bHQgZm9yICcpO1xuICAgIGFwcGVuZENvZGVCbG9jayhmcmFnbWVudCwgcGx1Z2luTmFtZSk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnLicpO1xuXG4gICAgZnJhZ21lbnQuY3JlYXRlRWwoJ2JyJyk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnSXQgaXMgYSB0ZW1wb3Jhcnkgc2FuZGJveCwgY2xlYW5lZCB1cCBhdXRvbWF0aWNhbGx5IGFib3V0IGEgZGF5IGFmdGVyIHlvdSBsYXN0IHVzZSBpdC4nKTtcblxuICAgIGZyYWdtZW50LmNyZWF0ZUVsKCdicicpO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJ0V4ZWN1dGluZyAnKTtcbiAgICBmcmFnbWVudC5jcmVhdGVFbCgnYicsIHsgdGV4dDogYCR7cGx1Z2luTmFtZX06ICR7T1BFTl9ERU1PX1ZBVUxUX0NPTU1BTkRfTkFNRX1gIH0pO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJyBjb21tYW5kIGFnYWluIGNyZWF0ZXMgYSBuZXcgY29weSB3aXRoIHRoZSBsYXRlc3QgcGx1Z2luIHZlcnNpb24sIHNvIHlvdXIgbm90ZXMgd2lsbCBub3QgYXBwZWFyIGluIGl0LicpO1xuICB9KTtcbn1cblxuLy8gQ3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciAodW5kZXIgYG1vZHVsZXNSb290YCkgaWYgaXQgaXMgbWlzc2luZy5cbi8vIEV2ZXJ5IGRlbW8gdmF1bHQgdGhlbiBoYXMgdGhlIHNhbWUgYENvZGVTY3JpcHQgVG9vbGtpdGAgbGF5b3V0IGV2ZW4gd2hlbiBpdCBzaGlwcyBubyBpbnZvY2FibGUgc2NyaXB0cy5cbi8vIFRoZSBjb21taXR0ZWQgdmF1bHQgdGhlcmVmb3JlIGNhcnJpZXMgbm8gb3RoZXJ3aXNlLWVtcHR5IHBsYWNlaG9sZGVyIGZvbGRlci5cbmFzeW5jIGZ1bmN0aW9uIGVuc3VyZUludm9jYWJsZVNjcmlwdHNGb2xkZXIoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaW52b2NhYmxlU2NyaXB0c0ZvbGRlclBhdGggPSBqb2luKENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTLmludm9jYWJsZVNjcmlwdHNGb2xkZXIpO1xuICBpZiAoIWF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCkpIHtcbiAgICBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5ta2RpcihpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCk7XG4gIH1cbn1cblxuLy8gUmVhZHMgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzIG91dCBvZiB0aGlzIGhlbHBlcidzIG93biBgZGF0YS5qc29uYCwgd3JpdHRlbiBieSB0aGVcbi8vIHBhY2thZ2luZyBzdGVwIChzZWUgYERlbW9WYXVsdEhlbHBlclNldHRpbmdzYCkuIEEgdmF1bHQgd2l0aG91dCBhIHJlYWRhYmxlIG1hcmtlciB3YXMgbm90IHByb2R1Y2VkIGJ5XG4vLyB0aGF0IHN0ZXAgXHUyMDE0IGhhbmQtYXNzZW1ibGVkLCBvciB1bnBhY2tlZCBmcm9tIHNvbWV0aGluZyB0aGF0IGlzIG5vdCBhIGRlbW8gdmF1bHQgXHUyMDE0IHNvIGl0IGlzIHJlZnVzZWRcbi8vIHJhdGhlciB0aGFuIGJvb3RzdHJhcHBlZCBhZ2FpbnN0IGEgZ3Vlc3MuXG5hc3luYyBmdW5jdGlvbiBnZXREZW1vZWRQbHVnaW5JZChhcHA6IEFwcCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHNldHRpbmdzUGF0aCA9IGpvaW4oYXBwLnZhdWx0LmNvbmZpZ0RpciwgUExVR0lOU19GT0xERVJfTkFNRSwgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lELCBEQVRBX0pTT05fRklMRV9OQU1FKTtcbiAgaWYgKCFhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5leGlzdHMoc2V0dGluZ3NQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihJTlZBTElEX0RFTU9fVkFVTFRfRVJST1JfTUVTU0FHRSk7XG4gIH1cblxuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2UoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIucmVhZChzZXR0aW5nc1BhdGgpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UsIHsgY2F1c2U6IGVycm9yIH0pO1xuICB9XG5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSAocGFyc2VkIGFzIG51bGwgfCBQYXJ0aWFsPERlbW9WYXVsdEhlbHBlclNldHRpbmdzPik/LmRlbW9lZFBsdWdpbklkO1xuICBpZiAodHlwZW9mIGRlbW9lZFBsdWdpbklkICE9PSAnc3RyaW5nJyB8fCBkZW1vZWRQbHVnaW5JZCA9PT0gRU1QVFkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UpO1xuICB9XG4gIHJldHVybiBkZW1vZWRQbHVnaW5JZDtcbn1cblxuLy8gVGVsbHMgdGhlIHVzZXIgdGhpcyB2YXVsdCBpcyBhIHNhbmRib3gsIHVzaW5nIE9ic2lkaWFuJ3Mgb3duIHNhbmRib3gtdmF1bHQgdHJlYXRtZW50OiBhbiBpbmZpbml0ZVxuLy8gZHVyYXRpb24sIGRpc21pc3NlZCBieSBjbGlja2luZyBpdC4gUmFpc2VkIGxhc3QsIHNvIGl0IGlzIHRoZSBuZXdlc3Qgbm90aWNlIG9uIHNjcmVlbiBvbmNlXG4vLyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIHN0YXJ0dXAgc2NyaXB0IGhhcyBkb25lIGl0cyBvd24gd29yay5cbi8vXG4vLyBBIGBOb3RpY2VgIGlzIGJ1aWx0IGluc2lkZSB3aGF0ZXZlciB3aW5kb3cgaXMgYWN0aXZlIGF0IHRoYXQgbW9tZW50LCBhbmQgU2V0dGluZ3MgaXMgYSBQT1BPVVQgV0lORE9XXG4vLyAodmVyaWZpZWQgb24gMS4xMy42KSB0aGF0IGJlY29tZXMgdGhlIGFjdGl2ZSBvbmUgd2hpbGUgaXQgaXMgb3BlbiBcdTIwMTQgc28gYSBub3RpY2UgcmFpc2VkIHRoZW4gd291bGQgYmVcbi8vIGNyZWF0ZWQgaW4gdGhlIHNldHRpbmdzIHdpbmRvdyBhbmQgdmFuaXNoIHdpdGggaXQuIFNldHRpbmdzIGlzIHRoZXJlZm9yZSBjbG9zZWQgZmlyc3Q6IE9ic2lkaWFuIGhhbmRzXG4vLyB0aGUgbWFpbiB3aW5kb3cgYmFjayBhcyB0aGUgcG9wb3V0IGdvZXMgYXdheSAoc3luY2hyb25vdXNseSwgYmVmb3JlIHRoZSBub3RpY2UgaXMgYnVpbHQpLCBhbmQgYSB1c2VyXG4vLyB3aG8gaGFzIGp1c3Qgb3BlbmVkIGEgZGVtbyB2YXVsdCB3YW50cyB0byBzZWUgdGhlIHZhdWx0IHJhdGhlciB0aGFuIGEgc2V0dGluZ3Mgd2luZG93IGFueXdheS4gQ2xvc2luZ1xuLy8gYW4gYWxyZWFkeS1jbG9zZWQgU2V0dGluZ3MgaXMgYSBuby1vcCwgc28gbm8gb3Blbi1zdGF0ZSBwcm9iZSBpcyBuZWVkZWQuXG5mdW5jdGlvbiBzaG93U2FuZGJveE5vdGljZShhcHA6IEFwcCwgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBwbHVnaW5OYW1lID0gYXBwLnBsdWdpbnMubWFuaWZlc3RzW2RlbW9lZFBsdWdpbklkXT8ubmFtZSA/PyBkZW1vZWRQbHVnaW5JZDtcbiAgY29uc3QgZnJhZ21lbnQgPSBidWlsZFNhbmRib3hOb3RpY2VGcmFnbWVudChwbHVnaW5OYW1lKTtcbiAgYXBwLnNldHRpbmcuY2xvc2UoKTtcbiAgbmV3IE5vdGljZShmcmFnbWVudCwgU0FOREJPWF9OT1RJQ0VfRFVSQVRJT05fSU5fTUlMTElTRUNPTkRTKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQ0Esa0JBQXFCO0FBQ3JCLG9CQUFzQjtBQUN0QixzQkFBdUI7QUFJdkIsK0JBT087QUFDUCwwQkFBZ0M7QUErRGhDLE1BQU0sZ0NBQWdDO0FBQ3RDLE1BQU0sbUNBQW1DO0FBQ3pDLE1BQU0sK0JBQTBEO0FBQUEsRUFDOUQseUJBQXlCO0FBQUEsRUFDekIsd0JBQXdCO0FBQUEsRUFDeEIsYUFBYTtBQUFBLEVBQ2IsMEJBQTBCO0FBQUEsRUFDMUIsbUJBQW1CO0FBQ3JCO0FBRUEsTUFBTSx5QkFBeUI7QUFLL0IsTUFBTSx3QkFBNkM7QUFBQSxFQUNqRCxnQkFBZ0I7QUFBQSxFQUNoQixnQkFBZ0I7QUFBQSxFQUNoQixpQkFBaUI7QUFDbkI7QUFFQSxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLHNCQUFzQjtBQUM1QixNQUFNLHNCQUFzQjtBQUM1QixNQUFNLG1D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
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgYnkgaW5zdGFsbGluZywgY29uZmlndXJpbmcsIGFuZCBlbmFibGluZyBgQ29kZVNjcmlwdCBUb29sa2l0YC5cbiAqXG4gKiBBIHBsdWdpbidzIGRlbW8gdmF1bHQgc2hvd2Nhc2VzIHRoZSBwbHVnaW4gdGhyb3VnaCBub3RlcyB3aG9zZSBgY29kZS1idXR0b25gcyBydW4gVHlwZVNjcmlwdCB2aWFcbiAqIGBDb2RlU2NyaXB0IFRvb2xraXRgLiBBIGRlbW8gdmF1bHQgdGhhdCBkb2VzIG5vdCBpdHNlbGYgc2hpcCBgQ29kZVNjcmlwdCBUb29sa2l0YCB0aGVyZWZvcmUgbmVlZHMgaXRcbiAqIGluc3RhbGxlZCwgY29uZmlndXJlZCwgYW5kIGVuYWJsZWQgYmVmb3JlIHRob3NlIGJ1dHRvbnMgd29yay4ge0BsaW5rIGJvb3RzdHJhcERlbW9WYXVsdH0gZG9lcyBleGFjdGx5XG4gKiB0aGF0IHdpdGggbm8gY29tbWl0dGVkIGBDb2RlU2NyaXB0IFRvb2xraXRgIGNvbmZpZyBhbmQgbm8gbWFudWFsIHNldHVwLCBzbyBpdCBjYW4gYmUgZHJpdmVuIGZyb20gYSB0aW55XG4gKiBjb21taXR0ZWQgYm9vdHN0cmFwIHBsdWdpbiAoYGRlbW8tdmF1bHQtaGVscGVyYCkgdGhhdCBpcyBpbmplY3RlZCBpbnRvIGV2ZXJ5IGRlbW8gdmF1bHQgYXQgcmVsZWFzZVxuICogdGltZS5cbiAqXG4gKiBUaGUgcGx1Z2luIHRoZSB2YXVsdCBkZW1vbnN0cmF0ZXMgaXMgcmVhZCBmcm9tIHRoZSBoZWxwZXIncyBvd24gYGRhdGEuanNvbmAsIHdyaXR0ZW4gYnkgdGhlIHBhY2thZ2luZ1xuICogc3RlcCAoe0BsaW5rIERlbW9WYXVsdEhlbHBlclNldHRpbmdzfSk7IGEgdmF1bHQgd2l0aG91dCB0aGF0IG1hcmtlciBpcyByZWZ1c2VkIGFzIG5vdCBhIGRlbW8gdmF1bHQuXG4gKlxuICogSXQgd3JpdGVzIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIGl0LCBzbyB0aGUgcGx1Z2luIGxvYWRzIGFscmVhZHkgY29uZmlndXJlZCDigJRcbiAqIG5vIHJlbG9hZC4gYENvZGVTY3JpcHQgVG9vbGtpdGAgdGhlbiBydW5zIHRoZSB2YXVsdCdzIGBzdGFydHVwLnRzYCAodmlhIGl0cyBgc3RhcnR1cFNjcmlwdFBhdGhgXG4gKiBzZXR0aW5nKSwgd2hpY2ggaXMgd2hlcmUgZWFjaCB2YXVsdCBvcGVucyBpdHMgc3RhcnQgbm90ZSBhbmQgZG9lcyBhbnkgcGx1Z2luLXNwZWNpZmljIHNldHVwLlxuICpcbiAqIEl0IGFsc28gY3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciBpZiBpdCBpcyBtaXNzaW5nLCBzbyBldmVyeSBkZW1vIHZhdWx0XG4gKiBoYXMgdGhlIHNhbWUgbGF5b3V0IGV2ZW4gd2hlbiB0aGUgdmF1bHQgc2hpcHMgbm8gaW52b2NhYmxlIHNjcmlwdHMg4oCUIHRoZSB2YXVsdHMgdGhlbXNlbHZlcyBjb21taXQgbm9cbiAqIGVtcHR5IGZvbGRlciBmb3IgaXQuXG4gKlxuICogSXQgdGhlbiBpbnN0YWxscyB0aGUgYEZvbGRlciBOb3Rlc2AgcGx1Z2luLCBjb25maWd1cmVkIHRvIHRyZWF0IGBSRUFETUUubWRgIGFzIGEgZm9sZGVyJ3Mgb3duIG5vdGUuIEFcbiAqIGRlbW8gdmF1bHQgdGhhdCBoYXMgb3V0Z3Jvd24gYSBmbGF0IG5vdGUgbGlzdCBncm91cHMgaXRzIG5vdGVzIGludG8gZm9sZGVycywgYW5kIGEgZ3JvdXAgZm9sZGVyIG9ubHlcbiAqIHNheXMgd2hhdCBpdCBpcyBmb3IgaWYgaXQgaGFzIGEgbm90ZSBvZiBpdHMgb3duIOKAlCBgUkVBRE1FLm1kYCwgYmVjYXVzZSB0aGF0IGlzIGFsc28gdGhlIGZpbGUgR2l0SHViXG4gKiByZW5kZXJzIHVuZGVyIHRoZSBmaWxlIGxpc3Qgd2hlbiB0aGUgc2FtZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgc28gb25lIGZpbGUgc2VydmVzIGJvdGhcbiAqIHJlYWRlcnMuXG4gKlxuICogRmluYWxseSBpdCByYWlzZXMgdGhlIHNhbmRib3ggbm90aWNlIGV4cGxhaW5pbmcgdGhhdCB0aGUgb3BlbmVkIHZhdWx0IGlzIGEgdGhyb3dhd2F5IGNvcHksIHNvIGEgdXNlclxuICogd2hvIHdyaXRlcyB0aGVpciBvd24gbm90ZXMgaW4gaXQgaXMgbmV2ZXIgc3VycHJpc2VkIGJ5IHRoZW0gYmVpbmcgYWJzZW50IGZyb20gdGhlIG5leHQgY29weS4gU2V0dGluZ3NcbiAqIGlzIGNsb3NlZCBmaXJzdCwgc28gdGhlIG5vdGljZSBsYW5kcyBpbiB0aGUgdmF1bHQncyBtYWluIHdpbmRvdyByYXRoZXIgdGhhbiBpbiB0aGUgc2V0dGluZ3MgcG9wb3V0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBEZW1vVmF1bHRIZWxwZXJTZXR0aW5ncyB9IGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXItc2V0dGluZ3MudHMnO1xuXG5pbXBvcnQge1xuICBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4sXG4gIENvbmZpZ3VyZUNvbW11bml0eVBsdWdpblJlc3VsdCxcbiAgZGlzYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgYXBwZW5kQ29kZUJsb2NrIH0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBib290c3RyYXBEZW1vVmF1bHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcERlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG59XG5cbi8qKlxuICogYENvZGVTY3JpcHQgVG9vbGtpdGAncyBzZXR0aW5ncywgd3JpdHRlbiBpbnRvIGl0cyBgZGF0YS5qc29uYCBiZWZvcmUgaXQgaXMgZW5hYmxlZC5cbiAqL1xuaW50ZXJmYWNlIENvZGVTY3JpcHRUb29sa2l0U2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIFlBTUwgZnJvbnRtYXR0ZXIgbWVyZ2VkIGludG8gZXZlcnkgYGNvZGUtYnV0dG9uYCBibG9jaydzIG93biBjb25maWcsIHVzZWQgaGVyZSB0byB0dXJuIHRoZVxuICAgKiBzb3VyY2Ugdmlld2VyIG9uIGZvciBldmVyeSBidXR0b24gaW4gZXZlcnkgZGVtbyB2YXVsdCB3aXRob3V0IGVkaXRpbmcgYSBzaW5nbGUgbm90ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDb2RlQnV0dG9uQ29uZmlnOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgaG9sZGluZyBpbnZvY2FibGUgc2NyaXB0cy5cbiAgICovXG4gIHJlYWRvbmx5IGludm9jYWJsZVNjcmlwdHNGb2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhdWx0LXJlbGF0aXZlIGZvbGRlciB0aGF0IGByZXF1aXJlKCcv4oCmJylgIHJlc29sdmVzIG1vZHVsZSBwYXRocyBhZ2FpbnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlc1Jvb3Q6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciBgQ29kZVNjcmlwdCBUb29sa2l0YCBoYW5kbGVzIGBvYnNpZGlhbjovL2AgcHJvdG9jb2wgVVJMcy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEhhbmRsZVByb3RvY29sVXJsczogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggKHVuZGVyIHtAbGluayBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzLm1vZHVsZXNSb290fSkgb2YgdGhlIHNjcmlwdCBydW4gb24gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0dXBTY3JpcHRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogYEZvbGRlciBOb3Rlc2AnIHNldHRpbmdzLCB3cml0dGVuIGludG8gaXRzIGBkYXRhLmpzb25gIGJlZm9yZSBpdCBpcyBlbmFibGVkLlxuICovXG5pbnRlcmZhY2UgRm9sZGVyTm90ZXNTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGxvb2tlZCBmb3IgdW5kZXIsIHdpdGhvdXQgdGhlIGV4dGVuc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZvbGRlck5vdGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBmb2xkZXIncyBvd24gbm90ZSBpcyBoaWRkZW4gZnJvbSB0aGUgZmlsZSBleHBsb3Jlciwgc28gdGhlIGZvbGRlciBpdHNlbGYgc3RhbmRzIGZvciBpdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZGVGb2xkZXJOb3RlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVyZSBhIGZvbGRlcidzIG93biBub3RlIGlzIGtlcHQsIHJlbGF0aXZlIHRvIHRoZSBmb2xkZXIgaXQgZGVzY3JpYmVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZUxvY2F0aW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEID0gJ2ZpeC1yZXF1aXJlLW1vZHVsZXMnO1xuY29uc3QgQ09ERV9TQ1JJUFRfVE9PTEtJVF9NT0RVTEVTX1JPT1QgPSAnX2Fzc2V0cy9Db2RlU2NyaXB0VG9vbGtpdCc7XG5jb25zdCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTOiBDb2RlU2NyaXB0VG9vbGtpdFNldHRpbmdzID0ge1xuICBkZWZhdWx0Q29kZUJ1dHRvbkNvbmZpZzogJy0tLVxcbnNvdXJjZVZpc2liaWxpdHk6IGNvbGxhcHNlZFxcbi0tLScsXG4gIGludm9jYWJsZVNjcmlwdHNGb2xkZXI6ICdJbnZvY2FibGVzJyxcbiAgbW9kdWxlc1Jvb3Q6IENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULFxuICBzaG91bGRIYW5kbGVQcm90b2NvbFVybHM6IHRydWUsXG4gIHN0YXJ0dXBTY3JpcHRQYXRoOiAnc3RhcnR1cC50cydcbn07XG5cbmNvbnN0IEZPTERFUl9OT1RFU19QTFVHSU5fSUQgPSAnZm9sZGVyLW5vdGVzJztcbi8vIGBSRUFETUVgIHJhdGhlciB0aGFuIGBGb2xkZXIgTm90ZXNgJyBvd24gYHt7Zm9sZGVyX25hbWV9fWAgZGVmYXVsdDogdGhlIHNhbWUgZmlsZSBoYXMgdG8gYmUgdGhlIGZvbGRlcidzXG4vLyBub3RlIGluIE9ic2lkaWFuIEFORCB0aGUgcGFnZSBHaXRIdWIgcmVuZGVycyB3aGVuIHRoZSB2YXVsdCBpcyBicm93c2VkIGFzIGEgcmVwb3NpdG9yeSwgYW5kIEdpdEh1YlxuLy8gb25seSBkb2VzIHRoYXQgZm9yIGBSRUFETUUubWRgLiBgaW5zaWRlRm9sZGVyYCBrZWVwcyBpdCB3aXRoIHRoZSBub3RlcyBpdCBkZXNjcmliZXMgcmF0aGVyIHRoYW4gYmVzaWRlXG4vLyB0aGUgZm9sZGVyLCBhbmQgaGlkaW5nIGl0IGxldHMgdGhlIGZvbGRlciBpdHNlbGYgc3RhbmQgZm9yIHRoZSBub3RlIGluc3RlYWQgb2YgbGlzdGluZyBib3RoLlxuY29uc3QgRk9MREVSX05PVEVTX1NFVFRJTkdTOiBGb2xkZXJOb3Rlc1NldHRpbmdzID0ge1xuICBmb2xkZXJOb3RlTmFtZTogJ1JFQURNRScsXG4gIGhpZGVGb2xkZXJOb3RlOiB0cnVlLFxuICBzdG9yYWdlTG9jYXRpb246ICdpbnNpZGVGb2xkZXInXG59O1xuXG5jb25zdCBERU1PX1ZBVUxUX0hFTFBFUl9QTFVHSU5fSUQgPSAnZGVtby12YXVsdC1oZWxwZXInO1xuY29uc3QgUExVR0lOU19GT0xERVJfTkFNRSA9ICdwbHVnaW5zJztcbmNvbnN0IERBVEFfSlNPTl9GSUxFX05BTUUgPSAnZGF0YS5qc29uJztcbmNvbnN0IElOVkFMSURfREVNT19WQVVMVF9FUlJPUl9NRVNTQUdFID0gJ0ludmFsaWQgZGVtbyB2YXVsdCc7XG5jb25zdCBPUEVOX0RFTU9fVkFVTFRfQ09NTUFORF9OQU1FID0gJ09wZW4gZGVtbyB2YXVsdCc7XG4vLyBgMGAgYXNrcyBPYnNpZGlhbiB0byBrZWVwIHRoZSBub3RpY2UgdXAgdW50aWwgdGhlIHVzZXIgY2xpY2tzIGl0IOKAlCB0aGUgc2FtZSB0cmVhdG1lbnQgT2JzaWRpYW4gZ2l2ZXNcbi8vIGl0cyBvd24gc2FuZGJveC12YXVsdCBub3RpY2UsIGFuZCB3aGF0IHRoZSBkZW1vLXZhdWx0IG5vdGljZSBpcyBtb2RlbGxlZCBvbi5cbmNvbnN0IFNBTkRCT1hfTk9USUNFX0RVUkFUSU9OX0lOX01JTExJU0VDT05EUyA9IDA7XG5cbi8qKlxuICogQm9vdHN0cmFwcyBhIGRlbW8gdmF1bHQgc28gaXRzIG5vdGVzJyBgY29kZS1idXR0b25gcyB3b3JrIHdpdGggbm8gbWFudWFsIHNldHVwOiBpbnN0YWxscyBDb2RlU2NyaXB0XG4gKiBUb29sa2l0IGZyb20gdGhlIGNvbW11bml0eSBzdG9yZSAoaWYgaXQgaXMgbm90IGFscmVhZHkgaW5zdGFsbGVkKSwgd3JpdGVzIGl0cyBzZXR0aW5ncywgdGhlbiBlbmFibGVzXG4gKiBpdCDigJQgd3JpdGluZyB0aGUgc2V0dGluZ3MgQkVGT1JFIGVuYWJsaW5nIHNvIGEgZnJlc2ggZW5hYmxlIGxvYWRzIGl0IGFscmVhZHkgY29uZmlndXJlZCwgd2l0aCBub1xuICogcmVsb2FkLiBJZiBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBhbHJlYWR5IGVuYWJsZWQgYnV0IHRoZSBzZXR0aW5ncyBqdXN0IGNoYW5nZWQsIGl0IGlzIHJlbG9hZGVkXG4gKiAoZGlzYWJsZWQgdGhlbiBlbmFibGVkKSBzbyBpdCByZS1yZWFkcyBgZGF0YS5qc29uYDsgd2hlbiB0aGUgc2V0dGluZ3Mgd2VyZSBhbHJlYWR5IGluIHBsYWNlLCBub3RoaW5nIGlzXG4gKiByZWxvYWRlZCAoc28gYSByb3V0aW5lIHZhdWx0IHJlLW9wZW4gZG9lcyBub3QgcmUtcnVuIGBDb2RlU2NyaXB0IFRvb2xraXRgJ3Mgc3RhcnR1cCkuIGBDb2RlU2NyaXB0IFRvb2xraXRgXG4gKiB0aGVuIHJ1bnMgdGhlIHZhdWx0J3MgYHN0YXJ0dXAudHNgLiBgRm9sZGVyIE5vdGVzYCBpcyBpbnN0YWxsZWQgbmV4dCwgY29uZmlndXJlZCB0byB0cmVhdCBgUkVBRE1FLm1kYCBhc1xuICogYSBmb2xkZXIncyBvd24gbm90ZSwgc28gYSB2YXVsdCB3aG9zZSBub3RlcyBhcmUgZ3JvdXBlZCBpbnRvIGZvbGRlcnMgZGVzY3JpYmVzIGVhY2ggZ3JvdXAgaW4gdGhlIGZpbGVcbiAqIGV4cGxvcmVyLiBGaW5hbGx5IGl0IGNsb3NlcyBTZXR0aW5ncyAoc28gdGhlIG5vdGljZSBjYW5ub3QgYmUgcmFpc2VkIGluc2lkZSB0aGUgc2V0dGluZ3MgcG9wb3V0KSBhbmRcbiAqIHJhaXNlcyB0aGUgc2FuZGJveCBub3RpY2UgZGVzY3JpYmluZyB0aGUgb3BlbmVkIHZhdWx0IGFzIGEgdGhyb3dhd2F5IGNvcHkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBgQ29kZVNjcmlwdCBUb29sa2l0YCBpcyBpbnN0YWxsZWQsIGNvbmZpZ3VyZWQsIGFuZCBlbmFibGVkXG4gKiBhbmQgdGhlIHNhbmRib3ggbm90aWNlIGhhcyBiZWVuIHNob3duLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYm9vdHN0cmFwRGVtb1ZhdWx0KHBhcmFtczogQm9vdHN0cmFwRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwIH0gPSBwYXJhbXM7XG4gIC8vIFJlc29sdmVkIGZpcnN0LCBzbyBhIHZhdWx0IHRoYXQgaXMgbm90IGEgZGVtbyB2YXVsdCBpcyByZWZ1c2VkIGJlZm9yZSBhbnl0aGluZyBpcyBpbnN0YWxsZWQgaW50byBpdC5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSBhd2FpdCBnZXREZW1vZWRQbHVnaW5JZChhcHApO1xuICBhd2FpdCBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luKHsgYXBwLCBwbHVnaW5JZDogQ09ERV9TQ1JJUFRfVE9PTEtJVF9QTFVHSU5fSUQgfSk7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbmZpZ3VyZUNvbW11bml0eVBsdWdpbih7XG4gICAgYXBwLFxuICAgIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCxcbiAgICBzZXR0aW5nczogQ09ERV9TQ1JJUFRfVE9PTEtJVF9TRVRUSU5HU1xuICB9KTtcbiAgYXdhaXQgZW5zdXJlSW52b2NhYmxlU2NyaXB0c0ZvbGRlcihhcHApO1xuXG4gIGlmICghYXBwLnBsdWdpbnMuZW5hYmxlZFBsdWdpbnMuaGFzKENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEKSkge1xuICAgIGF3YWl0IGVuYWJsZUNvbW11bml0eVBsdWdpbih7IGFwcCwgcGx1Z2luSWQ6IENPREVfU0NSSVBUX1RPT0xLSVRfUExVR0lOX0lEIH0pO1xuICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gQ29uZmlndXJlQ29tbXVuaXR5UGx1Z2luUmVzdWx0LlN1Y2Nlc3MpIHtcbiAgICAvLyBBbHJlYWR5IGVuYWJsZWQgd2l0aCBzdGFsZSBzZXR0aW5ncyDigJQgcmVsb2FkIHNvIGBDb2RlU2NyaXB0IFRvb2xraXRgIHJlLXJlYWRzIHRoZSBmcmVzaGx5IHdyaXR0ZW4gZGF0YS5qc29uLlxuICAgIGF3YWl0IGRpc2FibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgICBhd2FpdCBlbmFibGVDb21tdW5pdHlQbHVnaW4oeyBhcHAsIHBsdWdpbklkOiBDT0RFX1NDUklQVF9UT09MS0lUX1BMVUdJTl9JRCB9KTtcbiAgfVxuXG4gIC8vIEFmdGVyIGBDb2RlU2NyaXB0IFRvb2xraXRgLCBzbyB0aGUgdmF1bHQncyBzdGFydHVwIHNjcmlwdCBoYXMgYWxyZWFkeSBvcGVuZWQgdGhlIHN0YXJ0IG5vdGUgYnkgdGhlIHRpbWVcbiAgLy8gdGhlIGZpbGUgZXhwbG9yZXIgZ2FpbnMgaXRzIGZvbGRlci1ub3RlIGJlaGF2aW9yLlxuICBhd2FpdCBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luKHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQ6IEZPTERFUl9OT1RFU19QTFVHSU5fSUQsXG4gICAgc2V0dGluZ3M6IEZPTERFUl9OT1RFU19TRVRUSU5HU1xuICB9KTtcblxuICBzaG93U2FuZGJveE5vdGljZShhcHAsIGRlbW9lZFBsdWdpbklkKTtcbn1cblxuLy8gQnVpbGRzIHRoZSBzYW5kYm94IG5vdGljZSBjb250ZW50OiB3aGF0IHRoaXMgdmF1bHQgaXMsIHdoZXJlIGl0IGxpdmVzLCBob3cgbG9uZyBpdCBsaXZlcywgYW5kIHdoeVxuLy8gcmUtcnVubmluZyB0aGUgY29tbWFuZCBwcm9kdWNlcyBhIHZhdWx0IHdpdGhvdXQgdGhlIG5vdGVzIGp1c3Qgd3JpdHRlbiBoZXJlLlxuLy9cbi8vIEV2ZXJ5IGNsYWltIGhhcyB0byBzdGF5IHRydWUgb2YgdGhlIG9wZW5lciAoYGRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHNgKTogaXQgZXh0cmFjdHMgYSBGUkVTSCBjb3B5XG4vLyBpbnRvIGl0cyBvd24gZm9sZGVyIG9uIGV2ZXJ5IG9wZW4sIGFuZCBkZWxldGVzIGV4dHJhY3RlZCBmb2xkZXJzIG9sZGVyIHRoYW4gYSBkYXkgb24gZWFjaCBsYXRlciBvcGVuLlxuLy8gU28gdGhlIHZhdWx0IGlzIGEgdGVtcG9yYXJ5IHNhbmRib3gg4oCUIGl0IG11c3QgbmV2ZXIgYmUgZGVzY3JpYmVkIGFzIGEgcGxhY2Ugd29yayBjYW4gYmUgbGVmdC5cbmZ1bmN0aW9uIGJ1aWxkU2FuZGJveE5vdGljZUZyYWdtZW50KHBsdWdpbk5hbWU6IHN0cmluZyk6IERvY3VtZW50RnJhZ21lbnQge1xuICByZXR1cm4gY3JlYXRlRnJhZ21lbnQoKGZyYWdtZW50KSA9PiB7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnVGhpcyBpcyBhIGRlbW8gdmF1bHQgZm9yICcpO1xuICAgIGFwcGVuZENvZGVCbG9jayhmcmFnbWVudCwgcGx1Z2luTmFtZSk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnLicpO1xuXG4gICAgZnJhZ21lbnQuY3JlYXRlRWwoJ2JyJyk7XG4gICAgZnJhZ21lbnQuYXBwZW5kVGV4dCgnSXQgaXMgYSB0ZW1wb3Jhcnkgc2FuZGJveCwgY2xlYW5lZCB1cCBhdXRvbWF0aWNhbGx5IGFib3V0IGEgZGF5IGFmdGVyIHlvdSBsYXN0IHVzZSBpdC4nKTtcblxuICAgIGZyYWdtZW50LmNyZWF0ZUVsKCdicicpO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJ0V4ZWN1dGluZyAnKTtcbiAgICBmcmFnbWVudC5jcmVhdGVFbCgnYicsIHsgdGV4dDogYCR7cGx1Z2luTmFtZX06ICR7T1BFTl9ERU1PX1ZBVUxUX0NPTU1BTkRfTkFNRX1gIH0pO1xuICAgIGZyYWdtZW50LmFwcGVuZFRleHQoJyBjb21tYW5kIGFnYWluIGNyZWF0ZXMgYSBuZXcgY29weSB3aXRoIHRoZSBsYXRlc3QgcGx1Z2luIHZlcnNpb24sIHNvIHlvdXIgbm90ZXMgd2lsbCBub3QgYXBwZWFyIGluIGl0LicpO1xuICB9KTtcbn1cblxuLy8gQ3JlYXRlcyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIGludm9jYWJsZS1zY3JpcHRzIGZvbGRlciAodW5kZXIgYG1vZHVsZXNSb290YCkgaWYgaXQgaXMgbWlzc2luZy5cbi8vIEV2ZXJ5IGRlbW8gdmF1bHQgdGhlbiBoYXMgdGhlIHNhbWUgYENvZGVTY3JpcHQgVG9vbGtpdGAgbGF5b3V0IGV2ZW4gd2hlbiBpdCBzaGlwcyBubyBpbnZvY2FibGUgc2NyaXB0cy5cbi8vIFRoZSBjb21taXR0ZWQgdmF1bHQgdGhlcmVmb3JlIGNhcnJpZXMgbm8gb3RoZXJ3aXNlLWVtcHR5IHBsYWNlaG9sZGVyIGZvbGRlci5cbmFzeW5jIGZ1bmN0aW9uIGVuc3VyZUludm9jYWJsZVNjcmlwdHNGb2xkZXIoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaW52b2NhYmxlU2NyaXB0c0ZvbGRlclBhdGggPSBqb2luKENPREVfU0NSSVBUX1RPT0xLSVRfTU9EVUxFU19ST09ULCBDT0RFX1NDUklQVF9UT09MS0lUX1NFVFRJTkdTLmludm9jYWJsZVNjcmlwdHNGb2xkZXIpO1xuICBpZiAoIWF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLmV4aXN0cyhpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCkpIHtcbiAgICBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5ta2RpcihpbnZvY2FibGVTY3JpcHRzRm9sZGVyUGF0aCk7XG4gIH1cbn1cblxuLy8gUmVhZHMgdGhlIHBsdWdpbiB0aGUgdmF1bHQgZGVtb25zdHJhdGVzIG91dCBvZiB0aGlzIGhlbHBlcidzIG93biBgZGF0YS5qc29uYCwgd3JpdHRlbiBieSB0aGVcbi8vIHBhY2thZ2luZyBzdGVwIChzZWUgYERlbW9WYXVsdEhlbHBlclNldHRpbmdzYCkuIEEgdmF1bHQgd2l0aG91dCBhIHJlYWRhYmxlIG1hcmtlciB3YXMgbm90IHByb2R1Y2VkIGJ5XG4vLyB0aGF0IHN0ZXAg4oCUIGhhbmQtYXNzZW1ibGVkLCBvciB1bnBhY2tlZCBmcm9tIHNvbWV0aGluZyB0aGF0IGlzIG5vdCBhIGRlbW8gdmF1bHQg4oCUIHNvIGl0IGlzIHJlZnVzZWRcbi8vIHJhdGhlciB0aGFuIGJvb3RzdHJhcHBlZCBhZ2FpbnN0IGEgZ3Vlc3MuXG5hc3luYyBmdW5jdGlvbiBnZXREZW1vZWRQbHVnaW5JZChhcHA6IEFwcCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHNldHRpbmdzUGF0aCA9IGpvaW4oYXBwLnZhdWx0LmNvbmZpZ0RpciwgUExVR0lOU19GT0xERVJfTkFNRSwgREVNT19WQVVMVF9IRUxQRVJfUExVR0lOX0lELCBEQVRBX0pTT05fRklMRV9OQU1FKTtcbiAgaWYgKCFhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5leGlzdHMoc2V0dGluZ3NQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihJTlZBTElEX0RFTU9fVkFVTFRfRVJST1JfTUVTU0FHRSk7XG4gIH1cblxuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2UoYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIucmVhZChzZXR0aW5nc1BhdGgpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UsIHsgY2F1c2U6IGVycm9yIH0pO1xuICB9XG5cbiAgY29uc3QgZGVtb2VkUGx1Z2luSWQgPSAocGFyc2VkIGFzIG51bGwgfCBQYXJ0aWFsPERlbW9WYXVsdEhlbHBlclNldHRpbmdzPik/LmRlbW9lZFBsdWdpbklkO1xuICBpZiAodHlwZW9mIGRlbW9lZFBsdWdpbklkICE9PSAnc3RyaW5nJyB8fCBkZW1vZWRQbHVnaW5JZCA9PT0gRU1QVFkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoSU5WQUxJRF9ERU1PX1ZBVUxUX0VSUk9SX01FU1NBR0UpO1xuICB9XG4gIHJldHVybiBkZW1vZWRQbHVnaW5JZDtcbn1cblxuLy8gVGVsbHMgdGhlIHVzZXIgdGhpcyB2YXVsdCBpcyBhIHNhbmRib3gsIHVzaW5nIE9ic2lkaWFuJ3Mgb3duIHNhbmRib3gtdmF1bHQgdHJlYXRtZW50OiBhbiBpbmZpbml0ZVxuLy8gZHVyYXRpb24sIGRpc21pc3NlZCBieSBjbGlja2luZyBpdC4gUmFpc2VkIGxhc3QsIHNvIGl0IGlzIHRoZSBuZXdlc3Qgbm90aWNlIG9uIHNjcmVlbiBvbmNlXG4vLyBgQ29kZVNjcmlwdCBUb29sa2l0YCdzIHN0YXJ0dXAgc2NyaXB0IGhhcyBkb25lIGl0cyBvd24gd29yay5cbi8vXG4vLyBBIGBOb3RpY2VgIGlzIGJ1aWx0IGluc2lkZSB3aGF0ZXZlciB3aW5kb3cgaXMgYWN0aXZlIGF0IHRoYXQgbW9tZW50LCBhbmQgU2V0dGluZ3MgaXMgYSBQT1BPVVQgV0lORE9XXG4vLyAodmVyaWZpZWQgb24gMS4xMy42KSB0aGF0IGJlY29tZXMgdGhlIGFjdGl2ZSBvbmUgd2hpbGUgaXQgaXMgb3BlbiDigJQgc28gYSBub3RpY2UgcmFpc2VkIHRoZW4gd291bGQgYmVcbi8vIGNyZWF0ZWQgaW4gdGhlIHNldHRpbmdzIHdpbmRvdyBhbmQgdmFuaXNoIHdpdGggaXQuIFNldHRpbmdzIGlzIHRoZXJlZm9yZSBjbG9zZWQgZmlyc3Q6IE9ic2lkaWFuIGhhbmRzXG4vLyB0aGUgbWFpbiB3aW5kb3cgYmFjayBhcyB0aGUgcG9wb3V0IGdvZXMgYXdheSAoc3luY2hyb25vdXNseSwgYmVmb3JlIHRoZSBub3RpY2UgaXMgYnVpbHQpLCBhbmQgYSB1c2VyXG4vLyB3aG8gaGFzIGp1c3Qgb3BlbmVkIGEgZGVtbyB2YXVsdCB3YW50cyB0byBzZWUgdGhlIHZhdWx0IHJhdGhlciB0aGFuIGEgc2V0dGluZ3Mgd2luZG93IGFueXdheS4gQ2xvc2luZ1xuLy8gYW4gYWxyZWFkeS1jbG9zZWQgU2V0dGluZ3MgaXMgYSBuby1vcCwgc28gbm8gb3Blbi1zdGF0ZSBwcm9iZSBpcyBuZWVkZWQuXG5mdW5jdGlvbiBzaG93U2FuZGJveE5vdGljZShhcHA6IEFwcCwgZGVtb2VkUGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBwbHVnaW5OYW1lID0gYXBwLnBsdWdpbnMubWFuaWZlc3RzW2RlbW9lZFBsdWdpbklkXT8ubmFtZSA/PyBkZW1vZWRQbHVnaW5JZDtcbiAgY29uc3QgZnJhZ21lbnQgPSBidWlsZFNhbmRib3hOb3RpY2VGcmFnbWVudChwbHVnaW5OYW1lKTtcbiAgYXBwLnNldHRpbmcuY2xvc2UoKTtcbiAgbmV3IE5vdGljZShmcmFnbWVudCwgU0FOREJPWF9OT1RJQ0VfRFVSQVRJT05fSU5fTUlMTElTRUNPTkRTKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0NBLGtCQUFxQjtBQUNyQixvQkFBc0I7QUFDdEIsc0JBQXVCO0FBSXZCLCtCQU9PO0FBQ1AsMEJBQWdDO0FBK0RoQyxNQUFNLGdDQUFnQztBQUN0QyxNQUFNLG1DQUFtQztBQUN6QyxNQUFNLCtCQUEwRDtBQUFBLEVBQzlELHlCQUF5QjtBQUFBLEVBQ3pCLHdCQUF3QjtBQUFBLEVBQ3hCLGFBQWE7QUFBQSxFQUNiLDBCQUEwQjtBQUFBLEVBQzFCLG1CQUFtQjtBQUNyQjtBQUVBLE1BQU0seUJBQXlCO0FBSy9CLE1BQU0sd0JBQTZDO0FBQUEsRUFDakQsZ0JBQWdCO0FBQUEsRUFDaEIsZ0JBQWdCO0FBQUEsRUFDaEIsaUJBQWlCO0FBQ25CO0FBRUEsTUFBTSw4QkFBOEI7QUFDcEMsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSxzQkFBc0I7QUFDNUIsTUFBTSxtQ0FBbUM7QUFDekMsTUFBTSwrQkFBK0I7QUFHckMsTUFBTSwwQ0FBMEM7QUFrQmhELGVBQXNCLG1CQUFtQixRQUFpRDtB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
@@ -1,4 +1,4 @@
1
- /// <reference path="./library.d.cts" />
1
+ /// <reference path="./library-references.d.cts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -2,52 +2,6 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
9
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return "/";
17
- },
18
- env: {},
19
- platform: "android"
20
- };
21
- const existingProcess = globalThis.process;
22
- if (!existingProcess) {
23
- globalThis.process = browserProcess;
24
- return;
25
- }
26
- if (existingProcess.versions?.node) {
27
- return;
28
- }
29
- const existingProcessRecord = existingProcess;
30
- for (const [key, value] of Object.entries(browserProcess)) {
31
- existingProcessRecord[key] ??= value;
32
- }
33
- existingProcessRecord["browser"] = true;
34
- }
35
-
36
- function keepName($unknown) {
37
- return $unknown;
38
- }
39
-
40
- (function initCjs() {
41
- const globalThisRecord = globalThis;
42
- ensureDisposeSymbols();
43
- globalThisRecord["__name"] ??= keepName;
44
- globalThisRecord["__extractDefault"] ??= extractDefault;
45
- ensureBrowserProcess();
46
- function extractDefault(module) {
47
- return module && module.__esModule && "default" in module ? module.default : module;
48
- }
49
- })();
50
- })();
51
5
  (function patchObsidianRequire() {
52
6
  const originalRequire = require;
53
7
  if (!originalRequire || originalRequire.__isPatched) {
@@ -154,4 +108,4 @@ function getDemoVaultBaseName(pluginId) {
154
108
  getDemoVaultArchiveFileName,
155
109
  getDemoVaultFolderName
156
110
  });
157
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlbW8tdmF1bHQtbmFtaW5nLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIG5hbWVzIGEgcGx1Z2luJ3MgZGVtby12YXVsdCByZWxlYXNlIGFydGlmYWN0IGNhcnJpZXMgXHUyMDE0IHRoZSBvbmUgY29udHJhY3QgYmV0d2VlbiB0aGUgcmVsZWFzZS10aW1lXG4gKiBwYWNrYWdpbmcgc3RlcCBhbmQgdGhlIHJ1bnRpbWUgb3BlbmVyLlxuICpcbiAqIFRoZSB0d28gbGl2ZSBmYXIgYXBhcnQ6IGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2AgcnVucyB1bmRlciBOb2RlIGF0IHJlbGVhc2UgdGltZSBhbmQgV1JJVEVTIHRoZVxuICogYXJjaGl2ZSwgd2hpbGUgYGRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHNgIHJ1bnMgaW5zaWRlIE9ic2lkaWFuIGFuZCBET1dOTE9BRFMgaXQgYnkgbmFtZS4gVGhleSB1c2VkXG4gKiB0byBhZ3JlZSBieSBhIGNvbW1lbnQgb24gZWFjaCBzaWRlIHNheWluZyB0aGUgb3RoZXIgbXVzdCBiZSBjaGFuZ2VkIHRvbywgd2hpY2ggaXMgZXhhY3RseSB0aGUgc29ydCBvZlxuICogcGFpcmluZyB0aGF0IHN1cnZpdmVzIHVudGlsIHRoZSBkYXkgaXQgZG9lcyBub3QuIEJvdGggbm93IGRlcml2ZSBldmVyeSBzaGFyZWQgbmFtZSBmcm9tIGhlcmUuXG4gKlxuICogS2VwdCBmcmVlIG9mIGBvYnNpZGlhbmAgYW5kIGBub2RlOmAgaW1wb3J0cyBvbiBwdXJwb3NlOiB0aGUgcGFja2FnaW5nIHN0ZXAgcnVucyB1bmRlciBOb2RlLCB3aGVyZSB0aGVcbiAqIGBvYnNpZGlhbmAgbW9kdWxlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIG9wZW5lciBzaXRzIGluIHRoZSBnZW5lcmF0ZWQgYmFycmVscywgd2hpY2ggbXVzdCBzdGF5IHNhZmUgdG9cbiAqIGV2YWx1YXRlIG9uIG1vYmlsZS5cbiAqL1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXREZW1vVmF1bHRGb2xkZXJOYW1lfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXREZW1vVmF1bHRGb2xkZXJOYW1lUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQgdGhlIHZhdWx0IGRlbW9uc3RyYXRlcywgZnJvbSB0aGF0IHBsdWdpbidzIGBtYW5pZmVzdC5qc29uYC5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdmVyc2lvbiB0aGUgdmF1bHQgc2hpcHMgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgZmlsZSBuYW1lIG9mIHRoZSBkZW1vLXZhdWx0IGFyY2hpdmUgYXR0YWNoZWQgdG8gYSBwbHVnaW4ncyBHaXRIdWIgcmVsZWFzZS5cbiAqXG4gKiBDYXJyaWVzIHRoZSBwbHVnaW4gaWQgc28gc2V2ZXJhbCBwbHVnaW5zJyBkZW1vIHZhdWx0cyBuZXZlciBjb2xsaWRlLCBhbmQgZGVsaWJlcmF0ZWx5IE5PVCB0aGUgdmVyc2lvbjpcbiAqIGEgcmVsZWFzZSBhc3NldCBpcyBhbHJlYWR5IG5hbWVzcGFjZWQgYnkgaXRzIHJlbGVhc2UgdGFnIChgXHUyMDI2L3JlbGVhc2VzL2Rvd25sb2FkLzx2ZXJzaW9uPi9cdTIwMjZgKSwgc28gdGhlXG4gKiB2ZXJzaW9uIGJvdWdodCBubyBkaXNhbWJpZ3VhdGlvbiB3aGlsZSBtYWtpbmcgdGhlIGFzc2V0IG5hbWUgY2hhbmdlIG9uIGV2ZXJ5IHJlbGVhc2UgXHUyMDE0IHdoaWNoIGlzIHdoYXRcbiAqIGJyb2tlIHRoZSBDb21tdW5pdHkgZGlyZWN0b3J5J3MgZmluZGluZyBvdmVycmlkZXMsIHdob3NlIGZpbmdlcnByaW50IGluY2x1ZGVzIHRoZSBuYW1lLiBUaGUgdmVyc2lvblxuICogbGl2ZXMgaW5zaWRlIHRoZSBhcmNoaXZlIGluc3RlYWQsIGFzIHtAbGluayBnZXREZW1vVmF1bHRGb2xkZXJOYW1lfSBhbmQgb24gdGhlIFJFQURNRSdzIGhlYWRpbmcuXG4gKlxuICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIHBsdWdpbiBpZCB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLlxuICogQHJldHVybnMgVGhlIGFyY2hpdmUgZmlsZSBuYW1lLCBlLmcuIGBteS1wbHVnaW4tZGVtby12YXVsdC56aXBgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKHBsdWdpbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7Z2V0RGVtb1ZhdWx0QmFzZU5hbWUocGx1Z2luSWQpfS56aXBgO1xufVxuXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBkZW1vIHZhdWx0J3Mgb3duIGZvbGRlciBcdTIwMTQgdGhlIGFyY2hpdmUncyBzaW5nbGUgdG9wLWxldmVsIGVudHJ5LCBhbmQgdGhlIGZvbGRlciB0aGVcbiAqIG9wZW5lciBleHRyYWN0cyBpdCB0by5cbiAqXG4gKiBPbmUgbmFtZSBzZXJ2ZXMgYm90aCBiZWNhdXNlIHRoZXkgYXJlIHRoZSBzYW1lIGZvbGRlciBzZWVuIHR3aWNlOiBhIHVzZXIgd2hvIHVuemlwcyB0aGUgYXJjaGl2ZSBieSBoYW5kXG4gKiBnZXRzIGEgc2VsZi1kZXNjcmliaW5nLCB2ZXJzaW9uLWRpc3RpbmN0IGZvbGRlciByYXRoZXIgdGhhbiBhbiBhbm9ueW1vdXMgb25lLCBhbmQgYSB1c2VyIHdobyBydW5zIHRoZVxuICogYE9wZW4gZGVtbyB2YXVsdGAgY29tbWFuZCBzZWVzIHRoYXQgc2FtZSBuYW1lIGluIE9ic2lkaWFuJ3MgdmF1bHQgc3dpdGNoZXIuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZVBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgZm9sZGVyIG5hbWUsIGUuZy4gYG15LXBsdWdpbi1kZW1vLXZhdWx0LTEuMi4zYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlbW9WYXVsdEZvbGRlck5hbWUocGFyYW1zOiBHZXREZW1vVmF1bHRGb2xkZXJOYW1lUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3Qge1xuICAgIHBsdWdpbklkLFxuICAgIHZlcnNpb25cbiAgfSA9IHBhcmFtcztcbiAgcmV0dXJuIGAke2dldERlbW9WYXVsdEJhc2VOYW1lKHBsdWdpbklkKX0tJHt2ZXJzaW9ufWA7XG59XG5cbmZ1bmN0aW9uIGdldERlbW9WYXVsdEJhc2VOYW1lKHBsdWdpbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cGx1Z2luSWR9LWRlbW8tdmF1bHRgO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBMkNPLFNBQVMsNEJBQTRCLFVBQTBCO0FBQ3BFLFNBQU8sR0FBRyxxQkFBcUIsUUFBUSxDQUFDO0FBQzFDO0FBYU8sU0FBUyx1QkFBdUIsUUFBOEM7QUFDbkYsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osU0FBTyxHQUFHLHFCQUFxQixRQUFRLENBQUMsSUFBSSxPQUFPO0FBQ3JEO0FBRUEsU0FBUyxxQkFBcUIsVUFBMEI7QUFDdEQsU0FBTyxHQUFHLFFBQVE7QUFDcEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LW5hbWluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIG5hbWVzIGEgcGx1Z2luJ3MgZGVtby12YXVsdCByZWxlYXNlIGFydGlmYWN0IGNhcnJpZXMg4oCUIHRoZSBvbmUgY29udHJhY3QgYmV0d2VlbiB0aGUgcmVsZWFzZS10aW1lXG4gKiBwYWNrYWdpbmcgc3RlcCBhbmQgdGhlIHJ1bnRpbWUgb3BlbmVyLlxuICpcbiAqIFRoZSB0d28gbGl2ZSBmYXIgYXBhcnQ6IGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2AgcnVucyB1bmRlciBOb2RlIGF0IHJlbGVhc2UgdGltZSBhbmQgV1JJVEVTIHRoZVxuICogYXJjaGl2ZSwgd2hpbGUgYGRlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHNgIHJ1bnMgaW5zaWRlIE9ic2lkaWFuIGFuZCBET1dOTE9BRFMgaXQgYnkgbmFtZS4gVGhleSB1c2VkXG4gKiB0byBhZ3JlZSBieSBhIGNvbW1lbnQgb24gZWFjaCBzaWRlIHNheWluZyB0aGUgb3RoZXIgbXVzdCBiZSBjaGFuZ2VkIHRvbywgd2hpY2ggaXMgZXhhY3RseSB0aGUgc29ydCBvZlxuICogcGFpcmluZyB0aGF0IHN1cnZpdmVzIHVudGlsIHRoZSBkYXkgaXQgZG9lcyBub3QuIEJvdGggbm93IGRlcml2ZSBldmVyeSBzaGFyZWQgbmFtZSBmcm9tIGhlcmUuXG4gKlxuICogS2VwdCBmcmVlIG9mIGBvYnNpZGlhbmAgYW5kIGBub2RlOmAgaW1wb3J0cyBvbiBwdXJwb3NlOiB0aGUgcGFja2FnaW5nIHN0ZXAgcnVucyB1bmRlciBOb2RlLCB3aGVyZSB0aGVcbiAqIGBvYnNpZGlhbmAgbW9kdWxlIGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlIG9wZW5lciBzaXRzIGluIHRoZSBnZW5lcmF0ZWQgYmFycmVscywgd2hpY2ggbXVzdCBzdGF5IHNhZmUgdG9cbiAqIGV2YWx1YXRlIG9uIG1vYmlsZS5cbiAqL1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBnZXREZW1vVmF1bHRGb2xkZXJOYW1lfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXREZW1vVmF1bHRGb2xkZXJOYW1lUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQgdGhlIHZhdWx0IGRlbW9uc3RyYXRlcywgZnJvbSB0aGF0IHBsdWdpbidzIGBtYW5pZmVzdC5qc29uYC5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdmVyc2lvbiB0aGUgdmF1bHQgc2hpcHMgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgZmlsZSBuYW1lIG9mIHRoZSBkZW1vLXZhdWx0IGFyY2hpdmUgYXR0YWNoZWQgdG8gYSBwbHVnaW4ncyBHaXRIdWIgcmVsZWFzZS5cbiAqXG4gKiBDYXJyaWVzIHRoZSBwbHVnaW4gaWQgc28gc2V2ZXJhbCBwbHVnaW5zJyBkZW1vIHZhdWx0cyBuZXZlciBjb2xsaWRlLCBhbmQgZGVsaWJlcmF0ZWx5IE5PVCB0aGUgdmVyc2lvbjpcbiAqIGEgcmVsZWFzZSBhc3NldCBpcyBhbHJlYWR5IG5hbWVzcGFjZWQgYnkgaXRzIHJlbGVhc2UgdGFnIChg4oCmL3JlbGVhc2VzL2Rvd25sb2FkLzx2ZXJzaW9uPi/igKZgKSwgc28gdGhlXG4gKiB2ZXJzaW9uIGJvdWdodCBubyBkaXNhbWJpZ3VhdGlvbiB3aGlsZSBtYWtpbmcgdGhlIGFzc2V0IG5hbWUgY2hhbmdlIG9uIGV2ZXJ5IHJlbGVhc2Ug4oCUIHdoaWNoIGlzIHdoYXRcbiAqIGJyb2tlIHRoZSBDb21tdW5pdHkgZGlyZWN0b3J5J3MgZmluZGluZyBvdmVycmlkZXMsIHdob3NlIGZpbmdlcnByaW50IGluY2x1ZGVzIHRoZSBuYW1lLiBUaGUgdmVyc2lvblxuICogbGl2ZXMgaW5zaWRlIHRoZSBhcmNoaXZlIGluc3RlYWQsIGFzIHtAbGluayBnZXREZW1vVmF1bHRGb2xkZXJOYW1lfSBhbmQgb24gdGhlIFJFQURNRSdzIGhlYWRpbmcuXG4gKlxuICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIHBsdWdpbiBpZCB0aGUgdmF1bHQgZGVtb25zdHJhdGVzLlxuICogQHJldHVybnMgVGhlIGFyY2hpdmUgZmlsZSBuYW1lLCBlLmcuIGBteS1wbHVnaW4tZGVtby12YXVsdC56aXBgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKHBsdWdpbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7Z2V0RGVtb1ZhdWx0QmFzZU5hbWUocGx1Z2luSWQpfS56aXBgO1xufVxuXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBkZW1vIHZhdWx0J3Mgb3duIGZvbGRlciDigJQgdGhlIGFyY2hpdmUncyBzaW5nbGUgdG9wLWxldmVsIGVudHJ5LCBhbmQgdGhlIGZvbGRlciB0aGVcbiAqIG9wZW5lciBleHRyYWN0cyBpdCB0by5cbiAqXG4gKiBPbmUgbmFtZSBzZXJ2ZXMgYm90aCBiZWNhdXNlIHRoZXkgYXJlIHRoZSBzYW1lIGZvbGRlciBzZWVuIHR3aWNlOiBhIHVzZXIgd2hvIHVuemlwcyB0aGUgYXJjaGl2ZSBieSBoYW5kXG4gKiBnZXRzIGEgc2VsZi1kZXNjcmliaW5nLCB2ZXJzaW9uLWRpc3RpbmN0IGZvbGRlciByYXRoZXIgdGhhbiBhbiBhbm9ueW1vdXMgb25lLCBhbmQgYSB1c2VyIHdobyBydW5zIHRoZVxuICogYE9wZW4gZGVtbyB2YXVsdGAgY29tbWFuZCBzZWVzIHRoYXQgc2FtZSBuYW1lIGluIE9ic2lkaWFuJ3MgdmF1bHQgc3dpdGNoZXIuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB7QGxpbmsgR2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZVBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgZm9sZGVyIG5hbWUsIGUuZy4gYG15LXBsdWdpbi1kZW1vLXZhdWx0LTEuMi4zYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlbW9WYXVsdEZvbGRlck5hbWUocGFyYW1zOiBHZXREZW1vVmF1bHRGb2xkZXJOYW1lUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3Qge1xuICAgIHBsdWdpbklkLFxuICAgIHZlcnNpb25cbiAgfSA9IHBhcmFtcztcbiAgcmV0dXJuIGAke2dldERlbW9WYXVsdEJhc2VOYW1lKHBsdWdpbklkKX0tJHt2ZXJzaW9ufWA7XG59XG5cbmZ1bmN0aW9uIGdldERlbW9WYXVsdEJhc2VOYW1lKHBsdWdpbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cGx1Z2luSWR9LWRlbW8tdmF1bHRgO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTJDTyxTQUFTLDRCQUE0QixVQUEwQjtBQUNwRSxTQUFPLEdBQUcscUJBQXFCLFFBQVEsQ0FBQztBQUMxQztBQWFPLFNBQVMsdUJBQXVCLFFBQThDO0FBQ25GLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUNKLFNBQU8sR0FBRyxxQkFBcUIsUUFBUSxDQUFDLElBQUksT0FBTztBQUNyRDtBQUVBLFNBQVMscUJBQXFCLFVBQTBCO0FBQ3RELFNBQU8sR0FBRyxRQUFRO0FBQ3BCOyIsIm5hbWVzIjpbXX0=
@@ -1,4 +1,4 @@
1
- /// <reference path="./library.d.cts" />
1
+ /// <reference path="./library-references.d.cts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -2,7 +2,6 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
6
  function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
7
  symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
@@ -33,20 +32,8 @@ function ensureBrowserProcess() {
33
32
  existingProcessRecord["browser"] = true;
34
33
  }
35
34
 
36
- function keepName($unknown) {
37
- return $unknown;
38
- }
39
-
40
- (function initCjs() {
41
- const globalThisRecord = globalThis;
42
- ensureDisposeSymbols();
43
- globalThisRecord["__name"] ??= keepName;
44
- globalThisRecord["__extractDefault"] ??= extractDefault;
45
- ensureBrowserProcess();
46
- function extractDefault(module) {
47
- return module && module.__esModule && "default" in module ? module.default : module;
48
- }
49
- })();
35
+ ensureDisposeSymbols();
36
+ ensureBrowserProcess();
50
37
  })();
51
38
  (function patchObsidianRequire() {
52
39
  const originalRequire = require;
@@ -346,4 +333,4 @@ async function resolveDemoVaultArchive(params) {
346
333
  0 && (module.exports = {
347
334
  openDemoVault
348
335
  });
349
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEb3dubG9hZHMgYW5kIG9wZW5zIGEgcGx1Z2luJ3Mgc2hpcHBlZCBkZW1vIHZhdWx0IGluIGEgbmV3IE9ic2lkaWFuIHdpbmRvdyAoZGVza3RvcCBvbmx5KS5cbiAqXG4gKiBBIHBsdWdpbiBjYW4gYXR0YWNoIGEgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQuemlwYCBhcmNoaXZlIHRvIGVhY2ggR2l0SHViIHJlbGVhc2UgKHNlZVxuICogYGFyY2hpdmVQbHVnaW5EZW1vVmF1bHRgIGluIGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2A7IGV2ZXJ5IG5hbWUgc2hhcmVkIHdpdGggaXQgY29tZXMgZnJvbVxuICogYGRlbW8tdmF1bHQtbmFtaW5nLnRzYCkuIFRoaXMgcmVzb2x2ZXMgdGhlIHBsdWdpbidzIHJlcG9zaXRvcnkgZnJvbSBPYnNpZGlhbidzIGNvbW11bml0eSByZWdpc3RyeSxcbiAqIGRvd25sb2FkcyB0aGUgYXJjaGl2ZSBmb3IgdGhlIGNob3NlbiB2ZXJzaW9uLCBhbmQgb3BlbnMgaXQgYXMgYSB2YXVsdCBpbiBhIG5ldyB3aW5kb3cuIFdoZW4gdGhlXG4gKiBpbnN0YWxsZWQgcGx1Z2luIHZlcnNpb24gaXMgYmVoaW5kIHRoZSBsYXRlc3QgcmVsZWFzZSwgdGhlIHVzZXIgaXMgb2ZmZXJlZCBhIGNob2ljZSBiZXR3ZWVuIHRoZSB0d29cbiAqIHZlcnNpb25zLlxuICpcbiAqIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duIGltbWVkaWF0ZWx5IChkb3dubG9hZCArIGV4dHJhY3Rpb24gY2FuIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWVcbiAqIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgcmlnaHQgYXdheSkuIE9ubHkgdGhlIGRvd25sb2FkZWQgQVJDSElWRSBpcyBjYWNoZWQgKHVuZGVyIHRoZSBPUyB0ZW1wXG4gKiBkaXJlY3RvcnkpOyBldmVyeSBpbnZvY2F0aW9uIGV4dHJhY3RzIGEgRlJFU0ggY29weSBpbnRvIGl0cyBvd24gdGVtcG9yYXJ5IGZvbGRlciBhbmQgb3BlbnMgdGhhdCwgc28gYVxuICogcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW50byBhIG5ldyBvbmUuIFRoZSB2YXVsdCBmb2xkZXIgaXMgdGhlIGFyY2hpdmUncyBvd24gc2luZ2xlXG4gKiB0b3AtbGV2ZWwgZm9sZGVyLCBgPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj5gLCB3aGljaCByZWFkcyBuaWNlbHkgaW4gT2JzaWRpYW4ncyB2YXVsdCBzd2l0Y2hlclxuICogYW5kIGlzIHRoZSBzYW1lIG5hbWUgYSBoYW5kLXVuemlwcGVkIGFyY2hpdmUgcHJvZHVjZXMuIE9ycGhhbmVkIGV4dHJhY3RlZCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tXG4gKiBlYXJsaWVyIHNlc3Npb25zIGFyZSBjbGVhbmVkIHVwIChiZXN0LWVmZm9ydCkgb24gZWFjaCBvcGVuLlxuICpcbiAqICoqTm90aGluZyBoZXJlIG1heSB0b3VjaCBhIHBsYXRmb3JtLW9ubHkgQVBJIHdoaWxlIHRoZSBtb2R1bGUgSU5JVElBTElaRVMuKiogVGhlIGBub2RlOmAgaW1wb3J0cyBiZWxvd1xuICogYXJlIHNhZmUgdG8gbWVyZWx5IGV2YWx1YXRlIG9uIG1vYmlsZSBcdTIwMTQgYHJlcXVpcmVgIGhhbmRzIGJhY2sgYHVuZGVmaW5lZGAgdGhlcmUgYW5kIG5vdGhpbmcgcmVhZHMgaXQgYXRcbiAqIGxvYWQgdGltZSBcdTIwMTQgYW5kIGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBiYXJyZWxzIHJlLWV4cG9ydCB0aGlzIG1vZHVsZSwgdGhhdCBpcyBhIGxvYWQtYmVhcmluZyBwcm9wZXJ0eSBvZlxuICogdGhlIHdob2xlIGxpYnJhcnkgcmF0aGVyIHRoYW4gYSBkZXRhaWwgb2YgdGhpcyBmaWxlLiBJdCB3YXMgbGVhcm5lZCB0aGUgaGFyZCB3YXk6IHRoaXMgbW9kdWxlIG9uY2VcbiAqIGltcG9ydGVkIGBhZG0temlwYCwgd2hvc2UgemlwLWNyeXB0byBtZXRob2Qgb3BlbnMgd2l0aCBhIHRvcC1sZXZlbFxuICogYGNvbnN0IHsgcmFuZG9tRmlsbFN5bmMgfSA9IHJlcXVpcmUoJ2NyeXB0bycpYCwgYW5kIGEgc3RhdGljIGBpbXBvcnQgQWRtWmlwIGZyb20gJ2FkbS16aXAnYCB0aGVyZWZvcmVcbiAqIGtpbGxlZCB0aGUgbGlicmFyeSdzIGxvYWQgb24gQW5kcm9pZCAoc2VlIHRoZSBtb2JpbGUtbG9hZCBjaGVjayBpblxuICogYHNjcmlwdHMvaGVscGVycy9hc3NlcnQtbW9iaWxlLWxvYWRhYmxlLWJ1bmRsZS50c2AsIHdoaWNoIGZhaWxzIHRoZSBidWlsZCBvbiBleGFjdGx5IHRoYXQpLiBFeHRyYWN0aW9uXG4gKiBub3cgZ29lcyB0aHJvdWdoIGBkZXNrdG9wLXppcC1leHRyYWN0b3IudHNgLCB3aGljaCBuZWVkcyBubyBkZXBlbmRlbmN5IGF0IGFsbCBcdTIwMTQgYnV0IGFueSBmdXR1cmVcbiAqIGRlcGVuZGVuY3kgdGhhdCBpbml0aWFsaXplcyBhZ2FpbnN0IGEgcGxhdGZvcm0tb25seSBBUEkgc3RpbGwgaGFzIHRvIGJlIGRlZmVycmVkIGJlaGluZCBhIGNhbGwtdGltZVxuICogYGltcG9ydCgpYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgZXh0cmFjdFppcEFyY2hpdmUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVza3RvcC16aXAtZXh0cmFjdG9yJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBjb21wYXJlVmVyc2lvbnMgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ25vZGU6YnVmZmVyJztcbmltcG9ydCB7XG4gIGV4aXN0c1N5bmMsXG4gIG1rZGlyU3luYyxcbiAgbWtkdGVtcFN5bmMsXG4gIHJlYWRkaXJTeW5jLFxuICByZWFkRmlsZVN5bmMsXG4gIHJtU3luYyxcbiAgc3RhdFN5bmMsXG4gIHdyaXRlRmlsZVN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7IHJlcXVlc3RVcmwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgUGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICBQbHVnaW5Ob3RpY2VDb21wb25lbnREZWxheWVkTm90aWNlXG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7XG4gIGdldENvbW11bml0eVBsdWdpblJlcG8sXG4gIGdldExhdGVzdFJlbGVhc2VWZXJzaW9uXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgUGx1Z2luTm90aWNlTW9kZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQge1xuICBnZXREZW1vVmF1bHRBcmNoaXZlRmlsZU5hbWUsXG4gIGdldERlbW9WYXVsdEZvbGRlck5hbWVcbn0gZnJvbSAnLi9kZW1vLXZhdWx0LW5hbWluZy50cyc7XG5pbXBvcnQge1xuICBhc0NvZGVCbG9jayxcbiAgY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2Nrc1xufSBmcm9tICcuL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBzZWxlY3RPcHRpb24gfSBmcm9tICcuL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgb3BlbkRlbW9WYXVsdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbkRlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQsIHVzZWQgdG8gbG9jYXRlIHRoZSBHaXRIdWIgcmVwb3NpdG9yeSwgdG8gbmFtZSB0aGUgYXJjaGl2ZSBhc3NldCwgYW5kIHRvIG5hbWUgdGhlXG4gICAqIGNhY2hlZCBhcmNoaXZlIGFuZCB0aGUgZXh0cmFjdGVkIHZhdWx0IGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gZGlzcGxheSBuYW1lLCB1c2VkIHRvIGxhYmVsIHRoZSBub3RpY2VzIGFuZCB0aGUgdmVyc2lvbi1jaG9pY2UgZGlhbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90aWNlIGNvbXBvbmVudCB1c2VkIHRvIHJlcG9ydCBwcm9ncmVzcyBhbmQgcHJvYmxlbXMgKHBsdWdpbiBub3QgaW4gdGhlIHJlZ2lzdHJ5LCBtaXNzaW5nXG4gICAqIGFyY2hpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uLCBvZmZlcmVkIGFzIG9uZSBvZiB0aGUgdmVyc2lvbiBjaG9pY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXJQYXJhbXMge1xuICByZWFkb25seSBhcmNoaXZlOiBCdWZmZXI7XG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zIHtcbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudDtcbiAgcmVhZG9ubHkgcHJvZ3Jlc3NOb3RpY2U6IFBsdWdpbk5vdGljZUNvbXBvbmVudERlbGF5ZWROb3RpY2U7XG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG5jb25zdCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIgPSAnb2JzaWRpYW4tZGVtby12YXVsdHMnO1xuY29uc3QgQVJDSElWRVNfU1VCRk9MREVSID0gJ2FyY2hpdmVzJztcbmNvbnN0IEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSID0gJ2V4dHJhY3RlZCc7XG5jb25zdCBIVFRQX1NUQVRVU19PSyA9IDIwMDtcbi8vIE9uZSBkYXkgaW4gbWlsbGlzZWNvbmRzICgyNCAqIDYwICogNjAgKiAxMDAwKS5cbmNvbnN0IE9SUEhBTkVEX0VYVFJBQ1RFRF9WQVVMVF9NQVhfQUdFX0lOX01JTExJU0VDT05EUyA9IDg2XzQwMF8wMDA7XG5cbi8qKlxuICogRG93bmxvYWRzIGFuZCBvcGVucyB0aGUgcGx1Z2luJ3MgZGVtbyB2YXVsdCBpbiBhIG5ldyBPYnNpZGlhbiB3aW5kb3cuIERlc2t0b3Agb25seS5cbiAqXG4gKiBJZiB0aGUgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uIGlzIHRoZSBsYXRlc3QgKG9yIG5ld2VyKSwgaXRzIGRlbW8gdmF1bHQgb3BlbnMgZGlyZWN0bHk7IG90aGVyd2lzZVxuICogdGhlIHVzZXIgY2hvb3NlcyBiZXR3ZWVuIHRoZSBsYXRlc3QgYW5kIHRoZSBjdXJyZW50bHktaW5zdGFsbGVkIHZlcnNpb24uIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duXG4gKiBpbW1lZGlhdGVseS4gVGhlIGNob3NlbiB2ZXJzaW9uJ3MgYXJjaGl2ZSBpcyBkb3dubG9hZGVkIG9uY2UgKHRoZW4gcmV1c2VkIGZyb20gdGhlIGFyY2hpdmUgY2FjaGUpLFxuICogYnV0IGEgZnJlc2ggY29weSBpcyBleHRyYWN0ZWQgaW50byBpdHMgb3duIHRlbXBvcmFyeSBmb2xkZXIgb24gZXZlcnkgb3BlbiBcdTIwMTQgdGhlIHZhdWx0IGlzIG5ldmVyIHJldXNlZFxuICogYWNyb3NzIHNlc3Npb25zLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIE9wZW5EZW1vVmF1bHRQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSB2YXVsdCBoYXMgYmVlbiBvcGVuZWQsIG9yIG9uY2UgdGhlIG9wZXJhdGlvbiBoYXNcbiAqIGJlZW4gcmVwb3J0ZWQgYXMgbm90IHBvc3NpYmxlIChub3RpY2Ugc2hvd24pIG9yIGNhbmNlbGxlZCBieSB0aGUgdXNlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5EZW1vVmF1bHQocGFyYW1zOiBPcGVuRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQsXG4gICAgcGx1Z2luTmFtZSxcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gICAgcGx1Z2luVmVyc2lvblxuICB9ID0gcGFyYW1zO1xuXG4gIC8vIFNob3duIGltbWVkaWF0ZWx5IChgZGVsYXlJbk1pbGxpc2Vjb25kczogMGApOiByZXNvbHZpbmcgdGhlIHJlbGVhc2UsIGRvd25sb2FkaW5nIGFuZCBleHRyYWN0aW5nIGNhblxuICAvLyBlYWNoIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWUgcHJvZ3Jlc3MgdGhlIG1vbWVudCB0aGUgY29tbWFuZCBpcyBpbnZva2VkLlxuICAvL1xuICAvLyBLZXB0IG91dCBvZiB0aGUgc2hhcmVkIHNsb3QgKGBTZXBhcmF0ZWApLCBiZWNhdXNlIHRoaXMgdmVyeSBmdW5jdGlvbiByYWlzZXMgb3JkaW5hcnkgbm90aWNlcyB3aGlsZVxuICAvLyB0aGUgb3BlcmF0aW9uIGlzIHN0aWxsIHJ1bm5pbmcgXHUyMDE0IFwibm90IGluIHRoZSByZWdpc3RyeVwiLCBcIm5vIGRlbW8gdmF1bHQgZm9yIHRoaXMgdmVyc2lvblwiIFx1MjAxNCBhbmQgYVxuICAvLyBzbG90IG5vdGljZSB3b3VsZCBoaWRlIHRoZSBwcm9ncmVzcyBub3RpY2UgcmF0aGVyIHRoYW4gYXBwZWFyIGJlc2lkZSBpdC5cbiAgdXNpbmcgcHJvZ3Jlc3NOb3RpY2UgPSBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZUFmdGVyRGVsYXkoe1xuICAgIGNvbnRlbnQ6IGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYE9wZW5pbmcgZGVtbyB2YXVsdCBmb3IgJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX1cdTIwMjZgKSxcbiAgICBkZWxheUluTWlsbGlzZWNvbmRzOiAwLFxuICAgIG1vZGU6IFBsdWdpbk5vdGljZU1vZGUuU2VwYXJhdGVcbiAgfSk7XG5cbiAgY29uc3QgcmVwbyA9IGF3YWl0IGdldENvbW11bml0eVBsdWdpblJlcG8ocGx1Z2luSWQpO1xuICBpZiAoIXJlcG8pIHtcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZShjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzKGBDb3VsZCBub3QgZmluZCBwbHVnaW4gJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX0gaW4gdGhlIGNvbW11bml0eSBwbHVnaW5zIHJlZ2lzdHJ5LmApKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHBsdWdpblZlcnNpb247XG4gIGNvbnN0IGxhdGVzdFZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RSZWxlYXNlVmVyc2lvbihyZXBvKTtcblxuICBsZXQgdmVyc2lvblRvT3Blbjogc3RyaW5nO1xuICBpZiAoY29tcGFyZVZlcnNpb25zKGN1cnJlbnRWZXJzaW9uLCBsYXRlc3RWZXJzaW9uKSA+PSAwKSB7XG4gICAgdmVyc2lvblRvT3BlbiA9IGN1cnJlbnRWZXJzaW9uO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNob3NlblZlcnNpb24gPSBhd2FpdCBzZWxlY3RPcHRpb248bnVsbCB8IHN0cmluZz4oe1xuICAgICAgYXBwLFxuICAgICAgbWVzc2FnZTogY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2NrcyhgQ3VycmVudCB2ZXJzaW9uIG9mIHBsdWdpbiAke2FzQ29kZUJsb2NrKHBsdWdpbk5hbWUpfSB2JHtjdXJyZW50VmVyc2lvbn0gaXMgbm90IHRoZSBsYXRlc3QgKHYke2xhdGVzdFZlcnNpb259KWApLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgaXNDdGE6IHRydWUsXG4gICAgICAgICAgdGV4dDogYE9wZW4gZGVtbyB2YXVsdCBmb3IgbGF0ZXN0IHZlcnNpb24gKHYke2xhdGVzdFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGxhdGVzdFZlcnNpb25cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGBPcGVuIGRlbW8gdmF1bHQgZm9yIGN1cnJlbnQgdmVyc2lvbiAodiR7Y3VycmVudFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnRWZXJzaW9uXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdGl0bGU6IGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYXNDb2RlQmxvY2socGx1Z2luTmFtZSkpXG4gICAgfSk7XG4gICAgaWYgKGNob3NlblZlcnNpb24gPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmVyc2lvblRvT3BlbiA9IGNob3NlblZlcnNpb247XG4gIH1cblxuICBjb25zdCBhcmNoaXZlID0gYXdhaXQgcmVzb2x2ZURlbW9WYXVsdEFyY2hpdmUoe1xuICAgIHBsdWdpbklkLFxuICAgIHBsdWdpbk5hbWUsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICAgIHByb2dyZXNzTm90aWNlLFxuICAgIHJlcG8sXG4gICAgdmVyc2lvbjogdmVyc2lvblRvT3BlblxuICB9KTtcbiAgaWYgKCFhcmNoaXZlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvZ3Jlc3NOb3RpY2Uuc2V0Q29udGVudChjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzKGBFeHRyYWN0aW5nIGRlbW8gdmF1bHQgZm9yICR7YXNDb2RlQmxvY2socGx1Z2luTmFtZSl9IHYke3ZlcnNpb25Ub09wZW59XHUyMDI2YCkpO1xuICBjbGVhbnVwT3JwaGFuZWRFeHRyYWN0ZWRWYXVsdHMoKTtcbiAgY29uc3QgdmF1bHREaXJlY3RvcnkgPSBleHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlcih7XG4gICAgYXJjaGl2ZSxcbiAgICBwbHVnaW5JZCxcbiAgICB2ZXJzaW9uOiB2ZXJzaW9uVG9PcGVuXG4gIH0pO1xuXG4gIHdpbmRvdy5lbGVjdHJvbi5pcGNSZW5kZXJlci5zZW5kU3luYygndmF1bHQtb3BlbicsIHZhdWx0RGlyZWN0b3J5LCBmYWxzZSk7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBleHRyYWN0ZWQgZGVtby12YXVsdCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tIGVhcmxpZXIgc2Vzc2lvbnMgKGJlc3QtZWZmb3J0KS5cbiAqXG4gKiBFdmVyeSBvcGVuIGV4dHJhY3RzIGEgZnJlc2ggY29weSBpbnRvIGl0cyBvd24gZm9sZGVyIGFuZCBuZXZlciBkZWxldGVzIGl0IGFmdGVyd2FyZHMgKHRoZSB2YXVsdCBzdGF5c1xuICogb3BlbiBpbiBpdHMgd2luZG93KSwgc28gdGhlc2UgYWNjdW11bGF0ZS4gVGhpcyBkcm9wcyBmb2xkZXJzIG9sZGVyIHRoYW5cbiAqIHtAbGluayBPUlBIQU5FRF9FWFRSQUNURURfVkFVTFRfTUFYX0FHRV9JTl9NSUxMSVNFQ09ORFN9LiBBIGZvbGRlciB3aG9zZSB2YXVsdCBpcyBzdGlsbCBvcGVuIGluIGFub3RoZXJcbiAqIHdpbmRvdyBpcyBsb2NrZWQgb24gV2luZG93cyBhbmQgY2Fubm90IGJlIHJlbW92ZWQgXHUyMDE0IHRoZSByZW1vdmFsIGlzIHdyYXBwZWQgc28gc3VjaCBhIGZvbGRlciBpcyBzaW1wbHlcbiAqIHNraXBwZWQgYW5kIHJldHJpZWQgb24gYSBsYXRlciBvcGVuLlxuICovXG5mdW5jdGlvbiBjbGVhbnVwT3JwaGFuZWRFeHRyYWN0ZWRWYXVsdHMoKTogdm9pZCB7XG4gIGNvbnN0IGV4dHJhY3RlZFZhdWx0c1Jvb3QgPSBqb2luKHRtcGRpcigpLCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIsIEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSKTtcbiAgaWYgKCFleGlzdHNTeW5jKGV4dHJhY3RlZFZhdWx0c1Jvb3QpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgZm9yIChjb25zdCBlbnRyeU5hbWUgb2YgcmVhZGRpclN5bmMoZXh0cmFjdGVkVmF1bHRzUm9vdCkpIHtcbiAgICBjb25zdCBlbnRyeVBhdGggPSBqb2luKGV4dHJhY3RlZFZhdWx0c1Jvb3QsIGVudHJ5TmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXRzID0gc3RhdFN5bmMoZW50cnlQYXRoKTtcbiAgICAgIGlmIChub3cgLSBzdGF0cy5tdGltZU1zIDwgT1JQSEFORURfRVhUUkFDVEVEX1ZBVUxUX01BWF9BR0VfSU5fTUlMTElTRUNPTkRTKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgcm1TeW5jKGVudHJ5UGF0aCwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gQmVzdC1lZmZvcnQgY2xlYW51cDogYW4gb3JwaGFuIHdob3NlIHZhdWx0IGlzIHN0aWxsIG9wZW4gKGxvY2tlZCBvbiBXaW5kb3dzKSBjYW5ub3QgYmUgcmVtb3ZlZDsgc2tpcCBpdCBhbmQgcmV0cnkgb24gYSBsYXRlciBvcGVuLlxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEV4dHJhY3RzIGEgZG93bmxvYWRlZCBkZW1vLXZhdWx0IGFyY2hpdmUgdG8gZGlzay5cbiAqXG4gKiBFeHRyYWN0aW9uIGlzIHdyaXR0ZW4gd2l0aCBFbGVjdHJvbidzIGBvcmlnaW5hbC1mc2AgXHUyMDE0IHRoZSByZWFsIGBmc2Agd2l0aCBhc2FyIGludGVyY2VwdGlvbiBkaXNhYmxlZCBcdTIwMTRcbiAqIHJhdGhlciB0aGFuIHdpdGggYG5vZGU6ZnNgLiBBIGRlbW8gdmF1bHQgbWF5IHNoaXAgYSBmaWxlIHRoYXQgbWVyZWx5IExPT0tTIGxpa2UgYW4gRWxlY3Ryb24gYXJjaGl2ZVxuICogKGUuZy4gYF9hc3NldHMvQ29kZVNjcmlwdFRvb2xraXQvbW9kdWxlLmFzYXJgIGRlbW9uc3RyYXRpbmcgdGhlIEFTQVIgcmVxdWlyZSBmZWF0dXJlKSwgYW5kIEVsZWN0cm9uJ3NcbiAqIGFzYXIgbGF5ZXIgaW50ZXJjZXB0cyBgZnNgIG9wZXJhdGlvbnMgb24gYW55IHBhdGggY29udGFpbmluZyBgLmFzYXJgLCB0cmVhdGluZyBpdCBhcyBhbiBhcmNoaXZlIHJvb3RcbiAqIHJhdGhlciB0aGFuIGEgcGxhaW4gZmlsZS4gVGhhdCBhbHJlYWR5IGNvc3Qgb25lIHByb2R1Y3Rpb24gYnVnIHdoZW4gdGhlIGV4dHJhY3RvciBgY2htb2RgLWVkIHN1Y2ggYVxuICogZmlsZSBhbmQgZ290IGBFTk9FTlRgOyBub3RoaW5nIGBjaG1vZGBzIGFueSBtb3JlLCBidXQgd3JpdGluZyB0aG9zZSBieXRlcyB0aHJvdWdoIHRoZSBjb3B5IHRoYXQgaGFzIG5vXG4gKiBhc2FyIGxheWVyIGNvc3RzIG5vdGhpbmcgYW5kIGtlZXBzIHRoZSB3aG9sZSBjbGFzcyBvZiBmYWlsdXJlIG9mZiB0aGlzIHBhdGguIGBvcmlnaW5hbC1mc2AgaXMgYSBkZXNrdG9wLW9ubHlcbiAqIEVsZWN0cm9uIG1vZHVsZSB3aXRoIG5vIGJ1bmRsZWQgdHlwZXMsIHNvIGl0IGlzIGxvYWRlZCB2aWEgYHdpbmRvdy5yZXF1aXJlYCBhbmQgdHlwZWQgYXMgYG5vZGU6ZnNgJ3NcbiAqIHNoYXBlLlxuICpcbiAqIEBwYXJhbSBhcmNoaXZlIC0gVGhlIHJhdyB6aXAgYXJjaGl2ZSBieXRlcy5cbiAqIEBwYXJhbSB0YXJnZXREaXJlY3RvcnkgLSBUaGUgZGlyZWN0b3J5IHRvIGV4dHJhY3QgaW50by5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdERlbW9WYXVsdEFyY2hpdmUoYXJjaGl2ZTogQnVmZmVyLCB0YXJnZXREaXJlY3Rvcnk6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBvcmlnaW5hbEZzID0gd2luZG93LnJlcXVpcmUoJ25vZGU6b3JpZ2luYWwtZnMnKSBhcyB0eXBlb2YgaW1wb3J0KCdub2RlOmZzJyk7XG4gIGV4dHJhY3RaaXBBcmNoaXZlKHtcbiAgICBhcmNoaXZlLFxuICAgIGZpbGVTeXN0ZW06IG9yaWdpbmFsRnMsXG4gICAgdGFyZ2V0RGlyZWN0b3J5XG4gIH0pO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBhcmNoaXZlIGludG8gYSBmcmVzaCwgdW5pcXVlbHktbmFtZWQgdGVtcG9yYXJ5IGZvbGRlciBhbmQgcmV0dXJucyB0aGUgdmF1bHQgcGF0aC5cbiAqXG4gKiBBIHVuaXF1ZSBwYXJlbnQgZm9sZGVyIChgbWtkdGVtcFN5bmNgKSBndWFyYW50ZWVzIGEgYnJhbmQtbmV3IGV4dHJhY3Rpb24gZXZlcnkgdGltZSBcdTIwMTQgdGhlIGRlbW8gdmF1bHRcbiAqIGlzIG5ldmVyIHJldXNlZCBhY3Jvc3Mgb3BlbnMsIHNvIGEgcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW4uIFRoZSBhcmNoaXZlIGlzIGV4dHJhY3RlZFxuICogaW50byB0aGF0IHBhcmVudCBhbmQgdGhlIHZhdWx0IGlzIHRoZSBzaW5nbGUgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQtPHZlcnNpb24+YCBmb2xkZXIgaXQgY29udGFpbnMsIHNvXG4gKiBPYnNpZGlhbidzIHZhdWx0IHN3aXRjaGVyIHNob3dzIGEgZnJpZW5kbHkgbmFtZSAoaXRzIGJhc2VuYW1lKSByYXRoZXIgdGhhbiB0aGUgcmFuZG9tIHRlbXAgaWQuXG4gKlxuICogVGhhdCBmb2xkZXIgaXMgbm90IHNlYXJjaGVkIGZvcjoge0BsaW5rIGdldERlbW9WYXVsdEZvbGRlck5hbWV9IG5hbWVzIGl0IG9uIGJvdGggc2lkZXMsIHNvIHRoZSBwYXRoIGlzXG4gKiBrbm93biBiZWZvcmUgYSBieXRlIGlzIHdyaXR0ZW4uIFdoaWNoIGtlZXBzIHRoZSBleHRyYWN0b3IgZnJlZSBvZiBhbnkgcmVhZCBcdTIwMTQgZGVsaWJlcmF0ZSwgYmVjYXVzZVxuICogRWxlY3Ryb24ncyBhc2FyIGxheWVyIGludGVyY2VwdHMgYGZzYCByZWFkcyBvbiBhbnkgcGF0aCBjb250YWluaW5nIGAuYXNhcmAsIGFuZCBhIGRlbW8gdmF1bHQgbWF5XG4gKiBsZWdpdGltYXRlbHkgc2hpcCBzdWNoIGEgZmlsZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBFeHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlclBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgZnJlc2hseSBleHRyYWN0ZWQgdmF1bHQgZm9sZGVyLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlcihwYXJhbXM6IEV4dHJhY3REZW1vVmF1bHRUb0ZyZXNoRm9sZGVyUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3QgeyBhcmNoaXZlLCBwbHVnaW5JZCwgdmVyc2lvbiB9ID0gcGFyYW1zO1xuICBjb25zdCBleHRyYWN0ZWRWYXVsdHNSb290ID0gam9pbih0bXBkaXIoKSwgREVNT19WQVVMVFNfQ0FDSEVfRk9MREVSLCBFWFRSQUNURURfVkFVTFRTX1NVQkZPTERFUik7XG4gIG1rZGlyU3luYyhleHRyYWN0ZWRWYXVsdHNSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgdW5pcXVlUGFyZW50RGlyZWN0b3J5ID0gbWtkdGVtcFN5bmMoam9pbihleHRyYWN0ZWRWYXVsdHNSb290LCBgJHtwbHVnaW5JZH0tJHt2ZXJzaW9ufS1gKSk7XG4gIGV4dHJhY3REZW1vVmF1bHRBcmNoaXZlKGFyY2hpdmUsIHVuaXF1ZVBhcmVudERpcmVjdG9yeSk7XG4gIHJldHVybiBqb2luKFxuICAgIHVuaXF1ZVBhcmVudERpcmVjdG9yeSxcbiAgICBnZXREZW1vVmF1bHRGb2xkZXJOYW1lKHtcbiAgICAgIHBsdWdpbklkLFxuICAgICAgdmVyc2lvblxuICAgIH0pXG4gICk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGRlbW8tdmF1bHQgYXJjaGl2ZSBieXRlcyBmb3IgYSB2ZXJzaW9uLCBkb3dubG9hZGluZyBhbmQgY2FjaGluZyB0aGVtIG9uIGZpcnN0IHVzZS5cbiAqXG4gKiBPbmx5IHRoZSBhcmNoaXZlIGlzIGNhY2hlZCAoa2V5ZWQgYnkgcGx1Z2luIGlkICsgdmVyc2lvbik7IHRoZSBleHRyYWN0ZWQgdmF1bHQgaXMgbm90LiBBIGNhY2hlIGhpdCBpc1xuICogcmV0dXJuZWQgd2l0aG91dCBhbnkgbmV0d29yayByZXF1ZXN0OyBhIG1pc3MgZG93bmxvYWRzIHRoZSByZWxlYXNlIGFzc2V0LCB3cml0ZXMgaXQgdG8gdGhlIGFyY2hpdmVcbiAqIGNhY2hlLCBhbmQgcmV0dXJucyB0aGUgZnJlc2hseSBkb3dubG9hZGVkIGJ5dGVzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHJlc29sdmluZyB0byB0aGUgYXJjaGl2ZSBieXRlcywgb3IgYG51bGxgIHdoZW4gbm8gYXJjaGl2ZSBpcyBhdmFpbGFibGUgZm9yXG4gKiB0aGUgdmVyc2lvbiAoYSBub3RpY2UgaGFzIGJlZW4gc2hvd24pLlxuICovXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlRGVtb1ZhdWx0QXJjaGl2ZShwYXJhbXM6IFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zKTogUHJvbWlzZTxCdWZmZXIgfCBudWxsPiB7XG4gIGNvbnN0IHtcbiAgICBwbHVnaW5JZCxcbiAgICBwbHVnaW5OYW1lLFxuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgICBwcm9ncmVzc05vdGljZSxcbiAgICByZXBvLFxuICAgIHZlcnNpb25cbiAgfSA9IHBhcmFtcztcblxuICBjb25zdCBhcmNoaXZlc0RpcmVjdG9yeSA9IGpvaW4odG1wZGlyKCksIERFTU9fVkFVTFRTX0NBQ0hFX0ZPTERFUiwgQVJDSElWRVNfU1VCRk9MREVSKTtcbiAgY29uc3QgYXJjaGl2ZVBhdGggPSBqb2luKGFyY2hpdmVzRGlyZWN0b3J5LCBgJHtwbHVnaW5JZH0tJHt2ZXJzaW9ufS56aXBgKTtcbiAgaWYgKGV4aXN0c1N5bmMoYXJjaGl2ZVBhdGgpKSB7XG4gICAgcmV0dXJuIHJlYWRGaWxlU3luYyhhcmNoaXZlUGF0aCk7XG4gIH1cblxuICBwcm9ncmVzc05vdGljZS5zZXRDb250ZW50KGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYERvd25sb2FkaW5nIGRlbW8gdmF1bHQgZm9yICR7YXNDb2RlQmxvY2socGx1Z2luTmFtZSl9IHYke3ZlcnNpb259XHUyMDI2YCkpO1xuICBjb25zdCBhc3NldFVybCA9IGBodHRwczovL2dpdGh1Yi5jb20vJHtyZXBvfS9yZWxlYXNlcy9kb3dubG9hZC8ke3ZlcnNpb259LyR7Z2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKHBsdWdpbklkKX1gO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RVcmwoe1xuICAgIHRocm93OiBmYWxzZSxcbiAgICB1cmw6IGFzc2V0VXJsXG4gIH0pO1xuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSBIVFRQX1NUQVRVU19PSykge1xuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYE5vIGRlbW8gdmF1bHQgaXMgYXZhaWxhYmxlIGZvciBwbHVnaW4gJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX0gdiR7dmVyc2lvbn0uYCkpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgYXJjaGl2ZSA9IEJ1ZmZlci5mcm9tKHJlc3BvbnNlLmFycmF5QnVmZmVyKTtcbiAgbWtkaXJTeW5jKGFyY2hpdmVzRGlyZWN0b3J5LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgd3JpdGVGaWxlU3luYyhhcmNoaXZlUGF0aCwgYXJjaGl2ZSk7XG4gIHJldHVybiBhcmNoaXZlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1DQSxtQ0FBa0M7QUFDbEMsa0JBQXFCO0FBQ3JCLDhCQUFnQztBQUNoQyx5QkFBdUI7QUFDdkIscUJBU087QUFDUCxxQkFBdUI7QUFDdkIsc0JBQTJCO0FBTzNCLCtCQUdPO0FBQ1AscUNBQWlDO0FBQ2pDLCtCQUdPO0FBQ1AsMEJBR087QUFDUCwyQkFBNkI7QUFpRDdCLE1BQU0sMkJBQTJCO0FBQ2pDLE1BQU0scUJBQXFCO0FBQzNCLE1BQU0sNkJBQTZCO0FBQ25DLE1BQU0saUJBQWlCO0FBRXZCLE1BQU0sbURBQW1EO0FBZXpELGVBQXNCLGNBQWMsUUFBNEM7QUFlOUU7QUFBQTtBQWRBLFVBQU07QUFBQSxNQUNKO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLElBQ0YsSUFBSTtBQVFK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
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEb3dubG9hZHMgYW5kIG9wZW5zIGEgcGx1Z2luJ3Mgc2hpcHBlZCBkZW1vIHZhdWx0IGluIGEgbmV3IE9ic2lkaWFuIHdpbmRvdyAoZGVza3RvcCBvbmx5KS5cbiAqXG4gKiBBIHBsdWdpbiBjYW4gYXR0YWNoIGEgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQuemlwYCBhcmNoaXZlIHRvIGVhY2ggR2l0SHViIHJlbGVhc2UgKHNlZVxuICogYGFyY2hpdmVQbHVnaW5EZW1vVmF1bHRgIGluIGBzY3JpcHQtdXRpbHMvZGVtby12YXVsdC50c2A7IGV2ZXJ5IG5hbWUgc2hhcmVkIHdpdGggaXQgY29tZXMgZnJvbVxuICogYGRlbW8tdmF1bHQtbmFtaW5nLnRzYCkuIFRoaXMgcmVzb2x2ZXMgdGhlIHBsdWdpbidzIHJlcG9zaXRvcnkgZnJvbSBPYnNpZGlhbidzIGNvbW11bml0eSByZWdpc3RyeSxcbiAqIGRvd25sb2FkcyB0aGUgYXJjaGl2ZSBmb3IgdGhlIGNob3NlbiB2ZXJzaW9uLCBhbmQgb3BlbnMgaXQgYXMgYSB2YXVsdCBpbiBhIG5ldyB3aW5kb3cuIFdoZW4gdGhlXG4gKiBpbnN0YWxsZWQgcGx1Z2luIHZlcnNpb24gaXMgYmVoaW5kIHRoZSBsYXRlc3QgcmVsZWFzZSwgdGhlIHVzZXIgaXMgb2ZmZXJlZCBhIGNob2ljZSBiZXR3ZWVuIHRoZSB0d29cbiAqIHZlcnNpb25zLlxuICpcbiAqIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duIGltbWVkaWF0ZWx5IChkb3dubG9hZCArIGV4dHJhY3Rpb24gY2FuIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWVcbiAqIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgcmlnaHQgYXdheSkuIE9ubHkgdGhlIGRvd25sb2FkZWQgQVJDSElWRSBpcyBjYWNoZWQgKHVuZGVyIHRoZSBPUyB0ZW1wXG4gKiBkaXJlY3RvcnkpOyBldmVyeSBpbnZvY2F0aW9uIGV4dHJhY3RzIGEgRlJFU0ggY29weSBpbnRvIGl0cyBvd24gdGVtcG9yYXJ5IGZvbGRlciBhbmQgb3BlbnMgdGhhdCwgc28gYVxuICogcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW50byBhIG5ldyBvbmUuIFRoZSB2YXVsdCBmb2xkZXIgaXMgdGhlIGFyY2hpdmUncyBvd24gc2luZ2xlXG4gKiB0b3AtbGV2ZWwgZm9sZGVyLCBgPHBsdWdpbi1pZD4tZGVtby12YXVsdC08dmVyc2lvbj5gLCB3aGljaCByZWFkcyBuaWNlbHkgaW4gT2JzaWRpYW4ncyB2YXVsdCBzd2l0Y2hlclxuICogYW5kIGlzIHRoZSBzYW1lIG5hbWUgYSBoYW5kLXVuemlwcGVkIGFyY2hpdmUgcHJvZHVjZXMuIE9ycGhhbmVkIGV4dHJhY3RlZCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tXG4gKiBlYXJsaWVyIHNlc3Npb25zIGFyZSBjbGVhbmVkIHVwIChiZXN0LWVmZm9ydCkgb24gZWFjaCBvcGVuLlxuICpcbiAqICoqTm90aGluZyBoZXJlIG1heSB0b3VjaCBhIHBsYXRmb3JtLW9ubHkgQVBJIHdoaWxlIHRoZSBtb2R1bGUgSU5JVElBTElaRVMuKiogVGhlIGBub2RlOmAgaW1wb3J0cyBiZWxvd1xuICogYXJlIHNhZmUgdG8gbWVyZWx5IGV2YWx1YXRlIG9uIG1vYmlsZSDigJQgYHJlcXVpcmVgIGhhbmRzIGJhY2sgYHVuZGVmaW5lZGAgdGhlcmUgYW5kIG5vdGhpbmcgcmVhZHMgaXQgYXRcbiAqIGxvYWQgdGltZSDigJQgYW5kIGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBiYXJyZWxzIHJlLWV4cG9ydCB0aGlzIG1vZHVsZSwgdGhhdCBpcyBhIGxvYWQtYmVhcmluZyBwcm9wZXJ0eSBvZlxuICogdGhlIHdob2xlIGxpYnJhcnkgcmF0aGVyIHRoYW4gYSBkZXRhaWwgb2YgdGhpcyBmaWxlLiBJdCB3YXMgbGVhcm5lZCB0aGUgaGFyZCB3YXk6IHRoaXMgbW9kdWxlIG9uY2VcbiAqIGltcG9ydGVkIGBhZG0temlwYCwgd2hvc2UgemlwLWNyeXB0byBtZXRob2Qgb3BlbnMgd2l0aCBhIHRvcC1sZXZlbFxuICogYGNvbnN0IHsgcmFuZG9tRmlsbFN5bmMgfSA9IHJlcXVpcmUoJ2NyeXB0bycpYCwgYW5kIGEgc3RhdGljIGBpbXBvcnQgQWRtWmlwIGZyb20gJ2FkbS16aXAnYCB0aGVyZWZvcmVcbiAqIGtpbGxlZCB0aGUgbGlicmFyeSdzIGxvYWQgb24gQW5kcm9pZCAoc2VlIHRoZSBtb2JpbGUtbG9hZCBjaGVjayBpblxuICogYHNjcmlwdHMvaGVscGVycy9hc3NlcnQtbW9iaWxlLWxvYWRhYmxlLWJ1bmRsZS50c2AsIHdoaWNoIGZhaWxzIHRoZSBidWlsZCBvbiBleGFjdGx5IHRoYXQpLiBFeHRyYWN0aW9uXG4gKiBub3cgZ29lcyB0aHJvdWdoIGBkZXNrdG9wLXppcC1leHRyYWN0b3IudHNgLCB3aGljaCBuZWVkcyBubyBkZXBlbmRlbmN5IGF0IGFsbCDigJQgYnV0IGFueSBmdXR1cmVcbiAqIGRlcGVuZGVuY3kgdGhhdCBpbml0aWFsaXplcyBhZ2FpbnN0IGEgcGxhdGZvcm0tb25seSBBUEkgc3RpbGwgaGFzIHRvIGJlIGRlZmVycmVkIGJlaGluZCBhIGNhbGwtdGltZVxuICogYGltcG9ydCgpYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgZXh0cmFjdFppcEFyY2hpdmUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVza3RvcC16aXAtZXh0cmFjdG9yJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBjb21wYXJlVmVyc2lvbnMgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ25vZGU6YnVmZmVyJztcbmltcG9ydCB7XG4gIGV4aXN0c1N5bmMsXG4gIG1rZGlyU3luYyxcbiAgbWtkdGVtcFN5bmMsXG4gIHJlYWRkaXJTeW5jLFxuICByZWFkRmlsZVN5bmMsXG4gIHJtU3luYyxcbiAgc3RhdFN5bmMsXG4gIHdyaXRlRmlsZVN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7IHJlcXVlc3RVcmwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgUGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICBQbHVnaW5Ob3RpY2VDb21wb25lbnREZWxheWVkTm90aWNlXG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7XG4gIGdldENvbW11bml0eVBsdWdpblJlcG8sXG4gIGdldExhdGVzdFJlbGVhc2VWZXJzaW9uXG59IGZyb20gJy4vY29tbXVuaXR5LXBsdWdpbnMudHMnO1xuaW1wb3J0IHsgUGx1Z2luTm90aWNlTW9kZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQge1xuICBnZXREZW1vVmF1bHRBcmNoaXZlRmlsZU5hbWUsXG4gIGdldERlbW9WYXVsdEZvbGRlck5hbWVcbn0gZnJvbSAnLi9kZW1vLXZhdWx0LW5hbWluZy50cyc7XG5pbXBvcnQge1xuICBhc0NvZGVCbG9jayxcbiAgY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2Nrc1xufSBmcm9tICcuL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBzZWxlY3RPcHRpb24gfSBmcm9tICcuL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgb3BlbkRlbW9WYXVsdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbkRlbW9WYXVsdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gaWQsIHVzZWQgdG8gbG9jYXRlIHRoZSBHaXRIdWIgcmVwb3NpdG9yeSwgdG8gbmFtZSB0aGUgYXJjaGl2ZSBhc3NldCwgYW5kIHRvIG5hbWUgdGhlXG4gICAqIGNhY2hlZCBhcmNoaXZlIGFuZCB0aGUgZXh0cmFjdGVkIHZhdWx0IGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gZGlzcGxheSBuYW1lLCB1c2VkIHRvIGxhYmVsIHRoZSBub3RpY2VzIGFuZCB0aGUgdmVyc2lvbi1jaG9pY2UgZGlhbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90aWNlIGNvbXBvbmVudCB1c2VkIHRvIHJlcG9ydCBwcm9ncmVzcyBhbmQgcHJvYmxlbXMgKHBsdWdpbiBub3QgaW4gdGhlIHJlZ2lzdHJ5LCBtaXNzaW5nXG4gICAqIGFyY2hpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uLCBvZmZlcmVkIGFzIG9uZSBvZiB0aGUgdmVyc2lvbiBjaG9pY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRXh0cmFjdERlbW9WYXVsdFRvRnJlc2hGb2xkZXJQYXJhbXMge1xuICByZWFkb25seSBhcmNoaXZlOiBCdWZmZXI7XG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zIHtcbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudDtcbiAgcmVhZG9ubHkgcHJvZ3Jlc3NOb3RpY2U6IFBsdWdpbk5vdGljZUNvbXBvbmVudERlbGF5ZWROb3RpY2U7XG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG5jb25zdCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIgPSAnb2JzaWRpYW4tZGVtby12YXVsdHMnO1xuY29uc3QgQVJDSElWRVNfU1VCRk9MREVSID0gJ2FyY2hpdmVzJztcbmNvbnN0IEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSID0gJ2V4dHJhY3RlZCc7XG5jb25zdCBIVFRQX1NUQVRVU19PSyA9IDIwMDtcbi8vIE9uZSBkYXkgaW4gbWlsbGlzZWNvbmRzICgyNCAqIDYwICogNjAgKiAxMDAwKS5cbmNvbnN0IE9SUEhBTkVEX0VYVFJBQ1RFRF9WQVVMVF9NQVhfQUdFX0lOX01JTExJU0VDT05EUyA9IDg2XzQwMF8wMDA7XG5cbi8qKlxuICogRG93bmxvYWRzIGFuZCBvcGVucyB0aGUgcGx1Z2luJ3MgZGVtbyB2YXVsdCBpbiBhIG5ldyBPYnNpZGlhbiB3aW5kb3cuIERlc2t0b3Agb25seS5cbiAqXG4gKiBJZiB0aGUgaW5zdGFsbGVkIHBsdWdpbiB2ZXJzaW9uIGlzIHRoZSBsYXRlc3QgKG9yIG5ld2VyKSwgaXRzIGRlbW8gdmF1bHQgb3BlbnMgZGlyZWN0bHk7IG90aGVyd2lzZVxuICogdGhlIHVzZXIgY2hvb3NlcyBiZXR3ZWVuIHRoZSBsYXRlc3QgYW5kIHRoZSBjdXJyZW50bHktaW5zdGFsbGVkIHZlcnNpb24uIEEgcHJvZ3Jlc3Mgbm90aWNlIGlzIHNob3duXG4gKiBpbW1lZGlhdGVseS4gVGhlIGNob3NlbiB2ZXJzaW9uJ3MgYXJjaGl2ZSBpcyBkb3dubG9hZGVkIG9uY2UgKHRoZW4gcmV1c2VkIGZyb20gdGhlIGFyY2hpdmUgY2FjaGUpLFxuICogYnV0IGEgZnJlc2ggY29weSBpcyBleHRyYWN0ZWQgaW50byBpdHMgb3duIHRlbXBvcmFyeSBmb2xkZXIgb24gZXZlcnkgb3BlbiDigJQgdGhlIHZhdWx0IGlzIG5ldmVyIHJldXNlZFxuICogYWNyb3NzIHNlc3Npb25zLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIE9wZW5EZW1vVmF1bHRQYXJhbXN9LlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSB2YXVsdCBoYXMgYmVlbiBvcGVuZWQsIG9yIG9uY2UgdGhlIG9wZXJhdGlvbiBoYXNcbiAqIGJlZW4gcmVwb3J0ZWQgYXMgbm90IHBvc3NpYmxlIChub3RpY2Ugc2hvd24pIG9yIGNhbmNlbGxlZCBieSB0aGUgdXNlci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5EZW1vVmF1bHQocGFyYW1zOiBPcGVuRGVtb1ZhdWx0UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHtcbiAgICBhcHAsXG4gICAgcGx1Z2luSWQsXG4gICAgcGx1Z2luTmFtZSxcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQsXG4gICAgcGx1Z2luVmVyc2lvblxuICB9ID0gcGFyYW1zO1xuXG4gIC8vIFNob3duIGltbWVkaWF0ZWx5IChgZGVsYXlJbk1pbGxpc2Vjb25kczogMGApOiByZXNvbHZpbmcgdGhlIHJlbGVhc2UsIGRvd25sb2FkaW5nIGFuZCBleHRyYWN0aW5nIGNhblxuICAvLyBlYWNoIHRha2UgYSB3aGlsZSwgc28gdGhlIHVzZXIgbXVzdCBzZWUgcHJvZ3Jlc3MgdGhlIG1vbWVudCB0aGUgY29tbWFuZCBpcyBpbnZva2VkLlxuICAvL1xuICAvLyBLZXB0IG91dCBvZiB0aGUgc2hhcmVkIHNsb3QgKGBTZXBhcmF0ZWApLCBiZWNhdXNlIHRoaXMgdmVyeSBmdW5jdGlvbiByYWlzZXMgb3JkaW5hcnkgbm90aWNlcyB3aGlsZVxuICAvLyB0aGUgb3BlcmF0aW9uIGlzIHN0aWxsIHJ1bm5pbmcg4oCUIFwibm90IGluIHRoZSByZWdpc3RyeVwiLCBcIm5vIGRlbW8gdmF1bHQgZm9yIHRoaXMgdmVyc2lvblwiIOKAlCBhbmQgYVxuICAvLyBzbG90IG5vdGljZSB3b3VsZCBoaWRlIHRoZSBwcm9ncmVzcyBub3RpY2UgcmF0aGVyIHRoYW4gYXBwZWFyIGJlc2lkZSBpdC5cbiAgdXNpbmcgcHJvZ3Jlc3NOb3RpY2UgPSBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZUFmdGVyRGVsYXkoe1xuICAgIGNvbnRlbnQ6IGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYE9wZW5pbmcgZGVtbyB2YXVsdCBmb3IgJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX3igKZgKSxcbiAgICBkZWxheUluTWlsbGlzZWNvbmRzOiAwLFxuICAgIG1vZGU6IFBsdWdpbk5vdGljZU1vZGUuU2VwYXJhdGVcbiAgfSk7XG5cbiAgY29uc3QgcmVwbyA9IGF3YWl0IGdldENvbW11bml0eVBsdWdpblJlcG8ocGx1Z2luSWQpO1xuICBpZiAoIXJlcG8pIHtcbiAgICBwbHVnaW5Ob3RpY2VDb21wb25lbnQuc2hvd05vdGljZShjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzKGBDb3VsZCBub3QgZmluZCBwbHVnaW4gJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX0gaW4gdGhlIGNvbW11bml0eSBwbHVnaW5zIHJlZ2lzdHJ5LmApKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHBsdWdpblZlcnNpb247XG4gIGNvbnN0IGxhdGVzdFZlcnNpb24gPSBhd2FpdCBnZXRMYXRlc3RSZWxlYXNlVmVyc2lvbihyZXBvKTtcblxuICBsZXQgdmVyc2lvblRvT3Blbjogc3RyaW5nO1xuICBpZiAoY29tcGFyZVZlcnNpb25zKGN1cnJlbnRWZXJzaW9uLCBsYXRlc3RWZXJzaW9uKSA+PSAwKSB7XG4gICAgdmVyc2lvblRvT3BlbiA9IGN1cnJlbnRWZXJzaW9uO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNob3NlblZlcnNpb24gPSBhd2FpdCBzZWxlY3RPcHRpb248bnVsbCB8IHN0cmluZz4oe1xuICAgICAgYXBwLFxuICAgICAgbWVzc2FnZTogY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2NrcyhgQ3VycmVudCB2ZXJzaW9uIG9mIHBsdWdpbiAke2FzQ29kZUJsb2NrKHBsdWdpbk5hbWUpfSB2JHtjdXJyZW50VmVyc2lvbn0gaXMgbm90IHRoZSBsYXRlc3QgKHYke2xhdGVzdFZlcnNpb259KWApLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgaXNDdGE6IHRydWUsXG4gICAgICAgICAgdGV4dDogYE9wZW4gZGVtbyB2YXVsdCBmb3IgbGF0ZXN0IHZlcnNpb24gKHYke2xhdGVzdFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGxhdGVzdFZlcnNpb25cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGBPcGVuIGRlbW8gdmF1bHQgZm9yIGN1cnJlbnQgdmVyc2lvbiAodiR7Y3VycmVudFZlcnNpb259KWAsXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnRWZXJzaW9uXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdGl0bGU6IGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYXNDb2RlQmxvY2socGx1Z2luTmFtZSkpXG4gICAgfSk7XG4gICAgaWYgKGNob3NlblZlcnNpb24gPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmVyc2lvblRvT3BlbiA9IGNob3NlblZlcnNpb247XG4gIH1cblxuICBjb25zdCBhcmNoaXZlID0gYXdhaXQgcmVzb2x2ZURlbW9WYXVsdEFyY2hpdmUoe1xuICAgIHBsdWdpbklkLFxuICAgIHBsdWdpbk5hbWUsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICAgIHByb2dyZXNzTm90aWNlLFxuICAgIHJlcG8sXG4gICAgdmVyc2lvbjogdmVyc2lvblRvT3BlblxuICB9KTtcbiAgaWYgKCFhcmNoaXZlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvZ3Jlc3NOb3RpY2Uuc2V0Q29udGVudChjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzKGBFeHRyYWN0aW5nIGRlbW8gdmF1bHQgZm9yICR7YXNDb2RlQmxvY2socGx1Z2luTmFtZSl9IHYke3ZlcnNpb25Ub09wZW594oCmYCkpO1xuICBjbGVhbnVwT3JwaGFuZWRFeHRyYWN0ZWRWYXVsdHMoKTtcbiAgY29uc3QgdmF1bHREaXJlY3RvcnkgPSBleHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlcih7XG4gICAgYXJjaGl2ZSxcbiAgICBwbHVnaW5JZCxcbiAgICB2ZXJzaW9uOiB2ZXJzaW9uVG9PcGVuXG4gIH0pO1xuXG4gIHdpbmRvdy5lbGVjdHJvbi5pcGNSZW5kZXJlci5zZW5kU3luYygndmF1bHQtb3BlbicsIHZhdWx0RGlyZWN0b3J5LCBmYWxzZSk7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBleHRyYWN0ZWQgZGVtby12YXVsdCBmb2xkZXJzIGxlZnQgb3ZlciBmcm9tIGVhcmxpZXIgc2Vzc2lvbnMgKGJlc3QtZWZmb3J0KS5cbiAqXG4gKiBFdmVyeSBvcGVuIGV4dHJhY3RzIGEgZnJlc2ggY29weSBpbnRvIGl0cyBvd24gZm9sZGVyIGFuZCBuZXZlciBkZWxldGVzIGl0IGFmdGVyd2FyZHMgKHRoZSB2YXVsdCBzdGF5c1xuICogb3BlbiBpbiBpdHMgd2luZG93KSwgc28gdGhlc2UgYWNjdW11bGF0ZS4gVGhpcyBkcm9wcyBmb2xkZXJzIG9sZGVyIHRoYW5cbiAqIHtAbGluayBPUlBIQU5FRF9FWFRSQUNURURfVkFVTFRfTUFYX0FHRV9JTl9NSUxMSVNFQ09ORFN9LiBBIGZvbGRlciB3aG9zZSB2YXVsdCBpcyBzdGlsbCBvcGVuIGluIGFub3RoZXJcbiAqIHdpbmRvdyBpcyBsb2NrZWQgb24gV2luZG93cyBhbmQgY2Fubm90IGJlIHJlbW92ZWQg4oCUIHRoZSByZW1vdmFsIGlzIHdyYXBwZWQgc28gc3VjaCBhIGZvbGRlciBpcyBzaW1wbHlcbiAqIHNraXBwZWQgYW5kIHJldHJpZWQgb24gYSBsYXRlciBvcGVuLlxuICovXG5mdW5jdGlvbiBjbGVhbnVwT3JwaGFuZWRFeHRyYWN0ZWRWYXVsdHMoKTogdm9pZCB7XG4gIGNvbnN0IGV4dHJhY3RlZFZhdWx0c1Jvb3QgPSBqb2luKHRtcGRpcigpLCBERU1PX1ZBVUxUU19DQUNIRV9GT0xERVIsIEVYVFJBQ1RFRF9WQVVMVFNfU1VCRk9MREVSKTtcbiAgaWYgKCFleGlzdHNTeW5jKGV4dHJhY3RlZFZhdWx0c1Jvb3QpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgZm9yIChjb25zdCBlbnRyeU5hbWUgb2YgcmVhZGRpclN5bmMoZXh0cmFjdGVkVmF1bHRzUm9vdCkpIHtcbiAgICBjb25zdCBlbnRyeVBhdGggPSBqb2luKGV4dHJhY3RlZFZhdWx0c1Jvb3QsIGVudHJ5TmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXRzID0gc3RhdFN5bmMoZW50cnlQYXRoKTtcbiAgICAgIGlmIChub3cgLSBzdGF0cy5tdGltZU1zIDwgT1JQSEFORURfRVhUUkFDVEVEX1ZBVUxUX01BWF9BR0VfSU5fTUlMTElTRUNPTkRTKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgcm1TeW5jKGVudHJ5UGF0aCwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gQmVzdC1lZmZvcnQgY2xlYW51cDogYW4gb3JwaGFuIHdob3NlIHZhdWx0IGlzIHN0aWxsIG9wZW4gKGxvY2tlZCBvbiBXaW5kb3dzKSBjYW5ub3QgYmUgcmVtb3ZlZDsgc2tpcCBpdCBhbmQgcmV0cnkgb24gYSBsYXRlciBvcGVuLlxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEV4dHJhY3RzIGEgZG93bmxvYWRlZCBkZW1vLXZhdWx0IGFyY2hpdmUgdG8gZGlzay5cbiAqXG4gKiBFeHRyYWN0aW9uIGlzIHdyaXR0ZW4gd2l0aCBFbGVjdHJvbidzIGBvcmlnaW5hbC1mc2Ag4oCUIHRoZSByZWFsIGBmc2Agd2l0aCBhc2FyIGludGVyY2VwdGlvbiBkaXNhYmxlZCDigJRcbiAqIHJhdGhlciB0aGFuIHdpdGggYG5vZGU6ZnNgLiBBIGRlbW8gdmF1bHQgbWF5IHNoaXAgYSBmaWxlIHRoYXQgbWVyZWx5IExPT0tTIGxpa2UgYW4gRWxlY3Ryb24gYXJjaGl2ZVxuICogKGUuZy4gYF9hc3NldHMvQ29kZVNjcmlwdFRvb2xraXQvbW9kdWxlLmFzYXJgIGRlbW9uc3RyYXRpbmcgdGhlIEFTQVIgcmVxdWlyZSBmZWF0dXJlKSwgYW5kIEVsZWN0cm9uJ3NcbiAqIGFzYXIgbGF5ZXIgaW50ZXJjZXB0cyBgZnNgIG9wZXJhdGlvbnMgb24gYW55IHBhdGggY29udGFpbmluZyBgLmFzYXJgLCB0cmVhdGluZyBpdCBhcyBhbiBhcmNoaXZlIHJvb3RcbiAqIHJhdGhlciB0aGFuIGEgcGxhaW4gZmlsZS4gVGhhdCBhbHJlYWR5IGNvc3Qgb25lIHByb2R1Y3Rpb24gYnVnIHdoZW4gdGhlIGV4dHJhY3RvciBgY2htb2RgLWVkIHN1Y2ggYVxuICogZmlsZSBhbmQgZ290IGBFTk9FTlRgOyBub3RoaW5nIGBjaG1vZGBzIGFueSBtb3JlLCBidXQgd3JpdGluZyB0aG9zZSBieXRlcyB0aHJvdWdoIHRoZSBjb3B5IHRoYXQgaGFzIG5vXG4gKiBhc2FyIGxheWVyIGNvc3RzIG5vdGhpbmcgYW5kIGtlZXBzIHRoZSB3aG9sZSBjbGFzcyBvZiBmYWlsdXJlIG9mZiB0aGlzIHBhdGguIGBvcmlnaW5hbC1mc2AgaXMgYSBkZXNrdG9wLW9ubHlcbiAqIEVsZWN0cm9uIG1vZHVsZSB3aXRoIG5vIGJ1bmRsZWQgdHlwZXMsIHNvIGl0IGlzIGxvYWRlZCB2aWEgYHdpbmRvdy5yZXF1aXJlYCBhbmQgdHlwZWQgYXMgYG5vZGU6ZnNgJ3NcbiAqIHNoYXBlLlxuICpcbiAqIEBwYXJhbSBhcmNoaXZlIC0gVGhlIHJhdyB6aXAgYXJjaGl2ZSBieXRlcy5cbiAqIEBwYXJhbSB0YXJnZXREaXJlY3RvcnkgLSBUaGUgZGlyZWN0b3J5IHRvIGV4dHJhY3QgaW50by5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdERlbW9WYXVsdEFyY2hpdmUoYXJjaGl2ZTogQnVmZmVyLCB0YXJnZXREaXJlY3Rvcnk6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBvcmlnaW5hbEZzID0gd2luZG93LnJlcXVpcmUoJ25vZGU6b3JpZ2luYWwtZnMnKSBhcyB0eXBlb2YgaW1wb3J0KCdub2RlOmZzJyk7XG4gIGV4dHJhY3RaaXBBcmNoaXZlKHtcbiAgICBhcmNoaXZlLFxuICAgIGZpbGVTeXN0ZW06IG9yaWdpbmFsRnMsXG4gICAgdGFyZ2V0RGlyZWN0b3J5XG4gIH0pO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSBhcmNoaXZlIGludG8gYSBmcmVzaCwgdW5pcXVlbHktbmFtZWQgdGVtcG9yYXJ5IGZvbGRlciBhbmQgcmV0dXJucyB0aGUgdmF1bHQgcGF0aC5cbiAqXG4gKiBBIHVuaXF1ZSBwYXJlbnQgZm9sZGVyIChgbWtkdGVtcFN5bmNgKSBndWFyYW50ZWVzIGEgYnJhbmQtbmV3IGV4dHJhY3Rpb24gZXZlcnkgdGltZSDigJQgdGhlIGRlbW8gdmF1bHRcbiAqIGlzIG5ldmVyIHJldXNlZCBhY3Jvc3Mgb3BlbnMsIHNvIGEgcHJldmlvdXMgc2Vzc2lvbidzIGVkaXRzIG5ldmVyIGxlYWsgaW4uIFRoZSBhcmNoaXZlIGlzIGV4dHJhY3RlZFxuICogaW50byB0aGF0IHBhcmVudCBhbmQgdGhlIHZhdWx0IGlzIHRoZSBzaW5nbGUgYDxwbHVnaW4taWQ+LWRlbW8tdmF1bHQtPHZlcnNpb24+YCBmb2xkZXIgaXQgY29udGFpbnMsIHNvXG4gKiBPYnNpZGlhbidzIHZhdWx0IHN3aXRjaGVyIHNob3dzIGEgZnJpZW5kbHkgbmFtZSAoaXRzIGJhc2VuYW1lKSByYXRoZXIgdGhhbiB0aGUgcmFuZG9tIHRlbXAgaWQuXG4gKlxuICogVGhhdCBmb2xkZXIgaXMgbm90IHNlYXJjaGVkIGZvcjoge0BsaW5rIGdldERlbW9WYXVsdEZvbGRlck5hbWV9IG5hbWVzIGl0IG9uIGJvdGggc2lkZXMsIHNvIHRoZSBwYXRoIGlzXG4gKiBrbm93biBiZWZvcmUgYSBieXRlIGlzIHdyaXR0ZW4uIFdoaWNoIGtlZXBzIHRoZSBleHRyYWN0b3IgZnJlZSBvZiBhbnkgcmVhZCDigJQgZGVsaWJlcmF0ZSwgYmVjYXVzZVxuICogRWxlY3Ryb24ncyBhc2FyIGxheWVyIGludGVyY2VwdHMgYGZzYCByZWFkcyBvbiBhbnkgcGF0aCBjb250YWluaW5nIGAuYXNhcmAsIGFuZCBhIGRlbW8gdmF1bHQgbWF5XG4gKiBsZWdpdGltYXRlbHkgc2hpcCBzdWNoIGEgZmlsZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBFeHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlclBhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgZnJlc2hseSBleHRyYWN0ZWQgdmF1bHQgZm9sZGVyLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RGVtb1ZhdWx0VG9GcmVzaEZvbGRlcihwYXJhbXM6IEV4dHJhY3REZW1vVmF1bHRUb0ZyZXNoRm9sZGVyUGFyYW1zKTogc3RyaW5nIHtcbiAgY29uc3QgeyBhcmNoaXZlLCBwbHVnaW5JZCwgdmVyc2lvbiB9ID0gcGFyYW1zO1xuICBjb25zdCBleHRyYWN0ZWRWYXVsdHNSb290ID0gam9pbih0bXBkaXIoKSwgREVNT19WQVVMVFNfQ0FDSEVfRk9MREVSLCBFWFRSQUNURURfVkFVTFRTX1NVQkZPTERFUik7XG4gIG1rZGlyU3luYyhleHRyYWN0ZWRWYXVsdHNSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgdW5pcXVlUGFyZW50RGlyZWN0b3J5ID0gbWtkdGVtcFN5bmMoam9pbihleHRyYWN0ZWRWYXVsdHNSb290LCBgJHtwbHVnaW5JZH0tJHt2ZXJzaW9ufS1gKSk7XG4gIGV4dHJhY3REZW1vVmF1bHRBcmNoaXZlKGFyY2hpdmUsIHVuaXF1ZVBhcmVudERpcmVjdG9yeSk7XG4gIHJldHVybiBqb2luKFxuICAgIHVuaXF1ZVBhcmVudERpcmVjdG9yeSxcbiAgICBnZXREZW1vVmF1bHRGb2xkZXJOYW1lKHtcbiAgICAgIHBsdWdpbklkLFxuICAgICAgdmVyc2lvblxuICAgIH0pXG4gICk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGRlbW8tdmF1bHQgYXJjaGl2ZSBieXRlcyBmb3IgYSB2ZXJzaW9uLCBkb3dubG9hZGluZyBhbmQgY2FjaGluZyB0aGVtIG9uIGZpcnN0IHVzZS5cbiAqXG4gKiBPbmx5IHRoZSBhcmNoaXZlIGlzIGNhY2hlZCAoa2V5ZWQgYnkgcGx1Z2luIGlkICsgdmVyc2lvbik7IHRoZSBleHRyYWN0ZWQgdmF1bHQgaXMgbm90LiBBIGNhY2hlIGhpdCBpc1xuICogcmV0dXJuZWQgd2l0aG91dCBhbnkgbmV0d29yayByZXF1ZXN0OyBhIG1pc3MgZG93bmxvYWRzIHRoZSByZWxlYXNlIGFzc2V0LCB3cml0ZXMgaXQgdG8gdGhlIGFyY2hpdmVcbiAqIGNhY2hlLCBhbmQgcmV0dXJucyB0aGUgZnJlc2hseSBkb3dubG9hZGVkIGJ5dGVzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHJlc29sdmluZyB0byB0aGUgYXJjaGl2ZSBieXRlcywgb3IgYG51bGxgIHdoZW4gbm8gYXJjaGl2ZSBpcyBhdmFpbGFibGUgZm9yXG4gKiB0aGUgdmVyc2lvbiAoYSBub3RpY2UgaGFzIGJlZW4gc2hvd24pLlxuICovXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlRGVtb1ZhdWx0QXJjaGl2ZShwYXJhbXM6IFJlc29sdmVEZW1vVmF1bHRBcmNoaXZlUGFyYW1zKTogUHJvbWlzZTxCdWZmZXIgfCBudWxsPiB7XG4gIGNvbnN0IHtcbiAgICBwbHVnaW5JZCxcbiAgICBwbHVnaW5OYW1lLFxuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgICBwcm9ncmVzc05vdGljZSxcbiAgICByZXBvLFxuICAgIHZlcnNpb25cbiAgfSA9IHBhcmFtcztcblxuICBjb25zdCBhcmNoaXZlc0RpcmVjdG9yeSA9IGpvaW4odG1wZGlyKCksIERFTU9fVkFVTFRTX0NBQ0hFX0ZPTERFUiwgQVJDSElWRVNfU1VCRk9MREVSKTtcbiAgY29uc3QgYXJjaGl2ZVBhdGggPSBqb2luKGFyY2hpdmVzRGlyZWN0b3J5LCBgJHtwbHVnaW5JZH0tJHt2ZXJzaW9ufS56aXBgKTtcbiAgaWYgKGV4aXN0c1N5bmMoYXJjaGl2ZVBhdGgpKSB7XG4gICAgcmV0dXJuIHJlYWRGaWxlU3luYyhhcmNoaXZlUGF0aCk7XG4gIH1cblxuICBwcm9ncmVzc05vdGljZS5zZXRDb250ZW50KGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYERvd25sb2FkaW5nIGRlbW8gdmF1bHQgZm9yICR7YXNDb2RlQmxvY2socGx1Z2luTmFtZSl9IHYke3ZlcnNpb2594oCmYCkpO1xuICBjb25zdCBhc3NldFVybCA9IGBodHRwczovL2dpdGh1Yi5jb20vJHtyZXBvfS9yZWxlYXNlcy9kb3dubG9hZC8ke3ZlcnNpb259LyR7Z2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lKHBsdWdpbklkKX1gO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RVcmwoe1xuICAgIHRocm93OiBmYWxzZSxcbiAgICB1cmw6IGFzc2V0VXJsXG4gIH0pO1xuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSBIVFRQX1NUQVRVU19PSykge1xuICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3MoYE5vIGRlbW8gdmF1bHQgaXMgYXZhaWxhYmxlIGZvciBwbHVnaW4gJHthc0NvZGVCbG9jayhwbHVnaW5OYW1lKX0gdiR7dmVyc2lvbn0uYCkpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgYXJjaGl2ZSA9IEJ1ZmZlci5mcm9tKHJlc3BvbnNlLmFycmF5QnVmZmVyKTtcbiAgbWtkaXJTeW5jKGFyY2hpdmVzRGlyZWN0b3J5LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgd3JpdGVGaWxlU3luYyhhcmNoaXZlUGF0aCwgYXJjaGl2ZSk7XG4gIHJldHVybiBhcmNoaXZlO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQ0EsbUNBQWtDO0FBQ2xDLGtCQUFxQjtBQUNyQiw4QkFBZ0M7QUFDaEMseUJBQXVCO0FBQ3ZCLHFCQVNPO0FBQ1AscUJBQXVCO0FBQ3ZCLHNCQUEyQjtBQU8zQiwrQkFHTztBQUNQLHFDQUFpQztBQUNqQywrQkFHTztBQUNQLDBCQUdPO0FBQ1AsMkJBQTZCO0FBaUQ3QixNQUFNLDJCQUEyQjtBQUNqQyxNQUFNLHFCQUFxQjtBQUMzQixNQUFNLDZCQUE2QjtBQUNuQyxNQUFNLGlCQUFpQjtBQUV2QixNQUFNLG1EQUFtRDtBQWV6RCxlQUFzQixjQUFjLFFBQTRDO0FBZTlFO0FBQUE7QUFkQSxVQUFNO0FBQUEsTUFDSjtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUNGLElBQUk7QUFRSixVQUFNLGlCQUFpQixzQ0FBc0IscUJBQXFCO0FBQUEsTUFDaEUsYUFBUyxrREFBNkIsOEJBQTBCLGlDQUFZLFVBQVUsQ0FBQyxRQUFHO0FBQUEsTUFDMUYscUJBQXFCO0FBQUEsTUFDckIsTUFBTSxnREFBaUI7QUFBQSxJQUN6QixDQUFDO0FBRUQsVUFBTSxPQUFPLFVBQU0saURBQXVCLFFBQVE7QUFDbEQsUUFBSSxDQUFDLE1BQU07QUFDVCw0QkFBc0IsZUFBVyxrREFBNkIsNkJBQXlCLGlDQUFZLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQztBQUNwSjtBQUFBLElBQ0Y7QUFFQSxVQUFNLGlCQUFpQjtBQUN2QixVQUFNLGdCQUFnQixVQUFNLGtEQUF3QixJQUFJO0FBRXhELFFBQUk7QUFDSixZQUFJLHlDQUFnQixnQkFBZ0IsYUFBYSxLQUFLLEdBQUc7QUFDdkQsc0JBQWdCO0FBQUEsSUFDbEIsT0FBTztBQUNMLFlBQU0sZ0JBQWdCLFVBQU0sbUNBQTRCO0FBQUEsUUFDdEQ7QUFBQSxRQUNBLGFBQVMsa0RBQTZCLGlDQUE2QixpQ0FBWSxVQUFVLENBQUMsS0FBSyxjQUFjLHdCQUF3QixhQUFhLEdBQUc7QUFBQSxRQUNySixTQUFTO0FBQUEsVUFDUDtBQUFBLFlBQ0UsT0FBTztBQUFBLFlBQ1AsTUFBTSx3Q0FBd0MsYUFBYTtBQUFBLFlBQzNELE9BQU87QUFBQSxVQUNUO0FBQUEsVUFDQTtBQUFBLFlBQ0UsTUFBTSx5Q0FBeUMsY0FBYztBQUFBLFlBQzdELE9BQU87QUFBQSxVQUNUO0FBQUEsVUFDQTtBQUFBLFlBQ0UsTUFBTTtBQUFBLFlBQ04sT0FBTztBQUFBLFVBQ1Q7QUFBQSxRQUNGO0FBQUEsUUFDQSxXQUFPLHNEQUE2QixpQ0FBWSxVQUFVLENBQUM7QUFBQSxNQUM3RCxDQUFDO0FBQ0QsVUFBSSxrQkFBa0IsTUFBTTtBQUMxQjtBQUFBLE1BQ0Y7QUFDQSxzQkFBZ0I7QUFBQSxJQUNsQjtBQUVBLFVBQU0sVUFBVSxNQUFNLHdCQUF3QjtBQUFBLE1BQzVDO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0EsU0FBUztBQUFBLElBQ1gsQ0FBQztBQUNELFFBQUksQ0FBQyxTQUFTO0FBQ1o7QUFBQSxJQUNGO0FBRUEsbUJBQWUsZUFBVyxrREFBNkIsaUNBQTZCLGlDQUFZLFVBQVUsQ0FBQyxLQUFLLGFBQWEsUUFBRyxDQUFDO0FBQ2pJLG1DQUErQjtBQUMvQixVQUFNLGlCQUFpQiw4QkFBOEI7QUFBQSxNQUNuRDtBQUFBLE1BQ0E7QUFBQSxNQUNBLFNBQVM7QUFBQSxJQUNYLENBQUM7QUFFRCxXQUFPLFNBQVMsWUFBWSxTQUFTLGNBQWMsZ0JBQWdCLEtBQUs7QUFBQSxXQWpFeEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWtFRjtBQVdBLFNBQVMsaUNBQXVDO0FBQzlDLFFBQU0sMEJBQXNCLHNCQUFLLHVCQUFPLEdBQUcsMEJBQTBCLDBCQUEwQjtBQUMvRixNQUFJLEtBQUMsMkJBQVcsbUJBQW1CLEdBQUc7QUFDcEM7QUFBQSxFQUNGO0FBRUEsUUFBTSxNQUFNLEtBQUssSUFBSTtBQUNyQixhQUFXLGlCQUFhLDRCQUFZLG1CQUFtQixHQUFHO0FBQ3hELFVBQU0sZ0JBQVksa0JBQUsscUJBQXFCLFNBQVM7QUFDckQsUUFBSTtBQUNGLFlBQU0sWUFBUSx5QkFBUyxTQUFTO0FBQ2hDLFVBQUksTUFBTSxNQUFNLFVBQVUsa0RBQWtEO0FBQzFFO0FBQUEsTUFDRjtBQUNBLGlDQUFPLFdBQVcsRUFBRSxPQUFPLE1BQU0sV0FBVyxLQUFLLENBQUM7QUFBQSxJQUNwRCxRQUFRO0FBQUEsSUFFUjtBQUFBLEVBQ0Y7QUFDRjtBQWtCQSxTQUFTLHdCQUF3QixTQUFpQixpQkFBK0I7QUFDL0UsUUFBTSxhQUFhLE9BQU8sUUFBUSxrQkFBa0I7QUFDcEQsc0RBQWtCO0FBQUEsSUFDaEI7QUFBQSxJQUNBLFlBQVk7QUFBQSxJQUNaO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFrQkEsU0FBUyw4QkFBOEIsUUFBcUQ7QUFDMUYsUUFBTSxFQUFFLFNBQVMsVUFBVSxRQUFRLElBQUk7QUFDdkMsUUFBTSwwQkFBc0Isc0JBQUssdUJBQU8sR0FBRywwQkFBMEIsMEJBQTBCO0FBQy9GLGdDQUFVLHFCQUFxQixFQUFFLFdBQVcsS0FBSyxDQUFDO0FBQ2xELFFBQU0sNEJBQXdCLGdDQUFZLGtCQUFLLHFCQUFxQixHQUFHLFFBQVEsSUFBSSxPQUFPLEdBQUcsQ0FBQztBQUM5RiwwQkFBd0IsU0FBUyxxQkFBcUI7QUFDdEQsYUFBTztBQUFBLElBQ0w7QUFBQSxRQUNBLGlEQUF1QjtBQUFBLE1BQ3JCO0FBQUEsTUFDQTtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0g7QUFDRjtBQWFBLGVBQWUsd0JBQXdCLFFBQStEO0FBQ3BHLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixRQUFNLHdCQUFvQixzQkFBSyx1QkFBTyxHQUFHLDBCQUEwQixrQkFBa0I7QUFDckYsUUFBTSxrQkFBYyxrQkFBSyxtQkFBbUIsR0FBRyxRQUFRLElBQUksT0FBTyxNQUFNO0FBQ3hFLFVBQUksMkJBQVcsV0FBVyxHQUFHO0FBQzNCLGVBQU8sNkJBQWEsV0FBVztBQUFBLEVBQ2pDO0FBRUEsaUJBQWUsZUFBVyxrREFBNkIsa0NBQThCLGlDQUFZLFVBQVUsQ0FBQyxLQUFLLE9BQU8sUUFBRyxDQUFDO0FBQzVILFFBQU0sV0FBVyxzQkFBc0IsSUFBSSxzQkFBc0IsT0FBTyxRQUFJLHNEQUE0QixRQUFRLENBQUM7QUFDakgsUUFBTSxXQUFXLFVBQU0sNEJBQVc7QUFBQSxJQUNoQyxPQUFPO0FBQUEsSUFDUCxLQUFLO0FBQUEsRUFDUCxDQUFDO0FBQ0QsTUFBSSxTQUFTLFdBQVcsZ0JBQWdCO0FBQ3RDLDBCQUFzQixlQUFXLGtEQUE2Qiw2Q0FBeUMsaUNBQVksVUFBVSxDQUFDLEtBQUssT0FBTyxHQUFHLENBQUM7QUFDOUksV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFVBQVUsMEJBQU8sS0FBSyxTQUFTLFdBQVc7QUFDaEQsZ0NBQVUsbUJBQW1CLEVBQUUsV0FBVyxLQUFLLENBQUM7QUFDaEQsb0NBQWMsYUFBYSxPQUFPO0FBQ2xDLFNBQU87QUFDVDsiLCJuYW1lcyI6W119
@@ -1,4 +1,4 @@
1
- /// <reference path="./library.d.cts" />
1
+ /// <reference path="./library-references.d.cts" />
2
2
  /**
3
3
  * @file
4
4
  *