obsidian-dev-utils 22.1.1-beta.8 → 23.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/CHANGELOG.md +146 -0
- package/dist/eslint.config.mts +2 -0
- package/dist/lib/cjs/@types/debug.d.cts +1 -0
- package/dist/lib/cjs/{obsidian/Components/PlaceholderComponent.cjs → Array.cjs} +18 -8
- package/dist/lib/cjs/Array.d.cts +12 -0
- package/dist/lib/cjs/Async.cjs +6 -1
- package/dist/lib/cjs/Async.d.cts +26 -18
- package/dist/lib/cjs/AsyncEvents.cjs +216 -0
- package/dist/lib/cjs/AsyncEvents.d.cts +144 -0
- package/dist/lib/cjs/Blob.cjs +1 -1
- package/dist/lib/cjs/Blob.d.cts +9 -8
- package/dist/lib/cjs/CssClass.cjs +5 -1
- package/dist/lib/cjs/CssClass.d.cts +18 -1
- package/dist/lib/cjs/Debug.cjs +1 -1
- package/dist/lib/cjs/Debug.d.cts +2 -1
- package/dist/lib/cjs/DebugController.cjs +1 -1
- package/dist/lib/cjs/DebugController.d.cts +1 -0
- package/dist/lib/cjs/Enum.cjs +1 -1
- package/dist/lib/cjs/Enum.d.cts +2 -1
- package/dist/lib/cjs/Error.cjs +8 -6
- package/dist/lib/cjs/Error.d.cts +3 -2
- package/dist/lib/cjs/Function.cjs +1 -1
- package/dist/lib/cjs/Function.d.cts +2 -1
- package/dist/lib/cjs/HTMLElement.cjs +1 -1
- package/dist/lib/cjs/HTMLElement.d.cts +4 -2
- package/dist/lib/cjs/Library.cjs +2 -2
- package/dist/lib/cjs/Library.d.cts +2 -1
- package/dist/lib/cjs/Object.cjs +38 -3
- package/dist/lib/cjs/Object.d.cts +18 -13
- package/dist/lib/cjs/Path.cjs +2 -2
- package/dist/lib/cjs/Path.d.cts +2 -1
- package/dist/lib/cjs/RegExp.cjs +1 -1
- package/dist/lib/cjs/RegExp.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/CliUtils.cjs +7 -7
- package/dist/lib/cjs/ScriptUtils/CliUtils.d.cts +12 -11
- package/dist/lib/cjs/ScriptUtils/CodeGenerator.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/CodeGenerator.d.cts +3 -2
- package/dist/lib/cjs/ScriptUtils/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.cts +1 -0
- package/dist/lib/cjs/ScriptUtils/ESLint/@types/eslint-plugin-modules-newlines.d.cts +1 -0
- package/dist/lib/cjs/ScriptUtils/ESLint/@types/eslint-plugin-verify-tsdoc.d.cts +1 -0
- package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.cjs +13 -10
- package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.d.cts +2 -3
- package/dist/lib/cjs/ScriptUtils/Exec.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/Exec.d.cts +4 -3
- package/dist/lib/cjs/ScriptUtils/Fs.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/Fs.d.cts +5 -4
- package/dist/lib/cjs/ScriptUtils/JSON.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/JSON.d.cts +5 -4
- package/dist/lib/cjs/ScriptUtils/NodeModules.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/NodeModules.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/Npm.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/Npm.d.cts +9 -10
- package/dist/lib/cjs/ScriptUtils/NpmPublish.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/NpmPublish.d.cts +3 -1
- package/dist/lib/cjs/ScriptUtils/NpmRun.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/NpmRun.d.cts +5 -0
- package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.cjs +1 -10
- package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.d.cts +45 -61
- package/dist/lib/cjs/ScriptUtils/Root.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/Root.d.cts +4 -3
- package/dist/lib/cjs/ScriptUtils/build.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/build.d.cts +7 -6
- package/dist/lib/cjs/ScriptUtils/cli.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/cli.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.d.cts +4 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.d.cts +4 -3
- package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.d.cts +2 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.d.cts +5 -0
- package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.d.cts +5 -0
- package/dist/lib/cjs/ScriptUtils/format.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/format.d.cts +4 -2
- package/dist/lib/cjs/ScriptUtils/spellcheck.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/spellcheck.d.cts +4 -3
- package/dist/lib/cjs/ScriptUtils/version.cjs +1 -1
- package/dist/lib/cjs/ScriptUtils/version.d.cts +12 -11
- package/dist/lib/cjs/String.cjs +1 -1
- package/dist/lib/cjs/String.d.cts +4 -3
- package/dist/lib/cjs/Transformers/DateTransformer.cjs +3 -1
- package/dist/lib/cjs/Transformers/DateTransformer.d.cts +4 -1
- package/dist/lib/cjs/Transformers/DurationTransformer.cjs +5 -1
- package/dist/lib/cjs/Transformers/DurationTransformer.d.cts +6 -1
- package/dist/lib/cjs/Transformers/GroupTransformer.cjs +7 -4
- package/dist/lib/cjs/Transformers/GroupTransformer.d.cts +9 -5
- package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.cjs +3 -1
- package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.d.cts +4 -1
- package/dist/lib/cjs/Transformers/Transformer.cjs +9 -2
- package/dist/lib/cjs/Transformers/Transformer.d.cts +2 -1
- package/dist/lib/cjs/Transformers/TypedTransformer.cjs +1 -1
- package/dist/lib/cjs/Transformers/TypedTransformer.d.cts +2 -1
- package/dist/lib/cjs/Type.cjs +24 -0
- package/dist/lib/cjs/Type.d.cts +17 -0
- package/dist/lib/cjs/ValueProvider.cjs +1 -1
- package/dist/lib/cjs/ValueProvider.d.cts +3 -2
- package/dist/lib/cjs/codemirror/StateFieldSpec.cjs +1 -1
- package/dist/lib/cjs/codemirror/StateFieldSpec.d.cts +2 -1
- package/dist/lib/cjs/index.cjs +10 -1
- package/dist/lib/cjs/index.d.cts +3 -0
- package/dist/lib/cjs/obsidian/App.cjs +1 -1
- package/dist/lib/cjs/obsidian/App.d.cts +2 -1
- package/dist/lib/cjs/obsidian/AttachmentPath.cjs +1 -1
- package/dist/lib/cjs/obsidian/AttachmentPath.d.cts +7 -5
- package/dist/lib/cjs/obsidian/Backlink.cjs +1 -1
- package/dist/lib/cjs/obsidian/Backlink.d.cts +3 -2
- package/dist/lib/cjs/obsidian/Callout.cjs +1 -1
- package/dist/lib/cjs/obsidian/Callout.d.cts +3 -2
- package/dist/lib/cjs/obsidian/Components/CheckboxComponent.cjs +99 -0
- package/dist/lib/cjs/obsidian/Components/CheckboxComponent.d.cts +59 -0
- package/dist/lib/cjs/obsidian/Components/DateComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/DateComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/DateTimeComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/DateTimeComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/EmailComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/EmailComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/FileComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/FileComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/MonthComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/MonthComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/MultipleDropdownComponent.cjs +4 -2
- package/dist/lib/cjs/obsidian/Components/MultipleDropdownComponent.d.cts +4 -1
- package/dist/lib/cjs/obsidian/Components/MultipleEmailComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/MultipleEmailComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/MultipleFileComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/MultipleFileComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/MultipleTextComponent.cjs +30 -3
- package/dist/lib/cjs/obsidian/Components/MultipleTextComponent.d.cts +22 -3
- package/dist/lib/cjs/obsidian/Components/NumberComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/NumberComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/TextBasedComponent.cjs +65 -0
- package/dist/lib/cjs/obsidian/Components/TextBasedComponent.d.cts +37 -0
- package/dist/lib/cjs/obsidian/Components/TimeComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/TimeComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/TriStateCheckboxComponent.cjs +100 -0
- package/dist/lib/cjs/obsidian/Components/TriStateCheckboxComponent.d.cts +59 -0
- package/dist/lib/cjs/obsidian/Components/TypedDropdownComponent.cjs +129 -0
- package/dist/lib/cjs/obsidian/Components/TypedDropdownComponent.d.cts +78 -0
- package/dist/lib/cjs/obsidian/Components/TypedMultipleDropdownComponent.cjs +131 -0
- package/dist/lib/cjs/obsidian/Components/TypedMultipleDropdownComponent.d.cts +79 -0
- package/dist/lib/cjs/obsidian/Components/TypedRangeTextComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/TypedRangeTextComponent.d.cts +4 -1
- package/dist/lib/cjs/obsidian/Components/TypedTextComponent.cjs +30 -4
- package/dist/lib/cjs/obsidian/Components/TypedTextComponent.d.cts +25 -3
- package/dist/lib/cjs/obsidian/Components/UrlComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/UrlComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/ValidatorComponent.cjs +23 -29
- package/dist/lib/cjs/obsidian/Components/ValidatorComponent.d.cts +6 -6
- package/dist/lib/cjs/obsidian/Components/ValueComponentWithChangeTracking.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/ValueComponentWithChangeTracking.d.cts +4 -1
- package/dist/lib/cjs/obsidian/Components/WeekComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/WeekComponent.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Components/index.cjs +16 -4
- package/dist/lib/cjs/obsidian/Components/index.d.cts +5 -1
- package/dist/lib/cjs/obsidian/Dataview.cjs +1 -1
- package/dist/lib/cjs/obsidian/Dataview.d.cts +11 -12
- package/dist/lib/cjs/obsidian/DataviewLink.cjs +1 -1
- package/dist/lib/cjs/obsidian/DataviewLink.d.cts +4 -3
- package/dist/lib/cjs/obsidian/FileChange.cjs +1 -1
- package/dist/lib/cjs/obsidian/FileChange.d.cts +4 -3
- package/dist/lib/cjs/obsidian/FileManager.cjs +1 -1
- package/dist/lib/cjs/obsidian/FileManager.d.cts +6 -5
- package/dist/lib/cjs/obsidian/FileSystem.cjs +1 -1
- package/dist/lib/cjs/obsidian/FileSystem.d.cts +3 -1
- package/dist/lib/cjs/obsidian/Frontmatter.cjs +1 -1
- package/dist/lib/cjs/obsidian/Frontmatter.d.cts +5 -1
- package/dist/lib/cjs/obsidian/Link.cjs +1 -1
- package/dist/lib/cjs/obsidian/Link.d.cts +7 -6
- package/dist/lib/cjs/obsidian/Logger.cjs +1 -1
- package/dist/lib/cjs/obsidian/Logger.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Loop.cjs +1 -1
- package/dist/lib/cjs/obsidian/Loop.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Markdown.cjs +5 -8
- package/dist/lib/cjs/obsidian/Markdown.d.cts +2 -1
- package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.cjs +1 -1
- package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.d.cts +2 -1
- package/dist/lib/cjs/obsidian/MarkdownView.cjs +1 -1
- package/dist/lib/cjs/obsidian/MarkdownView.d.cts +2 -1
- package/dist/lib/cjs/obsidian/MetadataCache.cjs +1 -1
- package/dist/lib/cjs/obsidian/MetadataCache.d.cts +7 -5
- package/dist/lib/cjs/obsidian/Modals/Alert.cjs +3 -1
- package/dist/lib/cjs/obsidian/Modals/Alert.d.cts +3 -2
- package/dist/lib/cjs/obsidian/Modals/Confirm.cjs +3 -1
- package/dist/lib/cjs/obsidian/Modals/Confirm.d.cts +3 -2
- package/dist/lib/cjs/obsidian/Modals/ModalBase.cjs +1 -1
- package/dist/lib/cjs/obsidian/Modals/ModalBase.d.cts +2 -2
- package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +3 -1
- package/dist/lib/cjs/obsidian/Modals/Prompt.d.cts +5 -3
- package/dist/lib/cjs/obsidian/Modals/SelectItem.cjs +2 -1
- package/dist/lib/cjs/obsidian/Modals/SelectItem.d.cts +4 -2
- package/dist/lib/cjs/obsidian/MonkeyAround.cjs +1 -1
- package/dist/lib/cjs/obsidian/MonkeyAround.d.cts +5 -3
- package/dist/lib/cjs/obsidian/ObsidianSettings.cjs +1 -1
- package/dist/lib/cjs/obsidian/ObsidianSettings.d.cts +3 -0
- package/dist/lib/cjs/obsidian/Pdf.cjs +1 -1
- package/dist/lib/cjs/obsidian/Pdf.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +6 -2
- package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.d.cts +38 -29
- package/dist/lib/cjs/obsidian/Plugin/Plugin.cjs +1 -1
- package/dist/lib/cjs/obsidian/Plugin/Plugin.d.cts +4 -3
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +121 -32
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.d.cts +52 -21
- package/dist/lib/cjs/obsidian/Plugin/PluginContext.cjs +1 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginContext.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginId.cjs +1 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginId.d.cts +2 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +88 -55
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.d.cts +42 -22
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +29 -13
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.d.cts +18 -11
- package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.cjs +24 -0
- package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.d.cts +55 -0
- package/dist/lib/cjs/obsidian/Plugin/index.cjs +6 -3
- package/dist/lib/cjs/obsidian/Plugin/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/Queue.cjs +1 -1
- package/dist/lib/cjs/obsidian/Queue.d.cts +3 -2
- package/dist/lib/cjs/obsidian/React/AppContext.cjs +3 -3
- package/dist/lib/cjs/obsidian/React/AppContext.d.cts +8 -1
- package/dist/lib/cjs/obsidian/Reference.cjs +1 -1
- package/dist/lib/cjs/obsidian/Reference.d.cts +2 -1
- package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +75 -75
- package/dist/lib/cjs/obsidian/RenameDeleteHandler.d.cts +3 -2
- package/dist/lib/cjs/obsidian/ResourceUrl.cjs +1 -1
- package/dist/lib/cjs/obsidian/ResourceUrl.d.cts +2 -1
- package/dist/lib/cjs/obsidian/SettingEx.cjs +41 -1
- package/dist/lib/cjs/obsidian/SettingEx.d.cts +35 -2
- package/dist/lib/cjs/obsidian/ValidationMessage.cjs +1 -1
- package/dist/lib/cjs/obsidian/ValidationMessage.d.cts +5 -0
- package/dist/lib/cjs/obsidian/Vault.cjs +1 -1
- package/dist/lib/cjs/obsidian/Vault.d.cts +15 -10
- package/dist/lib/cjs/obsidian/VaultEx.cjs +1 -1
- package/dist/lib/cjs/obsidian/VaultEx.d.cts +4 -3
- package/dist/lib/cjs/url.cjs +1 -1
- package/dist/lib/cjs/url.d.cts +2 -1
- package/dist/lib/esm/@types/debug.d.mts +1 -0
- package/dist/lib/esm/Array.d.mts +12 -0
- package/dist/lib/esm/Array.mjs +24 -0
- package/dist/lib/esm/Async.d.mts +26 -18
- package/dist/lib/esm/Async.mjs +5 -1
- package/dist/lib/esm/AsyncEvents.d.mts +144 -0
- package/dist/lib/esm/AsyncEvents.mjs +192 -0
- package/dist/lib/esm/Blob.d.mts +9 -8
- package/dist/lib/esm/Blob.mjs +1 -1
- package/dist/lib/esm/CssClass.d.mts +18 -1
- package/dist/lib/esm/CssClass.mjs +5 -1
- package/dist/lib/esm/Debug.d.mts +2 -1
- package/dist/lib/esm/Debug.mjs +1 -1
- package/dist/lib/esm/DebugController.d.mts +1 -0
- package/dist/lib/esm/Enum.d.mts +2 -1
- package/dist/lib/esm/Enum.mjs +1 -1
- package/dist/lib/esm/Error.d.mts +3 -2
- package/dist/lib/esm/Error.mjs +8 -6
- package/dist/lib/esm/Function.d.mts +2 -1
- package/dist/lib/esm/Function.mjs +1 -1
- package/dist/lib/esm/HTMLElement.d.mts +4 -2
- package/dist/lib/esm/HTMLElement.mjs +1 -1
- package/dist/lib/esm/Library.d.mts +2 -1
- package/dist/lib/esm/Library.mjs +2 -2
- package/dist/lib/esm/Object.d.mts +18 -13
- package/dist/lib/esm/Object.mjs +36 -3
- package/dist/lib/esm/Path.d.mts +2 -1
- package/dist/lib/esm/Path.mjs +2 -2
- package/dist/lib/esm/RegExp.d.mts +2 -1
- package/dist/lib/esm/RegExp.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/CliUtils.d.mts +12 -11
- package/dist/lib/esm/ScriptUtils/CliUtils.mjs +7 -7
- package/dist/lib/esm/ScriptUtils/CodeGenerator.d.mts +3 -2
- package/dist/lib/esm/ScriptUtils/CodeGenerator.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.mts +1 -0
- package/dist/lib/esm/ScriptUtils/ESLint/@types/eslint-plugin-modules-newlines.d.mts +1 -0
- package/dist/lib/esm/ScriptUtils/ESLint/@types/eslint-plugin-verify-tsdoc.d.mts +1 -0
- package/dist/lib/esm/ScriptUtils/ESLint/ESLint.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/ESLint/ESLint.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.d.mts +2 -3
- package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.mjs +13 -10
- package/dist/lib/esm/ScriptUtils/Exec.d.mts +4 -3
- package/dist/lib/esm/ScriptUtils/Exec.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/Fs.d.mts +5 -4
- package/dist/lib/esm/ScriptUtils/Fs.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/JSON.d.mts +5 -4
- package/dist/lib/esm/ScriptUtils/JSON.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/NodeModules.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/NodeModules.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/Npm.d.mts +9 -10
- package/dist/lib/esm/ScriptUtils/Npm.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/NpmPublish.d.mts +3 -1
- package/dist/lib/esm/ScriptUtils/NpmPublish.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/NpmRun.d.mts +5 -0
- package/dist/lib/esm/ScriptUtils/NpmRun.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/ObsidianDevUtilsRepoPaths.d.mts +45 -61
- package/dist/lib/esm/ScriptUtils/ObsidianDevUtilsRepoPaths.mjs +1 -10
- package/dist/lib/esm/ScriptUtils/Root.d.mts +4 -3
- package/dist/lib/esm/ScriptUtils/Root.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/build.d.mts +7 -6
- package/dist/lib/esm/ScriptUtils/build.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/cli.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/cli.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/Dependency.d.mts +4 -3
- package/dist/lib/esm/ScriptUtils/esbuild/Dependency.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.d.mts +4 -3
- package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/changeExtensionPlugin.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/esbuild/changeExtensionPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/customEsbuildOptionsPlugin.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/esbuild/customEsbuildOptionsPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/fixEsmPlugin.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/esbuild/fixEsmPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/fixSourceMapsPlugin.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/esbuild/fixSourceMapsPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.d.mts +2 -1
- package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/renameCssPlugin.d.mts +5 -0
- package/dist/lib/esm/ScriptUtils/esbuild/renameCssPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/esbuild/svelteWrapperPlugin.d.mts +5 -0
- package/dist/lib/esm/ScriptUtils/esbuild/svelteWrapperPlugin.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/format.d.mts +4 -2
- package/dist/lib/esm/ScriptUtils/format.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/spellcheck.d.mts +4 -3
- package/dist/lib/esm/ScriptUtils/spellcheck.mjs +1 -1
- package/dist/lib/esm/ScriptUtils/version.d.mts +12 -11
- package/dist/lib/esm/ScriptUtils/version.mjs +1 -1
- package/dist/lib/esm/String.d.mts +4 -3
- package/dist/lib/esm/String.mjs +1 -1
- package/dist/lib/esm/Transformers/DateTransformer.d.mts +4 -1
- package/dist/lib/esm/Transformers/DateTransformer.mjs +3 -1
- package/dist/lib/esm/Transformers/DurationTransformer.d.mts +6 -1
- package/dist/lib/esm/Transformers/DurationTransformer.mjs +5 -1
- package/dist/lib/esm/Transformers/GroupTransformer.d.mts +9 -5
- package/dist/lib/esm/Transformers/GroupTransformer.mjs +7 -4
- package/dist/lib/esm/Transformers/SkipPrivatePropertyTransformer.d.mts +4 -1
- package/dist/lib/esm/Transformers/SkipPrivatePropertyTransformer.mjs +3 -1
- package/dist/lib/esm/Transformers/Transformer.d.mts +2 -1
- package/dist/lib/esm/Transformers/Transformer.mjs +9 -2
- package/dist/lib/esm/Transformers/TypedTransformer.d.mts +2 -1
- package/dist/lib/esm/Transformers/TypedTransformer.mjs +1 -1
- package/dist/lib/esm/Type.d.mts +17 -0
- package/dist/lib/esm/Type.mjs +8 -0
- package/dist/lib/esm/ValueProvider.d.mts +3 -2
- package/dist/lib/esm/ValueProvider.mjs +1 -1
- package/dist/lib/esm/codemirror/StateFieldSpec.d.mts +2 -1
- package/dist/lib/esm/index.d.mts +3 -0
- package/dist/lib/esm/index.mjs +7 -1
- package/dist/lib/esm/obsidian/App.d.mts +2 -1
- package/dist/lib/esm/obsidian/App.mjs +1 -1
- package/dist/lib/esm/obsidian/AttachmentPath.d.mts +7 -5
- package/dist/lib/esm/obsidian/AttachmentPath.mjs +1 -1
- package/dist/lib/esm/obsidian/Backlink.d.mts +3 -2
- package/dist/lib/esm/obsidian/Backlink.mjs +1 -1
- package/dist/lib/esm/obsidian/Callout.d.mts +3 -2
- package/dist/lib/esm/obsidian/Callout.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/CheckboxComponent.d.mts +59 -0
- package/dist/lib/esm/obsidian/Components/CheckboxComponent.mjs +75 -0
- package/dist/lib/esm/obsidian/Components/DateComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/DateComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/DateTimeComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/DateTimeComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/EmailComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/EmailComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/FileComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/FileComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/MonthComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/MonthComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/MultipleDropdownComponent.d.mts +4 -1
- package/dist/lib/esm/obsidian/Components/MultipleDropdownComponent.mjs +4 -2
- package/dist/lib/esm/obsidian/Components/MultipleEmailComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/MultipleEmailComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/MultipleFileComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/MultipleFileComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/MultipleTextComponent.d.mts +22 -3
- package/dist/lib/esm/obsidian/Components/MultipleTextComponent.mjs +30 -3
- package/dist/lib/esm/obsidian/Components/NumberComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/NumberComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/TextBasedComponent.d.mts +37 -0
- package/dist/lib/esm/obsidian/Components/TextBasedComponent.mjs +41 -0
- package/dist/lib/esm/obsidian/Components/TimeComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/TimeComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/TriStateCheckboxComponent.d.mts +59 -0
- package/dist/lib/esm/obsidian/Components/TriStateCheckboxComponent.mjs +76 -0
- package/dist/lib/esm/obsidian/Components/TypedDropdownComponent.d.mts +78 -0
- package/dist/lib/esm/obsidian/Components/TypedDropdownComponent.mjs +108 -0
- package/dist/lib/esm/obsidian/Components/TypedMultipleDropdownComponent.d.mts +79 -0
- package/dist/lib/esm/obsidian/Components/TypedMultipleDropdownComponent.mjs +110 -0
- package/dist/lib/esm/obsidian/Components/TypedRangeTextComponent.d.mts +4 -1
- package/dist/lib/esm/obsidian/Components/TypedRangeTextComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/TypedTextComponent.d.mts +25 -3
- package/dist/lib/esm/obsidian/Components/TypedTextComponent.mjs +30 -4
- package/dist/lib/esm/obsidian/Components/UrlComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/UrlComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/ValidatorComponent.d.mts +6 -6
- package/dist/lib/esm/obsidian/Components/ValidatorComponent.mjs +25 -30
- package/dist/lib/esm/obsidian/Components/ValueComponentWithChangeTracking.d.mts +4 -1
- package/dist/lib/esm/obsidian/Components/WeekComponent.d.mts +2 -1
- package/dist/lib/esm/obsidian/Components/WeekComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/index.d.mts +5 -1
- package/dist/lib/esm/obsidian/Components/index.mjs +11 -3
- package/dist/lib/esm/obsidian/Dataview.d.mts +11 -12
- package/dist/lib/esm/obsidian/Dataview.mjs +1 -1
- package/dist/lib/esm/obsidian/DataviewLink.d.mts +4 -3
- package/dist/lib/esm/obsidian/DataviewLink.mjs +1 -1
- package/dist/lib/esm/obsidian/FileChange.d.mts +4 -3
- package/dist/lib/esm/obsidian/FileChange.mjs +1 -1
- package/dist/lib/esm/obsidian/FileManager.d.mts +6 -5
- package/dist/lib/esm/obsidian/FileManager.mjs +1 -1
- package/dist/lib/esm/obsidian/FileSystem.d.mts +3 -1
- package/dist/lib/esm/obsidian/FileSystem.mjs +1 -1
- package/dist/lib/esm/obsidian/Frontmatter.d.mts +5 -1
- package/dist/lib/esm/obsidian/Frontmatter.mjs +1 -1
- package/dist/lib/esm/obsidian/Link.d.mts +7 -6
- package/dist/lib/esm/obsidian/Link.mjs +1 -1
- package/dist/lib/esm/obsidian/Logger.d.mts +2 -1
- package/dist/lib/esm/obsidian/Logger.mjs +1 -1
- package/dist/lib/esm/obsidian/Loop.d.mts +2 -1
- package/dist/lib/esm/obsidian/Loop.mjs +1 -1
- package/dist/lib/esm/obsidian/Markdown.d.mts +2 -1
- package/dist/lib/esm/obsidian/Markdown.mjs +5 -8
- package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.d.mts +2 -1
- package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.mjs +1 -1
- package/dist/lib/esm/obsidian/MarkdownView.d.mts +2 -1
- package/dist/lib/esm/obsidian/MarkdownView.mjs +1 -1
- package/dist/lib/esm/obsidian/MetadataCache.d.mts +7 -5
- package/dist/lib/esm/obsidian/MetadataCache.mjs +1 -1
- package/dist/lib/esm/obsidian/Modals/Alert.d.mts +3 -2
- package/dist/lib/esm/obsidian/Modals/Alert.mjs +3 -1
- package/dist/lib/esm/obsidian/Modals/Confirm.d.mts +3 -2
- package/dist/lib/esm/obsidian/Modals/Confirm.mjs +3 -1
- package/dist/lib/esm/obsidian/Modals/ModalBase.d.mts +2 -2
- package/dist/lib/esm/obsidian/Modals/ModalBase.mjs +1 -1
- package/dist/lib/esm/obsidian/Modals/Prompt.d.mts +5 -3
- package/dist/lib/esm/obsidian/Modals/Prompt.mjs +3 -1
- package/dist/lib/esm/obsidian/Modals/SelectItem.d.mts +4 -2
- package/dist/lib/esm/obsidian/Modals/SelectItem.mjs +2 -1
- package/dist/lib/esm/obsidian/MonkeyAround.d.mts +5 -3
- package/dist/lib/esm/obsidian/MonkeyAround.mjs +1 -1
- package/dist/lib/esm/obsidian/ObsidianSettings.d.mts +3 -0
- package/dist/lib/esm/obsidian/ObsidianSettings.mjs +1 -1
- package/dist/lib/esm/obsidian/Pdf.d.mts +2 -1
- package/dist/lib/esm/obsidian/Pdf.mjs +1 -1
- package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.d.mts +38 -29
- package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.mjs +6 -2
- package/dist/lib/esm/obsidian/Plugin/Plugin.d.mts +4 -3
- package/dist/lib/esm/obsidian/Plugin/Plugin.mjs +1 -1
- package/dist/lib/esm/obsidian/Plugin/PluginBase.d.mts +52 -21
- package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +128 -38
- package/dist/lib/esm/obsidian/Plugin/PluginContext.d.mts +2 -1
- package/dist/lib/esm/obsidian/Plugin/PluginContext.mjs +1 -1
- package/dist/lib/esm/obsidian/Plugin/PluginId.d.mts +2 -1
- package/dist/lib/esm/obsidian/Plugin/PluginId.mjs +1 -1
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.d.mts +42 -22
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.mjs +92 -56
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.d.mts +18 -11
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +33 -14
- package/dist/lib/esm/obsidian/Plugin/PluginTypesBase.d.mts +55 -0
- package/dist/lib/esm/obsidian/Plugin/PluginTypesBase.mjs +8 -0
- package/dist/lib/esm/obsidian/Plugin/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/Plugin/index.mjs +4 -2
- package/dist/lib/esm/obsidian/Queue.d.mts +3 -2
- package/dist/lib/esm/obsidian/Queue.mjs +1 -1
- package/dist/lib/esm/obsidian/React/AppContext.d.mts +8 -1
- package/dist/lib/esm/obsidian/React/AppContext.mjs +3 -3
- package/dist/lib/esm/obsidian/Reference.d.mts +2 -1
- package/dist/lib/esm/obsidian/Reference.mjs +1 -1
- package/dist/lib/esm/obsidian/RenameDeleteHandler.d.mts +3 -2
- package/dist/lib/esm/obsidian/RenameDeleteHandler.mjs +75 -75
- package/dist/lib/esm/obsidian/ResourceUrl.d.mts +2 -1
- package/dist/lib/esm/obsidian/ResourceUrl.mjs +1 -1
- package/dist/lib/esm/obsidian/SettingEx.d.mts +35 -2
- package/dist/lib/esm/obsidian/SettingEx.mjs +41 -1
- package/dist/lib/esm/obsidian/ValidationMessage.d.mts +5 -0
- package/dist/lib/esm/obsidian/ValidationMessage.mjs +1 -1
- package/dist/lib/esm/obsidian/Vault.d.mts +15 -10
- package/dist/lib/esm/obsidian/Vault.mjs +1 -1
- package/dist/lib/esm/obsidian/VaultEx.d.mts +4 -3
- package/dist/lib/esm/obsidian/VaultEx.mjs +1 -1
- package/dist/lib/esm/url.d.mts +2 -1
- package/dist/lib/esm/url.mjs +1 -1
- package/obsidian/Components/CheckboxComponent/package.json +6 -0
- package/obsidian/Components/TextBasedComponent/package.json +6 -0
- package/obsidian/Components/TriStateCheckboxComponent/package.json +6 -0
- package/obsidian/Components/TypedDropdownComponent/package.json +6 -0
- package/obsidian/Components/TypedMultipleDropdownComponent/package.json +6 -0
- package/obsidian/Plugin/PluginTypesBase/package.json +6 -0
- package/package.json +5 -6
- package/dist/lib/cjs/obsidian/Components/PlaceholderComponent.d.cts +0 -19
- package/dist/lib/esm/obsidian/Components/PlaceholderComponent.d.mts +0 -19
- package/dist/lib/esm/obsidian/Components/PlaceholderComponent.mjs +0 -14
- package/obsidian/Components/PlaceholderComponent/package.json +0 -6
@@ -1,5 +1,6 @@
|
|
1
1
|
/**
|
2
|
-
* @packageDocumentation
|
2
|
+
* @packageDocumentation
|
3
|
+
*
|
3
4
|
* Improved type-safe wrapper of {@link https://www.npmjs.com/package/monkey-around} library.
|
4
5
|
*/
|
5
6
|
import type { Component } from 'obsidian';
|
@@ -10,10 +11,10 @@ import type { ConditionalKeys } from 'type-fest';
|
|
10
11
|
* @typeParam Obj - The object to patch.
|
11
12
|
*/
|
12
13
|
export type Factories<Obj extends object> = Partial<{
|
13
|
-
[Key in ConditionalKeys<Obj, Function>]: WrapperFactory<Extract<Obj[Key], Function>>;
|
14
|
+
[Key in ConditionalKeys<Obj, Function | undefined>]: WrapperFactory<Extract<Obj[Key], Function | undefined>>;
|
14
15
|
}>;
|
15
16
|
type Uninstaller = () => void;
|
16
|
-
type WrapperFactory<T extends Function> = (next: T) => T;
|
17
|
+
type WrapperFactory<T extends Function | undefined> = (next: T) => T;
|
17
18
|
/**
|
18
19
|
* Applies a patch to the object.
|
19
20
|
* Better strongly-typed version of `monkey-around`.
|
@@ -21,6 +22,7 @@ type WrapperFactory<T extends Function> = (next: T) => T;
|
|
21
22
|
* @typeParam Obj - The object to patch.
|
22
23
|
* @param obj - The object to patch.
|
23
24
|
* @param factories - The factories to apply to the object.
|
25
|
+
* @returns The uninstaller that removes the patch when called.
|
24
26
|
*/
|
25
27
|
export declare function around<Obj extends object>(obj: Obj, factories: Factories<Obj>): Uninstaller;
|
26
28
|
/**
|
@@ -40,4 +40,4 @@ function shouldUseWikilinks(app) {
|
|
40
40
|
shouldUseRelativeLinks,
|
41
41
|
shouldUseWikilinks
|
42
42
|
});
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
43
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL09ic2lkaWFuU2V0dGluZ3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCBPYnNpZGlhbiBzZXR0aW5ncy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBSZXRyaWV2ZXMgd2hldGhlciB0byB1c2UgcmVsYXRpdmUgbGlua3MgYmFzZWQgb24gdGhlIE9ic2lkaWFuIHNldHRpbmdzLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgV2hldGhlciB0byB1c2UgcmVsYXRpdmUgbGlua3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRVc2VSZWxhdGl2ZUxpbmtzKGFwcDogQXBwKTogYm9vbGVhbiB7XG4gIHJldHVybiBhcHAudmF1bHQuZ2V0Q29uZmlnKCduZXdMaW5rRm9ybWF0JykgPT09ICdyZWxhdGl2ZSc7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHdoZXRoZXIgdG8gdXNlIHdpa2lsaW5rcyBiYXNlZCBvbiB0aGUgT2JzaWRpYW4gc2V0dGluZ3MuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRvIHVzZSB3aWtpbGlua3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRVc2VXaWtpbGlua3MoYXBwOiBBcHApOiBib29sZWFuIHtcbiAgcmV0dXJuICFhcHAudmF1bHQuZ2V0Q29uZmlnKCd1c2VNYXJrZG93bkxpbmtzJyk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY08sU0FBUyx1QkFBdUIsS0FBbUI7QUFDeEQsU0FBTyxJQUFJLE1BQU0sVUFBVSxlQUFlLE1BQU07QUFDbEQ7QUFRTyxTQUFTLG1CQUFtQixLQUFtQjtBQUNwRCxTQUFPLENBQUMsSUFBSSxNQUFNLFVBQVUsa0JBQWtCO0FBQ2hEOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -1,16 +1,19 @@
|
|
1
1
|
/**
|
2
2
|
* @packageDocumentation
|
3
|
+
*
|
3
4
|
* This module provides utility functions for working with Obsidian settings.
|
4
5
|
*/
|
5
6
|
import type { App } from 'obsidian';
|
6
7
|
/**
|
7
8
|
* Retrieves whether to use relative links based on the Obsidian settings.
|
9
|
+
*
|
8
10
|
* @param app - The Obsidian app instance.
|
9
11
|
* @returns Whether to use relative links.
|
10
12
|
*/
|
11
13
|
export declare function shouldUseRelativeLinks(app: App): boolean;
|
12
14
|
/**
|
13
15
|
* Retrieves whether to use wikilinks based on the Obsidian settings.
|
16
|
+
*
|
14
17
|
* @param app - The Obsidian app instance.
|
15
18
|
* @returns Whether to use wikilinks.
|
16
19
|
*/
|
@@ -63,4 +63,4 @@ async function printToPdf(el, options) {
|
|
63
63
|
0 && (module.exports = {
|
64
64
|
printToPdf
|
65
65
|
});
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
66
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BkZi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcHJpbnRpbmcgdG8gUERGLlxuICovXG5cbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBlbnN1cmVMb2FkZWQgfSBmcm9tICcuLi9IVE1MRWxlbWVudC50cyc7XG5cbmludGVyZmFjZSBQcmludFRvUGRmT3B0aW9ucyB7XG4gIGZpbGVwYXRoOiBzdHJpbmc7XG4gIGluY2x1ZGVOYW1lOiBib29sZWFuO1xuICBsYW5kc2NhcGU6IGJvb2xlYW47XG4gIG1hcmdpbnNUeXBlOiBudW1iZXI7XG4gIG9wZW46IGJvb2xlYW47XG4gIHBhZ2VTaXplOiBzdHJpbmc7XG4gIHNjYWxlOiBudW1iZXI7XG4gIHNjYWxlRmFjdG9yOiBudW1iZXI7XG59XG5cbmNvbnN0IEVMRUNUUk9OX1BSSU5UX1RPX1BERl9DSEFOTkVMID0gJ3ByaW50LXRvLXBkZic7XG5cbi8qKlxuICogUHJpbnQgdGhlIGdpdmVuIGVsZW1lbnQgdG8gYSBQREYgZmlsZS5cbiAqXG4gKiBXb3JrcyBvbmx5IG9uIGRlc2t0b3AuXG4gKlxuICogQHBhcmFtIGVsIC0gVGhlIGVsZW1lbnQgdG8gcHJpbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIHRvIHVzZSBmb3IgdGhlIHByaW50LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJpbnRUb1BkZihlbDogSFRNTEVsZW1lbnQsIG9wdGlvbnM6IFBhcnRpYWw8UHJpbnRUb1BkZk9wdGlvbnM+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChQbGF0Zm9ybS5pc01vYmlsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUHJpbnRpbmcgdG8gUERGIGlzIG5vdCBzdXBwb3J0ZWQgb24gbW9iaWxlIGRldmljZXMuJyk7XG4gIH1cblxuICBjb25zdCBwcmludERpdiA9IGRvY3VtZW50LmJvZHkuY3JlYXRlRGl2KCdwcmludCcpO1xuICBwcmludERpdi5hcHBlbmRDaGlsZChlbCk7XG4gIGF3YWl0IGVuc3VyZUxvYWRlZChwcmludERpdik7XG5cbiAgY29uc3QgREVGQVVMVF9TQ0FMRV9GQUNUT1IgPSAxMDA7XG4gIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUHJpbnRUb1BkZk9wdGlvbnMgPSB7XG4gICAgZmlsZXBhdGg6ICdVbnRpdGxlZC5wZGYnLFxuICAgIGluY2x1ZGVOYW1lOiBmYWxzZSxcbiAgICBsYW5kc2NhcGU6IGZhbHNlLFxuICAgIG1hcmdpbnNUeXBlOiAwLFxuICAgIG9wZW46IHRydWUsXG4gICAgcGFnZVNpemU6ICdBNCcsXG4gICAgc2NhbGU6IDEsXG4gICAgc2NhbGVGYWN0b3I6IERFRkFVTFRfU0NBTEVfRkFDVE9SXG4gIH07XG5cbiAgY29uc3QgZnVsbE9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGVsZWN0cm9uLmlwY1JlbmRlcmVyLm9uY2UoRUxFQ1RST05fUFJJTlRfVE9fUERGX0NIQU5ORUwsIHJlc29sdmUpO1xuICAgICAgZWxlY3Ryb24uaXBjUmVuZGVyZXIuc2VuZChFTEVDVFJPTl9QUklOVF9UT19QREZfQ0hBTk5FTCwgZnVsbE9wdGlvbnMpO1xuICAgIH0pO1xuICB9IGZpbmFsbHkge1xuICAgIHByaW50RGl2LnJlbW92ZSgpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHNCQUF5QjtBQUV6Qix5QkFBNkI7QUFhN0IsTUFBTSxnQ0FBZ0M7QUFVdEMsZUFBc0IsV0FBVyxJQUFpQixTQUFvRDtBQUNwRyxNQUFJLHlCQUFTLFVBQVU7QUFDckIsVUFBTSxJQUFJLE1BQU0scURBQXFEO0FBQUEsRUFDdkU7QUFFQSxRQUFNLFdBQVcsU0FBUyxLQUFLLFVBQVUsT0FBTztBQUNoRCxXQUFTLFlBQVksRUFBRTtBQUN2QixZQUFNLGlDQUFhLFFBQVE7QUFFM0IsUUFBTSx1QkFBdUI7QUFDN0IsUUFBTSxrQkFBcUM7QUFBQSxJQUN6QyxVQUFVO0FBQUEsSUFDVixhQUFhO0FBQUEsSUFDYixXQUFXO0FBQUEsSUFDWCxhQUFhO0FBQUEsSUFDYixNQUFNO0FBQUEsSUFDTixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxhQUFhO0FBQUEsRUFDZjtBQUVBLFFBQU0sY0FBYyxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsUUFBUTtBQUVyRCxNQUFJO0FBQ0YsVUFBTSxJQUFJLFFBQVEsQ0FBQyxZQUFZO0FBQzdCLGVBQVMsWUFBWSxLQUFLLCtCQUErQixPQUFPO0FBQ2hFLGVBQVMsWUFBWSxLQUFLLCtCQUErQixXQUFXO0FBQUEsSUFDdEUsQ0FBQztBQUFBLEVBQ0gsVUFBRTtBQUNBLGFBQVMsT0FBTztBQUFBLEVBQ2xCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -29,8 +29,12 @@ __export(ObsidianPluginRepoPaths_exports, {
|
|
29
29
|
});
|
30
30
|
module.exports = __toCommonJS(ObsidianPluginRepoPaths_exports);
|
31
31
|
var ObsidianPluginRepoPaths = /* @__PURE__ */ ((ObsidianPluginRepoPaths2) => {
|
32
|
+
ObsidianPluginRepoPaths2["AnyCjs"] = "*.cjs";
|
33
|
+
ObsidianPluginRepoPaths2["AnyJs"] = "*.js";
|
34
|
+
ObsidianPluginRepoPaths2["AnyMjs"] = "*.mjs";
|
32
35
|
ObsidianPluginRepoPaths2["AnyPath"] = "**";
|
33
36
|
ObsidianPluginRepoPaths2["AnyTs"] = "*.ts";
|
37
|
+
ObsidianPluginRepoPaths2["AnyTsx"] = "*.tsx";
|
34
38
|
ObsidianPluginRepoPaths2["ChangelogMd"] = "CHANGELOG.md";
|
35
39
|
ObsidianPluginRepoPaths2["CurrentDir"] = ".";
|
36
40
|
ObsidianPluginRepoPaths2["Dist"] = "dist";
|
@@ -43,7 +47,6 @@ var ObsidianPluginRepoPaths = /* @__PURE__ */ ((ObsidianPluginRepoPaths2) => {
|
|
43
47
|
ObsidianPluginRepoPaths2["EslintConfigMts"] = "eslint.config.mts";
|
44
48
|
ObsidianPluginRepoPaths2["EslintConfigTs"] = "eslint.config.ts";
|
45
49
|
ObsidianPluginRepoPaths2["HotReload"] = ".hotreload";
|
46
|
-
ObsidianPluginRepoPaths2["Lib"] = "lib";
|
47
50
|
ObsidianPluginRepoPaths2["MainCss"] = "main.css";
|
48
51
|
ObsidianPluginRepoPaths2["MainJs"] = "main.js";
|
49
52
|
ObsidianPluginRepoPaths2["MainTs"] = "main.ts";
|
@@ -52,6 +55,7 @@ var ObsidianPluginRepoPaths = /* @__PURE__ */ ((ObsidianPluginRepoPaths2) => {
|
|
52
55
|
ObsidianPluginRepoPaths2["NpmShrinkwrapJson"] = "npm-shrinkwrap.json";
|
53
56
|
ObsidianPluginRepoPaths2["PackageJson"] = "package.json";
|
54
57
|
ObsidianPluginRepoPaths2["PackageLockJson"] = "package-lock.json";
|
58
|
+
ObsidianPluginRepoPaths2["Scripts"] = "scripts";
|
55
59
|
ObsidianPluginRepoPaths2["Src"] = "src";
|
56
60
|
ObsidianPluginRepoPaths2["StylesCss"] = "styles.css";
|
57
61
|
ObsidianPluginRepoPaths2["TsConfigJson"] = "tsconfig.json";
|
@@ -62,4 +66,4 @@ var ObsidianPluginRepoPaths = /* @__PURE__ */ ((ObsidianPluginRepoPaths2) => {
|
|
62
66
|
0 && (module.exports = {
|
63
67
|
ObsidianPluginRepoPaths
|
64
68
|
});
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
69
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9PYnNpZGlhblBsdWdpblJlcG9QYXRocy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyBhbiBlbnVtZXJhdGlvbiBmb3IgY29tbW9uIGZpbGUgYW5kIGRpcmVjdG9yeSBwYXRocyB1c2VkIGluIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudC5cbiAqL1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIG9mIGNvbW1vbmx5IHVzZWQgZmlsZSBhbmQgZGlyZWN0b3J5IHBhdGhzIGluIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudC5cbiAqL1xuZXhwb3J0IGVudW0gT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMge1xuICAvKiogQ29tbW9uSlMgZmlsZS4gKi9cbiAgQW55Q2pzID0gJyouY2pzJyxcblxuICAvKiogSmF2YVNjcmlwdCBmaWxlLiAqL1xuICBBbnlKcyA9ICcqLmpzJyxcblxuICAvKiogRVNNIEphdmFTY3JpcHQgZmlsZS4gKi9cbiAgQW55TWpzID0gJyoubWpzJyxcblxuICAvKiogQW55IHBhdGggcmVjdXJzaXZlbHkuICovXG4gIEFueVBhdGggPSAnKionLFxuXG4gIC8qKiBUeXBlU2NyaXB0IGZpbGUuICovXG4gIEFueVRzID0gJyoudHMnLFxuXG4gIC8qKiBSZWFjdEpTIFR5cGVTY3JpcHQgZmlsZS4gKi9cbiAgQW55VHN4ID0gJyoudHN4JyxcblxuICAvKiogQ2hhbmdlbG9nIGZpbGUuICovXG4gIENoYW5nZWxvZ01kID0gJ0NIQU5HRUxPRy5tZCcsXG5cbiAgLyoqIEN1cnJlbnQgZGlyZWN0b3J5LiAqL1xuICBDdXJyZW50RGlyID0gJy4nLFxuXG4gIC8qKiBEaXN0cmlidXRpb24gZGlyZWN0b3J5LiAqL1xuICBEaXN0ID0gJ2Rpc3QnLFxuXG4gIC8qKiBCdWlsZCBkaXJlY3Rvcnkgd2l0aGluIHRoZSB7QGxpbmsgRGlzdH0gZGlyZWN0b3J5LiAqL1xuICBEaXN0QnVpbGQgPSAnZGlzdC9idWlsZCcsXG5cbiAgLyoqIERldmVsb3BtZW50IGRpcmVjdG9yeSB3aXRoaW4gdGhlIHtAbGluayBEaXN0fSBkaXJlY3RvcnkuICovXG4gIERpc3REZXYgPSAnZGlzdC9kZXYnLFxuXG4gIC8qKiBDb21tb25KUyBFU0xpbnQgY29uZmlndXJhdGlvbiBmaWxlLiAqL1xuICBFc2xpbnRDb25maWdDanMgPSAnZXNsaW50LmNvbmZpZy5janMnLFxuXG4gIC8qKiBDb21tb25KUyBUeXBlU2NyaXB0IEVTTGludCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIEVzbGludENvbmZpZ0N0cyA9ICdlc2xpbnQuY29uZmlnLmN0cycsXG5cbiAgLyoqIEphdmFTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS4gKi9cbiAgRXNsaW50Q29uZmlnSnMgPSAnZXNsaW50LmNvbmZpZy5qcycsXG5cbiAgLyoqIEVTTSBKYXZhU2NyaXB0IEVTTGludCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIEVzbGludENvbmZpZ01qcyA9ICdlc2xpbnQuY29uZmlnLm1qcycsXG5cbiAgLyoqIEVTTSBUeXBlU2NyaXB0IEVTTGludCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIEVzbGludENvbmZpZ010cyA9ICdlc2xpbnQuY29uZmlnLm10cycsXG5cbiAgLyoqIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS4gKi9cbiAgRXNsaW50Q29uZmlnVHMgPSAnZXNsaW50LmNvbmZpZy50cycsXG5cbiAgLyoqIEhvdCByZWxvYWQgZmlsZS4gKi9cbiAgSG90UmVsb2FkID0gJy5ob3RyZWxvYWQnLFxuXG4gIC8qKiBNYWluIENTUyBmaWxlLiAqL1xuICBNYWluQ3NzID0gJ21haW4uY3NzJyxcblxuICAvKiogTWFpbiBKYXZhU2NyaXB0IGZpbGUuICovXG4gIE1haW5KcyA9ICdtYWluLmpzJyxcblxuICAvKiogTWFpbiBUeXBlU2NyaXB0IGZpbGUuICovXG4gIE1haW5UcyA9ICdtYWluLnRzJyxcblxuICAvKiogTWFuaWZlc3QgZmlsZSBmb3IgYmV0YSByZWxlYXNlcy4gKi9cbiAgTWFuaWZlc3RCZXRhSnNvbiA9ICdtYW5pZmVzdC1iZXRhLmpzb24nLFxuXG4gIC8qKiBNYW5pZmVzdCBmaWxlLiAqL1xuICBNYW5pZmVzdEpzb24gPSAnbWFuaWZlc3QuanNvbicsXG5cbiAgLyoqIE5QTSBzaHJpbmt3cmFwIGZpbGUuICovXG4gIE5wbVNocmlua3dyYXBKc29uID0gJ25wbS1zaHJpbmt3cmFwLmpzb24nLFxuXG4gIC8qKiBQYWNrYWdlIEpTT04gZmlsZS4gKi9cbiAgUGFja2FnZUpzb24gPSAncGFja2FnZS5qc29uJyxcblxuICAvKiogUGFja2FnZS1sb2NrIEpTT04gZmlsZS4gKi9cbiAgUGFja2FnZUxvY2tKc29uID0gJ3BhY2thZ2UtbG9jay5qc29uJyxcblxuICAvKiogU2NyaXB0cyBkaXJlY3RvcnkuICovXG4gIFNjcmlwdHMgPSAnc2NyaXB0cycsXG5cbiAgLyoqIFNvdXJjZSBkaXJlY3RvcnkuICovXG4gIFNyYyA9ICdzcmMnLFxuXG4gIC8qKiBTdHlsZXMgQ1NTIGZpbGUuICovXG4gIFN0eWxlc0NzcyA9ICdzdHlsZXMuY3NzJyxcblxuICAvKiogVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIFRzQ29uZmlnSnNvbiA9ICd0c2NvbmZpZy5qc29uJyxcblxuICAvKiogVmVyc2lvbnMgSlNPTiBmaWxlLiAqL1xuICBWZXJzaW9uc0pzb24gPSAndmVyc2lvbnMuanNvbidcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU08sSUFBSywwQkFBTCxrQkFBS0EsNkJBQUw7QUFFTCxFQUFBQSx5QkFBQSxZQUFTO0FBR1QsRUFBQUEseUJBQUEsV0FBUTtBQUdSLEVBQUFBLHlCQUFBLFlBQVM7QUFHVCxFQUFBQSx5QkFBQSxhQUFVO0FBR1YsRUFBQUEseUJBQUEsV0FBUTtBQUdSLEVBQUFBLHlCQUFBLFlBQVM7QUFHVCxFQUFBQSx5QkFBQSxpQkFBYztBQUdkLEVBQUFBLHlCQUFBLGdCQUFhO0FBR2IsRUFBQUEseUJBQUEsVUFBTztBQUdQLEVBQUFBLHlCQUFBLGVBQVk7QUFHWixFQUFBQSx5QkFBQSxhQUFVO0FBR1YsRUFBQUEseUJBQUEscUJBQWtCO0FBR2xCLEVBQUFBLHlCQUFBLHFCQUFrQjtBQUdsQixFQUFBQSx5QkFBQSxvQkFBaUI7QUFHakIsRUFBQUEseUJBQUEscUJBQWtCO0FBR2xCLEVBQUFBLHlCQUFBLHFCQUFrQjtBQUdsQixFQUFBQSx5QkFBQSxvQkFBaUI7QUFHakIsRUFBQUEseUJBQUEsZUFBWTtBQUdaLEVBQUFBLHlCQUFBLGFBQVU7QUFHVixFQUFBQSx5QkFBQSxZQUFTO0FBR1QsRUFBQUEseUJBQUEsWUFBUztBQUdULEVBQUFBLHlCQUFBLHNCQUFtQjtBQUduQixFQUFBQSx5QkFBQSxrQkFBZTtBQUdmLEVBQUFBLHlCQUFBLHVCQUFvQjtBQUdwQixFQUFBQSx5QkFBQSxpQkFBYztBQUdkLEVBQUFBLHlCQUFBLHFCQUFrQjtBQUdsQixFQUFBQSx5QkFBQSxhQUFVO0FBR1YsRUFBQUEseUJBQUEsU0FBTTtBQUdOLEVBQUFBLHlCQUFBLGVBQVk7QUFHWixFQUFBQSx5QkFBQSxrQkFBZTtBQUdmLEVBQUFBLHlCQUFBLGtCQUFlO0FBNUZMLFNBQUFBO0FBQUEsR0FBQTsiLAogICJuYW1lcyI6IFsiT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMiXQp9Cg==
|
@@ -1,63 +1,72 @@
|
|
1
1
|
/**
|
2
|
-
* @packageDocumentation
|
2
|
+
* @packageDocumentation
|
3
|
+
*
|
3
4
|
* This file defines an enumeration for common file and directory paths used in Obsidian plugin development.
|
4
5
|
*/
|
5
6
|
/**
|
6
7
|
* Enumeration of commonly used file and directory paths in Obsidian plugin development.
|
7
8
|
*/
|
8
9
|
export declare enum ObsidianPluginRepoPaths {
|
9
|
-
/**
|
10
|
+
/** CommonJS file. */
|
11
|
+
AnyCjs = "*.cjs",
|
12
|
+
/** JavaScript file. */
|
13
|
+
AnyJs = "*.js",
|
14
|
+
/** ESM JavaScript file. */
|
15
|
+
AnyMjs = "*.mjs",
|
16
|
+
/** Any path recursively. */
|
10
17
|
AnyPath = "**",
|
11
|
-
/**
|
18
|
+
/** TypeScript file. */
|
12
19
|
AnyTs = "*.ts",
|
13
|
-
/**
|
20
|
+
/** ReactJS TypeScript file. */
|
21
|
+
AnyTsx = "*.tsx",
|
22
|
+
/** Changelog file. */
|
14
23
|
ChangelogMd = "CHANGELOG.md",
|
15
|
-
/**
|
24
|
+
/** Current directory. */
|
16
25
|
CurrentDir = ".",
|
17
|
-
/**
|
26
|
+
/** Distribution directory. */
|
18
27
|
Dist = "dist",
|
19
|
-
/**
|
28
|
+
/** Build directory within the {@link Dist} directory. */
|
20
29
|
DistBuild = "dist/build",
|
21
|
-
/**
|
30
|
+
/** Development directory within the {@link Dist} directory. */
|
22
31
|
DistDev = "dist/dev",
|
23
|
-
/**
|
32
|
+
/** CommonJS ESLint configuration file. */
|
24
33
|
EslintConfigCjs = "eslint.config.cjs",
|
25
|
-
/**
|
34
|
+
/** CommonJS TypeScript ESLint configuration file. */
|
26
35
|
EslintConfigCts = "eslint.config.cts",
|
27
|
-
/**
|
36
|
+
/** JavaScript ESLint configuration file. */
|
28
37
|
EslintConfigJs = "eslint.config.js",
|
29
|
-
/**
|
38
|
+
/** ESM JavaScript ESLint configuration file. */
|
30
39
|
EslintConfigMjs = "eslint.config.mjs",
|
31
|
-
/**
|
40
|
+
/** ESM TypeScript ESLint configuration file. */
|
32
41
|
EslintConfigMts = "eslint.config.mts",
|
33
|
-
/**
|
42
|
+
/** TypeScript ESLint configuration file. */
|
34
43
|
EslintConfigTs = "eslint.config.ts",
|
35
|
-
/**
|
44
|
+
/** Hot reload file. */
|
36
45
|
HotReload = ".hotreload",
|
37
|
-
/**
|
38
|
-
Lib = "lib",
|
39
|
-
/** Represents the main CSS file. */
|
46
|
+
/** Main CSS file. */
|
40
47
|
MainCss = "main.css",
|
41
|
-
/**
|
48
|
+
/** Main JavaScript file. */
|
42
49
|
MainJs = "main.js",
|
43
|
-
/**
|
50
|
+
/** Main TypeScript file. */
|
44
51
|
MainTs = "main.ts",
|
45
|
-
/**
|
52
|
+
/** Manifest file for beta releases. */
|
46
53
|
ManifestBetaJson = "manifest-beta.json",
|
47
|
-
/**
|
54
|
+
/** Manifest file. */
|
48
55
|
ManifestJson = "manifest.json",
|
49
|
-
/**
|
56
|
+
/** NPM shrinkwrap file. */
|
50
57
|
NpmShrinkwrapJson = "npm-shrinkwrap.json",
|
51
|
-
/**
|
58
|
+
/** Package JSON file. */
|
52
59
|
PackageJson = "package.json",
|
53
|
-
/**
|
60
|
+
/** Package-lock JSON file. */
|
54
61
|
PackageLockJson = "package-lock.json",
|
55
|
-
/**
|
62
|
+
/** Scripts directory. */
|
63
|
+
Scripts = "scripts",
|
64
|
+
/** Source directory. */
|
56
65
|
Src = "src",
|
57
|
-
/**
|
66
|
+
/** Styles CSS file. */
|
58
67
|
StylesCss = "styles.css",
|
59
|
-
/**
|
68
|
+
/** TypeScript configuration file. */
|
60
69
|
TsConfigJson = "tsconfig.json",
|
61
|
-
/**
|
70
|
+
/** Versions JSON file. */
|
62
71
|
VersionsJson = "versions.json"
|
63
72
|
}
|
@@ -47,4 +47,4 @@ async function showErrorAndDisablePlugin(plugin, message) {
|
|
47
47
|
reloadPlugin,
|
48
48
|
showErrorAndDisablePlugin
|
49
49
|
});
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
50
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIG1hbmFnaW5nIE9ic2lkaWFuIHBsdWdpbnMsXG4gKiBpbmNsdWRpbmcgZGlzcGxheWluZyBlcnJvciBtZXNzYWdlcywgZGlzYWJsaW5nIHBsdWdpbnMsIGFuZCByZWxvYWRpbmcgdGhlbS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgTm90aWNlIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSAnLi4vLi4vRXJyb3IudHMnO1xuXG4vKipcbiAqIFJlbG9hZHMgdGhlIHNwZWNpZmllZCBwbHVnaW4gYnkgZGlzYWJsaW5nIGFuZCB0aGVuIHJlLWVuYWJsaW5nIGl0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHJlbG9hZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGx1Z2luIGlzIHJlbG9hZGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVsb2FkUGx1Z2luKHBsdWdpbjogUGx1Z2luKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBsdWdpbnMgPSBwbHVnaW4uYXBwLnBsdWdpbnM7XG4gIGNvbnN0IHBsdWdpbklkID0gcGx1Z2luLm1hbmlmZXN0LmlkO1xuICBhd2FpdCBwbHVnaW5zLmRpc2FibGVQbHVnaW4ocGx1Z2luSWQpO1xuICBhd2FpdCBwbHVnaW5zLmVuYWJsZVBsdWdpbihwbHVnaW5JZCk7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gZXJyb3IgbWVzc2FnZSBhcyBhIG5vdGljZSwgbG9ncyBpdCB0byB0aGUgY29uc29sZSwgYW5kIGRpc2FibGVzIHRoZSBzcGVjaWZpZWQgcGx1Z2luLlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIGRpc2FibGUuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgYW5kIGxvZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGx1Z2luIGlzIGRpc2FibGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvd0Vycm9yQW5kRGlzYWJsZVBsdWdpbihwbHVnaW46IFBsdWdpbiwgbWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIG5ldyBOb3RpY2UobWVzc2FnZSk7XG4gIHByaW50RXJyb3IobmV3IEVycm9yKG1lc3NhZ2UpKTtcbiAgYXdhaXQgcGx1Z2luLmFwcC5wbHVnaW5zLmRpc2FibGVQbHVnaW4ocGx1Z2luLm1hbmlmZXN0LmlkKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSxzQkFBdUI7QUFFdkIsbUJBQTJCO0FBUTNCLGVBQXNCLGFBQWEsUUFBK0I7QUFDaEUsUUFBTSxVQUFVLE9BQU8sSUFBSTtBQUMzQixRQUFNLFdBQVcsT0FBTyxTQUFTO0FBQ2pDLFFBQU0sUUFBUSxjQUFjLFFBQVE7QUFDcEMsUUFBTSxRQUFRLGFBQWEsUUFBUTtBQUNyQztBQVNBLGVBQXNCLDBCQUEwQixRQUFnQixTQUFnQztBQUM5RixNQUFJLHVCQUFPLE9BQU87QUFDbEIsK0JBQVcsSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUM3QixRQUFNLE9BQU8sSUFBSSxRQUFRLGNBQWMsT0FBTyxTQUFTLEVBQUU7QUFDM0Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -1,5 +1,6 @@
|
|
1
1
|
/**
|
2
|
-
* @packageDocumentation
|
2
|
+
* @packageDocumentation
|
3
|
+
*
|
3
4
|
* This module provides utility functions for managing Obsidian plugins,
|
4
5
|
* including displaying error messages, disabling plugins, and reloading them.
|
5
6
|
*/
|
@@ -8,7 +9,7 @@ import type { Plugin } from 'obsidian';
|
|
8
9
|
* Reloads the specified plugin by disabling and then re-enabling it.
|
9
10
|
*
|
10
11
|
* @param plugin - The plugin to reload.
|
11
|
-
* @returns A
|
12
|
+
* @returns A {@link Promise} that resolves when the plugin is reloaded.
|
12
13
|
*/
|
13
14
|
export declare function reloadPlugin(plugin: Plugin): Promise<void>;
|
14
15
|
/**
|
@@ -16,6 +17,6 @@ export declare function reloadPlugin(plugin: Plugin): Promise<void>;
|
|
16
17
|
*
|
17
18
|
* @param plugin - The plugin to disable.
|
18
19
|
* @param message - The error message to display and log.
|
19
|
-
* @returns A
|
20
|
+
* @returns A {@link Promise} that resolves when the plugin is disabled.
|
20
21
|
*/
|
21
22
|
export declare function showErrorAndDisablePlugin(plugin: Plugin, message: string): Promise<void>;
|
@@ -29,12 +29,14 @@ __export(PluginBase_exports, {
|
|
29
29
|
});
|
30
30
|
module.exports = __toCommonJS(PluginBase_exports);
|
31
31
|
var import_obsidian = require('obsidian');
|
32
|
+
var import_Async = require('../../Async.cjs');
|
33
|
+
var import_AsyncEvents = require('../../AsyncEvents.cjs');
|
32
34
|
var import_Debug = require('../../Debug.cjs');
|
33
35
|
var import_Error = require('../../Error.cjs');
|
34
36
|
var import_Function = require('../../Function.cjs');
|
35
37
|
var import_PluginContext = require('./PluginContext.cjs');
|
36
|
-
var import_PluginSettingsManagerBase = require('./PluginSettingsManagerBase.cjs');
|
37
38
|
class PluginBase extends import_obsidian.Plugin {
|
39
|
+
events = new import_AsyncEvents.AsyncEvents();
|
38
40
|
/**
|
39
41
|
* Gets the AbortSignal used for aborting long-running operations.
|
40
42
|
*
|
@@ -52,10 +54,21 @@ class PluginBase extends import_obsidian.Plugin {
|
|
52
54
|
return this.settingsManager.safeSettings;
|
53
55
|
}
|
54
56
|
get settingsManager() {
|
57
|
+
if (!this._settingsManager) {
|
58
|
+
throw new Error("Settings manager not defined");
|
59
|
+
}
|
55
60
|
return this._settingsManager;
|
56
61
|
}
|
62
|
+
get settingsTab() {
|
63
|
+
if (!this._settingsTab) {
|
64
|
+
throw new Error("Settings tab not defined");
|
65
|
+
}
|
66
|
+
return this._settingsTab;
|
67
|
+
}
|
57
68
|
_abortSignal;
|
58
|
-
_settingsManager;
|
69
|
+
_settingsManager = null;
|
70
|
+
_settingsTab = null;
|
71
|
+
lifecycleEventNames = /* @__PURE__ */ new Set();
|
59
72
|
notice;
|
60
73
|
/**
|
61
74
|
* Logs a message to the console.
|
@@ -78,12 +91,99 @@ class PluginBase extends import_obsidian.Plugin {
|
|
78
91
|
* Called when the external settings change.
|
79
92
|
*/
|
80
93
|
async onExternalSettingsChange() {
|
81
|
-
await
|
94
|
+
await super.onExternalSettingsChange?.();
|
95
|
+
await this._settingsManager?.loadFromFile();
|
82
96
|
}
|
83
97
|
/**
|
84
98
|
* Called when the plugin is loaded
|
85
99
|
*/
|
86
100
|
async onload() {
|
101
|
+
await super.onload();
|
102
|
+
await this.onloadImpl();
|
103
|
+
(0, import_Async.invokeAsyncSafelyAfterDelay)(this.afterLoad.bind(this));
|
104
|
+
}
|
105
|
+
/**
|
106
|
+
* Called when the plugin settings are loaded or reloaded.
|
107
|
+
*
|
108
|
+
* @param _settings - The settings.
|
109
|
+
*/
|
110
|
+
async onLoadSettings(_settings) {
|
111
|
+
await (0, import_Function.noopAsync)();
|
112
|
+
}
|
113
|
+
/**
|
114
|
+
* Called when the plugin settings are saved.
|
115
|
+
*
|
116
|
+
* @param _newSettings - The new settings.
|
117
|
+
* @param _oldSettings - The old settings.
|
118
|
+
*/
|
119
|
+
async onSaveSettings(_newSettings, _oldSettings) {
|
120
|
+
await (0, import_Function.noopAsync)();
|
121
|
+
}
|
122
|
+
onunload() {
|
123
|
+
super.onunload();
|
124
|
+
(0, import_Async.invokeAsyncSafely)(async () => {
|
125
|
+
try {
|
126
|
+
await this.onunloadImpl();
|
127
|
+
} finally {
|
128
|
+
await this.triggerLifecycleEvent("unload");
|
129
|
+
}
|
130
|
+
});
|
131
|
+
}
|
132
|
+
/**
|
133
|
+
* Registers an async event.
|
134
|
+
* Unregisters the event when the plugin is unloaded.
|
135
|
+
*
|
136
|
+
* @param eventRef - The event reference.
|
137
|
+
*/
|
138
|
+
registerAsyncEvent(eventRef) {
|
139
|
+
this.register(() => {
|
140
|
+
eventRef.asyncEvents.offref(eventRef);
|
141
|
+
});
|
142
|
+
}
|
143
|
+
/**
|
144
|
+
* Waits for a lifecycle event to be triggered.
|
145
|
+
*
|
146
|
+
* If you `await` this method during lifecycle event, it might cause a deadlock.
|
147
|
+
*
|
148
|
+
* Consider wrapping this call with {@link invokeAsyncSafely}.
|
149
|
+
*
|
150
|
+
* @param name - The name of the event.
|
151
|
+
* @returns A {@link Promise} that resolves when the event is triggered.
|
152
|
+
*/
|
153
|
+
async waitForLifecycleEvent(name) {
|
154
|
+
if (this.lifecycleEventNames.has(name)) {
|
155
|
+
return;
|
156
|
+
}
|
157
|
+
await new Promise((resolve) => {
|
158
|
+
this.events.once(name, () => {
|
159
|
+
resolve();
|
160
|
+
});
|
161
|
+
});
|
162
|
+
}
|
163
|
+
/**
|
164
|
+
* Creates a plugin settings tab.
|
165
|
+
*
|
166
|
+
* @returns The settings tab or null if not applicable.
|
167
|
+
*/
|
168
|
+
createPluginSettingsTab() {
|
169
|
+
return null;
|
170
|
+
}
|
171
|
+
/**
|
172
|
+
* Creates the plugin settings manager. This method must be implemented by subclasses.
|
173
|
+
*
|
174
|
+
* @returns The plugin settings manager.
|
175
|
+
*/
|
176
|
+
createSettingsManager() {
|
177
|
+
return null;
|
178
|
+
}
|
179
|
+
/**
|
180
|
+
* Called when the layout is ready. This method can be overridden by subclasses to perform actions once
|
181
|
+
* the layout is ready.
|
182
|
+
*/
|
183
|
+
async onLayoutReady() {
|
184
|
+
await (0, import_Function.noopAsync)();
|
185
|
+
}
|
186
|
+
async onloadImpl() {
|
87
187
|
(0, import_PluginContext.initPluginContext)(this.app, this.manifest.id);
|
88
188
|
this.register((0, import_Error.registerAsyncErrorEventHandler)(() => {
|
89
189
|
this.showNotice("An unhandled error occurred. Please check the console for more information.");
|
@@ -99,39 +199,13 @@ class PluginBase extends import_obsidian.Plugin {
|
|
99
199
|
this.register(() => {
|
100
200
|
abortController.abort();
|
101
201
|
});
|
102
|
-
await this.onloadComplete();
|
103
|
-
setTimeout(() => {
|
104
|
-
this.app.workspace.onLayoutReady(this.onLayoutReady.bind(this));
|
105
|
-
}, 0);
|
106
202
|
}
|
107
203
|
/**
|
108
|
-
* Called when the plugin
|
109
|
-
*
|
110
|
-
* @param _newSettings - The new settings.
|
111
|
-
* @param _oldSettings - The old settings.
|
112
|
-
* @returns A promise or void indicating the completion of the save process.
|
204
|
+
* Called when the plugin is unloaded.
|
113
205
|
*/
|
114
|
-
async
|
206
|
+
async onunloadImpl() {
|
115
207
|
await (0, import_Function.noopAsync)();
|
116
208
|
}
|
117
|
-
/**
|
118
|
-
* Called when the layout is ready. This method can be overridden by subclasses to perform actions once
|
119
|
-
* the layout is ready.
|
120
|
-
*
|
121
|
-
* @returns A promise or void indicating the completion of the layout setup.
|
122
|
-
*/
|
123
|
-
onLayoutReady() {
|
124
|
-
(0, import_Function.noop)();
|
125
|
-
}
|
126
|
-
/**
|
127
|
-
* Called when the plugin loading is complete. This method must be implemented by subclasses to perform
|
128
|
-
* any additional setup required after loading is complete.
|
129
|
-
*
|
130
|
-
* @returns A promise or void indicating the completion of the load process.
|
131
|
-
*/
|
132
|
-
onloadComplete() {
|
133
|
-
(0, import_Function.noop)();
|
134
|
-
}
|
135
209
|
/**
|
136
210
|
* Displays a notice message to the user.
|
137
211
|
*
|
@@ -144,9 +218,24 @@ class PluginBase extends import_obsidian.Plugin {
|
|
144
218
|
this.notice = new import_obsidian.Notice(`${this.manifest.name}
|
145
219
|
${message}`);
|
146
220
|
}
|
221
|
+
async afterLoad() {
|
222
|
+
await this.triggerLifecycleEvent("load");
|
223
|
+
this.app.workspace.onLayoutReady((0, import_Async.convertAsyncToSync)(this.onLayoutReadyBase.bind(this)));
|
224
|
+
}
|
225
|
+
async onLayoutReadyBase() {
|
226
|
+
try {
|
227
|
+
await this.onLayoutReady();
|
228
|
+
} finally {
|
229
|
+
await this.triggerLifecycleEvent("layoutReady");
|
230
|
+
}
|
231
|
+
}
|
232
|
+
async triggerLifecycleEvent(name) {
|
233
|
+
this.lifecycleEventNames.add(name);
|
234
|
+
await this.events.triggerAsync(name);
|
235
|
+
}
|
147
236
|
}
|
148
237
|
// Annotate the CommonJS export names for ESM import in node:
|
149
238
|
0 && (module.exports = {
|
150
239
|
PluginBase
|
151
240
|
});
|
152
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBQbHVnaW5CYXNlXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHByb3ZpZGluZyB1dGlsaXR5IG1ldGhvZHMgZm9yIHNldHRpbmdzIG1hbmFnZW1lbnQsIGVycm9yIGhhbmRsaW5nLCBhbmQgbm90aWZpY2F0aW9ucy5cbiAqXG4gKiBUaGlzIGNsYXNzIHNpbXBsaWZpZXMgdGhlIHByb2Nlc3Mgb2YgbWFuYWdpbmcgcGx1Z2luIHNldHRpbmdzLCBkaXNwbGF5aW5nIG5vdGlmaWNhdGlvbnMsIGFuZCBoYW5kbGluZyBlcnJvcnMuXG4gKiBTdWJjbGFzc2VzIHNob3VsZCBpbXBsZW1lbnQgbWV0aG9kcyB0byBjcmVhdGUgZGVmYXVsdCBzZXR0aW5ncyBhbmQgc2V0dGluZ3MgdGFicywgYW5kIGNvbXBsZXRlIHBsdWdpbi1zcGVjaWZpY1xuICogbG9hZGluZyB0YXNrcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpblNldHRpbmdUYWIgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7XG4gIFByb21pc2FibGUsXG4gIFJlYWRvbmx5RGVlcFxufSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBOb3RpY2UsXG4gIFBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnLi4vLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vRXJyb3IudHMnO1xuaW1wb3J0IHtcbiAgbm9vcCxcbiAgbm9vcEFzeW5jXG59IGZyb20gJy4uLy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi9QbHVnaW5Db250ZXh0LnRzJztcbmltcG9ydCB7IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2UgfSBmcm9tICcuL1BsdWdpblNldHRpbmdzTWFuYWdlckJhc2UudHMnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIE9ic2lkaWFuIHBsdWdpbnMgd2l0aCBidWlsdC1pbiBzdXBwb3J0IGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LCBlcnJvciBoYW5kbGluZywgYW5kIG5vdGlmaWNhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSB0eXBlIHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IGV4dGVuZHMgUGx1Z2luIHtcbiAgLyoqXG4gICAqIEdldHMgdGhlIEFib3J0U2lnbmFsIHVzZWQgZm9yIGFib3J0aW5nIGxvbmctcnVubmluZyBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsLlxuICAgKi9cbiAgcHVibGljIGdldCBhYm9ydFNpZ25hbCgpOiBBYm9ydFNpZ25hbCB7XG4gICAgcmV0dXJuIHRoaXMuX2Fib3J0U2lnbmFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJlYWRvbmx5IHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHJlYWRvbmx5IHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogUmVhZG9ubHlEZWVwPFBsdWdpblNldHRpbmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NNYW5hZ2VyLnNhZmVTZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3NNYW5hZ2VyKCk6IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2U8UGx1Z2luU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3NNYW5hZ2VyO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWJvcnRTaWduYWwhOiBBYm9ydFNpZ25hbDtcblxuICBwcml2YXRlIF9zZXR0aW5nc01hbmFnZXIhOiBQbHVnaW5TZXR0aW5nc01hbmFnZXJCYXNlPFBsdWdpblNldHRpbmdzPjtcblxuICBwcml2YXRlIG5vdGljZT86IE5vdGljZTtcblxuICAvKipcbiAgICogTG9ncyBhIG1lc3NhZ2UgdG8gdGhlIGNvbnNvbGUuXG4gICAqXG4gICAqIFVzZSBpbnN0ZWFkIG9mIGBjb25zb2xlLmRlYnVnKClgLlxuICAgKlxuICAgKiBUaG9zZSBtZXNzYWdlcyBhcmUgbm90IHNob3duIGJ5IGRlZmF1bHQsIGJ1dCB0aGV5IGNhbiBiZSBzaG93biBieSBlbmFibGluZyBgeW91ci1wbHVnaW4taWRgIGRlYnVnZ2VyIG5hbWVzcGFjZS5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy8/dGFiPXJlYWRtZS1vdi1maWxlI2RlYnVnZ2luZ30gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gbG9nLlxuICAgKiBAcGFyYW0gYXJncyAtIFRoZSBhcmd1bWVudHMgdG8gbG9nLlxuICAgKi9cbiAgcHVibGljIGNvbnNvbGVEZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQge1xuICAgIC8vIFNraXAgdGhlIGBjb25zb2xlRGVidWcoKWAgY2FsbCBpdHNlbGZcbiAgICBjb25zdCBGUkFNRVNfVE9fU0tJUCA9IDE7XG4gICAgY29uc3QgX2RlYnVnZ2VyID0gZ2V0RGVidWdnZXIodGhpcy5tYW5pZmVzdC5pZCwgRlJBTUVTX1RPX1NLSVApO1xuICAgIF9kZWJ1Z2dlcihtZXNzYWdlLCAuLi5hcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgZXh0ZXJuYWwgc2V0dGluZ3MgY2hhbmdlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIG9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzTWFuYWdlci5sb2FkRnJvbUZpbGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgcGx1Z2luIGlzIGxvYWRlZFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIG9ubG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpbml0UGx1Z2luQ29udGV4dCh0aGlzLmFwcCwgdGhpcy5tYW5pZmVzdC5pZCk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlcigoKSA9PiB7XG4gICAgICB0aGlzLnNob3dOb3RpY2UoJ0FuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIGNoZWNrIHRoZSBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgIH0pKTtcblxuICAgIHRoaXMuX3NldHRpbmdzTWFuYWdlciA9IHRoaXMuY3JlYXRlU2V0dGluZ3NNYW5hZ2VyKCk7XG5cbiAgICBhd2FpdCB0aGlzLm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpO1xuICAgIGNvbnN0IHBsdWdpblNldHRpbmdzVGFiID0gdGhpcy5jcmVhdGVQbHVnaW5TZXR0aW5nc1RhYigpO1xuICAgIGlmIChwbHVnaW5TZXR0aW5nc1RhYikge1xuICAgICAgdGhpcy5hZGRTZXR0aW5nVGFiKHBsdWdpblNldHRpbmdzVGFiKTtcbiAgICB9XG5cbiAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fYWJvcnRTaWduYWwgPSBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICAgIHRoaXMucmVnaXN0ZXIoKCkgPT4ge1xuICAgICAgYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5vbmxvYWRDb21wbGV0ZSgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkodGhpcy5vbkxheW91dFJlYWR5LmJpbmQodGhpcykpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXJlIHNhdmVkLlxuICAgKlxuICAgKiBAcGFyYW0gX25ld1NldHRpbmdzIC0gVGhlIG5ldyBzZXR0aW5ncy5cbiAgICogQHBhcmFtIF9vbGRTZXR0aW5ncyAtIFRoZSBvbGQgc2V0dGluZ3MuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSBvciB2b2lkIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIHNhdmUgcHJvY2Vzcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBvblNhdmVTZXR0aW5ncyhfbmV3U2V0dGluZ3M6IFBhcnRpYWw8UGx1Z2luU2V0dGluZ3M+LCBfb2xkU2V0dGluZ3M6IFBhcnRpYWw8UGx1Z2luU2V0dGluZ3M+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgbm9vcEFzeW5jKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHBsdWdpbiBzZXR0aW5ncyB0YWIuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHNldHRpbmdzIHRhYiBvciBudWxsIGlmIG5vdCBhcHBsaWNhYmxlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZVBsdWdpblNldHRpbmdzVGFiKCk6IG51bGwgfCBQbHVnaW5TZXR0aW5nVGFiO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBwbHVnaW4gc2V0dGluZ3MgbWFuYWdlci4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgcGx1Z2luIHNldHRpbmdzIG1hbmFnZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlU2V0dGluZ3NNYW5hZ2VyKCk6IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2U8UGx1Z2luU2V0dGluZ3M+O1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgbGF5b3V0IGlzIHJlYWR5LiBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm0gYWN0aW9ucyBvbmNlXG4gICAqIHRoZSBsYXlvdXQgaXMgcmVhZHkuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSBvciB2b2lkIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGxheW91dCBzZXR1cC5cbiAgICovXG4gIHByb3RlY3RlZCBvbkxheW91dFJlYWR5KCk6IFByb21pc2FibGU8dm9pZD4ge1xuICAgIG5vb3AoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgcGx1Z2luIGxvYWRpbmcgaXMgY29tcGxldGUuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3NlcyB0byBwZXJmb3JtXG4gICAqIGFueSBhZGRpdGlvbmFsIHNldHVwIHJlcXVpcmVkIGFmdGVyIGxvYWRpbmcgaXMgY29tcGxldGUuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSBvciB2b2lkIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGxvYWQgcHJvY2Vzcy5cbiAgICovXG4gIHByb3RlY3RlZCBvbmxvYWRDb21wbGV0ZSgpOiBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBub29wKCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBub3RpY2UgbWVzc2FnZSB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3dOb3RpY2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubm90aWNlKSB7XG4gICAgICB0aGlzLm5vdGljZS5oaWRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5ub3RpY2UgPSBuZXcgTm90aWNlKGAke3RoaXMubWFuaWZlc3QubmFtZX1cXG4ke21lc3NhZ2V9YCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZUEsc0JBR087QUFFUCxtQkFBNEI7QUFDNUIsbUJBQStDO0FBQy9DLHNCQUdPO0FBQ1AsMkJBQWtDO0FBQ2xDLHVDQUEwQztBQU9uQyxNQUFlLG1CQUEyRCx1QkFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU10RixJQUFXLGNBQTJCO0FBQ3BDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxJQUFXLFdBQXlDO0FBQ2xELFdBQU8sS0FBSyxnQkFBZ0I7QUFBQSxFQUM5QjtBQUFBLEVBRUEsSUFBVyxrQkFBNkQ7QUFDdEUsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRVE7QUFBQSxFQUVBO0FBQUEsRUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBY0QsYUFBYSxZQUFvQixNQUF1QjtBQUU3RCxVQUFNLGlCQUFpQjtBQUN2QixVQUFNLGdCQUFZLDBCQUFZLEtBQUssU0FBUyxJQUFJLGNBQWM7QUFDOUQsY0FBVSxTQUFTLEdBQUcsSUFBSTtBQUFBLEVBQzVCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxNQUFzQiwyQkFBMEM7QUFDOUQsVUFBTSxLQUFLLGdCQUFnQixhQUFhO0FBQUEsRUFDMUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE1BQXNCLFNBQXdCO0FBQzVDLGdEQUFrQixLQUFLLEtBQUssS0FBSyxTQUFTLEVBQUU7QUFFNUMsU0FBSyxhQUFTLDZDQUErQixNQUFNO0FBQ2pELFdBQUssV0FBVyw2RUFBNkU7QUFBQSxJQUMvRixDQUFDLENBQUM7QUFFRixTQUFLLG1CQUFtQixLQUFLLHNCQUFzQjtBQUVuRCxVQUFNLEtBQUsseUJBQXlCO0FBQ3BDLFVBQU0sb0JBQW9CLEtBQUssd0JBQXdCO0FBQ3ZELFFBQUksbUJBQW1CO0FBQ3JCLFdBQUssY0FBYyxpQkFBaUI7QUFBQSxJQUN0QztBQUVBLFVBQU0sa0JBQWtCLElBQUksZ0JBQWdCO0FBQzVDLFNBQUssZUFBZSxnQkFBZ0I7QUFDcEMsU0FBSyxTQUFTLE1BQU07QUFDbEIsc0JBQWdCLE1BQU07QUFBQSxJQUN4QixDQUFDO0FBQ0QsVUFBTSxLQUFLLGVBQWU7QUFDMUIsZUFBVyxNQUFNO0FBQ2YsV0FBSyxJQUFJLFVBQVUsY0FBYyxLQUFLLGNBQWMsS0FBSyxJQUFJLENBQUM7QUFBQSxJQUNoRSxHQUFHLENBQUM7QUFBQSxFQUNOO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE1BQWEsZUFBZSxjQUF1QyxjQUFzRDtBQUN2SCxjQUFNLDJCQUFVO0FBQUEsRUFDbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXNCVSxnQkFBa0M7QUFDMUMsOEJBQUs7QUFBQSxFQUNQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRVSxpQkFBbUM7QUFDM0MsOEJBQUs7QUFBQSxFQUNQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1UsV0FBVyxTQUF1QjtBQUMxQyxRQUFJLEtBQUssUUFBUTtBQUNmLFdBQUssT0FBTyxLQUFLO0FBQUEsSUFDbkI7QUFFQSxTQUFLLFNBQVMsSUFBSSx1QkFBTyxHQUFHLEtBQUssU0FBUyxJQUFJO0FBQUEsRUFBSyxPQUFPLEVBQUU7QUFBQSxFQUM5RDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
241
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3MgZm9yIE9ic2lkaWFuIHBsdWdpbnMgcHJvdmlkaW5nIHV0aWxpdHkgbWV0aG9kcyBmb3Igc2V0dGluZ3MgbWFuYWdlbWVudCwgZXJyb3IgaGFuZGxpbmcsIGFuZCBub3RpZmljYXRpb25zLlxuICpcbiAqIFRoaXMgY2xhc3Mgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBvZiBtYW5hZ2luZyBwbHVnaW4gc2V0dGluZ3MsIGRpc3BsYXlpbmcgbm90aWZpY2F0aW9ucywgYW5kIGhhbmRsaW5nIGVycm9ycy5cbiAqIFN1YmNsYXNzZXMgc2hvdWxkIGltcGxlbWVudCBtZXRob2RzIHRvIGNyZWF0ZSBkZWZhdWx0IHNldHRpbmdzIGFuZCBzZXR0aW5ncyB0YWJzLCBhbmQgY29tcGxldGUgcGx1Z2luLXNwZWNpZmljXG4gKiBsb2FkaW5nIHRhc2tzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUmVhZG9ubHlEZWVwIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgTm90aWNlLFxuICBQbHVnaW4gYXMgT2JzaWRpYW5QbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEFzeW5jRXZlbnRSZWYgfSBmcm9tICcuLi8uLi9Bc3luY0V2ZW50cy50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIEV4dHJhY3RQbHVnaW5TZXR0aW5ncyxcbiAgRXh0cmFjdFBsdWdpblNldHRpbmdzTWFuYWdlcixcbiAgRXh0cmFjdFBsdWdpblNldHRpbmdzVGFiLFxuICBQbHVnaW5UeXBlc0Jhc2Vcbn0gZnJvbSAnLi9QbHVnaW5UeXBlc0Jhc2UudHMnO1xuXG5pbXBvcnQge1xuICBjb252ZXJ0QXN5bmNUb1N5bmMsXG4gIGludm9rZUFzeW5jU2FmZWx5LFxuICBpbnZva2VBc3luY1NhZmVseUFmdGVyRGVsYXlcbn0gZnJvbSAnLi4vLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgQXN5bmNFdmVudHMgfSBmcm9tICcuLi8uLi9Bc3luY0V2ZW50cy50cyc7XG5pbXBvcnQgeyBnZXREZWJ1Z2dlciB9IGZyb20gJy4uLy4uL0RlYnVnLnRzJztcbmltcG9ydCB7IHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlciB9IGZyb20gJy4uLy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3BBc3luYyB9IGZyb20gJy4uLy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi9QbHVnaW5Db250ZXh0LnRzJztcblxudHlwZSBMaWZlY3ljbGVFdmVudE5hbWUgPSAnbGF5b3V0UmVhZHknIHwgJ2xvYWQnIHwgJ3VubG9hZCc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgT2JzaWRpYW4gcGx1Z2lucyB3aXRoIGJ1aWx0LWluIHN1cHBvcnQgZm9yIHNldHRpbmdzIG1hbmFnZW1lbnQsIGVycm9yIGhhbmRsaW5nLCBhbmQgbm90aWZpY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgcmVwcmVzZW50aW5nIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGx1Z2luQmFzZTxQbHVnaW5UeXBlcyBleHRlbmRzIFBsdWdpblR5cGVzQmFzZT4gZXh0ZW5kcyBPYnNpZGlhblBsdWdpbiB7XG4gIHB1YmxpYyByZWFkb25seSBldmVudHMgPSBuZXcgQXN5bmNFdmVudHMoKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgQWJvcnRTaWduYWwgdXNlZCBmb3IgYWJvcnRpbmcgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFib3J0U2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgICByZXR1cm4gdGhpcy5fYWJvcnRTaWduYWw7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcmVhZG9ubHkgcGx1Z2luIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgcmVhZG9ubHkgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBSZWFkb25seURlZXA8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPj4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzTWFuYWdlci5zYWZlU2V0dGluZ3MgYXMgUmVhZG9ubHlEZWVwPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+O1xuICB9XG5cbiAgcHVibGljIGdldCBzZXR0aW5nc01hbmFnZXIoKTogRXh0cmFjdFBsdWdpblNldHRpbmdzTWFuYWdlcjxQbHVnaW5UeXBlcz4ge1xuICAgIGlmICghdGhpcy5fc2V0dGluZ3NNYW5hZ2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NldHRpbmdzIG1hbmFnZXIgbm90IGRlZmluZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3NNYW5hZ2VyO1xuICB9XG5cbiAgcHVibGljIGdldCBzZXR0aW5nc1RhYigpOiBFeHRyYWN0UGx1Z2luU2V0dGluZ3NUYWI8UGx1Z2luVHlwZXM+IHtcbiAgICBpZiAoIXRoaXMuX3NldHRpbmdzVGFiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NldHRpbmdzIHRhYiBub3QgZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zZXR0aW5nc1RhYjtcbiAgfVxuXG4gIHByaXZhdGUgX2Fib3J0U2lnbmFsITogQWJvcnRTaWduYWw7XG4gIHByaXZhdGUgX3NldHRpbmdzTWFuYWdlcjogRXh0cmFjdFBsdWdpblNldHRpbmdzTWFuYWdlcjxQbHVnaW5UeXBlcz4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfc2V0dGluZ3NUYWI6IEV4dHJhY3RQbHVnaW5TZXR0aW5nc1RhYjxQbHVnaW5UeXBlcz4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBsaWZlY3ljbGVFdmVudE5hbWVzID0gbmV3IFNldDxMaWZlY3ljbGVFdmVudE5hbWU+KCk7XG4gIHByaXZhdGUgbm90aWNlPzogTm90aWNlO1xuXG4gIC8qKlxuICAgKiBMb2dzIGEgbWVzc2FnZSB0byB0aGUgY29uc29sZS5cbiAgICpcbiAgICogVXNlIGluc3RlYWQgb2YgYGNvbnNvbGUuZGVidWcoKWAuXG4gICAqXG4gICAqIFRob3NlIG1lc3NhZ2VzIGFyZSBub3Qgc2hvd24gYnkgZGVmYXVsdCwgYnV0IHRoZXkgY2FuIGJlIHNob3duIGJ5IGVuYWJsaW5nIGB5b3VyLXBsdWdpbi1pZGAgZGVidWdnZXIgbmFtZXNwYWNlLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzLz90YWI9cmVhZG1lLW92LWZpbGUjZGVidWdnaW5nfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBsb2cuXG4gICAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3VtZW50cyB0byBsb2cuXG4gICAqL1xuICBwdWJsaWMgY29uc29sZURlYnVnKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgLy8gU2tpcCB0aGUgYGNvbnNvbGVEZWJ1ZygpYCBjYWxsIGl0c2VsZlxuICAgIGNvbnN0IEZSQU1FU19UT19TS0lQID0gMTtcbiAgICBjb25zdCBfZGVidWdnZXIgPSBnZXREZWJ1Z2dlcih0aGlzLm1hbmlmZXN0LmlkLCBGUkFNRVNfVE9fU0tJUCk7XG4gICAgX2RlYnVnZ2VyKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBzZXR0aW5ncyBjaGFuZ2UuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZT8uKCk7XG4gICAgYXdhaXQgdGhpcy5fc2V0dGluZ3NNYW5hZ2VyPy5sb2FkRnJvbUZpbGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgcGx1Z2luIGlzIGxvYWRlZFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIG9ubG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5vbmxvYWQoKTtcbiAgICBhd2FpdCB0aGlzLm9ubG9hZEltcGwoKTtcbiAgICBpbnZva2VBc3luY1NhZmVseUFmdGVyRGVsYXkodGhpcy5hZnRlckxvYWQuYmluZCh0aGlzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBzZXR0aW5ncyBhcmUgbG9hZGVkIG9yIHJlbG9hZGVkLlxuICAgKlxuICAgKiBAcGFyYW0gX3NldHRpbmdzIC0gVGhlIHNldHRpbmdzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIG9uTG9hZFNldHRpbmdzKF9zZXR0aW5nczogRXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IG5vb3BBc3luYygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXJlIHNhdmVkLlxuICAgKlxuICAgKiBAcGFyYW0gX25ld1NldHRpbmdzIC0gVGhlIG5ldyBzZXR0aW5ncy5cbiAgICogQHBhcmFtIF9vbGRTZXR0aW5ncyAtIFRoZSBvbGQgc2V0dGluZ3MuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgb25TYXZlU2V0dGluZ3MoX25ld1NldHRpbmdzOiBFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+LCBfb2xkU2V0dGluZ3M6IEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBub29wQXN5bmMoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICBzdXBlci5vbnVubG9hZCgpO1xuICAgIGludm9rZUFzeW5jU2FmZWx5KGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMub251bmxvYWRJbXBsKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBhd2FpdCB0aGlzLnRyaWdnZXJMaWZlY3ljbGVFdmVudCgndW5sb2FkJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGFuIGFzeW5jIGV2ZW50LlxuICAgKiBVbnJlZ2lzdGVycyB0aGUgZXZlbnQgd2hlbiB0aGUgcGx1Z2luIGlzIHVubG9hZGVkLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRSZWYgLSBUaGUgZXZlbnQgcmVmZXJlbmNlLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyQXN5bmNFdmVudChldmVudFJlZjogQXN5bmNFdmVudFJlZik6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXIoKCkgPT4ge1xuICAgICAgZXZlbnRSZWYuYXN5bmNFdmVudHMub2ZmcmVmKGV2ZW50UmVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYWl0cyBmb3IgYSBsaWZlY3ljbGUgZXZlbnQgdG8gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBJZiB5b3UgYGF3YWl0YCB0aGlzIG1ldGhvZCBkdXJpbmcgbGlmZWN5Y2xlIGV2ZW50LCBpdCBtaWdodCBjYXVzZSBhIGRlYWRsb2NrLlxuICAgKlxuICAgKiBDb25zaWRlciB3cmFwcGluZyB0aGlzIGNhbGwgd2l0aCB7QGxpbmsgaW52b2tlQXN5bmNTYWZlbHl9LlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgd2FpdEZvckxpZmVjeWNsZUV2ZW50KG5hbWU6IExpZmVjeWNsZUV2ZW50TmFtZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmxpZmVjeWNsZUV2ZW50TmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMuZXZlbnRzLm9uY2UobmFtZSwgKCkgPT4ge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcGx1Z2luIHNldHRpbmdzIHRhYi5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHNldHRpbmdzIHRhYiBvciBudWxsIGlmIG5vdCBhcHBsaWNhYmxlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVBsdWdpblNldHRpbmdzVGFiKCk6IEV4dHJhY3RQbHVnaW5TZXR0aW5nc1RhYjxQbHVnaW5UeXBlcz4gfCBudWxsIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBwbHVnaW4gc2V0dGluZ3MgbWFuYWdlci4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgcGx1Z2luIHNldHRpbmdzIG1hbmFnZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlU2V0dGluZ3NNYW5hZ2VyKCk6IEV4dHJhY3RQbHVnaW5TZXR0aW5nc01hbmFnZXI8UGx1Z2luVHlwZXM+IHwgbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGxheW91dCBpcyByZWFkeS4gVGhpcyBtZXRob2QgY2FuIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyB0byBwZXJmb3JtIGFjdGlvbnMgb25jZVxuICAgKiB0aGUgbGF5b3V0IGlzIHJlYWR5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIG9uTGF5b3V0UmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgbm9vcEFzeW5jKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgb25sb2FkSW1wbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpbml0UGx1Z2luQ29udGV4dCh0aGlzLmFwcCwgdGhpcy5tYW5pZmVzdC5pZCk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlcigoKSA9PiB7XG4gICAgICB0aGlzLnNob3dOb3RpY2UoJ0FuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIGNoZWNrIHRoZSBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuICAgIH0pKTtcblxuICAgIHRoaXMuX3NldHRpbmdzTWFuYWdlciA9IHRoaXMuY3JlYXRlU2V0dGluZ3NNYW5hZ2VyKCk7XG5cbiAgICBhd2FpdCB0aGlzLm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpO1xuICAgIGNvbnN0IHBsdWdpblNldHRpbmdzVGFiID0gdGhpcy5jcmVhdGVQbHVnaW5TZXR0aW5nc1RhYigpO1xuICAgIGlmIChwbHVnaW5TZXR0aW5nc1RhYikge1xuICAgICAgdGhpcy5hZGRTZXR0aW5nVGFiKHBsdWdpblNldHRpbmdzVGFiKTtcbiAgICB9XG5cbiAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fYWJvcnRTaWduYWwgPSBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICAgIHRoaXMucmVnaXN0ZXIoKCkgPT4ge1xuICAgICAgYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBpcyB1bmxvYWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBvbnVubG9hZEltcGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgbm9vcEFzeW5jKCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBub3RpY2UgbWVzc2FnZSB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3dOb3RpY2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubm90aWNlKSB7XG4gICAgICB0aGlzLm5vdGljZS5oaWRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5ub3RpY2UgPSBuZXcgTm90aWNlKGAke3RoaXMubWFuaWZlc3QubmFtZX1cXG4ke21lc3NhZ2V9YCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGFmdGVyTG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnRyaWdnZXJMaWZlY3ljbGVFdmVudCgnbG9hZCcpO1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KGNvbnZlcnRBc3luY1RvU3luYyh0aGlzLm9uTGF5b3V0UmVhZHlCYXNlLmJpbmQodGhpcykpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgb25MYXlvdXRSZWFkeUJhc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMub25MYXlvdXRSZWFkeSgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCB0aGlzLnRyaWdnZXJMaWZlY3ljbGVFdmVudCgnbGF5b3V0UmVhZHknKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyaWdnZXJMaWZlY3ljbGVFdmVudChuYW1lOiBMaWZlY3ljbGVFdmVudE5hbWUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxpZmVjeWNsZUV2ZW50TmFtZXMuYWRkKG5hbWUpO1xuICAgIGF3YWl0IHRoaXMuZXZlbnRzLnRyaWdnZXJBc3luYyhuYW1lKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQSxzQkFHTztBQVVQLG1CQUlPO0FBQ1AseUJBQTRCO0FBQzVCLG1CQUE0QjtBQUM1QixtQkFBK0M7QUFDL0Msc0JBQTBCO0FBQzFCLDJCQUFrQztBQVMzQixNQUFlLG1CQUF3RCxnQkFBQUEsT0FBZTtBQUFBLEVBQzNFLFNBQVMsSUFBSSwrQkFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU96QyxJQUFXLGNBQTJCO0FBQ3BDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxJQUFXLFdBQTZEO0FBQ3RFLFdBQU8sS0FBSyxnQkFBZ0I7QUFBQSxFQUM5QjtBQUFBLEVBRUEsSUFBVyxrQkFBNkQ7QUFDdEUsUUFBSSxDQUFDLEtBQUssa0JBQWtCO0FBQzFCLFlBQU0sSUFBSSxNQUFNLDhCQUE4QjtBQUFBLElBQ2hEO0FBRUEsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRUEsSUFBVyxjQUFxRDtBQUM5RCxRQUFJLENBQUMsS0FBSyxjQUFjO0FBQ3RCLFlBQU0sSUFBSSxNQUFNLDBCQUEwQjtBQUFBLElBQzVDO0FBRUEsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRVE7QUFBQSxFQUNBLG1CQUFxRTtBQUFBLEVBQ3JFLGVBQTZEO0FBQUEsRUFDN0Qsc0JBQXNCLG9CQUFJLElBQXdCO0FBQUEsRUFDbEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWNELGFBQWEsWUFBb0IsTUFBdUI7QUFFN0QsVUFBTSxpQkFBaUI7QUFDdkIsVUFBTSxnQkFBWSwwQkFBWSxLQUFLLFNBQVMsSUFBSSxjQUFjO0FBQzlELGNBQVUsU0FBUyxHQUFHLElBQUk7QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsTUFBc0IsMkJBQTBDO0FBQzlELFVBQU0sTUFBTSwyQkFBMkI7QUFDdkMsVUFBTSxLQUFLLGtCQUFrQixhQUFhO0FBQUEsRUFDNUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE1BQXNCLFNBQXdCO0FBQzVDLFVBQU0sTUFBTSxPQUFPO0FBQ25CLFVBQU0sS0FBSyxXQUFXO0FBQ3RCLGtEQUE0QixLQUFLLFVBQVUsS0FBSyxJQUFJLENBQUM7QUFBQSxFQUN2RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQWEsZUFBZSxXQUE4RDtBQUN4RixjQUFNLDJCQUFVO0FBQUEsRUFDbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE1BQWEsZUFBZSxjQUFrRCxjQUFpRTtBQUM3SSxjQUFNLDJCQUFVO0FBQUEsRUFDbEI7QUFBQSxFQUVnQixXQUFpQjtBQUMvQixVQUFNLFNBQVM7QUFDZix3Q0FBa0IsWUFBWTtBQUM1QixVQUFJO0FBQ0YsY0FBTSxLQUFLLGFBQWE7QUFBQSxNQUMxQixVQUFFO0FBQ0EsY0FBTSxLQUFLLHNCQUFzQixRQUFRO0FBQUEsTUFDM0M7QUFBQSxJQUNGLENBQUM7QUFBQSxFQUNIO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxtQkFBbUIsVUFBK0I7QUFDdkQsU0FBSyxTQUFTLE1BQU07QUFDbEIsZUFBUyxZQUFZLE9BQU8sUUFBUTtBQUFBLElBQ3RDLENBQUM7QUFBQSxFQUNIO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVlBLE1BQWEsc0JBQXNCLE1BQXlDO0FBQzFFLFFBQUksS0FBSyxvQkFBb0IsSUFBSSxJQUFJLEdBQUc7QUFDdEM7QUFBQSxJQUNGO0FBRUEsVUFBTSxJQUFJLFFBQWMsQ0FBQyxZQUFZO0FBQ25DLFdBQUssT0FBTyxLQUFLLE1BQU0sTUFBTTtBQUMzQixnQkFBUTtBQUFBLE1BQ1YsQ0FBQztBQUFBLElBQ0gsQ0FBQztBQUFBLEVBQ0g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVSwwQkFBd0U7QUFDaEYsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVSx3QkFBMEU7QUFDbEYsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsTUFBZ0IsZ0JBQStCO0FBQzdDLGNBQU0sMkJBQVU7QUFBQSxFQUNsQjtBQUFBLEVBRUEsTUFBZ0IsYUFBNEI7QUFDMUMsZ0RBQWtCLEtBQUssS0FBSyxLQUFLLFNBQVMsRUFBRTtBQUU1QyxTQUFLLGFBQVMsNkNBQStCLE1BQU07QUFDakQsV0FBSyxXQUFXLDZFQUE2RTtBQUFBLElBQy9GLENBQUMsQ0FBQztBQUVGLFNBQUssbUJBQW1CLEtBQUssc0JBQXNCO0FBRW5ELFVBQU0sS0FBSyx5QkFBeUI7QUFDcEMsVUFBTSxvQkFBb0IsS0FBSyx3QkFBd0I7QUFDdkQsUUFBSSxtQkFBbUI7QUFDckIsV0FBSyxjQUFjLGlCQUFpQjtBQUFBLElBQ3RDO0FBRUEsVUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFDNUMsU0FBSyxlQUFlLGdCQUFnQjtBQUNwQyxTQUFLLFNBQVMsTUFBTTtBQUNsQixzQkFBZ0IsTUFBTTtBQUFBLElBQ3hCLENBQUM7QUFBQSxFQUNIO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxNQUFnQixlQUE4QjtBQUM1QyxjQUFNLDJCQUFVO0FBQUEsRUFDbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVSxXQUFXLFNBQXVCO0FBQzFDLFFBQUksS0FBSyxRQUFRO0FBQ2YsV0FBSyxPQUFPLEtBQUs7QUFBQSxJQUNuQjtBQUVBLFNBQUssU0FBUyxJQUFJLHVCQUFPLEdBQUcsS0FBSyxTQUFTLElBQUk7QUFBQSxFQUFLLE9BQU8sRUFBRTtBQUFBLEVBQzlEO0FBQUEsRUFFQSxNQUFjLFlBQTJCO0FBQ3ZDLFVBQU0sS0FBSyxzQkFBc0IsTUFBTTtBQUN2QyxTQUFLLElBQUksVUFBVSxrQkFBYyxpQ0FBbUIsS0FBSyxrQkFBa0IsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUFBLEVBQ3hGO0FBQUEsRUFFQSxNQUFjLG9CQUFtQztBQUMvQyxRQUFJO0FBQ0YsWUFBTSxLQUFLLGNBQWM7QUFBQSxJQUMzQixVQUFFO0FBQ0EsWUFBTSxLQUFLLHNCQUFzQixhQUFhO0FBQUEsSUFDaEQ7QUFBQSxFQUNGO0FBQUEsRUFFQSxNQUFjLHNCQUFzQixNQUF5QztBQUMzRSxTQUFLLG9CQUFvQixJQUFJLElBQUk7QUFDakMsVUFBTSxLQUFLLE9BQU8sYUFBYSxJQUFJO0FBQUEsRUFDckM7QUFDRjsiLAogICJuYW1lcyI6IFsiT2JzaWRpYW5QbHVnaW4iXQp9Cg==
|