@mnaoumov/obsidian-lib 10.12.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/worker-component/package.json +6 -0
- package/components/worker-pool-component/package.json +6 -0
- package/dist/lib/cjs/__merged.cjs +409 -292
- package/dist/lib/cjs/__merged.d.cts +17 -8
- package/dist/lib/cjs/anchored-suggest.cjs +1 -1
- package/dist/lib/cjs/app.cjs +2 -2
- package/dist/lib/cjs/async-with-notice.cjs +4 -4
- package/dist/lib/cjs/attachment-path.cjs +9 -9
- package/dist/lib/cjs/attachment-path.d.cts +3 -3
- package/dist/lib/cjs/attachment-unit-folder.cjs +2 -2
- package/dist/lib/cjs/backlink-index.cjs +5 -5
- package/dist/lib/cjs/backlink.cjs +7 -7
- package/dist/lib/cjs/bases-view-registrar.cjs +1 -1
- package/dist/lib/cjs/broken-link-candidates.cjs +1 -1
- package/dist/lib/cjs/bug-report.cjs +3 -3
- package/dist/lib/cjs/bulk-operation-progress.cjs +1 -1
- package/dist/lib/cjs/bulk-operation.cjs +2 -2
- package/dist/lib/cjs/callout.cjs +6 -6
- package/dist/lib/cjs/canvas.cjs +11 -9
- package/dist/lib/cjs/canvas.d.cts +13 -0
- package/dist/lib/cjs/case-insensitive-file-index.cjs +3 -3
- package/dist/lib/cjs/code-block-render-handoff.cjs +5 -5
- package/dist/lib/cjs/codemirror/editor-mode-extension.cjs +4 -4
- package/dist/lib/cjs/codemirror/incremental-parse-state-field.cjs +2 -2
- package/dist/lib/cjs/codemirror/index.cjs +7 -7
- package/dist/lib/cjs/codemirror/inline-token-widgets.cjs +5 -5
- package/dist/lib/cjs/codemirror/markdown-editor-views.cjs +2 -2
- package/dist/lib/cjs/codemirror/settings-facet.cjs +1 -1
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +17 -17
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +13 -13
- package/dist/lib/cjs/command-handlers/command-handler-component.cjs +2 -2
- package/dist/lib/cjs/command-handlers/command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +10 -10
- package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +7 -7
- package/dist/lib/cjs/command-handlers/file-command-handler.cjs +3 -3
- package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +3 -3
- package/dist/lib/cjs/command-handlers/global-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/index.cjs +15 -15
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.cjs +6 -6
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/open-discussion-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/open-feature-request-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/open-git-hub-command-handler.cjs +1 -1
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/undo-bulk-operation-command-handler.cjs +2 -2
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +1 -1
- package/dist/lib/cjs/community-plugins.cjs +3 -3
- package/dist/lib/cjs/components/abort-signal-component.cjs +2 -2
- package/dist/lib/cjs/components/all-windows-event-component.cjs +5 -5
- package/dist/lib/cjs/components/all-windows-status-bar-item-component.cjs +3 -3
- package/dist/lib/cjs/components/async-error-handler-component.cjs +5 -5
- package/dist/lib/cjs/components/async-events-component.cjs +1 -1
- package/dist/lib/cjs/components/bulk-operation-commit-component.cjs +12 -12
- package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +2 -2
- package/dist/lib/cjs/components/component-ex.cjs +21 -11
- package/dist/lib/cjs/components/component-ex.d.cts +11 -0
- package/dist/lib/cjs/components/console-debug-component.cjs +2 -2
- package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +2 -2
- package/dist/lib/cjs/components/disposable-component.cjs +2 -2
- package/dist/lib/cjs/components/embed-extensions-component.cjs +1 -1
- package/dist/lib/cjs/components/embeddable-markdown-editor-component.cjs +8 -8
- package/dist/lib/cjs/components/file-explorer-root-menu-component.cjs +7 -7
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +2 -2
- package/dist/lib/cjs/components/incremental-file-index-component.cjs +4 -4
- package/dist/lib/cjs/components/index.cjs +46 -40
- package/dist/lib/cjs/components/index.d.cts +2 -0
- package/dist/lib/cjs/components/layout-ready-component.cjs +3 -3
- package/dist/lib/cjs/components/menu-event-registrar-component.cjs +2 -2
- package/dist/lib/cjs/components/monkey-around-component.cjs +3 -3
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +5 -5
- package/dist/lib/cjs/components/plugin-context-component.cjs +5 -5
- package/dist/lib/cjs/components/plugin-gate-component.cjs +68 -28
- package/dist/lib/cjs/components/plugin-gate-component.d.cts +36 -13
- package/dist/lib/cjs/components/plugin-notice-component.cjs +39 -33
- package/dist/lib/cjs/components/plugin-notice-component.d.cts +4 -3
- package/dist/lib/cjs/components/plugin-settings-component.cjs +113 -17
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +35 -5
- package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +2 -2
- package/dist/lib/cjs/components/plugin-suggestion-component.cjs +8 -8
- package/dist/lib/cjs/components/pointer-position-component.cjs +2 -2
- package/dist/lib/cjs/components/reconfigurable-editor-extension-component.cjs +3 -3
- package/dist/lib/cjs/components/registry-component.cjs +2 -2
- package/dist/lib/cjs/components/release-notes-component.cjs +6 -6
- package/dist/lib/cjs/components/rename-delete-handler-component.cjs +25 -25
- package/dist/lib/cjs/components/rmdir-guard-component.cjs +2 -2
- package/dist/lib/cjs/components/settings-facet-component.cjs +1 -1
- package/dist/lib/cjs/components/settings-migration-component.cjs +5 -5
- package/dist/lib/cjs/components/shared-component-pool-component.cjs +6 -6
- package/dist/lib/cjs/components/style-sheet-component.cjs +3 -3
- package/dist/lib/cjs/components/syntax-highlighting-component.cjs +3 -3
- package/dist/lib/cjs/components/templates-language-component.cjs +1 -1
- package/dist/lib/cjs/components/worker-component.cjs +363 -0
- package/dist/lib/cjs/components/worker-component.d.cts +156 -0
- package/dist/lib/cjs/components/worker-pool-component.cjs +185 -0
- package/dist/lib/cjs/components/worker-pool-component.d.cts +102 -0
- package/dist/lib/cjs/components/workspace-layout-state-component.cjs +7 -7
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +5 -5
- package/dist/lib/cjs/constructors/index.cjs +1 -1
- package/dist/lib/cjs/data-handler.cjs +111 -4
- package/dist/lib/cjs/data-handler.d.cts +92 -1
- package/dist/lib/cjs/data-stores/data-store-locations.cjs +82 -24
- package/dist/lib/cjs/data-stores/data-store-locations.d.cts +15 -0
- package/dist/lib/cjs/data-stores/data-store-replica.cjs +33 -5
- package/dist/lib/cjs/data-stores/data-store-seeds.cjs +6 -6
- package/dist/lib/cjs/data-stores/data-store-seeds.d.cts +2 -2
- package/dist/lib/cjs/data-stores/data-store-transport.cjs +81 -8
- package/dist/lib/cjs/data-stores/data-store-transport.d.cts +30 -1
- package/dist/lib/cjs/data-stores/index.cjs +6 -6
- package/dist/lib/cjs/data-stores/local-data-store.cjs +74 -10
- package/dist/lib/cjs/data-stores/local-data-store.d.cts +58 -1
- package/dist/lib/cjs/data-stores/shared-data-store.cjs +76 -19
- package/dist/lib/cjs/data-stores/shared-data-store.d.cts +18 -1
- package/dist/lib/cjs/dataview-link.cjs +2 -2
- package/dist/lib/cjs/dataview.cjs +27 -7
- package/dist/lib/cjs/dataview.d.cts +14 -0
- package/dist/lib/cjs/debug.cjs +3 -3
- package/dist/lib/cjs/demo-vault-helper.cjs +34 -6
- package/dist/lib/cjs/demo-vault-helper.d.cts +6 -2
- package/dist/lib/cjs/desktop-bulk-operation-git.cjs +10 -10
- package/dist/lib/cjs/desktop-demo-vault-opener.cjs +13 -13
- package/dist/lib/cjs/desktop-git-runner.cjs +2 -2
- package/dist/lib/cjs/desktop-operating-system.cjs +1 -1
- package/dist/lib/cjs/desktop-request-url-stream.cjs +8 -14
- package/dist/lib/cjs/desktop-trusted-input.cjs +2 -2
- package/dist/lib/cjs/disposable.cjs +150 -0
- package/dist/lib/cjs/disposable.d.cts +39 -0
- package/dist/lib/cjs/editor-extension-registrar.cjs +1 -1
- package/dist/lib/cjs/editor-suggest-registrar.cjs +2 -2
- package/dist/lib/cjs/editor-suggest.cjs +1 -1
- package/dist/lib/cjs/editor.cjs +6 -6
- package/dist/lib/cjs/events.cjs +2 -2
- package/dist/lib/cjs/extensions-registrar.cjs +1 -1
- package/dist/lib/cjs/feature-request.cjs +1 -1
- package/dist/lib/cjs/file-change.cjs +10 -10
- package/dist/lib/cjs/file-explorer.cjs +2 -2
- package/dist/lib/cjs/file-manager.cjs +5 -5
- package/dist/lib/cjs/file-system.cjs +10 -10
- package/dist/lib/cjs/folder-note.cjs +4 -4
- package/dist/lib/cjs/frontmatter-formatting.cjs +7 -6
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +1 -1
- package/dist/lib/cjs/frontmatter.cjs +5 -5
- package/dist/lib/cjs/generated-during-build.cjs +1 -1
- package/dist/lib/cjs/hotkey.cjs +1 -1
- package/dist/lib/cjs/hover-link-source-registrar.cjs +1 -1
- package/dist/lib/cjs/html-element.cjs +2 -2
- package/dist/lib/cjs/i18n/custom-type-options.cjs +1 -1
- package/dist/lib/cjs/i18n/default-translations.cjs +1 -1
- package/dist/lib/cjs/i18n/i18n.cjs +7 -7
- package/dist/lib/cjs/i18n/index.cjs +4 -4
- package/dist/lib/cjs/i18n/locales/en.cjs +5 -1
- package/dist/lib/cjs/i18n/locales/en.d.cts +4 -0
- package/dist/lib/cjs/i18n/locales/index.cjs +2 -2
- package/dist/lib/cjs/i18n/locales/translations-map.cjs +1 -1
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +4 -0
- package/dist/lib/cjs/index.cjs +145 -127
- package/dist/lib/cjs/index.d.cts +6 -0
- package/dist/lib/cjs/inline-token-renderer.cjs +2 -2
- package/dist/lib/cjs/is-in-obsidian.cjs +1 -1
- package/dist/lib/cjs/library-styles.cjs +3 -3
- package/dist/lib/cjs/link-and-tag-input-suggest.cjs +2 -2
- package/dist/lib/cjs/link.cjs +76 -56
- package/dist/lib/cjs/link.d.cts +20 -14
- package/dist/lib/cjs/logger.cjs +4 -4
- package/dist/lib/cjs/loop.cjs +10 -16
- package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +17 -2
- package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +7 -0
- package/dist/lib/cjs/markdown-code-block-processor.cjs +13 -13
- package/dist/lib/cjs/markdown-post-processor-registrar.cjs +2 -2
- package/dist/lib/cjs/markdown-view.cjs +3 -3
- package/dist/lib/cjs/markdown.cjs +12 -12
- package/dist/lib/cjs/metadata-cache.cjs +23 -23
- package/dist/lib/cjs/metadata-cache.d.cts +5 -4
- package/dist/lib/cjs/misplaced-attachment.cjs +297 -0
- package/dist/lib/cjs/misplaced-attachment.d.cts +228 -0
- package/dist/lib/cjs/mobile-app-info.cjs +1 -1
- package/dist/lib/cjs/modals/alert.cjs +4 -4
- package/dist/lib/cjs/modals/code-block-builder.cjs +7 -7
- package/dist/lib/cjs/modals/confirm.cjs +4 -4
- package/dist/lib/cjs/modals/copy-text-manually.cjs +4 -4
- package/dist/lib/cjs/modals/index.cjs +12 -12
- package/dist/lib/cjs/modals/minimizable-modal.cjs +6 -6
- package/dist/lib/cjs/modals/modal-command-builder.cjs +3 -3
- package/dist/lib/cjs/modals/modal.cjs +3 -3
- package/dist/lib/cjs/modals/prompt.cjs +10 -10
- package/dist/lib/cjs/modals/prompt.d.cts +1 -1
- package/dist/lib/cjs/modals/review-bug-report-diagnostics.cjs +5 -5
- package/dist/lib/cjs/modals/select-item.cjs +6 -6
- package/dist/lib/cjs/modals/select-option.cjs +3 -3
- package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +1 -1
- package/dist/lib/cjs/note-priority.cjs +2 -2
- package/dist/lib/cjs/notebook-navigator.cjs +12 -2
- package/dist/lib/cjs/notebook-navigator.d.cts +6 -0
- package/dist/lib/cjs/obsidian-lib-state.cjs +1 -1
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +1 -1
- package/dist/lib/cjs/obsidian-settings.cjs +1 -1
- package/dist/lib/cjs/obsidian-word-characters.cjs +1 -1
- package/dist/lib/cjs/parse-link.cjs +14 -14
- package/dist/lib/cjs/path-compatibility.cjs +368 -0
- package/dist/lib/cjs/path-compatibility.d.cts +263 -0
- package/dist/lib/cjs/path-settings.cjs +3 -3
- package/dist/lib/cjs/pdf.cjs +2 -2
- package/dist/lib/cjs/plugin/index.cjs +16 -13
- package/dist/lib/cjs/plugin/index.d.cts +1 -0
- package/dist/lib/cjs/plugin/plugin-api.cjs +8 -8
- package/dist/lib/cjs/plugin/plugin-async-cleanup.cjs +6 -3
- package/dist/lib/cjs/plugin/plugin-async-cleanup.d.cts +5 -0
- package/dist/lib/cjs/plugin/plugin-context.cjs +10 -9
- package/dist/lib/cjs/plugin/plugin-event-source.cjs +1 -1
- package/dist/lib/cjs/plugin/plugin-event-source.d.cts +4 -4
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +4 -4
- package/dist/lib/cjs/plugin/plugin-instance.cjs +14 -12
- package/dist/lib/cjs/plugin/plugin-instance.d.cts +7 -0
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +1 -1
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +6 -4
- package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +15 -15
- package/dist/lib/cjs/plugin/plugin.cjs +118 -34
- package/dist/lib/cjs/plugin/plugin.d.cts +28 -5
- package/dist/lib/cjs/plugin/settings-migration-api.cjs +1 -1
- package/dist/lib/cjs/plugin/third-party-plugin.cjs +231 -0
- package/dist/lib/cjs/plugin/third-party-plugin.d.cts +244 -0
- package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +2 -2
- package/dist/lib/cjs/popovers/field-popover.cjs +4 -4
- package/dist/lib/cjs/popovers/index.cjs +3 -3
- package/dist/lib/cjs/popovers/popover-anchor.cjs +1 -1
- package/dist/lib/cjs/popovers/popover.cjs +5 -5
- package/dist/lib/cjs/queue.cjs +8 -8
- package/dist/lib/cjs/react/app-context.cjs +3 -3
- package/dist/lib/cjs/react/index.cjs +1 -1
- package/dist/lib/cjs/reference-definition.cjs +1 -1
- package/dist/lib/cjs/reference.cjs +3 -3
- package/dist/lib/cjs/release-asset.cjs +5 -5
- package/dist/lib/cjs/rendered-markdown.cjs +4 -4
- package/dist/lib/cjs/request-url.cjs +4 -4
- package/dist/lib/cjs/resource-lock.cjs +46 -42
- package/dist/lib/cjs/resource-lock.d.cts +8 -7
- package/dist/lib/cjs/resource-url.cjs +3 -3
- package/dist/lib/cjs/ribbon-icon-registrar.cjs +1 -1
- package/dist/lib/cjs/setting-components/checkbox-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +7 -7
- package/dist/lib/cjs/setting-components/date-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/date-time-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/email-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/file-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/folder-list-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/hotkey-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/index.cjs +30 -30
- package/dist/lib/cjs/setting-components/list-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/month-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/multiple-email-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/multiple-file-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/multiple-text-component.cjs +9 -6
- package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +4 -1
- package/dist/lib/cjs/setting-components/number-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/password-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +3 -3
- package/dist/lib/cjs/setting-components/tag-list-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/telephone-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/text-based-component.cjs +1 -1
- package/dist/lib/cjs/setting-components/time-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +1 -1
- package/dist/lib/cjs/setting-components/typed-text-component.cjs +3 -3
- package/dist/lib/cjs/setting-components/url-component.cjs +2 -2
- package/dist/lib/cjs/setting-components/validator-component.cjs +4 -4
- package/dist/lib/cjs/setting-components/week-component.cjs +4 -4
- package/dist/lib/cjs/setting-ex.cjs +26 -26
- package/dist/lib/cjs/setting-group-ex.cjs +2 -2
- package/dist/lib/cjs/settings-recovery.cjs +217 -0
- package/dist/lib/cjs/settings-recovery.d.cts +178 -0
- package/dist/lib/cjs/settings-tabs.cjs +5 -5
- package/dist/lib/cjs/status-bar-item-registrar.cjs +1 -1
- package/dist/lib/cjs/templater.cjs +14 -4
- package/dist/lib/cjs/templater.d.cts +6 -0
- package/dist/lib/cjs/transformers/duration-transformer.cjs +2 -2
- package/dist/lib/cjs/transformers/index.cjs +1 -1
- package/dist/lib/cjs/trusted-input.cjs +1 -1
- package/dist/lib/cjs/validation.cjs +4 -4
- package/dist/lib/cjs/vault-delete.cjs +6 -6
- package/dist/lib/cjs/vault-transaction.cjs +5 -5
- package/dist/lib/cjs/vault.cjs +12 -12
- package/dist/lib/cjs/view-registrar.cjs +1 -1
- package/dist/lib/cjs/virtual-file.cjs +16 -14
- package/dist/lib/cjs/virtual-file.d.cts +2 -1
- package/dist/lib/cjs/wasm.cjs +119 -0
- package/dist/lib/cjs/wasm.d.cts +54 -0
- package/dist/lib/cjs/worker-protocol.cjs +209 -0
- package/dist/lib/cjs/worker-protocol.d.cts +282 -0
- package/dist/lib/cjs/workspace.cjs +1 -1
- package/dist/lib/esm/__merged.d.mts +17 -8
- package/dist/lib/esm/__merged.mjs +133 -3
- package/dist/lib/esm/app.mjs +2 -2
- package/dist/lib/esm/attachment-path.d.mts +3 -3
- package/dist/lib/esm/attachment-path.mjs +2 -2
- package/dist/lib/esm/backlink-index.mjs +2 -2
- package/dist/lib/esm/canvas.d.mts +13 -0
- package/dist/lib/esm/canvas.mjs +6 -5
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +13 -13
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +14 -14
- package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +7 -7
- package/dist/lib/esm/command-handlers/editor-command-handler.mjs +8 -8
- package/dist/lib/esm/components/component-ex.d.mts +11 -0
- package/dist/lib/esm/components/component-ex.mjs +19 -6
- package/dist/lib/esm/components/disposable-component.mjs +1 -1
- package/dist/lib/esm/components/index.d.mts +2 -0
- package/dist/lib/esm/components/index.mjs +5 -1
- package/dist/lib/esm/components/plugin-gate-component.d.mts +36 -13
- package/dist/lib/esm/components/plugin-gate-component.mjs +57 -14
- package/dist/lib/esm/components/plugin-notice-component.d.mts +4 -3
- package/dist/lib/esm/components/plugin-notice-component.mjs +30 -21
- package/dist/lib/esm/components/plugin-settings-component.d.mts +35 -5
- package/dist/lib/esm/components/plugin-settings-component.mjs +99 -3
- package/dist/lib/esm/components/rename-delete-handler-component.mjs +2 -2
- package/dist/lib/esm/components/worker-component.d.mts +156 -0
- package/dist/lib/esm/components/worker-component.mjs +279 -0
- package/dist/lib/esm/components/worker-pool-component.d.mts +102 -0
- package/dist/lib/esm/components/worker-pool-component.mjs +95 -0
- package/dist/lib/esm/components/workspace-layout-state-component.mjs +1 -1
- package/dist/lib/esm/data-handler.d.mts +92 -1
- package/dist/lib/esm/data-handler.mjs +112 -3
- package/dist/lib/esm/data-stores/data-store-locations.d.mts +15 -0
- package/dist/lib/esm/data-stores/data-store-locations.mjs +80 -22
- package/dist/lib/esm/data-stores/data-store-replica.mjs +33 -5
- package/dist/lib/esm/data-stores/data-store-seeds.d.mts +2 -2
- package/dist/lib/esm/data-stores/data-store-seeds.mjs +4 -4
- package/dist/lib/esm/data-stores/data-store-transport.d.mts +30 -1
- package/dist/lib/esm/data-stores/data-store-transport.mjs +78 -5
- package/dist/lib/esm/data-stores/local-data-store.d.mts +58 -1
- package/dist/lib/esm/data-stores/local-data-store.mjs +71 -9
- package/dist/lib/esm/data-stores/shared-data-store.d.mts +18 -1
- package/dist/lib/esm/data-stores/shared-data-store.mjs +72 -15
- package/dist/lib/esm/dataview.d.mts +14 -0
- package/dist/lib/esm/dataview.mjs +19 -1
- package/dist/lib/esm/demo-vault-helper.d.mts +6 -2
- package/dist/lib/esm/demo-vault-helper.mjs +29 -1
- package/dist/lib/esm/desktop-demo-vault-opener.mjs +1 -1
- package/dist/lib/esm/desktop-request-url-stream.mjs +4 -10
- package/dist/lib/esm/disposable.d.mts +39 -0
- package/dist/lib/esm/disposable.mjs +64 -0
- package/dist/lib/esm/file-system.mjs +2 -2
- package/dist/lib/esm/frontmatter-formatting.mjs +2 -1
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/i18n/locales/en.d.mts +4 -0
- package/dist/lib/esm/i18n/locales/en.mjs +5 -1
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +4 -0
- package/dist/lib/esm/index.d.mts +6 -0
- package/dist/lib/esm/index.mjs +13 -1
- package/dist/lib/esm/link.d.mts +20 -14
- package/dist/lib/esm/link.mjs +57 -38
- package/dist/lib/esm/loop.mjs +2 -8
- package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +7 -0
- package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +16 -1
- package/dist/lib/esm/metadata-cache.d.mts +5 -4
- package/dist/lib/esm/metadata-cache.mjs +6 -6
- package/dist/lib/esm/misplaced-attachment.d.mts +228 -0
- package/dist/lib/esm/misplaced-attachment.mjs +212 -0
- package/dist/lib/esm/modals/prompt.d.mts +1 -1
- package/dist/lib/esm/modals/prompt.mjs +1 -1
- package/dist/lib/esm/notebook-navigator.d.mts +6 -0
- package/dist/lib/esm/notebook-navigator.mjs +11 -2
- package/dist/lib/esm/parse-link.mjs +4 -4
- package/dist/lib/esm/path-compatibility.d.mts +263 -0
- package/dist/lib/esm/path-compatibility.mjs +277 -0
- package/dist/lib/esm/plugin/index.d.mts +1 -0
- package/dist/lib/esm/plugin/index.mjs +4 -2
- package/dist/lib/esm/plugin/plugin-async-cleanup.d.mts +5 -0
- package/dist/lib/esm/plugin/plugin-async-cleanup.mjs +3 -1
- package/dist/lib/esm/plugin/plugin-context.mjs +2 -1
- package/dist/lib/esm/plugin/plugin-event-source.d.mts +4 -4
- package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -1
- package/dist/lib/esm/plugin/plugin-instance.d.mts +7 -0
- package/dist/lib/esm/plugin/plugin-instance.mjs +2 -1
- package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +6 -4
- package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +1 -1
- package/dist/lib/esm/plugin/plugin.d.mts +28 -5
- package/dist/lib/esm/plugin/plugin.mjs +103 -9
- package/dist/lib/esm/plugin/third-party-plugin.d.mts +244 -0
- package/dist/lib/esm/plugin/third-party-plugin.mjs +147 -0
- package/dist/lib/esm/release-asset.mjs +1 -1
- package/dist/lib/esm/resource-lock.d.mts +8 -7
- package/dist/lib/esm/resource-lock.mjs +31 -26
- package/dist/lib/esm/setting-components/multiple-text-component.d.mts +4 -1
- package/dist/lib/esm/setting-components/multiple-text-component.mjs +6 -3
- package/dist/lib/esm/settings-recovery.d.mts +178 -0
- package/dist/lib/esm/settings-recovery.mjs +125 -0
- package/dist/lib/esm/settings-tabs.mjs +2 -2
- package/dist/lib/esm/templater.d.mts +6 -0
- package/dist/lib/esm/templater.mjs +11 -2
- package/dist/lib/esm/vault.mjs +1 -1
- package/dist/lib/esm/virtual-file.d.mts +2 -1
- package/dist/lib/esm/virtual-file.mjs +7 -5
- package/dist/lib/esm/wasm.d.mts +54 -0
- package/dist/lib/esm/wasm.mjs +30 -0
- package/dist/lib/esm/worker-protocol.d.mts +282 -0
- package/dist/lib/esm/worker-protocol.mjs +113 -0
- package/package.json +9 -8
- package/plugin/third-party-plugin/package.json +6 -0
|
@@ -123,12 +123,12 @@ __export(component_ex_exports, {
|
|
|
123
123
|
ComponentEx: () => ComponentEx
|
|
124
124
|
});
|
|
125
125
|
module.exports = __toCommonJS(component_ex_exports);
|
|
126
|
-
var import_aggregate_error = require(
|
|
127
|
-
var import_array = require(
|
|
128
|
-
var
|
|
129
|
-
var
|
|
130
|
-
var
|
|
131
|
-
var
|
|
126
|
+
var import_aggregate_error = require("@mnaoumov/typescript-lib/aggregate-error");
|
|
127
|
+
var import_array = require("@mnaoumov/typescript-lib/array");
|
|
128
|
+
var import_error = require("@mnaoumov/typescript-lib/error");
|
|
129
|
+
var import_function = require("@mnaoumov/typescript-lib/function");
|
|
130
|
+
var import_obsidian = require("obsidian");
|
|
131
|
+
var import_disposable = require("../disposable.cjs");
|
|
132
132
|
class ComponentEx extends import_obsidian.Component {
|
|
133
133
|
childrenSet = /* @__PURE__ */ new Set();
|
|
134
134
|
hasBeenLoaded = false;
|
|
@@ -239,6 +239,19 @@ class ComponentEx extends import_obsidian.Component {
|
|
|
239
239
|
onloadAsync() {
|
|
240
240
|
return import_function.noopAsyncSingletonPromise;
|
|
241
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* Registers an {@link AsyncDisposable} so its disposal starts when this component unloads, and returns it unchanged.
|
|
244
|
+
*
|
|
245
|
+
* Obsidian's unload is synchronous, so nothing awaits the disposal: it runs detached, and a failure is reported, never
|
|
246
|
+
* rethrown. See the free function {@link registerAsyncDisposable}, which this delegates to.
|
|
247
|
+
*
|
|
248
|
+
* @typeParam TAsyncDisposable - The type of the async disposable.
|
|
249
|
+
* @param asyncDisposable - The async disposable to register.
|
|
250
|
+
* @returns The same async disposable, for chaining.
|
|
251
|
+
*/
|
|
252
|
+
registerAsyncDisposable(asyncDisposable) {
|
|
253
|
+
return (0, import_disposable.registerAsyncDisposable)(this, asyncDisposable);
|
|
254
|
+
}
|
|
242
255
|
/**
|
|
243
256
|
* Registers a {@link Disposable} so it is disposed when this component unloads, and returns it unchanged.
|
|
244
257
|
*
|
|
@@ -251,10 +264,7 @@ class ComponentEx extends import_obsidian.Component {
|
|
|
251
264
|
* @returns The same disposable, for chaining.
|
|
252
265
|
*/
|
|
253
266
|
registerDisposable(disposable) {
|
|
254
|
-
|
|
255
|
-
(0, import_disposable.dispose)(disposable);
|
|
256
|
-
});
|
|
257
|
-
return disposable;
|
|
267
|
+
return (0, import_disposable.registerDisposable)(this, disposable);
|
|
258
268
|
}
|
|
259
269
|
/**
|
|
260
270
|
* Removes a child component.
|
|
@@ -489,4 +499,4 @@ class ComponentEx extends import_obsidian.Component {
|
|
|
489
499
|
0 && (module.exports = {
|
|
490
500
|
ComponentEx
|
|
491
501
|
});
|
|
492
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbXBvbmVudC1leC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgY3JlYXRlQWdncmVnYXRlRXJyb3IgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYWdncmVnYXRlLWVycm9yJztcbmltcG9ydCB7IHNuYXBzaG90IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FycmF5JztcbmltcG9ydCB7IGRpc3Bvc2UgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGlzcG9zYWJsZSc7XG5pbXBvcnQge1xuICBFcnJvcldyYXBwZXIsXG4gIFNpbGVudEVycm9yXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9lcnJvcic7XG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9mdW5jdGlvbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdG9vbGtpdC9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXggLS0gRXh0ZW5kZWQgYmFzZSBjbGFzcy5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFeCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuU2V0ID0gbmV3IFNldDxDb21wb25lbnQ+KCk7XG4gIHByaXZhdGUgaGFzQmVlbkxvYWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIGxvYWRFcnJvcnM6IEVycm9yW10gPSBbXTtcbiAgcHJpdmF0ZSBsb2FkUHJvbWlzZTogbnVsbCB8IFByb21pc2U8dm9pZD4gPSBudWxsO1xuICBwcml2YXRlIHBhcmVudENvbXBvbmVudDogQ29tcG9uZW50RXggfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQWRkcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogTWlycm9ycyB0aGUgbmF0aXZlIGBDb21wb25lbnQuYWRkQ2hpbGRgIGNvbnRyYWN0OiBpZiB0aGlzIGNvbXBvbmVudCBpcyBhbHJlYWR5IGxvYWRlZCwgdGhlIGNoaWxkIGlzIGxvYWRlZFxuICAgKiBpbW1lZGlhdGVseSwgc28gYGNoaWxkLl9sb2FkZWRgIGlzIHNldCBiZWZvcmUgdGhpcyBtZXRob2QgcmV0dXJucyBldmVuIHdoZW4gdGhpcyBjb21wb25lbnQgaGFzIGFzeW5jIGxvYWQgbG9naWMuXG4gICAqIFRoZSBjaGlsZCdzIGFzeW5jIHRhaWwgKGlmIGFueSkgaXMgc2VxdWVuY2VkIGludG8gdGhlIGxvYWQgcHJvbWlzZSBzbyBhIGxhdGVyIHtAbGluayBsb2FkV2l0aFByb21pc2VzfSBjYWxsIGF3YWl0cyBpdC5cbiAgICpcbiAgICogQWRkaW5nIGEgY2hpbGQgQkVGT1JFIHRoZSBmaXJzdCBsb2FkIGlzIGxlZ2l0aW1hdGU6IHRoZSBjaGlsZCBpcyBxdWV1ZWQgYW5kIGxvYWRlZCB3aGVuIHRoaXMgY29tcG9uZW50IGxvYWRzLlxuICAgKiBBZGRpbmcgb25lIEFGVEVSIHRoaXMgY29tcG9uZW50IGhhcyBiZWVuIHVubG9hZGVkIGlzIG5vdCDigJQgdGhlIGNoaWxkIHdvdWxkIG5ldmVyIGJlIGxvYWRlZCBhbmQgbmV2ZXIgdW5sb2FkZWRcbiAgICogKGEgbGVhayksIHNvIGl0IGlzIHJlZnVzZWQgd2l0aCBhIHtAbGluayBTaWxlbnRFcnJvcn0uIFRoZSB0eXBpY2FsIHNvdXJjZSBvZiBzdWNoIGEgY2FsbCBpcyBhbiBgYXN5bmNgIG1ldGhvZFxuICAgKiB0aGF0IHdhcyBzdXNwZW5kZWQgb24gYW4gYGF3YWl0YCB3aGVuIHRoZSBjb21wb25lbnQgZ290IHVubG9hZGVkIGFuZCB0aGVuIHJlc3VtZWQgb24gdGhlIGRlYWQgY29tcG9uZW50OyB0aGVcbiAgICoge0BsaW5rIFNpbGVudEVycm9yfSB1bndpbmRzIGl0IHF1aWV0bHkgKHNlZSB7QGxpbmsgaXNVbmxvYWRlZH0pLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFRDb21wb25lbnQgLSBUaGUgdHlwZSBvZiBjb21wb25lbnQgdG8gYWRkLlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCBpbnN0YW5jZSB0byBhZGQuXG4gICAqIEByZXR1cm5zIFRoZSBhZGRlZCBjb21wb25lbnQuXG4gICAqIEB0aHJvd3MgQSB7QGxpbmsgU2lsZW50RXJyb3J9IGlmIHRoZSBjb21wb25lbnQgaGFzIGFscmVhZHkgYmVlbiB1bmxvYWRlZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDaGlsZDxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50Pihjb21wb25lbnQ6IFRDb21wb25lbnQpOiBUQ29tcG9uZW50IHtcbiAgICBpZiAodGhpcy5pc1VubG9hZGVkKCkpIHtcbiAgICAgIHRocm93IG5ldyBTaWxlbnRFcnJvcignQ29tcG9uZW50IGlzIGFscmVhZHkgdW5sb2FkZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jaGlsZHJlblNldC5hZGQoY29tcG9uZW50KTtcbiAgICBpZiAoY29tcG9uZW50IGluc3RhbmNlb2YgQ29tcG9uZW50RXgpIHtcbiAgICAgIGNvbXBvbmVudC5wYXJlbnRDb21wb25lbnQgPSB0aGlzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuYXBwZW5kRWFnZXJMb2FkU3RlcCh0aGlzLmV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIGEgY29tcG9uZW50IGlzIGEgZGlyZWN0IGNoaWxkIG9mIHRoaXMgb25lLlxuICAgKlxuICAgKiBPbmx5IERJUkVDVCBjaGlsZHJlbiBhcmUgcmVwb3J0ZWQg4oCUIHRoaXMgaXMgYW4gb3duZXJzaGlwIHF1ZXN0aW9uLCBub3QgYSBjb250YWlubWVudCBvbmUuIFRoZSBjYWxsZXIgdGhhdFxuICAgKiBuZWVkcyBpdCBpcyBvbmUgaG9sZGluZyBzZXZlcmFsIHBhcmVudHMgYW5kIGRlY2lkaW5nIHdoaWNoIG9mIHRoZW0gYSBjb21wb25lbnQgYmVsb25ncyB0bywgYW5kIGZvciB0aGF0IGFcbiAgICogZ3JhbmRjaGlsZCBpcyB0aGUgd3JvbmcgYW5zd2VyOiByZW1vdmluZyBpdCBmcm9tIHRoZSBwYXJlbnQgdGhhdCBtZXJlbHkgY29udGFpbnMgaXRzIHBhcmVudCB3b3VsZCBmYWlsLlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byBsb29rIGZvci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGEgZGlyZWN0IGNoaWxkIG9mIHRoaXMgb25lLlxuICAgKi9cbiAgcHVibGljIGhhc0NoaWxkKGNvbXBvbmVudDogQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5TZXQuaGFzKGNvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgRGVzcGl0ZSB0aGUgZGVjbGFyZWQgYHZvaWRgIHJldHVybiB0eXBlLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZCBvciBgbnVsbGAgaWYgdGhlIGNvbXBvbmVudCBpcyBmdWxseSBzeW5jaHJvbm91cy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBsb2FkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuaGFzQmVlbkxvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5yZXNldExvYWRTdGF0ZSgpO1xuXG4gICAgdGhpcy5vbmxvYWQoKTtcblxuICAgIGNvbnN0IG9ubG9hZEFzeW5jUHJvbWlzZSA9IHRoaXMub25sb2FkQXN5bmMoKTtcbiAgICBpZiAob25sb2FkQXN5bmNQcm9taXNlICE9PSBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlKSB7XG4gICAgICB0aGlzLmFwcGVuZEVhZ2VyTG9hZFN0ZXAob25sb2FkQXN5bmNQcm9taXNlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHNuYXBzaG90KHRoaXMuX2NoaWxkcmVuKSkge1xuICAgICAgdGhpcy5hcHBlbmRTZXF1ZW50aWFsTG9hZFN0ZXAoKCkgPT4gdGhpcy5leHRyYWN0TG9hZFByb21pc2FibGUoY2hpbGQpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZSwgbm8tcmVzdHJpY3RlZC1zeW50YXggLS0gV2UgbmVlZCB0byBieXBhc3MgdHlwZSBzeXN0ZW0gdG8gcmV0dXJuIGBQcm9taXNlPHZvaWQ+YC5cbiAgICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlIGFzIHVua25vd24gYXMgdm9pZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGNvbXBvbmVudCB3aXRoIHByb21pc2VzLlxuICAgKlxuICAgKiBVbmxpa2Uge0BsaW5rIGxvYWR9LCB0aGlzIG1ldGhvZCBuZXZlciByZWplY3RzIHdpdGggYW4gaW5kaXZpZHVhbCBlcnJvcjogZXZlcnkgZmFpbHVyZSByYWlzZWQgYnkge0BsaW5rIG9ubG9hZEFzeW5jfVxuICAgKiBvciBhIGNoaWxkJ3MgbG9hZCBpcyBjb2xsZWN0ZWQsIGFuZCBvbmNlIGV2ZXJ5dGhpbmcgc2V0dGxlcyB0aGUgcmV0dXJuZWQge0BsaW5rIFByb21pc2V9IHJlamVjdHMgd2l0aCBhIHNpbmdsZVxuICAgKiB7QGxpbmsgQWdncmVnYXRlRXJyb3J9IGhvbGRpbmcgYWxsIG9mIHRoZW0uIE5vbi1gRXJyb3JgIHRocm93YWJsZXMgYXJlIG5vcm1hbGl6ZWQgdmlhIHtAbGluayBFcnJvcldyYXBwZXIuY3JlYXRlfS5cbiAgICpcbiAgICogVGhlIGBBZ2dyZWdhdGVFcnJvcmAgaXMgYnVpbHQgYnkge0BsaW5rIGNyZWF0ZUFnZ3JlZ2F0ZUVycm9yfSwgc28gaXRzIG93biBgbWVzc2FnZWAgbmFtZXMgdGhlIGZhaWx1cmUgcmF0aGVyXG4gICAqIHRoYW4gYmVpbmcgZW1wdHk6IGEgbG9uZSBmYWlsdXJlIGxlbmRzIGl0cyBtZXNzYWdlIHRvIGV2ZXJ5IGFnZ3JlZ2F0ZSBhYm92ZSBpdCwgd2hpY2ggaXMgd2hhdCBsZXRzIGEgY2FsbGVyXG4gICAqIGFzc2VydCBvbiB0aGUgc2VudGVuY2UgdGhhdCB3YXMgYWN0dWFsbHkgdGhyb3duIHdpdGhvdXQgd2Fsa2luZyBgZXJyb3JzYCB0byBmaW5kIGl0LlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBhbmQgaXRzIGNoaWxkcmVuIGZpbmlzaCBsb2FkaW5nLCByZWplY3RzIHdpdGggYW4ge0BsaW5rIEFnZ3JlZ2F0ZUVycm9yfSBpZiBhbnkgbG9hZCBzdGVwIGZhaWxlZCwgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgYW5kIGl0cyBjaGlsZHJlbiBkb24ndCB1c2UgYGFzeW5jYCBsb2dpYyBhbmQgbm9uZSBmYWlsZWQgc3luY2hyb25vdXNseS5cbiAgICovXG4gIHB1YmxpYyBsb2FkV2l0aFByb21pc2VzKCk6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvYWQoKTtcblxuICAgIGNvbnN0IGxvYWRQcm9taXNlID0gdGhpcy5sb2FkUHJvbWlzZTtcbiAgICBpZiAoIWxvYWRQcm9taXNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkRXJyb3JzLmxlbmd0aCA+IDAgPyBQcm9taXNlLnJlamVjdChjcmVhdGVBZ2dyZWdhdGVFcnJvcih0aGlzLmxvYWRFcnJvcnMpKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxvYWRQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubG9hZEVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRocm93IGNyZWF0ZUFnZ3JlZ2F0ZUVycm9yKHRoaXMubG9hZEVycm9ycyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXN5bmNocm9ub3VzbHkgbG9hZHMgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogT3ZlcnJpZGUgdG8gYWRkIGFzeW5jIGxvYWQgbG9naWMsIHdoaWNoIGlzIGV4ZWN1dGVkIGFmdGVyIHtAbGluayBDb21wb25lbnQub25sb2FkfS5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuICAgKi9cbiAgcHVibGljIG9ubG9hZEFzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHtAbGluayBEaXNwb3NhYmxlfSBzbyBpdCBpcyBkaXNwb3NlZCB3aGVuIHRoaXMgY29tcG9uZW50IHVubG9hZHMsIGFuZCByZXR1cm5zIGl0IHVuY2hhbmdlZC5cbiAgICpcbiAgICogVGhlIHJlY3VycmluZyBcInRpZSBhIGRpc3Bvc2FibGUgdG8gdGhlIGNvbXBvbmVudCdzIGxpZmVjeWNsZSwgdGhlbiBrZWVwIHVzaW5nIGl0XCIgaWRpb206IHRoZSBkaXNwb3NhYmxlIGlzXG4gICAqIGRpc3Bvc2VkIG9uIHtAbGluayBDb21wb25lbnQudW5sb2FkfSAob3IgZWFybGllciwgaWYgdGhlIGNhbGxlciBkaXNwb3NlcyBpdCBkaXJlY3RseSDigJQgZGlzcG9zZSBpcyBleHBlY3RlZCB0b1xuICAgKiBiZSBpZGVtcG90ZW50KS4gR3VhcmQgd2l0aCB7QGxpbmsgZW5zdXJlTG9hZGVkfSBhdCB0aGUgY2FsbCBzaXRlIHdoZW4gcmVnaXN0ZXJpbmcgYmVmb3JlIGxvYWQgd291bGQgYmUgdW5zYWZlLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFREaXNwb3NhYmxlIC0gVGhlIHR5cGUgb2YgdGhlIGRpc3Bvc2FibGUuXG4gICAqIEBwYXJhbSBkaXNwb3NhYmxlIC0gVGhlIGRpc3Bvc2FibGUgdG8gcmVnaXN0ZXIuXG4gICAqIEByZXR1cm5zIFRoZSBzYW1lIGRpc3Bvc2FibGUsIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckRpc3Bvc2FibGU8VERpc3Bvc2FibGUgZXh0ZW5kcyBEaXNwb3NhYmxlPihkaXNwb3NhYmxlOiBURGlzcG9zYWJsZSk6IFREaXNwb3NhYmxlIHtcbiAgICB0aGlzLnJlZ2lzdGVyKCgpID0+IHtcbiAgICAgIGRpc3Bvc2UoZGlzcG9zYWJsZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRpc3Bvc2FibGU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIHJlbW92ZS5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVtb3ZlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ2hpbGQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogVENvbXBvbmVudCB7XG4gICAgc3VwZXIucmVtb3ZlQ2hpbGQoY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmRlbGV0ZShjb21wb25lbnQpO1xuICAgIGlmIChjb21wb25lbnQgaW5zdGFuY2VvZiBDb21wb25lbnRFeCAmJiBjb21wb25lbnQucGFyZW50Q29tcG9uZW50ID09PSB0aGlzKSB7XG4gICAgICBjb21wb25lbnQucGFyZW50Q29tcG9uZW50ID0gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwb3NlcyBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIFtTeW1ib2wuZGlzcG9zZV0oKTogdm9pZCB7XG4gICAgdGhpcy51bmxvYWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmVzIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLCB0aHJvd2luZyBpZiBpdCBpcyBub3QuXG4gICAqXG4gICAqIFVzZSB0aGlzIHRvIGd1YXJkIHB1YmxpYyBtZXRob2RzIHRoYXQgcmVnaXN0ZXIgdGVhcmRvd24tYmVhcmluZyByZXNvdXJjZXMgKHZpYSB7QGxpbmsgQ29tcG9uZW50LnJlZ2lzdGVyfSxcbiAgICoge0BsaW5rIENvbXBvbmVudC5yZWdpc3RlckV2ZW50fSwge0BsaW5rIENvbXBvbmVudC5yZWdpc3RlckRvbUV2ZW50fSwgZXRjLikuIFJlZ2lzdGVyaW5nIGJlZm9yZSBsb2FkIGlzIHVuc2FmZTpcbiAgICoge0BsaW5rIENvbXBvbmVudC51bmxvYWR9IGlzIGEgbm8tb3Agd2hpbGUgdGhlIGNvbXBvbmVudCBpcyBub3QgbG9hZGVkLCBzbyBhbnkgdGVhcmRvd24gcmVnaXN0ZXJlZCBiZWZvcmVoYW5kIHdvdWxkXG4gICAqIG5ldmVyIHJ1biBpZiB0aGUgY29tcG9uZW50IGlzIHVubG9hZGVkIHdpdGhvdXQgZmlyc3QgYmVpbmcgbG9hZGVkLlxuICAgKlxuICAgKiBUaGUgdHdvIG5vdC1sb2FkZWQgY2FzZXMgYXJlIGRlbGliZXJhdGVseSBkaXN0aW5ndWlzaGVkLiBBIGNvbXBvbmVudCB0aGF0IHdhcyBORVZFUiBsb2FkZWQgaXMgYSBnZW51aW5lXG4gICAqIHByb2dyYW1taW5nIGVycm9yLCBzbyBpdCB0aHJvd3MgYSBsb3VkIHtAbGluayBFcnJvcn0uIEEgY29tcG9uZW50IHRoYXQgaGFzIEFMUkVBRFkgYmVlbiB1bmxvYWRlZCBpcyBub3Qg4oCUXG4gICAqIGl0IGlzIHRoZSBleHBlY3RlZCBvdXRjb21lIG9mIHdvcmsgdGhhdCBvdXRsaXZlZCBpdHMgY29tcG9uZW50IChlLmcuIGFuIGBhc3luY2AgbWV0aG9kIHN1c3BlbmRlZCBvbiBhblxuICAgKiBgYXdhaXRgIHdoaWxlIHRoZSBjb21wb25lbnQgd2FzIHVubG9hZGVkLCB0aGVuIHJlc3VtZWQpIOKAlCBzbyBpdCB0aHJvd3MgYSB7QGxpbmsgU2lsZW50RXJyb3J9LCB3aGljaFxuICAgKiBgaGFuZGxlU2lsZW50RXJyb3JgIHN1cHByZXNzZXMsIGxldHRpbmcgc3VjaCB3b3JrIHVud2luZCBxdWlldGx5IGluc3RlYWQgb2YgcmVwb3J0aW5nIGFuIGFzeW5jIGVycm9yLlxuICAgKlxuICAgKiBAdGhyb3dzIEFuIHtAbGluayBFcnJvcn0gaWYgdGhlIGNvbXBvbmVudCB3YXMgbmV2ZXIgbG9hZGVkLCBvciBhIHtAbGluayBTaWxlbnRFcnJvcn0gaWYgaXQgaGFzIGFscmVhZHkgYmVlbiB1bmxvYWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBlbnN1cmVMb2FkZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzVW5sb2FkZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IFNpbGVudEVycm9yKCdDb21wb25lbnQgaXMgYWxyZWFkeSB1bmxvYWRlZCcpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignQ29tcG9uZW50IGlzIG5vdCBsb2FkZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEge0BsaW5rIFByb21pc2V9IHRoYXQgc2V0dGxlcyBvbmNlIG5laXRoZXIgdGhpcyBjb21wb25lbnQgbm9yIGFueSB7QGxpbmsgQ29tcG9uZW50RXh9IGFuY2VzdG9yIGhhcyBhIGxvYWRcbiAgICogaW4gZmxpZ2h0LCBvciBgbnVsbGAgd2hlbiBub25lIG9mIHRoZW0gaGFzIG9uZSByaWdodCBub3cuXG4gICAqXG4gICAqIHtAbGluayBnZXRJbkZsaWdodExvYWRQcm9taXNlfSBjb3ZlcnMgdGhpcyBjb21wb25lbnQncyBPV04gbG9hZCBvbmx5LiBBIHNpYmxpbmcgdGhpcyBjb21wb25lbnQgZGVwZW5kcyBvbiDigJQgbW9zdFxuICAgKiBvZnRlbiB0aGUgb3duaW5nIHBsdWdpbidzIHNldHRpbmdzIGNvbXBvbmVudCwgd2hpY2ggcmVhZHMgYGRhdGEuanNvbmAgYXN5bmNocm9ub3VzbHkg4oCUIGlzIG91dHNpZGUgaXQsIGJ1dCBpdCBpc1xuICAgKiBpbnNpZGUgdGhlIGxvYWQgb2YgYSBzaGFyZWQgYW5jZXN0b3IuIFdhaXRpbmcgZm9yIGV2ZXJ5IGFuY2VzdG9yIHRoZXJlZm9yZSB3YWl0cyBmb3IgdGhlIHdob2xlIHRyZWUgdGhlIGNvbXBvbmVudFxuICAgKiB3YXMgbG9hZGVkIGFzIHBhcnQgb2Y6IHVuZGVyIGBQbHVnaW5CYXNlYCB0aGUgY2hhaW4gZW5kcyBhdCB0aGUgcGx1Z2luJ3MgdW5pdmVyc2FsIHdyYXBwZXIsIHdob3NlIGxvYWQgY292ZXJzIHRoZVxuICAgKiBkZXBlbmRlbmN5IGdhdGUsIHRoZSBmZWF0dXJlIHN1cmZhY2UgYW5kIGBvbmxvYWRJbXBsYC5cbiAgICpcbiAgICogVGhlIGNoYWluIGlzIGZvbGxvd2VkIHRocm91Z2gge0BsaW5rIENvbXBvbmVudEV4fSBwYXJlbnRzIG9ubHkuIEEgcGxhaW4ge0BsaW5rIENvbXBvbmVudH0gYW55d2hlcmUgYmV0d2VlbiB0aGlzXG4gICAqIGNvbXBvbmVudCBhbmQgYW4gYW5jZXN0b3IgZW5kcyBpdCwgYmVjYXVzZSBhIHBsYWluIGNvbXBvbmVudCByZWNvcmRzIG5vIHBhcmVudCBhbmQgZXhwb3NlcyBubyBsb2FkIHByb21pc2UuXG4gICAqXG4gICAqIE5ldmVyIGF3YWl0IHRoaXMgZnJvbSBpbnNpZGUgYSBsb2FkIHN0ZXAgb2Ygb25lIG9mIHRob3NlIGFuY2VzdG9yczogdGhlIGFuY2VzdG9yJ3MgbG9hZCB3b3VsZCB0aGVuIGJlIHdhaXRpbmcgZm9yXG4gICAqIGl0c2VsZi4gSXQgaXMgbWVhbnQgZm9yIHdvcmsgc2NoZWR1bGVkIE9VVFNJREUgdGhlIGxvYWQsIHN1Y2ggYXMgYSBsYXlvdXQtcmVhZHkgaGFuZGxlci5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHByb21pc2UsIG9yIGBudWxsYCBpZiBub3RoaW5nIGluIHRoZSBhbmNlc3RyeSBpcyBsb2FkaW5nLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldEluRmxpZ2h0QW5jZXN0cnlMb2FkUHJvbWlzZSgpOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluZEluRmxpZ2h0QW5jZXN0cnlMb2FkUHJvbWlzZSgpID8gdGhpcy53YWl0Rm9yQW5jZXN0cnlMb2FkKCkgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvbXBvbmVudCdzIGluLWZsaWdodCBsb2FkIHtAbGluayBQcm9taXNlfSAoaXRzIHtAbGluayBvbmxvYWRBc3luY30gcGx1cyBjaGlsZHJlbiksIG9yIGBudWxsYCB3aGVuXG4gICAqIG5vdGhpbmcgaXMgbG9hZGluZyDigJQgZWl0aGVyIHRoZSBjb21wb25lbnQgbG9hZGVkIGZ1bGx5IHN5bmNocm9ub3VzbHkgb3IgaXRzIGFzeW5jIGxvYWQgaGFzIGFscmVhZHkgc2V0dGxlZC5cbiAgICpcbiAgICogTGV0cyBhIGNhbGxlciBzY2hlZHVsZWQgd2hpbGUgdGhlIGNvbXBvbmVudCBpcyBzdGlsbCBsb2FkaW5nIGF3YWl0IHRoZSBhc3luYyBsb2FkIHRhaWwgYmVmb3JlIGFjdGluZywgaW5zdGVhZCBvZlxuICAgKiByYWNpbmcgaXQ6IHtAbGluayBDb21wb25lbnQub25sb2FkfSBoYXMgcnVuIChzbyBgX2xvYWRlZGAgaXMgc2V0KSBidXQge0BsaW5rIG9ubG9hZEFzeW5jfSBtYXkgbm90IGhhdmUgZmluaXNoZWQuXG4gICAqXG4gICAqIEl0IGNvdmVycyB0aGlzIGNvbXBvbmVudCdzIE9XTiBsb2FkIG9ubHkuIEEgY2FsbGVyIHRoYXQgYWxzbyBkZXBlbmRzIG9uIGEgc2libGluZydzIHN0YXRlIOKAlCBhIGxheW91dC1yZWFkeSBoYW5kbGVyXG4gICAqIHJlYWRpbmcgc2V0dGluZ3MgaXMgdGhlIGNvbW1vbiBvbmUg4oCUIHdhbnRzIHtAbGluayBnZXRJbkZsaWdodEFuY2VzdHJ5TG9hZFByb21pc2V9LCB3aGljaCBgTGF5b3V0UmVhZHlDb21wb25lbnRgXG4gICAqIHVzZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBpbi1mbGlnaHQgbG9hZCBwcm9taXNlLCBvciBgbnVsbGAgaWYgbm8gbG9hZCBpcyBpbiBmbGlnaHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0SW5GbGlnaHRMb2FkUHJvbWlzZSgpOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZFByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBtb3N0IHJlY2VudCBsb2FkIHJlY29yZGVkIGFueSBmYWlsdXJlLlxuICAgKlxuICAgKiBSZWZsZWN0cyB0aGUgb3V0Y29tZSBvZiB0aGUgbGFzdCB7QGxpbmsgbG9hZH0gLyB7QGxpbmsgbG9hZFdpdGhQcm9taXNlc306IGB0cnVlYCB3aGVuIHtAbGluayBvbmxvYWRBc3luY30gb3IgYW55XG4gICAqIGNoaWxkJ3MgbG9hZCB0aHJldyAoc3luY2hyb25vdXNseSBvciBhc3luY2hyb25vdXNseSkuIFVubGlrZSB7QGxpbmsgbG9hZFdpdGhQcm9taXNlc30sIHJlYWRpbmcgdGhpcyBkb2VzIE5PVFxuICAgKiByZS1yYWlzZSB0aGUgY29sbGVjdGVkIGVycm9ycyDigJQgaXQgbGV0cyBhIGJ5c3RhbmRlciAoZS5nLiBhIGxheW91dC1yZWFkeSBoYW5kbGVyIGF3YWl0aW5nIHRoZSBpbi1mbGlnaHQgbG9hZCkgdGVsbFxuICAgKiB3aGV0aGVyIHRoZSBsb2FkIHN1Y2NlZWRlZCB3aXRob3V0IGFkb3B0aW5nIGEgZmFpbHVyZSB0aGF0IHRoZSBsb2FkJ3Mgb3duZXIgaXMgYWxyZWFkeSByZXNwb25zaWJsZSBmb3IuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbGFzdCBsb2FkIHJlY29yZGVkIGF0IGxlYXN0IG9uZSBlcnJvciwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFzTG9hZEVycm9ycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkRXJyb3JzLmxlbmd0aCA+IDA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBjb21wb25lbnQgaGFzIGFscmVhZHkgYmVlbiB1bmxvYWRlZCwgYXMgb3Bwb3NlZCB0byBzaW1wbHkgbm90IGhhdmluZyBiZWVuIGxvYWRlZCB5ZXQuXG4gICAqXG4gICAqIEJvdGggc3RhdGVzIGxlYXZlIGBfbG9hZGVkYCBmYWxzZSwgYnV0IHRoZXkgbWVhbiBvcHBvc2l0ZSB0aGluZ3M6IGEgY29tcG9uZW50IHRoYXQgd2FzIG5ldmVyIGxvYWRlZCBpcyBzdGlsbFxuICAgKiBhaGVhZCBvZiBpdHMgbGlmZWN5Y2xlIChxdWV1ZWluZyBjaGlsZHJlbiBiZWZvcmUgbG9hZCBpcyBsZWdpdGltYXRlKSwgd2hpbGUgYW4gdW5sb2FkZWQgb25lIGlzIGJlaGluZCBpdCBhbmRcbiAgICogbXVzdCBub3QgYmUgdXNlZCBhbnkgZnVydGhlci4gVGhlIGRpc3RpbmN0aW9uIGlzIHRyYWNrZWQgYnkgYSBmbGFnIHNldCBpbiB7QGxpbmsgbG9hZH0sIE5PVCBieSBhblxuICAgKiB7QGxpbmsgQ29tcG9uZW50Lm9udW5sb2FkfSBvdmVycmlkZSwgYmVjYXVzZSBzdWJjbGFzc2VzIG92ZXJyaWRlIGBvbnVubG9hZGAgYW5kIG1heSBub3QgY2FsbCBgc3VwZXJgLlxuICAgKlxuICAgKiBVc2UgaXQgaW4gYSBsb25nLXJ1bm5pbmcgYGFzeW5jYCBtZXRob2QgdG8gYWJhbmRvbiB3b3JrIHdob3NlIGNvbXBvbmVudCB3YXMgdW5sb2FkZWQgbWlkLWZsaWdodCwgd2hlblxuICAgKiB1bndpbmRpbmcgdmlhIHRoZSB7QGxpbmsgU2lsZW50RXJyb3J9IHRocm93biBieSB7QGxpbmsgZW5zdXJlTG9hZGVkfSAvIHtAbGluayBhZGRDaGlsZH0gaXMgbm90IGRlc2lyZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IHdhcyBsb2FkZWQgYXQgc29tZSBwb2ludCBhbmQgaXMgY3VycmVudGx5IHVubG9hZGVkLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG4gIHByb3RlY3RlZCBpc1VubG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0JlZW5Mb2FkZWQgJiYgIXRoaXMuX2xvYWRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXF1ZW5jZXMgYW4gYWxyZWFkeS1zdGFydGVkIGxvYWQgc3RlcCBpbnRvIHRoZSBsb2FkIHByb21pc2UuXG4gICAqXG4gICAqIFRoZSBzdGVwIGlzIHByZXN1bWVkIHRvIGhhdmUgc3RhcnRlZCBzeW5jaHJvbm91c2x5IChzbyBhbnkgYF9sb2FkZWRgIGZsYWcgaXQgc2V0cyBpcyBhbHJlYWR5IHZpc2libGUpOyBvbmx5IHRoZVxuICAgKiBhd2FpdGluZyBvZiBpdHMgYXN5bmMgdGFpbCBpcyBzZXF1ZW5jZWQgaGVyZS5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlIC0gVGhlIHJlc3VsdCBvZiBhbiBhbHJlYWR5LXN0YXJ0ZWQgbG9hZCBzdGVwLlxuICAgKi9cbiAgcHJpdmF0ZSBhcHBlbmRFYWdlckxvYWRTdGVwKGxvYWRQcm9taXNhYmxlOiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPik6IHZvaWQge1xuICAgIGNvbnN0IGNhcHR1cmVkID0gdGhpcy5jYXB0dXJlU2V0dGxlZChsb2FkUHJvbWlzYWJsZSk7XG4gICAgaWYgKCFjYXB0dXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5sb2FkUHJvbWlzZTtcbiAgICB0aGlzLnNldExvYWRQcm9taXNlKHByZXZpb3VzID8gcHJldmlvdXMudGhlbigoKSA9PiBjYXB0dXJlZCkgOiBjYXB0dXJlZCk7XG4gIH1cblxuICAvKipcbiAgICogU2VxdWVuY2VzIGEgZGVmZXJyZWQgbG9hZCBzdGVwIGludG8gdGhlIGxvYWQgcHJvbWlzZSwgcnVubmluZyBpdCBvbmx5IGFmdGVyIHByZXZpb3VzbHktYXBwZW5kZWQgc3RlcHMgc2V0dGxlLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGVGdW5jdGlvbiAtIEEgZnVuY3Rpb24gdGhhdCBzdGFydHMgdGhlIGxvYWQgc3RlcCBhbmQgcmV0dXJucyBpdHMgcmVzdWx0LlxuICAgKi9cbiAgcHJpdmF0ZSBhcHBlbmRTZXF1ZW50aWFsTG9hZFN0ZXAobG9hZFByb21pc2FibGVGdW5jdGlvbjogKCkgPT4gbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMubG9hZFByb21pc2U7XG4gICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICB0aGlzLnNldExvYWRQcm9taXNlKHByZXZpb3VzLnRoZW4oKCkgPT4gdGhpcy5ydW5BbmRDYXB0dXJlKGxvYWRQcm9taXNhYmxlRnVuY3Rpb24pKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2FwdHVyZWQgPSB0aGlzLmNhcHR1cmVTeW5jKGxvYWRQcm9taXNhYmxlRnVuY3Rpb24pO1xuICAgIGlmIChjYXB0dXJlZCkge1xuICAgICAgdGhpcy5zZXRMb2FkUHJvbWlzZShjYXB0dXJlZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSBsb2FkIGZhaWx1cmUuXG4gICAqXG4gICAqIEEgZmFpbHVyZSByYWlzZWQgYnkgYSBjaGlsZCB7QGxpbmsgQ29tcG9uZW50RXh9IGlzIGl0c2VsZiBhbiB7QGxpbmsgQWdncmVnYXRlRXJyb3J9OyBpdCBpcyByZWNvcmRlZCBhcy1pcyBzbyB0aGVcbiAgICogZ3JvdXBpbmcgYnkgY2hpbGQgY29tcG9uZW50IGlzIHByZXNlcnZlZCAob3duIGZhaWx1cmVzIHN0YXkgZmxhdCwgY2hpbGQtc3VidHJlZSBmYWlsdXJlcyBzdGF5IG5lc3RlZCkuXG4gICAqXG4gICAqIEBwYXJhbSBlcnJvciAtIFRoZSB0aHJvd24gdmFsdWUgdG8gcmVjb3JkLlxuICAgKi9cbiAgcHJpdmF0ZSBjYXB0dXJlRXJyb3IoZXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRFcnJvcnMucHVzaChFcnJvcldyYXBwZXIuY3JlYXRlKGVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogV3JhcHMgYW4gYWxyZWFkeS1zdGFydGVkIGxvYWQgcmVzdWx0IHNvIGl0IG5ldmVyIHJlamVjdHM6IGFueSBmYWlsdXJlIGlzIHJlY29yZGVkIGludG8gYGxvYWRFcnJvcnNgLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGUgLSBUaGUgbG9hZCByZXN1bHQgdG8gb2JzZXJ2ZS5cbiAgICogQHJldHVybnMgQSBuZXZlci1yZWplY3Rpbmcge0BsaW5rIFByb21pc2V9LCBvciBgbnVsbGAgaWYgdGhlIHJlc3VsdCBpcyBmdWxseSBzeW5jaHJvbm91cy5cbiAgICovXG4gIHByaXZhdGUgY2FwdHVyZVNldHRsZWQobG9hZFByb21pc2FibGU6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogbnVsbCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBsb2FkUHJvbWlzYWJsZSA9PT0gbnVsbCB8fCBsb2FkUHJvbWlzYWJsZSA9PT0gdW5kZWZpbmVkXG4gICAgICA/IG51bGxcbiAgICAgIDogUHJvbWlzZS5yZXNvbHZlKGxvYWRQcm9taXNhYmxlKS50aGVuKG5vb3ApLmNhdGNoKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICB0aGlzLmNhcHR1cmVFcnJvcihlcnJvcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGEgbG9hZCBzdGVwIHN5bmNocm9ub3VzbHksIHJlY29yZGluZyBhIHN5bmNocm9ub3VzIHRocm93LCBhbmQgd3JhcHMgYW55IGFzeW5jIHRhaWwgc28gaXQgbmV2ZXIgcmVqZWN0cy5cbiAgICpcbiAgICogQHBhcmFtIGxvYWRQcm9taXNhYmxlRnVuY3Rpb24gLSBBIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBsb2FkIHN0ZXAgYW5kIHJldHVybnMgaXRzIHJlc3VsdC5cbiAgICogQHJldHVybnMgQSBuZXZlci1yZWplY3Rpbmcge0BsaW5rIFByb21pc2V9LCBvciBgbnVsbGAgaWYgdGhlIHN0ZXAgaXMgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwcml2YXRlIGNhcHR1cmVTeW5jKGxvYWRQcm9taXNhYmxlRnVuY3Rpb246ICgpID0+IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogbnVsbCB8IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCBsb2FkUHJvbWlzYWJsZTogbnVsbCB8IFByb21pc2FibGU8dm9pZD47XG4gICAgdHJ5IHtcbiAgICAgIGxvYWRQcm9taXNhYmxlID0gbG9hZFByb21pc2FibGVGdW5jdGlvbigpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmNhcHR1cmVFcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYXB0dXJlU2V0dGxlZChsb2FkUHJvbWlzYWJsZSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQ6IENvbXBvbmVudCk6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY2hpbGRyZW5TZXQuaGFzKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWFzc2VydGlvbiAtLSBJdCBjYW4gYmUgYFByb21pc2U8dm9pZD5gIGluIHJ1bnRpbWUuIFdhbnQgZXhwbGljaXRseSBjYXN0IHRvIHNob3cgd2Uga25vdyBpdCBtYXkgYmUgcHJvbWlzZSwgZGVzcGl0ZSB0aGUgZGVjbGFyZWQgdHlwZSBgdm9pZGAuXG4gICAgcmV0dXJuIGNvbXBvbmVudCBpbnN0YW5jZW9mIENvbXBvbmVudEV4ID8gY29tcG9uZW50LmxvYWRXaXRoUHJvbWlzZXMoKSA6IGNvbXBvbmVudC5sb2FkKCkgYXMgUHJvbWlzYWJsZTx2b2lkPjtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEluRmxpZ2h0QW5jZXN0cnlMb2FkUHJvbWlzZSgpOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZFByb21pc2UgPz8gdGhpcy5wYXJlbnRDb21wb25lbnQ/LmZpbmRJbkZsaWdodEFuY2VzdHJ5TG9hZFByb21pc2UoKSA/PyBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldExvYWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRFcnJvcnMgPSBbXTtcbiAgICB0aGlzLmxvYWRQcm9taXNlID0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGEgZGVmZXJyZWQgbG9hZCBzdGVwLCByZWNvcmRpbmcgYSBzeW5jaHJvbm91cyB0aHJvdyBvciBhbiBhc3luYyByZWplY3Rpb24gd2l0aG91dCBldmVyIHJlLXRocm93aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGVGdW5jdGlvbiAtIEEgZnVuY3Rpb24gdGhhdCBzdGFydHMgdGhlIGxvYWQgc3RlcCBhbmQgcmV0dXJucyBpdHMgcmVzdWx0LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBydW5BbmRDYXB0dXJlKGxvYWRQcm9taXNhYmxlRnVuY3Rpb246ICgpID0+IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IChsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uKCkgPz8gdW5kZWZpbmVkKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5jYXB0dXJlRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9hZFByb21pc2UobG9hZFByb21pc2U6IFByb21pc2U8dm9pZD4pOiB2b2lkIHtcbiAgICBjb25zdCBsb2FkUHJvbWlzZVdpdGhSZXNldDogUHJvbWlzZTx2b2lkPiA9IGxvYWRQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubG9hZFByb21pc2UgPT09IGxvYWRQcm9taXNlV2l0aFJlc2V0KSB7XG4gICAgICAgIHRoaXMubG9hZFByb21pc2UgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubG9hZFByb21pc2UgPSBsb2FkUHJvbWlzZVdpdGhSZXNldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBd2FpdHMgaW4tZmxpZ2h0IGxvYWRzIGluIHRoZSBhbmNlc3RyeSB1bnRpbCBub25lIGlzIGxlZnQuXG4gICAqXG4gICAqIExvb3BlZCByYXRoZXIgdGhhbiBhd2FpdGVkIG9uY2UsIGJlY2F1c2UgYW4gYW5jZXN0b3IncyBsb2FkIGNhbiBncm93IHdoaWxlIGl0IGlzIGJlaW5nIGF3YWl0ZWQ6IGEgY2hpbGQgYWRkZWRcbiAgICogdG8gYW4gYWxyZWFkeS1sb2FkZWQgY29tcG9uZW50IGFwcGVuZHMgaXRzIGFzeW5jIHRhaWwgdG8gdGhhdCBjb21wb25lbnQncyBsb2FkIHByb21pc2UuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHdhaXRGb3JBbmNlc3RyeUxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IGxvYWRQcm9taXNlID0gdGhpcy5maW5kSW5GbGlnaHRBbmNlc3RyeUxvYWRQcm9taXNlKCk7XG4gICAgd2hpbGUgKGxvYWRQcm9taXNlKSB7XG4gICAgICBhd2FpdCBsb2FkUHJvbWlzZTtcbiAgICAgIGxvYWRQcm9taXNlID0gdGhpcy5maW5kSW5GbGlnaHRBbmNlc3RyeUxvYWRQcm9taXNlKCk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSw2QkFBcUM7QUFDckMsbUJBQXlCO0FBQ3pCLHdCQUF3QjtBQUN4QixtQkFHTztBQUNQLHNCQUdPO0FBQ1Asc0JBQTBCO0FBTW5CLE1BQU0sb0JBQW9CLDBCQUFnQztBQUFBLEVBQzlDLGNBQWMsb0JBQUksSUFBZTtBQUFBLEVBQzFDLGdCQUFnQjtBQUFBLEVBQ2hCLGFBQXNCLENBQUM7QUFBQSxFQUN2QixjQUFvQztBQUFBLEVBQ3BDLGtCQUFzQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBb0I5QixTQUF1QyxXQUFtQztBQUN4RixRQUFJLEtBQUssV0FBVyxHQUFHO0FBQ3JCLFlBQU0sSUFBSSx5QkFBWSwrQkFBK0I7QUFBQSxJQUN2RDtBQUVBLFNBQUssVUFBVSxLQUFLLFNBQVM7QUFDN0IsU0FB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
|
|
502
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbXBvbmVudC1leC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgY3JlYXRlQWdncmVnYXRlRXJyb3IgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYWdncmVnYXRlLWVycm9yJztcbmltcG9ydCB7IHNuYXBzaG90IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FycmF5JztcbmltcG9ydCB7XG4gIEVycm9yV3JhcHBlcixcbiAgU2lsZW50RXJyb3Jcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Vycm9yJztcbmltcG9ydCB7XG4gIG5vb3AsXG4gIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2Vcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Z1bmN0aW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgcmVnaXN0ZXJBc3luY0Rpc3Bvc2FibGUsXG4gIHJlZ2lzdGVyRGlzcG9zYWJsZVxufSBmcm9tICcuLi9kaXNwb3NhYmxlLnRzJztcblxuLyoqXG4gKiBFeHRlbmRlZCBDb21wb25lbnRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi10b29sa2l0L3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeCAtLSBFeHRlbmRlZCBiYXNlIGNsYXNzLlxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEV4IGV4dGVuZHMgQ29tcG9uZW50IGltcGxlbWVudHMgRGlzcG9zYWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpbGRyZW5TZXQgPSBuZXcgU2V0PENvbXBvbmVudD4oKTtcbiAgcHJpdmF0ZSBoYXNCZWVuTG9hZGVkID0gZmFsc2U7XG4gIHByaXZhdGUgbG9hZEVycm9yczogRXJyb3JbXSA9IFtdO1xuICBwcml2YXRlIGxvYWRQcm9taXNlOiBudWxsIHwgUHJvbWlzZTx2b2lkPiA9IG51bGw7XG4gIHByaXZhdGUgcGFyZW50Q29tcG9uZW50OiBDb21wb25lbnRFeCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgY2hpbGQgY29tcG9uZW50LlxuICAgKlxuICAgKiBNaXJyb3JzIHRoZSBuYXRpdmUgYENvbXBvbmVudC5hZGRDaGlsZGAgY29udHJhY3Q6IGlmIHRoaXMgY29tcG9uZW50IGlzIGFscmVhZHkgbG9hZGVkLCB0aGUgY2hpbGQgaXMgbG9hZGVkXG4gICAqIGltbWVkaWF0ZWx5LCBzbyBgY2hpbGQuX2xvYWRlZGAgaXMgc2V0IGJlZm9yZSB0aGlzIG1ldGhvZCByZXR1cm5zIGV2ZW4gd2hlbiB0aGlzIGNvbXBvbmVudCBoYXMgYXN5bmMgbG9hZCBsb2dpYy5cbiAgICogVGhlIGNoaWxkJ3MgYXN5bmMgdGFpbCAoaWYgYW55KSBpcyBzZXF1ZW5jZWQgaW50byB0aGUgbG9hZCBwcm9taXNlIHNvIGEgbGF0ZXIge0BsaW5rIGxvYWRXaXRoUHJvbWlzZXN9IGNhbGwgYXdhaXRzIGl0LlxuICAgKlxuICAgKiBBZGRpbmcgYSBjaGlsZCBCRUZPUkUgdGhlIGZpcnN0IGxvYWQgaXMgbGVnaXRpbWF0ZTogdGhlIGNoaWxkIGlzIHF1ZXVlZCBhbmQgbG9hZGVkIHdoZW4gdGhpcyBjb21wb25lbnQgbG9hZHMuXG4gICAqIEFkZGluZyBvbmUgQUZURVIgdGhpcyBjb21wb25lbnQgaGFzIGJlZW4gdW5sb2FkZWQgaXMgbm90IOKAlCB0aGUgY2hpbGQgd291bGQgbmV2ZXIgYmUgbG9hZGVkIGFuZCBuZXZlciB1bmxvYWRlZFxuICAgKiAoYSBsZWFrKSwgc28gaXQgaXMgcmVmdXNlZCB3aXRoIGEge0BsaW5rIFNpbGVudEVycm9yfS4gVGhlIHR5cGljYWwgc291cmNlIG9mIHN1Y2ggYSBjYWxsIGlzIGFuIGBhc3luY2AgbWV0aG9kXG4gICAqIHRoYXQgd2FzIHN1c3BlbmRlZCBvbiBhbiBgYXdhaXRgIHdoZW4gdGhlIGNvbXBvbmVudCBnb3QgdW5sb2FkZWQgYW5kIHRoZW4gcmVzdW1lZCBvbiB0aGUgZGVhZCBjb21wb25lbnQ7IHRoZVxuICAgKiB7QGxpbmsgU2lsZW50RXJyb3J9IHVud2luZHMgaXQgcXVpZXRseSAoc2VlIHtAbGluayBpc1VubG9hZGVkfSkuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGluc3RhbmNlIHRvIGFkZC5cbiAgICogQHJldHVybnMgVGhlIGFkZGVkIGNvbXBvbmVudC5cbiAgICogQHRocm93cyBBIHtAbGluayBTaWxlbnRFcnJvcn0gaWYgdGhlIGNvbXBvbmVudCBoYXMgYWxyZWFkeSBiZWVuIHVubG9hZGVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFkZENoaWxkPFRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ+KGNvbXBvbmVudDogVENvbXBvbmVudCk6IFRDb21wb25lbnQge1xuICAgIGlmICh0aGlzLmlzVW5sb2FkZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IFNpbGVudEVycm9yKCdDb21wb25lbnQgaXMgYWxyZWFkeSB1bmxvYWRlZCcpO1xuICAgIH1cblxuICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmFkZChjb21wb25lbnQpO1xuICAgIGlmIChjb21wb25lbnQgaW5zdGFuY2VvZiBDb21wb25lbnRFeCkge1xuICAgICAgY29tcG9uZW50LnBhcmVudENvbXBvbmVudCA9IHRoaXM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5hcHBlbmRFYWdlckxvYWRTdGVwKHRoaXMuZXh0cmFjdExvYWRQcm9taXNhYmxlKGNvbXBvbmVudCkpO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBjb21wb25lbnQgaXMgYSBkaXJlY3QgY2hpbGQgb2YgdGhpcyBvbmUuXG4gICAqXG4gICAqIE9ubHkgRElSRUNUIGNoaWxkcmVuIGFyZSByZXBvcnRlZCDigJQgdGhpcyBpcyBhbiBvd25lcnNoaXAgcXVlc3Rpb24sIG5vdCBhIGNvbnRhaW5tZW50IG9uZS4gVGhlIGNhbGxlciB0aGF0XG4gICAqIG5lZWRzIGl0IGlzIG9uZSBob2xkaW5nIHNldmVyYWwgcGFyZW50cyBhbmQgZGVjaWRpbmcgd2hpY2ggb2YgdGhlbSBhIGNvbXBvbmVudCBiZWxvbmdzIHRvLCBhbmQgZm9yIHRoYXQgYVxuICAgKiBncmFuZGNoaWxkIGlzIHRoZSB3cm9uZyBhbnN3ZXI6IHJlbW92aW5nIGl0IGZyb20gdGhlIHBhcmVudCB0aGF0IG1lcmVseSBjb250YWlucyBpdHMgcGFyZW50IHdvdWxkIGZhaWwuXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRvIGxvb2sgZm9yLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgYSBkaXJlY3QgY2hpbGQgb2YgdGhpcyBvbmUuXG4gICAqL1xuICBwdWJsaWMgaGFzQ2hpbGQoY29tcG9uZW50OiBDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGlsZHJlblNldC5oYXMoY29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBEZXNwaXRlIHRoZSBkZWNsYXJlZCBgdm9pZGAgcmV0dXJuIHR5cGUsIHRoaXMgbWV0aG9kIHJldHVybnMgYSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkIG9yIGBudWxsYCBpZiB0aGUgY29tcG9uZW50IGlzIGZ1bGx5IHN5bmNocm9ub3VzLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGxvYWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5oYXNCZWVuTG9hZGVkID0gdHJ1ZTtcbiAgICB0aGlzLnJlc2V0TG9hZFN0YXRlKCk7XG5cbiAgICB0aGlzLm9ubG9hZCgpO1xuXG4gICAgY29uc3Qgb25sb2FkQXN5bmNQcm9taXNlID0gdGhpcy5vbmxvYWRBc3luYygpO1xuICAgIGlmIChvbmxvYWRBc3luY1Byb21pc2UgIT09IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UpIHtcbiAgICAgIHRoaXMuYXBwZW5kRWFnZXJMb2FkU3RlcChvbmxvYWRBc3luY1Byb21pc2UpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygc25hcHNob3QodGhpcy5fY2hpbGRyZW4pKSB7XG4gICAgICB0aGlzLmFwcGVuZFNlcXVlbnRpYWxMb2FkU3RlcCgoKSA9PiB0aGlzLmV4dHJhY3RMb2FkUHJvbWlzYWJsZShjaGlsZCkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxvYWRQcm9taXNlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlLCBuby1yZXN0cmljdGVkLXN5bnRheCAtLSBXZSBuZWVkIHRvIGJ5cGFzcyB0eXBlIHN5c3RlbSB0byByZXR1cm4gYFByb21pc2U8dm9pZD5gLlxuICAgICAgcmV0dXJuIHRoaXMubG9hZFByb21pc2UgYXMgdW5rbm93biBhcyB2b2lkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgY29tcG9uZW50IHdpdGggcHJvbWlzZXMuXG4gICAqXG4gICAqIFVubGlrZSB7QGxpbmsgbG9hZH0sIHRoaXMgbWV0aG9kIG5ldmVyIHJlamVjdHMgd2l0aCBhbiBpbmRpdmlkdWFsIGVycm9yOiBldmVyeSBmYWlsdXJlIHJhaXNlZCBieSB7QGxpbmsgb25sb2FkQXN5bmN9XG4gICAqIG9yIGEgY2hpbGQncyBsb2FkIGlzIGNvbGxlY3RlZCwgYW5kIG9uY2UgZXZlcnl0aGluZyBzZXR0bGVzIHRoZSByZXR1cm5lZCB7QGxpbmsgUHJvbWlzZX0gcmVqZWN0cyB3aXRoIGEgc2luZ2xlXG4gICAqIHtAbGluayBBZ2dyZWdhdGVFcnJvcn0gaG9sZGluZyBhbGwgb2YgdGhlbS4gTm9uLWBFcnJvcmAgdGhyb3dhYmxlcyBhcmUgbm9ybWFsaXplZCB2aWEge0BsaW5rIEVycm9yV3JhcHBlci5jcmVhdGV9LlxuICAgKlxuICAgKiBUaGUgYEFnZ3JlZ2F0ZUVycm9yYCBpcyBidWlsdCBieSB7QGxpbmsgY3JlYXRlQWdncmVnYXRlRXJyb3J9LCBzbyBpdHMgb3duIGBtZXNzYWdlYCBuYW1lcyB0aGUgZmFpbHVyZSByYXRoZXJcbiAgICogdGhhbiBiZWluZyBlbXB0eTogYSBsb25lIGZhaWx1cmUgbGVuZHMgaXRzIG1lc3NhZ2UgdG8gZXZlcnkgYWdncmVnYXRlIGFib3ZlIGl0LCB3aGljaCBpcyB3aGF0IGxldHMgYSBjYWxsZXJcbiAgICogYXNzZXJ0IG9uIHRoZSBzZW50ZW5jZSB0aGF0IHdhcyBhY3R1YWxseSB0aHJvd24gd2l0aG91dCB3YWxraW5nIGBlcnJvcnNgIHRvIGZpbmQgaXQuXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tcG9uZW50IGFuZCBpdHMgY2hpbGRyZW4gZmluaXNoIGxvYWRpbmcsIHJlamVjdHMgd2l0aCBhbiB7QGxpbmsgQWdncmVnYXRlRXJyb3J9IGlmIGFueSBsb2FkIHN0ZXAgZmFpbGVkLCBvciBgbnVsbGAgaWYgdGhlIGNvbXBvbmVudCBhbmQgaXRzIGNoaWxkcmVuIGRvbid0IHVzZSBgYXN5bmNgIGxvZ2ljIGFuZCBub25lIGZhaWxlZCBzeW5jaHJvbm91c2x5LlxuICAgKi9cbiAgcHVibGljIGxvYWRXaXRoUHJvbWlzZXMoKTogbnVsbCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9hZCgpO1xuXG4gICAgY29uc3QgbG9hZFByb21pc2UgPSB0aGlzLmxvYWRQcm9taXNlO1xuICAgIGlmICghbG9hZFByb21pc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvYWRFcnJvcnMubGVuZ3RoID4gMCA/IFByb21pc2UucmVqZWN0KGNyZWF0ZUFnZ3JlZ2F0ZUVycm9yKHRoaXMubG9hZEVycm9ycykpIDogbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5sb2FkRXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhyb3cgY3JlYXRlQWdncmVnYXRlRXJyb3IodGhpcy5sb2FkRXJyb3JzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3luY2hyb25vdXNseSBsb2FkcyB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBPdmVycmlkZSB0byBhZGQgYXN5bmMgbG9hZCBsb2dpYywgd2hpY2ggaXMgZXhlY3V0ZWQgYWZ0ZXIge0BsaW5rIENvbXBvbmVudC5vbmxvYWR9LlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgb25sb2FkQXN5bmMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGFuIHtAbGluayBBc3luY0Rpc3Bvc2FibGV9IHNvIGl0cyBkaXNwb3NhbCBzdGFydHMgd2hlbiB0aGlzIGNvbXBvbmVudCB1bmxvYWRzLCBhbmQgcmV0dXJucyBpdCB1bmNoYW5nZWQuXG4gICAqXG4gICAqIE9ic2lkaWFuJ3MgdW5sb2FkIGlzIHN5bmNocm9ub3VzLCBzbyBub3RoaW5nIGF3YWl0cyB0aGUgZGlzcG9zYWw6IGl0IHJ1bnMgZGV0YWNoZWQsIGFuZCBhIGZhaWx1cmUgaXMgcmVwb3J0ZWQsIG5ldmVyXG4gICAqIHJldGhyb3duLiBTZWUgdGhlIGZyZWUgZnVuY3Rpb24ge0BsaW5rIHJlZ2lzdGVyQXN5bmNEaXNwb3NhYmxlfSwgd2hpY2ggdGhpcyBkZWxlZ2F0ZXMgdG8uXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVEFzeW5jRGlzcG9zYWJsZSAtIFRoZSB0eXBlIG9mIHRoZSBhc3luYyBkaXNwb3NhYmxlLlxuICAgKiBAcGFyYW0gYXN5bmNEaXNwb3NhYmxlIC0gVGhlIGFzeW5jIGRpc3Bvc2FibGUgdG8gcmVnaXN0ZXIuXG4gICAqIEByZXR1cm5zIFRoZSBzYW1lIGFzeW5jIGRpc3Bvc2FibGUsIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckFzeW5jRGlzcG9zYWJsZTxUQXN5bmNEaXNwb3NhYmxlIGV4dGVuZHMgQXN5bmNEaXNwb3NhYmxlPihhc3luY0Rpc3Bvc2FibGU6IFRBc3luY0Rpc3Bvc2FibGUpOiBUQXN5bmNEaXNwb3NhYmxlIHtcbiAgICByZXR1cm4gcmVnaXN0ZXJBc3luY0Rpc3Bvc2FibGUodGhpcywgYXN5bmNEaXNwb3NhYmxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSB7QGxpbmsgRGlzcG9zYWJsZX0gc28gaXQgaXMgZGlzcG9zZWQgd2hlbiB0aGlzIGNvbXBvbmVudCB1bmxvYWRzLCBhbmQgcmV0dXJucyBpdCB1bmNoYW5nZWQuXG4gICAqXG4gICAqIFRoZSByZWN1cnJpbmcgXCJ0aWUgYSBkaXNwb3NhYmxlIHRvIHRoZSBjb21wb25lbnQncyBsaWZlY3ljbGUsIHRoZW4ga2VlcCB1c2luZyBpdFwiIGlkaW9tOiB0aGUgZGlzcG9zYWJsZSBpc1xuICAgKiBkaXNwb3NlZCBvbiB7QGxpbmsgQ29tcG9uZW50LnVubG9hZH0gKG9yIGVhcmxpZXIsIGlmIHRoZSBjYWxsZXIgZGlzcG9zZXMgaXQgZGlyZWN0bHkg4oCUIGRpc3Bvc2UgaXMgZXhwZWN0ZWQgdG9cbiAgICogYmUgaWRlbXBvdGVudCkuIEd1YXJkIHdpdGgge0BsaW5rIGVuc3VyZUxvYWRlZH0gYXQgdGhlIGNhbGwgc2l0ZSB3aGVuIHJlZ2lzdGVyaW5nIGJlZm9yZSBsb2FkIHdvdWxkIGJlIHVuc2FmZS5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBURGlzcG9zYWJsZSAtIFRoZSB0eXBlIG9mIHRoZSBkaXNwb3NhYmxlLlxuICAgKiBAcGFyYW0gZGlzcG9zYWJsZSAtIFRoZSBkaXNwb3NhYmxlIHRvIHJlZ2lzdGVyLlxuICAgKiBAcmV0dXJucyBUaGUgc2FtZSBkaXNwb3NhYmxlLCBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJEaXNwb3NhYmxlPFREaXNwb3NhYmxlIGV4dGVuZHMgRGlzcG9zYWJsZT4oZGlzcG9zYWJsZTogVERpc3Bvc2FibGUpOiBURGlzcG9zYWJsZSB7XG4gICAgcmV0dXJuIHJlZ2lzdGVyRGlzcG9zYWJsZSh0aGlzLCBkaXNwb3NhYmxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgY2hpbGQgY29tcG9uZW50LlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFRDb21wb25lbnQgLSBUaGUgdHlwZSBvZiBjb21wb25lbnQgdG8gcmVtb3ZlLlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCBpbnN0YW5jZSB0byByZW1vdmUuXG4gICAqIEByZXR1cm5zIFRoZSByZW1vdmVkIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZW1vdmVDaGlsZDxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50Pihjb21wb25lbnQ6IFRDb21wb25lbnQpOiBUQ29tcG9uZW50IHtcbiAgICBzdXBlci5yZW1vdmVDaGlsZChjb21wb25lbnQpO1xuICAgIHRoaXMuY2hpbGRyZW5TZXQuZGVsZXRlKGNvbXBvbmVudCk7XG4gICAgaWYgKGNvbXBvbmVudCBpbnN0YW5jZW9mIENvbXBvbmVudEV4ICYmIGNvbXBvbmVudC5wYXJlbnRDb21wb25lbnQgPT09IHRoaXMpIHtcbiAgICAgIGNvbXBvbmVudC5wYXJlbnRDb21wb25lbnQgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3Bvc2VzIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgW1N5bWJvbC5kaXNwb3NlXSgpOiB2b2lkIHtcbiAgICB0aGlzLnVubG9hZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQsIHRocm93aW5nIGlmIGl0IGlzIG5vdC5cbiAgICpcbiAgICogVXNlIHRoaXMgdG8gZ3VhcmQgcHVibGljIG1ldGhvZHMgdGhhdCByZWdpc3RlciB0ZWFyZG93bi1iZWFyaW5nIHJlc291cmNlcyAodmlhIHtAbGluayBDb21wb25lbnQucmVnaXN0ZXJ9LFxuICAgKiB7QGxpbmsgQ29tcG9uZW50LnJlZ2lzdGVyRXZlbnR9LCB7QGxpbmsgQ29tcG9uZW50LnJlZ2lzdGVyRG9tRXZlbnR9LCBldGMuKS4gUmVnaXN0ZXJpbmcgYmVmb3JlIGxvYWQgaXMgdW5zYWZlOlxuICAgKiB7QGxpbmsgQ29tcG9uZW50LnVubG9hZH0gaXMgYSBuby1vcCB3aGlsZSB0aGUgY29tcG9uZW50IGlzIG5vdCBsb2FkZWQsIHNvIGFueSB0ZWFyZG93biByZWdpc3RlcmVkIGJlZm9yZWhhbmQgd291bGRcbiAgICogbmV2ZXIgcnVuIGlmIHRoZSBjb21wb25lbnQgaXMgdW5sb2FkZWQgd2l0aG91dCBmaXJzdCBiZWluZyBsb2FkZWQuXG4gICAqXG4gICAqIFRoZSB0d28gbm90LWxvYWRlZCBjYXNlcyBhcmUgZGVsaWJlcmF0ZWx5IGRpc3Rpbmd1aXNoZWQuIEEgY29tcG9uZW50IHRoYXQgd2FzIE5FVkVSIGxvYWRlZCBpcyBhIGdlbnVpbmVcbiAgICogcHJvZ3JhbW1pbmcgZXJyb3IsIHNvIGl0IHRocm93cyBhIGxvdWQge0BsaW5rIEVycm9yfS4gQSBjb21wb25lbnQgdGhhdCBoYXMgQUxSRUFEWSBiZWVuIHVubG9hZGVkIGlzIG5vdCDigJRcbiAgICogaXQgaXMgdGhlIGV4cGVjdGVkIG91dGNvbWUgb2Ygd29yayB0aGF0IG91dGxpdmVkIGl0cyBjb21wb25lbnQgKGUuZy4gYW4gYGFzeW5jYCBtZXRob2Qgc3VzcGVuZGVkIG9uIGFuXG4gICAqIGBhd2FpdGAgd2hpbGUgdGhlIGNvbXBvbmVudCB3YXMgdW5sb2FkZWQsIHRoZW4gcmVzdW1lZCkg4oCUIHNvIGl0IHRocm93cyBhIHtAbGluayBTaWxlbnRFcnJvcn0sIHdoaWNoXG4gICAqIGBoYW5kbGVTaWxlbnRFcnJvcmAgc3VwcHJlc3NlcywgbGV0dGluZyBzdWNoIHdvcmsgdW53aW5kIHF1aWV0bHkgaW5zdGVhZCBvZiByZXBvcnRpbmcgYW4gYXN5bmMgZXJyb3IuXG4gICAqXG4gICAqIEB0aHJvd3MgQW4ge0BsaW5rIEVycm9yfSBpZiB0aGUgY29tcG9uZW50IHdhcyBuZXZlciBsb2FkZWQsIG9yIGEge0BsaW5rIFNpbGVudEVycm9yfSBpZiBpdCBoYXMgYWxyZWFkeSBiZWVuIHVubG9hZGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGVuc3VyZUxvYWRlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNVbmxvYWRlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgU2lsZW50RXJyb3IoJ0NvbXBvbmVudCBpcyBhbHJlYWR5IHVubG9hZGVkJyk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgaXMgbm90IGxvYWRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSB7QGxpbmsgUHJvbWlzZX0gdGhhdCBzZXR0bGVzIG9uY2UgbmVpdGhlciB0aGlzIGNvbXBvbmVudCBub3IgYW55IHtAbGluayBDb21wb25lbnRFeH0gYW5jZXN0b3IgaGFzIGEgbG9hZFxuICAgKiBpbiBmbGlnaHQsIG9yIGBudWxsYCB3aGVuIG5vbmUgb2YgdGhlbSBoYXMgb25lIHJpZ2h0IG5vdy5cbiAgICpcbiAgICoge0BsaW5rIGdldEluRmxpZ2h0TG9hZFByb21pc2V9IGNvdmVycyB0aGlzIGNvbXBvbmVudCdzIE9XTiBsb2FkIG9ubHkuIEEgc2libGluZyB0aGlzIGNvbXBvbmVudCBkZXBlbmRzIG9uIOKAlCBtb3N0XG4gICAqIG9mdGVuIHRoZSBvd25pbmcgcGx1Z2luJ3Mgc2V0dGluZ3MgY29tcG9uZW50LCB3aGljaCByZWFkcyBgZGF0YS5qc29uYCBhc3luY2hyb25vdXNseSDigJQgaXMgb3V0c2lkZSBpdCwgYnV0IGl0IGlzXG4gICAqIGluc2lkZSB0aGUgbG9hZCBvZiBhIHNoYXJlZCBhbmNlc3Rvci4gV2FpdGluZyBmb3IgZXZlcnkgYW5jZXN0b3IgdGhlcmVmb3JlIHdhaXRzIGZvciB0aGUgd2hvbGUgdHJlZSB0aGUgY29tcG9uZW50XG4gICAqIHdhcyBsb2FkZWQgYXMgcGFydCBvZjogdW5kZXIgYFBsdWdpbkJhc2VgIHRoZSBjaGFpbiBlbmRzIGF0IHRoZSBwbHVnaW4ncyB1bml2ZXJzYWwgd3JhcHBlciwgd2hvc2UgbG9hZCBjb3ZlcnMgdGhlXG4gICAqIGRlcGVuZGVuY3kgZ2F0ZSwgdGhlIGZlYXR1cmUgc3VyZmFjZSBhbmQgYG9ubG9hZEltcGxgLlxuICAgKlxuICAgKiBUaGUgY2hhaW4gaXMgZm9sbG93ZWQgdGhyb3VnaCB7QGxpbmsgQ29tcG9uZW50RXh9IHBhcmVudHMgb25seS4gQSBwbGFpbiB7QGxpbmsgQ29tcG9uZW50fSBhbnl3aGVyZSBiZXR3ZWVuIHRoaXNcbiAgICogY29tcG9uZW50IGFuZCBhbiBhbmNlc3RvciBlbmRzIGl0LCBiZWNhdXNlIGEgcGxhaW4gY29tcG9uZW50IHJlY29yZHMgbm8gcGFyZW50IGFuZCBleHBvc2VzIG5vIGxvYWQgcHJvbWlzZS5cbiAgICpcbiAgICogTmV2ZXIgYXdhaXQgdGhpcyBmcm9tIGluc2lkZSBhIGxvYWQgc3RlcCBvZiBvbmUgb2YgdGhvc2UgYW5jZXN0b3JzOiB0aGUgYW5jZXN0b3IncyBsb2FkIHdvdWxkIHRoZW4gYmUgd2FpdGluZyBmb3JcbiAgICogaXRzZWxmLiBJdCBpcyBtZWFudCBmb3Igd29yayBzY2hlZHVsZWQgT1VUU0lERSB0aGUgbG9hZCwgc3VjaCBhcyBhIGxheW91dC1yZWFkeSBoYW5kbGVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgcHJvbWlzZSwgb3IgYG51bGxgIGlmIG5vdGhpbmcgaW4gdGhlIGFuY2VzdHJ5IGlzIGxvYWRpbmcuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0SW5GbGlnaHRBbmNlc3RyeUxvYWRQcm9taXNlKCk6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5maW5kSW5GbGlnaHRBbmNlc3RyeUxvYWRQcm9taXNlKCkgPyB0aGlzLndhaXRGb3JBbmNlc3RyeUxvYWQoKSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY29tcG9uZW50J3MgaW4tZmxpZ2h0IGxvYWQge0BsaW5rIFByb21pc2V9IChpdHMge0BsaW5rIG9ubG9hZEFzeW5jfSBwbHVzIGNoaWxkcmVuKSwgb3IgYG51bGxgIHdoZW5cbiAgICogbm90aGluZyBpcyBsb2FkaW5nIOKAlCBlaXRoZXIgdGhlIGNvbXBvbmVudCBsb2FkZWQgZnVsbHkgc3luY2hyb25vdXNseSBvciBpdHMgYXN5bmMgbG9hZCBoYXMgYWxyZWFkeSBzZXR0bGVkLlxuICAgKlxuICAgKiBMZXRzIGEgY2FsbGVyIHNjaGVkdWxlZCB3aGlsZSB0aGUgY29tcG9uZW50IGlzIHN0aWxsIGxvYWRpbmcgYXdhaXQgdGhlIGFzeW5jIGxvYWQgdGFpbCBiZWZvcmUgYWN0aW5nLCBpbnN0ZWFkIG9mXG4gICAqIHJhY2luZyBpdDoge0BsaW5rIENvbXBvbmVudC5vbmxvYWR9IGhhcyBydW4gKHNvIGBfbG9hZGVkYCBpcyBzZXQpIGJ1dCB7QGxpbmsgb25sb2FkQXN5bmN9IG1heSBub3QgaGF2ZSBmaW5pc2hlZC5cbiAgICpcbiAgICogSXQgY292ZXJzIHRoaXMgY29tcG9uZW50J3MgT1dOIGxvYWQgb25seS4gQSBjYWxsZXIgdGhhdCBhbHNvIGRlcGVuZHMgb24gYSBzaWJsaW5nJ3Mgc3RhdGUg4oCUIGEgbGF5b3V0LXJlYWR5IGhhbmRsZXJcbiAgICogcmVhZGluZyBzZXR0aW5ncyBpcyB0aGUgY29tbW9uIG9uZSDigJQgd2FudHMge0BsaW5rIGdldEluRmxpZ2h0QW5jZXN0cnlMb2FkUHJvbWlzZX0sIHdoaWNoIGBMYXlvdXRSZWFkeUNvbXBvbmVudGBcbiAgICogdXNlcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGluLWZsaWdodCBsb2FkIHByb21pc2UsIG9yIGBudWxsYCBpZiBubyBsb2FkIGlzIGluIGZsaWdodC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXRJbkZsaWdodExvYWRQcm9taXNlKCk6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIG1vc3QgcmVjZW50IGxvYWQgcmVjb3JkZWQgYW55IGZhaWx1cmUuXG4gICAqXG4gICAqIFJlZmxlY3RzIHRoZSBvdXRjb21lIG9mIHRoZSBsYXN0IHtAbGluayBsb2FkfSAvIHtAbGluayBsb2FkV2l0aFByb21pc2VzfTogYHRydWVgIHdoZW4ge0BsaW5rIG9ubG9hZEFzeW5jfSBvciBhbnlcbiAgICogY2hpbGQncyBsb2FkIHRocmV3IChzeW5jaHJvbm91c2x5IG9yIGFzeW5jaHJvbm91c2x5KS4gVW5saWtlIHtAbGluayBsb2FkV2l0aFByb21pc2VzfSwgcmVhZGluZyB0aGlzIGRvZXMgTk9UXG4gICAqIHJlLXJhaXNlIHRoZSBjb2xsZWN0ZWQgZXJyb3JzIOKAlCBpdCBsZXRzIGEgYnlzdGFuZGVyIChlLmcuIGEgbGF5b3V0LXJlYWR5IGhhbmRsZXIgYXdhaXRpbmcgdGhlIGluLWZsaWdodCBsb2FkKSB0ZWxsXG4gICAqIHdoZXRoZXIgdGhlIGxvYWQgc3VjY2VlZGVkIHdpdGhvdXQgYWRvcHRpbmcgYSBmYWlsdXJlIHRoYXQgdGhlIGxvYWQncyBvd25lciBpcyBhbHJlYWR5IHJlc3BvbnNpYmxlIGZvci5cbiAgICpcbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBsYXN0IGxvYWQgcmVjb3JkZWQgYXQgbGVhc3Qgb25lIGVycm9yLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG4gIHByb3RlY3RlZCBoYXNMb2FkRXJyb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRFcnJvcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBoYXMgYWxyZWFkeSBiZWVuIHVubG9hZGVkLCBhcyBvcHBvc2VkIHRvIHNpbXBseSBub3QgaGF2aW5nIGJlZW4gbG9hZGVkIHlldC5cbiAgICpcbiAgICogQm90aCBzdGF0ZXMgbGVhdmUgYF9sb2FkZWRgIGZhbHNlLCBidXQgdGhleSBtZWFuIG9wcG9zaXRlIHRoaW5nczogYSBjb21wb25lbnQgdGhhdCB3YXMgbmV2ZXIgbG9hZGVkIGlzIHN0aWxsXG4gICAqIGFoZWFkIG9mIGl0cyBsaWZlY3ljbGUgKHF1ZXVlaW5nIGNoaWxkcmVuIGJlZm9yZSBsb2FkIGlzIGxlZ2l0aW1hdGUpLCB3aGlsZSBhbiB1bmxvYWRlZCBvbmUgaXMgYmVoaW5kIGl0IGFuZFxuICAgKiBtdXN0IG5vdCBiZSB1c2VkIGFueSBmdXJ0aGVyLiBUaGUgZGlzdGluY3Rpb24gaXMgdHJhY2tlZCBieSBhIGZsYWcgc2V0IGluIHtAbGluayBsb2FkfSwgTk9UIGJ5IGFuXG4gICAqIHtAbGluayBDb21wb25lbnQub251bmxvYWR9IG92ZXJyaWRlLCBiZWNhdXNlIHN1YmNsYXNzZXMgb3ZlcnJpZGUgYG9udW5sb2FkYCBhbmQgbWF5IG5vdCBjYWxsIGBzdXBlcmAuXG4gICAqXG4gICAqIFVzZSBpdCBpbiBhIGxvbmctcnVubmluZyBgYXN5bmNgIG1ldGhvZCB0byBhYmFuZG9uIHdvcmsgd2hvc2UgY29tcG9uZW50IHdhcyB1bmxvYWRlZCBtaWQtZmxpZ2h0LCB3aGVuXG4gICAqIHVud2luZGluZyB2aWEgdGhlIHtAbGluayBTaWxlbnRFcnJvcn0gdGhyb3duIGJ5IHtAbGluayBlbnN1cmVMb2FkZWR9IC8ge0BsaW5rIGFkZENoaWxkfSBpcyBub3QgZGVzaXJlZC5cbiAgICpcbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBjb21wb25lbnQgd2FzIGxvYWRlZCBhdCBzb21lIHBvaW50IGFuZCBpcyBjdXJyZW50bHkgdW5sb2FkZWQsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGlzVW5sb2FkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzQmVlbkxvYWRlZCAmJiAhdGhpcy5fbG9hZGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcXVlbmNlcyBhbiBhbHJlYWR5LXN0YXJ0ZWQgbG9hZCBzdGVwIGludG8gdGhlIGxvYWQgcHJvbWlzZS5cbiAgICpcbiAgICogVGhlIHN0ZXAgaXMgcHJlc3VtZWQgdG8gaGF2ZSBzdGFydGVkIHN5bmNocm9ub3VzbHkgKHNvIGFueSBgX2xvYWRlZGAgZmxhZyBpdCBzZXRzIGlzIGFscmVhZHkgdmlzaWJsZSk7IG9ubHkgdGhlXG4gICAqIGF3YWl0aW5nIG9mIGl0cyBhc3luYyB0YWlsIGlzIHNlcXVlbmNlZCBoZXJlLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGUgLSBUaGUgcmVzdWx0IG9mIGFuIGFscmVhZHktc3RhcnRlZCBsb2FkIHN0ZXAuXG4gICAqL1xuICBwcml2YXRlIGFwcGVuZEVhZ2VyTG9hZFN0ZXAobG9hZFByb21pc2FibGU6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgY29uc3QgY2FwdHVyZWQgPSB0aGlzLmNhcHR1cmVTZXR0bGVkKGxvYWRQcm9taXNhYmxlKTtcbiAgICBpZiAoIWNhcHR1cmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLmxvYWRQcm9taXNlO1xuICAgIHRoaXMuc2V0TG9hZFByb21pc2UocHJldmlvdXMgPyBwcmV2aW91cy50aGVuKCgpID0+IGNhcHR1cmVkKSA6IGNhcHR1cmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXF1ZW5jZXMgYSBkZWZlcnJlZCBsb2FkIHN0ZXAgaW50byB0aGUgbG9hZCBwcm9taXNlLCBydW5uaW5nIGl0IG9ubHkgYWZ0ZXIgcHJldmlvdXNseS1hcHBlbmRlZCBzdGVwcyBzZXR0bGUuXG4gICAqXG4gICAqIEBwYXJhbSBsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uIC0gQSBmdW5jdGlvbiB0aGF0IHN0YXJ0cyB0aGUgbG9hZCBzdGVwIGFuZCByZXR1cm5zIGl0cyByZXN1bHQuXG4gICAqL1xuICBwcml2YXRlIGFwcGVuZFNlcXVlbnRpYWxMb2FkU3RlcChsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uOiAoKSA9PiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPik6IHZvaWQge1xuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5sb2FkUHJvbWlzZTtcbiAgICBpZiAocHJldmlvdXMpIHtcbiAgICAgIHRoaXMuc2V0TG9hZFByb21pc2UocHJldmlvdXMudGhlbigoKSA9PiB0aGlzLnJ1bkFuZENhcHR1cmUobG9hZFByb21pc2FibGVGdW5jdGlvbikpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjYXB0dXJlZCA9IHRoaXMuY2FwdHVyZVN5bmMobG9hZFByb21pc2FibGVGdW5jdGlvbik7XG4gICAgaWYgKGNhcHR1cmVkKSB7XG4gICAgICB0aGlzLnNldExvYWRQcm9taXNlKGNhcHR1cmVkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVjb3JkcyBhIGxvYWQgZmFpbHVyZS5cbiAgICpcbiAgICogQSBmYWlsdXJlIHJhaXNlZCBieSBhIGNoaWxkIHtAbGluayBDb21wb25lbnRFeH0gaXMgaXRzZWxmIGFuIHtAbGluayBBZ2dyZWdhdGVFcnJvcn07IGl0IGlzIHJlY29yZGVkIGFzLWlzIHNvIHRoZVxuICAgKiBncm91cGluZyBieSBjaGlsZCBjb21wb25lbnQgaXMgcHJlc2VydmVkIChvd24gZmFpbHVyZXMgc3RheSBmbGF0LCBjaGlsZC1zdWJ0cmVlIGZhaWx1cmVzIHN0YXkgbmVzdGVkKS5cbiAgICpcbiAgICogQHBhcmFtIGVycm9yIC0gVGhlIHRocm93biB2YWx1ZSB0byByZWNvcmQuXG4gICAqL1xuICBwcml2YXRlIGNhcHR1cmVFcnJvcihlcnJvcjogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMubG9hZEVycm9ycy5wdXNoKEVycm9yV3JhcHBlci5jcmVhdGUoZXJyb3IpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcmFwcyBhbiBhbHJlYWR5LXN0YXJ0ZWQgbG9hZCByZXN1bHQgc28gaXQgbmV2ZXIgcmVqZWN0czogYW55IGZhaWx1cmUgaXMgcmVjb3JkZWQgaW50byBgbG9hZEVycm9yc2AuXG4gICAqXG4gICAqIEBwYXJhbSBsb2FkUHJvbWlzYWJsZSAtIFRoZSBsb2FkIHJlc3VsdCB0byBvYnNlcnZlLlxuICAgKiBAcmV0dXJucyBBIG5ldmVyLXJlamVjdGluZyB7QGxpbmsgUHJvbWlzZX0sIG9yIGBudWxsYCBpZiB0aGUgcmVzdWx0IGlzIGZ1bGx5IHN5bmNocm9ub3VzLlxuICAgKi9cbiAgcHJpdmF0ZSBjYXB0dXJlU2V0dGxlZChsb2FkUHJvbWlzYWJsZTogbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGxvYWRQcm9taXNhYmxlID09PSBudWxsIHx8IGxvYWRQcm9taXNhYmxlID09PSB1bmRlZmluZWRcbiAgICAgID8gbnVsbFxuICAgICAgOiBQcm9taXNlLnJlc29sdmUobG9hZFByb21pc2FibGUpLnRoZW4obm9vcCkuY2F0Y2goKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgIHRoaXMuY2FwdHVyZUVycm9yKGVycm9yKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYSBsb2FkIHN0ZXAgc3luY2hyb25vdXNseSwgcmVjb3JkaW5nIGEgc3luY2hyb25vdXMgdGhyb3csIGFuZCB3cmFwcyBhbnkgYXN5bmMgdGFpbCBzbyBpdCBuZXZlciByZWplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZFByb21pc2FibGVGdW5jdGlvbiAtIEEgZnVuY3Rpb24gdGhhdCBzdGFydHMgdGhlIGxvYWQgc3RlcCBhbmQgcmV0dXJucyBpdHMgcmVzdWx0LlxuICAgKiBAcmV0dXJucyBBIG5ldmVyLXJlamVjdGluZyB7QGxpbmsgUHJvbWlzZX0sIG9yIGBudWxsYCBpZiB0aGUgc3RlcCBpcyBmdWxseSBzeW5jaHJvbm91cy5cbiAgICovXG4gIHByaXZhdGUgY2FwdHVyZVN5bmMobG9hZFByb21pc2FibGVGdW5jdGlvbjogKCkgPT4gbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IGxvYWRQcm9taXNhYmxlOiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPjtcbiAgICB0cnkge1xuICAgICAgbG9hZFByb21pc2FibGUgPSBsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuY2FwdHVyZUVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhcHR1cmVTZXR0bGVkKGxvYWRQcm9taXNhYmxlKTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdExvYWRQcm9taXNhYmxlKGNvbXBvbmVudDogQ29tcG9uZW50KTogbnVsbCB8IFByb21pc2FibGU8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jaGlsZHJlblNldC5oYXMoY29tcG9uZW50KSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tY29uZnVzaW5nLXZvaWQtZXhwcmVzc2lvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtYXNzZXJ0aW9uIC0tIEl0IGNhbiBiZSBgUHJvbWlzZTx2b2lkPmAgaW4gcnVudGltZS4gV2FudCBleHBsaWNpdGx5IGNhc3QgdG8gc2hvdyB3ZSBrbm93IGl0IG1heSBiZSBwcm9taXNlLCBkZXNwaXRlIHRoZSBkZWNsYXJlZCB0eXBlIGB2b2lkYC5cbiAgICByZXR1cm4gY29tcG9uZW50IGluc3RhbmNlb2YgQ29tcG9uZW50RXggPyBjb21wb25lbnQubG9hZFdpdGhQcm9taXNlcygpIDogY29tcG9uZW50LmxvYWQoKSBhcyBQcm9taXNhYmxlPHZvaWQ+O1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kSW5GbGlnaHRBbmNlc3RyeUxvYWRQcm9taXNlKCk6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkUHJvbWlzZSA/PyB0aGlzLnBhcmVudENvbXBvbmVudD8uZmluZEluRmxpZ2h0QW5jZXN0cnlMb2FkUHJvbWlzZSgpID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0TG9hZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZEVycm9ycyA9IFtdO1xuICAgIHRoaXMubG9hZFByb21pc2UgPSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYSBkZWZlcnJlZCBsb2FkIHN0ZXAsIHJlY29yZGluZyBhIHN5bmNocm9ub3VzIHRocm93IG9yIGFuIGFzeW5jIHJlamVjdGlvbiB3aXRob3V0IGV2ZXIgcmUtdGhyb3dpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBsb2FkUHJvbWlzYWJsZUZ1bmN0aW9uIC0gQSBmdW5jdGlvbiB0aGF0IHN0YXJ0cyB0aGUgbG9hZCBzdGVwIGFuZCByZXR1cm5zIGl0cyByZXN1bHQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHJ1bkFuZENhcHR1cmUobG9hZFByb21pc2FibGVGdW5jdGlvbjogKCkgPT4gbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgKGxvYWRQcm9taXNhYmxlRnVuY3Rpb24oKSA/PyB1bmRlZmluZWQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmNhcHR1cmVFcnJvcihlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRMb2FkUHJvbWlzZShsb2FkUHJvbWlzZTogUHJvbWlzZTx2b2lkPik6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRQcm9taXNlV2l0aFJlc2V0OiBQcm9taXNlPHZvaWQ+ID0gbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSA9PT0gbG9hZFByb21pc2VXaXRoUmVzZXQpIHtcbiAgICAgICAgdGhpcy5sb2FkUHJvbWlzZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5sb2FkUHJvbWlzZSA9IGxvYWRQcm9taXNlV2l0aFJlc2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIEF3YWl0cyBpbi1mbGlnaHQgbG9hZHMgaW4gdGhlIGFuY2VzdHJ5IHVudGlsIG5vbmUgaXMgbGVmdC5cbiAgICpcbiAgICogTG9vcGVkIHJhdGhlciB0aGFuIGF3YWl0ZWQgb25jZSwgYmVjYXVzZSBhbiBhbmNlc3RvcidzIGxvYWQgY2FuIGdyb3cgd2hpbGUgaXQgaXMgYmVpbmcgYXdhaXRlZDogYSBjaGlsZCBhZGRlZFxuICAgKiB0byBhbiBhbHJlYWR5LWxvYWRlZCBjb21wb25lbnQgYXBwZW5kcyBpdHMgYXN5bmMgdGFpbCB0byB0aGF0IGNvbXBvbmVudCdzIGxvYWQgcHJvbWlzZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgd2FpdEZvckFuY2VzdHJ5TG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgbG9hZFByb21pc2UgPSB0aGlzLmZpbmRJbkZsaWdodEFuY2VzdHJ5TG9hZFByb21pc2UoKTtcbiAgICB3aGlsZSAobG9hZFByb21pc2UpIHtcbiAgICAgIGF3YWl0IGxvYWRQcm9taXNlO1xuICAgICAgbG9hZFByb21pc2UgPSB0aGlzLmZpbmRJbkZsaWdodEFuY2VzdHJ5TG9hZFByb21pc2UoKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLDZCQUFxQztBQUNyQyxtQkFBeUI7QUFDekIsbUJBR087QUFDUCxzQkFHTztBQUNQLHNCQUEwQjtBQUUxQix3QkFHTztBQU1BLE1BQU0sb0JBQW9CLDBCQUFnQztBQUFBLEVBQzlDLGNBQWMsb0JBQUksSUFBZTtBQUFBLEVBQzFDLGdCQUFnQjtBQUFBLEVBQ2hCLGFBQXNCLENBQUM7QUFBQSxFQUN2QixjQUFvQztBQUFBLEVBQ3BDLGtCQUFzQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBb0I5QixTQUF1QyxXQUFtQztBQUN4RixRQUFJLEtBQUssV0FBVyxHQUFHO0FBQ3JCLFlBQU0sSUFBSSx5QkFBWSwrQkFBK0I7QUFBQSxJQUN2RDtBQUVBLFNBQUssVUFBVSxLQUFLLFNBQVM7QUFDN0IsU0FBSyxZQUFZLElBQUksU0FBUztBQUM5QixRQUFJLHFCQUFxQixhQUFhO0FBQ3BDLGdCQUFVLGtCQUFrQjtBQUFBLElBQzlCO0FBRUEsUUFBSSxLQUFLLFNBQVM7QUFDaEIsV0FBSyxvQkFBb0IsS0FBSyxzQkFBc0IsU0FBUyxDQUFDO0FBQUEsSUFDaEU7QUFFQSxXQUFPO0FBQUEsRUFD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
|
|
@@ -72,6 +72,17 @@ export declare class ComponentEx extends Component implements Disposable {
|
|
|
72
72
|
* @returns A {@link Promise} that resolves when the component is loaded.
|
|
73
73
|
*/
|
|
74
74
|
onloadAsync(): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Registers an {@link AsyncDisposable} so its disposal starts when this component unloads, and returns it unchanged.
|
|
77
|
+
*
|
|
78
|
+
* Obsidian's unload is synchronous, so nothing awaits the disposal: it runs detached, and a failure is reported, never
|
|
79
|
+
* rethrown. See the free function {@link registerAsyncDisposable}, which this delegates to.
|
|
80
|
+
*
|
|
81
|
+
* @typeParam TAsyncDisposable - The type of the async disposable.
|
|
82
|
+
* @param asyncDisposable - The async disposable to register.
|
|
83
|
+
* @returns The same async disposable, for chaining.
|
|
84
|
+
*/
|
|
85
|
+
registerAsyncDisposable<TAsyncDisposable extends AsyncDisposable>(asyncDisposable: TAsyncDisposable): TAsyncDisposable;
|
|
75
86
|
/**
|
|
76
87
|
* Registers a {@link Disposable} so it is disposed when this component unloads, and returns it unchanged.
|
|
77
88
|
*
|
|
@@ -117,8 +117,8 @@ __export(console_debug_component_exports, {
|
|
|
117
117
|
ConsoleDebugComponent: () => ConsoleDebugComponent
|
|
118
118
|
});
|
|
119
119
|
module.exports = __toCommonJS(console_debug_component_exports);
|
|
120
|
-
var import_debug = require(
|
|
121
|
-
var import_component_ex = require(
|
|
120
|
+
var import_debug = require("@mnaoumov/typescript-lib/debug");
|
|
121
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
122
122
|
class ConsoleDebugComponent extends import_component_ex.ComponentEx {
|
|
123
123
|
/**
|
|
124
124
|
* Creates a new console debug component.
|
|
@@ -117,8 +117,8 @@ __export(core_plugin_toggle_component_exports, {
|
|
|
117
117
|
CorePluginToggleComponent: () => CorePluginToggleComponent
|
|
118
118
|
});
|
|
119
119
|
module.exports = __toCommonJS(core_plugin_toggle_component_exports);
|
|
120
|
-
var import_async = require(
|
|
121
|
-
var import_component_ex = require(
|
|
120
|
+
var import_async = require("@mnaoumov/typescript-lib/async");
|
|
121
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
122
122
|
class CorePluginToggleComponent extends import_component_ex.ComponentEx {
|
|
123
123
|
/**
|
|
124
124
|
* The Obsidian app instance.
|
|
@@ -123,7 +123,7 @@ __export(disposable_component_exports, {
|
|
|
123
123
|
asDisposableComponent: () => asDisposableComponent
|
|
124
124
|
});
|
|
125
125
|
module.exports = __toCommonJS(disposable_component_exports);
|
|
126
|
-
var import_obsidian = require(
|
|
126
|
+
var import_obsidian = require("obsidian");
|
|
127
127
|
function asDisposableComponent(component) {
|
|
128
128
|
const disposableEx = component;
|
|
129
129
|
const symbolDispose = disposableEx[Symbol.dispose] ?? (() => {
|
|
@@ -139,4 +139,4 @@ function asDisposableComponent(component) {
|
|
|
139
139
|
0 && (module.exports = {
|
|
140
140
|
asDisposableComponent
|
|
141
141
|
});
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEaXNwb3NhYmxlIGNvbXBvbmVudCBiYXNlIGNsYXNzIGFuZCB1dGlsaXRpZXMgZm9yIGB1c2luZ2AgZGVjbGFyYXRpb25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGlzcG9zYWJsZUV4IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHR5cGUgeyBXcml0YWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ29ic2lkaWFuJztcblxudHlwZSBEaXNwb3NhYmxlQ29tcG9uZW50V3JhcHBlcjxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PiA9IERpc3Bvc2FibGVFeCAmIFRDb21wb25lbnQ7XG5cbi8qKlxuICogQ29udmVydCBjb21wb25lbnQgdG8gYSB7QGxpbmsgRGlzcG9zYWJsZUV4fSBpbnRlcmZhY2UgYnkgYWRkaW5nIGBTeW1ib2wuZGlzcG9zZWAgYW5kIGEgY29udmVuaWVuY2VcbiAqIHtAbGluayBEaXNwb3NhYmxlRXguZGlzcG9zZX0gbWV0aG9kIHRoYXQgdW5sb2FkcyB0aGUgY29tcG9uZW50IHdoZW4gZGlzcG9zZWQuXG4gKlxuICogQW4gZXhpc3RpbmcgYFN5bWJvbC5kaXNwb3NlYCBpcyBwcmVzZXJ2ZWQ7IHRoZSBjb252ZW5pZW5jZSB7QGxpbmsgRGlzcG9zYWJsZUV4LmRpc3Bvc2V9IG1ldGhvZCBhbHdheXNcbiAqIGRlbGVnYXRlcyB0byBpdC4gVGhlIHBhc3NlZCBjb21wb25lbnQgaXMgbXV0YXRlZCBpbiBwbGFjZSBhbmQgcmV0dXJuZWQsIHNvIHRoZSBjYWxsIGlzIGlkZW1wb3RlbnQuXG4gKlxuICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIHdyYXAsIGNvbnN0cmFpbmVkIHRvIGV4dGVuZCBDb21wb25lbnQuXG4gKlxuICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gd3JhcCB3aXRoIERpc3Bvc2FibGUgc3VwcG9ydC5cbiAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQgY2FzdCB0byBgRGlzcG9zYWJsZUNvbXBvbmVudFdyYXBwZXJgIHdpdGggYFN5bWJvbC5kaXNwb3NlYCBhbmQgYGRpc3Bvc2VgXG4gKiAgIGF0dGFjaGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNEaXNwb3NhYmxlQ29tcG9uZW50PFRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ+KGNvbXBvbmVudDogVENvbXBvbmVudCk6IERpc3Bvc2FibGVDb21wb25lbnRXcmFwcGVyPFRDb21wb25lbnQ+IHtcbiAgY29uc3QgZGlzcG9zYWJsZUV4ID0gY29tcG9uZW50IGFzIFBhcnRpYWw8V3JpdGFibGU8RGlzcG9zYWJsZUV4Pj47XG4gIGNvbnN0IHN5bWJvbERpc3Bvc2U6ICgpID0+IHZvaWQgPSBkaXNwb3NhYmxlRXhbU3ltYm9sLmRpc3Bvc2VdID8/ICgoKTogdm9pZCA9PiB7XG4gICAgY29tcG9uZW50LnVubG9hZCgpO1xuICB9KTtcbiAgZGlzcG9zYWJsZUV4W1N5bWJvbC5kaXNwb3NlXSA9IHN5bWJvbERpc3Bvc2U7XG4gIGRpc3Bvc2FibGVFeC5kaXNwb3NlID0gKCk6IHZvaWQgPT4ge1xuICAgIHN5bWJvbERpc3Bvc2UoKTtcbiAgfTtcbiAgcmV0dXJuIGRpc3Bvc2FibGVFeCBhcyBEaXNwb3NhYmxlQ29tcG9uZW50V3JhcHBlcjxUQ29tcG9uZW50Pjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBLHNCQUEwQjtBQWlCbkIsU0FBUyxzQkFBb0QsV0FBK0Q7QUFDakksUUFBTSxlQUFlO0FBQ3JCLFFBQU0sZ0JBQTRCLGFBQWEsT0FBTyxPQUFPLE1BQU0sTUFBWTtBQUM3RSxjQUFVLE9BQU87QUFBQSxFQUNuQjtBQUNBLGVBQWEsT0FBTyxPQUFPLElBQUk7QUFDL0IsZUFBYSxVQUFVLE1BQVk7QUFDakMsa0JBQWM7QUFBQSxFQUNoQjtBQUNBLFNBQU87QUFDVDsiLCJuYW1lcyI6W119
|
|
@@ -90,7 +90,7 @@ __export(embed_extensions_component_exports, {
|
|
|
90
90
|
EmbedExtensionsComponent: () => EmbedExtensionsComponent
|
|
91
91
|
});
|
|
92
92
|
module.exports = __toCommonJS(embed_extensions_component_exports);
|
|
93
|
-
var import_component_ex = require(
|
|
93
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
94
94
|
class EmbedExtensionsComponent extends import_component_ex.ComponentEx {
|
|
95
95
|
/**
|
|
96
96
|
* Creates a new instance of the {@link EmbedExtensionsComponent} class.
|
|
@@ -117,14 +117,14 @@ __export(embeddable_markdown_editor_component_exports, {
|
|
|
117
117
|
EmbeddableMarkdownEditorComponent: () => EmbeddableMarkdownEditorComponent
|
|
118
118
|
});
|
|
119
119
|
module.exports = __toCommonJS(embeddable_markdown_editor_component_exports);
|
|
120
|
-
var import_state = require(
|
|
121
|
-
var import_view = require(
|
|
122
|
-
var import_function = require(
|
|
123
|
-
var import_object_utils = require(
|
|
124
|
-
var import_type_guards = require(
|
|
125
|
-
var import_obsidian = require(
|
|
126
|
-
var import_component_ex = require(
|
|
127
|
-
var import_monkey_around_component = require(
|
|
120
|
+
var import_state = require("@codemirror/state");
|
|
121
|
+
var import_view = require("@codemirror/view");
|
|
122
|
+
var import_function = require("@mnaoumov/typescript-lib/function");
|
|
123
|
+
var import_object_utils = require("@mnaoumov/typescript-lib/object-utils");
|
|
124
|
+
var import_type_guards = require("@mnaoumov/typescript-lib/type-guards");
|
|
125
|
+
var import_obsidian = require("obsidian");
|
|
126
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
127
|
+
var import_monkey_around_component = require("./monkey-around-component.cjs");
|
|
128
128
|
const scrollableMarkdownEditorConstructorCache = { value: null };
|
|
129
129
|
class EmbeddableMarkdownEditorComponent extends import_component_ex.ComponentEx {
|
|
130
130
|
/**
|
|
@@ -119,13 +119,13 @@ __export(file_explorer_root_menu_component_exports, {
|
|
|
119
119
|
VAULT_NAME_SELECTORS: () => VAULT_NAME_SELECTORS
|
|
120
120
|
});
|
|
121
121
|
module.exports = __toCommonJS(file_explorer_root_menu_component_exports);
|
|
122
|
-
var import_async = require(
|
|
123
|
-
var import_object_utils = require(
|
|
124
|
-
var import_implementations = require(
|
|
125
|
-
var import_obsidian = require(
|
|
126
|
-
var import_obsidian_lib_state = require(
|
|
127
|
-
var import_component_ex = require(
|
|
128
|
-
var import_monkey_around_component = require(
|
|
122
|
+
var import_async = require("@mnaoumov/typescript-lib/async");
|
|
123
|
+
var import_object_utils = require("@mnaoumov/typescript-lib/object-utils");
|
|
124
|
+
var import_implementations = require("@obsidian-typings/obsidian-public-latest/implementations");
|
|
125
|
+
var import_obsidian = require("obsidian");
|
|
126
|
+
var import_obsidian_lib_state = require("../obsidian-lib-state.cjs");
|
|
127
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
128
|
+
var import_monkey_around_component = require("./monkey-around-component.cjs");
|
|
129
129
|
const VAULT_NAME_SELECTORS = [
|
|
130
130
|
".workspace-drawer-vault-switcher",
|
|
131
131
|
".workspace-drawer-header-name"
|
|
@@ -90,8 +90,8 @@ __export(generate_markdown_link_default_params_component_exports, {
|
|
|
90
90
|
GenerateMarkdownLinkDefaultParamsComponent: () => GenerateMarkdownLinkDefaultParamsComponent
|
|
91
91
|
});
|
|
92
92
|
module.exports = __toCommonJS(generate_markdown_link_default_params_component_exports);
|
|
93
|
-
var import_link = require(
|
|
94
|
-
var import_component_ex = require(
|
|
93
|
+
var import_link = require("../link.cjs");
|
|
94
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
95
95
|
class GenerateMarkdownLinkDefaultParamsComponent extends import_component_ex.ComponentEx {
|
|
96
96
|
/**
|
|
97
97
|
* Returns the default {@link GenerateMarkdownLinkParams} registered while this component is loaded.
|
|
@@ -117,10 +117,10 @@ __export(incremental_file_index_component_exports, {
|
|
|
117
117
|
IncrementalFileIndexComponent: () => IncrementalFileIndexComponent
|
|
118
118
|
});
|
|
119
119
|
module.exports = __toCommonJS(incremental_file_index_component_exports);
|
|
120
|
-
var import_async = require(
|
|
121
|
-
var import_function = require(
|
|
122
|
-
var import_obsidian = require(
|
|
123
|
-
var import_component_ex = require(
|
|
120
|
+
var import_async = require("@mnaoumov/typescript-lib/async");
|
|
121
|
+
var import_function = require("@mnaoumov/typescript-lib/function");
|
|
122
|
+
var import_obsidian = require("obsidian");
|
|
123
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
124
124
|
const SAVE_DEBOUNCE_IN_MILLISECONDS = 5e3;
|
|
125
125
|
class IncrementalFileIndexComponent extends import_component_ex.ComponentEx {
|
|
126
126
|
/**
|
|
@@ -135,48 +135,52 @@ __export(components_exports, {
|
|
|
135
135
|
"style-sheet-component": () => style_sheet_component,
|
|
136
136
|
"syntax-highlighting-component": () => syntax_highlighting_component,
|
|
137
137
|
"templates-language-component": () => templates_language_component,
|
|
138
|
+
"worker-component": () => worker_component,
|
|
139
|
+
"worker-pool-component": () => worker_pool_component,
|
|
138
140
|
"workspace-layout-state-component": () => workspace_layout_state_component
|
|
139
141
|
});
|
|
140
142
|
module.exports = __toCommonJS(components_exports);
|
|
141
|
-
var abort_signal_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
142
|
-
var all_windows_event_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
143
|
-
var all_windows_status_bar_item_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
144
|
-
var async_error_handler_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
145
|
-
var async_events_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
146
|
-
var bulk_operation_commit_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
147
|
-
var case_insensitive_file_index_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
148
|
-
var component_ex = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
149
|
-
var console_debug_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
150
|
-
var core_plugin_toggle_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
151
|
-
var disposable_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
152
|
-
var embed_extensions_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
153
|
-
var embeddable_markdown_editor_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
154
|
-
var file_explorer_root_menu_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
155
|
-
var generate_markdown_link_default_params_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
156
|
-
var incremental_file_index_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
157
|
-
var layout_ready_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
158
|
-
var menu_event_registrar_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
159
|
-
var monkey_around_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
160
|
-
var notebook_navigator_menu_event_registrar_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
161
|
-
var plugin_context_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
162
|
-
var plugin_gate_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
163
|
-
var plugin_notice_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
164
|
-
var plugin_settings_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
165
|
-
var plugin_settings_tab_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
166
|
-
var plugin_suggestion_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
167
|
-
var pointer_position_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
168
|
-
var reconfigurable_editor_extension_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
169
|
-
var registry_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
170
|
-
var release_notes_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
171
|
-
var rename_delete_handler_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
172
|
-
var rmdir_guard_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
173
|
-
var settings_facet_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
174
|
-
var settings_migration_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
175
|
-
var shared_component_pool_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
176
|
-
var style_sheet_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
177
|
-
var syntax_highlighting_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
178
|
-
var templates_language_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require(
|
|
179
|
-
var
|
|
143
|
+
var abort_signal_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./abort-signal-component.cjs")), 1);
|
|
144
|
+
var all_windows_event_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./all-windows-event-component.cjs")), 1);
|
|
145
|
+
var all_windows_status_bar_item_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./all-windows-status-bar-item-component.cjs")), 1);
|
|
146
|
+
var async_error_handler_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./async-error-handler-component.cjs")), 1);
|
|
147
|
+
var async_events_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./async-events-component.cjs")), 1);
|
|
148
|
+
var bulk_operation_commit_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./bulk-operation-commit-component.cjs")), 1);
|
|
149
|
+
var case_insensitive_file_index_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./case-insensitive-file-index-component.cjs")), 1);
|
|
150
|
+
var component_ex = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./component-ex.cjs")), 1);
|
|
151
|
+
var console_debug_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./console-debug-component.cjs")), 1);
|
|
152
|
+
var core_plugin_toggle_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./core-plugin-toggle-component.cjs")), 1);
|
|
153
|
+
var disposable_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./disposable-component.cjs")), 1);
|
|
154
|
+
var embed_extensions_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./embed-extensions-component.cjs")), 1);
|
|
155
|
+
var embeddable_markdown_editor_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./embeddable-markdown-editor-component.cjs")), 1);
|
|
156
|
+
var file_explorer_root_menu_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./file-explorer-root-menu-component.cjs")), 1);
|
|
157
|
+
var generate_markdown_link_default_params_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./generate-markdown-link-default-params-component.cjs")), 1);
|
|
158
|
+
var incremental_file_index_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./incremental-file-index-component.cjs")), 1);
|
|
159
|
+
var layout_ready_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./layout-ready-component.cjs")), 1);
|
|
160
|
+
var menu_event_registrar_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./menu-event-registrar-component.cjs")), 1);
|
|
161
|
+
var monkey_around_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./monkey-around-component.cjs")), 1);
|
|
162
|
+
var notebook_navigator_menu_event_registrar_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./notebook-navigator-menu-event-registrar-component.cjs")), 1);
|
|
163
|
+
var plugin_context_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./plugin-context-component.cjs")), 1);
|
|
164
|
+
var plugin_gate_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./plugin-gate-component.cjs")), 1);
|
|
165
|
+
var plugin_notice_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./plugin-notice-component.cjs")), 1);
|
|
166
|
+
var plugin_settings_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./plugin-settings-component.cjs")), 1);
|
|
167
|
+
var plugin_settings_tab_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./plugin-settings-tab-component.cjs")), 1);
|
|
168
|
+
var plugin_suggestion_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./plugin-suggestion-component.cjs")), 1);
|
|
169
|
+
var pointer_position_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./pointer-position-component.cjs")), 1);
|
|
170
|
+
var reconfigurable_editor_extension_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./reconfigurable-editor-extension-component.cjs")), 1);
|
|
171
|
+
var registry_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./registry-component.cjs")), 1);
|
|
172
|
+
var release_notes_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./release-notes-component.cjs")), 1);
|
|
173
|
+
var rename_delete_handler_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./rename-delete-handler-component.cjs")), 1);
|
|
174
|
+
var rmdir_guard_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./rmdir-guard-component.cjs")), 1);
|
|
175
|
+
var settings_facet_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./settings-facet-component.cjs")), 1);
|
|
176
|
+
var settings_migration_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./settings-migration-component.cjs")), 1);
|
|
177
|
+
var shared_component_pool_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./shared-component-pool-component.cjs")), 1);
|
|
178
|
+
var style_sheet_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./style-sheet-component.cjs")), 1);
|
|
179
|
+
var syntax_highlighting_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./syntax-highlighting-component.cjs")), 1);
|
|
180
|
+
var templates_language_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./templates-language-component.cjs")), 1);
|
|
181
|
+
var worker_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./worker-component.cjs")), 1);
|
|
182
|
+
var worker_pool_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./worker-pool-component.cjs")), 1);
|
|
183
|
+
var workspace_layout_state_component = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require("./workspace-layout-state-component.cjs")), 1);
|
|
180
184
|
// Annotate the CommonJS export names for ESM import in node:
|
|
181
185
|
0 && (module.exports = {
|
|
182
186
|
"abort-signal-component": null,
|
|
@@ -217,6 +221,8 @@ var workspace_layout_state_component = __toESM(((module) => module && module.__e
|
|
|
217
221
|
"style-sheet-component": null,
|
|
218
222
|
"syntax-highlighting-component": null,
|
|
219
223
|
"templates-language-component": null,
|
|
224
|
+
"worker-component": null,
|
|
225
|
+
"worker-pool-component": null,
|
|
220
226
|
"workspace-layout-state-component": null
|
|
221
227
|
});
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyAnYWJvcnQtc2lnbmFsLWNvbXBvbmVudCcgZnJvbSAnLi9hYm9ydC1zaWduYWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhbGwtd2luZG93cy1ldmVudC1jb21wb25lbnQnIGZyb20gJy4vYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhbGwtd2luZG93cy1zdGF0dXMtYmFyLWl0ZW0tY29tcG9uZW50JyBmcm9tICcuL2FsbC13aW5kb3dzLXN0YXR1cy1iYXItaXRlbS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50JyBmcm9tICcuL2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy1ldmVudHMtY29tcG9uZW50JyBmcm9tICcuL2FzeW5jLWV2ZW50cy1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2J1bGstb3BlcmF0aW9uLWNvbW1pdC1jb21wb25lbnQnIGZyb20gJy4vYnVsay1vcGVyYXRpb24tY29tbWl0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LWNvbXBvbmVudCcgZnJvbSAnLi9jYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdjb21wb25lbnQtZXgnIGZyb20gJy4vY29tcG9uZW50LWV4LnRzJztcbmV4cG9ydCAqIGFzICdjb25zb2xlLWRlYnVnLWNvbXBvbmVudCcgZnJvbSAnLi9jb25zb2xlLWRlYnVnLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnY29yZS1wbHVnaW4tdG9nZ2xlLWNvbXBvbmVudCcgZnJvbSAnLi9jb3JlLXBsdWdpbi10b2dnbGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdkaXNwb3NhYmxlLWNvbXBvbmVudCcgZnJvbSAnLi9kaXNwb3NhYmxlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZW1iZWQtZXh0ZW5zaW9ucy1jb21wb25lbnQnIGZyb20gJy4vZW1iZWQtZXh0ZW5zaW9ucy1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2VtYmVkZGFibGUtbWFya2Rvd24tZWRpdG9yLWNvbXBvbmVudCcgZnJvbSAnLi9lbWJlZGRhYmxlLW1hcmtkb3duLWVkaXRvci1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2ZpbGUtZXhwbG9yZXItcm9vdC1tZW51LWNvbXBvbmVudCcgZnJvbSAnLi9maWxlLWV4cGxvcmVyLXJvb3QtbWVudS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2dlbmVyYXRlLW1hcmtkb3duLWxpbmstZGVmYXVsdC1wYXJhbXMtY29tcG9uZW50JyBmcm9tICcuL2dlbmVyYXRlLW1hcmtkb3duLWxpbmstZGVmYXVsdC1wYXJhbXMtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdpbmNyZW1lbnRhbC1maWxlLWluZGV4LWNvbXBvbmVudCcgZnJvbSAnLi9pbmNyZW1lbnRhbC1maWxlLWluZGV4LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnbGF5b3V0LXJlYWR5LWNvbXBvbmVudCcgZnJvbSAnLi9sYXlvdXQtcmVhZHktY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdtZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQnIGZyb20gJy4vbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdtb25rZXktYXJvdW5kLWNvbXBvbmVudCcgZnJvbSAnLi9tb25rZXktYXJvdW5kLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudCcgZnJvbSAnLi9ub3RlYm9vay1uYXZpZ2F0b3ItbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tY29udGV4dC1jb21wb25lbnQnIGZyb20gJy4vcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tZ2F0ZS1jb21wb25lbnQnIGZyb20gJy4vcGx1Z2luLWdhdGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tbm90aWNlLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLXN1Z2dlc3Rpb24tY29tcG9uZW50JyBmcm9tICcuL3BsdWdpbi1zdWdnZXN0aW9uLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncG9pbnRlci1wb3NpdGlvbi1jb21wb25lbnQnIGZyb20gJy4vcG9pbnRlci1wb3NpdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3JlY29uZmlndXJhYmxlLWVkaXRvci1leHRlbnNpb24tY29tcG9uZW50JyBmcm9tICcuL3JlY29uZmlndXJhYmxlLWVkaXRvci1leHRlbnNpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdyZWdpc3RyeS1jb21wb25lbnQnIGZyb20gJy4vcmVnaXN0cnktY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdyZWxlYXNlLW5vdGVzLWNvbXBvbmVudCcgZnJvbSAnLi9yZWxlYXNlLW5vdGVzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncmVuYW1lLWRlbGV0ZS1oYW5kbGVyLWNvbXBvbmVudCcgZnJvbSAnLi9yZW5hbWUtZGVsZXRlLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdybWRpci1ndWFyZC1jb21wb25lbnQnIGZyb20gJy4vcm1kaXItZ3VhcmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5ncy1mYWNldC1jb21wb25lbnQnIGZyb20gJy4vc2V0dGluZ3MtZmFjZXQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5ncy1taWdyYXRpb24tY29tcG9uZW50JyBmcm9tICcuL3NldHRpbmdzLW1pZ3JhdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3NoYXJlZC1jb21wb25lbnQtcG9vbC1jb21wb25lbnQnIGZyb20gJy4vc2hhcmVkLWNvbXBvbmVudC1wb29sLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnc3R5bGUtc2hlZXQtY29tcG9uZW50JyBmcm9tICcuL3N0eWxlLXNoZWV0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnc3ludGF4LWhpZ2hsaWdodGluZy1jb21wb25lbnQnIGZyb20gJy4vc3ludGF4LWhpZ2hsaWdodGluZy1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3RlbXBsYXRlcy1sYW5ndWFnZS1jb21wb25lbnQnIGZyb20gJy4vdGVtcGxhdGVzLWxhbmd1YWdlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnd29ya2VyLWNvbXBvbmVudCcgZnJvbSAnLi93b3JrZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICd3b3JrZXItcG9vbC1jb21wb25lbnQnIGZyb20gJy4vd29ya2VyLXBvb2wtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICd3b3Jrc3BhY2UtbGF5b3V0LXN0YXRlLWNvbXBvbmVudCcgZnJvbSAnLi93b3Jrc3BhY2UtbGF5b3V0LXN0YXRlLWNvbXBvbmVudC50cyc7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUEsa0NBQUFBO0FBQUEsRUFBQSxxQ0FBQUM7QUFBQSxFQUFBLCtDQUFBQztBQUFBLEVBQUEsdUNBQUFDO0FBQUEsRUFBQSxnQ0FBQUM7QUFBQSxFQUFBLHlDQUFBQztBQUFBLEVBQUEsK0NBQUFDO0FBQUEsRUFBQSxzQkFBQUM7QUFBQSxFQUFBLGlDQUFBQztBQUFBLEVBQUEsc0NBQUFDO0FBQUEsRUFBQSw4QkFBQUM7QUFBQSxFQUFBLG9DQUFBQztBQUFBLEVBQUEsOENBQUFDO0FBQUEsRUFBQSwyQ0FBQUM7QUFBQSxFQUFBLHlEQUFBQztBQUFBLEVBQUEsMENBQUFDO0FBQUEsRUFBQSxnQ0FBQUM7QUFBQSxFQUFBLHdDQUFBQztBQUFBLEVBQUEsaUNBQUFDO0FBQUEsRUFBQSwyREFBQUM7QUFBQSxFQUFBLGtDQUFBQztBQUFBLEVBQUEsK0JBQUFDO0FBQUEsRUFBQSxpQ0FBQUM7QUFBQSxFQUFBLG1DQUFBQztBQUFBLEVBQUEsdUNBQUFDO0FBQUEsRUFBQSxxQ0FBQUM7QUFBQSxFQUFBLG9DQUFBQztBQUFBLEVBQUEsbURBQUFDO0FBQUEsRUFBQSw0QkFBQUM7QUFBQSxFQUFBLGlDQUFBQztBQUFBLEVBQUEseUNBQUFDO0FBQUEsRUFBQSwrQkFBQUM7QUFBQSxFQUFBLGtDQUFBQztBQUFBLEVBQUEsc0NBQUFDO0FBQUEsRUFBQSx5Q0FBQUM7QUFBQSxFQUFBLCtCQUFBQztBQUFBLEVBQUEsdUNBQUFDO0FBQUEsRUFBQSxzQ0FBQUM7QUFBQSxFQUFBLDBCQUFBQztBQUFBLEVBQUEsK0JBQUFDO0FBQUEsRUFBQSwwQ0FBQUM7QUFBQTtBQUFBO0FBRUEsSUFBQXhDLHlCQUEwQztBQUMxQyxJQUFBQyw4QkFBK0M7QUFDL0MsSUFBQUMsd0NBQXlEO0FBQ3pELElBQUFDLGdDQUFpRDtBQUNqRCxJQUFBQyx5QkFBMEM7QUFDMUMsSUFBQUMsa0NBQW1EO0FBQ25ELElBQUFDLHdDQUF5RDtBQUN6RCxJQUFBQyxlQUFnQztBQUNoQyxJQUFBQywwQkFBMkM7QUFDM0MsSUFBQUMsK0JBQWdEO0FBQ2hELElBQUFDLHVCQUF3QztBQUN4QyxJQUFBQyw2QkFBOEM7QUFDOUMsSUFBQUMsdUNBQXdEO0FBQ3hELElBQUFDLG9DQUFxRDtBQUNyRCxJQUFBQyxrREFBbUU7QUFDbkUsSUFBQUMsbUNBQW9EO0FBQ3BELElBQUFDLHlCQUEwQztBQUMxQyxJQUFBQyxpQ0FBa0Q7QUFDbEQsSUFBQUMsMEJBQTJDO0FBQzNDLElBQUFDLG9EQUFxRTtBQUNyRSxJQUFBQywyQkFBNEM7QUFDNUMsSUFBQUMsd0JBQXlDO0FBQ3pDLElBQUFDLDBCQUEyQztBQUMzQyxJQUFBQyw0QkFBNkM7QUFDN0MsSUFBQUMsZ0NBQWlEO0FBQ2pELElBQUFDLDhCQUErQztBQUMvQyxJQUFBQyw2QkFBOEM7QUFDOUMsSUFBQUMsNENBQTZEO0FBQzdELElBQUFDLHFCQUFzQztBQUN0QyxJQUFBQywwQkFBMkM7QUFDM0MsSUFBQUMsa0NBQW1EO0FBQ25ELElBQUFDLHdCQUF5QztBQUN6QyxJQUFBQywyQkFBNEM7QUFDNUMsSUFBQUMsK0JBQWdEO0FBQ2hELElBQUFDLGtDQUFtRDtBQUNuRCxJQUFBQyx3QkFBeUM7QUFDekMsSUFBQUMsZ0NBQWlEO0FBQ2pELElBQUFDLCtCQUFnRDtBQUNoRCxJQUFBQyxtQkFBb0M7QUFDcEMsSUFBQUMsd0JBQXlDO0FBQ3pDLElBQUFDLG1DQUFvRDsiLCJuYW1lcyI6WyJhYm9ydC1zaWduYWwtY29tcG9uZW50IiwiYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50IiwiYWxsLXdpbmRvd3Mtc3RhdHVzLWJhci1pdGVtLWNvbXBvbmVudCIsImFzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50IiwiYXN5bmMtZXZlbnRzLWNvbXBvbmVudCIsImJ1bGstb3BlcmF0aW9uLWNvbW1pdC1jb21wb25lbnQiLCJjYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgtY29tcG9uZW50IiwiY29tcG9uZW50LWV4IiwiY29uc29sZS1kZWJ1Zy1jb21wb25lbnQiLCJjb3JlLXBsdWdpbi10b2dnbGUtY29tcG9uZW50IiwiZGlzcG9zYWJsZS1jb21wb25lbnQiLCJlbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudCIsImVtYmVkZGFibGUtbWFya2Rvd24tZWRpdG9yLWNvbXBvbmVudCIsImZpbGUtZXhwbG9yZXItcm9vdC1tZW51LWNvbXBvbmVudCIsImdlbmVyYXRlLW1hcmtkb3duLWxpbmstZGVmYXVsdC1wYXJhbXMtY29tcG9uZW50IiwiaW5jcmVtZW50YWwtZmlsZS1pbmRleC1jb21wb25lbnQiLCJsYXlvdXQtcmVhZHktY29tcG9uZW50IiwibWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50IiwibW9ua2V5LWFyb3VuZC1jb21wb25lbnQiLCJub3RlYm9vay1uYXZpZ2F0b3ItbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50IiwicGx1Z2luLWNvbnRleHQtY29tcG9uZW50IiwicGx1Z2luLWdhdGUtY29tcG9uZW50IiwicGx1Z2luLW5vdGljZS1jb21wb25lbnQiLCJwbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50IiwicGx1Z2luLXNldHRpbmdzLXRhYi1jb21wb25lbnQiLCJwbHVnaW4tc3VnZ2VzdGlvbi1jb21wb25lbnQiLCJwb2ludGVyLXBvc2l0aW9uLWNvbXBvbmVudCIsInJlY29uZmlndXJhYmxlLWVkaXRvci1leHRlbnNpb24tY29tcG9uZW50IiwicmVnaXN0cnktY29tcG9uZW50IiwicmVsZWFzZS1ub3Rlcy1jb21wb25lbnQiLCJyZW5hbWUtZGVsZXRlLWhhbmRsZXItY29tcG9uZW50Iiwicm1kaXItZ3VhcmQtY29tcG9uZW50Iiwic2V0dGluZ3MtZmFjZXQtY29tcG9uZW50Iiwic2V0dGluZ3MtbWlncmF0aW9uLWNvbXBvbmVudCIsInNoYXJlZC1jb21wb25lbnQtcG9vbC1jb21wb25lbnQiLCJzdHlsZS1zaGVldC1jb21wb25lbnQiLCJzeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudCIsInRlbXBsYXRlcy1sYW5ndWFnZS1jb21wb25lbnQiLCJ3b3JrZXItY29tcG9uZW50Iiwid29ya2VyLXBvb2wtY29tcG9uZW50Iiwid29ya3NwYWNlLWxheW91dC1zdGF0ZS1jb21wb25lbnQiXX0=
|
|
@@ -37,4 +37,6 @@ export * as 'shared-component-pool-component' from './shared-component-pool-comp
|
|
|
37
37
|
export * as 'style-sheet-component' from './style-sheet-component.cjs';
|
|
38
38
|
export * as 'syntax-highlighting-component' from './syntax-highlighting-component.cjs';
|
|
39
39
|
export * as 'templates-language-component' from './templates-language-component.cjs';
|
|
40
|
+
export * as 'worker-component' from './worker-component.cjs';
|
|
41
|
+
export * as 'worker-pool-component' from './worker-pool-component.cjs';
|
|
40
42
|
export * as 'workspace-layout-state-component' from './workspace-layout-state-component.cjs';
|
|
@@ -118,9 +118,9 @@ __export(layout_ready_component_exports, {
|
|
|
118
118
|
LayoutReadyComponent: () => LayoutReadyComponent
|
|
119
119
|
});
|
|
120
120
|
module.exports = __toCommonJS(layout_ready_component_exports);
|
|
121
|
-
var import_async = require(
|
|
122
|
-
var import_function = require(
|
|
123
|
-
var import_component_ex = require(
|
|
121
|
+
var import_async = require("@mnaoumov/typescript-lib/async");
|
|
122
|
+
var import_function = require("@mnaoumov/typescript-lib/function");
|
|
123
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
124
124
|
class LayoutReadyComponent extends import_component_ex.ComponentEx {
|
|
125
125
|
/**
|
|
126
126
|
* Creates a new LayoutReadyComponent instance.
|
|
@@ -90,8 +90,8 @@ __export(menu_event_registrar_component_exports, {
|
|
|
90
90
|
MenuEventRegistrarComponent: () => MenuEventRegistrarComponent
|
|
91
91
|
});
|
|
92
92
|
module.exports = __toCommonJS(menu_event_registrar_component_exports);
|
|
93
|
-
var import_events = require(
|
|
94
|
-
var import_component_ex = require(
|
|
93
|
+
var import_events = require("../events.cjs");
|
|
94
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
95
95
|
class MenuEventRegistrarComponent extends import_component_ex.ComponentEx {
|
|
96
96
|
/**
|
|
97
97
|
* Creates a new app-backed menu event registrar.
|
|
@@ -119,9 +119,9 @@ __export(monkey_around_component_exports, {
|
|
|
119
119
|
hasPatchToken: () => hasPatchToken
|
|
120
120
|
});
|
|
121
121
|
module.exports = __toCommonJS(monkey_around_component_exports);
|
|
122
|
-
var import_monkey_around = require(
|
|
123
|
-
var import_obsidian_lib_state = require(
|
|
124
|
-
var import_component_ex = require(
|
|
122
|
+
var import_monkey_around = require("monkey-around");
|
|
123
|
+
var import_obsidian_lib_state = require("../obsidian-lib-state.cjs");
|
|
124
|
+
var import_component_ex = require("./component-ex.cjs");
|
|
125
125
|
class MonkeyAroundComponent extends import_component_ex.ComponentEx {
|
|
126
126
|
/**
|
|
127
127
|
* Registers a patch for a single function-like member (a method, or a callable such as a `Debouncer`) using a simplified handler.
|
|
@@ -117,11 +117,11 @@ __export(notebook_navigator_menu_event_registrar_component_exports, {
|
|
|
117
117
|
NotebookNavigatorMenuEventRegistrarComponent: () => NotebookNavigatorMenuEventRegistrarComponent
|
|
118
118
|
});
|
|
119
119
|
module.exports = __toCommonJS(notebook_navigator_menu_event_registrar_component_exports);
|
|
120
|
-
var import_disposable = require(
|
|
121
|
-
var import_function = require(
|
|
122
|
-
var import_obsidian = require(
|
|
123
|
-
var import_notebook_navigator = require(
|
|
124
|
-
var import_layout_ready_component = require(
|
|
120
|
+
var import_disposable = require("@mnaoumov/typescript-lib/disposable");
|
|
121
|
+
var import_function = require("@mnaoumov/typescript-lib/function");
|
|
122
|
+
var import_obsidian = require("obsidian");
|
|
123
|
+
var import_notebook_navigator = require("../notebook-navigator.cjs");
|
|
124
|
+
var import_layout_ready_component = require("./layout-ready-component.cjs");
|
|
125
125
|
class NotebookNavigatorMenuEventRegistrarComponent extends import_layout_ready_component.LayoutReadyComponent {
|
|
126
126
|
/**
|
|
127
127
|
* The plugin's display name, which titles the parent entry.
|