@koobiq/components 18.28.0 → 18.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-trigger.component.scss +2 -0
- package/actions-panel/actions-panel-container.scss +4 -1
- package/actions-panel/actions-panel-tokens.scss +2 -1
- package/breadcrumbs/breadcrumbs.d.ts +1 -1
- package/checkbox/checkbox.scss +2 -0
- package/core/common-behaviors/clipboard.d.ts +12 -0
- package/core/common-behaviors/index.d.ts +1 -0
- package/core/formatters/filesize/config.d.ts +66 -0
- package/core/formatters/filesize/formatter.d.ts +17 -0
- package/core/{utils/data-size → formatters/filesize}/index.d.ts +1 -1
- package/core/formatters/filesize/size.d.ts +36 -0
- package/core/formatters/index.d.ts +3 -1
- package/core/formatters/number/formatter.d.ts +13 -4
- package/core/locales/formatters.d.ts +9 -1
- package/core/locales/locale-service.d.ts +9 -1
- package/core/locales/types.d.ts +14 -0
- package/core/utils/public-api.d.ts +0 -1
- package/datepicker/calendar.scss +2 -0
- package/datepicker/datepicker-tokens.scss +1 -1
- package/dropdown/dropdown-item.component.d.ts +3 -1
- package/esm2022/accordion/accordion-content.mjs +4 -4
- package/esm2022/accordion/accordion-header.mjs +4 -4
- package/esm2022/accordion/accordion-item.mjs +4 -4
- package/esm2022/accordion/accordion-trigger.component.mjs +6 -6
- package/esm2022/accordion/accordion.component.mjs +4 -4
- package/esm2022/accordion/accordion.module.mjs +5 -5
- package/esm2022/actions-panel/actions-panel-container.mjs +6 -6
- package/esm2022/actions-panel/actions-panel.mjs +13 -13
- package/esm2022/actions-panel/module.mjs +5 -5
- package/esm2022/alert/alert.component.mjs +13 -13
- package/esm2022/alert/alert.module.mjs +5 -5
- package/esm2022/autocomplete/autocomplete-origin.directive.mjs +4 -4
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -4
- package/esm2022/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2022/badge/badge.component.mjs +10 -10
- package/esm2022/badge/badge.module.mjs +5 -5
- package/esm2022/breadcrumbs/breadcrumbs.mjs +17 -17
- package/esm2022/breadcrumbs/breadcrumbs.module.mjs +5 -5
- package/esm2022/button/button.component.mjs +7 -7
- package/esm2022/button/button.dropdown-trigger.directive.mjs +4 -4
- package/esm2022/button/button.module.mjs +5 -5
- package/esm2022/button-toggle/button-toggle.component.mjs +7 -7
- package/esm2022/button-toggle/button-toggle.module.mjs +5 -5
- package/esm2022/checkbox/checkbox-module.mjs +5 -5
- package/esm2022/checkbox/checkbox-required-validator.mjs +4 -4
- package/esm2022/checkbox/checkbox.mjs +5 -5
- package/esm2022/code-block/code-block-highlight.mjs +4 -4
- package/esm2022/code-block/code-block.mjs +4 -4
- package/esm2022/code-block/code-block.module.mjs +5 -5
- package/esm2022/core/common-behaviors/clipboard.mjs +31 -0
- package/esm2022/core/common-behaviors/color.mjs +4 -4
- package/esm2022/core/common-behaviors/common-module.mjs +5 -5
- package/esm2022/core/common-behaviors/index.mjs +2 -1
- package/esm2022/core/error/error-state-matcher.mjs +10 -10
- package/esm2022/core/formatters/date/formatter.mjs +4 -4
- package/esm2022/core/formatters/date/formatter.pipe.mjs +79 -79
- package/esm2022/core/formatters/filesize/config.mjs +32 -0
- package/esm2022/core/formatters/filesize/formatter.mjs +46 -0
- package/esm2022/core/formatters/filesize/index.mjs +4 -0
- package/esm2022/core/formatters/filesize/size.mjs +67 -0
- package/esm2022/core/formatters/index.mjs +15 -9
- package/esm2022/core/formatters/number/formatter.mjs +38 -36
- package/esm2022/core/forms/forms-module.mjs +5 -5
- package/esm2022/core/forms/forms.directive.mjs +7 -7
- package/esm2022/core/highlight/highlight.pipe.mjs +4 -4
- package/esm2022/core/highlight/index.mjs +5 -5
- package/esm2022/core/line/line.mjs +8 -8
- package/esm2022/core/locales/formatters.mjs +21 -13
- package/esm2022/core/locales/locale-service.mjs +4 -4
- package/esm2022/core/locales/locale-service.module.mjs +5 -5
- package/esm2022/core/locales/types.mjs +1 -1
- package/esm2022/core/option/action.mjs +4 -4
- package/esm2022/core/option/optgroup.mjs +4 -4
- package/esm2022/core/option/option-module.mjs +5 -5
- package/esm2022/core/option/option.mjs +4 -4
- package/esm2022/core/pop-up/pop-up-trigger.mjs +4 -4
- package/esm2022/core/pop-up/pop-up.mjs +4 -4
- package/esm2022/core/select/common.mjs +16 -16
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
- package/esm2022/core/services/measure-scrollbar.service.mjs +4 -4
- package/esm2022/core/services/theme.service.mjs +4 -4
- package/esm2022/core/utils/public-api.mjs +1 -2
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-body.component.mjs +4 -4
- package/esm2022/datepicker/calendar-header.component.mjs +4 -4
- package/esm2022/datepicker/calendar.component.mjs +5 -5
- package/esm2022/datepicker/datepicker-input.directive.mjs +4 -4
- package/esm2022/datepicker/datepicker-intl.mjs +4 -4
- package/esm2022/datepicker/datepicker-module.mjs +5 -5
- package/esm2022/datepicker/datepicker-toggle.component.mjs +7 -7
- package/esm2022/datepicker/datepicker.component.mjs +8 -8
- package/esm2022/datepicker/month-view.component.mjs +4 -4
- package/esm2022/divider/divider.component.mjs +4 -4
- package/esm2022/divider/divider.module.mjs +5 -5
- package/esm2022/dl/dl.component.mjs +10 -10
- package/esm2022/dl/dl.module.mjs +5 -5
- package/esm2022/dropdown/dropdown-content.directive.mjs +4 -4
- package/esm2022/dropdown/dropdown-item.component.mjs +9 -7
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
- package/esm2022/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/dropdown/dropdown.module.mjs +5 -5
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +8 -8
- package/esm2022/empty-state/empty-state.component.mjs +16 -16
- package/esm2022/empty-state/empty-state.module.mjs +5 -5
- package/esm2022/file-upload/file-drop.mjs +4 -4
- package/esm2022/file-upload/file-upload.module.mjs +5 -5
- package/esm2022/file-upload/multiple-file-upload.component.mjs +5 -5
- package/esm2022/file-upload/single-file-upload.component.mjs +5 -5
- package/esm2022/filter-bar/filter-bar-button.mjs +4 -4
- package/esm2022/filter-bar/filter-bar.mjs +4 -4
- package/esm2022/filter-bar/filter-bar.module.mjs +5 -5
- package/esm2022/filter-bar/filter-bar.types.mjs +32 -1
- package/esm2022/filter-bar/filter-refresher.mjs +4 -4
- package/esm2022/filter-bar/filter-reset.mjs +4 -4
- package/esm2022/filter-bar/filter-search.mjs +4 -4
- package/esm2022/filter-bar/filters.mjs +27 -20
- package/esm2022/filter-bar/pipe-add.mjs +4 -4
- package/esm2022/filter-bar/pipe.directive.mjs +4 -4
- package/esm2022/filter-bar/pipes/base-pipe.mjs +7 -7
- package/esm2022/filter-bar/pipes/pipe-button.mjs +4 -4
- package/esm2022/filter-bar/pipes/pipe-date.mjs +6 -6
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +6 -6
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +29 -11
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +234 -0
- package/esm2022/filter-bar/pipes/pipe-readonly.mjs +6 -6
- package/esm2022/filter-bar/pipes/pipe-select.mjs +6 -6
- package/esm2022/filter-bar/pipes/pipe-state.mjs +4 -4
- package/esm2022/filter-bar/pipes/pipe-text.mjs +6 -6
- package/esm2022/filter-bar/pipes/pipe-title.mjs +4 -4
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +136 -0
- package/esm2022/filter-bar/public-api.mjs +2 -1
- package/esm2022/form-field/cleaner.mjs +4 -4
- package/esm2022/form-field/form-field.mjs +12 -12
- package/esm2022/form-field/form-field.module.mjs +5 -5
- package/esm2022/form-field/hint.mjs +4 -4
- package/esm2022/form-field/password-hint.mjs +9 -7
- package/esm2022/form-field/password-toggle.mjs +4 -4
- package/esm2022/form-field/prefix.mjs +4 -4
- package/esm2022/form-field/stepper.mjs +4 -4
- package/esm2022/form-field/suffix.mjs +4 -4
- package/esm2022/form-field/validate.directive.mjs +4 -4
- package/esm2022/icon/icon-button.component.mjs +4 -4
- package/esm2022/icon/icon-item.component.mjs +4 -4
- package/esm2022/icon/icon.component.mjs +4 -4
- package/esm2022/icon/icon.module.mjs +5 -5
- package/esm2022/input/input-number-validators.mjs +7 -7
- package/esm2022/input/input-number.mjs +13 -12
- package/esm2022/input/input-password.mjs +4 -4
- package/esm2022/input/input.mjs +7 -7
- package/esm2022/input/input.module.mjs +5 -5
- package/esm2022/link/link.component.mjs +4 -4
- package/esm2022/link/link.module.mjs +5 -5
- package/esm2022/list/list-selection.component.mjs +10 -10
- package/esm2022/list/list.component.mjs +7 -7
- package/esm2022/list/list.module.mjs +5 -5
- package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
- package/esm2022/loader-overlay/loader-overlay.module.mjs +5 -5
- package/esm2022/markdown/markdown.component.mjs +4 -4
- package/esm2022/markdown/markdown.module.mjs +5 -5
- package/esm2022/markdown/markdown.service.mjs +4 -4
- package/esm2022/modal/css-unit.pipe.mjs +4 -4
- package/esm2022/modal/modal-control.service.mjs +4 -4
- package/esm2022/modal/modal.component.mjs +4 -4
- package/esm2022/modal/modal.directive.mjs +13 -13
- package/esm2022/modal/modal.module.mjs +5 -5
- package/esm2022/modal/modal.service.mjs +4 -4
- package/esm2022/modal/modal.type.mjs +1 -1
- package/esm2022/navbar/navbar-item.component.mjs +28 -28
- package/esm2022/navbar/navbar.component.mjs +10 -10
- package/esm2022/navbar/navbar.module.mjs +5 -5
- package/esm2022/navbar/vertical-navbar.component.mjs +4 -4
- package/esm2022/overflow-items/module.mjs +5 -5
- package/esm2022/overflow-items/overflow-items.mjs +15 -15
- package/esm2022/popover/popover-confirm.component.mjs +7 -7
- package/esm2022/popover/popover.component.mjs +7 -7
- package/esm2022/popover/popover.module.mjs +5 -5
- package/esm2022/progress-bar/progress-bar.component.mjs +10 -10
- package/esm2022/progress-bar/progress-bar.module.mjs +5 -5
- package/esm2022/progress-spinner/progress-spinner.component.mjs +10 -10
- package/esm2022/progress-spinner/progress-spinner.module.mjs +5 -5
- package/esm2022/radio/radio.component.mjs +7 -7
- package/esm2022/radio/radio.module.mjs +5 -5
- package/esm2022/risk-level/risk-level.component.mjs +4 -4
- package/esm2022/risk-level/risk-level.module.mjs +5 -5
- package/esm2022/scrollbar/scrollbar.component.mjs +4 -4
- package/esm2022/scrollbar/scrollbar.directive.mjs +4 -4
- package/esm2022/scrollbar/scrollbar.module.mjs +5 -5
- package/esm2022/select/select-option.directive.mjs +4 -4
- package/esm2022/select/select.component.mjs +6 -6
- package/esm2022/select/select.module.mjs +5 -5
- package/esm2022/sidebar/sidebar.component.mjs +18 -12
- package/esm2022/sidebar/sidebar.module.mjs +5 -5
- package/esm2022/sidepanel/sidepanel-container.component.mjs +4 -4
- package/esm2022/sidepanel/sidepanel-directives.mjs +16 -16
- package/esm2022/sidepanel/sidepanel.module.mjs +5 -5
- package/esm2022/sidepanel/sidepanel.service.mjs +4 -4
- package/esm2022/splitter/splitter.component.mjs +13 -13
- package/esm2022/splitter/splitter.module.mjs +5 -5
- package/esm2022/table/table.component.mjs +7 -7
- package/esm2022/table/table.module.mjs +5 -5
- package/esm2022/tabs/paginated-tab-header.mjs +4 -4
- package/esm2022/tabs/tab-body.component.mjs +7 -7
- package/esm2022/tabs/tab-content.directive.mjs +4 -4
- package/esm2022/tabs/tab-group.component.mjs +16 -16
- package/esm2022/tabs/tab-header.component.mjs +4 -4
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -4
- package/esm2022/tabs/tab-label.directive.mjs +4 -4
- package/esm2022/tabs/tab-nav-bar.mjs +10 -10
- package/esm2022/tabs/tab.component.mjs +4 -4
- package/esm2022/tabs/tabs.module.mjs +5 -5
- package/esm2022/tags/tag-input.mjs +4 -4
- package/esm2022/tags/tag-list.component.mjs +5 -5
- package/esm2022/tags/tag.component.mjs +13 -13
- package/esm2022/tags/tag.module.mjs +5 -5
- package/esm2022/textarea/textarea.component.mjs +4 -4
- package/esm2022/textarea/textarea.module.mjs +5 -5
- package/esm2022/timepicker/timepicker.directive.mjs +4 -4
- package/esm2022/timepicker/timepicker.module.mjs +5 -5
- package/esm2022/timezone/cities-by-filter.pipe.mjs +4 -4
- package/esm2022/timezone/timezone-option.component.mjs +4 -4
- package/esm2022/timezone/timezone-option.directive.mjs +4 -4
- package/esm2022/timezone/timezone-select.component.mjs +9 -9
- package/esm2022/timezone/timezone.module.mjs +5 -5
- package/esm2022/timezone/utc-offset.pipe.mjs +4 -4
- package/esm2022/title/title.directive.mjs +4 -4
- package/esm2022/title/title.module.mjs +5 -5
- package/esm2022/toast/toast-container.component.mjs +4 -4
- package/esm2022/toast/toast.component.mjs +7 -7
- package/esm2022/toast/toast.module.mjs +5 -5
- package/esm2022/toast/toast.service.mjs +4 -4
- package/esm2022/toggle/toggle.component.mjs +4 -4
- package/esm2022/toggle/toggle.module.mjs +5 -5
- package/esm2022/tooltip/tooltip.component.mjs +13 -13
- package/esm2022/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/top-bar/module.mjs +5 -5
- package/esm2022/top-bar/top-bar.mjs +10 -10
- package/esm2022/tree/control/flat-tree-control.filters.mjs +10 -2
- package/esm2022/tree/node.mjs +4 -4
- package/esm2022/tree/outlet.mjs +4 -4
- package/esm2022/tree/padding.directive.mjs +4 -4
- package/esm2022/tree/toggle.mjs +10 -10
- package/esm2022/tree/tree-base.mjs +7 -7
- package/esm2022/tree/tree-option.component.mjs +11 -7
- package/esm2022/tree/tree-selection.component.mjs +6 -4
- package/esm2022/tree/tree.mjs +4 -4
- package/esm2022/tree/tree.module.mjs +5 -5
- package/esm2022/tree-select/tree-select.component.mjs +5 -5
- package/esm2022/tree-select/tree-select.module.mjs +5 -5
- package/fesm2022/koobiq-components-accordion.mjs +21 -21
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +21 -21
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +16 -16
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +13 -13
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +13 -13
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +20 -20
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +13 -13
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +11 -11
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +10 -10
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +410 -322
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +36 -36
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +7 -7
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +13 -13
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +21 -19
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +19 -19
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +15 -15
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +480 -107
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +44 -42
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +13 -13
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +32 -31
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +7 -7
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +19 -19
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +10 -10
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +28 -28
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +43 -43
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +18 -18
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +16 -16
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +10 -10
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +7 -7
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +12 -12
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +21 -15
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +25 -25
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +16 -16
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +10 -10
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +52 -52
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +23 -23
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +7 -7
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +7 -7
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +24 -24
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +7 -7
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +16 -16
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +7 -7
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +16 -16
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +13 -13
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +8 -8
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +54 -40
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +94 -17
- package/file-upload/file-upload-tokens.scss +5 -0
- package/file-upload/single-file-upload.component.scss +1 -0
- package/filter-bar/filter-bar.types.d.ts +28 -1
- package/filter-bar/filters.d.ts +3 -2
- package/filter-bar/filters.scss +4 -0
- package/filter-bar/pipes/base-pipe.scss +1 -0
- package/filter-bar/pipes/pipe-multi-select.d.ts +6 -1
- package/filter-bar/pipes/pipe-multi-tree-select.d.ts +57 -0
- package/filter-bar/pipes/pipe-multi-tree-select.scss +19 -0
- package/filter-bar/pipes/pipe-tree-select.d.ts +41 -0
- package/filter-bar/pipes/pipe-tree-select.scss +9 -0
- package/filter-bar/public-api.d.ts +1 -0
- package/form-field/_form-field-theme.scss +12 -12
- package/form-field/form-field.scss +58 -61
- package/input/_input-theme.scss +6 -0
- package/input/input-number.d.ts +1 -0
- package/modal/modal.type.d.ts +1 -1
- package/overflow-items/overflow-items.d.ts +1 -1
- package/package.json +5 -5
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/schematics/ng-add/index.js +5 -5
- package/select/_select-theme.scss +1 -1
- package/select/select.scss +2 -0
- package/tags/_tag-theme.scss +5 -0
- package/tags/tag-tokens.scss +17 -0
- package/tree/control/flat-tree-control.filters.d.ts +1 -0
- package/tree/tree-option.component.d.ts +3 -1
- package/core/utils/data-size/config.d.ts +0 -38
- package/core/utils/data-size/data-size.pipe.d.ts +0 -14
- package/core/utils/data-size/size.d.ts +0 -15
- package/esm2022/core/utils/data-size/config.mjs +0 -10
- package/esm2022/core/utils/data-size/data-size.pipe.mjs +0 -45
- package/esm2022/core/utils/data-size/index.mjs +0 -4
- package/esm2022/core/utils/data-size/size.mjs +0 -43
|
@@ -21,10 +21,10 @@ export class ShowOnFormSubmitErrorStateMatcher {
|
|
|
21
21
|
isErrorState(control, form) {
|
|
22
22
|
return !!(control?.invalid && form?.submitted);
|
|
23
23
|
}
|
|
24
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
24
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShowOnFormSubmitErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShowOnFormSubmitErrorStateMatcher }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShowOnFormSubmitErrorStateMatcher, decorators: [{
|
|
28
28
|
type: Injectable
|
|
29
29
|
}] });
|
|
30
30
|
/** Error state matcher that matches when a control is invalid and dirty or form is submitted. */
|
|
@@ -32,10 +32,10 @@ export class ShowOnControlDirtyErrorStateMatcher {
|
|
|
32
32
|
isErrorState(control, form) {
|
|
33
33
|
return !!(control?.invalid && (control.dirty || form?.submitted));
|
|
34
34
|
}
|
|
35
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
36
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
35
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShowOnControlDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShowOnControlDirtyErrorStateMatcher }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShowOnControlDirtyErrorStateMatcher, decorators: [{
|
|
39
39
|
type: Injectable
|
|
40
40
|
}] });
|
|
41
41
|
/**
|
|
@@ -46,11 +46,11 @@ export class ErrorStateMatcher {
|
|
|
46
46
|
isErrorState(control, form) {
|
|
47
47
|
return !!(control?.invalid && (control.touched || form?.submitted));
|
|
48
48
|
}
|
|
49
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
50
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
49
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
50
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' }); }
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorStateMatcher, decorators: [{
|
|
53
53
|
type: Injectable,
|
|
54
54
|
args: [{ providedIn: 'root' }]
|
|
55
55
|
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Itc3RhdGUtbWF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9lcnJvci9lcnJvci1zdGF0ZS1tYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczRCxnREFBZ0Q7QUFDaEQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FDeEMsaUJBQThELEVBQ3RELEVBQUU7SUFDVixJQUFJLGlCQUFpQixZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3BDLE9BQU87WUFDSCxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSxpQkFBaUI7U0FDOUIsQ0FBQztJQUNOLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixRQUFRLEVBQUUsaUJBQWlCO0tBQzlCLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFFSCxNQUFNLE9BQU8saUNBQWlDO0lBQzFDLFlBQVksQ0FBQyxPQUErQixFQUFFLElBQXdDO1FBQ2xGLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztrSUFIUSxpQ0FBaUM7c0lBQWpDLGlDQUFpQzs7NEZBQWpDLGlDQUFpQztrQkFEN0MsVUFBVTs7QUFPWCxpR0FBaUc7QUFFakcsTUFBTSxPQUFPLG1DQUFtQztJQUM1QyxZQUFZLENBQUMsT0FBK0IsRUFBRSxJQUF3QztRQUNsRixPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7a0lBSFEsbUNBQW1DO3NJQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBRC9DLFVBQVU7O0FBT1g7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUFZLENBQUMsT0FBK0IsRUFBRSxJQUF3QztRQUNsRixPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7a0lBSFEsaUJBQWlCO3NJQUFqQixpQkFBaUIsY0FESixNQUFNOzs0RkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cERpcmVjdGl2ZSwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKiogVXRpbGl0eSBwcm92aWRlciBmb3IgYEVycm9yU3RhdGVNYXRjaGVyYC4gKi9cbmV4cG9ydCBjb25zdCBrYnFFcnJvclN0YXRlTWF0Y2hlclByb3ZpZGVyID0gKFxuICAgIGVycm9yU3RhdGVNYXRjaGVyOiBUeXBlPEVycm9yU3RhdGVNYXRjaGVyPiB8IEVycm9yU3RhdGVNYXRjaGVyXG4pOiBQcm92aWRlciA9PiB7XG4gICAgaWYgKGVycm9yU3RhdGVNYXRjaGVyIGluc3RhbmNlb2YgVHlwZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJvdmlkZTogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICAgICAgICB1c2VDbGFzczogZXJyb3JTdGF0ZU1hdGNoZXJcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgICAgdXNlVmFsdWU6IGVycm9yU3RhdGVNYXRjaGVyXG4gICAgfTtcbn07XG5cbi8qKlxuICogRXJyb3Igc3RhdGUgbWF0Y2hlciB0aGF0IG1hdGNoZXMgd2hlbiBhIGNvbnRyb2wgaXMgaW52YWxpZCBhbmQgZm9ybSBpcyBzdWJtaXR0ZWQuXG4gKiBSZXF1aXJlcyB1c2UgRm9ybUdyb3VwRGlyZWN0aXZlIG9yIE5nRm9ybS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNob3dPbkZvcm1TdWJtaXRFcnJvclN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBpc0Vycm9yU3RhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEoY29udHJvbD8uaW52YWxpZCAmJiBmb3JtPy5zdWJtaXR0ZWQpO1xuICAgIH1cbn1cblxuLyoqIEVycm9yIHN0YXRlIG1hdGNoZXIgdGhhdCBtYXRjaGVzIHdoZW4gYSBjb250cm9sIGlzIGludmFsaWQgYW5kIGRpcnR5IG9yIGZvcm0gaXMgc3VibWl0dGVkLiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNob3dPbkNvbnRyb2xEaXJ0eUVycm9yU3RhdGVNYXRjaGVyIGltcGxlbWVudHMgRXJyb3JTdGF0ZU1hdGNoZXIge1xuICAgIGlzRXJyb3JTdGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIShjb250cm9sPy5pbnZhbGlkICYmIChjb250cm9sLmRpcnR5IHx8IGZvcm0/LnN1Ym1pdHRlZCkpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlciB0aGF0IGRlZmluZXMgaG93IGZvcm0gY29udHJvbHMgYmVoYXZlIHdpdGggcmVnYXJkcyB0byBkaXNwbGF5aW5nIGVycm9yIG1lc3NhZ2VzLlxuICogRXJyb3Igc3RhdGUgbWF0Y2hlciB0aGF0IG1hdGNoZXMgd2hlbiBhIGNvbnRyb2wgaXMgaW52YWxpZCBhbmQgdG91Y2hlZCBvciBmb3JtIGlzIHN1Ym1pdHRlZC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBFcnJvclN0YXRlTWF0Y2hlciB7XG4gICAgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwsIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKGNvbnRyb2w/LmludmFsaWQgJiYgKGNvbnRyb2wudG91Y2hlZCB8fCBmb3JtPy5zdWJtaXR0ZWQpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -13,13 +13,13 @@ export class DateFormatter extends BaseDateFormatter {
|
|
|
13
13
|
this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
|
|
14
14
|
this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe((locale) => this.setLocale(locale));
|
|
15
15
|
}
|
|
16
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateFormatter, deps: [{ token: i1.DateAdapter }, { token: KBQ_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateFormatter }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateFormatter, decorators: [{
|
|
20
20
|
type: Injectable
|
|
21
21
|
}], ctorParameters: () => [{ type: i1.DateAdapter }, { type: undefined, decorators: [{
|
|
22
22
|
type: Inject,
|
|
23
23
|
args: [KBQ_DATE_LOCALE]
|
|
24
24
|
}] }] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1hdHRlcnMvZGF0ZS9mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxlQUFlLENBQUM7OztBQUdyRSxNQUFNLE9BQU8sYUFBaUIsU0FBUSxpQkFBb0I7SUFFdEQsWUFDc0IsT0FBdUIsRUFDaEIsTUFBYztRQUV2QyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBSEwsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFGbkMsa0JBQWEsR0FBRyxNQUFNLENBQW1CLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFPdkYsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RyxDQUFDO2tJQVRRLGFBQWEsNkNBSVYsZUFBZTtzSUFKbEIsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBS0YsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGtvb2JpcS9kYXRlLWFkYXB0ZXInO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlciBhcyBCYXNlRGF0ZUZvcm1hdHRlciB9IGZyb20gJ0Brb29iaXEvZGF0ZS1mb3JtYXR0ZXInO1xuaW1wb3J0IHsgS0JRX0RBVEVfTE9DQUxFIH0gZnJvbSAnLi4vLi4vZGF0ZXRpbWUnO1xuaW1wb3J0IHsgS0JRX0xPQ0FMRV9TRVJWSUNFLCBLYnFMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbG9jYWxlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlRm9ybWF0dGVyPEQ+IGV4dGVuZHMgQmFzZURhdGVGb3JtYXR0ZXI8RD4ge1xuICAgIHByb3RlY3RlZCBsb2NhbGVTZXJ2aWNlID0gaW5qZWN0PEticUxvY2FsZVNlcnZpY2U+KEtCUV9MT0NBTEVfU0VSVklDRSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcnJpZGUgcmVhZG9ubHkgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIEBJbmplY3QoS0JRX0RBVEVfTE9DQUxFKSBsb2NhbGU6IHN0cmluZ1xuICAgICkge1xuICAgICAgICBzdXBlcihhZGFwdGVyLCBsb2NhbGUpO1xuXG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZT8uY2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGxvY2FsZSkgPT4gdGhpcy5zZXRMb2NhbGUobG9jYWxlKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -13,10 +13,10 @@ export class AbsoluteDateFormatterPipe extends BaseFormatterPipe {
|
|
|
13
13
|
const date = this.adapter.deserialize(value);
|
|
14
14
|
return date ? this.formatter.absoluteLongDate(date, currYear) : '';
|
|
15
15
|
}
|
|
16
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
16
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateFormatterPipe, isStandalone: true, name: "absoluteLongDate" }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateFormatterPipe, decorators: [{
|
|
20
20
|
type: Pipe,
|
|
21
21
|
args: [{
|
|
22
22
|
standalone: true,
|
|
@@ -25,10 +25,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
25
25
|
}] });
|
|
26
26
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
27
27
|
export class AbsoluteDateFormatterImpurePipe extends AbsoluteDateFormatterPipe {
|
|
28
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
29
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
28
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
29
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateImpurePipe", pure: false }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, decorators: [{
|
|
32
32
|
type: Pipe,
|
|
33
33
|
args: [{
|
|
34
34
|
standalone: true,
|
|
@@ -41,10 +41,10 @@ export class AbsoluteDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
|
41
41
|
const date = this.adapter.deserialize(value);
|
|
42
42
|
return date ? this.formatter.absoluteLongDateTime(date, options) : '';
|
|
43
43
|
}
|
|
44
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
45
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
44
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
45
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, isStandalone: true, name: "absoluteLongDateTime" }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, decorators: [{
|
|
48
48
|
type: Pipe,
|
|
49
49
|
args: [{
|
|
50
50
|
standalone: true,
|
|
@@ -53,10 +53,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
53
53
|
}] });
|
|
54
54
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
55
55
|
export class AbsoluteDateTimeFormatterImpurePipe extends AbsoluteDateTimeFormatterPipe {
|
|
56
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
57
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
56
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
57
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateTimeImpurePipe", pure: false }); }
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, decorators: [{
|
|
60
60
|
type: Pipe,
|
|
61
61
|
args: [{
|
|
62
62
|
standalone: true,
|
|
@@ -69,10 +69,10 @@ export class AbsoluteDateShortFormatterPipe extends BaseFormatterPipe {
|
|
|
69
69
|
const date = this.adapter.deserialize(value);
|
|
70
70
|
return date ? this.formatter.absoluteShortDate(date, currYear) : '';
|
|
71
71
|
}
|
|
72
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
73
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
72
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateShortFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
73
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateShortFormatterPipe, isStandalone: true, name: "absoluteShortDate" }); }
|
|
74
74
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateShortFormatterPipe, decorators: [{
|
|
76
76
|
type: Pipe,
|
|
77
77
|
args: [{
|
|
78
78
|
standalone: true,
|
|
@@ -81,10 +81,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
81
81
|
}] });
|
|
82
82
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
83
83
|
export class AbsoluteDateShortFormatterImpurePipe extends AbsoluteDateShortFormatterPipe {
|
|
84
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
85
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
84
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
85
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateImpurePipe", pure: false }); }
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, decorators: [{
|
|
88
88
|
type: Pipe,
|
|
89
89
|
args: [{
|
|
90
90
|
standalone: true,
|
|
@@ -97,10 +97,10 @@ export class AbsoluteShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
|
97
97
|
const date = this.adapter.deserialize(value);
|
|
98
98
|
return date ? this.formatter.absoluteShortDateTime(date, options) : '';
|
|
99
99
|
}
|
|
100
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
101
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
100
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
101
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, isStandalone: true, name: "absoluteShortDateTime" }); }
|
|
102
102
|
}
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, decorators: [{
|
|
104
104
|
type: Pipe,
|
|
105
105
|
args: [{
|
|
106
106
|
standalone: true,
|
|
@@ -109,10 +109,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
109
109
|
}] });
|
|
110
110
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
111
111
|
export class AbsoluteShortDateTimeFormatterImpurePipe extends AbsoluteShortDateTimeFormatterPipe {
|
|
112
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
113
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
112
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
113
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateTimeImpurePipe", pure: false }); }
|
|
114
114
|
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, decorators: [{
|
|
116
116
|
type: Pipe,
|
|
117
117
|
args: [{
|
|
118
118
|
standalone: true,
|
|
@@ -125,10 +125,10 @@ export class RelativeDateFormatterPipe extends BaseFormatterPipe {
|
|
|
125
125
|
const date = this.adapter.deserialize(value);
|
|
126
126
|
return date ? this.formatter.relativeLongDate(date) : '';
|
|
127
127
|
}
|
|
128
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
129
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
128
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
129
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateFormatterPipe, isStandalone: true, name: "relativeLongDate" }); }
|
|
130
130
|
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateFormatterPipe, decorators: [{
|
|
132
132
|
type: Pipe,
|
|
133
133
|
args: [{
|
|
134
134
|
standalone: true,
|
|
@@ -137,10 +137,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
137
137
|
}] });
|
|
138
138
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
139
139
|
export class RelativeDateFormatterImpurePipe extends RelativeDateFormatterPipe {
|
|
140
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
141
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
140
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
141
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateFormatterImpurePipe, isStandalone: true, name: "relativeLongDateImpurePipe", pure: false }); }
|
|
142
142
|
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateFormatterImpurePipe, decorators: [{
|
|
144
144
|
type: Pipe,
|
|
145
145
|
args: [{
|
|
146
146
|
standalone: true,
|
|
@@ -153,10 +153,10 @@ export class RelativeDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
|
153
153
|
const date = this.adapter.deserialize(value);
|
|
154
154
|
return date ? this.formatter.relativeLongDateTime(date, options) : '';
|
|
155
155
|
}
|
|
156
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
157
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
156
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
157
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateTimeFormatterPipe, isStandalone: true, name: "relativeLongDateTime" }); }
|
|
158
158
|
}
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateTimeFormatterPipe, decorators: [{
|
|
160
160
|
type: Pipe,
|
|
161
161
|
args: [{
|
|
162
162
|
standalone: true,
|
|
@@ -165,10 +165,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
165
165
|
}] });
|
|
166
166
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
167
167
|
export class RelativeDateTimeFormatterImpurePipe extends RelativeDateTimeFormatterPipe {
|
|
168
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
169
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
168
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
169
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeLongDateTimeImpurePipe", pure: false }); }
|
|
170
170
|
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, decorators: [{
|
|
172
172
|
type: Pipe,
|
|
173
173
|
args: [{
|
|
174
174
|
standalone: true,
|
|
@@ -181,10 +181,10 @@ export class RelativeShortDateFormatterPipe extends BaseFormatterPipe {
|
|
|
181
181
|
const date = this.adapter.deserialize(value);
|
|
182
182
|
return date ? this.formatter.relativeShortDate(date) : '';
|
|
183
183
|
}
|
|
184
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
185
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
184
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
185
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateFormatterPipe, isStandalone: true, name: "relativeShortDate" }); }
|
|
186
186
|
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateFormatterPipe, decorators: [{
|
|
188
188
|
type: Pipe,
|
|
189
189
|
args: [{
|
|
190
190
|
standalone: true,
|
|
@@ -193,10 +193,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
193
193
|
}] });
|
|
194
194
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
195
195
|
export class RelativeShortDateFormatterImpurePipe extends RelativeShortDateFormatterPipe {
|
|
196
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
197
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
196
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
197
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, isStandalone: true, name: "relativeShortDateImpurePipe", pure: false }); }
|
|
198
198
|
}
|
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, decorators: [{
|
|
200
200
|
type: Pipe,
|
|
201
201
|
args: [{
|
|
202
202
|
standalone: true,
|
|
@@ -209,10 +209,10 @@ export class RelativeShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
|
209
209
|
const date = this.adapter.deserialize(value);
|
|
210
210
|
return date ? this.formatter.relativeShortDateTime(date, options) : '';
|
|
211
211
|
}
|
|
212
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
213
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
212
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
213
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, isStandalone: true, name: "relativeShortDateTime" }); }
|
|
214
214
|
}
|
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, decorators: [{
|
|
216
216
|
type: Pipe,
|
|
217
217
|
args: [{
|
|
218
218
|
standalone: true,
|
|
@@ -221,10 +221,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
221
221
|
}] });
|
|
222
222
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
223
223
|
export class RelativeShortDateTimeFormatterImpurePipe extends RelativeShortDateTimeFormatterPipe {
|
|
224
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
225
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
224
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
225
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeShortDateTimeImpurePipe", pure: false }); }
|
|
226
226
|
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, decorators: [{
|
|
228
228
|
type: Pipe,
|
|
229
229
|
args: [{
|
|
230
230
|
standalone: true,
|
|
@@ -238,10 +238,10 @@ export class RangeDateFormatterPipe extends BaseFormatterPipe {
|
|
|
238
238
|
const date2 = this.adapter.deserialize(value2);
|
|
239
239
|
return this.formatter.rangeLongDate(date1, date2);
|
|
240
240
|
}
|
|
241
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
242
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
241
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
242
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeDateFormatterPipe, isStandalone: true, name: "rangeLongDate" }); }
|
|
243
243
|
}
|
|
244
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
244
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeDateFormatterPipe, decorators: [{
|
|
245
245
|
type: Pipe,
|
|
246
246
|
args: [{
|
|
247
247
|
standalone: true,
|
|
@@ -250,10 +250,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
250
250
|
}] });
|
|
251
251
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
252
252
|
export class RangeDateFormatterImpurePipe extends RangeDateFormatterPipe {
|
|
253
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
254
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
253
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
254
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeDateFormatterImpurePipe, isStandalone: true, name: "rangeLongDateImpurePipe", pure: false }); }
|
|
255
255
|
}
|
|
256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeDateFormatterImpurePipe, decorators: [{
|
|
257
257
|
type: Pipe,
|
|
258
258
|
args: [{
|
|
259
259
|
standalone: true,
|
|
@@ -267,10 +267,10 @@ export class RangeShortDateFormatterPipe extends BaseFormatterPipe {
|
|
|
267
267
|
const date2 = this.adapter.deserialize(value2);
|
|
268
268
|
return this.formatter.rangeShortDate(date1, date2);
|
|
269
269
|
}
|
|
270
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
271
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
270
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
271
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateFormatterPipe, isStandalone: true, name: "rangeShortDate" }); }
|
|
272
272
|
}
|
|
273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateFormatterPipe, decorators: [{
|
|
274
274
|
type: Pipe,
|
|
275
275
|
args: [{
|
|
276
276
|
standalone: true,
|
|
@@ -279,10 +279,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
279
279
|
}] });
|
|
280
280
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
281
281
|
export class RangeShortDateFormatterImpurePipe extends RangeShortDateFormatterPipe {
|
|
282
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
283
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
282
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
283
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateFormatterImpurePipe, isStandalone: true, name: "rangeShortDateImpurePipe", pure: false }); }
|
|
284
284
|
}
|
|
285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
285
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateFormatterImpurePipe, decorators: [{
|
|
286
286
|
type: Pipe,
|
|
287
287
|
args: [{
|
|
288
288
|
standalone: true,
|
|
@@ -296,10 +296,10 @@ export class RangeDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
|
296
296
|
const date2 = this.adapter.deserialize(value2);
|
|
297
297
|
return this.formatter.rangeLongDateTime(date1, date2, options);
|
|
298
298
|
}
|
|
299
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
300
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
299
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
300
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeDateTimeFormatterPipe, isStandalone: true, name: "rangeLongDateTime" }); }
|
|
301
301
|
}
|
|
302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeDateTimeFormatterPipe, decorators: [{
|
|
303
303
|
type: Pipe,
|
|
304
304
|
args: [{
|
|
305
305
|
standalone: true,
|
|
@@ -308,10 +308,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
308
308
|
}] });
|
|
309
309
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
310
310
|
export class RangeDateTimeFormatterImpurePipe extends RangeDateTimeFormatterPipe {
|
|
311
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
312
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
311
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
312
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeLongDateTimeImpurePipe", pure: false }); }
|
|
313
313
|
}
|
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, decorators: [{
|
|
315
315
|
type: Pipe,
|
|
316
316
|
args: [{
|
|
317
317
|
standalone: true,
|
|
@@ -325,10 +325,10 @@ export class RangeMiddleDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
|
325
325
|
const date2 = this.adapter.deserialize(value2);
|
|
326
326
|
return this.formatter.rangeMiddleDateTime(date1, date2, options);
|
|
327
327
|
}
|
|
328
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
329
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
328
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
329
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, isStandalone: true, name: "rangeMiddleDateTime" }); }
|
|
330
330
|
}
|
|
331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, decorators: [{
|
|
332
332
|
type: Pipe,
|
|
333
333
|
args: [{
|
|
334
334
|
standalone: true,
|
|
@@ -337,10 +337,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
337
337
|
}] });
|
|
338
338
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
339
339
|
export class RangeMiddleDateTimeFormatterImpurePipe extends RangeMiddleDateTimeFormatterPipe {
|
|
340
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
341
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
340
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
341
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeMiddleDateTimeImpurePipe", pure: false }); }
|
|
342
342
|
}
|
|
343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, decorators: [{
|
|
344
344
|
type: Pipe,
|
|
345
345
|
args: [{
|
|
346
346
|
standalone: true,
|
|
@@ -354,10 +354,10 @@ export class RangeShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
|
354
354
|
const date2 = this.adapter.deserialize(value2);
|
|
355
355
|
return this.formatter.rangeShortDateTime(date1, date2, options);
|
|
356
356
|
}
|
|
357
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
358
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
357
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
358
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateTimeFormatterPipe, isStandalone: true, name: "rangeShortDateTime" }); }
|
|
359
359
|
}
|
|
360
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
360
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateTimeFormatterPipe, decorators: [{
|
|
361
361
|
type: Pipe,
|
|
362
362
|
args: [{
|
|
363
363
|
standalone: true,
|
|
@@ -366,10 +366,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
366
366
|
}] });
|
|
367
367
|
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
368
368
|
export class RangeShortDateTimeFormatterImpurePipe extends RangeShortDateTimeFormatterPipe {
|
|
369
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
370
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
369
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
370
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeShortDateTimeImpurePipe", pure: false }); }
|
|
371
371
|
}
|
|
372
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, decorators: [{
|
|
373
373
|
type: Pipe,
|
|
374
374
|
args: [{
|
|
375
375
|
standalone: true,
|
|
@@ -377,4 +377,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
377
377
|
pure: false
|
|
378
378
|
}]
|
|
379
379
|
}] });
|
|
380
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvZm9ybWF0dGVycy9kYXRlL2Zvcm1hdHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFNUMsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUN1QixZQUFPLEdBQW1CLE1BQU0sQ0FBQyxDQUFBLFdBQWMsQ0FBQSxDQUFDLENBQUM7UUFDakQsY0FBUyxHQUFxQixNQUFNLENBQUMsQ0FBQSxhQUFnQixDQUFBLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQUE7QUFNRCxNQUFNLE9BQU8seUJBQTZCLFNBQVEsaUJBQW9CO0lBQ2xFLFNBQVMsQ0FBQyxLQUFpQixFQUFFLFFBQWtCO1FBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7aUlBTFEseUJBQXlCOytIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxrQkFBa0I7aUJBQzNCOztBQWNELHdFQUF3RTtBQUN4RSxNQUFNLE9BQU8sK0JBQW1DLFNBQVEseUJBQTRCO2lJQUF2RSwrQkFBK0I7K0hBQS9CLCtCQUErQjs7MkZB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QUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsRUFBRSxPQUF5QjtRQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO2lJQU5RLCtCQUErQjsrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUozQyxJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsb0JBQW9CO2lCQUM3Qjs7QUFlRCx3RUFBd0U7QUFDeEUsTUFBTSxPQUFPLHFDQUF5QyxTQUFRLCtCQUFrQztpSUFBbkYscUNBQXFDOytIQUFyQyxxQ0FBcUM7OzJGQUFyQyxxQ0FBcUM7a0JBTmpELElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSw4QkFBOEI7b0JBQ3BDLElBQUksRUFBRSxLQUFLO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZU9wdGlvbnMgfSBmcm9tICdAa29vYmlxL2RhdGUtZm9ybWF0dGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vZGF0ZXRpbWUnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlciB9IGZyb20gJy4vZm9ybWF0dGVyJztcblxuZXhwb3J0IGNsYXNzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4gPSBpbmplY3QoRGF0ZUFkYXB0ZXI8RD4pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD4gPSBpbmplY3QoRGF0ZUZvcm1hdHRlcjxEPik7XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIGN1cnJZZWFyPzogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVMb25nRGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLmFic29sdXRlTG9uZ0RhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ2Fic29sdXRlU2hvcnREYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVTaG9ydEZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgY3VyclllYXI/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZVNob3J0RGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVEYXRlU2hvcnRGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlU2hvcnRGb3JtYXR0ZXJQaXBlPEQ+IHt9XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVTaG9ydERhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVTaG9ydERhdGVUaW1lSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlRGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IHt9XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdyZWxhdGl2ZVNob3J0RGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJlbGF0aXZlU2hvcnREYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlU2hvcnREYXRlRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlU2hvcnREYXRlVGltZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTG9uZ0RhdGUnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlTG9uZ0RhdGUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmFuZ2VMb25nRGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmFuZ2VEYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlU2hvcnREYXRlKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlckltcHVyZVBpcGU8RD4gZXh0ZW5kcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTG9uZ0RhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VMb25nRGF0ZVRpbWUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCwgb3B0aW9ucyk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmFuZ2VMb25nRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgUmFuZ2VEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZU1pZGRsZURhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgUmFuZ2VNaWRkbGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlVGltZSdcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VTaG9ydERhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlVGltZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJhbmdlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cbiJdfQ==
|
|
380
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvZm9ybWF0dGVycy9kYXRlL2Zvcm1hdHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFNUMsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUN1QixZQUFPLEdBQW1CLE1BQU0sQ0FBQyxDQUFBLFdBQWMsQ0FBQSxDQUFDLENBQUM7UUFDakQsY0FBUyxHQUFxQixNQUFNLENBQUMsQ0FBQSxhQUFnQixDQUFBLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQUE7QUFNRCxNQUFNLE9BQU8seUJBQTZCLFNBQVEsaUJBQW9CO0lBQ2xFLFNBQVMsQ0FBQyxLQUFpQixFQUFFLFFBQWtCO1FBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7a0lBTFEseUJBQXlCO2dJQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSnJDLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxrQkFBa0I7aUJBQzNCOztBQWNELHdFQUF3RTtBQUN4RSxNQUFNLE9BQU8sK0JBQW1DLFNBQVEseUJBQTRCO2tJQUF2RSwrQkFBK0I7Z0lBQS9CLCtCQUErQjs7NEZB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QUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsRUFBRSxPQUF5QjtRQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO2tJQU5RLCtCQUErQjtnSUFBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUozQyxJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsb0JBQW9CO2lCQUM3Qjs7QUFlRCx3RUFBd0U7QUFDeEUsTUFBTSxPQUFPLHFDQUF5QyxTQUFRLCtCQUFrQztrSUFBbkYscUNBQXFDO2dJQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBTmpELElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSw4QkFBOEI7b0JBQ3BDLElBQUksRUFBRSxLQUFLO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZU9wdGlvbnMgfSBmcm9tICdAa29vYmlxL2RhdGUtZm9ybWF0dGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vZGF0ZXRpbWUnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlciB9IGZyb20gJy4vZm9ybWF0dGVyJztcblxuZXhwb3J0IGNsYXNzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4gPSBpbmplY3QoRGF0ZUFkYXB0ZXI8RD4pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD4gPSBpbmplY3QoRGF0ZUZvcm1hdHRlcjxEPik7XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIGN1cnJZZWFyPzogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVMb25nRGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLmFic29sdXRlTG9uZ0RhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ2Fic29sdXRlU2hvcnREYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVTaG9ydEZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgY3VyclllYXI/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZVNob3J0RGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVEYXRlU2hvcnRGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlU2hvcnRGb3JtYXR0ZXJQaXBlPEQ+IHt9XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVTaG9ydERhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVTaG9ydERhdGVUaW1lSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlRGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IHt9XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdyZWxhdGl2ZVNob3J0RGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJlbGF0aXZlU2hvcnREYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlU2hvcnREYXRlRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlU2hvcnREYXRlVGltZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTG9uZ0RhdGUnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlTG9uZ0RhdGUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmFuZ2VMb25nRGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmFuZ2VEYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlU2hvcnREYXRlKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlckltcHVyZVBpcGU8RD4gZXh0ZW5kcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTG9uZ0RhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VMb25nRGF0ZVRpbWUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCwgb3B0aW9ucyk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmFuZ2VMb25nRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgUmFuZ2VEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZU1pZGRsZURhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgUmFuZ2VNaWRkbGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlVGltZSdcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VTaG9ydERhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlVGltZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJhbmdlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cbiJdfQ==
|