@cuby-ui/core 0.0.563 → 0.0.564
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/README.md +811 -811
- package/components/filter-bar/components/date-filter/date-filter.component.d.ts +1 -1
- package/components/notification/notification.component.d.ts +2 -2
- package/directives/tooltip/tooltip.component.d.ts +1 -1
- package/esm2022/animations/animations.mjs +1 -1
- package/esm2022/animations/index.mjs +1 -1
- package/esm2022/classes/accessors.mjs +1 -1
- package/esm2022/classes/driver.mjs +1 -1
- package/esm2022/classes/index.mjs +1 -1
- package/esm2022/classes/vehicle.mjs +1 -1
- package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/components/accordion/accordion-item/accordion-item.options.mjs +1 -1
- package/esm2022/components/accordion/accordion.component.mjs +3 -3
- package/esm2022/components/accordion/accordion.directive.mjs +1 -1
- package/esm2022/components/accordion/accordion.module.mjs +1 -1
- package/esm2022/components/accordion/index.mjs +1 -1
- package/esm2022/components/alert/alert.component.mjs +3 -3
- package/esm2022/components/alert/alert.interfaces.mjs +1 -1
- package/esm2022/components/alert/alert.module.mjs +1 -1
- package/esm2022/components/alert/alert.service.mjs +1 -1
- package/esm2022/components/alert/alert.tokens.mjs +1 -1
- package/esm2022/components/alert/alert.types.mjs +1 -1
- package/esm2022/components/alert/alerts.component.mjs +3 -3
- package/esm2022/components/alert/index.mjs +1 -1
- package/esm2022/components/alert-hint/alert-hint.component.mjs +3 -3
- package/esm2022/components/alert-hint/error-status.mjs +1 -1
- package/esm2022/components/alert-hint/index.mjs +1 -1
- package/esm2022/components/badge/badge.component.mjs +3 -3
- package/esm2022/components/badge/badge.module.mjs +1 -1
- package/esm2022/components/badge/badge.options.mjs +1 -1
- package/esm2022/components/badge/index.mjs +1 -1
- package/esm2022/components/banner/banner.component.mjs +3 -3
- package/esm2022/components/banner/banner.module.mjs +1 -1
- package/esm2022/components/banner/banner.options.mjs +1 -1
- package/esm2022/components/banner/index.mjs +1 -1
- package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
- package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +1 -1
- package/esm2022/components/breadcrumbs/index.mjs +1 -1
- package/esm2022/components/button/button.component.mjs +3 -3
- package/esm2022/components/button/button.module.mjs +1 -1
- package/esm2022/components/button/button.options.mjs +1 -1
- package/esm2022/components/button/index.mjs +1 -1
- package/esm2022/components/button-group/button-group.component.mjs +3 -3
- package/esm2022/components/button-group/button-group.module.mjs +1 -1
- package/esm2022/components/button-group/index.mjs +1 -1
- package/esm2022/components/card-wrapper/card-wrapper.component.mjs +3 -3
- package/esm2022/components/card-wrapper/index.mjs +1 -1
- package/esm2022/components/checkbox/checkbox.component.mjs +1 -1
- package/esm2022/components/checkbox/checkbox.module.mjs +1 -1
- package/esm2022/components/checkbox/index.mjs +1 -1
- package/esm2022/components/content-header/content-header.component.mjs +3 -3
- package/esm2022/components/content-header/index.mjs +1 -1
- package/esm2022/components/content-wrapper/content-wrapper.component.mjs +3 -3
- package/esm2022/components/content-wrapper/index.mjs +1 -1
- package/esm2022/components/context-menu/context-menu.component.mjs +3 -3
- package/esm2022/components/context-menu/context-menu.module.mjs +1 -1
- package/esm2022/components/context-menu/index.mjs +1 -1
- package/esm2022/components/date-range-calendar/date-range-calendar.component.mjs +3 -3
- package/esm2022/components/date-range-calendar/date-range-calendar.interfaces.mjs +1 -1
- package/esm2022/components/date-range-calendar/date-range-calendar.module.mjs +1 -1
- package/esm2022/components/date-range-calendar/index.mjs +1 -1
- package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +3 -3
- package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +3 -3
- package/esm2022/components/dialog/dialog.component.mjs +3 -3
- package/esm2022/components/dialog/dialog.interfaces.mjs +1 -1
- package/esm2022/components/dialog/dialog.module.mjs +1 -1
- package/esm2022/components/dialog/dialog.service.mjs +1 -1
- package/esm2022/components/dialog/dialog.tokens.mjs +1 -1
- package/esm2022/components/dialog/dialogs.component.mjs +3 -3
- package/esm2022/components/dialog/index.mjs +1 -1
- package/esm2022/components/dropdown/dropdown.interfaces.mjs +1 -1
- package/esm2022/components/dropdown/index.mjs +1 -1
- package/esm2022/components/empty-state/empty-state.component.mjs +3 -3
- package/esm2022/components/empty-state/index.mjs +1 -1
- package/esm2022/components/file-icon/file-icon.component.mjs +3 -3
- package/esm2022/components/file-icon/file-icon.options.mjs +1 -1
- package/esm2022/components/file-icon/index.mjs +1 -1
- package/esm2022/components/filter-bar/components/add-filter-button/add-filter-button.component.mjs +3 -3
- package/esm2022/components/filter-bar/components/date-filter/date-filter.component.mjs +3 -3
- package/esm2022/components/filter-bar/components/filter-remove-button/filter-remove-button.component.mjs +3 -3
- package/esm2022/components/filter-bar/components/index.mjs +1 -1
- package/esm2022/components/filter-bar/components/multiselect-filter/multiselect-filter.component.mjs +3 -3
- package/esm2022/components/filter-bar/components/range-filter/range-filter.component.mjs +3 -3
- package/esm2022/components/filter-bar/components/select-filter/select-filter.component.mjs +3 -3
- package/esm2022/components/filter-bar/components/string-filter/string-filter.component.mjs +3 -3
- package/esm2022/components/filter-bar/filter-bar.component.mjs +3 -3
- package/esm2022/components/filter-bar/filter-bar.interfaces.mjs +1 -1
- package/esm2022/components/filter-bar/filter-bar.module.mjs +1 -1
- package/esm2022/components/filter-bar/filter-bar.utils.mjs +1 -1
- package/esm2022/components/filter-bar/index.mjs +1 -1
- package/esm2022/components/form-field/form-field.component.mjs +3 -3
- package/esm2022/components/form-field/form-field.module.mjs +1 -1
- package/esm2022/components/form-field/index.mjs +1 -1
- package/esm2022/components/ghost-input/ghost-input.component.mjs +1 -1
- package/esm2022/components/ghost-input/index.mjs +1 -1
- package/esm2022/components/hint/hint.component.mjs +3 -3
- package/esm2022/components/hint/hint.module.mjs +1 -1
- package/esm2022/components/hint/index.mjs +1 -1
- package/esm2022/components/icon-button/icon-button.component.mjs +3 -3
- package/esm2022/components/icon-button/icon-button.module.mjs +1 -1
- package/esm2022/components/icon-button/index.mjs +1 -1
- package/esm2022/components/index.mjs +1 -1
- package/esm2022/components/input-number/index.mjs +1 -1
- package/esm2022/components/input-number/input-number.component.mjs +3 -3
- package/esm2022/components/input-number/input-number.module.mjs +1 -1
- package/esm2022/components/input-password/index.mjs +1 -1
- package/esm2022/components/input-password/input-password.component.mjs +3 -3
- package/esm2022/components/input-password/input-password.module.mjs +1 -1
- package/esm2022/components/input-text/index.mjs +1 -1
- package/esm2022/components/input-text/input-text.component.mjs +3 -3
- package/esm2022/components/input-text/input-text.module.mjs +1 -1
- package/esm2022/components/input-time/index.mjs +1 -1
- package/esm2022/components/input-time/input-time.component.mjs +3 -3
- package/esm2022/components/input-time/input-time.module.mjs +1 -1
- package/esm2022/components/input-time/input-time.options.mjs +1 -1
- package/esm2022/components/label/index.mjs +1 -1
- package/esm2022/components/label/label.component.mjs +3 -3
- package/esm2022/components/label/label.module.mjs +1 -1
- package/esm2022/components/layout/index.mjs +1 -1
- package/esm2022/components/layout/layout.component.mjs +3 -3
- package/esm2022/components/letter-box/index.mjs +1 -1
- package/esm2022/components/letter-box/letter-box.component.mjs +3 -3
- package/esm2022/components/letter-box/letter-box.interfaces.mjs +1 -1
- package/esm2022/components/notification/index.mjs +1 -1
- package/esm2022/components/notification/notification.component.mjs +3 -3
- package/esm2022/components/notification/notification.module.mjs +1 -1
- package/esm2022/components/notification/notification.options.mjs +1 -1
- package/esm2022/components/options-button/index.mjs +1 -1
- package/esm2022/components/options-button/options-button.component.mjs +3 -3
- package/esm2022/components/radio/index.mjs +1 -1
- package/esm2022/components/radio/radio.component.mjs +1 -1
- package/esm2022/components/radio/radio.module.mjs +1 -1
- package/esm2022/components/render-dynamic-components/index.mjs +1 -1
- package/esm2022/components/render-dynamic-components/render-dynamic-components.component.mjs +3 -3
- package/esm2022/components/render-dynamic-components/render-dynamic-components.options.mjs +1 -1
- package/esm2022/components/render-dynamic-components/render-dynamic-components.service.mjs +1 -1
- package/esm2022/components/root/index.mjs +1 -1
- package/esm2022/components/root/root.component.mjs +3 -3
- package/esm2022/components/root/root.module.mjs +1 -1
- package/esm2022/components/root/root.options.mjs +1 -1
- package/esm2022/components/select/index.mjs +1 -1
- package/esm2022/components/select/select.component.mjs +3 -3
- package/esm2022/components/select/select.module.mjs +1 -1
- package/esm2022/components/sidebar/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-container/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-container/sidebar-container.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-header/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-navigation/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-navigation/sidebar-navigation.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-navigation-container/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-navigation-container/sidebar-navigation-container.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-navigation-item/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar.options.mjs +1 -1
- package/esm2022/components/sidebar/sidebar.service.mjs +1 -1
- package/esm2022/components/svg/index.mjs +1 -1
- package/esm2022/components/svg/svg.component.mjs +3 -3
- package/esm2022/components/svg/svg.module.mjs +1 -1
- package/esm2022/components/tab/index.mjs +1 -1
- package/esm2022/components/tab/tab.component.mjs +1 -1
- package/esm2022/components/tabs/components/abstract-tabs/abstract-tabs.component.mjs +3 -3
- package/esm2022/components/tabs/components/abstract-tabs/index.mjs +1 -1
- package/esm2022/components/tabs/components/index.mjs +1 -1
- package/esm2022/components/tabs/index.mjs +1 -1
- package/esm2022/components/tabs/services/index.mjs +1 -1
- package/esm2022/components/tabs/services/tabs.service.mjs +1 -1
- package/esm2022/components/tabs/tabs.component.mjs +3 -3
- package/esm2022/components/tabs/tabs.options.mjs +1 -1
- package/esm2022/components/tabs/tabs.provider.mjs +1 -1
- package/esm2022/components/textarea/index.mjs +1 -1
- package/esm2022/components/textarea/textarea.component.mjs +1 -1
- package/esm2022/components/textarea/textarea.module.mjs +1 -1
- package/esm2022/components/toggle/index.mjs +1 -1
- package/esm2022/components/toggle/toggle.component.mjs +1 -1
- package/esm2022/components/toggle/toggle.module.mjs +1 -1
- package/esm2022/directives/index.mjs +1 -1
- package/esm2022/directives/skeleton/constants/fade.const.mjs +1 -1
- package/esm2022/directives/skeleton/constants/index.mjs +1 -1
- package/esm2022/directives/skeleton/constants/max-placeholder-length-limiter.const.mjs +1 -1
- package/esm2022/directives/skeleton/constants/min-placeholder-length-limiter.const.mjs +1 -1
- package/esm2022/directives/skeleton/index.mjs +1 -1
- package/esm2022/directives/skeleton/skeleton.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/index.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-icon-left.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-id.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-is-error.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-placeholder.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-size.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field.controller.mjs +1 -1
- package/esm2022/directives/tooltip/index.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-host.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-options.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-position.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip.component.mjs +13 -13
- package/esm2022/directives/tooltip/tooltip.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip.providers.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip.service.mjs +1 -1
- package/esm2022/directives/tooltip/tooltips.component.mjs +3 -3
- package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.component.mjs +3 -3
- package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.options.mjs +1 -1
- package/esm2022/editor/components/marker-modal/marker-modal.component.mjs +3 -3
- package/esm2022/editor/components/marker-select/component/select-item/select-option.component.mjs +3 -3
- package/esm2022/editor/components/marker-select/marker-select.component.mjs +3 -3
- package/esm2022/editor/config/custom-elements.mjs +1 -1
- package/esm2022/editor/editor.component.mjs +25 -9
- package/esm2022/editor/interfaces/angular-element.mjs +1 -1
- package/esm2022/editor/interfaces/chunk-descriptor.mjs +1 -1
- package/esm2022/editor/interfaces/custom-element.mjs +1 -1
- package/esm2022/editor/interfaces/editor-service.mjs +1 -1
- package/esm2022/editor/providers/index.mjs +1 -1
- package/esm2022/editor/services/editor.service.mjs +3 -3
- package/esm2022/editor/tools/combined-text-block.tool.mjs +2 -2
- package/esm2022/editor/tools/role-marker.tool.mjs +3 -3
- package/esm2022/editor/tools/tool-marker.tool.mjs +1 -1
- package/esm2022/editor/utils/copy-text-to-clipboard.mjs +1 -1
- package/esm2022/editor/utils/create-tools-data.mjs +1 -1
- package/esm2022/editor/utils/merge-small-chunks.mjs +1 -1
- package/esm2022/editor/utils/open-file-in-browser.mjs +1 -1
- package/esm2022/editor/utils/preset-config-token.mjs +1 -1
- package/esm2022/editor/utils/set-loading.mjs +1 -1
- package/esm2022/editor/utils/url.validator.mjs +1 -1
- package/esm2022/editor/widgets/editor-block/editor-block.component.mjs +3 -3
- package/esm2022/editor/widgets/editor-modal/editor-modal.component.mjs +3 -3
- package/esm2022/editor/widgets/editor-modal/index.mjs +1 -1
- package/esm2022/editor/widgets/editor-readonly/editor-readonly.options.mjs +1 -1
- package/esm2022/editor/widgets/editor-readonly/editor-resize-observer.directive.mjs +1 -1
- package/esm2022/editor/widgets/index.mjs +1 -1
- package/esm2022/i18n/index.mjs +1 -1
- package/esm2022/index.mjs +1 -1
- package/esm2022/interceptors/auth.interceptor.mjs +1 -1
- package/esm2022/interceptors/error-handler.interceptor.mjs +1 -1
- package/esm2022/interceptors/sse-stream-reader.interceptor.mjs +1 -1
- package/esm2022/interceptors/x-ndjson.interceptor.mjs +1 -1
- package/esm2022/interfaces/context-menu-item.mjs +1 -1
- package/esm2022/interfaces/error-notification-service.mjs +1 -1
- package/esm2022/interfaces/error-stategy.mjs +1 -1
- package/esm2022/interfaces/image.mjs +1 -1
- package/esm2022/interfaces/index.mjs +1 -1
- package/esm2022/interfaces/option.mjs +1 -1
- package/esm2022/operators/handle-error.mjs +1 -1
- package/esm2022/operators/index.mjs +1 -1
- package/esm2022/pipes/index.mjs +1 -1
- package/esm2022/pipes/time.pipe.mjs +1 -1
- package/esm2022/providers/auth.options.mjs +1 -1
- package/esm2022/providers/auth.provider.mjs +1 -1
- package/esm2022/providers/error-handler.options.mjs +1 -1
- package/esm2022/providers/error-handler.provider.mjs +1 -1
- package/esm2022/providers/index.mjs +1 -1
- package/esm2022/services/auth.service.mjs +1 -1
- package/esm2022/services/browser-auth.service.mjs +1 -1
- package/esm2022/services/error-resolver-factory.service.mjs +1 -1
- package/esm2022/services/global-handler-error.service.mjs +1 -1
- package/esm2022/services/hybrid-storage.service.mjs +1 -1
- package/esm2022/services/index.mjs +1 -1
- package/esm2022/services/loader.options.mjs +1 -1
- package/esm2022/services/mobile-auth.service.mjs +1 -1
- package/esm2022/services/position.service.mjs +1 -1
- package/esm2022/services/theme.options.mjs +1 -1
- package/esm2022/services/theme.service.mjs +1 -1
- package/esm2022/services/token.options.mjs +1 -1
- package/esm2022/services/token.service.mjs +1 -1
- package/esm2022/services/visual-viewport.service.mjs +1 -1
- package/esm2022/tokens/animations-speed.mjs +1 -1
- package/esm2022/tokens/error-notification-service.mjs +1 -1
- package/esm2022/tokens/error-translation-prefix.mjs +1 -1
- package/esm2022/tokens/index.mjs +1 -1
- package/esm2022/tokens/reduced-motion.mjs +1 -1
- package/esm2022/tokens/should-handle-error.mjs +1 -1
- package/esm2022/tokens/viewport.mjs +1 -1
- package/esm2022/types/appearance.mjs +1 -1
- package/esm2022/types/button-theme.mjs +1 -1
- package/esm2022/types/hint-type.mjs +1 -1
- package/esm2022/types/index.mjs +1 -1
- package/esm2022/types/point.mjs +1 -1
- package/esm2022/types/portal-item.mjs +1 -1
- package/esm2022/types/position.mjs +1 -1
- package/esm2022/types/resizing.mjs +1 -1
- package/esm2022/types/shape.mjs +1 -1
- package/esm2022/types/should-handle-error.type.mjs +1 -1
- package/esm2022/types/size.mjs +1 -1
- package/esm2022/types/status.mjs +1 -1
- package/esm2022/utils/check-fixed-position.mjs +1 -1
- package/esm2022/utils/default-validators/create-default-validators.mjs +1 -1
- package/esm2022/utils/default-validators/create-default-validators.options.mjs +1 -1
- package/esm2022/utils/default-validators/extra-spaces.options.mjs +1 -1
- package/esm2022/utils/default-validators/extra-spaces.validators.mjs +1 -1
- package/esm2022/utils/default-validators/index.mjs +1 -1
- package/esm2022/utils/format/index.mjs +1 -1
- package/esm2022/utils/format/remove-spaces.mjs +1 -1
- package/esm2022/utils/format/replace.mjs +1 -1
- package/esm2022/utils/index.mjs +1 -1
- package/esm2022/utils/miscellaneous/index.mjs +1 -1
- package/esm2022/utils/miscellaneous/is-obscured.mjs +1 -1
- package/esm2022/utils/miscellaneous/override-options.mjs +1 -1
- package/esm2022/utils/miscellaneous/to-animation-options.mjs +1 -1
- package/esm2022/widgets/assets/constants/index.mjs +1 -1
- package/esm2022/widgets/assets/constants/translations.mjs +1 -1
- package/esm2022/widgets/assets/index.mjs +1 -1
- package/esm2022/widgets/index.mjs +1 -1
- package/esm2022/widgets/model/index.mjs +1 -1
- package/esm2022/widgets/model/loader.options.mjs +1 -1
- package/esm2022/widgets/model/resource-state-service.interface.mjs +1 -1
- package/esm2022/widgets/model/resource-state-service.token.mjs +1 -1
- package/esm2022/widgets/model/resources-block.options.mjs +1 -1
- package/esm2022/widgets/model/subject-modal-service.interface.mjs +1 -1
- package/esm2022/widgets/model/subject-modal-service.token.mjs +1 -1
- package/esm2022/widgets/model/used-elements-service.interface.mjs +1 -1
- package/esm2022/widgets/model/used-elements-service.token.mjs +1 -1
- package/esm2022/widgets/model/utility-service.interface.mjs +1 -1
- package/esm2022/widgets/model/utility-service.token.mjs +1 -1
- package/esm2022/widgets/service/index.mjs +1 -1
- package/esm2022/widgets/service/resource-state-base.service.mjs +1 -1
- package/esm2022/widgets/service/subject-modal-base.service.mjs +1 -1
- package/esm2022/widgets/service/used-elements-base.service.mjs +1 -1
- package/esm2022/widgets/service/utility-base.service.mjs +1 -1
- package/esm2022/widgets/ui/assignee-role-item/assignee-role-item.component.mjs +3 -3
- package/esm2022/widgets/ui/assignee-role-item/index.mjs +1 -1
- package/esm2022/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.mjs +3 -3
- package/esm2022/widgets/ui/assignee-roles-tabs/index.mjs +1 -1
- package/esm2022/widgets/ui/button-change-theme/button-change-theme.component.mjs +3 -3
- package/esm2022/widgets/ui/button-change-theme/index.mjs +1 -1
- package/esm2022/widgets/ui/categories/categories.component.mjs +3 -3
- package/esm2022/widgets/ui/categories/components/categories-list/categories-list.component.mjs +3 -3
- package/esm2022/widgets/ui/categories/components/categories-list/index.mjs +1 -1
- package/esm2022/widgets/ui/categories/components/category-form/category-form.component.mjs +3 -3
- package/esm2022/widgets/ui/categories/components/category-form/index.mjs +1 -1
- package/esm2022/widgets/ui/categories/components/category-item/category-item.component.mjs +3 -3
- package/esm2022/widgets/ui/categories/components/category-item/index.mjs +1 -1
- package/esm2022/widgets/ui/categories/components/create-category-item/create-category-item.component.mjs +3 -3
- package/esm2022/widgets/ui/categories/components/create-category-item/index.mjs +1 -1
- package/esm2022/widgets/ui/categories/components/index.mjs +1 -1
- package/esm2022/widgets/ui/categories/index.mjs +1 -1
- package/esm2022/widgets/ui/categories/services/index.mjs +1 -1
- package/esm2022/widgets/ui/categories/services/selected-category.service.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/checklist-block.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/checklist-block.options.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.mjs +3 -3
- package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/components/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/index.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/services/checklist-block.service.mjs +1 -1
- package/esm2022/widgets/ui/checklist-block/services/index.mjs +1 -1
- package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.mjs +3 -3
- package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.mjs +1 -1
- package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/index.mjs +1 -1
- package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.mjs +3 -3
- package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.mjs +1 -1
- package/esm2022/widgets/ui/consumable-form/components/index.mjs +1 -1
- package/esm2022/widgets/ui/consumable-form/consumable-form.component.mjs +3 -3
- package/esm2022/widgets/ui/consumable-form/consumable-form.options.mjs +1 -1
- package/esm2022/widgets/ui/consumable-form/index.mjs +1 -1
- package/esm2022/widgets/ui/criterion-info/criterion-info.component.mjs +3 -3
- package/esm2022/widgets/ui/criterion-info/index.mjs +1 -1
- package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.component.mjs +3 -3
- package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.options.mjs +1 -1
- package/esm2022/widgets/ui/criterion-info-form/index.mjs +1 -1
- package/esm2022/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.mjs +3 -3
- package/esm2022/widgets/ui/criterion-readonly-info/index.mjs +1 -1
- package/esm2022/widgets/ui/delete-modal/delete-modal.component.mjs +3 -3
- package/esm2022/widgets/ui/delete-modal/delete-modal.options.mjs +1 -1
- package/esm2022/widgets/ui/delete-modal/index.mjs +1 -1
- package/esm2022/widgets/ui/framer-preview/framer-preview.component.mjs +3 -3
- package/esm2022/widgets/ui/framer-preview/framer-preview.options.mjs +1 -1
- package/esm2022/widgets/ui/framer-preview/index.mjs +1 -1
- package/esm2022/widgets/ui/general-control-error-hint/general-control-error-hint.component.mjs +3 -3
- package/esm2022/widgets/ui/general-control-error-hint/index.mjs +1 -1
- package/esm2022/widgets/ui/index.mjs +1 -1
- package/esm2022/widgets/ui/inserted/index.mjs +1 -1
- package/esm2022/widgets/ui/inserted/inserted.component.mjs +3 -3
- package/esm2022/widgets/ui/instruction-info/index.mjs +1 -1
- package/esm2022/widgets/ui/instruction-info/instruction-info.component.mjs +3 -3
- package/esm2022/widgets/ui/instruction-info-form/index.mjs +1 -1
- package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.component.mjs +3 -3
- package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.options.mjs +1 -1
- package/esm2022/widgets/ui/instruction-readonly-info/index.mjs +1 -1
- package/esm2022/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.mjs +3 -3
- package/esm2022/widgets/ui/loader/components/circle-loader/circle-loader.component.mjs +3 -3
- package/esm2022/widgets/ui/loader/components/circle-loader/index.mjs +1 -1
- package/esm2022/widgets/ui/loader/components/index.mjs +1 -1
- package/esm2022/widgets/ui/loader/components/linear-loader/index.mjs +1 -1
- package/esm2022/widgets/ui/loader/components/linear-loader/linear-loader.component.mjs +3 -3
- package/esm2022/widgets/ui/loader/components/pulse-loader/index.mjs +1 -1
- package/esm2022/widgets/ui/loader/components/pulse-loader/pulse-loader.component.mjs +3 -3
- package/esm2022/widgets/ui/loader/components/stated-loader/index.mjs +1 -1
- package/esm2022/widgets/ui/loader/components/stated-loader/stated-loader.component.mjs +3 -3
- package/esm2022/widgets/ui/loader/index.mjs +1 -1
- package/esm2022/widgets/ui/loader/loader.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-criteria-tab/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-divided-section/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.interfaces.mjs +1 -1
- package/esm2022/widgets/ui/modal-header/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-header/modal-header.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-header-inserted-buttons/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-header-tabs/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-header-tabs/modal-header-tabs.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-info-tab/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.options.mjs +1 -1
- package/esm2022/widgets/ui/modal-instructions-tab/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-operation-part/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-operation-part/modal-operation-part.component.mjs +3 -3
- package/esm2022/widgets/ui/modal-resources-tab/index.mjs +1 -1
- package/esm2022/widgets/ui/modal-resources-tab/modal-resources-tab.component.mjs +3 -3
- package/esm2022/widgets/ui/render-dynamic-modal/index.mjs +1 -1
- package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.mjs +3 -3
- package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.mjs +3 -3
- package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-content/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.mjs +3 -3
- package/esm2022/widgets/ui/resources-block/components/resources-block-part/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.mjs +3 -3
- package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.mjs +3 -3
- package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.mjs +3 -3
- package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-options/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/components/resources-options/resources-options.component.mjs +3 -3
- package/esm2022/widgets/ui/resources-block/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block/resources-block.component.mjs +3 -3
- package/esm2022/widgets/ui/resources-block-tabs/index.mjs +1 -1
- package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.component.mjs +3 -3
- package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.options.mjs +1 -1
- package/esm2022/widgets/ui/select-modal/components/index.mjs +1 -1
- package/esm2022/widgets/ui/select-modal/components/select-modal-folder/index.mjs +1 -1
- package/esm2022/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.mjs +3 -3
- package/esm2022/widgets/ui/select-modal/components/select-modal-search/index.mjs +1 -1
- package/esm2022/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.mjs +3 -3
- package/esm2022/widgets/ui/select-modal/index.mjs +1 -1
- package/esm2022/widgets/ui/select-modal/select-modal.component.mjs +3 -3
- package/esm2022/widgets/ui/select-modal/select-modal.interfaces.mjs +1 -1
- package/esm2022/widgets/ui/select-modal/select-modal.service.mjs +1 -1
- package/esm2022/widgets/ui/storage-list/components/index.mjs +1 -1
- package/esm2022/widgets/ui/storage-list/components/storage-list-item/index.mjs +1 -1
- package/esm2022/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.mjs +3 -3
- package/esm2022/widgets/ui/storage-list/index.mjs +1 -1
- package/esm2022/widgets/ui/storage-list/storage-list.component.mjs +3 -3
- package/esm2022/widgets/ui/storage-list/storage-list.options.mjs +1 -1
- package/esm2022/widgets/ui/toolbox-form/components/index.mjs +1 -1
- package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/index.mjs +1 -1
- package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.mjs +3 -3
- package/esm2022/widgets/ui/toolbox-form/index.mjs +1 -1
- package/esm2022/widgets/ui/toolbox-form/tool-form.component.mjs +3 -3
- package/esm2022/widgets/ui/toolbox-form/tool-form.options.mjs +1 -1
- package/esm2022/widgets/ui/user-action-context-menu/activity-item/activity-item.component.mjs +3 -3
- package/esm2022/widgets/ui/user-action-context-menu/activity-item/index.mjs +1 -1
- package/esm2022/widgets/ui/user-action-context-menu/company-item/company-item.component.mjs +3 -3
- package/esm2022/widgets/ui/user-action-context-menu/company-item/index.mjs +1 -1
- package/esm2022/widgets/ui/user-action-context-menu/index.mjs +1 -1
- package/esm2022/widgets/ui/user-action-context-menu/services/activity-base.service.mjs +1 -1
- package/esm2022/widgets/ui/user-action-context-menu/services/activity.service.mjs +1 -1
- package/esm2022/widgets/ui/user-action-context-menu/services/index.mjs +1 -1
- package/esm2022/widgets/ui/user-action-context-menu/user-action-context-menu.component.mjs +3 -3
- package/esm2022/widgets/ui/user-action-context-menu/user-action-context.option.mjs +1 -1
- package/esm2022/widgets/ui/utility-info-readonly/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.options.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/components/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-modal/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-modal/utility-modal.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-modal/utility-modal.options.mjs +1 -1
- package/esm2022/widgets/ui/utility-readonly-thumbnail/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +3 -3
- package/esm2022/widgets/ui/utility-thumbnail/index.mjs +1 -1
- package/esm2022/widgets/ui/utility-thumbnail/utility-thumbnail.component.mjs +3 -3
- package/fesm2022/cuby-ui-core.mjs +306 -290
- package/fesm2022/cuby-ui-core.mjs.map +1 -1
- package/fonts/Inter-Bold.svg +25443 -25443
- package/fonts/Inter-Medium.svg +25400 -25400
- package/fonts/Inter-Regular.svg +24341 -24341
- package/fonts/Inter-SemiBold.svg +25459 -25459
- package/fonts/Nunito-ExtraBoldItalic.svg +9508 -9508
- package/package.json +4 -4
- package/providers/auth.options.d.ts +1 -1
- package/styles/direcive/flex-container.scss +3 -3
- package/styles/fonts.scss +69 -69
- package/styles/global.scss +10 -10
- package/styles/mixins/buttons.scss +13 -13
- package/styles/mixins/flex.scss +10 -10
- package/styles/mixins/headings.scss +115 -115
- package/styles/mixins/inputs.scss +101 -101
- package/styles/mixins/lists.scss +41 -41
- package/styles/mixins/paddings.scss +35 -35
- package/styles/mixins/shadows.scss +42 -42
- package/styles/mixins/texts.scss +224 -224
- package/styles/theme.scss +608 -608
- package/styles/variables/colors.scss +396 -396
- package/styles/variables/fonts.scss +2 -2
- package/widgets/ui/user-action-context-menu/activity-item/activity-item.component.d.ts +1 -1
|
@@ -427,7 +427,7 @@ export class CuiCombinedTextBlockTool {
|
|
|
427
427
|
return;
|
|
428
428
|
}
|
|
429
429
|
const item = this.wrapper.children.item(0);
|
|
430
|
-
const isItemEmpty = !item
|
|
430
|
+
const isItemEmpty = !item?.textContent?.length;
|
|
431
431
|
this.wrapper.dataset['empty'] = `${isItemEmpty}`;
|
|
432
432
|
}
|
|
433
433
|
getPlaceholder(config) {
|
|
@@ -437,4 +437,4 @@ export class CuiCombinedTextBlockTool {
|
|
|
437
437
|
return config.placeholder ?? DEFAULT_PLACEHOLDER;
|
|
438
438
|
}
|
|
439
439
|
}
|
|
440
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtdGV4dC1ibG9jay50b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvdG9vbHMvY29tYmluZWQtdGV4dC1ibG9jay50b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNuQixNQUFNLGNBQWMsQ0FBQztBQU90QixPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuRSxNQUFNLE9BQU8sd0JBQXdCO0lBc0JqQyxZQUFZLE9BQWdCO1FBckJYLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFDYixrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFDOUIsK0JBQTBCLEdBQUcsbUJBQW1CLENBQUM7UUFFakQsbUJBQWMsR0FBRztZQUM5QixPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLElBQUk7U0FDdEIsQ0FBQztRQVFlLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTdCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQW1LbEIsd0JBQW1CLEdBQUcsQ0FBQyxJQUFZLEVBQXVCLEVBQUU7WUFDekUsSUFBSSxTQUFTLEdBQStDLElBQUksQ0FBQztZQUVqRSxPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNaLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztnQkFFRCxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxl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QWMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV0RyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRWhFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ2pGLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztRQUMxRCxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO1FBRTlDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsV0FBVyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFrQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLE1BQU0sQ0FBQyxtQkFBbUIsSUFBSSw0QkFBNEIsQ0FBQztRQUN0RSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxJQUFJLG1CQUFtQixDQUFDO0lBQ3JELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgdHlwZSB7IEFQSSwgQmxvY2tUb29sLCBCbG9ja1Rvb2xDb25zdHJ1Y3Rvck9wdGlvbnMsIFRvb2xDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuXG5pbXBvcnQge1xuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0ssXG4gICAgQ09NQklORURfVEVYVF9CTE9DS19BRERFRCxcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX05BTUUsXG4gICAgQ09NQklORURfVEVYVF9CTE9DS19QQVJULFxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfUkVNT1ZFRCxcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1VQREFURUQsXG4gICAgREVGQVVMVF9QTEFDRUhPTERFUixcbiAgICBERUZBVUxUX1JFQURPTkxZX1BMQUNFSE9MREVSLFxuICAgIFNQTElUX01BWF9MRU5HVEhcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtcbiAgICBDdWlDb21iaW5lZEJsb2NrVG9vbERhdGEsXG4gICAgQ3VpQ29tYmluZWRQYXJ0QmxvY2ssXG4gICAgQ3VpTXV0YXRpb25BY3Rpb25zLFxuICAgIEN1aU11dGF0aW9uQ2FsbGJhY2tcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUlkLCBtZXJnZVNtYWxsQ2h1bmtzLCBzcGxpdEhUTUwgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBDdWlDb21iaW5lZFRleHRCbG9ja1Rvb2wgaW1wbGVtZW50cyBCbG9ja1Rvb2wge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgVEFHID0gJ3NwYW4nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgREVCT1VOQ0VfVElNRSA9IDM1MDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IE1BWF9DSElMRF9DT1VOVF9GT1JfRU1QVFkgPSAxO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgUExBQ0VIT0xERVJfQVRUUklCVVRFX05BTUUgPSAncGxhY2Vob2xkZXJBY3RpdmUnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBtdXRhdGlvbkNvbmZpZyA9IHtcbiAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXG4gICAgfTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwaTogQVBJO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YTogQ3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBwcml2YXRlIHdyYXBwZXI/OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIG9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcbiAgICBwcml2YXRlIGxhc3RCbG9ja0VsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZXMgPSBuZXcgTWFwKCk7XG5cbiAgICBwcml2YXRlIHNraXBOZXh0VXBkYXRlRW1pdCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogdW5rbm93bikge1xuICAgICAgICBjb25zdCBib2R5ID0gb3B0aW9ucyBhcyBCbG9ja1Rvb2xDb25zdHJ1Y3Rvck9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBib2R5LmRhdGE7XG5cbiAgICAgICAgdGhpcy5yZWFkT25seSA9IGJvZHkucmVhZE9ubHk7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLmdldFBsYWNlaG9sZGVyKGJvZHkuY29uZmlnKTtcbiAgICAgICAgdGhpcy5hcGkgPSBib2R5LmFwaTtcbiAgICAgICAgdGhpcy5kYXRhID0ge1xuICAgICAgICAgICAgaWQ6IGRhdGEuaWQgfHwgZ2VuZXJhdGVJZCgpLFxuICAgICAgICAgICAgdGV4dEJsb2NrczogZGF0YS50ZXh0QmxvY2tzIHx8IFtdXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5jb252ZXJ0RGVmYXVsdERhdGFUb0N1c3RvbShkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzUmVhZE9ubHlTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGVuYWJsZUxpbmVCcmVha3MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCB0b29sYm94KCk6IHsgaWNvbjogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWNvbjogJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk04IDlWNy4yQzggNy4wODk1NCA4LjA4OTU0IDcgOC4yIDdMMTIgN00xNiA5VjcuMkMxNiA3LjA4OTU0IDE1LjkxMDUgNyAxNS44IDdMMTIgN00xMiA3TDEyIDE3TTEyIDE3SDEwTTEyIDE3SDE0XCI+PC9wYXRoPjwvc3ZnPicsXG4gICAgICAgICAgICB0aXRsZTogJ1RleHQnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgcGFzdGVDb25maWcoKTogb2JqZWN0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhZ3M6IFsnUCddXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIG9uUGFzdGUoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC50eXBlICE9PSAndGFnJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGV4dCA9IGV2ZW50LmRldGFpbC5kYXRhLnRleHRDb250ZW50O1xuICAgICAgICBjb25zdCBsYXN0QmxvY2tJbmRleCA9IHRoaXMuZGF0YS50ZXh0QmxvY2tzLmxlbmd0aCAtIDE7XG4gICAgICAgIGNvbnN0IGxhc3RCbG9jayA9IHRoaXMuZGF0YS50ZXh0QmxvY2tzW2xhc3RCbG9ja0luZGV4XTtcbiAgICAgICAgY29uc3QgYmxvY2tJZCA9IGxhc3RCbG9jaz8uaWQgfHwgZ2VuZXJhdGVJZCgpO1xuXG4gICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnNwbGljZShsYXN0QmxvY2tJbmRleCwgMSwgdGhpcy5nZXRCbG9ja1BhcnRPYmplY3QoYmxvY2tJZCwgdGV4dCkpO1xuXG4gICAgICAgIHRoaXMuc2tpcE5leHRVcGRhdGVFbWl0ID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUV4aXN0aW5nQmxvY2soYmxvY2tJZCwgdGV4dCwgQm9vbGVhbihsYXN0QmxvY2s/LmlkKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbmRlcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHRoaXMud3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLndyYXBwZXIuY2xhc3NMaXN0LmFkZChDT01CSU5FRF9URVhUX0JMT0NLKTtcbiAgICAgICAgdGhpcy53cmFwcGVyLmRhdGFzZXRbdGhpcy5QTEFDRUhPTERFUl9BVFRSSUJVVEVfTkFNRV0gPSB0aGlzLmFwaS5pMThuLnQodGhpcy5wbGFjZWhvbGRlcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXIuY29udGVudEVkaXRhYmxlID0gJ3RydWUnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNFbXB0eUJsb2NrID0gIXRoaXMuZGF0YS50ZXh0QmxvY2tzLmxlbmd0aDtcblxuICAgICAgICBpZiAoaXNFbXB0eUJsb2NrKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2Nrcy5wdXNoKHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KGdlbmVyYXRlSWQoKSwgJycpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVuZGVyQmxvY2tzKHRoaXMuZGF0YS50ZXh0QmxvY2tzKTtcbiAgICAgICAgdGhpcy5jaGVja0lzRWRpdG9yRW1wdHkoKTtcblxuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrID0gdGhpcy5nZXRNdXRhdGlvbkNhbGxiYWNrKHRoaXMuREVCT1VOQ0VfVElNRSk7XG5cbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLm9uTXV0YXRpb25FdmVudC5iaW5kKHRoaXMsIGNhbGxiYWNrKSk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy53cmFwcGVyLCB0aGlzLm11dGF0aW9uQ29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLndyYXBwZXI7XG4gICAgfVxuXG4gICAgcHVibGljIG1lcmdlKGJsb2Nrc0RhdGE6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBibG9ja3NUZXh0Q29udGVudCA9ICcnO1xuICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2NrcyA9IFtdO1xuXG4gICAgICAgIGJsb2Nrc0RhdGEuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGJsb2Nrc1RleHRDb250ZW50ICs9IGJsb2NrLmRhdGEudGV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLndyYXBwZXIuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMud3JhcHBlci5jaGlsZE5vZGVzLml0ZW0oaSk7XG5cbiAgICAgICAgICAgIGlmICghKG5vZGUgaW5zdGFuY2VvZiBIVE1MU3BhbkVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpLS07XG4gICAgICAgICAgICBibG9ja3NUZXh0Q29udGVudCA9IG5vZGUuaW5uZXJIVE1MICsgYmxvY2tzVGV4dENvbnRlbnQ7XG4gICAgICAgICAgICBub2RlLnJlbW92ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFydHMgPSBibG9ja3NUZXh0Q29udGVudC5sZW5ndGggPCBTUExJVF9NQVhfTEVOR1RIID8gW2Jsb2Nrc1RleHRDb250ZW50XSA6IHNwbGl0SFRNTChibG9ja3NUZXh0Q29udGVudCk7XG5cbiAgICAgICAgcGFydHMuZm9yRWFjaCgocGFydDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja09iamVjdCA9IHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KGdlbmVyYXRlSWQoKSwgcGFydCk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnB1c2goYmxvY2tPYmplY3QpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlbmRlckJsb2Nrcyh0aGlzLmRhdGEudGV4dEJsb2Nrcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmUoYmxvY2tDb250ZW50OiBIVE1MRWxlbWVudCk6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10ge1xuICAgICAgICBjb25zdCB0ZXh0QmxvY2tzOiBDdWlDb21iaW5lZFBhcnRCbG9ja1tdID0gW107XG5cbiAgICAgICAgYmxvY2tDb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5UQUcpLmZvckVhY2goKHNwYW46IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICB0ZXh0QmxvY2tzLnB1c2godGhpcy5nZXRCbG9ja1BhcnRPYmplY3Qoc3Bhbi5kYXRhc2V0Wydsb2NhbElkJ10hLCBzcGFuLmlubmVySFRNTCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGV4dEJsb2NrcztcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IGJsb2NrSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3MuZm9yRWFjaCgoYmxvY2s6IEN1aUNvbWJpbmVkUGFydEJsb2NrKSA9PiB7XG4gICAgICAgICAgICBibG9ja0lkcy5hZGQoYmxvY2suaWQgfHwgJycpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlbW92ZUJsb2NrcyhibG9ja0lkcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbk11dGF0aW9uRXZlbnQoY2FsbGJhY2s6IChtdXRhdGlvbkxpc3Q6IE11dGF0aW9uUmVjb3JkW10pID0+IHZvaWQsIG11dGF0aW9uTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgICAgICBpZiAobXV0YXRpb25MaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbXV0YXRpb25MaXN0LmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICAgICAgICBpZiAobXV0YXRpb24ucmVtb3ZlZE5vZGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlcy5zZXQoZ2VuZXJhdGVJZCgpLCBtdXRhdGlvbik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlcy5zZXQobXV0YXRpb24udGFyZ2V0LCBtdXRhdGlvbik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbGxiYWNrKG11dGF0aW9uTGlzdCk7XG4gICAgICAgIHRoaXMuY2hlY2tJc0VkaXRvckVtcHR5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXRNdXRhdGlvbkNhbGxiYWNrID0gKHdhaXQ6IG51bWJlcik6IEN1aU11dGF0aW9uQ2FsbGJhY2sgPT4ge1xuICAgICAgICBsZXQgdGltZW91dElkOiBDdWlOdWxsYWJsZTxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4gPSBudWxsO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGltZW91dElkKSB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oYW5kbGVNdXRhdGlvbnMoKSwgd2FpdCk7XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIHByaXZhdGUgaGFuZGxlTXV0YXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgdXBkYXRlZEVsZW1lbnRzLCByZW1vdmVkRWxlbWVudHNJZHMgfSA9IHRoaXMuZ2V0TXV0YXRpb25BY3Rpb25zKFsuLi50aGlzLmNoYW5nZXMudmFsdWVzKCldKTtcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0dGVkUGFydHMgPSB0aGlzLnRha2VTcGxpdHRlZFBhcnRzUmVzdWx0KHVwZGF0ZWRFbGVtZW50cyk7XG4gICAgICAgICAgICBjb25zdCB7IHNwbGl0dGVkUGFydHNSZXN1bHQsIHVwZGF0ZWRFbGVtZW50c1Jlc3VsdCwgcmVtb3ZlZEVsZW1lbnRzSWRzUmVzdWx0IH0gPSB0aGlzLnRha2VNZXJnZWRSZXN1bHQoXG4gICAgICAgICAgICAgICAgc3BsaXR0ZWRQYXJ0cyxcbiAgICAgICAgICAgICAgICB1cGRhdGVkRWxlbWVudHMsXG4gICAgICAgICAgICAgICAgcmVtb3ZlZEVsZW1lbnRzSWRzXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLmFkZEJsb2NrcyhzcGxpdHRlZFBhcnRzUmVzdWx0LCB1cGRhdGVkRWxlbWVudHNSZXN1bHQpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVCbG9ja3ModXBkYXRlZEVsZW1lbnRzUmVzdWx0KTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlQmxvY2tzKHJlbW92ZWRFbGVtZW50c0lkc1Jlc3VsdCk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZXMuY2xlYXIoKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGlmICghdGhpcy53cmFwcGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyPy5vYnNlcnZlKHRoaXMud3JhcHBlciwgdGhpcy5tdXRhdGlvbkNvbmZpZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRha2VNZXJnZWRSZXN1bHQoXG4gICAgICAgIHNwbGl0dGVkUGFydHM6IEhUTUxFbGVtZW50W10sXG4gICAgICAgIHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50PixcbiAgICAgICAgcmVtb3ZlZEVsZW1lbnRzSWRzOiBTZXQ8c3RyaW5nPlxuICAgICk6IHtcbiAgICAgICAgc3BsaXR0ZWRQYXJ0c1Jlc3VsdDogSFRNTEVsZW1lbnRbXTtcbiAgICAgICAgdXBkYXRlZEVsZW1lbnRzUmVzdWx0OiBTZXQ8SFRNTEVsZW1lbnQ+O1xuICAgICAgICByZW1vdmVkRWxlbWVudHNJZHNSZXN1bHQ6IFNldDxzdHJpbmc+O1xuICAgIH0ge1xuICAgICAgICBjb25zdCB7IHJlbW92ZWRJZHM6IG1lcmdlUmVtb3ZlZElkcywgdXBkYXRlZEVsZW1lbnRzOiBtZXJnZVVwZGF0ZWRFbGVtZW50cyB9ID0gdGhpcy5hcHBseU1lcmdlU21hbGxDaHVua3MoKTtcblxuICAgICAgICBjb25zdCBub3RSZW1vdmVkQnlNZXJnZSA9IChlbDogSFRNTEVsZW1lbnQpID0+ICFtZXJnZVJlbW92ZWRJZHMuaGFzKGVsLmRhdGFzZXRbJ2xvY2FsSWQnXSA/PyAnJyk7XG5cbiAgICAgICAgY29uc3Qgc3BsaXR0ZWRQYXJ0c1Jlc3VsdCA9IHNwbGl0dGVkUGFydHMuZmlsdGVyKG5vdFJlbW92ZWRCeU1lcmdlKTtcbiAgICAgICAgY29uc3QgcmVtb3ZlZEVsZW1lbnRzSWRzUmVzdWx0ID0gbmV3IFNldDxzdHJpbmc+KFsuLi5yZW1vdmVkRWxlbWVudHNJZHMsIC4uLm1lcmdlUmVtb3ZlZElkc10pO1xuICAgICAgICBjb25zdCB1cGRhdGVkRWxlbWVudHNSZXN1bHQgPSBuZXcgU2V0PEhUTUxFbGVtZW50PihcbiAgICAgICAgICAgIFsuLi51cGRhdGVkRWxlbWVudHMsIC4uLm1lcmdlVXBkYXRlZEVsZW1lbnRzXS5maWx0ZXIobm90UmVtb3ZlZEJ5TWVyZ2UpXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHsgc3BsaXR0ZWRQYXJ0c1Jlc3VsdCwgdXBkYXRlZEVsZW1lbnRzUmVzdWx0LCByZW1vdmVkRWxlbWVudHNJZHNSZXN1bHQgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRha2VTcGxpdHRlZFBhcnRzUmVzdWx0KHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50Pik6IEhUTUxFbGVtZW50W10ge1xuICAgICAgICBjb25zdCBzcGxpdHRlZFBhcnRzOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgICAgICAgdXBkYXRlZEVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Q29udGVudDogc3RyaW5nID0gZWxlbWVudC5pbm5lckhUTUw7XG5cbiAgICAgICAgICAgIGlmIChlbGVtZW50Q29udGVudC5sZW5ndGggPCBTUExJVF9NQVhfTEVOR1RIKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHNwbGl0SFRNTChlbGVtZW50Q29udGVudCk7XG5cbiAgICAgICAgICAgIHBhcnRzLmZvckVhY2goKHBhcnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBibG9ja0lkID0gZ2VuZXJhdGVJZCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRFbGVtZW50ID0gdGhpcy5jcmVhdGVCbG9jayhibG9ja0lkLCBwYXJ0KTtcblxuICAgICAgICAgICAgICAgIHNwbGl0dGVkUGFydHMucHVzaCh0ZXh0RWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBwYXJ0c1swXTtcbiAgICAgICAgICAgIGVsZW1lbnQuYWZ0ZXIoLi4uc3BsaXR0ZWRQYXJ0cyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBzcGxpdHRlZFBhcnRzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlNZXJnZVNtYWxsQ2h1bmtzKCk6IHtcbiAgICAgICAgcmVtb3ZlZElkczogU2V0PHN0cmluZz47XG4gICAgICAgIHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50PjtcbiAgICB9IHtcbiAgICAgICAgY29uc3QgZW1wdHkgPSB7IHJlbW92ZWRJZHM6IG5ldyBTZXQ8c3RyaW5nPigpLCB1cGRhdGVkRWxlbWVudHM6IG5ldyBTZXQ8SFRNTEVsZW1lbnQ+KCkgfTtcblxuICAgICAgICBpZiAoIXRoaXMud3JhcHBlcikge1xuICAgICAgICAgICAgcmV0dXJuIGVtcHR5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2h1bmtFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy53cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCcuJyArIENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCkpO1xuICAgICAgICBjb25zdCBjaHVua0VsZW1lbnRzTWFwID0gbmV3IE1hcChjaHVua0VsZW1lbnRzLm1hcCgoZWxlbWVudCkgPT4gW2VsZW1lbnQuZGF0YXNldFsnbG9jYWxJZCddISwgZWxlbWVudF0pKTtcbiAgICAgICAgY29uc3QgeyBjaHVua3MsIHJlbW92ZWRJZHMgfSA9IG1lcmdlU21hbGxDaHVua3MoXG4gICAgICAgICAgICBjaHVua0VsZW1lbnRzLm1hcCgoZWxlbWVudCkgPT4gKHtcbiAgICAgICAgICAgICAgICBpZDogZWxlbWVudC5kYXRhc2V0Wydsb2NhbElkJ10hLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGVsZW1lbnQuaW5uZXJIVE1MXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgKTtcblxuICAgICAgICByZW1vdmVkSWRzLmZvckVhY2goKGlkKSA9PiBjaHVua0VsZW1lbnRzTWFwLmdldChpZCk/LnJlbW92ZSgpKTtcblxuICAgICAgICBjb25zdCB1cGRhdGVkRWxlbWVudHMgPSBuZXcgU2V0PEhUTUxFbGVtZW50PigpO1xuXG4gICAgICAgIGNodW5rcy5mb3JFYWNoKChjaHVuaykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGNodW5rRWxlbWVudHNNYXAuZ2V0KGNodW5rLmlkKTtcblxuICAgICAgICAgICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQuaW5uZXJIVE1MID09PSBjaHVuay5jb250ZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IGNodW5rLmNvbnRlbnQ7XG4gICAgICAgICAgICB1cGRhdGVkRWxlbWVudHMuYWRkKGVsZW1lbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4geyByZW1vdmVkSWRzOiBuZXcgU2V0KHJlbW92ZWRJZHMpLCB1cGRhdGVkRWxlbWVudHMgfTtcbiAgICB9XG5cbiAgICAvLyBSSVAgMTMuMDEuMjAyNiAtIHByaXZhdGUgZ2V0TmV4dEluZGV4KCk6IG51bWJlclxuXG4gICAgcHJpdmF0ZSBnZXRCbG9ja1BhcnRPYmplY3QoYmxvY2tJZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBDdWlDb21iaW5lZFBhcnRCbG9jayB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogYmxvY2tJZCxcbiAgICAgICAgICAgIHR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgICAgIHBhcmVudElkOiB0aGlzLmRhdGEuaWQsXG4gICAgICAgICAgICAgICAgcGFyZW50VHlwZTogQ09NQklORURfVEVYVF9CTE9DS19OQU1FXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNdXRhdGlvbkFjdGlvbnMobXV0YXRpb25MaXN0OiBNdXRhdGlvblJlY29yZFtdKTogQ3VpTXV0YXRpb25BY3Rpb25zIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZEVsZW1lbnRzID0gbmV3IFNldDxIVE1MRWxlbWVudD4oKTtcbiAgICAgICAgY29uc3QgcmVtb3ZlZEVsZW1lbnRzSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGNvbnN0IGNoYW5nZWRPdXRzaWRlRWxlbWVudHM6IE5vZGVbXSA9IFtdO1xuXG4gICAgICAgIHRoaXMubGFzdEJsb2NrRWxlbWVudCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBtdXRhdGlvbkxpc3QuZm9yRWFjaCgobXV0YXRpb246IE11dGF0aW9uUmVjb3JkKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVwZGF0ZWRCbG9ja3MobXV0YXRpb24sIHVwZGF0ZWRFbGVtZW50cywgY2hhbmdlZE91dHNpZGVFbGVtZW50cyk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlbW92ZWRCbG9ja3MobXV0YXRpb24sIHJlbW92ZWRFbGVtZW50c0lkcyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmxhc3RCbG9ja0VsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RCbG9ja0VsZW1lbnQgPSB0aGlzLmxhc3RCbG9ja0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGxhc3RCbG9ja0VsZW1lbnQuYXBwZW5kKC4uLmNoYW5nZWRPdXRzaWRlRWxlbWVudHMpO1xuICAgICAgICAgICAgdXBkYXRlZEVsZW1lbnRzLmFkZChsYXN0QmxvY2tFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FyZXRUb0Jsb2Nrc0VuZChsYXN0QmxvY2tFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cGRhdGVkRWxlbWVudHMsXG4gICAgICAgICAgICByZW1vdmVkRWxlbWVudHNJZHNcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENhcmV0VG9CbG9ja3NFbmQoYmxvY2s6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuXG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGJsb2NrLCBibG9jay5jaGlsZE5vZGVzLmxlbmd0aCk7XG4gICAgICAgIHNlbGVjdGlvbj8ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgIHNlbGVjdGlvbj8uYWRkUmFuZ2UocmFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVXBkYXRlZEJsb2NrcyhcbiAgICAgICAgbXV0YXRpb246IE11dGF0aW9uUmVjb3JkLFxuICAgICAgICB1cGRhdGVkRWxlbWVudHM6IFNldDxIVE1MRWxlbWVudD4sXG4gICAgICAgIG91dHNpZGVDaGFuZ2VzOiBOb2RlW11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSBtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKG11dGF0aW9uLnRhcmdldC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICAgICAgICAgIGVsZW1lbnQgPSBtdXRhdGlvbi50YXJnZXQucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNwYW4gPSBlbGVtZW50Py5jbG9zZXN0KCcuJyArIENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHNwYW4pIHtcbiAgICAgICAgICAgIHVwZGF0ZWRFbGVtZW50cy5hZGQoc3Bhbik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlc091dHNpZGVCbG9jayhlbGVtZW50LCBvdXRzaWRlQ2hhbmdlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDaGFuZ2VzT3V0c2lkZUJsb2NrKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBvdXRzaWRlQ2hhbmdlczogTm9kZVtdKTogdm9pZCB7XG4gICAgICAgIGlmICghZWxlbWVudCB8fCB0aGlzLmxhc3RCbG9ja0VsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQuY2hpbGROb2Rlcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tFbGVtZW50ID0gYmxvY2sgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChibG9ja0VsZW1lbnQuY2xhc3NMaXN0Py5jb250YWlucyhDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0QmxvY2tFbGVtZW50ID0gYmxvY2tFbGVtZW50O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvdXRzaWRlQ2hhbmdlcy5wdXNoKGJsb2NrKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRCbG9ja3Moc3BsaWNlZFBhcnRzOiBIVE1MRWxlbWVudFtdLCB1cGRhdGVkRWxlbWVudHM6IFNldDxIVE1MRWxlbWVudD4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFzcGxpY2VkUGFydHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZGRlZEJsb2NrczogQ3VpQ29tYmluZWRQYXJ0QmxvY2tbXSA9IHNwbGljZWRQYXJ0cy5tYXAoKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja0lkID0gYmxvY2suZGF0YXNldFsnbG9jYWxJZCddO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlkOiBibG9ja0lkLFxuICAgICAgICAgICAgICAgIHR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCxcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGJsb2NrLmlubmVySFRNTCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHRoaXMuZGF0YS5pZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50VHlwZTogQ09NQklORURfVEVYVF9CTE9DS19OQU1FXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcHJldmlvdXNFbGVtZW50ID0gdXBkYXRlZEVsZW1lbnRzLnZhbHVlcygpLm5leHQoKS52YWx1ZTtcbiAgICAgICAgY29uc3QgaWQgPSBwcmV2aW91c0VsZW1lbnQ/LmRhdGFzZXRbJ2xvY2FsSWQnXTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIocHJldmlvdXNFbGVtZW50Py5kYXRhc2V0WydpbmRleCddKSArIDE7XG4gICAgICAgIGNvbnN0IGJsb2NrSW5kZXggPSB0aGlzLmRhdGEudGV4dEJsb2Nrcy5maW5kSW5kZXgoKGJsb2NrKSA9PiBibG9jay5pZCA9PT0gaWQpO1xuXG4gICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnNwbGljZShibG9ja0luZGV4LCAwLCAuLi5hZGRlZEJsb2Nrcyk7XG4gICAgICAgIHRoaXMuYXBpLmV2ZW50cy5lbWl0KENPTUJJTkVEX1RFWFRfQkxPQ0tfQURERUQsIHtcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgYmxvY2tJbmRleCxcbiAgICAgICAgICAgIGJsb2NrczogYWRkZWRCbG9ja3MsXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmRhdGEudGV4dEJsb2Nrc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJsb2Nrcyh1cGRhdGVkRWxlbWVudHM6IFNldDxIVE1MRWxlbWVudD4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF1cGRhdGVkRWxlbWVudHMuc2l6ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2tpcE5leHRVcGRhdGVFbWl0KSB7XG4gICAgICAgICAgICB0aGlzLnNraXBOZXh0VXBkYXRlRW1pdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1cGRhdGVkQmxvY2tzID0gWy4uLnVwZGF0ZWRFbGVtZW50cy52YWx1ZXMoKV0ubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogYmxvY2suZGF0YXNldFsnbG9jYWxJZCddLFxuICAgICAgICAgICAgICAgIHR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCxcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGJsb2NrLmlubmVySFRNTCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHRoaXMuZGF0YS5pZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50VHlwZTogQ09NQklORURfVEVYVF9CTE9DS19OQU1FXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hcGkuZXZlbnRzLmVtaXQoQ09NQklORURfVEVYVF9CTE9DS19VUERBVEVELCB1cGRhdGVkQmxvY2tzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUV4aXN0aW5nQmxvY2soYmxvY2tJZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGlzQmxvY2tFeGlzdHM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nRWxlbWVudCA9IHRoaXMud3JhcHBlci5xdWVyeVNlbGVjdG9yKGBbZGF0YS1sb2NhbC1pZD1cIiR7YmxvY2tJZH1cIl1gKTtcblxuICAgICAgICBpZiAoIWV4aXN0aW5nRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmxvY2sgPSB0aGlzLmdldEJsb2NrUGFydE9iamVjdChibG9ja0lkLCB0ZXh0KTtcblxuICAgICAgICBleGlzdGluZ0VsZW1lbnQuaW5uZXJIVE1MID0gdGV4dDtcblxuICAgICAgICBpZiAoaXNCbG9ja0V4aXN0cykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcGkuZXZlbnRzLmVtaXQoQ09NQklORURfVEVYVF9CTE9DS19VUERBVEVELCBbYmxvY2tdKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBpLmV2ZW50cy5lbWl0KENPTUJJTkVEX1RFWFRfQkxPQ0tfQURERUQsIHtcbiAgICAgICAgICAgICAgICBibG9ja3M6IFtibG9ja11cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlbW92ZWRCbG9ja3MobXV0YXRpb246IE11dGF0aW9uUmVjb3JkLCByZW1vdmVkRWxlbWVudHNJZHM6IFNldDxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIGlmIChtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBtdXRhdGlvbi5yZW1vdmVkTm9kZXMuZm9yRWFjaCgobm9kZTogTm9kZSk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgaWYgKCEobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYmxvY2tJZCA9IChub2RlIGFzIEhUTUxFbGVtZW50KS5kYXRhc2V0Wydsb2NhbElkJ107XG5cbiAgICAgICAgICAgIGlmICghYmxvY2tJZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVtb3ZlZEVsZW1lbnRzSWRzLmFkZChibG9ja0lkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVCbG9ja3MoaWRzOiBTZXQ8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICBpZiAoIWlkcy5zaXplKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudElkcyA9IFsuLi5pZHMudmFsdWVzKCldO1xuXG4gICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzID0gdGhpcy5kYXRhLnRleHRCbG9ja3MuZmlsdGVyKChibG9jaykgPT4gIWlkcy5oYXMoYmxvY2suaWQgfHwgJycpKTtcbiAgICAgICAgdGhpcy5hcGkuZXZlbnRzLmVtaXQoQ09NQklORURfVEVYVF9CTE9DS19SRU1PVkVELCByZW1vdmVkRWxlbWVudElkcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJCbG9ja3MoYmxvY2tzOiBDdWlDb21iaW5lZFBhcnRCbG9ja1tdKTogdm9pZCB7XG4gICAgICAgIGlmICghYmxvY2tzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYmxvY2tzLmZvckVhY2goKGJsb2NrOiBDdWlDb21iaW5lZFBhcnRCbG9jaykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmNyZWF0ZUJsb2NrKGJsb2NrLmlkIHx8IGdlbmVyYXRlSWQoKSwgYmxvY2suZGF0YS50ZXh0KTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLndyYXBwZXIucXVlcnlTZWxlY3RvcignLicgKyBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy53cmFwcGVyLmFwcGVuZCh0ZXh0RWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMud3JhcHBlci5yZXBsYWNlQ2hpbGRyZW4odGV4dEVsZW1lbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBpLmV2ZW50cy5lbWl0KENPTUJJTkVEX1RFWFRfQkxPQ0tfQURERUQsIHtcbiAgICAgICAgICAgICAgICBibG9ja3NcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUJsb2NrKGlkOiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRoaXMuVEFHKTtcblxuICAgICAgICB0ZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCk7XG4gICAgICAgIHRleHRFbGVtZW50LmlubmVySFRNTCA9IHRleHQ7XG4gICAgICAgIHRleHRFbGVtZW50LmRhdGFzZXRbJ2lkJ10gPSBpZDtcbiAgICAgICAgdGV4dEVsZW1lbnQuZGF0YXNldFsnbG9jYWxJZCddID0gaWQ7XG5cbiAgICAgICAgcmV0dXJuIHRleHRFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udmVydERlZmF1bHREYXRhVG9DdXN0b20oZGF0YTogeyB0ZXh0OiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3MgPSBkYXRhLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgICAgICBibG9jay5pZCA9IGdlbmVyYXRlSWQoKTtcbiAgICAgICAgICAgICAgICBibG9jay5kYXRhLnBhcmVudElkID0gdGhpcy5kYXRhLmlkO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRhdGEudGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChkYXRhLnRleHQpO1xuICAgICAgICBsZXQgZWxlbWVudENvbnRlbnQgPSAnJztcblxuICAgICAgICBmcmFnbWVudC5jaGlsZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnRDb250ZW50ICs9IG5vZGUudGV4dENvbnRlbnQ7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGVsZW1lbnRDb250ZW50ICs9IChub2RlIGFzIEhUTUxFbGVtZW50KS5pbm5lckhUTUw7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHBhcnRzID0gZWxlbWVudENvbnRlbnQubGVuZ3RoIDwgU1BMSVRfTUFYX0xFTkdUSCA/IFtlbGVtZW50Q29udGVudF0gOiBzcGxpdEhUTUwoZWxlbWVudENvbnRlbnQpO1xuXG4gICAgICAgIHBhcnRzLmZvckVhY2goKHBhcnQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tPYmplY3QgPSB0aGlzLmdldEJsb2NrUGFydE9iamVjdChnZW5lcmF0ZUlkKCksIHBhcnQpO1xuXG4gICAgICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2Nrcy5wdXNoKGJsb2NrT2JqZWN0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0lzRWRpdG9yRW1wdHkoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy53cmFwcGVyIHx8IHRoaXMud3JhcHBlci5jaGlsZHJlbi5sZW5ndGggPiB0aGlzLk1BWF9DSElMRF9DT1VOVF9GT1JfRU1QVFkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLndyYXBwZXIuY2hpbGRyZW4uaXRlbSgwKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgaXNJdGVtRW1wdHkgPSAhaXRlbS50ZXh0Q29udGVudD8ubGVuZ3RoO1xuXG4gICAgICAgIHRoaXMud3JhcHBlci5kYXRhc2V0WydlbXB0eSddID0gYCR7aXNJdGVtRW1wdHl9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBsYWNlaG9sZGVyKGNvbmZpZzogVG9vbENvbmZpZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLnJlYWRvbmx5UGxhY2Vob2xkZXIgPz8gREVGQVVMVF9SRUFET05MWV9QTEFDRUhPTERFUjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb25maWcucGxhY2Vob2xkZXIgPz8gREVGQVVMVF9QTEFDRUhPTERFUjtcbiAgICB9XG59XG4iXX0=
|
|
440
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtdGV4dC1ibG9jay50b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvdG9vbHMvY29tYmluZWQtdGV4dC1ibG9jay50b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNuQixNQUFNLGNBQWMsQ0FBQztBQU90QixPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuRSxNQUFNLE9BQU8sd0JBQXdCO0lBc0JqQyxZQUFZLE9BQWdCO1FBckJYLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFDYixrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFDOUIsK0JBQTBCLEdBQUcsbUJBQW1CLENBQUM7UUFFakQsbUJBQWMsR0FBRztZQUM5QixPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLElBQUk7U0FDdEIsQ0FBQztRQVFlLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTdCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQW1LbEIsd0JBQW1CLEdBQUcsQ0FBQyxJQUFZLEVBQXVCLEVBQUU7WUFDekUsSUFBSSxTQUFTLEdBQStDLElBQUksQ0FBQztZQUVqRSxPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNaLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztnQkFFRCxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxl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QWMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV0RyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRWhFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ2pGLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztRQUMxRCxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDO1FBRS9DLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsV0FBVyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFrQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLE1BQU0sQ0FBQyxtQkFBbUIsSUFBSSw0QkFBNEIsQ0FBQztRQUN0RSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxJQUFJLG1CQUFtQixDQUFDO0lBQ3JELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuaW1wb3J0IHR5cGUgeyBBUEksIEJsb2NrVG9vbCwgQmxvY2tUb29sQ29uc3RydWN0b3JPcHRpb25zLCBUb29sQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLLFxyXG4gICAgQ09NQklORURfVEVYVF9CTE9DS19BRERFRCxcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSxcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCxcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfUkVNT1ZFRCxcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfVVBEQVRFRCxcclxuICAgIERFRkFVTFRfUExBQ0VIT0xERVIsXHJcbiAgICBERUZBVUxUX1JFQURPTkxZX1BMQUNFSE9MREVSLFxyXG4gICAgU1BMSVRfTUFYX0xFTkdUSFxyXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB0eXBlIHtcclxuICAgIEN1aUNvbWJpbmVkQmxvY2tUb29sRGF0YSxcclxuICAgIEN1aUNvbWJpbmVkUGFydEJsb2NrLFxyXG4gICAgQ3VpTXV0YXRpb25BY3Rpb25zLFxyXG4gICAgQ3VpTXV0YXRpb25DYWxsYmFja1xyXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBnZW5lcmF0ZUlkLCBtZXJnZVNtYWxsQ2h1bmtzLCBzcGxpdEhUTUwgfSBmcm9tICcuLi91dGlscyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VpQ29tYmluZWRUZXh0QmxvY2tUb29sIGltcGxlbWVudHMgQmxvY2tUb29sIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgVEFHID0gJ3NwYW4nO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBERUJPVU5DRV9USU1FID0gMzUwO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBNQVhfQ0hJTERfQ09VTlRfRk9SX0VNUFRZID0gMTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgUExBQ0VIT0xERVJfQVRUUklCVVRFX05BTUUgPSAncGxhY2Vob2xkZXJBY3RpdmUnO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbXV0YXRpb25Db25maWcgPSB7XHJcbiAgICAgICAgc3VidHJlZTogdHJ1ZSxcclxuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZVxyXG4gICAgfTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBBUEk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGE6IEN1aUNvbWJpbmVkQmxvY2tUb29sRGF0YTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIHByaXZhdGUgd3JhcHBlcj86IEhUTUxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSBvYnNlcnZlcj86IE11dGF0aW9uT2JzZXJ2ZXI7XHJcbiAgICBwcml2YXRlIGxhc3RCbG9ja0VsZW1lbnQ/OiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVhZE9ubHk/OiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VzID0gbmV3IE1hcCgpO1xyXG5cclxuICAgIHByaXZhdGUgc2tpcE5leHRVcGRhdGVFbWl0ID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogdW5rbm93bikge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSBvcHRpb25zIGFzIEJsb2NrVG9vbENvbnN0cnVjdG9yT3B0aW9ucztcclxuICAgICAgICBjb25zdCBkYXRhID0gYm9keS5kYXRhO1xyXG5cclxuICAgICAgICB0aGlzLnJlYWRPbmx5ID0gYm9keS5yZWFkT25seTtcclxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRQbGFjZWhvbGRlcihib2R5LmNvbmZpZyk7XHJcbiAgICAgICAgdGhpcy5hcGkgPSBib2R5LmFwaTtcclxuICAgICAgICB0aGlzLmRhdGEgPSB7XHJcbiAgICAgICAgICAgIGlkOiBkYXRhLmlkIHx8IGdlbmVyYXRlSWQoKSxcclxuICAgICAgICAgICAgdGV4dEJsb2NrczogZGF0YS50ZXh0QmxvY2tzIHx8IFtdXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RGVmYXVsdERhdGFUb0N1c3RvbShkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNSZWFkT25seVN1cHBvcnRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBlbmFibGVMaW5lQnJlYWtzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCB0b29sYm94KCk6IHsgaWNvbjogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGljb246ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNOCA5VjcuMkM4IDcuMDg5NTQgOC4wODk1NCA3IDguMiA3TDEyIDdNMTYgOVY3LjJDMTYgNy4wODk1NCAxNS45MTA1IDcgMTUuOCA3TDEyIDdNMTIgN0wxMiAxN00xMiAxN0gxME0xMiAxN0gxNFwiPjwvcGF0aD48L3N2Zz4nLFxyXG4gICAgICAgICAgICB0aXRsZTogJ1RleHQnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBwYXN0ZUNvbmZpZygpOiBvYmplY3Qge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRhZ3M6IFsnUCddXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25QYXN0ZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ3RhZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdGV4dCA9IGV2ZW50LmRldGFpbC5kYXRhLnRleHRDb250ZW50O1xyXG4gICAgICAgIGNvbnN0IGxhc3RCbG9ja0luZGV4ID0gdGhpcy5kYXRhLnRleHRCbG9ja3MubGVuZ3RoIC0gMTtcclxuICAgICAgICBjb25zdCBsYXN0QmxvY2sgPSB0aGlzLmRhdGEudGV4dEJsb2Nrc1tsYXN0QmxvY2tJbmRleF07XHJcbiAgICAgICAgY29uc3QgYmxvY2tJZCA9IGxhc3RCbG9jaz8uaWQgfHwgZ2VuZXJhdGVJZCgpO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2Nrcy5zcGxpY2UobGFzdEJsb2NrSW5kZXgsIDEsIHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KGJsb2NrSWQsIHRleHQpKTtcclxuXHJcbiAgICAgICAgdGhpcy5za2lwTmV4dFVwZGF0ZUVtaXQgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZUV4aXN0aW5nQmxvY2soYmxvY2tJZCwgdGV4dCwgQm9vbGVhbihsYXN0QmxvY2s/LmlkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbmRlcigpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgdGhpcy53cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgdGhpcy53cmFwcGVyLmNsYXNzTGlzdC5hZGQoQ09NQklORURfVEVYVF9CTE9DSyk7XHJcbiAgICAgICAgdGhpcy53cmFwcGVyLmRhdGFzZXRbdGhpcy5QTEFDRUhPTERFUl9BVFRSSUJVVEVfTkFNRV0gPSB0aGlzLmFwaS5pMThuLnQodGhpcy5wbGFjZWhvbGRlcik7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xyXG4gICAgICAgICAgICB0aGlzLndyYXBwZXIuY29udGVudEVkaXRhYmxlID0gJ3RydWUnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaXNFbXB0eUJsb2NrID0gIXRoaXMuZGF0YS50ZXh0QmxvY2tzLmxlbmd0aDtcclxuXHJcbiAgICAgICAgaWYgKGlzRW1wdHlCbG9jaykge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2Nrcy5wdXNoKHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KGdlbmVyYXRlSWQoKSwgJycpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVuZGVyQmxvY2tzKHRoaXMuZGF0YS50ZXh0QmxvY2tzKTtcclxuICAgICAgICB0aGlzLmNoZWNrSXNFZGl0b3JFbXB0eSgpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcclxuICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSB0aGlzLmdldE11dGF0aW9uQ2FsbGJhY2sodGhpcy5ERUJPVU5DRV9USU1FKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLm9uTXV0YXRpb25FdmVudC5iaW5kKHRoaXMsIGNhbGxiYWNrKSk7XHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndyYXBwZXIsIHRoaXMubXV0YXRpb25Db25maWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMud3JhcHBlcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbWVyZ2UoYmxvY2tzRGF0YTogQ3VpQ29tYmluZWRQYXJ0QmxvY2tbXSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy53cmFwcGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBibG9ja3NUZXh0Q29udGVudCA9ICcnO1xyXG4gICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzID0gW107XHJcblxyXG4gICAgICAgIGJsb2Nrc0RhdGEuZm9yRWFjaCgoYmxvY2spID0+IHtcclxuICAgICAgICAgICAgYmxvY2tzVGV4dENvbnRlbnQgKz0gYmxvY2suZGF0YS50ZXh0O1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMud3JhcHBlci5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLndyYXBwZXIuY2hpbGROb2Rlcy5pdGVtKGkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCEobm9kZSBpbnN0YW5jZW9mIEhUTUxTcGFuRWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaS0tO1xyXG4gICAgICAgICAgICBibG9ja3NUZXh0Q29udGVudCA9IG5vZGUuaW5uZXJIVE1MICsgYmxvY2tzVGV4dENvbnRlbnQ7XHJcbiAgICAgICAgICAgIG5vZGUucmVtb3ZlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwYXJ0cyA9IGJsb2Nrc1RleHRDb250ZW50Lmxlbmd0aCA8IFNQTElUX01BWF9MRU5HVEggPyBbYmxvY2tzVGV4dENvbnRlbnRdIDogc3BsaXRIVE1MKGJsb2Nrc1RleHRDb250ZW50KTtcclxuXHJcbiAgICAgICAgcGFydHMuZm9yRWFjaCgocGFydDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrT2JqZWN0ID0gdGhpcy5nZXRCbG9ja1BhcnRPYmplY3QoZ2VuZXJhdGVJZCgpLCBwYXJ0KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnB1c2goYmxvY2tPYmplY3QpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlckJsb2Nrcyh0aGlzLmRhdGEudGV4dEJsb2Nrcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNhdmUoYmxvY2tDb250ZW50OiBIVE1MRWxlbWVudCk6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10ge1xyXG4gICAgICAgIGNvbnN0IHRleHRCbG9ja3M6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10gPSBbXTtcclxuXHJcbiAgICAgICAgYmxvY2tDb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5UQUcpLmZvckVhY2goKHNwYW46IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRleHRCbG9ja3MucHVzaCh0aGlzLmdldEJsb2NrUGFydE9iamVjdChzcGFuLmRhdGFzZXRbJ2xvY2FsSWQnXSEsIHNwYW4uaW5uZXJIVE1MKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0ZXh0QmxvY2tzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuXHJcbiAgICAgICAgY29uc3QgYmxvY2tJZHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3MuZm9yRWFjaCgoYmxvY2s6IEN1aUNvbWJpbmVkUGFydEJsb2NrKSA9PiB7XHJcbiAgICAgICAgICAgIGJsb2NrSWRzLmFkZChibG9jay5pZCB8fCAnJyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMucmVtb3ZlQmxvY2tzKGJsb2NrSWRzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uTXV0YXRpb25FdmVudChjYWxsYmFjazogKG11dGF0aW9uTGlzdDogTXV0YXRpb25SZWNvcmRbXSkgPT4gdm9pZCwgbXV0YXRpb25MaXN0OiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKG11dGF0aW9uTGlzdC5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbXV0YXRpb25MaXN0LmZvckVhY2goKG11dGF0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZXMuc2V0KGdlbmVyYXRlSWQoKSwgbXV0YXRpb24pO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzLnNldChtdXRhdGlvbi50YXJnZXQsIG11dGF0aW9uKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY2FsbGJhY2sobXV0YXRpb25MaXN0KTtcclxuICAgICAgICB0aGlzLmNoZWNrSXNFZGl0b3JFbXB0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2V0TXV0YXRpb25DYWxsYmFjayA9ICh3YWl0OiBudW1iZXIpOiBDdWlNdXRhdGlvbkNhbGxiYWNrID0+IHtcclxuICAgICAgICBsZXQgdGltZW91dElkOiBDdWlOdWxsYWJsZTxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4gPSBudWxsO1xyXG5cclxuICAgICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGltZW91dElkKSB7XHJcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmhhbmRsZU11dGF0aW9ucygpLCB3YWl0KTtcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU11dGF0aW9ucygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgdXBkYXRlZEVsZW1lbnRzLCByZW1vdmVkRWxlbWVudHNJZHMgfSA9IHRoaXMuZ2V0TXV0YXRpb25BY3Rpb25zKFsuLi50aGlzLmNoYW5nZXMudmFsdWVzKCldKTtcclxuICAgICAgICAgICAgY29uc3Qgc3BsaXR0ZWRQYXJ0cyA9IHRoaXMudGFrZVNwbGl0dGVkUGFydHNSZXN1bHQodXBkYXRlZEVsZW1lbnRzKTtcclxuICAgICAgICAgICAgY29uc3QgeyBzcGxpdHRlZFBhcnRzUmVzdWx0LCB1cGRhdGVkRWxlbWVudHNSZXN1bHQsIHJlbW92ZWRFbGVtZW50c0lkc1Jlc3VsdCB9ID0gdGhpcy50YWtlTWVyZ2VkUmVzdWx0KFxyXG4gICAgICAgICAgICAgICAgc3BsaXR0ZWRQYXJ0cyxcclxuICAgICAgICAgICAgICAgIHVwZGF0ZWRFbGVtZW50cyxcclxuICAgICAgICAgICAgICAgIHJlbW92ZWRFbGVtZW50c0lkc1xyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5hZGRCbG9ja3Moc3BsaXR0ZWRQYXJ0c1Jlc3VsdCwgdXBkYXRlZEVsZW1lbnRzUmVzdWx0KTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVCbG9ja3ModXBkYXRlZEVsZW1lbnRzUmVzdWx0KTtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVCbG9ja3MocmVtb3ZlZEVsZW1lbnRzSWRzUmVzdWx0KTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzLmNsZWFyKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5vYnNlcnZlcj8ub2JzZXJ2ZSh0aGlzLndyYXBwZXIsIHRoaXMubXV0YXRpb25Db25maWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRha2VNZXJnZWRSZXN1bHQoXHJcbiAgICAgICAgc3BsaXR0ZWRQYXJ0czogSFRNTEVsZW1lbnRbXSxcclxuICAgICAgICB1cGRhdGVkRWxlbWVudHM6IFNldDxIVE1MRWxlbWVudD4sXHJcbiAgICAgICAgcmVtb3ZlZEVsZW1lbnRzSWRzOiBTZXQ8c3RyaW5nPlxyXG4gICAgKToge1xyXG4gICAgICAgIHNwbGl0dGVkUGFydHNSZXN1bHQ6IEhUTUxFbGVtZW50W107XHJcbiAgICAgICAgdXBkYXRlZEVsZW1lbnRzUmVzdWx0OiBTZXQ8SFRNTEVsZW1lbnQ+O1xyXG4gICAgICAgIHJlbW92ZWRFbGVtZW50c0lkc1Jlc3VsdDogU2V0PHN0cmluZz47XHJcbiAgICB9IHtcclxuICAgICAgICBjb25zdCB7IHJlbW92ZWRJZHM6IG1lcmdlUmVtb3ZlZElkcywgdXBkYXRlZEVsZW1lbnRzOiBtZXJnZVVwZGF0ZWRFbGVtZW50cyB9ID0gdGhpcy5hcHBseU1lcmdlU21hbGxDaHVua3MoKTtcclxuXHJcbiAgICAgICAgY29uc3Qgbm90UmVtb3ZlZEJ5TWVyZ2UgPSAoZWw6IEhUTUxFbGVtZW50KSA9PiAhbWVyZ2VSZW1vdmVkSWRzLmhhcyhlbC5kYXRhc2V0Wydsb2NhbElkJ10gPz8gJycpO1xyXG5cclxuICAgICAgICBjb25zdCBzcGxpdHRlZFBhcnRzUmVzdWx0ID0gc3BsaXR0ZWRQYXJ0cy5maWx0ZXIobm90UmVtb3ZlZEJ5TWVyZ2UpO1xyXG4gICAgICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50c0lkc1Jlc3VsdCA9IG5ldyBTZXQ8c3RyaW5nPihbLi4ucmVtb3ZlZEVsZW1lbnRzSWRzLCAuLi5tZXJnZVJlbW92ZWRJZHNdKTtcclxuICAgICAgICBjb25zdCB1cGRhdGVkRWxlbWVudHNSZXN1bHQgPSBuZXcgU2V0PEhUTUxFbGVtZW50PihcclxuICAgICAgICAgICAgWy4uLnVwZGF0ZWRFbGVtZW50cywgLi4ubWVyZ2VVcGRhdGVkRWxlbWVudHNdLmZpbHRlcihub3RSZW1vdmVkQnlNZXJnZSlcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4geyBzcGxpdHRlZFBhcnRzUmVzdWx0LCB1cGRhdGVkRWxlbWVudHNSZXN1bHQsIHJlbW92ZWRFbGVtZW50c0lkc1Jlc3VsdCB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdGFrZVNwbGl0dGVkUGFydHNSZXN1bHQodXBkYXRlZEVsZW1lbnRzOiBTZXQ8SFRNTEVsZW1lbnQ+KTogSFRNTEVsZW1lbnRbXSB7XHJcbiAgICAgICAgY29uc3Qgc3BsaXR0ZWRQYXJ0czogSFRNTEVsZW1lbnRbXSA9IFtdO1xyXG5cclxuICAgICAgICB1cGRhdGVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudENvbnRlbnQ6IHN0cmluZyA9IGVsZW1lbnQuaW5uZXJIVE1MO1xyXG5cclxuICAgICAgICAgICAgaWYgKGVsZW1lbnRDb250ZW50Lmxlbmd0aCA8IFNQTElUX01BWF9MRU5HVEgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBzcGxpdEhUTUwoZWxlbWVudENvbnRlbnQpO1xyXG5cclxuICAgICAgICAgICAgcGFydHMuZm9yRWFjaCgocGFydCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBibG9ja0lkID0gZ2VuZXJhdGVJZCgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmNyZWF0ZUJsb2NrKGJsb2NrSWQsIHBhcnQpO1xyXG5cclxuICAgICAgICAgICAgICAgIHNwbGl0dGVkUGFydHMucHVzaCh0ZXh0RWxlbWVudCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBwYXJ0c1swXTtcclxuICAgICAgICAgICAgZWxlbWVudC5hZnRlciguLi5zcGxpdHRlZFBhcnRzKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNwbGl0dGVkUGFydHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhcHBseU1lcmdlU21hbGxDaHVua3MoKToge1xyXG4gICAgICAgIHJlbW92ZWRJZHM6IFNldDxzdHJpbmc+O1xyXG4gICAgICAgIHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50PjtcclxuICAgIH0ge1xyXG4gICAgICAgIGNvbnN0IGVtcHR5ID0geyByZW1vdmVkSWRzOiBuZXcgU2V0PHN0cmluZz4oKSwgdXBkYXRlZEVsZW1lbnRzOiBuZXcgU2V0PEhUTUxFbGVtZW50PigpIH07XHJcblxyXG4gICAgICAgIGlmICghdGhpcy53cmFwcGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbXB0eTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGNodW5rRWxlbWVudHMgPSBBcnJheS5mcm9tKHRoaXMud3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignLicgKyBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQpKTtcclxuICAgICAgICBjb25zdCBjaHVua0VsZW1lbnRzTWFwID0gbmV3IE1hcChjaHVua0VsZW1lbnRzLm1hcCgoZWxlbWVudCkgPT4gW2VsZW1lbnQuZGF0YXNldFsnbG9jYWxJZCddISwgZWxlbWVudF0pKTtcclxuICAgICAgICBjb25zdCB7IGNodW5rcywgcmVtb3ZlZElkcyB9ID0gbWVyZ2VTbWFsbENodW5rcyhcclxuICAgICAgICAgICAgY2h1bmtFbGVtZW50cy5tYXAoKGVsZW1lbnQpID0+ICh7XHJcbiAgICAgICAgICAgICAgICBpZDogZWxlbWVudC5kYXRhc2V0Wydsb2NhbElkJ10hLFxyXG4gICAgICAgICAgICAgICAgY29udGVudDogZWxlbWVudC5pbm5lckhUTUxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmVtb3ZlZElkcy5mb3JFYWNoKChpZCkgPT4gY2h1bmtFbGVtZW50c01hcC5nZXQoaWQpPy5yZW1vdmUoKSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHVwZGF0ZWRFbGVtZW50cyA9IG5ldyBTZXQ8SFRNTEVsZW1lbnQ+KCk7XHJcblxyXG4gICAgICAgIGNodW5rcy5mb3JFYWNoKChjaHVuaykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gY2h1bmtFbGVtZW50c01hcC5nZXQoY2h1bmsuaWQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQuaW5uZXJIVE1MID09PSBjaHVuay5jb250ZW50KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gY2h1bmsuY29udGVudDtcclxuICAgICAgICAgICAgdXBkYXRlZEVsZW1lbnRzLmFkZChlbGVtZW50KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHsgcmVtb3ZlZElkczogbmV3IFNldChyZW1vdmVkSWRzKSwgdXBkYXRlZEVsZW1lbnRzIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUklQIDEzLjAxLjIwMjYgLSBwcml2YXRlIGdldE5leHRJbmRleCgpOiBudW1iZXJcclxuXHJcbiAgICBwcml2YXRlIGdldEJsb2NrUGFydE9iamVjdChibG9ja0lkOiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IEN1aUNvbWJpbmVkUGFydEJsb2NrIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogYmxvY2tJZCxcclxuICAgICAgICAgICAgdHlwZTogQ09NQklORURfVEVYVF9CTE9DS19QQVJULFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LFxyXG4gICAgICAgICAgICAgICAgcGFyZW50SWQ6IHRoaXMuZGF0YS5pZCxcclxuICAgICAgICAgICAgICAgIHBhcmVudFR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE11dGF0aW9uQWN0aW9ucyhtdXRhdGlvbkxpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiBDdWlNdXRhdGlvbkFjdGlvbnMge1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZWRFbGVtZW50cyA9IG5ldyBTZXQ8SFRNTEVsZW1lbnQ+KCk7XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlZEVsZW1lbnRzSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgICAgICAgY29uc3QgY2hhbmdlZE91dHNpZGVFbGVtZW50czogTm9kZVtdID0gW107XHJcblxyXG4gICAgICAgIHRoaXMubGFzdEJsb2NrRWxlbWVudCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgbXV0YXRpb25MaXN0LmZvckVhY2goKG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZVVwZGF0ZWRCbG9ja3MobXV0YXRpb24sIHVwZGF0ZWRFbGVtZW50cywgY2hhbmdlZE91dHNpZGVFbGVtZW50cyk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZlZEJsb2NrcyhtdXRhdGlvbiwgcmVtb3ZlZEVsZW1lbnRzSWRzKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubGFzdEJsb2NrRWxlbWVudCkge1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0QmxvY2tFbGVtZW50ID0gdGhpcy5sYXN0QmxvY2tFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgbGFzdEJsb2NrRWxlbWVudC5hcHBlbmQoLi4uY2hhbmdlZE91dHNpZGVFbGVtZW50cyk7XHJcbiAgICAgICAgICAgIHVwZGF0ZWRFbGVtZW50cy5hZGQobGFzdEJsb2NrRWxlbWVudCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FyZXRUb0Jsb2Nrc0VuZChsYXN0QmxvY2tFbGVtZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHVwZGF0ZWRFbGVtZW50cyxcclxuICAgICAgICAgICAgcmVtb3ZlZEVsZW1lbnRzSWRzXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldENhcmV0VG9CbG9ja3NFbmQoYmxvY2s6IEhUTUxFbGVtZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xyXG4gICAgICAgIGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcclxuXHJcbiAgICAgICAgcmFuZ2Uuc2V0U3RhcnQoYmxvY2ssIGJsb2NrLmNoaWxkTm9kZXMubGVuZ3RoKTtcclxuICAgICAgICBzZWxlY3Rpb24/LnJlbW92ZUFsbFJhbmdlcygpO1xyXG4gICAgICAgIHNlbGVjdGlvbj8uYWRkUmFuZ2UocmFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlVXBkYXRlZEJsb2NrcyhcclxuICAgICAgICBtdXRhdGlvbjogTXV0YXRpb25SZWNvcmQsXHJcbiAgICAgICAgdXBkYXRlZEVsZW1lbnRzOiBTZXQ8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgIG91dHNpZGVDaGFuZ2VzOiBOb2RlW11cclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGxldCBlbGVtZW50ID0gbXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICBpZiAobXV0YXRpb24udGFyZ2V0Lm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xyXG4gICAgICAgICAgICBlbGVtZW50ID0gbXV0YXRpb24udGFyZ2V0LnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzcGFuID0gZWxlbWVudD8uY2xvc2VzdCgnLicgKyBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQpIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICBpZiAoc3Bhbikge1xyXG4gICAgICAgICAgICB1cGRhdGVkRWxlbWVudHMuYWRkKHNwYW4pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VzT3V0c2lkZUJsb2NrKGVsZW1lbnQsIG91dHNpZGVDaGFuZ2VzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUNoYW5nZXNPdXRzaWRlQmxvY2soZWxlbWVudDogSFRNTEVsZW1lbnQsIG91dHNpZGVDaGFuZ2VzOiBOb2RlW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWVsZW1lbnQgfHwgdGhpcy5sYXN0QmxvY2tFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsZW1lbnQuY2hpbGROb2Rlcy5mb3JFYWNoKChibG9jaykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBibG9ja0VsZW1lbnQgPSBibG9jayBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAgICAgICAgIGlmIChibG9ja0VsZW1lbnQuY2xhc3NMaXN0Py5jb250YWlucyhDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RCbG9ja0VsZW1lbnQgPSBibG9ja0VsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvdXRzaWRlQ2hhbmdlcy5wdXNoKGJsb2NrKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZEJsb2NrcyhzcGxpY2VkUGFydHM6IEhUTUxFbGVtZW50W10sIHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50Pik6IHZvaWQge1xyXG4gICAgICAgIGlmICghc3BsaWNlZFBhcnRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBhZGRlZEJsb2NrczogQ3VpQ29tYmluZWRQYXJ0QmxvY2tbXSA9IHNwbGljZWRQYXJ0cy5tYXAoKGJsb2NrKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrSWQgPSBibG9jay5kYXRhc2V0Wydsb2NhbElkJ107XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGJsb2NrSWQsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogYmxvY2suaW5uZXJIVE1MLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiB0aGlzLmRhdGEuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50VHlwZTogQ09NQklORURfVEVYVF9CTE9DS19OQU1FXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzRWxlbWVudCA9IHVwZGF0ZWRFbGVtZW50cy52YWx1ZXMoKS5uZXh0KCkudmFsdWU7XHJcbiAgICAgICAgY29uc3QgaWQgPSBwcmV2aW91c0VsZW1lbnQ/LmRhdGFzZXRbJ2xvY2FsSWQnXTtcclxuICAgICAgICBjb25zdCBpbmRleCA9IE51bWJlcihwcmV2aW91c0VsZW1lbnQ/LmRhdGFzZXRbJ2luZGV4J10pICsgMTtcclxuICAgICAgICBjb25zdCBibG9ja0luZGV4ID0gdGhpcy5kYXRhLnRleHRCbG9ja3MuZmluZEluZGV4KChibG9jaykgPT4gYmxvY2suaWQgPT09IGlkKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3Muc3BsaWNlKGJsb2NrSW5kZXgsIDAsIC4uLmFkZGVkQmxvY2tzKTtcclxuICAgICAgICB0aGlzLmFwaS5ldmVudHMuZW1pdChDT01CSU5FRF9URVhUX0JMT0NLX0FEREVELCB7XHJcbiAgICAgICAgICAgIGluZGV4LFxyXG4gICAgICAgICAgICBibG9ja0luZGV4LFxyXG4gICAgICAgICAgICBibG9ja3M6IGFkZGVkQmxvY2tzLFxyXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmRhdGEudGV4dEJsb2Nrc1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQmxvY2tzKHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50Pik6IHZvaWQge1xyXG4gICAgICAgIGlmICghdXBkYXRlZEVsZW1lbnRzLnNpemUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2tpcE5leHRVcGRhdGVFbWl0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2tpcE5leHRVcGRhdGVFbWl0ID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB1cGRhdGVkQmxvY2tzID0gWy4uLnVwZGF0ZWRFbGVtZW50cy52YWx1ZXMoKV0ubWFwKChibG9jaykgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGJsb2NrLmRhdGFzZXRbJ2xvY2FsSWQnXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBibG9jay5pbm5lckhUTUwsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHRoaXMuZGF0YS5pZCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRUeXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX05BTUVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5hcGkuZXZlbnRzLmVtaXQoQ09NQklORURfVEVYVF9CTE9DS19VUERBVEVELCB1cGRhdGVkQmxvY2tzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUV4aXN0aW5nQmxvY2soYmxvY2tJZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGlzQmxvY2tFeGlzdHM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMud3JhcHBlcikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBleGlzdGluZ0VsZW1lbnQgPSB0aGlzLndyYXBwZXIucXVlcnlTZWxlY3RvcihgW2RhdGEtbG9jYWwtaWQ9XCIke2Jsb2NrSWR9XCJdYCk7XHJcblxyXG4gICAgICAgIGlmICghZXhpc3RpbmdFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGJsb2NrID0gdGhpcy5nZXRCbG9ja1BhcnRPYmplY3QoYmxvY2tJZCwgdGV4dCk7XHJcblxyXG4gICAgICAgIGV4aXN0aW5nRWxlbWVudC5pbm5lckhUTUwgPSB0ZXh0O1xyXG5cclxuICAgICAgICBpZiAoaXNCbG9ja0V4aXN0cykge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBpLmV2ZW50cy5lbWl0KENPTUJJTkVEX1RFWFRfQkxPQ0tfVVBEQVRFRCwgW2Jsb2NrXSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBpLmV2ZW50cy5lbWl0KENPTUJJTkVEX1RFWFRfQkxPQ0tfQURERUQsIHtcclxuICAgICAgICAgICAgICAgIGJsb2NrczogW2Jsb2NrXVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZVJlbW92ZWRCbG9ja3MobXV0YXRpb246IE11dGF0aW9uUmVjb3JkLCByZW1vdmVkRWxlbWVudHNJZHM6IFNldDxzdHJpbmc+KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKG11dGF0aW9uLnJlbW92ZWROb2Rlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbXV0YXRpb24ucmVtb3ZlZE5vZGVzLmZvckVhY2goKG5vZGU6IE5vZGUpOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgaWYgKCEobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBibG9ja0lkID0gKG5vZGUgYXMgSFRNTEVsZW1lbnQpLmRhdGFzZXRbJ2xvY2FsSWQnXTtcclxuXHJcbiAgICAgICAgICAgIGlmICghYmxvY2tJZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZW1vdmVkRWxlbWVudHNJZHMuYWRkKGJsb2NrSWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVtb3ZlQmxvY2tzKGlkczogU2V0PHN0cmluZz4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWlkcy5zaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50SWRzID0gWy4uLmlkcy52YWx1ZXMoKV07XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzID0gdGhpcy5kYXRhLnRleHRCbG9ja3MuZmlsdGVyKChibG9jaykgPT4gIWlkcy5oYXMoYmxvY2suaWQgfHwgJycpKTtcclxuICAgICAgICB0aGlzLmFwaS5ldmVudHMuZW1pdChDT01CSU5FRF9URVhUX0JMT0NLX1JFTU9WRUQsIHJlbW92ZWRFbGVtZW50SWRzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlckJsb2NrcyhibG9ja3M6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWJsb2Nrcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYmxvY2tzLmZvckVhY2goKGJsb2NrOiBDdWlDb21iaW5lZFBhcnRCbG9jaykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMuY3JlYXRlQmxvY2soYmxvY2suaWQgfHwgZ2VuZXJhdGVJZCgpLCBibG9jay5kYXRhLnRleHQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMud3JhcHBlci5xdWVyeVNlbGVjdG9yKCcuJyArIENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMud3JhcHBlci5hcHBlbmQodGV4dEVsZW1lbnQpO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLnJlcGxhY2VDaGlsZHJlbih0ZXh0RWxlbWVudCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFwaS5ldmVudHMuZW1pdChDT01CSU5FRF9URVhUX0JMT0NLX0FEREVELCB7XHJcbiAgICAgICAgICAgICAgICBibG9ja3NcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVCbG9jayhpZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRoaXMuVEFHKTtcclxuXHJcbiAgICAgICAgdGV4dEVsZW1lbnQuY2xhc3NMaXN0LmFkZChDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQpO1xyXG4gICAgICAgIHRleHRFbGVtZW50LmlubmVySFRNTCA9IHRleHQ7XHJcbiAgICAgICAgdGV4dEVsZW1lbnQuZGF0YXNldFsnaWQnXSA9IGlkO1xyXG4gICAgICAgIHRleHRFbGVtZW50LmRhdGFzZXRbJ2xvY2FsSWQnXSA9IGlkO1xyXG5cclxuICAgICAgICByZXR1cm4gdGV4dEVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb252ZXJ0RGVmYXVsdERhdGFUb0N1c3RvbShkYXRhOiB7IHRleHQ6IHN0cmluZyB9KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3MgPSBkYXRhLm1hcCgoYmxvY2spID0+IHtcclxuICAgICAgICAgICAgICAgIGJsb2NrLmlkID0gZ2VuZXJhdGVJZCgpO1xyXG4gICAgICAgICAgICAgICAgYmxvY2suZGF0YS5wYXJlbnRJZCA9IHRoaXMuZGF0YS5pZDtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2s7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFkYXRhLnRleHQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChkYXRhLnRleHQpO1xyXG4gICAgICAgIGxldCBlbGVtZW50Q29udGVudCA9ICcnO1xyXG5cclxuICAgICAgICBmcmFnbWVudC5jaGlsZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50Q29udGVudCArPSBub2RlLnRleHRDb250ZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZWxlbWVudENvbnRlbnQgKz0gKG5vZGUgYXMgSFRNTEVsZW1lbnQpLmlubmVySFRNTDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFydHMgPSBlbGVtZW50Q29udGVudC5sZW5ndGggPCBTUExJVF9NQVhfTEVOR1RIID8gW2VsZW1lbnRDb250ZW50XSA6IHNwbGl0SFRNTChlbGVtZW50Q29udGVudCk7XHJcblxyXG4gICAgICAgIHBhcnRzLmZvckVhY2goKHBhcnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBibG9ja09iamVjdCA9IHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KGdlbmVyYXRlSWQoKSwgcGFydCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2Nrcy5wdXNoKGJsb2NrT2JqZWN0KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrSXNFZGl0b3JFbXB0eSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMud3JhcHBlciB8fCB0aGlzLndyYXBwZXIuY2hpbGRyZW4ubGVuZ3RoID4gdGhpcy5NQVhfQ0hJTERfQ09VTlRfRk9SX0VNUFRZKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLndyYXBwZXIuY2hpbGRyZW4uaXRlbSgwKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBjb25zdCBpc0l0ZW1FbXB0eSA9ICFpdGVtPy50ZXh0Q29udGVudD8ubGVuZ3RoO1xyXG5cclxuICAgICAgICB0aGlzLndyYXBwZXIuZGF0YXNldFsnZW1wdHknXSA9IGAke2lzSXRlbUVtcHR5fWA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRQbGFjZWhvbGRlcihjb25maWc6IFRvb2xDb25maWcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb25maWcucmVhZG9ubHlQbGFjZWhvbGRlciA/PyBERUZBVUxUX1JFQURPTkxZX1BMQUNFSE9MREVSO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5wbGFjZWhvbGRlciA/PyBERUZBVUxUX1BMQUNFSE9MREVSO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -7,11 +7,11 @@ export class CuiRoleMarker extends CuiCustomMarkerTool {
|
|
|
7
7
|
render() {
|
|
8
8
|
super.render();
|
|
9
9
|
/* eslint-disable */
|
|
10
|
-
this.button.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="-3 -3 24 24" fill="none">
|
|
11
|
-
<path d="M13.3335 17.5V15.8333C13.3335 14.9493 12.9823 14.1014 12.3572 13.4763C11.7321 12.8512 10.8842 12.5 10.0002 12.5H4.16683C3.28277 12.5 2.43493 12.8512 1.80981 13.4763C1.18469 14.1014 0.833496 14.9493 0.833496 15.8333V17.5M16.6668 6.66667V11.6667M19.1668 9.16667H14.1668M10.4168 5.83333C10.4168 7.67428 8.92445 9.16667 7.0835 9.16667C5.24255 9.16667 3.75016 7.67428 3.75016 5.83333C3.75016 3.99238 5.24255 2.5 7.0835 2.5C8.92445 2.5 10.4168 3.99238 10.4168 5.83333Z" stroke="#595E6A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
10
|
+
this.button.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="-3 -3 24 24" fill="none">
|
|
11
|
+
<path d="M13.3335 17.5V15.8333C13.3335 14.9493 12.9823 14.1014 12.3572 13.4763C11.7321 12.8512 10.8842 12.5 10.0002 12.5H4.16683C3.28277 12.5 2.43493 12.8512 1.80981 13.4763C1.18469 14.1014 0.833496 14.9493 0.833496 15.8333V17.5M16.6668 6.66667V11.6667M19.1668 9.16667H14.1668M10.4168 5.83333C10.4168 7.67428 8.92445 9.16667 7.0835 9.16667C5.24255 9.16667 3.75016 7.67428 3.75016 5.83333C3.75016 3.99238 5.24255 2.5 7.0835 2.5C8.92445 2.5 10.4168 3.99238 10.4168 5.83333Z" stroke="#595E6A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
12
12
|
</svg>`;
|
|
13
13
|
/* eslint-enable */
|
|
14
14
|
return this.button;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1tYXJrZXIudG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL3JvbGUtbWFya2VyLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFHbEQsWUFBWSxJQUFrQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIWSxVQUFLLEdBQUcsYUFBYSxDQUFDO0lBSWxELENBQUM7SUFFZSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVmLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRzs7ZUFFakIsQ0FBQztRQUNSLG1CQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcclxuXHJcbmltcG9ydCB7IEN1aUN1c3RvbU1hcmtlclRvb2wgfSBmcm9tICcuL2N1c3RvbS1tYXJrZXIudG9vbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VpUm9sZU1hcmtlciBleHRlbmRzIEN1aUN1c3RvbU1hcmtlclRvb2wge1xyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IENMQVNTID0gJ3JvbGUtbWFya2VyJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zKSB7XHJcbiAgICAgICAgc3VwZXIoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIHJlbmRlcigpOiBIVE1MQnV0dG9uRWxlbWVudCB7XHJcbiAgICAgICAgc3VwZXIucmVuZGVyKCk7XHJcblxyXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICAgICAgdGhpcy5idXR0b24uaW5uZXJIVE1MID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCItMyAtMyAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMzNSAxNy41VjE1LjgzMzNDMTMuMzMzNSAxNC45NDkzIDEyLjk4MjMgMTQuMTAxNCAxMi4zNTcyIDEzLjQ3NjNDMTEuNzMyMSAxMi44NTEyIDEwLjg4NDIgMTIuNSAxMC4wMDAyIDEyLjVINC4xNjY4M0MzLjI4Mjc3IDEyLjUgMi40MzQ5MyAxMi44NTEyIDEuODA5ODEgMTMuNDc2M0MxLjE4NDY5IDE0LjEwMTQgMC44MzM0OTYgMTQuOTQ5MyAwLjgzMzQ5NiAxNS44MzMzVjE3LjVNMTYuNjY2OCA2LjY2NjY3VjExLjY2NjdNMTkuMTY2OCA5LjE2NjY3SDE0LjE2NjhNMTAuNDE2OCA1LjgzMzMzQzEwLjQxNjggNy42NzQyOCA4LjkyNDQ1IDkuMTY2NjcgNy4wODM1IDkuMTY2NjdDNS4yNDI1NSA5LjE2NjY3IDMuNzUwMTYgNy42NzQyOCAzLjc1MDE2IDUuODMzMzNDMy43NTAxNiAzLjk5MjM4IDUuMjQyNTUgMi41IDcuMDgzNSAyLjVDOC45MjQ0NSAyLjUgMTAuNDE2OCAzLjk5MjM4IDEwLjQxNjggNS44MzMzM1pcIiBzdHJva2U9XCIjNTk1RTZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgIDwvc3ZnPmA7XHJcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5idXR0b247XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -11,4 +11,4 @@ export class CuiToolMarker extends CuiCustomMarkerTool {
|
|
|
11
11
|
return this.button;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1tYXJrZXIudG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL3Rvb2wtbWFya2VyLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFHbEQsWUFBWSxJQUFrQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIWSxVQUFLLEdBQUcsYUFBYSxDQUFDO0lBSWxELENBQUM7SUFFZSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQix1MERBQXUwRCxDQUFDO1FBRTUwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcclxuXHJcbmltcG9ydCB7IEN1aUN1c3RvbU1hcmtlclRvb2wgfSBmcm9tICcuL2N1c3RvbS1tYXJrZXIudG9vbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VpVG9vbE1hcmtlciBleHRlbmRzIEN1aUN1c3RvbU1hcmtlclRvb2wge1xyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IENMQVNTID0gJ3Rvb2wtbWFya2VyJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zKSB7XHJcbiAgICAgICAgc3VwZXIoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIHJlbmRlcigpOiBIVE1MQnV0dG9uRWxlbWVudCB7XHJcbiAgICAgICAgc3VwZXIucmVuZGVyKCk7XHJcblxyXG4gICAgICAgIHRoaXMuYnV0dG9uLmlubmVySFRNTCA9XHJcbiAgICAgICAgICAgICc8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCItMiAtMyAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIGlkPVwidGVjaG5vbG9naWVzLXRvb2xzXCI+PHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTE2LjM1ODEgMTUuMzk2NkwxNi4zNTgxIDExLjQ3MjlDMTYuMzU4MSAxMS40MTU4IDE2LjM0NjkgMTEuMzU5MiAxNi4zMjUgMTEuMzA2NEMxNi4zMDMxIDExLjI1MzYgMTYuMjcxMSAxMS4yMDU2IDE2LjIzMDcgMTEuMTY1MkMxNi4xOTAzIDExLjEyNDggMTYuMTQyMyAxMS4wOTI4IDE2LjA4OTUgMTEuMDcwOUMxNi4wMzY4IDExLjA0OTEgMTUuOTgwMiAxMS4wMzc4IDE1LjkyMyAxMS4wMzc4SDEzLjI1NzRMMTMuMjU5MyAxMS4wMzcyQzEzLjIwMDcgMTEuMDM0OCAxMy4xNDIyIDExLjA0NDMgMTMuMDg3NCAxMS4wNjUxQzEzLjAzMjYgMTEuMDg1OSAxMi45ODI1IDExLjExNzYgMTIuOTQwMiAxMS4xNTgyQzEyLjg5OCAxMS4xOTg5IDEyLjg2NDMgMTEuMjQ3NiAxMi44NDE0IDExLjMwMTZDMTIuODE4NCAxMS4zNTU2IDEyLjgwNjYgMTEuNDEzNiAxMi44MDY3IDExLjQ3MjNMMTIuODA2NyAxNS4zOTcyTTE0LjU4NCAxMS4wMzM0VjUuODMzNE0xNi4zNTgyIDE1LjEwMjJMMTYuMzU4MiAxNy4wNjQ3QzE2LjM1ODMgMTcuMTIzNCAxNi4zNDY1IDE3LjE4MTQgMTYuMzIzNSAxNy4yMzU0QzE2LjMwMDYgMTcuMjg5MyAxNi4yNjY5IDE3LjMzODEgMTYuMjI0NyAxNy4zNzg3QzE2LjE4MjQgMTcuNDE5NCAxNi4xMzIzIDE3LjQ1MTEgMTYuMDc3NSAxNy40NzE5QzE2LjAyMjcgMTcuNDkyNyAxNS45NjQyIDE3LjUwMjIgMTUuOTA1NiAxNy40OTk4TDE1LjkwNzUgMTcuNDk5MkgxMy4yNDE5QzEzLjE4NDcgMTcuNDk5MiAxMy4xMjgyIDE3LjQ4NzkgMTMuMDc1NCAxNy40NjZDMTMuMDIyNiAxNy40NDQyIDEyLjk3NDYgMTcuNDEyMSAxMi45MzQyIDE3LjM3MTdDMTIuODkzOCAxNy4zMzEzIDEyLjg2MTggMTcuMjgzNCAxMi44Mzk5IDE3LjIzMDZDMTIuODE4IDE3LjE3NzggMTIuODA2OCAxNy4xMjEyIDEyLjgwNjggMTcuMDY0MUwxMi44MDY4IDE1LjEwMjJNNS41OTYzNiA5Ljg4NzE5TDUuNTk2MzYgMTUuOTI4NEM1LjU5NjI3IDE2LjA4NzIgNS42Mjc0OCAxNi4yNDQ1IDUuNjg4MjEgMTYuMzkxMkM1Ljc0ODk1IDE2LjUzNzkgNS44MzggMTYuNjcxMyA1Ljk1MDMgMTYuNzgzNkM2LjA2MjU5IDE2Ljg5NTkgNi4xOTU5MSAxNi45ODQ5IDYuMzQyNjUgMTcuMDQ1NkM2LjQ4OTM4IDE3LjEwNjQgNi42NDY2NSAxNy4xMzc2IDYuODA1NDUgMTcuMTM3NUM3LjEyNTg5IDE3LjEzNzUgNy40MzMxOCAxNy4wMTAxIDcuNjU5NzYgMTYuNzgzNkM3Ljg4NjM0IDE2LjU1NyA4LjAxMzY1IDE2LjI0OTcgOC4wMTM3IDE1LjkyOTNMOC4wMTI4NCA5Ljg4NzE5QzkuMjkzMjkgOS4zMjc5MyAxMC40Mjk4IDguMDUwNDcgMTAuNDI5OCA2LjU2MzY3QzEwLjQzMDIgNS4wNzcyOSA5LjIyMTk0IDMuNTQyNjQgOC4wMTI4NCAzLjI0MUw4LjAxMzI3IDUuODM5MDdMNi44MDQ2IDcuMjg4N0w1LjU5NjM2IDUuODM4NjRMNS41OTYzNiAzLjI0MUM0LjM4NzY5IDMuNTQzMDYgMy4xNzkwMiA1LjA3NzI5IDMuMTc5MDIgNi41NjQxQzMuMTc5NDQgOC4wNTA0OCA0LjMxNTkxIDkuMzI3OTMgNS41OTYzNiA5Ljg4NzE5Wk0xNC45OTE2IDUuNTY1NDVMMTQuMTI1MyA1LjU2NTQ1TDEzLjI1ODkgNC42OTkwOUwxMy42OTIxIDIuNTMzMkwxNS40MjQ4IDIuNTMzMkwxNS44NTggNC42OTkwOUwxNC45OTE2IDUuNTY1NDVaXCIgc3Ryb2tlPVwiIzU5NUU2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L2c+PC9zdmc+JztcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -14,4 +14,4 @@ function copyTextToClipboardFallback(text) {
|
|
|
14
14
|
document.execCommand('copy');
|
|
15
15
|
document.body.removeChild(textarea);
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10ZXh0LXRvLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3V0aWxzL2NvcHktdGV4dC10by1jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQVk7SUFDNUMsSUFBSSxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsb0NBQW9DO0FBQ3BDLFNBQVMsMkJBQTJCLENBQUMsSUFBWTtJQUM3QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXBELFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAod2luZG93Py5uYXZpZ2F0b3IuY2xpcGJvYXJkICYmIHdpbmRvdy5pc1NlY3VyZUNvbnRleHQpIHtcclxuICAgICAgICB3aW5kb3cubmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29weVRleHRUb0NsaXBib2FyZEZhbGxiYWNrKHRleHQpO1xyXG59XHJcblxyXG4vLyBUT0RPOiBSZW1vdmUgd2hlbiBzd2l0Y2ggdG8gaHR0cHNcclxuZnVuY3Rpb24gY29weVRleHRUb0NsaXBib2FyZEZhbGxiYWNrKHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG5cclxuICAgIHRleHRhcmVhLnZhbHVlID0gdGV4dDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dGFyZWEpO1xyXG4gICAgdGV4dGFyZWEuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xyXG4gICAgdGV4dGFyZWEuc2VsZWN0KCk7XHJcblxyXG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpO1xyXG59XHJcbiJdfQ==
|
|
@@ -53,4 +53,4 @@ export function createEditorTools(config, resourceUrl) {
|
|
|
53
53
|
...(tools ?? {})
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRvb2xzLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9jcmVhdGUtdG9vbHMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFrQyxFQUFFLFdBQW9CO0lBQ3RGLE1BQU0sUUFBUSxHQUFHLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbkUsTUFBTSxLQUFLLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV2RCxPQUFPO1FBQ0gsTUFBTSxFQUFFO1lBQ0osS0FBSyxFQUFFLGFBQWE7WUFDcEIsTUFBTSxFQUFFO2dCQUNKLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixZQUFZLEVBQUUsQ0FBQzthQUNsQjtZQUNELEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDL0I7UUFDRCxJQUFJLEVBQUU7WUFDRixLQUFLLEVBQUUsV0FBVztZQUNsQixhQUFhLEVBQUUsSUFBSTtZQUNuQixNQUFNLEVBQUU7Z0JBQ0osWUFBWSxFQUFFLFdBQVc7YUFDNUI7WUFDRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzdCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sS0FBSyxFQUFFLGVBQWU7WUFDdEIsTUFBTSxFQUFFO2dCQUNKLFFBQVE7Z0JBQ1IsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLElBQUksRUFBRSxVQUFVO2dCQUNoQixXQUFXLEVBQUUsaUJBQWlCO2FBQ2pDO1lBQ0QsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNqQztRQUNELEtBQUssRUFBRTtZQUNILEtBQUssRUFBRSxZQUFZO1lBQ25CLE1BQU0sRUFBRTtnQkFDSixRQUFRO2dCQUNSLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUI7UUFDRCxLQUFLLEVBQUU7WUFDSCxLQUFLLEVBQUUsWUFBWTtZQUNuQixNQUFNLEVBQUU7Z0JBQ0osUUFBUTtnQkFDUixLQUFLLEVBQUUsVUFBVTtnQkFDakIsSUFBSSxFQUFFLFVBQVU7YUFDbkI7WUFDRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzlCO1FBQ0QsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDbkIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEN1aVRvb2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEN1aUF0dGFjaGVzVG9vbCwgQ3VpSGVhZGVyVG9vbCwgQ3VpSW1hZ2VUb29sLCBDdWlMaXN0VG9vbCwgQ3VpVmlkZW9Ub29sIH0gZnJvbSAnLi4vdG9vbHMnO1xyXG5pbXBvcnQgeyBvcGVuRmlsZUluQnJvd3NlciB9IGZyb20gJy4vb3Blbi1maWxlLWluLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBzZXRMb2FkaW5nIH0gZnJvbSAnLi9zZXQtbG9hZGluZyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWRpdG9yVG9vbHMocmVzb3VyY2VVcmw6IHN0cmluZyk6IEN1aVRvb2xzO1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWRpdG9yVG9vbHMoY29uZmlnOiBQYXJ0aWFsPEN1aVRvb2xzPiwgcmVzb3VyY2VVcmw/OiBzdHJpbmcpOiBDdWlUb29scztcclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVkaXRvclRvb2xzKGNvbmZpZzogUGFydGlhbDxDdWlUb29scz4gfCBzdHJpbmcsIHJlc291cmNlVXJsPzogc3RyaW5nKTogQ3VpVG9vbHMge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSB0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJyA/IGNvbmZpZyA6IHJlc291cmNlVXJsO1xyXG4gICAgY29uc3QgdG9vbHMgPSB0eXBlb2YgY29uZmlnICE9PSAnc3RyaW5nJyA/IGNvbmZpZyA6IHt9O1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgIGNsYXNzOiBDdWlIZWFkZXJUb29sLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGxldmVsczogWzIsIDMsIDRdLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdExldmVsOiAyXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC4uLih0b29scz8uWydoZWFkZXInXSA/PyB7fSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxpc3Q6IHtcclxuICAgICAgICAgICAgY2xhc3M6IEN1aUxpc3RUb29sLFxyXG4gICAgICAgICAgICBpbmxpbmVUb29sYmFyOiB0cnVlLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRTdHlsZTogJ3Vub3JkZXJlZCdcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLi4uKHRvb2xzPy5bJ2xpc3QnXSA/PyB7fSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGF0dGFjaGVzOiB7XHJcbiAgICAgICAgICAgIGNsYXNzOiBDdWlBdHRhY2hlc1Rvb2wsXHJcbiAgICAgICAgICAgIGNvbmZpZzoge1xyXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3Jlc291cmNlJyxcclxuICAgICAgICAgICAgICAgIHR5cGVzOiAnLnBkZiwuZG9jLC5kb2N4JyxcclxuICAgICAgICAgICAgICAgIGxvYWQ6IHNldExvYWRpbmcsXHJcbiAgICAgICAgICAgICAgICBmaWxlQ2xpY2tlZDogb3BlbkZpbGVJbkJyb3dzZXJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLi4uKHRvb2xzPy5bJ2F0dGFjaGVzJ10gPz8ge30pXHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWRlbzoge1xyXG4gICAgICAgICAgICBjbGFzczogQ3VpVmlkZW9Ub29sLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdyZXNvdXJjZScsXHJcbiAgICAgICAgICAgICAgICBsb2FkOiBzZXRMb2FkaW5nXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC4uLih0b29scz8uWyd2aWRlbyddID8/IHt9KVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW1hZ2U6IHtcclxuICAgICAgICAgICAgY2xhc3M6IEN1aUltYWdlVG9vbCxcclxuICAgICAgICAgICAgY29uZmlnOiB7XHJcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxyXG4gICAgICAgICAgICAgICAgbG9hZDogc2V0TG9hZGluZ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAuLi4odG9vbHM/LlsnaW1hZ2UnXSA/PyB7fSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLih0b29scyA/PyB7fSlcclxuICAgIH07XHJcbn1cclxuIl19
|
|
@@ -24,4 +24,4 @@ function checkIsAvailableToMerge(current, next) {
|
|
|
24
24
|
return (combinedLength < SPLIT_MAX_LENGTH &&
|
|
25
25
|
(current.content.length < MERGE_MIN_LENGTH || next.content.length < MERGE_MIN_LENGTH));
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2Utc21hbGwtY2h1bmtzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvdXRpbHMvbWVyZ2Utc21hbGwtY2h1bmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdsRSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBeUI7SUFDdEQsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQXNCLEVBQUUsQ0FBQztJQUNyQyxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7SUFDaEMsSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRS9ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZCLElBQUksdUJBQXVCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxHQUFHLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXpCLFNBQVM7UUFDYixDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixPQUFPLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQzFDLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLE9BQXdCLEVBQUUsSUFBcUI7SUFDNUUsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFcEUsT0FBTyxDQUNILGNBQWMsR0FBRyxnQkFBZ0I7UUFDakMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxDQUN4RixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1FUkdFX01JTl9MRU5HVEgsIFNQTElUX01BWF9MRU5HVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDaHVua0Rlc2NyaXB0b3IsIENodW5rRGVzY3JpcHRvcnNNZXJnZVJlc3VsdCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlU21hbGxDaHVua3MoY2h1bmtzOiBDaHVua0Rlc2NyaXB0b3JbXSk6IENodW5rRGVzY3JpcHRvcnNNZXJnZVJlc3VsdCB7XHJcbiAgICBpZiAoY2h1bmtzLmxlbmd0aCA8PSAxKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgY2h1bmtzOiBbLi4uY2h1bmtzXSwgcmVtb3ZlZElkczogW10gfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZXN1bHQ6IENodW5rRGVzY3JpcHRvcltdID0gW107XHJcbiAgICBjb25zdCByZW1vdmVkSWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbGV0IGN1cnJlbnQgPSB7IGlkOiBjaHVua3NbMF0uaWQsIGNvbnRlbnQ6IGNodW5rc1swXS5jb250ZW50IH07XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBjaHVua3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBuZXh0ID0gY2h1bmtzW2ldO1xyXG5cclxuICAgICAgICBpZiAoY2hlY2tJc0F2YWlsYWJsZVRvTWVyZ2UoY3VycmVudCwgbmV4dCkpIHtcclxuICAgICAgICAgICAgY3VycmVudCA9IHsgaWQ6IGN1cnJlbnQuaWQsIGNvbnRlbnQ6IGN1cnJlbnQuY29udGVudCArIG5leHQuY29udGVudCB9O1xyXG4gICAgICAgICAgICByZW1vdmVkSWRzLnB1c2gobmV4dC5pZCk7XHJcblxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJlc3VsdC5wdXNoKGN1cnJlbnQpO1xyXG4gICAgICAgIGN1cnJlbnQgPSB7IGlkOiBuZXh0LmlkLCBjb250ZW50OiBuZXh0LmNvbnRlbnQgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXN1bHQucHVzaChjdXJyZW50KTtcclxuXHJcbiAgICByZXR1cm4geyBjaHVua3M6IHJlc3VsdCwgcmVtb3ZlZElkcyB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjaGVja0lzQXZhaWxhYmxlVG9NZXJnZShjdXJyZW50OiBDaHVua0Rlc2NyaXB0b3IsIG5leHQ6IENodW5rRGVzY3JpcHRvcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgY29tYmluZWRMZW5ndGggPSBjdXJyZW50LmNvbnRlbnQubGVuZ3RoICsgbmV4dC5jb250ZW50Lmxlbmd0aDtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIGNvbWJpbmVkTGVuZ3RoIDwgU1BMSVRfTUFYX0xFTkdUSCAmJlxyXG4gICAgICAgIChjdXJyZW50LmNvbnRlbnQubGVuZ3RoIDwgTUVSR0VfTUlOX0xFTkdUSCB8fCBuZXh0LmNvbnRlbnQubGVuZ3RoIDwgTUVSR0VfTUlOX0xFTkdUSClcclxuICAgICk7XHJcbn1cclxuIl19
|
|
@@ -6,4 +6,4 @@ export async function openFileInBrowser(file) {
|
|
|
6
6
|
const googleViewerUrl = `https://docs.google.com/viewer?url=${encodedUrl}&embedded=true`;
|
|
7
7
|
window.open(googleViewerUrl, '_blank');
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1maWxlLWluLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9vcGVuLWZpbGUtaW4tYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsS0FBSyxVQUFVLGlCQUFpQixDQUFDLElBQWlCO0lBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPO0lBQ1gsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxNQUFNLGVBQWUsR0FBRyxzQ0FBc0MsVUFBVSxnQkFBZ0IsQ0FBQztJQUV6RixNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VpRmlsZURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvcGVuRmlsZUluQnJvd3NlcihmaWxlOiBDdWlGaWxlRGF0YSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCFmaWxlPy51cmwpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZW5jb2RlZFVybCA9IGVuY29kZVVSSUNvbXBvbmVudChmaWxlLnVybCk7XHJcbiAgICBjb25zdCBnb29nbGVWaWV3ZXJVcmwgPSBgaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vdmlld2VyP3VybD0ke2VuY29kZWRVcmx9JmVtYmVkZGVkPXRydWVgO1xyXG5cclxuICAgIHdpbmRvdy5vcGVuKGdvb2dsZVZpZXdlclVybCwgJ19ibGFuaycpO1xyXG59XHJcbiJdfQ==
|
|
@@ -40,4 +40,4 @@ export function presetConfigToken() {
|
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LWNvbmZpZy10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3V0aWxzL3ByZXNldC1jb25maWctdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdEQsTUFBTSx3QkFBd0IsR0FBRztRQUM3QixhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUU7S0FDbkMsQ0FBQztJQUVGLE9BQU8sQ0FBQyxXQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxlQUFlO1lBQ3RCLE1BQU0sRUFBRTtnQkFDSixRQUFRLEVBQUUsV0FBVztnQkFDckIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLElBQUksRUFBRSxVQUFVO2dCQUNoQixXQUFXLEVBQUUsaUJBQWlCO2dCQUM5Qix3QkFBd0I7YUFDM0I7U0FDSjtRQUNELEtBQUssRUFBRTtZQUNILEtBQUssRUFBRSxZQUFZO1lBQ25CLE1BQU0sRUFBRTtnQkFDSixRQUFRLEVBQUUsV0FBVztnQkFDckIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxVQUFVO2dCQUNoQix3QkFBd0I7YUFDM0I7U0FDSjtRQUNELEtBQUssRUFBRTtZQUNILEtBQUssRUFBRSxZQUFZO1lBQ25CLE1BQU0sRUFBRTtnQkFDSixRQUFRLEVBQUUsV0FBVztnQkFDckIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxVQUFVO2dCQUNoQix3QkFBd0I7YUFDM0I7U0FDSjtLQUNKLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEN1aUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzJztcclxuaW1wb3J0IHR5cGUgeyBDdWlUb29scyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBDdWlBdHRhY2hlc1Rvb2wsIEN1aUltYWdlVG9vbCwgQ3VpVmlkZW9Ub29sIH0gZnJvbSAnLi4vdG9vbHMnO1xyXG5pbXBvcnQgeyBvcGVuRmlsZUluQnJvd3NlciB9IGZyb20gJy4vb3Blbi1maWxlLWluLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBzZXRMb2FkaW5nIH0gZnJvbSAnLi9zZXQtbG9hZGluZyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJlc2V0Q29uZmlnVG9rZW4oKTogKHJlc291cmNlVXJsOiBzdHJpbmcpID0+IFBhcnRpYWw8Q3VpVG9vbHM+IHtcclxuICAgIGNvbnN0IHRva2VuID0gaW5qZWN0KEN1aUF1dGhTZXJ2aWNlKS5nZXRBY2Nlc3NUb2tlbigpO1xyXG4gICAgY29uc3QgYWRkaXRpb25hbFJlcXVlc3RIZWFkZXJzID0ge1xyXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiAocmVzb3VyY2VVcmw6IHN0cmluZykgPT4gKHtcclxuICAgICAgICBhdHRhY2hlczoge1xyXG4gICAgICAgICAgICBjbGFzczogQ3VpQXR0YWNoZXNUb29sLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiByZXNvdXJjZVVybCxcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxyXG4gICAgICAgICAgICAgICAgdHlwZXM6ICcucGRmLC5kb2MsLmRvY3gnLFxyXG4gICAgICAgICAgICAgICAgbG9hZDogc2V0TG9hZGluZyxcclxuICAgICAgICAgICAgICAgIGZpbGVDbGlja2VkOiBvcGVuRmlsZUluQnJvd3NlcixcclxuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVyc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWRlbzoge1xyXG4gICAgICAgICAgICBjbGFzczogQ3VpVmlkZW9Ub29sLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiByZXNvdXJjZVVybCxcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxyXG4gICAgICAgICAgICAgICAgbG9hZDogc2V0TG9hZGluZyxcclxuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVyc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbWFnZToge1xyXG4gICAgICAgICAgICBjbGFzczogQ3VpSW1hZ2VUb29sLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiByZXNvdXJjZVVybCxcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxyXG4gICAgICAgICAgICAgICAgbG9hZDogc2V0TG9hZGluZyxcclxuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVyc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbn1cclxuIl19
|
|
@@ -11,4 +11,4 @@ export function setLoading(status) {
|
|
|
11
11
|
};
|
|
12
12
|
return loadingActions[status]();
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWxvYWRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9zZXQtbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQTZCO0lBQ3BELE1BQU0sT0FBTyxHQUFHLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFELE1BQU0sY0FBYyxHQUE4QztRQUM5RCxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDM0QsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDcEMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3JDLENBQUM7S0FDSixDQUFDO0lBRUYsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ndWxhck91dHNpZGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDdWlGaWxlVXBsb2FkZXJTdGF0dXMgfSBmcm9tICcuL2ZpbGUtdXBsb2FkZXInO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNldExvYWRpbmcoc3RhdHVzOiBDdWlGaWxlVXBsb2FkZXJTdGF0dXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlcnZpY2UgPSBBbmd1bGFyT3V0c2lkZUxvYWRlclNlcnZpY2UuZ2V0SW5zdGFuY2UoKTtcclxuICAgIGNvbnN0IGxvYWRpbmdBY3Rpb25zOiBSZWNvcmQ8Q3VpRmlsZVVwbG9hZGVyU3RhdHVzLCAoKSA9PiB2b2lkPiA9IHtcclxuICAgICAgICBbQ3VpRmlsZVVwbG9hZGVyU3RhdHVzLkxvYWRpbmddOiAoKSA9PiBzZXJ2aWNlLnNldExvYWRpbmcoKSxcclxuICAgICAgICBbQ3VpRmlsZVVwbG9hZGVyU3RhdHVzLkNvbXBsZXRlZF06ICgpID0+IHtcclxuICAgICAgICAgICAgc2VydmljZS5zZXRDb21wbGV0ZWQoKTtcclxuICAgICAgICAgICAgc2VydmljZS5oYW5kbGVDb21wbGV0ZWRSZXF1ZXN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gbG9hZGluZ0FjdGlvbnNbc3RhdHVzXSgpO1xyXG59XHJcbiJdfQ==
|
|
@@ -9,4 +9,4 @@ export function urlValidator() {
|
|
|
9
9
|
}
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3V0aWxzL3VybC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLFlBQVk7SUFDeEIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1FBQzNELElBQUksQ0FBQztZQUNELElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWYsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNMLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXJsVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbmV3IFVSTCh2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdXJsOiB0cnVlIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufVxyXG4iXX0=
|
|
@@ -46,7 +46,7 @@ export class CuiEditorBlockComponent {
|
|
|
46
46
|
}, { allowSignalWrites: true });
|
|
47
47
|
}
|
|
48
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiEditorBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiEditorBlockComponent, isStandalone: true, selector: "cui-editor-block", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, editorId: { classPropertyName: "editorId", publicName: "editorId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { editorEmpty: "editorEmpty" }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div class=\"wrapper\">\n <span class=\"title\">\n {{ t('DESCRIPTION') }}\n @if (required()) {\n <span class=\"title__required\">*</span>\n }\n </span>\n <ng-template #button>\n <button\n [cuiTooltip]=\"t('EXPAND_EDITOR_TO_FULLSCREEN')\"\n cuiButton\n size=\"xxs\"\n type=\"button\"\n appearance=\"ghost\"\n icon=\"cuiIconMaximizeSm\"\n (click)=\"onToggleDescriptionModal()\"\n ></button>\n </ng-template>\n <cui-editor-modal\n [title]=\"title()\"\n [editorId]=\"editorId()\"\n [buttonTemplate]=\"button\"\n [config]=\"config()\"\n (modalClosed)=\"onToggleDescriptionModal()\"\n />\n </div>\n <div\n #editorContainer\n cuiContentWrapper\n class=\"editor\"\n [class.editor_invalid]=\"required() && isDescriptionEmpty()\"\n >\n @if (!isDescriptionModalOpen() && editorConfig()) {\n <cui-editor\n #editorComponent\n [editorApiId]=\"editorId()\"\n [config]=\"editorConfig()!\"\n (editorEmpty)=\"onDescriptionChange($event)\"\n />\n }\n </div>\n @if (required() && isDescriptionEmpty()) {\n <cui-hint hintType=\"error\">{{ t('DESCRIPTION_IS_REQUIRED') }}</cui-hint>\n }\n</ng-container>\n", styles: [":host{--max-editor-height: 650px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}:host .editor{max-height:var(--max-editor-height)}.wrapper{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:space-between}.editor{padding-top:16px;padding-bottom:16px;display:block;overflow:auto}.editor_invalid{border:1px solid var(--cui-danger)}.title{font-weight:500;font-size:14px;line-height:20px}.title__required{color:var(--cui-danger)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "component", type: CuiEditorModalComponent, selector: "cui-editor-modal", inputs: ["title", "buttonTemplate", "config", "editorId"], outputs: ["editorCreated", "modalClosed"] }, { kind: "component", type: CuiEditorComponent, selector: "cui-editor", inputs: ["editorApiId", "config", "requestSize"], outputs: ["editorEmpty"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "directive", type: i2.CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: i3.CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiEditorBlockComponent, isStandalone: true, selector: "cui-editor-block", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, editorId: { classPropertyName: "editorId", publicName: "editorId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { editorEmpty: "editorEmpty" }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"wrapper\">\r\n <span class=\"title\">\r\n {{ t('DESCRIPTION') }}\r\n @if (required()) {\r\n <span class=\"title__required\">*</span>\r\n }\r\n </span>\r\n <ng-template #button>\r\n <button\r\n [cuiTooltip]=\"t('EXPAND_EDITOR_TO_FULLSCREEN')\"\r\n cuiButton\r\n size=\"xxs\"\r\n type=\"button\"\r\n appearance=\"ghost\"\r\n icon=\"cuiIconMaximizeSm\"\r\n (click)=\"onToggleDescriptionModal()\"\r\n ></button>\r\n </ng-template>\r\n <cui-editor-modal\r\n [title]=\"title()\"\r\n [editorId]=\"editorId()\"\r\n [buttonTemplate]=\"button\"\r\n [config]=\"config()\"\r\n (modalClosed)=\"onToggleDescriptionModal()\"\r\n />\r\n </div>\r\n <div\r\n #editorContainer\r\n cuiContentWrapper\r\n class=\"editor\"\r\n [class.editor_invalid]=\"required() && isDescriptionEmpty()\"\r\n >\r\n @if (!isDescriptionModalOpen() && editorConfig()) {\r\n <cui-editor\r\n #editorComponent\r\n [editorApiId]=\"editorId()\"\r\n [config]=\"editorConfig()!\"\r\n (editorEmpty)=\"onDescriptionChange($event)\"\r\n />\r\n }\r\n </div>\r\n @if (required() && isDescriptionEmpty()) {\r\n <cui-hint hintType=\"error\">{{ t('DESCRIPTION_IS_REQUIRED') }}</cui-hint>\r\n }\r\n</ng-container>\r\n", styles: [":host{--max-editor-height: 650px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}:host .editor{max-height:var(--max-editor-height)}.wrapper{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:space-between}.editor{padding-top:16px;padding-bottom:16px;display:block;overflow:auto}.editor_invalid{border:1px solid var(--cui-danger)}.title{font-weight:500;font-size:14px;line-height:20px}.title__required{color:var(--cui-danger)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "component", type: CuiEditorModalComponent, selector: "cui-editor-modal", inputs: ["title", "buttonTemplate", "config", "editorId"], outputs: ["editorCreated", "modalClosed"] }, { kind: "component", type: CuiEditorComponent, selector: "cui-editor", inputs: ["editorApiId", "config", "requestSize"], outputs: ["editorEmpty"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "directive", type: i2.CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: i3.CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
50
50
|
}
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiEditorBlockComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
@@ -58,6 +58,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
58
58
|
CuiContentWrapperComponent,
|
|
59
59
|
CuiTooltip,
|
|
60
60
|
CuiHintModule
|
|
61
|
-
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\n <div class=\"wrapper\">\n <span class=\"title\">\n {{ t('DESCRIPTION') }}\n @if (required()) {\n <span class=\"title__required\">*</span>\n }\n </span>\n <ng-template #button>\n <button\n [cuiTooltip]=\"t('EXPAND_EDITOR_TO_FULLSCREEN')\"\n cuiButton\n size=\"xxs\"\n type=\"button\"\n appearance=\"ghost\"\n icon=\"cuiIconMaximizeSm\"\n (click)=\"onToggleDescriptionModal()\"\n ></button>\n </ng-template>\n <cui-editor-modal\n [title]=\"title()\"\n [editorId]=\"editorId()\"\n [buttonTemplate]=\"button\"\n [config]=\"config()\"\n (modalClosed)=\"onToggleDescriptionModal()\"\n />\n </div>\n <div\n #editorContainer\n cuiContentWrapper\n class=\"editor\"\n [class.editor_invalid]=\"required() && isDescriptionEmpty()\"\n >\n @if (!isDescriptionModalOpen() && editorConfig()) {\n <cui-editor\n #editorComponent\n [editorApiId]=\"editorId()\"\n [config]=\"editorConfig()!\"\n (editorEmpty)=\"onDescriptionChange($event)\"\n />\n }\n </div>\n @if (required() && isDescriptionEmpty()) {\n <cui-hint hintType=\"error\">{{ t('DESCRIPTION_IS_REQUIRED') }}</cui-hint>\n }\n</ng-container>\n", styles: [":host{--max-editor-height: 650px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}:host .editor{max-height:var(--max-editor-height)}.wrapper{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:space-between}.editor{padding-top:16px;padding-bottom:16px;display:block;overflow:auto}.editor_invalid{border:1px solid var(--cui-danger)}.title{font-weight:500;font-size:14px;line-height:20px}.title__required{color:var(--cui-danger)}\n"] }]
|
|
61
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"wrapper\">\r\n <span class=\"title\">\r\n {{ t('DESCRIPTION') }}\r\n @if (required()) {\r\n <span class=\"title__required\">*</span>\r\n }\r\n </span>\r\n <ng-template #button>\r\n <button\r\n [cuiTooltip]=\"t('EXPAND_EDITOR_TO_FULLSCREEN')\"\r\n cuiButton\r\n size=\"xxs\"\r\n type=\"button\"\r\n appearance=\"ghost\"\r\n icon=\"cuiIconMaximizeSm\"\r\n (click)=\"onToggleDescriptionModal()\"\r\n ></button>\r\n </ng-template>\r\n <cui-editor-modal\r\n [title]=\"title()\"\r\n [editorId]=\"editorId()\"\r\n [buttonTemplate]=\"button\"\r\n [config]=\"config()\"\r\n (modalClosed)=\"onToggleDescriptionModal()\"\r\n />\r\n </div>\r\n <div\r\n #editorContainer\r\n cuiContentWrapper\r\n class=\"editor\"\r\n [class.editor_invalid]=\"required() && isDescriptionEmpty()\"\r\n >\r\n @if (!isDescriptionModalOpen() && editorConfig()) {\r\n <cui-editor\r\n #editorComponent\r\n [editorApiId]=\"editorId()\"\r\n [config]=\"editorConfig()!\"\r\n (editorEmpty)=\"onDescriptionChange($event)\"\r\n />\r\n }\r\n </div>\r\n @if (required() && isDescriptionEmpty()) {\r\n <cui-hint hintType=\"error\">{{ t('DESCRIPTION_IS_REQUIRED') }}</cui-hint>\r\n }\r\n</ng-container>\r\n", styles: [":host{--max-editor-height: 650px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}:host .editor{max-height:var(--max-editor-height)}.wrapper{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:space-between}.editor{padding-top:16px;padding-bottom:16px;display:block;overflow:auto}.editor_invalid{border:1px solid var(--cui-danger)}.title{font-weight:500;font-size:14px;line-height:20px}.title__required{color:var(--cui-danger)}\n"] }]
|
|
62
62
|
}], ctorParameters: () => [] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3dpZGdldHMvZWRpdG9yLWJsb2NrL2VkaXRvci1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci93aWRnZXRzL2VkaXRvci1ibG9jay9lZGl0b3ItYmxvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBa0JqRixNQUFNLE9BQU8sdUJBQXVCO0lBa0JoQztRQWpCUSx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFaEIsaUJBQVksR0FBRyxNQUFNLENBQStCLElBQUksQ0FBQyxDQUFDO1FBQzFELDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsb0JBQWUsR0FBRyxTQUFTLENBQWtDLGlCQUFpQixFQUFFO1lBQzVGLElBQUksRUFBRSxVQUFVO1NBQ25CLENBQUMsQ0FBQztRQUVhLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNwQyxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBbUIsQ0FBQztRQUMzQyxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFHNUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVTLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUVqQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQ3BCLEdBQUcsRUFBRTtZQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxhQUFhLENBQUM7WUFFdEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNYLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDOUIsQ0FBQztJQUNOLENBQUM7K0dBcERRLHVCQUF1QjttR0FBdkIsdUJBQXVCLGt0QkFRdEIsVUFBVSw2Q0M1Q3hCLHVtREE4Q0Esb2pCRHZCUSxlQUFlLG9PQUNmLHVCQUF1QixtS0FDdkIsa0JBQWtCLG1JQUNsQixrQkFBa0IsZ01BQ2xCLDBCQUEwQiwrU0FFMUIsYUFBYTs7NEZBT1IsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDSSxrQkFBa0IsV0FDbkI7d0JBQ0wsZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLFVBQVU7d0JBQ1YsYUFBYTtxQkFDaEIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBlZmZlY3QsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgaW5wdXQsXHJcbiAgICBvdXRwdXQsXHJcbiAgICBzaWduYWwsXHJcbiAgICB2aWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XHJcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XHJcblxyXG5pbXBvcnQgeyBDdWlCdXR0b25Nb2R1bGUsIEN1aUNvbnRlbnRXcmFwcGVyQ29tcG9uZW50LCBDdWlIaW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEN1aVRvb2x0aXAgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcclxuXHJcbmltcG9ydCB7IEN1aUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgdHlwZSB7IEN1aUVkaXRvckNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBDdWlFZGl0b3JNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci1tb2RhbC9lZGl0b3ItbW9kYWwuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjdWktZWRpdG9yLWJsb2NrJyxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgQ3VpRWRpdG9yTW9kYWxDb21wb25lbnQsXHJcbiAgICAgICAgQ3VpRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcclxuICAgICAgICBDdWlDb250ZW50V3JhcHBlckNvbXBvbmVudCxcclxuICAgICAgICBDdWlUb29sdGlwLFxyXG4gICAgICAgIEN1aUhpbnRNb2R1bGVcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci1ibG9jay5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0b3ItYmxvY2suY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlFZGl0b3JCbG9ja0NvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIHNraXBGaXJzdFZhbGlkYXRpb24gPSB0cnVlO1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JDb25maWcgPSBzaWduYWw8Q3VpTnVsbGFibGU8Q3VpRWRpdG9yQ29uZmlnPj4obnVsbCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEZXNjcmlwdGlvbk1vZGFsT3BlbiA9IHNpZ25hbChmYWxzZSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEZXNjcmlwdGlvbkVtcHR5ID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdG9yQ29udGFpbmVyID0gdmlld0NoaWxkPHN0cmluZywgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdlZGl0b3JDb250YWluZXInLCB7XHJcbiAgICAgICAgcmVhZDogRWxlbWVudFJlZlxyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvcklkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEN1aUVkaXRvckNvbmZpZz4oKTtcclxuICAgIHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0KGZhbHNlKTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdG9yRW1wdHkgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmluaXRFZGl0b3JDb25maWcoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25Ub2dnbGVEZXNjcmlwdGlvbk1vZGFsKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNEZXNjcmlwdGlvbk1vZGFsT3Blbi51cGRhdGUoKHByZXYpID0+ICFwcmV2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkNoYW5nZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yRW1wdHkuZW1pdCh2YWx1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNraXBGaXJzdFZhbGlkYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5za2lwRmlyc3RWYWxpZGF0aW9uID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmlzRGVzY3JpcHRpb25FbXB0eS5zZXQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdEVkaXRvckNvbmZpZygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBlZmZlY3RSZWYgPSBlZmZlY3QoXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVkaXRvckNvbnRhaW5lcigpPy5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICghZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvckNvbmZpZy5zZXQoeyBlbGVtZW50LCAuLi50aGlzLmNvbmZpZygpIH0pO1xyXG4gICAgICAgICAgICAgICAgZWZmZWN0UmVmLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgIHt7IHQoJ0RFU0NSSVBUSU9OJykgfX1cclxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCgpKSB7XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlX19yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNidXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIFtjdWlUb29sdGlwXT1cInQoJ0VYUEFORF9FRElUT1JfVE9fRlVMTFNDUkVFTicpXCJcclxuICAgICAgICAgICAgICAgIGN1aUJ1dHRvblxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXHJcbiAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvbk1heGltaXplU21cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlRGVzY3JpcHRpb25Nb2RhbCgpXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPGN1aS1lZGl0b3ItbW9kYWxcclxuICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlKClcIlxyXG4gICAgICAgICAgICBbZWRpdG9ySWRdPVwiZWRpdG9ySWQoKVwiXHJcbiAgICAgICAgICAgIFtidXR0b25UZW1wbGF0ZV09XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZygpXCJcclxuICAgICAgICAgICAgKG1vZGFsQ2xvc2VkKT1cIm9uVG9nZ2xlRGVzY3JpcHRpb25Nb2RhbCgpXCJcclxuICAgICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgI2VkaXRvckNvbnRhaW5lclxyXG4gICAgICAgIGN1aUNvbnRlbnRXcmFwcGVyXHJcbiAgICAgICAgY2xhc3M9XCJlZGl0b3JcIlxyXG4gICAgICAgIFtjbGFzcy5lZGl0b3JfaW52YWxpZF09XCJyZXF1aXJlZCgpICYmIGlzRGVzY3JpcHRpb25FbXB0eSgpXCJcclxuICAgID5cclxuICAgICAgICBAaWYgKCFpc0Rlc2NyaXB0aW9uTW9kYWxPcGVuKCkgJiYgZWRpdG9yQ29uZmlnKCkpIHtcclxuICAgICAgICAgICAgPGN1aS1lZGl0b3JcclxuICAgICAgICAgICAgICAgICNlZGl0b3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgIFtlZGl0b3JBcGlJZF09XCJlZGl0b3JJZCgpXCJcclxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiZWRpdG9yQ29uZmlnKCkhXCJcclxuICAgICAgICAgICAgICAgIChlZGl0b3JFbXB0eSk9XCJvbkRlc2NyaXB0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmIChyZXF1aXJlZCgpICYmIGlzRGVzY3JpcHRpb25FbXB0eSgpKSB7XHJcbiAgICAgICAgPGN1aS1oaW50IGhpbnRUeXBlPVwiZXJyb3JcIj57eyB0KCdERVNDUklQVElPTl9JU19SRVFVSVJFRCcpIH19PC9jdWktaGludD5cclxuICAgIH1cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|