obsidian-dev-utils 67.0.0 → 69.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 +24 -0
- package/dist/dev/main.js +487 -267
- package/dist/lib/cjs/@types/debug.d.cts +1 -0
- package/dist/lib/cjs/abort-controller.d.cts +1 -0
- package/dist/lib/cjs/array.d.cts +1 -0
- package/dist/lib/cjs/async-events.cjs +178 -18
- package/dist/lib/cjs/async-events.d.cts +261 -9
- package/dist/lib/cjs/async.d.cts +1 -0
- package/dist/lib/cjs/blob.d.cts +1 -0
- package/dist/lib/cjs/codemirror/index.d.cts +1 -0
- package/dist/lib/cjs/codemirror/state-field-spec.d.cts +1 -0
- package/dist/lib/cjs/css-class.d.cts +1 -0
- package/dist/lib/cjs/debug-controller.d.cts +1 -0
- package/dist/lib/cjs/debug.d.cts +1 -0
- package/dist/lib/cjs/enum.d.cts +1 -0
- package/dist/lib/cjs/error.cjs +6 -7
- package/dist/lib/cjs/error.d.cts +1 -0
- package/dist/lib/cjs/function.cjs +6 -2
- package/dist/lib/cjs/function.d.cts +7 -0
- package/dist/lib/cjs/html-element.d.cts +1 -0
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/library.cjs +1 -1
- package/dist/lib/cjs/library.d.cts +4 -0
- package/dist/lib/cjs/object-utils.cjs +1 -1
- package/dist/lib/cjs/object-utils.d.cts +3 -0
- package/dist/lib/cjs/obsidian/@types/dataview/api/data-array.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/api/extensions.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/api/inline-api.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/api/plugin-api.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/api/result.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-import/common.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-import/csv.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-import/inline-field.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-import/markdown-file.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-import/persister.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-import/web-worker/import-entry.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-import/web-worker/import-impl.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-import/web-worker/import-manager.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-index/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-index/resolver.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-index/source.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/markdown.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/serialized/markdown.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/transferable.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/value.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/expression/binaryop.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/expression/context.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/expression/field.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/expression/functions.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/expression/parse.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/main.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/query/engine.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/query/parse.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/query/query.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/settings.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/typings/obsidian-ex.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/typings/workers.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/export/markdown.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/lp-render.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/markdown.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/refreshable-view.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/render.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/calendar-view.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/inline-field-live-preview.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/inline-view.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/js-view.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/list-view.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/table-view.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/task-view.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/util/hash.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/util/locale.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/util/media.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/dataview/util/normalize.d.cts +1 -0
- package/dist/lib/cjs/obsidian/@types/i18next.d.cts +1 -0
- package/dist/lib/cjs/obsidian/active-file-provider.cjs +1 -1
- package/dist/lib/cjs/obsidian/active-file-provider.d.cts +1 -1
- package/dist/lib/cjs/obsidian/app.d.cts +1 -0
- package/dist/lib/cjs/obsidian/async-with-notice.d.cts +1 -0
- package/dist/lib/cjs/obsidian/attachment-path.d.cts +1 -0
- package/dist/lib/cjs/obsidian/backlink.d.cts +1 -0
- package/dist/lib/cjs/obsidian/callout.d.cts +1 -0
- package/dist/lib/cjs/obsidian/code-block-markdown-information.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +4 -4
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +4 -3
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-registrar.d.cts +1 -0
- package/dist/lib/cjs/obsidian/components/abort-signal-component.cjs +3 -7
- package/dist/lib/cjs/obsidian/components/abort-signal-component.d.cts +3 -6
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.d.cts +3 -2
- package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +3 -7
- package/dist/lib/cjs/obsidian/components/async-error-handler-component.d.cts +3 -6
- package/dist/lib/cjs/obsidian/components/async-events-component.cjs +2 -20
- package/dist/lib/cjs/obsidian/components/async-events-component.d.cts +2 -18
- package/dist/lib/cjs/obsidian/components/component-ex.cjs +235 -0
- package/dist/lib/cjs/obsidian/components/component-ex.d.cts +56 -0
- package/dist/lib/cjs/obsidian/components/console-debug-component.cjs +3 -7
- package/dist/lib/cjs/obsidian/components/console-debug-component.d.cts +3 -6
- package/dist/lib/cjs/obsidian/components/disposable-component.cjs +1 -9
- package/dist/lib/cjs/obsidian/components/disposable-component.d.cts +1 -10
- package/dist/lib/cjs/obsidian/components/i18n-component.cjs +4 -8
- package/dist/lib/cjs/obsidian/components/i18n-component.d.cts +4 -7
- package/dist/lib/cjs/obsidian/components/index.cjs +9 -6
- package/dist/lib/cjs/obsidian/components/index.d.cts +3 -1
- package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/layout-ready-component.d.cts +3 -2
- package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.d.cts +3 -3
- package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +4 -4
- package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +4 -3
- package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +3 -7
- package/dist/lib/cjs/obsidian/components/plugin-context-component.d.cts +3 -6
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +3 -7
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +3 -6
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +53 -12
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +54 -18
- package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.d.cts +3 -2
- package/dist/lib/cjs/obsidian/components/registry-component.cjs +180 -0
- package/dist/lib/cjs/obsidian/components/registry-component.d.cts +37 -0
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.d.cts +1 -0
- package/dist/lib/cjs/obsidian/constructors/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/data-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/dataview-link.d.cts +1 -0
- package/dist/lib/cjs/obsidian/dataview.d.cts +1 -0
- package/dist/lib/cjs/obsidian/editor.d.cts +1 -0
- package/dist/lib/cjs/obsidian/file-change.d.cts +1 -0
- package/dist/lib/cjs/obsidian/file-manager.d.cts +1 -0
- package/dist/lib/cjs/obsidian/file-system.d.cts +1 -0
- package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.d.cts +1 -0
- package/dist/lib/cjs/obsidian/frontmatter.d.cts +1 -0
- package/dist/lib/cjs/obsidian/i18n/custom-type-options.d.cts +1 -0
- package/dist/lib/cjs/obsidian/i18n/default-translations.d.cts +1 -0
- package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +1 -0
- package/dist/lib/cjs/obsidian/i18n/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/i18n/locales/en.d.cts +1 -0
- package/dist/lib/cjs/obsidian/i18n/locales/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.d.cts +1 -0
- package/dist/lib/cjs/obsidian/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/is-in-obsidian.d.cts +1 -0
- package/dist/lib/cjs/obsidian/link.d.cts +1 -0
- package/dist/lib/cjs/obsidian/logger.d.cts +1 -0
- package/dist/lib/cjs/obsidian/loop.d.cts +1 -0
- package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.d.cts +1 -0
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.d.cts +1 -0
- package/dist/lib/cjs/obsidian/markdown-view.d.cts +1 -0
- package/dist/lib/cjs/obsidian/markdown.cjs +2 -3
- package/dist/lib/cjs/obsidian/markdown.d.cts +1 -0
- package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +1 -1
- package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/metadata-cache.d.cts +1 -0
- package/dist/lib/cjs/obsidian/modals/alert.d.cts +1 -0
- package/dist/lib/cjs/obsidian/modals/confirm.d.cts +1 -0
- package/dist/lib/cjs/obsidian/modals/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/modals/modal.d.cts +1 -0
- package/dist/lib/cjs/obsidian/modals/prompt.d.cts +1 -0
- package/dist/lib/cjs/obsidian/modals/select-item.d.cts +1 -0
- package/dist/lib/cjs/obsidian/obsidian-protocol-handler-registrar.d.cts +1 -0
- package/dist/lib/cjs/obsidian/obsidian-settings.d.cts +1 -0
- package/dist/lib/cjs/obsidian/path-settings.d.cts +1 -0
- package/dist/lib/cjs/obsidian/pdf.d.cts +1 -0
- package/dist/lib/cjs/obsidian/plugin/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +1 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +1 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-id.d.cts +1 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +21 -20
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.d.cts +8 -3
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +35 -76
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +36 -36
- package/dist/lib/cjs/obsidian/queue.d.cts +1 -0
- package/dist/lib/cjs/obsidian/react/app-context.d.cts +1 -0
- package/dist/lib/cjs/obsidian/react/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/reference.d.cts +1 -0
- package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +1 -2
- package/dist/lib/cjs/obsidian/rename-delete-handler.d.cts +1 -0
- package/dist/lib/cjs/obsidian/resource-url.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/checkbox-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/date-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/date-time-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/email-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/file-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/month-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/number-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/password-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/telephone-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/text-based-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/time-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +3 -1
- package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.d.cts +3 -0
- package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/typed-range-text-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/url-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/validator-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-components/week-component.d.cts +1 -0
- package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -1
- package/dist/lib/cjs/obsidian/setting-ex.d.cts +3 -0
- package/dist/lib/cjs/obsidian/setting-group-ex.d.cts +1 -0
- package/dist/lib/cjs/obsidian/validation.d.cts +1 -0
- package/dist/lib/cjs/obsidian/vault-delete.d.cts +1 -0
- package/dist/lib/cjs/obsidian/vault.d.cts +1 -0
- package/dist/lib/cjs/obsidian/workspace.d.cts +1 -0
- package/dist/lib/cjs/path.d.cts +1 -0
- package/dist/lib/cjs/reg-exp.d.cts +1 -0
- package/dist/lib/cjs/script-utils/build.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild.d.cts +1 -0
- package/dist/lib/cjs/script-utils/bundlers/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/cli-utils.d.cts +1 -0
- package/dist/lib/cjs/script-utils/code-generator.d.cts +1 -0
- package/dist/lib/cjs/script-utils/commitlint-config.d.cts +1 -0
- package/dist/lib/cjs/script-utils/exec.d.cts +1 -0
- package/dist/lib/cjs/script-utils/formatters/dprint.d.cts +1 -0
- package/dist/lib/cjs/script-utils/formatters/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/fs.d.cts +1 -0
- package/dist/lib/cjs/script-utils/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/json.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/cspell.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +2 -1
- package/dist/lib/cjs/script-utils/linters/eslint-config.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +4 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.d.cts +2 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-members.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +2 -2
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +222 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +5 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/eslint.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint.d.cts +1 -0
- package/dist/lib/cjs/script-utils/nano-staged-config.d.cts +1 -0
- package/dist/lib/cjs/script-utils/npm-publish.d.cts +1 -0
- package/dist/lib/cjs/script-utils/npm-run.d.cts +1 -0
- package/dist/lib/cjs/script-utils/npm.d.cts +1 -0
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +1 -0
- package/dist/lib/cjs/script-utils/root.d.cts +1 -0
- package/dist/lib/cjs/script-utils/test-runners/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/test-runners/vitest.d.cts +1 -0
- package/dist/lib/cjs/script-utils/version.d.cts +1 -0
- package/dist/lib/cjs/strict-proxy.d.cts +1 -0
- package/dist/lib/cjs/string.d.cts +1 -0
- package/dist/lib/cjs/transformers/date-transformer.d.cts +1 -0
- package/dist/lib/cjs/transformers/duration-transformer.d.cts +1 -0
- package/dist/lib/cjs/transformers/group-transformer.d.cts +1 -0
- package/dist/lib/cjs/transformers/index.d.cts +1 -0
- package/dist/lib/cjs/transformers/map-transformer.d.cts +1 -0
- package/dist/lib/cjs/transformers/set-transformer.d.cts +1 -0
- package/dist/lib/cjs/transformers/skip-private-property-transformer.d.cts +1 -0
- package/dist/lib/cjs/transformers/transformer.d.cts +1 -0
- package/dist/lib/cjs/transformers/two-way-map-transformer.d.cts +1 -0
- package/dist/lib/cjs/transformers/typed-transformer.d.cts +1 -0
- package/dist/lib/cjs/two-way-map.d.cts +1 -0
- package/dist/lib/cjs/type-guards.d.cts +1 -0
- package/dist/lib/cjs/type.d.cts +1 -0
- package/dist/lib/cjs/url.d.cts +1 -0
- package/dist/lib/cjs/value-provider.d.cts +1 -0
- package/dist/lib/esm/@types/debug.d.mts +1 -0
- package/dist/lib/esm/abort-controller.d.mts +1 -0
- package/dist/lib/esm/array.d.mts +1 -0
- package/dist/lib/esm/async-events.d.mts +261 -9
- package/dist/lib/esm/async-events.mjs +175 -17
- package/dist/lib/esm/async.d.mts +1 -0
- package/dist/lib/esm/blob.d.mts +1 -0
- package/dist/lib/esm/codemirror/index.d.mts +1 -0
- package/dist/lib/esm/codemirror/state-field-spec.d.mts +1 -0
- package/dist/lib/esm/css-class.d.mts +1 -0
- package/dist/lib/esm/debug-controller.d.mts +1 -0
- package/dist/lib/esm/debug.d.mts +1 -0
- package/dist/lib/esm/enum.d.mts +1 -0
- package/dist/lib/esm/error.d.mts +1 -0
- package/dist/lib/esm/error.mjs +6 -7
- package/dist/lib/esm/function.d.mts +7 -0
- package/dist/lib/esm/function.mjs +5 -2
- package/dist/lib/esm/html-element.d.mts +1 -0
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/library.d.mts +4 -0
- package/dist/lib/esm/library.mjs +1 -1
- package/dist/lib/esm/object-utils.d.mts +3 -0
- package/dist/lib/esm/object-utils.mjs +1 -1
- package/dist/lib/esm/obsidian/@types/dataview/api/data-array.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/api/extensions.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/api/inline-api.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/api/plugin-api.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/api/result.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-import/common.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-import/csv.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-import/inline-field.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-import/markdown-file.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-import/persister.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-import/web-worker/import-entry.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-import/web-worker/import-impl.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-import/web-worker/import-manager.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-index/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-index/resolver.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-index/source.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-model/markdown.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-model/serialized/markdown.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-model/transferable.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/data-model/value.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/expression/binaryop.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/expression/context.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/expression/field.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/expression/functions.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/expression/parse.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/main.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/query/engine.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/query/parse.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/query/query.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/settings.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/typings/obsidian-ex.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/typings/workers.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/export/markdown.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/lp-render.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/markdown.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/refreshable-view.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/render.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/views/calendar-view.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/views/inline-field-live-preview.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/views/inline-view.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/views/js-view.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/views/list-view.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/views/table-view.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/ui/views/task-view.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/util/hash.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/util/locale.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/util/media.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/dataview/util/normalize.d.mts +1 -0
- package/dist/lib/esm/obsidian/@types/i18next.d.mts +1 -0
- package/dist/lib/esm/obsidian/active-file-provider.d.mts +1 -1
- package/dist/lib/esm/obsidian/active-file-provider.mjs +1 -1
- package/dist/lib/esm/obsidian/app.d.mts +1 -0
- package/dist/lib/esm/obsidian/async-with-notice.d.mts +1 -0
- package/dist/lib/esm/obsidian/attachment-path.d.mts +1 -0
- package/dist/lib/esm/obsidian/backlink.d.mts +1 -0
- package/dist/lib/esm/obsidian/callout.d.mts +1 -0
- package/dist/lib/esm/obsidian/code-block-markdown-information.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +4 -3
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +4 -4
- package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/global-command-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/open-settings-command-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-registrar.d.mts +1 -0
- package/dist/lib/esm/obsidian/components/abort-signal-component.d.mts +3 -6
- package/dist/lib/esm/obsidian/components/abort-signal-component.mjs +3 -7
- package/dist/lib/esm/obsidian/components/all-windows-event-component.d.mts +3 -2
- package/dist/lib/esm/obsidian/components/all-windows-event-component.mjs +3 -3
- package/dist/lib/esm/obsidian/components/async-error-handler-component.d.mts +3 -6
- package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +3 -7
- package/dist/lib/esm/obsidian/components/async-events-component.d.mts +2 -18
- package/dist/lib/esm/obsidian/components/async-events-component.mjs +2 -19
- package/dist/lib/esm/obsidian/components/component-ex.d.mts +56 -0
- package/dist/lib/esm/obsidian/components/component-ex.mjs +130 -0
- package/dist/lib/esm/obsidian/components/console-debug-component.d.mts +3 -6
- package/dist/lib/esm/obsidian/components/console-debug-component.mjs +3 -7
- package/dist/lib/esm/obsidian/components/disposable-component.d.mts +1 -10
- package/dist/lib/esm/obsidian/components/disposable-component.mjs +1 -8
- package/dist/lib/esm/obsidian/components/i18n-component.d.mts +4 -7
- package/dist/lib/esm/obsidian/components/i18n-component.mjs +4 -8
- package/dist/lib/esm/obsidian/components/index.d.mts +3 -1
- package/dist/lib/esm/obsidian/components/index.mjs +6 -4
- package/dist/lib/esm/obsidian/components/layout-ready-component.d.mts +3 -2
- package/dist/lib/esm/obsidian/components/layout-ready-component.mjs +3 -3
- package/dist/lib/esm/obsidian/components/menu-event-registrar-component.d.mts +3 -3
- package/dist/lib/esm/obsidian/components/menu-event-registrar-component.mjs +3 -3
- package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +4 -3
- package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +4 -4
- package/dist/lib/esm/obsidian/components/plugin-context-component.d.mts +3 -6
- package/dist/lib/esm/obsidian/components/plugin-context-component.mjs +3 -7
- package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +3 -6
- package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +3 -7
- package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +54 -18
- package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +53 -12
- package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.d.mts +3 -2
- package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.mjs +3 -3
- package/dist/lib/esm/obsidian/components/registry-component.d.mts +37 -0
- package/dist/lib/esm/obsidian/components/registry-component.mjs +72 -0
- package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.d.mts +1 -0
- package/dist/lib/esm/obsidian/constructors/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/data-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/dataview-link.d.mts +1 -0
- package/dist/lib/esm/obsidian/dataview.d.mts +1 -0
- package/dist/lib/esm/obsidian/editor.d.mts +1 -0
- package/dist/lib/esm/obsidian/file-change.d.mts +1 -0
- package/dist/lib/esm/obsidian/file-manager.d.mts +1 -0
- package/dist/lib/esm/obsidian/file-system.d.mts +1 -0
- package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.d.mts +1 -0
- package/dist/lib/esm/obsidian/frontmatter.d.mts +1 -0
- package/dist/lib/esm/obsidian/i18n/custom-type-options.d.mts +1 -0
- package/dist/lib/esm/obsidian/i18n/default-translations.d.mts +1 -0
- package/dist/lib/esm/obsidian/i18n/i18n.d.mts +1 -0
- package/dist/lib/esm/obsidian/i18n/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/i18n/locales/en.d.mts +1 -0
- package/dist/lib/esm/obsidian/i18n/locales/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/i18n/locales/translations-map.d.mts +1 -0
- package/dist/lib/esm/obsidian/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/is-in-obsidian.d.mts +1 -0
- package/dist/lib/esm/obsidian/link.d.mts +1 -0
- package/dist/lib/esm/obsidian/logger.d.mts +1 -0
- package/dist/lib/esm/obsidian/loop.d.mts +1 -0
- package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.d.mts +1 -0
- package/dist/lib/esm/obsidian/markdown-code-block-processor.d.mts +1 -0
- package/dist/lib/esm/obsidian/markdown-view.d.mts +1 -0
- package/dist/lib/esm/obsidian/markdown.d.mts +1 -0
- package/dist/lib/esm/obsidian/markdown.mjs +2 -3
- package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +1 -1
- package/dist/lib/esm/obsidian/metadata-cache.d.mts +1 -0
- package/dist/lib/esm/obsidian/modals/alert.d.mts +1 -0
- package/dist/lib/esm/obsidian/modals/confirm.d.mts +1 -0
- package/dist/lib/esm/obsidian/modals/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/modals/modal.d.mts +1 -0
- package/dist/lib/esm/obsidian/modals/prompt.d.mts +1 -0
- package/dist/lib/esm/obsidian/modals/select-item.d.mts +1 -0
- package/dist/lib/esm/obsidian/obsidian-protocol-handler-registrar.d.mts +1 -0
- package/dist/lib/esm/obsidian/obsidian-settings.d.mts +1 -0
- package/dist/lib/esm/obsidian/path-settings.d.mts +1 -0
- package/dist/lib/esm/obsidian/pdf.d.mts +1 -0
- package/dist/lib/esm/obsidian/plugin/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +1 -0
- package/dist/lib/esm/obsidian/plugin/plugin-context.d.mts +1 -0
- package/dist/lib/esm/obsidian/plugin/plugin-id.d.mts +1 -0
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.d.mts +8 -3
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +22 -21
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +36 -36
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +35 -77
- package/dist/lib/esm/obsidian/queue.d.mts +1 -0
- package/dist/lib/esm/obsidian/react/app-context.d.mts +1 -0
- package/dist/lib/esm/obsidian/react/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/reference.d.mts +1 -0
- package/dist/lib/esm/obsidian/rename-delete-handler.d.mts +1 -0
- package/dist/lib/esm/obsidian/rename-delete-handler.mjs +1 -2
- package/dist/lib/esm/obsidian/resource-url.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/checkbox-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/date-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/date-time-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/email-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/file-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/month-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/multiple-email-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/multiple-file-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/multiple-text-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/number-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/password-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/telephone-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/text-based-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/time-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.d.mts +3 -0
- package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +3 -1
- package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/typed-range-text-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/url-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/validator-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/value-component-with-change-tracking.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-components/week-component.d.mts +1 -0
- package/dist/lib/esm/obsidian/setting-ex.d.mts +3 -0
- package/dist/lib/esm/obsidian/setting-ex.mjs +3 -1
- package/dist/lib/esm/obsidian/setting-group-ex.d.mts +1 -0
- package/dist/lib/esm/obsidian/validation.d.mts +1 -0
- package/dist/lib/esm/obsidian/vault-delete.d.mts +1 -0
- package/dist/lib/esm/obsidian/vault.d.mts +1 -0
- package/dist/lib/esm/obsidian/workspace.d.mts +1 -0
- package/dist/lib/esm/path.d.mts +1 -0
- package/dist/lib/esm/reg-exp.d.mts +1 -0
- package/dist/lib/esm/script-utils/build.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild.d.mts +1 -0
- package/dist/lib/esm/script-utils/bundlers/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/cli-utils.d.mts +1 -0
- package/dist/lib/esm/script-utils/code-generator.d.mts +1 -0
- package/dist/lib/esm/script-utils/commitlint-config.d.mts +1 -0
- package/dist/lib/esm/script-utils/exec.d.mts +1 -0
- package/dist/lib/esm/script-utils/formatters/dprint.d.mts +1 -0
- package/dist/lib/esm/script-utils/formatters/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/fs.d.mts +1 -0
- package/dist/lib/esm/script-utils/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/json.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/cspell.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-config.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-config.mjs +2 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/index.d.mts +2 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-members.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +5 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +112 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/eslint.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/markdownlint.d.mts +1 -0
- package/dist/lib/esm/script-utils/nano-staged-config.d.mts +1 -0
- package/dist/lib/esm/script-utils/npm-publish.d.mts +1 -0
- package/dist/lib/esm/script-utils/npm-run.d.mts +1 -0
- package/dist/lib/esm/script-utils/npm.d.mts +1 -0
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +1 -0
- package/dist/lib/esm/script-utils/root.d.mts +1 -0
- package/dist/lib/esm/script-utils/test-runners/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/test-runners/vitest.d.mts +1 -0
- package/dist/lib/esm/script-utils/version.d.mts +1 -0
- package/dist/lib/esm/strict-proxy.d.mts +1 -0
- package/dist/lib/esm/string.d.mts +1 -0
- package/dist/lib/esm/transformers/date-transformer.d.mts +1 -0
- package/dist/lib/esm/transformers/duration-transformer.d.mts +1 -0
- package/dist/lib/esm/transformers/group-transformer.d.mts +1 -0
- package/dist/lib/esm/transformers/index.d.mts +1 -0
- package/dist/lib/esm/transformers/map-transformer.d.mts +1 -0
- package/dist/lib/esm/transformers/set-transformer.d.mts +1 -0
- package/dist/lib/esm/transformers/skip-private-property-transformer.d.mts +1 -0
- package/dist/lib/esm/transformers/transformer.d.mts +1 -0
- package/dist/lib/esm/transformers/two-way-map-transformer.d.mts +1 -0
- package/dist/lib/esm/transformers/typed-transformer.d.mts +1 -0
- package/dist/lib/esm/two-way-map.d.mts +1 -0
- package/dist/lib/esm/type-guards.d.mts +1 -0
- package/dist/lib/esm/type.d.mts +1 -0
- package/dist/lib/esm/url.d.mts +1 -0
- package/dist/lib/esm/value-provider.d.mts +1 -0
- package/obsidian/Components/component-ex/package.json +6 -0
- package/obsidian/Components/registry-component/package.json +6 -0
- package/package.json +25 -23
- package/script-utils/linters/eslint-rules/require-method-template/package.json +6 -0
- package/dist/lib/cjs/obsidian/components/async-component.cjs +0 -183
- package/dist/lib/cjs/obsidian/components/async-component.d.cts +0 -43
- package/dist/lib/esm/obsidian/components/async-component.d.mts +0 -43
- package/dist/lib/esm/obsidian/components/async-component.mjs +0 -73
- package/obsidian/Components/async-component/package.json +0 -6
|
@@ -312,6 +312,7 @@ class SettingEx extends import_obsidian.Setting {
|
|
|
312
312
|
/**
|
|
313
313
|
* Adds a {@link TypedDropdownComponent} to the setting.
|
|
314
314
|
*
|
|
315
|
+
* @typeParam T - The type of the dropdown items.
|
|
315
316
|
* @param cb - The callback to call with the component.
|
|
316
317
|
* @returns The setting instance.
|
|
317
318
|
*/
|
|
@@ -321,6 +322,7 @@ class SettingEx extends import_obsidian.Setting {
|
|
|
321
322
|
/**
|
|
322
323
|
* Adds a {@link TypedMultipleDropdownComponent} to the setting.
|
|
323
324
|
*
|
|
325
|
+
* @typeParam T - The type of the items in the dropdown.
|
|
324
326
|
* @param cb - The callback to call with the component.
|
|
325
327
|
* @returns The setting instance.
|
|
326
328
|
*/
|
|
@@ -362,4 +364,4 @@ class SettingEx extends import_obsidian.Setting {
|
|
|
362
364
|
0 && (module.exports = {
|
|
363
365
|
SettingEx
|
|
364
366
|
});
|
|
365
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFeHRlbmRzIHRoZSBTZXR0aW5nIGNsYXNzIHdpdGggYWRkaXRpb25hbCBtZXRob2RzIGZvciBhZGRpbmcgY29tcG9uZW50cy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIHJlcXVpcmVBcGlWZXJzaW9uLFxuICBTZXR0aW5nXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9jaGVja2JveC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvY29kZS1oaWdobGlnaHRlci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2RhdGUtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IERhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZGF0ZS10aW1lLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2VtYWlsLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZmlsZS1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTW9udGhDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9tb250aC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBNdWx0aXBsZUVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZW1haWwtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IE11bHRpcGxlRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWZpbGUtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IE11bHRpcGxlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLXRleHQtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL251bWJlci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9wYXNzd29yZC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVGVsZXBob25lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGVsZXBob25lLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGltZS1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RyaS1zdGF0ZS1jaGVja2JveC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVHlwZWREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3R5cGVkLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1tdWx0aXBsZS1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVXJsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdXJsLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvd2Vlay1jb21wb25lbnQudHMnO1xuXG4vKipcbiAqIEV4dGVuZHMgdGhlIFNldHRpbmcgY2xhc3Mgd2l0aCBhZGRpdGlvbmFsIG1ldGhvZHMgZm9yIGFkZGluZyBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgU2V0dGluZ0V4IGV4dGVuZHMgU2V0dGluZyB7XG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIENoZWNrYm94Q29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDaGVja2JveChjYjogKGNoZWNrYm94OiBDaGVja2JveENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKENoZWNrYm94Q29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBDb2RlSGlnaGxpZ2h0ZXJDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZENvZGVIaWdobGlnaHRlcihjYjogKGNvZGVIaWdobGlnaHRlcjogQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNvbXBvbmVudCB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRDbGFzcyAtIFRoZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDb21wb25lbnRDbGFzczxUIGV4dGVuZHMgQmFzZUNvbXBvbmVudD4oY29tcG9uZW50Q2xhc3M6IG5ldyAoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSA9PiBULCBjYjogKGNvbXBvbmVudDogVCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudFNhZmUoKGVsKSA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgY29tcG9uZW50Q2xhc3MoZWwpO1xuICAgICAgY2IoY29tcG9uZW50KTtcbiAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBEYXRlQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGREYXRlKGNiOiAoZGF0ZTogRGF0ZUNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKERhdGVDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIERhdGVUaW1lQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGREYXRlVGltZShjYjogKGRhdGVUaW1lOiBEYXRlVGltZUNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKERhdGVUaW1lQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiB7QGxpbmsgRW1haWxDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEVtYWlsKGNiOiAoZW1haWw6IEVtYWlsQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoRW1haWxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIEZpbGVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEZpbGUoY2I6IChmaWxlOiBGaWxlQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoRmlsZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTW9udGhDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE1vbnRoKGNiOiAobW9udGg6IE1vbnRoQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTW9udGhDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIE11bHRpcGxlRHJvcGRvd25Db21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE11bHRpcGxlRHJvcGRvd24oY2I6IChtdWx0aXBsZURyb3Bkb3duOiBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTXVsdGlwbGVFbWFpbENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTXVsdGlwbGVFbWFpbChjYjogKG11bHRpcGxlRW1haWw6IE11bHRpcGxlRW1haWxDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhNdWx0aXBsZUVtYWlsQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBNdWx0aXBsZUZpbGVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE11bHRpcGxlRmlsZShjYjogKG11bHRpcGxlRmlsZTogTXVsdGlwbGVGaWxlQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTXVsdGlwbGVGaWxlQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBNdWx0aXBsZVRleHRDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE11bHRpcGxlVGV4dChjYjogKG11bHRpcGxlVGV4dDogTXVsdGlwbGVUZXh0Q29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTXVsdGlwbGVUZXh0Q29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBOdW1iZXJDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE51bWJlcihjYjogKG51bWJlcjogTnVtYmVyQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTnVtYmVyQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBQYXNzd29yZENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkUGFzc3dvcmQoY2I6IChwYXNzd29yZDogUGFzc3dvcmRDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhQYXNzd29yZENvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgVGVsZXBob25lQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRUZWxlcGhvbmUoY2I6ICh0ZWxlcGhvbmU6IFRlbGVwaG9uZUNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKFRlbGVwaG9uZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgVGltZUNvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVGltZShjYjogKHRpbWU6IFRpbWVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhUaW1lQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBUcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRUcmlTdGF0ZUNoZWNrYm94KGNiOiAodHJpU3RhdGVDaGVja2JveDogVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKFRyaVN0YXRlQ2hlY2tib3hDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFR5cGVkRHJvcGRvd25Db21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFR5cGVkRHJvcGRvd248VD4oY2I6ICh0eXBlZERyb3Bkb3duOiBUeXBlZERyb3Bkb3duQ29tcG9uZW50PFQ+KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoVHlwZWREcm9wZG93bkNvbXBvbmVudDxUPiwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRUeXBlZE11bHRpcGxlRHJvcGRvd248VD4oY2I6ICh0eXBlZE11bHRpcGxlRHJvcGRvd246IFR5cGVkTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudDxUPikgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKFR5cGVkTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudDxUPiwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4ge0BsaW5rIFVybENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVXJsKGNiOiAodXJsOiBVcmxDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhVcmxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFdlZWtDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFdlZWsoY2I6ICh3ZWVrOiBXZWVrQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoV2Vla0NvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDb21wb25lbnRTYWZlKGNiOiAoZWw6IEhUTUxFbGVtZW50KSA9PiBCYXNlQ29tcG9uZW50KTogdGhpcyB7XG4gICAgaWYgKHJlcXVpcmVBcGlWZXJzaW9uKCcxLjExLjAnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KChlbCkgPT4ge1xuICAgICAgICBpZiAoIXJlcXVpcmVBcGlWZXJzaW9uKCcwLjE2LjAnKSkge1xuICAgICAgICAgIHJldHVybiBjYihlbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNiKGVsKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50cy5wdXNoKGNiKHRoaXMuY29udHJvbEVsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLHNCQUdPO0FBRVAsZ0NBQWtDO0FBQ2xDLHdDQUF5QztBQUN6Qyw0QkFBOEI7QUFDOUIsaUNBQWtDO0FBQ2xDLDZCQUErQjtBQUMvQiw0QkFBOEI7QUFDOUIsNkJBQStCO0FBQy9CLHlDQUEwQztBQUMxQyxzQ0FBdUM7QUFDdkMscUNBQXNDO0FBQ3RDLHFDQUFzQztBQUN0Qyw4QkFBZ0M7QUFDaEMsZ0NBQWtDO0FBQ2xDLGlDQUFtQztBQUNuQyw0QkFBOEI7QUFDOUIsMENBQTBDO0FBQzFDLHNDQUF1QztBQUN2QywrQ0FBK0M7QUFDL0MsMkJBQTZCO0FBQzdCLDRCQUE4QjtBQUt2QixNQUFNLGtCQUFrQix3QkFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFB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
|
|
367
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFeHRlbmRzIHRoZSBTZXR0aW5nIGNsYXNzIHdpdGggYWRkaXRpb25hbCBtZXRob2RzIGZvciBhZGRpbmcgY29tcG9uZW50cy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIHJlcXVpcmVBcGlWZXJzaW9uLFxuICBTZXR0aW5nXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9jaGVja2JveC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvY29kZS1oaWdobGlnaHRlci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2RhdGUtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IERhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZGF0ZS10aW1lLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2VtYWlsLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZmlsZS1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTW9udGhDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9tb250aC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBNdWx0aXBsZUVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZW1haWwtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IE11bHRpcGxlRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWZpbGUtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IE11bHRpcGxlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLXRleHQtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL251bWJlci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9wYXNzd29yZC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVGVsZXBob25lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGVsZXBob25lLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGltZS1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RyaS1zdGF0ZS1jaGVja2JveC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVHlwZWREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3R5cGVkLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1tdWx0aXBsZS1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVXJsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdXJsLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBXZWVrQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvd2Vlay1jb21wb25lbnQudHMnO1xuXG4vKipcbiAqIEV4dGVuZHMgdGhlIFNldHRpbmcgY2xhc3Mgd2l0aCBhZGRpdGlvbmFsIG1ldGhvZHMgZm9yIGFkZGluZyBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgU2V0dGluZ0V4IGV4dGVuZHMgU2V0dGluZyB7XG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIENoZWNrYm94Q29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDaGVja2JveChjYjogKGNoZWNrYm94OiBDaGVja2JveENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKENoZWNrYm94Q29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBDb2RlSGlnaGxpZ2h0ZXJDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZENvZGVIaWdobGlnaHRlcihjYjogKGNvZGVIaWdobGlnaHRlcjogQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNvbXBvbmVudCB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRDbGFzcyAtIFRoZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDb21wb25lbnRDbGFzczxUIGV4dGVuZHMgQmFzZUNvbXBvbmVudD4oY29tcG9uZW50Q2xhc3M6IG5ldyAoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSA9PiBULCBjYjogKGNvbXBvbmVudDogVCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudFNhZmUoKGVsKSA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgY29tcG9uZW50Q2xhc3MoZWwpO1xuICAgICAgY2IoY29tcG9uZW50KTtcbiAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBEYXRlQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGREYXRlKGNiOiAoZGF0ZTogRGF0ZUNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKERhdGVDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIERhdGVUaW1lQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGREYXRlVGltZShjYjogKGRhdGVUaW1lOiBEYXRlVGltZUNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKERhdGVUaW1lQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiB7QGxpbmsgRW1haWxDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEVtYWlsKGNiOiAoZW1haWw6IEVtYWlsQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoRW1haWxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIEZpbGVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEZpbGUoY2I6IChmaWxlOiBGaWxlQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoRmlsZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTW9udGhDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE1vbnRoKGNiOiAobW9udGg6IE1vbnRoQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTW9udGhDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIE11bHRpcGxlRHJvcGRvd25Db21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE11bHRpcGxlRHJvcGRvd24oY2I6IChtdWx0aXBsZURyb3Bkb3duOiBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTXVsdGlwbGVFbWFpbENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTXVsdGlwbGVFbWFpbChjYjogKG11bHRpcGxlRW1haWw6IE11bHRpcGxlRW1haWxDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhNdWx0aXBsZUVtYWlsQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBNdWx0aXBsZUZpbGVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE11bHRpcGxlRmlsZShjYjogKG11bHRpcGxlRmlsZTogTXVsdGlwbGVGaWxlQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTXVsdGlwbGVGaWxlQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBNdWx0aXBsZVRleHRDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE11bHRpcGxlVGV4dChjYjogKG11bHRpcGxlVGV4dDogTXVsdGlwbGVUZXh0Q29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTXVsdGlwbGVUZXh0Q29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBOdW1iZXJDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE51bWJlcihjYjogKG51bWJlcjogTnVtYmVyQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoTnVtYmVyQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBQYXNzd29yZENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkUGFzc3dvcmQoY2I6IChwYXNzd29yZDogUGFzc3dvcmRDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhQYXNzd29yZENvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgVGVsZXBob25lQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRUZWxlcGhvbmUoY2I6ICh0ZWxlcGhvbmU6IFRlbGVwaG9uZUNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKFRlbGVwaG9uZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgVGltZUNvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVGltZShjYjogKHRpbWU6IFRpbWVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhUaW1lQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBUcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRUcmlTdGF0ZUNoZWNrYm94KGNiOiAodHJpU3RhdGVDaGVja2JveDogVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKFRyaVN0YXRlQ2hlY2tib3hDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFR5cGVkRHJvcGRvd25Db21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgZHJvcGRvd24gaXRlbXMuXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVHlwZWREcm9wZG93bjxUPihjYjogKHR5cGVkRHJvcGRvd246IFR5cGVkRHJvcGRvd25Db21wb25lbnQ8VD4pID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhUeXBlZERyb3Bkb3duQ29tcG9uZW50PFQ+LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgaXRlbXMgaW4gdGhlIGRyb3Bkb3duLlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFR5cGVkTXVsdGlwbGVEcm9wZG93bjxUPihjYjogKHR5cGVkTXVsdGlwbGVEcm9wZG93bjogVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50PFQ+KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50Q2xhc3MoVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50PFQ+LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiB7QGxpbmsgVXJsQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRVcmwoY2I6ICh1cmw6IFVybENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudENsYXNzKFVybENvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgV2Vla0NvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkV2VlayhjYjogKHdlZWs6IFdlZWtDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnRDbGFzcyhXZWVrQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICBwcml2YXRlIGFkZENvbXBvbmVudFNhZmUoY2I6IChlbDogSFRNTEVsZW1lbnQpID0+IEJhc2VDb21wb25lbnQpOiB0aGlzIHtcbiAgICBpZiAocmVxdWlyZUFwaVZlcnNpb24oJzEuMTEuMCcpKSB7XG4gICAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoKGVsKSA9PiB7XG4gICAgICAgIGlmICghcmVxdWlyZUFwaVZlcnNpb24oJzAuMTYuMCcpKSB7XG4gICAgICAgICAgcmV0dXJuIGNiKGVsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2IoZWwpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb21wb25lbnRzLnB1c2goY2IodGhpcy5jb250cm9sRWwpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsc0JBR087QUFFUCxnQ0FBa0M7QUFDbEMsd0NBQXlDO0FBQ3pDLDRCQUE4QjtBQUM5QixpQ0FBa0M7QUFDbEMsNkJBQStCO0FBQy9CLDRCQUE4QjtBQUM5Qiw2QkFBK0I7QUFDL0IseUNBQTBDO0FBQzFDLHNDQUF1QztBQUN2QyxxQ0FBc0M7QUFDdEMscUNBQXNDO0FBQ3RDLDhCQUFnQztBQUNoQyxnQ0FBa0M7QUFDbEMsaUNBQW1DO0FBQ25DLDRCQUE4QjtBQUM5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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference path="../library.d.cts" />
|
|
1
2
|
/**
|
|
2
3
|
* @file
|
|
3
4
|
*
|
|
@@ -153,6 +154,7 @@ export declare class SettingEx extends Setting {
|
|
|
153
154
|
/**
|
|
154
155
|
* Adds a {@link TypedDropdownComponent} to the setting.
|
|
155
156
|
*
|
|
157
|
+
* @typeParam T - The type of the dropdown items.
|
|
156
158
|
* @param cb - The callback to call with the component.
|
|
157
159
|
* @returns The setting instance.
|
|
158
160
|
*/
|
|
@@ -160,6 +162,7 @@ export declare class SettingEx extends Setting {
|
|
|
160
162
|
/**
|
|
161
163
|
* Adds a {@link TypedMultipleDropdownComponent} to the setting.
|
|
162
164
|
*
|
|
165
|
+
* @typeParam T - The type of the items in the dropdown.
|
|
163
166
|
* @param cb - The callback to call with the component.
|
|
164
167
|
* @returns The setting instance.
|
|
165
168
|
*/
|
package/dist/lib/cjs/path.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference path="../../../library.d.cts" />
|
|
1
2
|
export * as 'change-extension-plugin' from './change-extension-plugin.cjs';
|
|
2
3
|
export * as 'copy-to-obsidian-plugins-folder-plugin' from './copy-to-obsidian-plugins-folder-plugin.cjs';
|
|
3
4
|
export * as 'custom-esbuild-options-plugin' from './custom-esbuild-options-plugin.cjs';
|
|
@@ -535,6 +535,7 @@ function getObsidianDevUtilsPluginConfigs(context) {
|
|
|
535
535
|
"obsidian-dev-utils/prefer-noop-async": "error",
|
|
536
536
|
"obsidian-dev-utils/readonly-params-options-members": "error",
|
|
537
537
|
"obsidian-dev-utils/require-component-suffix": "error",
|
|
538
|
+
"obsidian-dev-utils/require-method-template": "error",
|
|
538
539
|
"obsidian-dev-utils/require-super-call": "off"
|
|
539
540
|
}
|
|
540
541
|
}
|
|
@@ -716,4 +717,4 @@ function getTseslintConfigs(context) {
|
|
|
716
717
|
EslintConfigContext,
|
|
717
718
|
defineEslintConfigs
|
|
718
719
|
});
|
|
719
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgY29uZmlndXJhdGlvbiBmb3IgVHlwZVNjcmlwdCBwcm9qZWN0cyB3aXRoIHZhcmlvdXMgcGx1Z2lucy5cbiAqXG4gKiBUaGlzIG1vZHVsZSBleHBvcnRzIEVTTGludCBjb25maWd1cmF0aW9ucyBmb3IgVHlwZVNjcmlwdCBwcm9qZWN0cywgaW50ZWdyYXRpbmcgbXVsdGlwbGUgRVNMaW50IHBsdWdpbnNcbiAqIHN1Y2ggYXMgYEB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJgLCBgQHR5cGVzY3JpcHQtZXNsaW50L2VzbGludC1wbHVnaW5gLFxuICogYGVzbGludC1wbHVnaW4tbW9kdWxlcy1uZXdsaW5lc2AsIGBAc3R5bGlzdGljL2VzbGludC1wbHVnaW5gLlxuICogSXQgc2V0cyB1cCBwYXJzZXJzLCBwbHVnaW5zLCBhbmQgcnVsZXMgZm9yIG1haW50YWluaW5nIGNvZGUgcXVhbGl0eSBhbmQgY29uc2lzdGVuY3kuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIERlY2xhcmF0aXZlIEVTTGludCBydWxlL3BsdWdpbiBjb25maWd1cmF0aW9uOyBjb3JyZWN0bmVzcyBpcyB2ZXJpZmllZCBieSBydW5uaW5nIEVTTGludCwgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSAnZXNsaW50JztcblxuLyogZXNsaW50LWRpc2FibGUgbm8tbWFnaWMtbnVtYmVycyAtLSBXZSBkaXNhYmxlZCBtYWdpYyBudW1iZXJzIGJlY2F1c2UgdGhleSBhcmUgdXNlZCBhbGwgb3ZlciB0aGUgY29uZmlncy4gKi9cbmltcG9ydCBjb21tZW50c0NvbmZpZ3MgZnJvbSAnQGVzbGludC1jb21tdW5pdHkvZXNsaW50LXBsdWdpbi1lc2xpbnQtY29tbWVudHMvY29uZmlncyc7XG5pbXBvcnQgeyBpbmNsdWRlSWdub3JlRmlsZSB9IGZyb20gJ0Blc2xpbnQvY29uZmlnLWhlbHBlcnMnO1xuaW1wb3J0IGVzbGludCBmcm9tICdAZXNsaW50L2pzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1yZW5hbWUtZGVmYXVsdCAtLSBUaGUgZGVmYXVsdCBleHBvcnQgbmFtZSBgcGx1Z2luYCBpcyB0b28gY29uZnVzaW5nLlxuaW1wb3J0IHN0eWxpc3RpYyBmcm9tICdAc3R5bGlzdGljL2VzbGludC1wbHVnaW4nO1xuaW1wb3J0IHsgY3JlYXRlVHlwZVNjcmlwdEltcG9ydFJlc29sdmVyIH0gZnJvbSAnZXNsaW50LWltcG9ydC1yZXNvbHZlci10eXBlc2NyaXB0JztcbmltcG9ydCB7IGZsYXRDb25maWdzIGFzIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncyB9IGZyb20gJ2VzbGludC1wbHVnaW4taW1wb3J0LXgnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBwbHVnaW5gIGlzIHRvbyBjb25mdXNpbmcuXG5pbXBvcnQgb2JzaWRpYW5tZCBmcm9tICdlc2xpbnQtcGx1Z2luLW9ic2lkaWFubWQnO1xuaW1wb3J0IHsgY29uZmlncyBhcyBwZXJmZWN0aW9uaXN0Q29uZmlncyB9IGZyb20gJ2VzbGludC1wbHVnaW4tcGVyZmVjdGlvbmlzdCc7XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICdlc2xpbnQvY29uZmlnJztcbmltcG9ydCBnbG9iYWxzIGZyb20gJ2dsb2JhbHMnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBfZGVmYXVsdGAgaXMgdG9vIGNvbmZ1c2luZy5cbmltcG9ydCB0c2VzbGludCBmcm9tICd0eXBlc2NyaXB0LWVzbGludCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vcGx1Z2luL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi8uLi9wYXRoLnRzJztcbmltcG9ydCB7IGdldFJvb3RGb2xkZXIgfSBmcm9tICcuLi9yb290LnRzJztcbmltcG9ydCB7IG9ic2lkaWFuRGV2VXRpbHNQbHVnaW4gfSBmcm9tICcuL2VzbGludC1ydWxlcy9vYnNpZGlhbi1kZXYtdXRpbHMtcGx1Z2luLnRzJztcblxuLyoqXG4gKiBUaGUgcGFyYW1ldGVycyBmb3IgZGVmaW5pbmcgRVNMaW50IGNvbmZpZ3VyYXRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmluZUVzbGludENvbmZpZ3NQYXJhbXMge1xuICAvKipcbiAgICogQSBmdW5jdGlvbiB0aGF0IGJ1aWxkcyBjdXN0b20gRVNMaW50IGNvbmZpZ3VyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBFU0xpbnQgY29uZmlndXJhdGlvbiBjb250ZXh0LlxuICAgKiBAcmV0dXJucyBUaGUgY3VzdG9tIEVTTGludCBjb25maWd1cmF0aW9ucy5cbiAgICovXG4gIGN1c3RvbUNvbmZpZ3M/KGNvbnRleHQ6IEVzbGludENvbmZpZ0NvbnRleHQpOiBMaW50ZXIuQ29uZmlnW107XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdGhhdCBlZGl0cyB0aGUgRVNMaW50IGNvbmZpZ3VyYXRpb24gY29udGV4dC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRleHQgLSBUaGUgRVNMaW50IGNvbmZpZ3VyYXRpb24gY29udGV4dC5cbiAgICovXG4gIGVkaXRDb250ZXh0Pyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgY29udGV4dCBmb3IgZGVmaW5pbmcgRVNMaW50IGNvbmZpZ3VyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgRXNsaW50Q29uZmlnQ29udGV4dCB7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCBjb25maWd1cmF0aW9uIGZpbGVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvb3RDb25maWdGaWxlczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIHNjcmlwdCBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY3JpcHRGaWxlczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VGaWxlczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIHRlc3QgZmlsZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGVzdEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgYWxsIGZpbGVzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYWxsIGZpbGVzLlxuICAgKi9cbiAgcHVibGljIGFsbEZpbGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMudGVzdEZpbGVzLCAuLi50aGlzLnNjcmlwdEZpbGVzLCAuLi50aGlzLnJvb3RDb25maWdGaWxlcywgLi4udGhpcy5zb3VyY2VGaWxlc107XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZCBFU0xpbnQgY29uZmlndXJhdGlvbnMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBidWlsZHMgRVNMaW50IGNvbmZpZ3VyYXRpb25zIGZvciBUeXBlU2NyaXB0IHByb2plY3RzLCBpbnRlZ3JhdGluZyBtdWx0aXBsZSBFU0xpbnQgcGx1Z2luc1xuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgZGVmaW5pbmcgRVNMaW50IGNvbmZpZ3VyYXRpb25zLlxuICogQHJldHVybnMgVGhlIEVTTGludCBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUVzbGludENvbmZpZ3MocGFyYW1zOiBEZWZpbmVFc2xpbnRDb25maWdzUGFyYW1zID0ge30pOiBMaW50ZXIuQ29uZmlnW10ge1xuICBjb25zdCBjb250ZXh0ID0gbmV3IEVzbGludENvbmZpZ0NvbnRleHQoKTtcbiAgY29udGV4dC5yb290Q29uZmlnRmlsZXMucHVzaChcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Db21taXRsaW50Q29uZmlnVHMsXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRXNsaW50Q29uZmlnTXRzLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlZpdGVzdENvbmZpZ1RzXG4gICk7XG4gIGNvbnRleHQuc2NyaXB0RmlsZXMucHVzaChcbiAgICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNjcmlwdHMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKVxuICApO1xuICBjb250ZXh0LnNvdXJjZUZpbGVzLnB1c2goXG4gICAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKSxcbiAgICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55VHN4KVxuICApO1xuICBjb250ZXh0LnRlc3RGaWxlcy5wdXNoKFxuICAgIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuVGVzdHMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKSxcbiAgICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1vY2tzLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlUcyksXG4gICAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRlc3RUcylcbiAgKTtcblxuICBpZiAocGFyYW1zLmVkaXRDb250ZXh0KSB7XG4gICAgcGFyYW1zLmVkaXRDb250ZXh0KGNvbnRleHQpO1xuICB9XG5cbiAgY29uc3QgY3VzdG9tQ29uZmlncyA9IHBhcmFtcy5jdXN0b21Db25maWdzPy4oY29udGV4dCkgPz8gW107XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcbiAgICAuLi5nZXRHaXRJZ25vcmVDb25maWdzKCksXG4gICAgLy8gT2JzaWRpYW5tZCBjb25maWdzIHJ1biBmaXJzdCBzbyBvdXIgc3RyaWN0ZXIgcnVsZXMgb3ZlcnJpZGUgdGhlaXIgcmVsYXhlZCBkZWZhdWx0c1xuICAgIC4uLmdldE9ic2lkaWFuTGludENvbmZpZ3MoY29udGV4dCksXG4gICAgLi4uZ2V0RXNsaW50Q29uZmlncyhjb250ZXh0KSxcbiAgICAuLi5nZXRUc2VzbGludENvbmZpZ3MoY29udGV4dCksXG4gICAgLi4uZ2V0U3R5bGlzdGljQ29uZmlncyhjb250ZXh0KSxcbiAgICAuLi5nZXRJbXBvcnRYQ29uZmlncyhjb250ZXh0KSxcbiAgICAuLi5nZXRQZXJmZWN0aW9uaXN0Q29uZmlncyhjb250ZXh0KSxcbiAgICAuLi5nZXRFc2xpbnRJbXBvcnRSZXNvbHZlclR5cGVzY3JpcHRDb25maWdzKCksXG4gICAgLi4uZ2V0RXNsaW50Q29tbWVudHNDb25maWdzKGNvbnRleHQpLFxuICAgIC4uLmdldE9ic2lkaWFuRGV2VXRpbHNQbHVnaW5Db25maWdzKGNvbnRleHQpLFxuICAgIC4uLmN1c3RvbUNvbmZpZ3NcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0RXNsaW50Q29tbWVudHNDb25maWdzKGNvbnRleHQ6IEVzbGludENvbmZpZ0NvbnRleHQpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXIgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYHJlY29tbWVuZGVkYCBpcyB0b28gY29uZnVzaW5nLlxuICAgICAgZXh0ZW5kczogW2NvbW1lbnRzQ29uZmlncy5yZWNvbW1lbmRlZF0sXG4gICAgICBmaWxlczogY29udGV4dC5hbGxGaWxlcygpLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ0Blc2xpbnQtY29tbXVuaXR5L2VzbGludC1jb21tZW50cy9yZXF1aXJlLWRlc2NyaXB0aW9uJzogJ2Vycm9yJ1xuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldEVzbGludENvbmZpZ3MoY29udGV4dDogRXNsaW50Q29uZmlnQ29udGV4dCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIGV4dGVuZHM6IFtlc2xpbnQuY29uZmlncy5yZWNvbW1lbmRlZF0sXG4gICAgICBmaWxlczogY29udGV4dC5hbGxGaWxlcygpLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ2FjY2Vzc29yLXBhaXJzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2FycmF5LWNhbGxiYWNrLXJldHVybic6ICdlcnJvcicsXG4gICAgICAgICdjYW1lbGNhc2UnOiAnZXJyb3InLFxuICAgICAgICAnY2FwaXRhbGl6ZWQtY29tbWVudHMnOiBbJ2Vycm9yJywgJ2Fsd2F5cycsIHsgYmxvY2s6IHsgaWdub3JlUGF0dGVybjogJ3Y4JyB9IH1dLFxuICAgICAgICAnY29tcGxleGl0eSc6ICdlcnJvcicsXG4gICAgICAgICdjb25zaXN0ZW50LXRoaXMnOiAnZXJyb3InLFxuICAgICAgICAnY3VybHknOiAnZXJyb3InLFxuICAgICAgICAnZGVmYXVsdC1jYXNlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2RlZmF1bHQtY2FzZS1sYXN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2RlZmF1bHQtcGFyYW0tbGFzdCc6ICdlcnJvcicsXG4gICAgICAgICdlcWVxZXEnOiAnZXJyb3InLFxuICAgICAgICAnZnVuYy1uYW1lLW1hdGNoaW5nJzogJ2Vycm9yJyxcbiAgICAgICAgJ2Z1bmMtbmFtZXMnOiAnZXJyb3InLFxuICAgICAgICAnZnVuYy1zdHlsZSc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICdkZWNsYXJhdGlvbicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWxsb3dBcnJvd0Z1bmN0aW9uczogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICdncm91cGVkLWFjY2Vzc29yLXBhaXJzJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgJ2dldEJlZm9yZVNldCdcbiAgICAgICAgXSxcbiAgICAgICAgJ2d1YXJkLWZvci1pbic6ICdlcnJvcicsXG4gICAgICAgICduby1hbGVydCc6ICdlcnJvcicsXG4gICAgICAgICduby1hcnJheS1jb25zdHJ1Y3Rvcic6ICdlcnJvcicsXG4gICAgICAgICduby1iaXR3aXNlJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWNhbGxlcic6ICdlcnJvcicsXG4gICAgICAgICduby1jb25zb2xlJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWxsb3c6IFtcbiAgICAgICAgICAgICAgJ3dhcm4nLFxuICAgICAgICAgICAgICAnZXJyb3InXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnbm8tY29uc3RydWN0b3ItcmV0dXJuJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWRpdi1yZWdleCc6ICdlcnJvcicsXG4gICAgICAgICduby1lbHNlLXJldHVybic6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93RWxzZUlmOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLWVtcHR5LWZ1bmN0aW9uJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWV4dGVuZC1uYXRpdmUnOiAnZXJyb3InLFxuICAgICAgICAnbm8tZXh0cmEtYmluZCc6ICdlcnJvcicsXG4gICAgICAgICduby1leHRyYS1sYWJlbCc6ICdlcnJvcicsXG4gICAgICAgICduby1pbXBsaWNpdC1jb2VyY2lvbic6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93OiBbXG4gICAgICAgICAgICAgICchISdcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICduby1pbXBsaWVkLWV2YWwnOiAnZXJyb3InLFxuICAgICAgICAnbm8taW5uZXItZGVjbGFyYXRpb25zJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWl0ZXJhdG9yJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWxhYmVsLXZhcic6ICdlcnJvcicsXG4gICAgICAgICduby1sYWJlbHMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tbG9uZS1ibG9ja3MnOiAnZXJyb3InLFxuICAgICAgICAnbm8tbG9uZWx5LWlmJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWxvb3AtZnVuYyc6ICdlcnJvcicsXG4gICAgICAgICduby1tYWdpYy1udW1iZXJzJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGV0ZWN0T2JqZWN0czogdHJ1ZSxcbiAgICAgICAgICAgIGVuZm9yY2VDb25zdDogdHJ1ZSxcbiAgICAgICAgICAgIGlnbm9yZTogW1xuICAgICAgICAgICAgICAtMSxcbiAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLW11bHRpLWFzc2lnbic6ICdlcnJvcicsXG4gICAgICAgICduby1tdWx0aS1zdHInOiAnZXJyb3InLFxuICAgICAgICAnbm8tbmVnYXRlZC1jb25kaXRpb24nOiAnZXJyb3InLFxuICAgICAgICAnbm8tbmVzdGVkLXRlcm5hcnknOiAnZXJyb3InLFxuICAgICAgICAnbm8tbmV3LWZ1bmMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tbmV3LXdyYXBwZXJzJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW9iamVjdC1jb25zdHJ1Y3Rvcic6ICdlcnJvcicsXG4gICAgICAgICduby1vY3RhbC1lc2NhcGUnOiAnZXJyb3InLFxuICAgICAgICAnbm8tcHJvbWlzZS1leGVjdXRvci1yZXR1cm4nOiAnZXJyb3InLFxuICAgICAgICAnbm8tcHJvdG8nOiAnZXJyb3InLFxuICAgICAgICAnbm8tcmVzdHJpY3RlZC1zeW50YXgnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBkZWZpbml0ZSBhc3NpZ25tZW50IGFzc2VydGlvbnMgKCEpLiBJbml0aWFsaXplIHRoZSBmaWVsZCBvciBtYWtlIGl0IG9wdGlvbmFsLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1Byb3BlcnR5RGVmaW5pdGlvbltkZWZpbml0ZT10cnVlXSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGRlZmluaXRlIGFzc2lnbm1lbnQgYXNzZXJ0aW9ucyAoISkgb24gYWJzdHJhY3QgZmllbGRzLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1RTQWJzdHJhY3RQcm9wZXJ0eURlZmluaXRpb25bZGVmaW5pdGU9dHJ1ZV0nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiBmdW5jdGlvbiBwYXJhbWV0ZXJzLiBEZWZpbmUgYSBuYW1lZCBpbnRlcmZhY2UgaW5zdGVhZC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICc6ZnVuY3Rpb24gPiBJZGVudGlmaWVyIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiBmdW5jdGlvbiByZXR1cm4gdHlwZXMuIERlZmluZSBhIG5hbWVkIGludGVyZmFjZSBpbnN0ZWFkLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJzpmdW5jdGlvbiA+IFRTVHlwZUFubm90YXRpb24gVFNUeXBlTGl0ZXJhbCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGFub255bW91cyBpbmxpbmUgb2JqZWN0IHR5cGVzIGluIGludGVyZmFjZS9tZXRob2Qgc2lnbmF0dXJlcy4gRGVmaW5lIGEgbmFtZWQgaW50ZXJmYWNlIGluc3RlYWQuJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnVFNNZXRob2RTaWduYXR1cmUgVFNUeXBlTGl0ZXJhbCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGFub255bW91cyBpbmxpbmUgb2JqZWN0IHR5cGVzIGFzIHR5cGUgYXJndW1lbnRzLiBEZWZpbmUgYSBuYW1lZCBpbnRlcmZhY2UgaW5zdGVhZC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdUU1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiB0eXBlIGFubm90YXRpb25zLiBEZWZpbmUgYSBuYW1lZCBpbnRlcmZhY2UgaW5zdGVhZC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdUU1R5cGVBbm5vdGF0aW9uIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiB0eXBlIGFzc2VydGlvbnMuIERlZmluZSBhIG5hbWVkIGludGVyZmFjZSBpbnN0ZWFkLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1RTQXNFeHByZXNzaW9uIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBkb3VibGUgdHlwZSBhc3NlcnRpb25zIChhcyBYIGFzIFkpLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1RTQXNFeHByZXNzaW9uID4gVFNBc0V4cHJlc3Npb24nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBfIHByZWZpeCBvbiBtZXRob2RzIG9yIGZ1bmN0aW9ucy4gVGhlIF8gcHJlZml4IGlzIGZvciB1bnVzZWQgcGFyYW1ldGVycyBvbmx5LicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ01ldGhvZERlZmluaXRpb25ba2V5Lm5hbWU9L15fL106bm90KFtvdmVycmlkZT10cnVlXSknXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBfIHByZWZpeCBvbiBtZXRob2RzIG9yIGZ1bmN0aW9ucy4gVGhlIF8gcHJlZml4IGlzIGZvciB1bnVzZWQgcGFyYW1ldGVycyBvbmx5LicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ0Z1bmN0aW9uRGVjbGFyYXRpb25baWQubmFtZT0vXl8vXSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgcmVuYW1lIGltcG9ydHMgd2l0aCBcIk1vY2tcIiBpbiB0aGUgYWxpYXMuIE1vY2sgY2xhc3NlcyBhcmUgdGhlIGNhbm9uaWNhbCB0eXBlcyBcdTIwMTQgdXNlIHRoZSBvcmlnaW5hbCBuYW1lLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ0ltcG9ydFNwZWNpZmllcltsb2NhbC5uYW1lPS9Nb2NrL106bm90KFtpbXBvcnRlZC5uYW1lPS9Nb2NrL10pJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0F2b2lkIGR5bmFtaWMgaW1wb3J0KCkuIFVzZSBzdGF0aWMgaW1wb3J0cyBpbnN0ZWFkLiBPbmx5IHVzZSBkeW5hbWljIGltcG9ydHMgZm9yIGxhenkvY29uZGl0aW9uYWwgbG9hZGluZy4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdJbXBvcnRFeHByZXNzaW9uJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0RvIG5vdCB1c2UgYGRlY2xhcmVgIG9uIGNsYXNzIHByb3BlcnRpZXMuIEluaXRpYWxpemUgdGhlIHByb3BlcnR5IG9yIHVzZSBhIHJlZ3VsYXIgdHlwZSBhbm5vdGF0aW9uLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1Byb3BlcnR5RGVmaW5pdGlvbltkZWNsYXJlPXRydWVdJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLXJldHVybi1hc3NpZ24nOiAnZXJyb3InLFxuICAgICAgICAnbm8tc2NyaXB0LXVybCc6ICdlcnJvcicsXG4gICAgICAgICduby1zZWxmLWNvbXBhcmUnOiAnZXJyb3InLFxuICAgICAgICAnbm8tc2VxdWVuY2VzJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXNoYWRvdyc6ICdlcnJvcicsXG4gICAgICAgICduby10ZW1wbGF0ZS1jdXJseS1pbi1zdHJpbmcnOiAnZXJyb3InLFxuICAgICAgICAnbm8tdGhyb3ctbGl0ZXJhbCc6ICdlcnJvcicsXG4gICAgICAgICduby11bm1vZGlmaWVkLWxvb3AtY29uZGl0aW9uJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVubmVlZGVkLXRlcm5hcnknOiAnZXJyb3InLFxuICAgICAgICAnbm8tdW5yZWFjaGFibGUtbG9vcCc6ICdlcnJvcicsXG4gICAgICAgICduby11bnVzZWQtZXhwcmVzc2lvbnMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tdXNlbGVzcy1hc3NpZ25tZW50JzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtY2FsbCc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbXB1dGVkLWtleSc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbmNhdCc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtcmVuYW1lJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtcmV0dXJuJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXZhcic6ICdlcnJvcicsXG4gICAgICAgICduby12b2lkJzogJ2Vycm9yJyxcbiAgICAgICAgJ29iamVjdC1zaG9ydGhhbmQnOiAnZXJyb3InLFxuICAgICAgICAnb3BlcmF0b3ItYXNzaWdubWVudCc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItYXJyb3ctY2FsbGJhY2snOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLWNvbnN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ3ByZWZlci1leHBvbmVudGlhdGlvbi1vcGVyYXRvcic6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItbmFtZWQtY2FwdHVyZS1ncm91cCc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItbnVtZXJpYy1saXRlcmFscyc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItb2JqZWN0LWhhcy1vd24nOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLW9iamVjdC1zcHJlYWQnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9ycyc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItcmVnZXgtbGl0ZXJhbHMnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXJlc3QtcGFyYW1zJzogJ2Vycm9yJyxcbiAgICAgICAgJ3ByZWZlci1zcHJlYWQnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXRlbXBsYXRlJzogJ2Vycm9yJyxcbiAgICAgICAgJ3JhZGl4JzogJ2Vycm9yJyxcbiAgICAgICAgJ3JlcXVpcmUtYXRvbWljLXVwZGF0ZXMnOiAnZXJyb3InLFxuICAgICAgICAncmVxdWlyZS1hd2FpdCc6ICdlcnJvcicsXG4gICAgICAgICdzeW1ib2wtZGVzY3JpcHRpb24nOiAnZXJyb3InLFxuICAgICAgICAndW5pY29kZS1ib20nOiAnZXJyb3InLFxuICAgICAgICAndmFycy1vbi10b3AnOiAnZXJyb3InLFxuICAgICAgICAneW9kYSc6ICdlcnJvcidcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBjb250ZXh0LnRlc3RGaWxlcyxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgICduby1tYWdpYy1udW1iZXJzJzogJ29mZidcbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRFc2xpbnRJbXBvcnRSZXNvbHZlclR5cGVzY3JpcHRDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICdpbXBvcnQteC9yZXNvbHZlci1uZXh0JzogW1xuICAgICAgICAgIGNyZWF0ZVR5cGVTY3JpcHRJbXBvcnRSZXNvbHZlcih7XG4gICAgICAgICAgICBhbHdheXNUcnlUeXBlczogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRHaXRJZ25vcmVDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIGNvbnN0IGdpdGlnbm9yZVBhdGggPSBqb2luKGdldFJvb3RGb2xkZXIoKSA/PyAnJywgJy5naXRpZ25vcmUnKTtcbiAgaWYgKCFleGlzdHNTeW5jKGdpdGlnbm9yZVBhdGgpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBbaW5jbHVkZUlnbm9yZUZpbGUoZ2l0aWdub3JlUGF0aCldO1xufVxuXG5mdW5jdGlvbiBnZXRJbXBvcnRYQ29uZmlncyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZXh0ZW5kczogW1xuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MucmVjb21tZW5kZWQsXG4gICAgICAgIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncy50eXBlc2NyaXB0LFxuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MuZXJyb3JzLFxuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3Mud2FybmluZ3NcbiAgICAgIF0sXG4gICAgICBmaWxlczogY29udGV4dC5hbGxGaWxlcygpLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ2ltcG9ydC14L2NvbnNpc3RlbnQtdHlwZS1zcGVjaWZpZXItc3R5bGUnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvZXh0ZW5zaW9ucyc6IFsnZXJyb3InLCAnaWdub3JlUGFja2FnZXMnXSxcbiAgICAgICAgJ2ltcG9ydC14L2ZpcnN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L2ltcG9ydHMtZmlyc3QnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbmV3bGluZS1hZnRlci1pbXBvcnQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tYWJzb2x1dGUtcGF0aCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1hbWQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tYW5vbnltb3VzLWRlZmF1bHQtZXhwb3J0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWNvbW1vbmpzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWN5Y2xlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWRlcHJlY2F0ZWQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tZHVwbGljYXRlcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1keW5hbWljLXJlcXVpcmUnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tZW1wdHktbmFtZWQtYmxvY2tzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWltcG9ydC1tb2R1bGUtZXhwb3J0cyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1tdXRhYmxlLWV4cG9ydHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tbmFtZWQtZGVmYXVsdCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1uYW1lc3BhY2UnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tcmVsYXRpdmUtcGFja2FnZXMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tcmVzdHJpY3RlZC1wYXRocyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1zZWxmLWltcG9ydCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby11bmFzc2lnbmVkLWltcG9ydCc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93OiBbXG4gICAgICAgICAgICAgICcqKi8qLmNzcycsXG4gICAgICAgICAgICAgICcqKi8qLnNhc3MnLFxuICAgICAgICAgICAgICAnKiovKi5zY3NzJ1xuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ2ltcG9ydC14L25vLXVudXNlZC1tb2R1bGVzJzogJ29mZicsXG4gICAgICAgICdpbXBvcnQteC9uby11c2VsZXNzLXBhdGgtc2VnbWVudHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8td2VicGFjay1sb2FkZXItc3ludGF4JzogJ2Vycm9yJ1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IGNvbnRleHQuc2NyaXB0RmlsZXMsXG4gICAgICBydWxlczoge1xuICAgICAgICAnaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMnOiAnb2ZmJ1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcbiAgICAgICAgLi4uY29udGV4dC5yb290Q29uZmlnRmlsZXMsXG4gICAgICAgIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3JjLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluVHMpXG4gICAgICBdLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ2ltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0JzogJ29mZidcbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRPYnNpZGlhbkRldlV0aWxzUGx1Z2luQ29uZmlncyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZmlsZXM6IGNvbnRleHQuYWxsRmlsZXMoKSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgJ29ic2lkaWFuLWRldi11dGlscyc6IG9ic2lkaWFuRGV2VXRpbHNQbHVnaW5cbiAgICAgIH0sXG4gICAgICBydWxlczoge1xuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL25vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm4nOiAnZXJyb3InLFxuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL25vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMnOiAnZXJyb3InLFxuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2gnOiAnZXJyb3InLFxuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL3ByZWZlci1ub29wLWFzeW5jJzogJ2Vycm9yJyxcbiAgICAgICAgJ29ic2lkaWFuLWRldi11dGlscy9yZWFkb25seS1wYXJhbXMtb3B0aW9ucy1tZW1iZXJzJzogJ2Vycm9yJyxcbiAgICAgICAgJ29ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXgnOiAnZXJyb3InLFxuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL3JlcXVpcmUtc3VwZXItY2FsbCc6ICdvZmYnXG4gICAgICB9XG4gICAgfVxuICBdKTtcbn1cblxuZnVuY3Rpb24gZ2V0T2JzaWRpYW5MaW50Q29uZmlncyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgY29uc3Qgb2JzaWRpYW5SZWNvbW1lbmRlZENvbmZpZ3MgPSBvYnNpZGlhbm1kLmNvbmZpZ3MucmVjb21tZW5kZWQ7XG5cbiAgY29uc3Qgc2NvcGVkT2JzaWRpYW5SZWNvbW1lbmRlZENvbmZpZ3MgPSBvYnNpZGlhblJlY29tbWVuZGVkQ29uZmlncy5tYXAoKGNvbmZpZykgPT4ge1xuICAgIGlmIChjb25maWcuZmlsZXM/LmluY2x1ZGVzKCdwYWNrYWdlLmpzb24nKSkge1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgZmlsZXM6IGNvbnRleHQuc291cmNlRmlsZXNcbiAgICB9O1xuICB9KTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICAuLi5zY29wZWRPYnNpZGlhblJlY29tbWVuZGVkQ29uZmlncyxcbiAgICB7XG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIG9ic2lkaWFubWRcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGxhbmd1YWdlT3B0aW9uczoge1xuICAgICAgICBnbG9iYWxzOiB7XG4gICAgICAgICAgLi4uZ2xvYmFscy5icm93c2VyLFxuICAgICAgICAgIC4uLmdsb2JhbHMubm9kZSxcbiAgICAgICAgICBhY3RpdmVEb2N1bWVudDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBhY3RpdmVXaW5kb3c6ICdyZWFkb25seScsXG4gICAgICAgICAgYWpheDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBhamF4UHJvbWlzZTogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBjcmVhdGVEaXY6ICdyZWFkb25seScsXG4gICAgICAgICAgY3JlYXRlRWw6ICdyZWFkb25seScsXG4gICAgICAgICAgY3JlYXRlRnJhZ21lbnQ6ICdyZWFkb25seScsXG4gICAgICAgICAgY3JlYXRlU3BhbjogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBjcmVhdGVTdmc6ICdyZWFkb25seScsXG4gICAgICAgICAgRG9tRWxlbWVudEluZm86ICdyZWFkb25seScsXG4gICAgICAgICAgZmlzaDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBmaXNoQWxsOiAncmVhZG9ubHknLFxuICAgICAgICAgIGlzQm9vbGVhbjogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBuZXh0RnJhbWU6ICdyZWFkb25seScsXG4gICAgICAgICAgTm9kZUpTOiAncmVhZG9ubHknLFxuICAgICAgICAgIHJlYWR5OiAncmVhZG9ubHknLFxuICAgICAgICAgIHNsZWVwOiAncmVhZG9ubHknXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRQZXJmZWN0aW9uaXN0Q29uZmlncyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbe1xuICAgIGV4dGVuZHM6IFtwZXJmZWN0aW9uaXN0Q29uZmlnc1sncmVjb21tZW5kZWQtYWxwaGFiZXRpY2FsJ11dLFxuICAgIGZpbGVzOiBjb250ZXh0LmFsbEZpbGVzKClcbiAgfV0pO1xufVxuXG5mdW5jdGlvbiBnZXRTdHlsaXN0aWNDb25maWdzKGNvbnRleHQ6IEVzbGludENvbmZpZ0NvbnRleHQpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICB7XG4gICAgICBleHRlbmRzOiBbXG4gICAgICAgIHN0eWxpc3RpYy5jb25maWdzLnJlY29tbWVuZGVkLFxuICAgICAgICBzdHlsaXN0aWMuY29uZmlncy5jdXN0b21pemUoe1xuICAgICAgICAgIGFycm93UGFyZW5zOiB0cnVlLFxuICAgICAgICAgIGJyYWNlU3R5bGU6ICcxdGJzJyxcbiAgICAgICAgICBjb21tYURhbmdsZTogJ25ldmVyJyxcbiAgICAgICAgICBzZW1pOiB0cnVlXG4gICAgICAgIH0pXG4gICAgICBdLFxuICAgICAgZmlsZXM6IGNvbnRleHQuYWxsRmlsZXMoKSxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgICdAc3R5bGlzdGljL2dlbmVyYXRvci1zdGFyLXNwYWNpbmcnOiAnb2ZmJyxcbiAgICAgICAgJ0BzdHlsaXN0aWMvaW5kZW50JzogJ29mZicsXG4gICAgICAgICdAc3R5bGlzdGljL2luZGVudC1iaW5hcnktb3BzJzogJ29mZicsXG4gICAgICAgICdAc3R5bGlzdGljL2pzeC1vbmUtZXhwcmVzc2lvbi1wZXItbGluZSc6ICdvZmYnLFxuICAgICAgICAnQHN0eWxpc3RpYy9uby1leHRyYS1zZW1pJzogJ2Vycm9yJyxcbiAgICAgICAgJ0BzdHlsaXN0aWMvb2JqZWN0LWN1cmx5LW5ld2xpbmUnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBFeHBvcnREZWNsYXJhdGlvbjoge1xuICAgICAgICAgICAgICBtaW5Qcm9wZXJ0aWVzOiAyLFxuICAgICAgICAgICAgICBtdWx0aWxpbmU6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBJbXBvcnREZWNsYXJhdGlvbjoge1xuICAgICAgICAgICAgICBtaW5Qcm9wZXJ0aWVzOiAyLFxuICAgICAgICAgICAgICBtdWx0aWxpbmU6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICdAc3R5bGlzdGljL29wZXJhdG9yLWxpbmVicmVhayc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICdiZWZvcmUnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICAgICAgICAnPSc6ICdhZnRlcidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICdAc3R5bGlzdGljL3F1b3Rlcyc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICdzaW5nbGUnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93VGVtcGxhdGVMaXRlcmFsczogJ25ldmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldFRzZXNsaW50Q29uZmlncyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZXh0ZW5kczogW1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXIgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYF9kZWZhdWx0YCBpcyB0b28gY29uZnVzaW5nLlxuICAgICAgICAuLi50c2VzbGludC5jb25maWdzLnN0cmljdFR5cGVDaGVja2VkLFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXIgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYF9kZWZhdWx0YCBpcyB0b28gY29uZnVzaW5nLlxuICAgICAgICAuLi50c2VzbGludC5jb25maWdzLnN0eWxpc3RpY1R5cGVDaGVja2VkXG4gICAgICBdLFxuICAgICAgZmlsZXM6IGNvbnRleHQuYWxsRmlsZXMoKSxcbiAgICAgIGxhbmd1YWdlT3B0aW9uczoge1xuICAgICAgICBwYXJzZXJPcHRpb25zOiB7XG4gICAgICAgICAgZWNtYUZlYXR1cmVzOiB7XG4gICAgICAgICAgICBqc3g6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHByb2plY3RTZXJ2aWNlOiB0cnVlLFxuICAgICAgICAgIHRzY29uZmlnUm9vdERpcjogZ2V0Um9vdEZvbGRlcigpID8/ICcnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBydWxlczoge1xuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlJzogJ2Vycm9yJyxcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eSc6ICdlcnJvcicsXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZSc6IFsnZXJyb3InLCAnbWV0aG9kJ10sXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZmxvYXRpbmctcHJvbWlzZXMnOiBbJ2Vycm9yJywge1xuICAgICAgICAgIGNoZWNrVGhlbmFibGVzOiB0cnVlXG4gICAgICAgIH1dLFxuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlJzogWydlcnJvcicsIHtcbiAgICAgICAgICBhbGxvd0FzVGhpc1BhcmFtZXRlcjogdHJ1ZVxuICAgICAgICB9XSxcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzJzogWydlcnJvcicsIHtcbiAgICAgICAgICBhbGxvd2VkTmFtZXM6IFtcbiAgICAgICAgICAgICd0aGF0J1xuICAgICAgICAgIF1cbiAgICAgICAgfV0sXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhcmdzOiAnYWxsJyxcbiAgICAgICAgICAgIGFyZ3NJZ25vcmVQYXR0ZXJuOiAnXl8nLFxuICAgICAgICAgICAgY2F1Z2h0RXJyb3JzOiAnYWxsJyxcbiAgICAgICAgICAgIGNhdWdodEVycm9yc0lnbm9yZVBhdHRlcm46ICdeXycsXG4gICAgICAgICAgICBkZXN0cnVjdHVyZWRBcnJheUlnbm9yZVBhdHRlcm46ICdeXycsXG4gICAgICAgICAgICBpZ25vcmVSZXN0U2libGluZ3M6IHRydWUsXG4gICAgICAgICAgICB2YXJzSWdub3JlUGF0dGVybjogJ15fJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHknOiAnZXJyb3InXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlczogY29udGV4dC50ZXN0RmlsZXMsXG4gICAgICBydWxlczoge1xuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvbic6IFsnZXJyb3InLCB7XG4gICAgICAgICAgYWxsb3dQcml2YXRlQ2xhc3NQcm9wZXJ0eUFjY2VzczogdHJ1ZSxcbiAgICAgICAgICBhbGxvd1Byb3RlY3RlZENsYXNzUHJvcGVydHlBY2Nlc3M6IHRydWVcbiAgICAgICAgfV0sXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2QnOiAnb2ZmJ1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgcmVhY3Q6IHtcbiAgICAgICAgICB2ZXJzaW9uOiAnZGV0ZWN0J1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBdKTtcbn1cblxuLyogZXNsaW50LWVuYWJsZSBuby1tYWdpYy1udW1iZXJzIC0tIFdlIGRpc2FibGVkIG1hZ2ljIG51bWJlcnMgYmVjYXVzZSB0aGV5IGFyZSB1c2VkIGFsbCBvdmVyIHRoZSBjb25maWdzLiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JBLHFCQUE0QjtBQUM1Qiw0QkFBa0M7QUFDbEMsZ0JBQW1CO0FBRW5CLDJCQUFzQjtBQUN0QiwrQ0FBK0M7QUFDL0Msb0NBQThEO0FBRTlELHNDQUF1QjtBQUN2Qix5Q0FBZ0Q7QUFDaEQsb0JBQTZCO0FBQzdCLHFCQUFvQjtBQUNwQixxQkFBMkI7QUFFM0IsK0JBQXFCO0FBRXJCLHdDQUF3QztBQUN4QyxrQkFBcUI7QUFDckIsa0JBQThCO0FBQzlCLHVDQUF1QztBQXlCaEMsTUFBTSxvQkFBb0I7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUlmLGtCQUE0QixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLN0IsY0FBd0IsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS3pCLGNBQXdCLENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUt6QixZQUFzQixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2hDLFdBQXFCO0FBQzFCLFdBQU8sQ0FBQyxHQUFHLEtBQUssV0FBVyxHQUFHLEtBQUssYUFBYSxHQUFHLEtBQUssaUJBQWlCLEdBQUcsS0FBSyxXQUFXO0FBQUEsRUFDOUY7QUFDRjtBQVVPLFNBQVMsb0JBQW9CLFNBQW9DLENBQUMsR0FBb0I7QUFDM0YsUUFBTSxVQUFVLElBQUksb0JBQW9CO0FBQ3hDLFVBQVEsZ0JBQWdCO0FBQUEsSUFDdEIsMERBQXdCO0FBQUEsSUFDeEIsMERBQXdCO0FBQUEsSUFDeEIsMERBQXdCO0FBQUEsRUFDMUI7QUFDQSxVQUFRLFlBQVk7QUFBQSxRQUNsQixrQkFBSywwREFBd0IsU0FBUywwREFBd0IsU0FBUywwREFBd0IsS0FBSztBQUFBLEVBQ3RHO0FBQ0EsVUFBUSxZQUFZO0FBQUEsUUFDbEIsa0JBQUssMERBQXdCLEtBQUssMERBQXdCLFNBQVMsMERBQXdCLEtBQUs7QUFBQSxRQUNoRyxrQkFBSywwREFBd0IsS0FBSywwREFBd0IsU0FBUywwREFBd0IsTUFBTTtBQUFBLEVBQ25HO0FBQ0EsVUFBUSxVQUFVO0FBQUEsUUFDaEIsa0JBQUssMERBQXdCLE9BQU8sMERBQXdCLFNBQVMsMERBQXdCLEtBQUs7QUFBQSxRQUNsRyxrQkFBSywwREFBd0IsT0FBTywwREFBd0IsU0FBUywwREFBd0IsS0FBSztBQUFBLFFBQ2xHLGtCQUFLLDBEQUF3QixLQUFLLDBEQUF3QixTQUFTLDBEQUF3QixTQUFTO0FBQUEsRUFDdEc7QUFFQSxNQUFJLE9BQU8sYUFBYTtBQUN0QixXQUFPLFlBQVksT0FBTztBQUFBLEVBQzVCO0FBRUEsUUFBTSxnQkFBZ0IsT0FBTyxnQkFBZ0IsT0FBTyxLQUFLLENBQUM7QUFFMUQsYUFBTztBQUFBLElBQ0wsR0FBRyxvQkFBb0I7QUFBQSxJQUV2QixHQUFHLHVCQUF1QixPQUFPO0FBQUEsSUFDakMsR0FBRyxpQkFBaUIsT0FBTztBQUFBLElBQzNCLEdBQUcsbUJBQW1CLE9BQU87QUFBQSxJQUM3QixHQUFHLG9CQUFvQixPQUFPO0FBQUEsSUFDOUIsR0FBRyxrQkFBa0IsT0FBTztBQUFBLElBQzVCLEdBQUcsd0JBQXdCLE9BQU87QUFBQSxJQUNsQyxHQUFHLHlDQUF5QztBQUFBLElBQzVDLEdBQUcseUJBQXlCLE9BQU87QUFBQSxJQUNuQyxHQUFHLGlDQUFpQyxPQUFPO0FBQUEsSUFDM0MsR0FBRztBQUFBLEVBQ0w7QUFDRjtBQUVBLFNBQVMseUJBQXlCLFNBQStDO0FBQy9FLGFBQU8sNEJBQWE7QUFBQSxJQUNsQjtBQUFBO0FBQUEsTUFFRSxTQUFTLENBQUMsZUFBQUEsUUFBZ0IsV0FBVztBQUFBLE1BQ3JDLE9BQU8sUUFBUSxTQUFTO0FBQUEsTUFDeEIsT0FBTztBQUFBLFFBQ0wseURBQXlEO0FBQUEsTUFDM0Q7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFFQSxTQUFTLGlCQUFpQixTQUErQztBQUN2RSxhQUFPLDRCQUFhO0FBQUEsSUFDbEI7QUFBQSxNQUNFLFNBQVMsQ0FBQyxVQUFBQyxRQUFPLFFBQVEsV0FBVztBQUFBLE1BQ3BDLE9BQU8sUUFBUSxTQUFTO0FBQUEsTUFDeEIsT0FBTztBQUFBLFFBQ0wsa0JBQWtCO0FBQUEsUUFDbEIseUJBQXlCO0FBQUEsUUFDekIsYUFBYTtBQUFBLFFBQ2Isd0JBQXdCLENBQUMsU0FBUyxVQUFVLEVBQUUsT0FBTyxFQUFFLGVBQWUsS0FBSyxFQUFFLENBQUM7QUFBQSxRQUM5RSxjQUFjO0FBQUEsUUFDZCxtQkFBbUI7QUFBQSxRQUNuQixTQUFTO0FBQUEsUUFDVCxnQkFBZ0I7QUFBQSxRQUNoQixxQkFBcUI7QUFBQSxRQUNyQixzQkFBc0I7QUFBQSxRQUN0QixVQUFVO0FBQUEsUUFDVixzQkFBc0I7QUFBQSxRQUN0QixjQUFjO0FBQUEsUUFDZCxjQUFjO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsWUFDRSxxQkFBcUI7QUFBQSxVQUN2QjtBQUFBLFFBQ0Y7QUFBQSxRQUNBLDBCQUEwQjtBQUFBLFVBQ3hCO0FBQUEsVUFDQTtBQUFBLFFBQ0Y7QUFBQSxRQUNBLGdCQUFnQjtBQUFBLFFBQ2hCLFlBQVk7QUFBQSxRQUNaLHdCQUF3QjtBQUFBLFFBQ3hCLGNBQWM7QUFBQSxRQUNkLGFBQWE7QUFBQSxRQUNiLGNBQWM7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsT0FBTztBQUFBLGNBQ0w7QUFBQSxjQUNBO0FBQUEsWUFDRjtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQUEsUUFDQSx5QkFBeUI7QUFBQSxRQUN6QixnQkFBZ0I7QUFBQSxRQUNoQixrQkFBa0I7QUFBQSxVQUNoQjtBQUFBLFVBQ0E7QUFBQSxZQUNFLGFBQWE7QUFBQSxVQUNmO0FBQUEsUUFDRjtBQUFBLFFBQ0EscUJBQXFCO0FBQUEsUUFDckIsb0JBQW9CO0FBQUEsUUFDcEIsaUJBQWlCO0FBQUEsUUFDakIsa0JBQWtCO0FBQUEsUUFDbEIsd0JBQXdCO0FBQUEsVUFDdEI7QUFBQSxVQUNBO0FBQUEsWUFDRSxPQUFPO0FBQUEsY0FDTDtBQUFBLFlBQ0Y7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLFFBQ0EsbUJBQW1CO0FBQUEsUUFDbkIseUJBQXlCO0FBQUEsUUFDekIsZUFBZTtBQUFBLFFBQ2YsZ0JBQWdCO0FBQUEsUUFDaEIsYUFBYTtBQUFBLFFBQ2Isa0JBQWtCO0FBQUEsUUFDbEIsZ0JBQWdCO0FBQUEsUUFDaEIsZ0JBQWdCO0FBQUEsUUFDaEIsb0JBQW9CO0FBQUEsVUFDbEI7QUFBQSxVQUNBO0FBQUEsWUFDRSxlQUFlO0FBQUEsWUFDZixjQUFjO0FBQUEsWUFDZCxRQUFRO0FBQUEsY0FDTjtBQUFBLGNBQ0E7QUFBQSxjQUNBO0FBQUEsWUFDRjtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQUEsUUFDQSxtQkFBbUI7QUFBQSxRQUNuQixnQkFBZ0I7QUFBQSxRQUNoQix3QkFBd0I7QUFBQSxRQUN4QixxQkFBcUI7QUFBQSxRQUNyQixlQUFlO0FBQUEsUUFDZixtQkFBbUI7QUFBQSxRQUNuQix5QkFBeUI7QUFBQSxRQUN6QixtQkFBbUI7QUFBQSxRQUNuQiw4QkFBOEI7QUFBQSxRQUM5QixZQUFZO0FBQUEsUUFDWix3QkFBd0I7QUFBQSxVQUN0QjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxRQUNGO0FBQUEsUUFDQSxvQkFBb0I7QUFBQSxRQUNwQixpQkFBaUI7QUFBQSxRQUNqQixtQkFBbUI7QUFBQSxRQUNuQixnQkFBZ0I7QUFBQSxRQUNoQixhQUFhO0FBQUEsUUFDYiwrQkFBK0I7QUFBQSxRQUMvQixvQkFBb0I7QUFBQSxRQUNwQixnQ0FBZ0M7QUFBQSxRQUNoQyx1QkFBdUI7QUFBQSxRQUN2Qix1QkFBdUI7QUFBQSxRQUN2Qix5QkFBeUI7QUFBQSxRQUN6Qix5QkFBeUI7QUFBQSxRQUN6QixtQkFBbUI7QUFBQSxRQUNuQiwyQkFBMkI7QUFBQSxRQUMzQixxQkFBcUI7QUFBQSxRQUNyQiwwQkFBMEI7QUFBQSxRQUMxQixxQkFBcUI7QUFBQSxRQUNyQixxQkFBcUI7QUFBQSxRQUNyQixVQUFVO0FBQUEsUUFDVixXQUFXO0FBQUEsUUFDWCxvQkFBb0I7QUFBQSxRQUNwQix1QkFBdUI7QUFBQSxRQUN2Qix5QkFBeUI7QUFBQSxRQUN6QixnQkFBZ0I7QUFBQSxRQUNoQixrQ0FBa0M7QUFBQSxRQUNsQyw4QkFBOEI7QUFBQSxRQUM5QiwyQkFBMkI7QUFBQSxRQUMzQix5QkFBeUI7QUFBQSxRQUN6Qix3QkFBd0I7QUFBQSxRQUN4QixnQ0FBZ0M7QUFBQSxRQUNoQyx5QkFBeUI7QUFBQSxRQUN6QixzQkFBc0I7QUFBQSxRQUN0QixpQkFBaUI7QUFBQSxRQUNqQixtQkFBbUI7QUFBQSxRQUNuQixTQUFTO0FBQUEsUUFDVCwwQkFBMEI7QUFBQSxRQUMxQixpQkFBaUI7QUFBQSxRQUNqQixzQkFBc0I7QUFBQSxRQUN0QixlQUFlO0FBQUEsUUFDZixlQUFlO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLElBQ0Y7QUFBQSxJQUNBO0FBQUEsTUFDRSxPQUFPLFFBQVE7QUFBQSxNQUNmLE9BQU87QUFBQSxRQUNMLG9CQUFvQjtBQUFBLE1BQ3RCO0FBQUEsSUFDRjtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBRUEsU0FBUywyQ0FBNEQ7QUFDbkUsYUFBTyw0QkFBYTtBQUFBLElBQ2xCO0FBQUEsTUFDRSxVQUFVO0FBQUEsUUFDUiwwQkFBMEI7QUFBQSxjQUN4Qix5RUFBK0I7QUFBQSxZQUM3QixnQkFBZ0I7QUFBQSxVQUNsQixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFFQSxTQUFTLHNCQUF1QztBQUM5QyxRQUFNLG9CQUFnQixzQkFBSywyQkFBYyxLQUFLLElBQUksWUFBWTtBQUM5RCxNQUFJLEtBQUMsMkJBQVcsYUFBYSxHQUFHO0FBQzlCLFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFDQSxTQUFPLEtBQUMseUNBQWtCLGFBQWEsQ0FBQztBQUMxQztBQUVBLFNBQVMsa0JBQWtCLFNBQStDO0FBQ3hFLGFBQU8sNEJBQWE7QUFBQSxJQUNsQjtBQUFBLE1BQ0UsU0FBUztBQUFBLFFBQ1AsOEJBQUFDLFlBQStCO0FBQUEsUUFDL0IsOEJBQUFBLFlBQStCO0FBQUEsUUFDL0IsOEJBQUFBLFlBQStCO0FBQUEsUUFDL0IsOEJBQUFBLFlBQStCO0FBQUEsTUFDakM7QUFBQSxNQUNBLE9BQU8sUUFBUSxTQUFTO0FBQUEsTUFDeEIsT0FBTztBQUFBLFFBQ0wsNENBQTRDO0FBQUEsUUFDNUMsdUJBQXVCLENBQUMsU0FBUyxnQkFBZ0I7QUFBQSxRQUNqRCxrQkFBa0I7QUFBQSxRQUNsQiwwQkFBMEI7QUFBQSxRQUMxQixpQ0FBaUM7QUFBQSxRQUNqQyw2QkFBNkI7QUFBQSxRQUM3QixtQkFBbUI7QUFBQSxRQUNuQix3Q0FBd0M7QUFBQSxRQUN4Qyx3QkFBd0I7QUFBQSxRQUN4QixxQkFBcUI7QUFBQSxRQUNyQiw4QkFBOEI7QUFBQSxRQUM5QiwwQkFBMEI7QUFBQSxRQUMxQiwwQkFBMEI7QUFBQSxRQUMxQiwrQkFBK0I7QUFBQSxRQUMvQixrQ0FBa0M7QUFBQSxRQUNsQyx1Q0FBdUM7QUFBQSxRQUN2QyxxQ0FBcUM7QUFBQSxRQUNyQywrQkFBK0I7QUFBQSxRQUMvQiw2QkFBNkI7QUFBQSxRQUM3Qix5QkFBeUI7QUFBQSxRQUN6Qiw4QkFBOEI7QUFBQSxRQUM5QixpQ0FBaUM7QUFBQSxRQUNqQyxnQ0FBZ0M7QUFBQSxRQUNoQywyQkFBMkI7QUFBQSxRQUMzQixpQ0FBaUM7QUFBQSxVQUMvQjtBQUFBLFVBQ0E7QUFBQSxZQUNFLE9BQU87QUFBQSxjQUNMO0FBQUEsY0FDQTtBQUFBLGNBQ0E7QUFBQSxZQUNGO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxRQUNBLDhCQUE4QjtBQUFBLFFBQzlCLHFDQUFxQztBQUFBLFFBQ3JDLHFDQUFxQztBQUFBLE1BQ3ZDO0FBQUEsSUFDRjtBQUFBLElBQ0E7QUFBQSxNQUNFLE9BQU8sUUFBUTtBQUFBLE1BQ2YsT0FBTztBQUFBLFFBQ0wsOEJBQThCO0FBQUEsTUFDaEM7QUFBQSxJQUNGO0FBQUEsSUFDQTtBQUFBLE1BQ0UsT0FBTztBQUFBLFFBQ0wsR0FBRyxRQUFRO0FBQUEsWUFDWCxrQkFBSywwREFBd0IsS0FBSywwREFBd0IsTUFBTTtBQUFBLE1BQ2xFO0FBQUEsTUFDQSxPQUFPO0FBQUEsUUFDTCw4QkFBOEI7QUFBQSxNQUNoQztBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUM7QUFDSDtBQUVBLFNBQVMsaUNBQWlDLFNBQStDO0FBQ3ZGLGFBQU8sNEJBQWE7QUFBQSxJQUNsQjtBQUFBLE1BQ0UsT0FBTyxRQUFRLFNBQVM7QUFBQSxNQUN4QixTQUFTO0FBQUEsUUFDUCxzQkFBc0I7QUFBQSxNQUN4QjtBQUFBLE1BQ0EsT0FBTztBQUFBLFFBQ0wseURBQXlEO0FBQUEsUUFDekQsbURBQW1EO0FBQUEsUUFDbkQsZ0RBQWdEO0FBQUEsUUFDaEQsd0NBQXdDO0FBQUEsUUFDeEMsc0RBQXNEO0FBQUEsUUFDdEQsK0NBQStDO0FBQUEsUUFDL0MseUNBQXlDO0FBQUEsTUFDM0M7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFFQSxTQUFTLHVCQUF1QixTQUErQztBQUM3RSxRQUFNLDZCQUE2QixnQ0FBQUMsUUFBVyxRQUFRO0FBRXRELFFBQU0sbUNBQW1DLDJCQUEyQixJQUFJLENBQUMsV0FBVztBQUNsRixRQUFJLE9BQU8sT0FBTyxTQUFTLGNBQWMsR0FBRztBQUMxQyxhQUFPO0FBQUEsSUFDVDtBQUVBLFdBQU87QUFBQSxNQUNMLEdBQUc7QUFBQSxNQUNILE9BQU8sUUFBUTtBQUFBLElBQ2pCO0FBQUEsRUFDRixDQUFDO0FBRUQsYUFBTyw0QkFBYTtBQUFBLElBQ2xCLEdBQUc7QUFBQSxJQUNIO0FBQUEsTUFDRSxTQUFTO0FBQUEsUUFDUCw0Q0FBQUE7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0E7QUFBQSxNQUNFLGlCQUFpQjtBQUFBLFFBQ2YsU0FBUztBQUFBLFVBQ1AsR0FBRyxlQUFBQyxRQUFRO0FBQUEsVUFDWCxHQUFHLGVBQUFBLFFBQVE7QUFBQSxVQUNYLGdCQUFnQjtBQUFBLFVBQ2hCLGNBQWM7QUFBQSxVQUNkLE1BQU07QUFBQSxVQUNOLGFBQWE7QUFBQSxVQUNiLFdBQVc7QUFBQSxVQUNYLFVBQVU7QUFBQSxVQUNWLGdCQUFnQjtBQUFBLFVBQ2hCLFlBQVk7QUFBQSxVQUNaLFdBQVc7QUFBQSxVQUNYLGdCQUFnQjtBQUFBLFVBQ2hCLE1BQU07QUFBQSxVQUNOLFNBQVM7QUFBQSxVQUNULFdBQVc7QUFBQSxVQUNYLFdBQVc7QUFBQSxVQUNYLFFBQVE7QUFBQSxVQUNSLE9BQU87QUFBQSxVQUNQLE9BQU87QUFBQSxRQUNUO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUM7QUFDSDtBQUVBLFNBQVMsd0JBQXdCLFNBQStDO0FBQzlFLGFBQU8sNEJBQWEsQ0FBQztBQUFBLElBQ25CLFNBQVMsQ0FBQyxtQ0FBQUMsUUFBcUIsMEJBQTBCLENBQUM7QUFBQSxJQUMxRCxPQUFPLFFBQVEsU0FBUztBQUFBLEVBQzFCLENBQUMsQ0FBQztBQUNKO0FBRUEsU0FBUyxvQkFBb0IsU0FBK0M7QUFDMUUsYUFBTyw0QkFBYTtBQUFBLElBQ2xCO0FBQUEsTUFDRSxTQUFTO0FBQUEsUUFDUCxxQkFBQUMsUUFBVSxRQUFRO0FBQUEsUUFDbEIscUJBQUFBLFFBQVUsUUFBUSxVQUFVO0FBQUEsVUFDMUIsYUFBYTtBQUFBLFVBQ2IsWUFBWTtBQUFBLFVBQ1osYUFBYTtBQUFBLFVBQ2IsTUFBTTtBQUFBLFFBQ1IsQ0FBQztBQUFBLE1BQ0g7QUFBQSxNQUNBLE9BQU8sUUFBUSxTQUFTO0FBQUEsTUFDeEIsT0FBTztBQUFBLFFBQ0wscUNBQXFDO0FBQUEsUUFDckMscUJBQXFCO0FBQUEsUUFDckIsZ0NBQWdDO0FBQUEsUUFDaEMsMENBQTBDO0FBQUEsUUFDMUMsNEJBQTRCO0FBQUEsUUFDNUIsbUNBQW1DO0FBQUEsVUFDakM7QUFBQSxVQUNBO0FBQUEsWUFDRSxtQkFBbUI7QUFBQSxjQUNqQixlQUFlO0FBQUEsY0FDZixXQUFXO0FBQUEsWUFDYjtBQUFBLFlBQ0EsbUJBQW1CO0FBQUEsY0FDakIsZUFBZTtBQUFBLGNBQ2YsV0FBVztBQUFBLFlBQ2I7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLFFBQ0EsaUNBQWlDO0FBQUEsVUFDL0I7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFlBQ0UsV0FBVztBQUFBLGNBQ1QsS0FBSztBQUFBLFlBQ1A7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLFFBQ0EscUJBQXFCO0FBQUEsVUFDbkI7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFlBQ0UsdUJBQXVCO0FBQUEsVUFDekI7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUM7QUFDSDtBQUVBLFNBQVMsbUJBQW1CLFNBQStDO0FBQ3pFLGFBQU8sNEJBQWE7QUFBQSxJQUNsQjtBQUFBLE1BQ0UsU0FBUztBQUFBO0FBQUEsUUFFUCxHQUFHLHlCQUFBQyxRQUFTLFFBQVE7QUFBQTtBQUFBLFFBRXBCLEdBQUcseUJBQUFBLFFBQVMsUUFBUTtBQUFBLE1BQ3RCO0FBQUEsTUFDQSxPQUFPLFFBQVEsU0FBUztBQUFBLE1BQ3hCLGlCQUFpQjtBQUFBLFFBQ2YsZUFBZTtBQUFBLFVBQ2IsY0FBYztBQUFBLFlBQ1osS0FBSztBQUFBLFVBQ1A7QUFBQSxVQUNBLGdCQUFnQjtBQUFBLFVBQ2hCLHFCQUFpQiwyQkFBYyxLQUFLO0FBQUEsUUFDdEM7QUFBQSxNQUNGO0FBQUEsTUFDQSxPQUFPO0FBQUEsUUFDTCxvREFBb0Q7QUFBQSxRQUNwRCxvREFBb0Q7QUFBQSxRQUNwRCw2Q0FBNkMsQ0FBQyxTQUFTLFFBQVE7QUFBQSxRQUMvRCwyQ0FBMkMsQ0FBQyxTQUFTO0FBQUEsVUFDbkQsZ0JBQWdCO0FBQUEsUUFDbEIsQ0FBQztBQUFBLFFBQ0QsMkNBQTJDLENBQUMsU0FBUztBQUFBLFVBQ25ELHNCQUFzQjtBQUFBLFFBQ3hCLENBQUM7QUFBQSxRQUNELG9DQUFvQyxDQUFDLFNBQVM7QUFBQSxVQUM1QyxjQUFjO0FBQUEsWUFDWjtBQUFBLFVBQ0Y7QUFBQSxRQUNGLENBQUM7QUFBQSxRQUNELHFDQUFxQztBQUFBLFVBQ25DO0FBQUEsVUFDQTtBQUFBLFlBQ0UsTUFBTTtBQUFBLFlBQ04sbUJBQW1CO0FBQUEsWUFDbkIsY0FBYztBQUFBLFlBQ2QsMkJBQTJCO0FBQUEsWUFDM0IsZ0NBQWdDO0FBQUEsWUFDaEMsb0JBQW9CO0FBQUEsWUFDcEIsbUJBQW1CO0FBQUEsVUFDckI7QUFBQSxRQUNGO0FBQUEsUUFDQSxzQ0FBc0M7QUFBQSxNQUN4QztBQUFBLElBQ0Y7QUFBQSxJQUNBO0FBQUEsTUFDRSxPQUFPLFFBQVE7QUFBQSxNQUNmLE9BQU87QUFBQSxRQUNMLG1DQUFtQyxDQUFDLFNBQVM7QUFBQSxVQUMzQyxpQ0FBaUM7QUFBQSxVQUNqQyxtQ0FBbUM7QUFBQSxRQUNyQyxDQUFDO0FBQUEsUUFDRCxxQ0FBcUM7QUFBQSxNQUN2QztBQUFBLElBQ0Y7QUFBQSxJQUNBO0FBQUEsTUFDRSxVQUFVO0FBQUEsUUFDUixPQUFPO0FBQUEsVUFDTCxTQUFTO0FBQUEsUUFDWDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbImNvbW1lbnRzQ29uZmlncyIsICJlc2xpbnQiLCAiZXNsaW50UGx1Z2luSW1wb3J0WEZsYXRDb25maWdzIiwgIm9ic2lkaWFubWQiLCAiZ2xvYmFscyIsICJwZXJmZWN0aW9uaXN0Q29uZmlncyIsICJzdHlsaXN0aWMiLCAidHNlc2xpbnQiXQp9Cg==
|
|
720
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgY29uZmlndXJhdGlvbiBmb3IgVHlwZVNjcmlwdCBwcm9qZWN0cyB3aXRoIHZhcmlvdXMgcGx1Z2lucy5cbiAqXG4gKiBUaGlzIG1vZHVsZSBleHBvcnRzIEVTTGludCBjb25maWd1cmF0aW9ucyBmb3IgVHlwZVNjcmlwdCBwcm9qZWN0cywgaW50ZWdyYXRpbmcgbXVsdGlwbGUgRVNMaW50IHBsdWdpbnNcbiAqIHN1Y2ggYXMgYEB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJgLCBgQHR5cGVzY3JpcHQtZXNsaW50L2VzbGludC1wbHVnaW5gLFxuICogYGVzbGludC1wbHVnaW4tbW9kdWxlcy1uZXdsaW5lc2AsIGBAc3R5bGlzdGljL2VzbGludC1wbHVnaW5gLlxuICogSXQgc2V0cyB1cCBwYXJzZXJzLCBwbHVnaW5zLCBhbmQgcnVsZXMgZm9yIG1haW50YWluaW5nIGNvZGUgcXVhbGl0eSBhbmQgY29uc2lzdGVuY3kuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIERlY2xhcmF0aXZlIEVTTGludCBydWxlL3BsdWdpbiBjb25maWd1cmF0aW9uOyBjb3JyZWN0bmVzcyBpcyB2ZXJpZmllZCBieSBydW5uaW5nIEVTTGludCwgbm90IHVuaXQgdGVzdHMuICovXG5cbmltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSAnZXNsaW50JztcblxuLyogZXNsaW50LWRpc2FibGUgbm8tbWFnaWMtbnVtYmVycyAtLSBXZSBkaXNhYmxlZCBtYWdpYyBudW1iZXJzIGJlY2F1c2UgdGhleSBhcmUgdXNlZCBhbGwgb3ZlciB0aGUgY29uZmlncy4gKi9cbmltcG9ydCBjb21tZW50c0NvbmZpZ3MgZnJvbSAnQGVzbGludC1jb21tdW5pdHkvZXNsaW50LXBsdWdpbi1lc2xpbnQtY29tbWVudHMvY29uZmlncyc7XG5pbXBvcnQgeyBpbmNsdWRlSWdub3JlRmlsZSB9IGZyb20gJ0Blc2xpbnQvY29uZmlnLWhlbHBlcnMnO1xuaW1wb3J0IGVzbGludCBmcm9tICdAZXNsaW50L2pzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9uby1yZW5hbWUtZGVmYXVsdCAtLSBUaGUgZGVmYXVsdCBleHBvcnQgbmFtZSBgcGx1Z2luYCBpcyB0b28gY29uZnVzaW5nLlxuaW1wb3J0IHN0eWxpc3RpYyBmcm9tICdAc3R5bGlzdGljL2VzbGludC1wbHVnaW4nO1xuaW1wb3J0IHsgY3JlYXRlVHlwZVNjcmlwdEltcG9ydFJlc29sdmVyIH0gZnJvbSAnZXNsaW50LWltcG9ydC1yZXNvbHZlci10eXBlc2NyaXB0JztcbmltcG9ydCB7IGZsYXRDb25maWdzIGFzIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncyB9IGZyb20gJ2VzbGludC1wbHVnaW4taW1wb3J0LXgnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBwbHVnaW5gIGlzIHRvbyBjb25mdXNpbmcuXG5pbXBvcnQgb2JzaWRpYW5tZCBmcm9tICdlc2xpbnQtcGx1Z2luLW9ic2lkaWFubWQnO1xuaW1wb3J0IHsgY29uZmlncyBhcyBwZXJmZWN0aW9uaXN0Q29uZmlncyB9IGZyb20gJ2VzbGludC1wbHVnaW4tcGVyZmVjdGlvbmlzdCc7XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICdlc2xpbnQvY29uZmlnJztcbmltcG9ydCBnbG9iYWxzIGZyb20gJ2dsb2JhbHMnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBfZGVmYXVsdGAgaXMgdG9vIGNvbmZ1c2luZy5cbmltcG9ydCB0c2VzbGludCBmcm9tICd0eXBlc2NyaXB0LWVzbGludCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vcGx1Z2luL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICcuLi8uLi9wYXRoLnRzJztcbmltcG9ydCB7IGdldFJvb3RGb2xkZXIgfSBmcm9tICcuLi9yb290LnRzJztcbmltcG9ydCB7IG9ic2lkaWFuRGV2VXRpbHNQbHVnaW4gfSBmcm9tICcuL2VzbGludC1ydWxlcy9vYnNpZGlhbi1kZXYtdXRpbHMtcGx1Z2luLnRzJztcblxuLyoqXG4gKiBUaGUgcGFyYW1ldGVycyBmb3IgZGVmaW5pbmcgRVNMaW50IGNvbmZpZ3VyYXRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmluZUVzbGludENvbmZpZ3NQYXJhbXMge1xuICAvKipcbiAgICogQSBmdW5jdGlvbiB0aGF0IGJ1aWxkcyBjdXN0b20gRVNMaW50IGNvbmZpZ3VyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBFU0xpbnQgY29uZmlndXJhdGlvbiBjb250ZXh0LlxuICAgKiBAcmV0dXJucyBUaGUgY3VzdG9tIEVTTGludCBjb25maWd1cmF0aW9ucy5cbiAgICovXG4gIGN1c3RvbUNvbmZpZ3M/KGNvbnRleHQ6IEVzbGludENvbmZpZ0NvbnRleHQpOiBMaW50ZXIuQ29uZmlnW107XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdGhhdCBlZGl0cyB0aGUgRVNMaW50IGNvbmZpZ3VyYXRpb24gY29udGV4dC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRleHQgLSBUaGUgRVNMaW50IGNvbmZpZ3VyYXRpb24gY29udGV4dC5cbiAgICovXG4gIGVkaXRDb250ZXh0Pyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgY29udGV4dCBmb3IgZGVmaW5pbmcgRVNMaW50IGNvbmZpZ3VyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgRXNsaW50Q29uZmlnQ29udGV4dCB7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCBjb25maWd1cmF0aW9uIGZpbGVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvb3RDb25maWdGaWxlczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIHNjcmlwdCBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY3JpcHRGaWxlczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VGaWxlczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIHRlc3QgZmlsZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGVzdEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgYWxsIGZpbGVzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYWxsIGZpbGVzLlxuICAgKi9cbiAgcHVibGljIGFsbEZpbGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMudGVzdEZpbGVzLCAuLi50aGlzLnNjcmlwdEZpbGVzLCAuLi50aGlzLnJvb3RDb25maWdGaWxlcywgLi4udGhpcy5zb3VyY2VGaWxlc107XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZCBFU0xpbnQgY29uZmlndXJhdGlvbnMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBidWlsZHMgRVNMaW50IGNvbmZpZ3VyYXRpb25zIGZvciBUeXBlU2NyaXB0IHByb2plY3RzLCBpbnRlZ3JhdGluZyBtdWx0aXBsZSBFU0xpbnQgcGx1Z2luc1xuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgZGVmaW5pbmcgRVNMaW50IGNvbmZpZ3VyYXRpb25zLlxuICogQHJldHVybnMgVGhlIEVTTGludCBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUVzbGludENvbmZpZ3MocGFyYW1zOiBEZWZpbmVFc2xpbnRDb25maWdzUGFyYW1zID0ge30pOiBMaW50ZXIuQ29uZmlnW10ge1xuICBjb25zdCBjb250ZXh0ID0gbmV3IEVzbGludENvbmZpZ0NvbnRleHQoKTtcbiAgY29udGV4dC5yb290Q29uZmlnRmlsZXMucHVzaChcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Db21taXRsaW50Q29uZmlnVHMsXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRXNsaW50Q29uZmlnTXRzLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlZpdGVzdENvbmZpZ1RzXG4gICk7XG4gIGNvbnRleHQuc2NyaXB0RmlsZXMucHVzaChcbiAgICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNjcmlwdHMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKVxuICApO1xuICBjb250ZXh0LnNvdXJjZUZpbGVzLnB1c2goXG4gICAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKSxcbiAgICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQW55VHN4KVxuICApO1xuICBjb250ZXh0LnRlc3RGaWxlcy5wdXNoKFxuICAgIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuVGVzdHMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRzKSxcbiAgICBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1vY2tzLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlUcyksXG4gICAgam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVBhdGgsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkFueVRlc3RUcylcbiAgKTtcblxuICBpZiAocGFyYW1zLmVkaXRDb250ZXh0KSB7XG4gICAgcGFyYW1zLmVkaXRDb250ZXh0KGNvbnRleHQpO1xuICB9XG5cbiAgY29uc3QgY3VzdG9tQ29uZmlncyA9IHBhcmFtcy5jdXN0b21Db25maWdzPy4oY29udGV4dCkgPz8gW107XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcbiAgICAuLi5nZXRHaXRJZ25vcmVDb25maWdzKCksXG4gICAgLy8gT2JzaWRpYW5tZCBjb25maWdzIHJ1biBmaXJzdCBzbyBvdXIgc3RyaWN0ZXIgcnVsZXMgb3ZlcnJpZGUgdGhlaXIgcmVsYXhlZCBkZWZhdWx0c1xuICAgIC4uLmdldE9ic2lkaWFuTGludENvbmZpZ3MoY29udGV4dCksXG4gICAgLi4uZ2V0RXNsaW50Q29uZmlncyhjb250ZXh0KSxcbiAgICAuLi5nZXRUc2VzbGludENvbmZpZ3MoY29udGV4dCksXG4gICAgLi4uZ2V0U3R5bGlzdGljQ29uZmlncyhjb250ZXh0KSxcbiAgICAuLi5nZXRJbXBvcnRYQ29uZmlncyhjb250ZXh0KSxcbiAgICAuLi5nZXRQZXJmZWN0aW9uaXN0Q29uZmlncyhjb250ZXh0KSxcbiAgICAuLi5nZXRFc2xpbnRJbXBvcnRSZXNvbHZlclR5cGVzY3JpcHRDb25maWdzKCksXG4gICAgLi4uZ2V0RXNsaW50Q29tbWVudHNDb25maWdzKGNvbnRleHQpLFxuICAgIC4uLmdldE9ic2lkaWFuRGV2VXRpbHNQbHVnaW5Db25maWdzKGNvbnRleHQpLFxuICAgIC4uLmN1c3RvbUNvbmZpZ3NcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0RXNsaW50Q29tbWVudHNDb25maWdzKGNvbnRleHQ6IEVzbGludENvbmZpZ0NvbnRleHQpOiBMaW50ZXIuQ29uZmlnW10ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFtcbiAgICB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tbmFtZWQtYXMtZGVmYXVsdC1tZW1iZXIgLS0gVGhlIGRlZmF1bHQgZXhwb3J0IG5hbWUgYHJlY29tbWVuZGVkYCBpcyB0b28gY29uZnVzaW5nLlxuICAgICAgZXh0ZW5kczogW2NvbW1lbnRzQ29uZmlncy5yZWNvbW1lbmRlZF0sXG4gICAgICBmaWxlczogY29udGV4dC5hbGxGaWxlcygpLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ0Blc2xpbnQtY29tbXVuaXR5L2VzbGludC1jb21tZW50cy9yZXF1aXJlLWRlc2NyaXB0aW9uJzogJ2Vycm9yJ1xuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldEVzbGludENvbmZpZ3MoY29udGV4dDogRXNsaW50Q29uZmlnQ29udGV4dCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIGV4dGVuZHM6IFtlc2xpbnQuY29uZmlncy5yZWNvbW1lbmRlZF0sXG4gICAgICBmaWxlczogY29udGV4dC5hbGxGaWxlcygpLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ2FjY2Vzc29yLXBhaXJzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2FycmF5LWNhbGxiYWNrLXJldHVybic6ICdlcnJvcicsXG4gICAgICAgICdjYW1lbGNhc2UnOiAnZXJyb3InLFxuICAgICAgICAnY2FwaXRhbGl6ZWQtY29tbWVudHMnOiBbJ2Vycm9yJywgJ2Fsd2F5cycsIHsgYmxvY2s6IHsgaWdub3JlUGF0dGVybjogJ3Y4JyB9IH1dLFxuICAgICAgICAnY29tcGxleGl0eSc6ICdlcnJvcicsXG4gICAgICAgICdjb25zaXN0ZW50LXRoaXMnOiAnZXJyb3InLFxuICAgICAgICAnY3VybHknOiAnZXJyb3InLFxuICAgICAgICAnZGVmYXVsdC1jYXNlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2RlZmF1bHQtY2FzZS1sYXN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2RlZmF1bHQtcGFyYW0tbGFzdCc6ICdlcnJvcicsXG4gICAgICAgICdlcWVxZXEnOiAnZXJyb3InLFxuICAgICAgICAnZnVuYy1uYW1lLW1hdGNoaW5nJzogJ2Vycm9yJyxcbiAgICAgICAgJ2Z1bmMtbmFtZXMnOiAnZXJyb3InLFxuICAgICAgICAnZnVuYy1zdHlsZSc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICdkZWNsYXJhdGlvbicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWxsb3dBcnJvd0Z1bmN0aW9uczogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICdncm91cGVkLWFjY2Vzc29yLXBhaXJzJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgJ2dldEJlZm9yZVNldCdcbiAgICAgICAgXSxcbiAgICAgICAgJ2d1YXJkLWZvci1pbic6ICdlcnJvcicsXG4gICAgICAgICduby1hbGVydCc6ICdlcnJvcicsXG4gICAgICAgICduby1hcnJheS1jb25zdHJ1Y3Rvcic6ICdlcnJvcicsXG4gICAgICAgICduby1iaXR3aXNlJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWNhbGxlcic6ICdlcnJvcicsXG4gICAgICAgICduby1jb25zb2xlJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWxsb3c6IFtcbiAgICAgICAgICAgICAgJ3dhcm4nLFxuICAgICAgICAgICAgICAnZXJyb3InXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnbm8tY29uc3RydWN0b3ItcmV0dXJuJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWRpdi1yZWdleCc6ICdlcnJvcicsXG4gICAgICAgICduby1lbHNlLXJldHVybic6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93RWxzZUlmOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLWVtcHR5LWZ1bmN0aW9uJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWV4dGVuZC1uYXRpdmUnOiAnZXJyb3InLFxuICAgICAgICAnbm8tZXh0cmEtYmluZCc6ICdlcnJvcicsXG4gICAgICAgICduby1leHRyYS1sYWJlbCc6ICdlcnJvcicsXG4gICAgICAgICduby1pbXBsaWNpdC1jb2VyY2lvbic6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93OiBbXG4gICAgICAgICAgICAgICchISdcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICduby1pbXBsaWVkLWV2YWwnOiAnZXJyb3InLFxuICAgICAgICAnbm8taW5uZXItZGVjbGFyYXRpb25zJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWl0ZXJhdG9yJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWxhYmVsLXZhcic6ICdlcnJvcicsXG4gICAgICAgICduby1sYWJlbHMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tbG9uZS1ibG9ja3MnOiAnZXJyb3InLFxuICAgICAgICAnbm8tbG9uZWx5LWlmJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLWxvb3AtZnVuYyc6ICdlcnJvcicsXG4gICAgICAgICduby1tYWdpYy1udW1iZXJzJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGV0ZWN0T2JqZWN0czogdHJ1ZSxcbiAgICAgICAgICAgIGVuZm9yY2VDb25zdDogdHJ1ZSxcbiAgICAgICAgICAgIGlnbm9yZTogW1xuICAgICAgICAgICAgICAtMSxcbiAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLW11bHRpLWFzc2lnbic6ICdlcnJvcicsXG4gICAgICAgICduby1tdWx0aS1zdHInOiAnZXJyb3InLFxuICAgICAgICAnbm8tbmVnYXRlZC1jb25kaXRpb24nOiAnZXJyb3InLFxuICAgICAgICAnbm8tbmVzdGVkLXRlcm5hcnknOiAnZXJyb3InLFxuICAgICAgICAnbm8tbmV3LWZ1bmMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tbmV3LXdyYXBwZXJzJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLW9iamVjdC1jb25zdHJ1Y3Rvcic6ICdlcnJvcicsXG4gICAgICAgICduby1vY3RhbC1lc2NhcGUnOiAnZXJyb3InLFxuICAgICAgICAnbm8tcHJvbWlzZS1leGVjdXRvci1yZXR1cm4nOiAnZXJyb3InLFxuICAgICAgICAnbm8tcHJvdG8nOiAnZXJyb3InLFxuICAgICAgICAnbm8tcmVzdHJpY3RlZC1zeW50YXgnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBkZWZpbml0ZSBhc3NpZ25tZW50IGFzc2VydGlvbnMgKCEpLiBJbml0aWFsaXplIHRoZSBmaWVsZCBvciBtYWtlIGl0IG9wdGlvbmFsLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1Byb3BlcnR5RGVmaW5pdGlvbltkZWZpbml0ZT10cnVlXSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGRlZmluaXRlIGFzc2lnbm1lbnQgYXNzZXJ0aW9ucyAoISkgb24gYWJzdHJhY3QgZmllbGRzLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1RTQWJzdHJhY3RQcm9wZXJ0eURlZmluaXRpb25bZGVmaW5pdGU9dHJ1ZV0nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiBmdW5jdGlvbiBwYXJhbWV0ZXJzLiBEZWZpbmUgYSBuYW1lZCBpbnRlcmZhY2UgaW5zdGVhZC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICc6ZnVuY3Rpb24gPiBJZGVudGlmaWVyIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiBmdW5jdGlvbiByZXR1cm4gdHlwZXMuIERlZmluZSBhIG5hbWVkIGludGVyZmFjZSBpbnN0ZWFkLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJzpmdW5jdGlvbiA+IFRTVHlwZUFubm90YXRpb24gVFNUeXBlTGl0ZXJhbCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGFub255bW91cyBpbmxpbmUgb2JqZWN0IHR5cGVzIGluIGludGVyZmFjZS9tZXRob2Qgc2lnbmF0dXJlcy4gRGVmaW5lIGEgbmFtZWQgaW50ZXJmYWNlIGluc3RlYWQuJyxcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnVFNNZXRob2RTaWduYXR1cmUgVFNUeXBlTGl0ZXJhbCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgdXNlIGFub255bW91cyBpbmxpbmUgb2JqZWN0IHR5cGVzIGFzIHR5cGUgYXJndW1lbnRzLiBEZWZpbmUgYSBuYW1lZCBpbnRlcmZhY2UgaW5zdGVhZC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdUU1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiB0eXBlIGFubm90YXRpb25zLiBEZWZpbmUgYSBuYW1lZCBpbnRlcmZhY2UgaW5zdGVhZC4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdUU1R5cGVBbm5vdGF0aW9uIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBhbm9ueW1vdXMgaW5saW5lIG9iamVjdCB0eXBlcyBpbiB0eXBlIGFzc2VydGlvbnMuIERlZmluZSBhIG5hbWVkIGludGVyZmFjZSBpbnN0ZWFkLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1RTQXNFeHByZXNzaW9uIFRTVHlwZUxpdGVyYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBkb3VibGUgdHlwZSBhc3NlcnRpb25zIChhcyBYIGFzIFkpLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1RTQXNFeHByZXNzaW9uID4gVFNBc0V4cHJlc3Npb24nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBfIHByZWZpeCBvbiBtZXRob2RzIG9yIGZ1bmN0aW9ucy4gVGhlIF8gcHJlZml4IGlzIGZvciB1bnVzZWQgcGFyYW1ldGVycyBvbmx5LicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ01ldGhvZERlZmluaXRpb25ba2V5Lm5hbWU9L15fL106bm90KFtvdmVycmlkZT10cnVlXSknXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnRG8gbm90IHVzZSBfIHByZWZpeCBvbiBtZXRob2RzIG9yIGZ1bmN0aW9ucy4gVGhlIF8gcHJlZml4IGlzIGZvciB1bnVzZWQgcGFyYW1ldGVycyBvbmx5LicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ0Z1bmN0aW9uRGVjbGFyYXRpb25baWQubmFtZT0vXl8vXSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdEbyBub3QgcmVuYW1lIGltcG9ydHMgd2l0aCBcIk1vY2tcIiBpbiB0aGUgYWxpYXMuIE1vY2sgY2xhc3NlcyBhcmUgdGhlIGNhbm9uaWNhbCB0eXBlcyBcdTIwMTQgdXNlIHRoZSBvcmlnaW5hbCBuYW1lLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ0ltcG9ydFNwZWNpZmllcltsb2NhbC5uYW1lPS9Nb2NrL106bm90KFtpbXBvcnRlZC5uYW1lPS9Nb2NrL10pJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0F2b2lkIGR5bmFtaWMgaW1wb3J0KCkuIFVzZSBzdGF0aWMgaW1wb3J0cyBpbnN0ZWFkLiBPbmx5IHVzZSBkeW5hbWljIGltcG9ydHMgZm9yIGxhenkvY29uZGl0aW9uYWwgbG9hZGluZy4nLFxuICAgICAgICAgICAgc2VsZWN0b3I6ICdJbXBvcnRFeHByZXNzaW9uJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0RvIG5vdCB1c2UgYGRlY2xhcmVgIG9uIGNsYXNzIHByb3BlcnRpZXMuIEluaXRpYWxpemUgdGhlIHByb3BlcnR5IG9yIHVzZSBhIHJlZ3VsYXIgdHlwZSBhbm5vdGF0aW9uLicsXG4gICAgICAgICAgICBzZWxlY3RvcjogJ1Byb3BlcnR5RGVmaW5pdGlvbltkZWNsYXJlPXRydWVdJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ25vLXJldHVybi1hc3NpZ24nOiAnZXJyb3InLFxuICAgICAgICAnbm8tc2NyaXB0LXVybCc6ICdlcnJvcicsXG4gICAgICAgICduby1zZWxmLWNvbXBhcmUnOiAnZXJyb3InLFxuICAgICAgICAnbm8tc2VxdWVuY2VzJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXNoYWRvdyc6ICdlcnJvcicsXG4gICAgICAgICduby10ZW1wbGF0ZS1jdXJseS1pbi1zdHJpbmcnOiAnZXJyb3InLFxuICAgICAgICAnbm8tdGhyb3ctbGl0ZXJhbCc6ICdlcnJvcicsXG4gICAgICAgICduby11bm1vZGlmaWVkLWxvb3AtY29uZGl0aW9uJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVubmVlZGVkLXRlcm5hcnknOiAnZXJyb3InLFxuICAgICAgICAnbm8tdW5yZWFjaGFibGUtbG9vcCc6ICdlcnJvcicsXG4gICAgICAgICduby11bnVzZWQtZXhwcmVzc2lvbnMnOiAnZXJyb3InLFxuICAgICAgICAnbm8tdXNlbGVzcy1hc3NpZ25tZW50JzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtY2FsbCc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbXB1dGVkLWtleSc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbmNhdCc6ICdlcnJvcicsXG4gICAgICAgICduby11c2VsZXNzLWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtcmVuYW1lJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXVzZWxlc3MtcmV0dXJuJzogJ2Vycm9yJyxcbiAgICAgICAgJ25vLXZhcic6ICdlcnJvcicsXG4gICAgICAgICduby12b2lkJzogJ2Vycm9yJyxcbiAgICAgICAgJ29iamVjdC1zaG9ydGhhbmQnOiAnZXJyb3InLFxuICAgICAgICAnb3BlcmF0b3ItYXNzaWdubWVudCc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItYXJyb3ctY2FsbGJhY2snOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLWNvbnN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ3ByZWZlci1leHBvbmVudGlhdGlvbi1vcGVyYXRvcic6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItbmFtZWQtY2FwdHVyZS1ncm91cCc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItbnVtZXJpYy1saXRlcmFscyc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItb2JqZWN0LWhhcy1vd24nOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLW9iamVjdC1zcHJlYWQnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9ycyc6ICdlcnJvcicsXG4gICAgICAgICdwcmVmZXItcmVnZXgtbGl0ZXJhbHMnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXJlc3QtcGFyYW1zJzogJ2Vycm9yJyxcbiAgICAgICAgJ3ByZWZlci1zcHJlYWQnOiAnZXJyb3InLFxuICAgICAgICAncHJlZmVyLXRlbXBsYXRlJzogJ2Vycm9yJyxcbiAgICAgICAgJ3JhZGl4JzogJ2Vycm9yJyxcbiAgICAgICAgJ3JlcXVpcmUtYXRvbWljLXVwZGF0ZXMnOiAnZXJyb3InLFxuICAgICAgICAncmVxdWlyZS1hd2FpdCc6ICdlcnJvcicsXG4gICAgICAgICdzeW1ib2wtZGVzY3JpcHRpb24nOiAnZXJyb3InLFxuICAgICAgICAndW5pY29kZS1ib20nOiAnZXJyb3InLFxuICAgICAgICAndmFycy1vbi10b3AnOiAnZXJyb3InLFxuICAgICAgICAneW9kYSc6ICdlcnJvcidcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBjb250ZXh0LnRlc3RGaWxlcyxcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgICduby1tYWdpYy1udW1iZXJzJzogJ29mZidcbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRFc2xpbnRJbXBvcnRSZXNvbHZlclR5cGVzY3JpcHRDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICdpbXBvcnQteC9yZXNvbHZlci1uZXh0JzogW1xuICAgICAgICAgIGNyZWF0ZVR5cGVTY3JpcHRJbXBvcnRSZXNvbHZlcih7XG4gICAgICAgICAgICBhbHdheXNUcnlUeXBlczogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRHaXRJZ25vcmVDb25maWdzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIGNvbnN0IGdpdGlnbm9yZVBhdGggPSBqb2luKGdldFJvb3RGb2xkZXIoKSA/PyAnJywgJy5naXRpZ25vcmUnKTtcbiAgaWYgKCFleGlzdHNTeW5jKGdpdGlnbm9yZVBhdGgpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBbaW5jbHVkZUlnbm9yZUZpbGUoZ2l0aWdub3JlUGF0aCldO1xufVxuXG5mdW5jdGlvbiBnZXRJbXBvcnRYQ29uZmlncyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZXh0ZW5kczogW1xuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MucmVjb21tZW5kZWQsXG4gICAgICAgIGVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncy50eXBlc2NyaXB0LFxuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3MuZXJyb3JzLFxuICAgICAgICBlc2xpbnRQbHVnaW5JbXBvcnRYRmxhdENvbmZpZ3Mud2FybmluZ3NcbiAgICAgIF0sXG4gICAgICBmaWxlczogY29udGV4dC5hbGxGaWxlcygpLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ2ltcG9ydC14L2NvbnNpc3RlbnQtdHlwZS1zcGVjaWZpZXItc3R5bGUnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvZXh0ZW5zaW9ucyc6IFsnZXJyb3InLCAnaWdub3JlUGFja2FnZXMnXSxcbiAgICAgICAgJ2ltcG9ydC14L2ZpcnN0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L2ltcG9ydHMtZmlyc3QnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbmV3bGluZS1hZnRlci1pbXBvcnQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tYWJzb2x1dGUtcGF0aCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1hbWQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tYW5vbnltb3VzLWRlZmF1bHQtZXhwb3J0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWNvbW1vbmpzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWN5Y2xlJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0JzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWRlcHJlY2F0ZWQnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tZHVwbGljYXRlcyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1keW5hbWljLXJlcXVpcmUnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tZW1wdHktbmFtZWQtYmxvY2tzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzJzogJ2Vycm9yJyxcbiAgICAgICAgJ2ltcG9ydC14L25vLWltcG9ydC1tb2R1bGUtZXhwb3J0cyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1tdXRhYmxlLWV4cG9ydHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tbmFtZWQtZGVmYXVsdCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1uYW1lc3BhY2UnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tcmVsYXRpdmUtcGFja2FnZXMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8tcmVzdHJpY3RlZC1wYXRocyc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby1zZWxmLWltcG9ydCc6ICdlcnJvcicsXG4gICAgICAgICdpbXBvcnQteC9uby11bmFzc2lnbmVkLWltcG9ydCc6IFtcbiAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93OiBbXG4gICAgICAgICAgICAgICcqKi8qLmNzcycsXG4gICAgICAgICAgICAgICcqKi8qLnNhc3MnLFxuICAgICAgICAgICAgICAnKiovKi5zY3NzJ1xuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgJ2ltcG9ydC14L25vLXVudXNlZC1tb2R1bGVzJzogJ29mZicsXG4gICAgICAgICdpbXBvcnQteC9uby11c2VsZXNzLXBhdGgtc2VnbWVudHMnOiAnZXJyb3InLFxuICAgICAgICAnaW1wb3J0LXgvbm8td2VicGFjay1sb2FkZXItc3ludGF4JzogJ2Vycm9yJ1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IGNvbnRleHQuc2NyaXB0RmlsZXMsXG4gICAgICBydWxlczoge1xuICAgICAgICAnaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXMnOiAnb2ZmJ1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcbiAgICAgICAgLi4uY29udGV4dC5yb290Q29uZmlnRmlsZXMsXG4gICAgICAgIGpvaW4oT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3JjLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluVHMpXG4gICAgICBdLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ2ltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0JzogJ29mZidcbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRPYnNpZGlhbkRldlV0aWxzUGx1Z2luQ29uZmlncyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZmlsZXM6IGNvbnRleHQuYWxsRmlsZXMoKSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgJ29ic2lkaWFuLWRldi11dGlscyc6IG9ic2lkaWFuRGV2VXRpbHNQbHVnaW5cbiAgICAgIH0sXG4gICAgICBydWxlczoge1xuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL25vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm4nOiAnZXJyb3InLFxuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL25vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMnOiAnZXJyb3InLFxuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2gnOiAnZXJyb3InLFxuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL3ByZWZlci1ub29wLWFzeW5jJzogJ2Vycm9yJyxcbiAgICAgICAgJ29ic2lkaWFuLWRldi11dGlscy9yZWFkb25seS1wYXJhbXMtb3B0aW9ucy1tZW1iZXJzJzogJ2Vycm9yJyxcbiAgICAgICAgJ29ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXgnOiAnZXJyb3InLFxuICAgICAgICAnb2JzaWRpYW4tZGV2LXV0aWxzL3JlcXVpcmUtbWV0aG9kLXRlbXBsYXRlJzogJ2Vycm9yJyxcbiAgICAgICAgJ29ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLXN1cGVyLWNhbGwnOiAnb2ZmJ1xuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbmZ1bmN0aW9uIGdldE9ic2lkaWFuTGludENvbmZpZ3MoY29udGV4dDogRXNsaW50Q29uZmlnQ29udGV4dCk6IExpbnRlci5Db25maWdbXSB7XG4gIGNvbnN0IG9ic2lkaWFuUmVjb21tZW5kZWRDb25maWdzID0gb2JzaWRpYW5tZC5jb25maWdzLnJlY29tbWVuZGVkO1xuXG4gIGNvbnN0IHNjb3BlZE9ic2lkaWFuUmVjb21tZW5kZWRDb25maWdzID0gb2JzaWRpYW5SZWNvbW1lbmRlZENvbmZpZ3MubWFwKChjb25maWcpID0+IHtcbiAgICBpZiAoY29uZmlnLmZpbGVzPy5pbmNsdWRlcygncGFja2FnZS5qc29uJykpIHtcbiAgICAgIHJldHVybiBjb25maWc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGZpbGVzOiBjb250ZXh0LnNvdXJjZUZpbGVzXG4gICAgfTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAgLi4uc2NvcGVkT2JzaWRpYW5SZWNvbW1lbmRlZENvbmZpZ3MsXG4gICAge1xuICAgICAgcGx1Z2luczoge1xuICAgICAgICBvYnNpZGlhbm1kXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBsYW5ndWFnZU9wdGlvbnM6IHtcbiAgICAgICAgZ2xvYmFsczoge1xuICAgICAgICAgIC4uLmdsb2JhbHMuYnJvd3NlcixcbiAgICAgICAgICAuLi5nbG9iYWxzLm5vZGUsXG4gICAgICAgICAgYWN0aXZlRG9jdW1lbnQ6ICdyZWFkb25seScsXG4gICAgICAgICAgYWN0aXZlV2luZG93OiAncmVhZG9ubHknLFxuICAgICAgICAgIGFqYXg6ICdyZWFkb25seScsXG4gICAgICAgICAgYWpheFByb21pc2U6ICdyZWFkb25seScsXG4gICAgICAgICAgY3JlYXRlRGl2OiAncmVhZG9ubHknLFxuICAgICAgICAgIGNyZWF0ZUVsOiAncmVhZG9ubHknLFxuICAgICAgICAgIGNyZWF0ZUZyYWdtZW50OiAncmVhZG9ubHknLFxuICAgICAgICAgIGNyZWF0ZVNwYW46ICdyZWFkb25seScsXG4gICAgICAgICAgY3JlYXRlU3ZnOiAncmVhZG9ubHknLFxuICAgICAgICAgIERvbUVsZW1lbnRJbmZvOiAncmVhZG9ubHknLFxuICAgICAgICAgIGZpc2g6ICdyZWFkb25seScsXG4gICAgICAgICAgZmlzaEFsbDogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBpc0Jvb2xlYW46ICdyZWFkb25seScsXG4gICAgICAgICAgbmV4dEZyYW1lOiAncmVhZG9ubHknLFxuICAgICAgICAgIE5vZGVKUzogJ3JlYWRvbmx5JyxcbiAgICAgICAgICByZWFkeTogJ3JlYWRvbmx5JyxcbiAgICAgICAgICBzbGVlcDogJ3JlYWRvbmx5J1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBdKTtcbn1cblxuZnVuY3Rpb24gZ2V0UGVyZmVjdGlvbmlzdENvbmZpZ3MoY29udGV4dDogRXNsaW50Q29uZmlnQ29udGV4dCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW3tcbiAgICBleHRlbmRzOiBbcGVyZmVjdGlvbmlzdENvbmZpZ3NbJ3JlY29tbWVuZGVkLWFscGhhYmV0aWNhbCddXSxcbiAgICBmaWxlczogY29udGV4dC5hbGxGaWxlcygpXG4gIH1dKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3R5bGlzdGljQ29uZmlncyhjb250ZXh0OiBFc2xpbnRDb25maWdDb250ZXh0KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhbXG4gICAge1xuICAgICAgZXh0ZW5kczogW1xuICAgICAgICBzdHlsaXN0aWMuY29uZmlncy5yZWNvbW1lbmRlZCxcbiAgICAgICAgc3R5bGlzdGljLmNvbmZpZ3MuY3VzdG9taXplKHtcbiAgICAgICAgICBhcnJvd1BhcmVuczogdHJ1ZSxcbiAgICAgICAgICBicmFjZVN0eWxlOiAnMXRicycsXG4gICAgICAgICAgY29tbWFEYW5nbGU6ICduZXZlcicsXG4gICAgICAgICAgc2VtaTogdHJ1ZVxuICAgICAgICB9KVxuICAgICAgXSxcbiAgICAgIGZpbGVzOiBjb250ZXh0LmFsbEZpbGVzKCksXG4gICAgICBydWxlczoge1xuICAgICAgICAnQHN0eWxpc3RpYy9nZW5lcmF0b3Itc3Rhci1zcGFjaW5nJzogJ29mZicsXG4gICAgICAgICdAc3R5bGlzdGljL2luZGVudCc6ICdvZmYnLFxuICAgICAgICAnQHN0eWxpc3RpYy9pbmRlbnQtYmluYXJ5LW9wcyc6ICdvZmYnLFxuICAgICAgICAnQHN0eWxpc3RpYy9qc3gtb25lLWV4cHJlc3Npb24tcGVyLWxpbmUnOiAnb2ZmJyxcbiAgICAgICAgJ0BzdHlsaXN0aWMvbm8tZXh0cmEtc2VtaSc6ICdlcnJvcicsXG4gICAgICAgICdAc3R5bGlzdGljL29iamVjdC1jdXJseS1uZXdsaW5lJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgRXhwb3J0RGVjbGFyYXRpb246IHtcbiAgICAgICAgICAgICAgbWluUHJvcGVydGllczogMixcbiAgICAgICAgICAgICAgbXVsdGlsaW5lOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgSW1wb3J0RGVjbGFyYXRpb246IHtcbiAgICAgICAgICAgICAgbWluUHJvcGVydGllczogMixcbiAgICAgICAgICAgICAgbXVsdGlsaW5lOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnQHN0eWxpc3RpYy9vcGVyYXRvci1saW5lYnJlYWsnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAnYmVmb3JlJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgJz0nOiAnYWZ0ZXInXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAnQHN0eWxpc3RpYy9xdW90ZXMnOiBbXG4gICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAnc2luZ2xlJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvd1RlbXBsYXRlTGl0ZXJhbHM6ICduZXZlcidcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIF0pO1xufVxuXG5mdW5jdGlvbiBnZXRUc2VzbGludENvbmZpZ3MoY29udGV4dDogRXNsaW50Q29uZmlnQ29udGV4dCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoW1xuICAgIHtcbiAgICAgIGV4dGVuZHM6IFtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5hbWVkLWFzLWRlZmF1bHQtbWVtYmVyIC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBfZGVmYXVsdGAgaXMgdG9vIGNvbmZ1c2luZy5cbiAgICAgICAgLi4udHNlc2xpbnQuY29uZmlncy5zdHJpY3RUeXBlQ2hlY2tlZCxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLW5hbWVkLWFzLWRlZmF1bHQtbWVtYmVyIC0tIFRoZSBkZWZhdWx0IGV4cG9ydCBuYW1lIGBfZGVmYXVsdGAgaXMgdG9vIGNvbmZ1c2luZy5cbiAgICAgICAgLi4udHNlc2xpbnQuY29uZmlncy5zdHlsaXN0aWNUeXBlQ2hlY2tlZFxuICAgICAgXSxcbiAgICAgIGZpbGVzOiBjb250ZXh0LmFsbEZpbGVzKCksXG4gICAgICBsYW5ndWFnZU9wdGlvbnM6IHtcbiAgICAgICAgcGFyc2VyT3B0aW9uczoge1xuICAgICAgICAgIGVjbWFGZWF0dXJlczoge1xuICAgICAgICAgICAganN4OiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm9qZWN0U2VydmljZTogdHJ1ZSxcbiAgICAgICAgICB0c2NvbmZpZ1Jvb3REaXI6IGdldFJvb3RGb2xkZXIoKSA/PyAnJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSc6ICdlcnJvcicsXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHknOiAnZXJyb3InLFxuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L21ldGhvZC1zaWduYXR1cmUtc3R5bGUnOiBbJ2Vycm9yJywgJ21ldGhvZCddLFxuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzJzogWydlcnJvcicsIHtcbiAgICAgICAgICBjaGVja1RoZW5hYmxlczogdHJ1ZVxuICAgICAgICB9XSxcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZSc6IFsnZXJyb3InLCB7XG4gICAgICAgICAgYWxsb3dBc1RoaXNQYXJhbWV0ZXI6IHRydWVcbiAgICAgICAgfV0sXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhcyc6IFsnZXJyb3InLCB7XG4gICAgICAgICAgYWxsb3dlZE5hbWVzOiBbXG4gICAgICAgICAgICAndGhhdCdcbiAgICAgICAgICBdXG4gICAgICAgIH1dLFxuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzJzogW1xuICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYXJnczogJ2FsbCcsXG4gICAgICAgICAgICBhcmdzSWdub3JlUGF0dGVybjogJ15fJyxcbiAgICAgICAgICAgIGNhdWdodEVycm9yczogJ2FsbCcsXG4gICAgICAgICAgICBjYXVnaHRFcnJvcnNJZ25vcmVQYXR0ZXJuOiAnXl8nLFxuICAgICAgICAgICAgZGVzdHJ1Y3R1cmVkQXJyYXlJZ25vcmVQYXR0ZXJuOiAnXl8nLFxuICAgICAgICAgICAgaWdub3JlUmVzdFNpYmxpbmdzOiB0cnVlLFxuICAgICAgICAgICAgdmFyc0lnbm9yZVBhdHRlcm46ICdeXydcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgICdAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJlYWRvbmx5JzogJ2Vycm9yJ1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IGNvbnRleHQudGVzdEZpbGVzLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgJ0B0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb24nOiBbJ2Vycm9yJywge1xuICAgICAgICAgIGFsbG93UHJpdmF0ZUNsYXNzUHJvcGVydHlBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgYWxsb3dQcm90ZWN0ZWRDbGFzc1Byb3BlcnR5QWNjZXNzOiB0cnVlXG4gICAgICAgIH1dLFxuICAgICAgICAnQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kJzogJ29mZidcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIHJlYWN0OiB7XG4gICAgICAgICAgdmVyc2lvbjogJ2RldGVjdCdcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXSk7XG59XG5cbi8qIGVzbGludC1lbmFibGUgbm8tbWFnaWMtbnVtYmVycyAtLSBXZSBkaXNhYmxlZCBtYWdpYyBudW1iZXJzIGJlY2F1c2UgdGhleSBhcmUgdXNlZCBhbGwgb3ZlciB0aGUgY29uZmlncy4gKi9cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSxxQkFBNEI7QUFDNUIsNEJBQWtDO0FBQ2xDLGdCQUFtQjtBQUVuQiwyQkFBc0I7QUFDdEIsK0NBQStDO0FBQy9DLG9DQUE4RDtBQUU5RCxzQ0FBdUI7QUFDdkIseUNBQWdEO0FBQ2hELG9CQUE2QjtBQUM3QixxQkFBb0I7QUFDcEIscUJBQTJCO0FBRTNCLCtCQUFxQjtBQUVyQix3Q0FBd0M7QUFDeEMsa0JBQXFCO0FBQ3JCLGtCQUE4QjtBQUM5Qix1Q0FBdUM7QUF5QmhDLE1BQU0sb0JBQW9CO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJZixrQkFBNEIsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSzdCLGNBQXdCLENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUt6QixjQUF3QixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLekIsWUFBc0IsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9oQyxXQUFxQjtBQUMxQixXQUFPLENBQUMsR0FBRyxLQUFLLFdBQVcsR0FBRyxLQUFLLGFBQWEsR0FBRyxLQUFLLGlCQUFpQixHQUFHLEtBQUssV0FBVztBQUFBLEVBQzlGO0FBQ0Y7QUFVTyxTQUFTLG9CQUFvQixTQUFvQyxDQUFDLEdBQW9CO0FBQzNGLFFBQU0sVUFBVSxJQUFJLG9CQUFvQjtBQUN4QyxVQUFRLGdCQUFnQjtBQUFBLElBQ3RCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLEVBQzFCO0FBQ0EsVUFBUSxZQUFZO0FBQUEsUUFDbEIsa0JBQUssMERBQXdCLFNBQVMsMERBQXdCLFNBQVMsMERBQXdCLEtBQUs7QUFBQSxFQUN0RztBQUNBLFVBQVEsWUFBWTtBQUFBLFFBQ2xCLGtCQUFLLDBEQUF3QixLQUFLLDBEQUF3QixTQUFTLDBEQUF3QixLQUFLO0FBQUEsUUFDaEcsa0JBQUssMERBQXdCLEtBQUssMERBQXdCLFNBQVMsMERBQXdCLE1BQU07QUFBQSxFQUNuRztBQUNBLFVBQVEsVUFBVTtBQUFBLFFBQ2hCLGtCQUFLLDBEQUF3QixPQUFPLDBEQUF3QixTQUFTLDBEQUF3QixLQUFLO0FBQUEsUUFDbEcsa0JBQUssMERBQXdCLE9BQU8sMERBQXdCLFNBQVMsMERBQXdCLEtBQUs7QUFBQSxRQUNsRyxrQkFBSywwREFBd0IsS0FBSywwREFBd0IsU0FBUywwREFBd0IsU0FBUztBQUFBLEVBQ3RHO0FBRUEsTUFBSSxPQUFPLGFBQWE7QUFDdEIsV0FBTyxZQUFZLE9BQU87QUFBQSxFQUM1QjtBQUVBLFFBQU0sZ0JBQWdCLE9BQU8sZ0JBQWdCLE9BQU8sS0FBSyxDQUFDO0FBRTFELGFBQU87QUFBQSxJQUNMLEdBQUcsb0JBQW9CO0FBQUEsSUFFdkIsR0FBRyx1QkFBdUIsT0FBTztBQUFBLElBQ2pDLEdBQUcsaUJBQWlCLE9BQU87QUFBQSxJQUMzQixHQUFHLG1CQUFtQixPQUFPO0FBQUEsSUFDN0IsR0FBRyxvQkFBb0IsT0FBTztBQUFBLElBQzlCLEdBQUcsa0JBQWtCLE9BQU87QUFBQSxJQUM1QixHQUFHLHdCQUF3QixPQUFPO0FBQUEsSUFDbEMsR0FBRyx5Q0FBeUM7QUFBQSxJQUM1QyxHQUFHLHlCQUF5QixPQUFPO0FBQUEsSUFDbkMsR0FBRyxpQ0FBaUMsT0FBTztBQUFBLElBQzNDLEdBQUc7QUFBQSxFQUNMO0FBQ0Y7QUFFQSxTQUFTLHlCQUF5QixTQUErQztBQUMvRSxhQUFPLDRCQUFhO0FBQUEsSUFDbEI7QUFBQTtBQUFBLE1BRUUsU0FBUyxDQUFDLGVBQUFBLFFBQWdCLFdBQVc7QUFBQSxNQUNyQyxPQUFPLFFBQVEsU0FBUztBQUFBLE1BQ3hCLE9BQU87QUFBQSxRQUNMLHlEQUF5RDtBQUFBLE1BQzNEO0FBQUEsSUFDRjtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBRUEsU0FBUyxpQkFBaUIsU0FBK0M7QUFDdkUsYUFBTyw0QkFBYTtBQUFBLElBQ2xCO0FBQUEsTUFDRSxTQUFTLENBQUMsVUFBQUMsUUFBTyxRQUFRLFdBQVc7QUFBQSxNQUNwQyxPQUFPLFFBQVEsU0FBUztBQUFBLE1BQ3hCLE9BQU87QUFBQSxRQUNMLGtCQUFrQjtBQUFBLFFBQ2xCLHlCQUF5QjtBQUFBLFFBQ3pCLGFBQWE7QUFBQSxRQUNiLHdCQUF3QixDQUFDLFNBQVMsVUFBVSxFQUFFLE9BQU8sRUFBRSxlQUFlLEtBQUssRUFBRSxDQUFDO0FBQUEsUUFDOUUsY0FBYztBQUFBLFFBQ2QsbUJBQW1CO0FBQUEsUUFDbkIsU0FBUztBQUFBLFFBQ1QsZ0JBQWdCO0FBQUEsUUFDaEIscUJBQXFCO0FBQUEsUUFDckIsc0JBQXNCO0FBQUEsUUFDdEIsVUFBVTtBQUFBLFFBQ1Ysc0JBQXNCO0FBQUEsUUFDdEIsY0FBYztBQUFBLFFBQ2QsY0FBYztBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFlBQ0UscUJBQXFCO0FBQUEsVUFDdkI7QUFBQSxRQUNGO0FBQUEsUUFDQSwwQkFBMEI7QUFBQSxVQUN4QjtBQUFBLFVBQ0E7QUFBQSxRQUNGO0FBQUEsUUFDQSxnQkFBZ0I7QUFBQSxRQUNoQixZQUFZO0FBQUEsUUFDWix3QkFBd0I7QUFBQSxRQUN4QixjQUFjO0FBQUEsUUFDZCxhQUFhO0FBQUEsUUFDYixjQUFjO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLE9BQU87QUFBQSxjQUNMO0FBQUEsY0FDQTtBQUFBLFlBQ0Y7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLFFBQ0EseUJBQXlCO0FBQUEsUUFDekIsZ0JBQWdCO0FBQUEsUUFDaEIsa0JBQWtCO0FBQUEsVUFDaEI7QUFBQSxVQUNBO0FBQUEsWUFDRSxhQUFhO0FBQUEsVUFDZjtBQUFBLFFBQ0Y7QUFBQSxRQUNBLHFCQUFxQjtBQUFBLFFBQ3JCLG9CQUFvQjtBQUFBLFFBQ3BCLGlCQUFpQjtBQUFBLFFBQ2pCLGtCQUFrQjtBQUFBLFFBQ2xCLHdCQUF3QjtBQUFBLFVBQ3RCO0FBQUEsVUFDQTtBQUFBLFlBQ0UsT0FBTztBQUFBLGNBQ0w7QUFBQSxZQUNGO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxRQUNBLG1CQUFtQjtBQUFBLFFBQ25CLHlCQUF5QjtBQUFBLFFBQ3pCLGVBQWU7QUFBQSxRQUNmLGdCQUFnQjtBQUFBLFFBQ2hCLGFBQWE7QUFBQSxRQUNiLGtCQUFrQjtBQUFBLFFBQ2xCLGdCQUFnQjtBQUFBLFFBQ2hCLGdCQUFnQjtBQUFBLFFBQ2hCLG9CQUFvQjtBQUFBLFVBQ2xCO0FBQUEsVUFDQTtBQUFBLFlBQ0UsZUFBZTtBQUFBLFlBQ2YsY0FBYztBQUFBLFlBQ2QsUUFBUTtBQUFBLGNBQ047QUFBQSxjQUNBO0FBQUEsY0FDQTtBQUFBLFlBQ0Y7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLFFBQ0EsbUJBQW1CO0FBQUEsUUFDbkIsZ0JBQWdCO0FBQUEsUUFDaEIsd0JBQXdCO0FBQUEsUUFDeEIscUJBQXFCO0FBQUEsUUFDckIsZUFBZTtBQUFBLFFBQ2YsbUJBQW1CO0FBQUEsUUFDbkIseUJBQXlCO0FBQUEsUUFDekIsbUJBQW1CO0FBQUEsUUFDbkIsOEJBQThCO0FBQUEsUUFDOUIsWUFBWTtBQUFBLFFBQ1osd0JBQXdCO0FBQUEsVUFDdEI7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsVUFDQTtBQUFBLFlBQ0UsU0FBUztBQUFBLFlBQ1QsVUFBVTtBQUFBLFVBQ1o7QUFBQSxVQUNBO0FBQUEsWUFDRSxTQUFTO0FBQUEsWUFDVCxVQUFVO0FBQUEsVUFDWjtBQUFBLFVBQ0E7QUFBQSxZQUNFLFNBQVM7QUFBQSxZQUNULFVBQVU7QUFBQSxVQUNaO0FBQUEsUUFDRjtBQUFBLFFBQ0Esb0JBQW9CO0FBQUEsUUFDcEIsaUJBQWlCO0FBQUEsUUFDakIsbUJBQW1CO0FBQUEsUUFDbkIsZ0JBQWdCO0FBQUEsUUFDaEIsYUFBYTtBQUFBLFFBQ2IsK0JBQStCO0FBQUEsUUFDL0Isb0JBQW9CO0FBQUEsUUFDcEIsZ0NBQWdDO0FBQUEsUUFDaEMsdUJBQXVCO0FBQUEsUUFDdkIsdUJBQXVCO0FBQUEsUUFDdkIseUJBQXlCO0FBQUEsUUFDekIseUJBQXlCO0FBQUEsUUFDekIsbUJBQW1CO0FBQUEsUUFDbkIsMkJBQTJCO0FBQUEsUUFDM0IscUJBQXFCO0FBQUEsUUFDckIsMEJBQTBCO0FBQUEsUUFDMUIscUJBQXFCO0FBQUEsUUFDckIscUJBQXFCO0FBQUEsUUFDckIsVUFBVTtBQUFBLFFBQ1YsV0FBVztBQUFBLFFBQ1gsb0JBQW9CO0FBQUEsUUFDcEIsdUJBQXVCO0FBQUEsUUFDdkIseUJBQXlCO0FBQUEsUUFDekIsZ0JBQWdCO0FBQUEsUUFDaEIsa0NBQWtDO0FBQUEsUUFDbEMsOEJBQThCO0FBQUEsUUFDOUIsMkJBQTJCO0FBQUEsUUFDM0IseUJBQXlCO0FBQUEsUUFDekIsd0JBQXdCO0FBQUEsUUFDeEIsZ0NBQWdDO0FBQUEsUUFDaEMseUJBQXlCO0FBQUEsUUFDekIsc0JBQXNCO0FBQUEsUUFDdEIsaUJBQWlCO0FBQUEsUUFDakIsbUJBQW1CO0FBQUEsUUFDbkIsU0FBUztBQUFBLFFBQ1QsMEJBQTBCO0FBQUEsUUFDMUIsaUJBQWlCO0FBQUEsUUFDakIsc0JBQXNCO0FBQUEsUUFDdEIsZUFBZTtBQUFBLFFBQ2YsZUFBZTtBQUFBLFFBQ2YsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxJQUNGO0FBQUEsSUFDQTtBQUFBLE1BQ0UsT0FBTyxRQUFRO0FBQUEsTUFDZixPQUFPO0FBQUEsUUFDTCxvQkFBb0I7QUFBQSxNQUN0QjtBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUM7QUFDSDtBQUVBLFNBQVMsMkNBQTREO0FBQ25FLGFBQU8sNEJBQWE7QUFBQSxJQUNsQjtBQUFBLE1BQ0UsVUFBVTtBQUFBLFFBQ1IsMEJBQTBCO0FBQUEsY0FDeEIseUVBQStCO0FBQUEsWUFDN0IsZ0JBQWdCO0FBQUEsVUFDbEIsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBRUEsU0FBUyxzQkFBdUM7QUFDOUMsUUFBTSxvQkFBZ0Isc0JBQUssMkJBQWMsS0FBSyxJQUFJLFlBQVk7QUFDOUQsTUFBSSxLQUFDLDJCQUFXLGFBQWEsR0FBRztBQUM5QixXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0EsU0FBTyxLQUFDLHlDQUFrQixhQUFhLENBQUM7QUFDMUM7QUFFQSxTQUFTLGtCQUFrQixTQUErQztBQUN4RSxhQUFPLDRCQUFhO0FBQUEsSUFDbEI7QUFBQSxNQUNFLFNBQVM7QUFBQSxRQUNQLDhCQUFBQyxZQUErQjtBQUFBLFFBQy9CLDhCQUFBQSxZQUErQjtBQUFBLFFBQy9CLDhCQUFBQSxZQUErQjtBQUFBLFFBQy9CLDhCQUFBQSxZQUErQjtBQUFBLE1BQ2pDO0FBQUEsTUFDQSxPQUFPLFFBQVEsU0FBUztBQUFBLE1BQ3hCLE9BQU87QUFBQSxRQUNMLDRDQUE0QztBQUFBLFFBQzVDLHVCQUF1QixDQUFDLFNBQVMsZ0JBQWdCO0FBQUEsUUFDakQsa0JBQWtCO0FBQUEsUUFDbEIsMEJBQTBCO0FBQUEsUUFDMUIsaUNBQWlDO0FBQUEsUUFDakMsNkJBQTZCO0FBQUEsUUFDN0IsbUJBQW1CO0FBQUEsUUFDbkIsd0NBQXdDO0FBQUEsUUFDeEMsd0JBQXdCO0FBQUEsUUFDeEIscUJBQXFCO0FBQUEsUUFDckIsOEJBQThCO0FBQUEsUUFDOUIsMEJBQTBCO0FBQUEsUUFDMUIsMEJBQTBCO0FBQUEsUUFDMUIsK0JBQStCO0FBQUEsUUFDL0Isa0NBQWtDO0FBQUEsUUFDbEMsdUNBQXVDO0FBQUEsUUFDdkMscUNBQXFDO0FBQUEsUUFDckMsK0JBQStCO0FBQUEsUUFDL0IsNkJBQTZCO0FBQUEsUUFDN0IseUJBQXlCO0FBQUEsUUFDekIsOEJBQThCO0FBQUEsUUFDOUIsaUNBQWlDO0FBQUEsUUFDakMsZ0NBQWdDO0FBQUEsUUFDaEMsMkJBQTJCO0FBQUEsUUFDM0IsaUNBQWlDO0FBQUEsVUFDL0I7QUFBQSxVQUNBO0FBQUEsWUFDRSxPQUFPO0FBQUEsY0FDTDtBQUFBLGNBQ0E7QUFBQSxjQUNBO0FBQUEsWUFDRjtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQUEsUUFDQSw4QkFBOEI7QUFBQSxRQUM5QixxQ0FBcUM7QUFBQSxRQUNyQyxxQ0FBcUM7QUFBQSxNQUN2QztBQUFBLElBQ0Y7QUFBQSxJQUNBO0FBQUEsTUFDRSxPQUFPLFFBQVE7QUFBQSxNQUNmLE9BQU87QUFBQSxRQUNMLDhCQUE4QjtBQUFBLE1BQ2hDO0FBQUEsSUFDRjtBQUFBLElBQ0E7QUFBQSxNQUNFLE9BQU87QUFBQSxRQUNMLEdBQUcsUUFBUTtBQUFBLFlBQ1gsa0JBQUssMERBQXdCLEtBQUssMERBQXdCLE1BQU07QUFBQSxNQUNsRTtBQUFBLE1BQ0EsT0FBTztBQUFBLFFBQ0wsOEJBQThCO0FBQUEsTUFDaEM7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFFQSxTQUFTLGlDQUFpQyxTQUErQztBQUN2RixhQUFPLDRCQUFhO0FBQUEsSUFDbEI7QUFBQSxNQUNFLE9BQU8sUUFBUSxTQUFTO0FBQUEsTUFDeEIsU0FBUztBQUFBLFFBQ1Asc0JBQXNCO0FBQUEsTUFDeEI7QUFBQSxNQUNBLE9BQU87QUFBQSxRQUNMLHlEQUF5RDtBQUFBLFFBQ3pELG1EQUFtRDtBQUFBLFFBQ25ELGdEQUFnRDtBQUFBLFFBQ2hELHdDQUF3QztBQUFBLFFBQ3hDLHNEQUFzRDtBQUFBLFFBQ3RELCtDQUErQztBQUFBLFFBQy9DLDhDQUE4QztBQUFBLFFBQzlDLHlDQUF5QztBQUFBLE1BQzNDO0FBQUEsSUFDRjtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBRUEsU0FBUyx1QkFBdUIsU0FBK0M7QUFDN0UsUUFBTSw2QkFBNkIsZ0NBQUFDLFFBQVcsUUFBUTtBQUV0RCxRQUFNLG1DQUFtQywyQkFBMkIsSUFBSSxDQUFDLFdBQVc7QUFDbEYsUUFBSSxPQUFPLE9BQU8sU0FBUyxjQUFjLEdBQUc7QUFDMUMsYUFBTztBQUFBLElBQ1Q7QUFFQSxXQUFPO0FBQUEsTUFDTCxHQUFHO0FBQUEsTUFDSCxPQUFPLFFBQVE7QUFBQSxJQUNqQjtBQUFBLEVBQ0YsQ0FBQztBQUVELGFBQU8sNEJBQWE7QUFBQSxJQUNsQixHQUFHO0FBQUEsSUFDSDtBQUFBLE1BQ0UsU0FBUztBQUFBLFFBQ1AsNENBQUFBO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxJQUNBO0FBQUEsTUFDRSxpQkFBaUI7QUFBQSxRQUNmLFNBQVM7QUFBQSxVQUNQLEdBQUcsZUFBQUMsUUFBUTtBQUFBLFVBQ1gsR0FBRyxlQUFBQSxRQUFRO0FBQUEsVUFDWCxnQkFBZ0I7QUFBQSxVQUNoQixjQUFjO0FBQUEsVUFDZCxNQUFNO0FBQUEsVUFDTixhQUFhO0FBQUEsVUFDYixXQUFXO0FBQUEsVUFDWCxVQUFVO0FBQUEsVUFDVixnQkFBZ0I7QUFBQSxVQUNoQixZQUFZO0FBQUEsVUFDWixXQUFXO0FBQUEsVUFDWCxnQkFBZ0I7QUFBQSxVQUNoQixNQUFNO0FBQUEsVUFDTixTQUFTO0FBQUEsVUFDVCxXQUFXO0FBQUEsVUFDWCxXQUFXO0FBQUEsVUFDWCxRQUFRO0FBQUEsVUFDUixPQUFPO0FBQUEsVUFDUCxPQUFPO0FBQUEsUUFDVDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFFQSxTQUFTLHdCQUF3QixTQUErQztBQUM5RSxhQUFPLDRCQUFhLENBQUM7QUFBQSxJQUNuQixTQUFTLENBQUMsbUNBQUFDLFFBQXFCLDBCQUEwQixDQUFDO0FBQUEsSUFDMUQsT0FBTyxRQUFRLFNBQVM7QUFBQSxFQUMxQixDQUFDLENBQUM7QUFDSjtBQUVBLFNBQVMsb0JBQW9CLFNBQStDO0FBQzFFLGFBQU8sNEJBQWE7QUFBQSxJQUNsQjtBQUFBLE1BQ0UsU0FBUztBQUFBLFFBQ1AscUJBQUFDLFFBQVUsUUFBUTtBQUFBLFFBQ2xCLHFCQUFBQSxRQUFVLFFBQVEsVUFBVTtBQUFBLFVBQzFCLGFBQWE7QUFBQSxVQUNiLFlBQVk7QUFBQSxVQUNaLGFBQWE7QUFBQSxVQUNiLE1BQU07QUFBQSxRQUNSLENBQUM7QUFBQSxNQUNIO0FBQUEsTUFDQSxPQUFPLFFBQVEsU0FBUztBQUFBLE1BQ3hCLE9BQU87QUFBQSxRQUNMLHFDQUFxQztBQUFBLFFBQ3JDLHFCQUFxQjtBQUFBLFFBQ3JCLGdDQUFnQztBQUFBLFFBQ2hDLDBDQUEwQztBQUFBLFFBQzFDLDRCQUE0QjtBQUFBLFFBQzVCLG1DQUFtQztBQUFBLFVBQ2pDO0FBQUEsVUFDQTtBQUFBLFlBQ0UsbUJBQW1CO0FBQUEsY0FDakIsZUFBZTtBQUFBLGNBQ2YsV0FBVztBQUFBLFlBQ2I7QUFBQSxZQUNBLG1CQUFtQjtBQUFBLGNBQ2pCLGVBQWU7QUFBQSxjQUNmLFdBQVc7QUFBQSxZQUNiO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxRQUNBLGlDQUFpQztBQUFBLFVBQy9CO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxZQUNFLFdBQVc7QUFBQSxjQUNULEtBQUs7QUFBQSxZQUNQO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxRQUNBLHFCQUFxQjtBQUFBLFVBQ25CO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxZQUNFLHVCQUF1QjtBQUFBLFVBQ3pCO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFFQSxTQUFTLG1CQUFtQixTQUErQztBQUN6RSxhQUFPLDRCQUFhO0FBQUEsSUFDbEI7QUFBQSxNQUNFLFNBQVM7QUFBQTtBQUFBLFFBRVAsR0FBRyx5QkFBQUMsUUFBUyxRQUFRO0FBQUE7QUFBQSxRQUVwQixHQUFHLHlCQUFBQSxRQUFTLFFBQVE7QUFBQSxNQUN0QjtBQUFBLE1BQ0EsT0FBTyxRQUFRLFNBQVM7QUFBQSxNQUN4QixpQkFBaUI7QUFBQSxRQUNmLGVBQWU7QUFBQSxVQUNiLGNBQWM7QUFBQSxZQUNaLEtBQUs7QUFBQSxVQUNQO0FBQUEsVUFDQSxnQkFBZ0I7QUFBQSxVQUNoQixxQkFBaUIsMkJBQWMsS0FBSztBQUFBLFFBQ3RDO0FBQUEsTUFDRjtBQUFBLE1BQ0EsT0FBTztBQUFBLFFBQ0wsb0RBQW9EO0FBQUEsUUFDcEQsb0RBQW9EO0FBQUEsUUFDcEQsNkNBQTZDLENBQUMsU0FBUyxRQUFRO0FBQUEsUUFDL0QsMkNBQTJDLENBQUMsU0FBUztBQUFBLFVBQ25ELGdCQUFnQjtBQUFBLFFBQ2xCLENBQUM7QUFBQSxRQUNELDJDQUEyQyxDQUFDLFNBQVM7QUFBQSxVQUNuRCxzQkFBc0I7QUFBQSxRQUN4QixDQUFDO0FBQUEsUUFDRCxvQ0FBb0MsQ0FBQyxTQUFTO0FBQUEsVUFDNUMsY0FBYztBQUFBLFlBQ1o7QUFBQSxVQUNGO0FBQUEsUUFDRixDQUFDO0FBQUEsUUFDRCxxQ0FBcUM7QUFBQSxVQUNuQztBQUFBLFVBQ0E7QUFBQSxZQUNFLE1BQU07QUFBQSxZQUNOLG1CQUFtQjtBQUFBLFlBQ25CLGNBQWM7QUFBQSxZQUNkLDJCQUEyQjtBQUFBLFlBQzNCLGdDQUFnQztBQUFBLFlBQ2hDLG9CQUFvQjtBQUFBLFlBQ3BCLG1CQUFtQjtBQUFBLFVBQ3JCO0FBQUEsUUFDRjtBQUFBLFFBQ0Esc0NBQXNDO0FBQUEsTUFDeEM7QUFBQSxJQUNGO0FBQUEsSUFDQTtBQUFBLE1BQ0UsT0FBTyxRQUFRO0FBQUEsTUFDZixPQUFPO0FBQUEsUUFDTCxtQ0FBbUMsQ0FBQyxTQUFTO0FBQUEsVUFDM0MsaUNBQWlDO0FBQUEsVUFDakMsbUNBQW1DO0FBQUEsUUFDckMsQ0FBQztBQUFBLFFBQ0QscUNBQXFDO0FBQUEsTUFDdkM7QUFBQSxJQUNGO0FBQUEsSUFDQTtBQUFBLE1BQ0UsVUFBVTtBQUFBLFFBQ1IsT0FBTztBQUFBLFVBQ0wsU0FBUztBQUFBLFFBQ1g7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogWyJjb21tZW50c0NvbmZpZ3MiLCAiZXNsaW50IiwgImVzbGludFBsdWdpbkltcG9ydFhGbGF0Q29uZmlncyIsICJvYnNpZGlhbm1kIiwgImdsb2JhbHMiLCAicGVyZmVjdGlvbmlzdENvbmZpZ3MiLCAic3R5bGlzdGljIiwgInRzZXNsaW50Il0KfQo=
|
|
@@ -142,6 +142,7 @@ __export(eslint_rules_exports, {
|
|
|
142
142
|
"prefer-noop-async": () => prefer_noop_async,
|
|
143
143
|
"readonly-params-options-members": () => readonly_params_options_members,
|
|
144
144
|
"require-component-suffix": () => require_component_suffix,
|
|
145
|
+
"require-method-template": () => require_method_template,
|
|
145
146
|
"require-super-call": () => require_super_call,
|
|
146
147
|
"rule-tester-helper": () => rule_tester_helper
|
|
147
148
|
});
|
|
@@ -153,6 +154,7 @@ var params_options_name_match = __toESM(__extractDefault(require('./params-optio
|
|
|
153
154
|
var prefer_noop_async = __toESM(__extractDefault(require('./prefer-noop-async.cjs')), 1);
|
|
154
155
|
var readonly_params_options_members = __toESM(__extractDefault(require('./readonly-params-options-members.cjs')), 1);
|
|
155
156
|
var require_component_suffix = __toESM(__extractDefault(require('./require-component-suffix.cjs')), 1);
|
|
157
|
+
var require_method_template = __toESM(__extractDefault(require('./require-method-template.cjs')), 1);
|
|
156
158
|
var require_super_call = __toESM(__extractDefault(require('./require-super-call.cjs')), 1);
|
|
157
159
|
var rule_tester_helper = __toESM(__extractDefault(require('./rule-tester-helper.cjs')), 1);
|
|
158
160
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -164,7 +166,8 @@ var rule_tester_helper = __toESM(__extractDefault(require('./rule-tester-helper.
|
|
|
164
166
|
"prefer-noop-async": null,
|
|
165
167
|
"readonly-params-options-members": null,
|
|
166
168
|
"require-component-suffix": null,
|
|
169
|
+
"require-method-template": null,
|
|
167
170
|
"require-super-call": null,
|
|
168
171
|
"rule-tester-helper": null
|
|
169
172
|
});
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICduby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuJyBmcm9tICcuL25vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm4udHMnO1xuZXhwb3J0ICogYXMgJ25vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMnIGZyb20gJy4vbm8tdXNlZC11bmRlcnNjb3JlLXZhcmlhYmxlcy50cyc7XG5leHBvcnQgKiBhcyAnb2JzaWRpYW4tZGV2LXV0aWxzLXBsdWdpbicgZnJvbSAnLi9vYnNpZGlhbi1kZXYtdXRpbHMtcGx1Z2luLnRzJztcbmV4cG9ydCAqIGFzICdwYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoJyBmcm9tICcuL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2gudHMnO1xuZXhwb3J0ICogYXMgJ3ByZWZlci1ub29wLWFzeW5jJyBmcm9tICcuL3ByZWZlci1ub29wLWFzeW5jLnRzJztcbmV4cG9ydCAqIGFzICdyZWFkb25seS1wYXJhbXMtb3B0aW9ucy1tZW1iZXJzJyBmcm9tICcuL3JlYWRvbmx5LXBhcmFtcy1vcHRpb25zLW1lbWJlcnMudHMnO1xuZXhwb3J0ICogYXMgJ3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeCcgZnJvbSAnLi9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXgudHMnO1xuZXhwb3J0ICogYXMgJ3JlcXVpcmUtbWV0aG9kLXRlbXBsYXRlJyBmcm9tICcuL3JlcXVpcmUtbWV0aG9kLXRlbXBsYXRlLnRzJztcbmV4cG9ydCAqIGFzICdyZXF1aXJlLXN1cGVyLWNhbGwnIGZyb20gJy4vcmVxdWlyZS1zdXBlci1jYWxsLnRzJztcbmV4cG9ydCAqIGFzICdydWxlLXRlc3Rlci1oZWxwZXInIGZyb20gJy4vcnVsZS10ZXN0ZXItaGVscGVyLnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQSw4Q0FBQUE7QUFBQSxFQUFBLHNDQUFBQztBQUFBLEVBQUEsbUNBQUFDO0FBQUEsRUFBQSxtQ0FBQUM7QUFBQSxFQUFBLDJCQUFBQztBQUFBLEVBQUEseUNBQUFDO0FBQUEsRUFBQSxrQ0FBQUM7QUFBQSxFQUFBLGlDQUFBQztBQUFBLEVBQUEsNEJBQUFDO0FBQUEsRUFBQSw0QkFBQUM7QUFBQTtBQUFBO0FBRUEsSUFBQVQscUNBQXNEO0FBQ3RELElBQUFDLCtCQUFnRDtBQUNoRCxJQUFBQyw0QkFBNkM7QUFDN0MsSUFBQUMsNEJBQTZDO0FBQzdDLElBQUFDLG9CQUFxQztBQUNyQyxJQUFBQyxrQ0FBbUQ7QUFDbkQsSUFBQUMsMkJBQTRDO0FBQzVDLElBQUFDLDBCQUEyQztBQUMzQyxJQUFBQyxxQkFBc0M7QUFDdEMsSUFBQUMscUJBQXNDOyIsCiAgIm5hbWVzIjogWyJuby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuIiwgIm5vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXMiLCAib2JzaWRpYW4tZGV2LXV0aWxzLXBsdWdpbiIsICJwYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoIiwgInByZWZlci1ub29wLWFzeW5jIiwgInJlYWRvbmx5LXBhcmFtcy1vcHRpb25zLW1lbWJlcnMiLCAicmVxdWlyZS1jb21wb25lbnQtc3VmZml4IiwgInJlcXVpcmUtbWV0aG9kLXRlbXBsYXRlIiwgInJlcXVpcmUtc3VwZXItY2FsbCIsICJydWxlLXRlc3Rlci1oZWxwZXIiXQp9Cg==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference path="../../../library.d.cts" />
|
|
1
2
|
export * as 'no-async-callback-to-unsafe-return' from './no-async-callback-to-unsafe-return.cjs';
|
|
2
3
|
export * as 'no-used-underscore-variables' from './no-used-underscore-variables.cjs';
|
|
3
4
|
export * as 'obsidian-dev-utils-plugin' from './obsidian-dev-utils-plugin.cjs';
|
|
@@ -5,5 +6,6 @@ export * as 'params-options-name-match' from './params-options-name-match.cjs';
|
|
|
5
6
|
export * as 'prefer-noop-async' from './prefer-noop-async.cjs';
|
|
6
7
|
export * as 'readonly-params-options-members' from './readonly-params-options-members.cjs';
|
|
7
8
|
export * as 'require-component-suffix' from './require-component-suffix.cjs';
|
|
9
|
+
export * as 'require-method-template' from './require-method-template.cjs';
|
|
8
10
|
export * as 'require-super-call' from './require-super-call.cjs';
|
|
9
11
|
export * as 'rule-tester-helper' from './rule-tester-helper.cjs';
|