@ethlete/cdk 4.42.0 → 4.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +3 -3
- package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +3 -3
- package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +3 -3
- package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +3 -3
- package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +3 -3
- package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +3 -3
- package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +3 -3
- package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +3 -3
- package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +3 -3
- package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +3 -3
- package/esm2022/lib/components/button/components/button/button.component.mjs +3 -3
- package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +3 -3
- package/esm2022/lib/components/button/directives/button/button.directive.mjs +3 -3
- package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +3 -3
- package/esm2022/lib/components/carousel/carousel.component.mjs +3 -3
- package/esm2022/lib/components/carousel/carousel.directive.mjs +3 -3
- package/esm2022/lib/components/carousel/controls/carousel-item-nav.component.mjs +3 -3
- package/esm2022/lib/components/carousel/controls/carousel-item-nav.directive.mjs +3 -3
- package/esm2022/lib/components/carousel/controls/carousel-next-button.directive.mjs +3 -3
- package/esm2022/lib/components/carousel/controls/carousel-previous-button.directive.mjs +3 -3
- package/esm2022/lib/components/carousel/controls/carousel-toggle-auto-play-button.directive.mjs +3 -3
- package/esm2022/lib/components/carousel/et-carousel-item.component.mjs +3 -3
- package/esm2022/lib/components/carousel/et-carousel-item.directive.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button/rich-filter-button.directive.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button-slot/rich-filter-button-slot.directive.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-content/rich-filter-content.directive.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-top/rich-filter-top.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/color-input/color-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/date-input/date-input.component.mjs +8 -5
- package/esm2022/lib/components/forms/components/input/components/date-time-input/date-time-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +8 -5
- package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/tel-input/tel-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/time-input/time-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/color-input/color-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/date-input/date-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/date-time-input/date-time-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/if-supports-show-picker/if-supports-show-picker.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/show-picker-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/tel-input/tel-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/time-input/time-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-empty-template/combobox-body-empty-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-error-template/combobox-body-error-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-loading-template/combobox-body-loading-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-more-items-hint-template/combobox-body-more-items-hint-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/combobox-option-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/combobox-selected-option-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/selection-list/components/selection-list-field/selection-list-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/selection-list/components/selection-list-option/selection-list-option.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-field/selection-list-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-option/selection-list-option.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/expose-input-vars/expose-input-vars.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/input/input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +3 -3
- package/esm2022/lib/components/forms/services/form-field-state.service.mjs +3 -3
- package/esm2022/lib/components/forms/services/form-group-state.service.mjs +3 -3
- package/esm2022/lib/components/forms/services/input-state.service.mjs +3 -3
- package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +3 -3
- package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +3 -3
- package/esm2022/lib/components/forms/utils/input.base.mjs +3 -3
- package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +3 -3
- package/esm2022/lib/components/icons/times-icon/times-icon.component.mjs +3 -3
- package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +3 -3
- package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/components/menu/menu.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/components/menu-checkbox-item/menu-checkbox-item.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/components/menu-container/menu-container.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/components/menu-radio-item/menu-radio-item.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-checkbox-group/menu-checkbox-group.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group/menu-group.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/menu-group-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-item/menu-item.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-radio-group/menu-radio-group.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-search-template/menu-search-template.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/menu-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/context-menu-trigger.mjs +6 -6
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-aim.mjs +6 -6
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-bar.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-base.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-group.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-checkbox.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-radio.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-selectable.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-module.mjs +4 -4
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-stack.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger-base.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-back-or-close/overlay-back-or-close.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-body/overlay-body.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-close/overlay-close.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-footer/overlay-footer.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header/overlay-header.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header-template/overlay-header-template.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-main/overlay-main.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-route-header-template-outlet/overlay-route-header-template-outlet.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-link/overlay-router-link.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-outlet/overlay-router-outlet.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-outlet-disabled-template/overlay-router-outlet-disabled-template.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-shared-route-template/overlay-shared-route-template.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-shared-route-template-outlet/overlay-shared-route-template-outlet.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-sidebar/overlay-sidebar.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-sidebar-page/overlay-sidebar-page.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-title/overlay-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/services/overlay.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/utils/filter-overlay.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/utils/overlay-handler-link.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/toggletip/partials/toggletip-close/toggletip-close.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/directives/dynamic-overlay-title/dynamic-overlay-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/directives/overlay-close-auto-blocker/overlay-close-auto-blocker.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +3 -3
- package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +11 -8
- package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +3 -3
- package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +3 -3
- package/esm2022/lib/components/picture/components/picture/picture.component.mjs +3 -3
- package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +3 -3
- package/esm2022/lib/components/query-error/components/query-error/query-error.component.mjs +3 -3
- package/esm2022/lib/components/query-error/directives/query-error/query-error.directive.mjs +10 -9
- package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +3 -3
- package/esm2022/lib/components/scrollable/components/scrollable-placeholder/scrollable-placeholder.component.mjs +3 -3
- package/esm2022/lib/components/scrollable/directives/scrollable-ignore-child/scrollable-ignore-child.directive.mjs +3 -3
- package/esm2022/lib/components/scrollable/directives/scrollable-is-active-child/scrollable-is-active-child.directive.mjs +3 -3
- package/esm2022/lib/components/scrollable/directives/scrollable-loading-template/scrollable-loading-template.directive.mjs +3 -3
- package/esm2022/lib/components/scrollable/directives/scrollable-placeholder-item-template/scrollable-placeholder-item-template.directive.mjs +3 -3
- package/esm2022/lib/components/scrollable/directives/scrollable-placeholder-overlay-template/scrollable-placeholder-overlay-template.directive.mjs +3 -3
- package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +3 -3
- package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +3 -3
- package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +3 -3
- package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +3 -3
- package/esm2022/lib/components/sort/services/sort-header-intl.mjs +3 -3
- package/esm2022/lib/components/table/components/table/table.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +3 -3
- package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +3 -3
- package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +3 -3
- package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +3 -3
- package/esm2022/lib/services/swipe-handler.service.mjs +3 -3
- package/fesm2022/ethlete-cdk.mjs +781 -771
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/lib/components/forms/components/input/components/date-input/date-input.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/number-input/number-input.component.d.ts +1 -1
- package/lib/components/pagination/components/pagination/pagination.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -44,10 +44,10 @@ export class PictureComponent {
|
|
|
44
44
|
srcset: `${this._config.baseUrl}${shouldAppendSlash ? '/' : ''}${src.srcset}`,
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PictureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: { classPropertyName: "sources", publicName: "sources", isSignal: true, isRequired: false, transformFunction: null }, hasPriority: { classPropertyName: "hasPriority", publicName: "hasPriority", isSignal: true, isRequired: false, transformFunction: null }, imgClass: { classPropertyName: "imgClass", publicName: "imgClass", isSignal: true, isRequired: false, transformFunction: null }, figureClass: { classPropertyName: "figureClass", publicName: "figureClass", isSignal: true, isRequired: false, transformFunction: null }, figcaptionClass: { classPropertyName: "figcaptionClass", publicName: "figcaptionClass", isSignal: true, isRequired: false, transformFunction: null }, pictureClass: { classPropertyName: "pictureClass", publicName: "pictureClass", isSignal: true, isRequired: false, transformFunction: null }, defaultSrc: { classPropertyName: "defaultSrc", publicName: "defaultSrc", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, figcaption: { classPropertyName: "figcaption", publicName: "figcaption", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imgLoaded: "imgLoaded", imgError: "imgError" }, host: { classAttribute: "et-picture" }, viewQueries: [{ propertyName: "img", first: true, predicate: ["img"], descendants: true, isSignal: true }], ngImport: i0, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source\n [type]=\"source.type\"\n [attr.srcset]=\"source.srcset\"\n [attr.sizes]=\"(source.sizes ?? sizes()) || null\"\n [attr.media]=\"source.media || null\"\n />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"source.sizes ?? sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PictureComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass], host: {
|
|
53
53
|
class: 'et-picture',
|
|
@@ -60,10 +60,10 @@ export class ProgressSpinnerComponent {
|
|
|
60
60
|
_circleStrokeWidth() {
|
|
61
61
|
return (this.strokeWidth / this.diameter) * 100;
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProgressSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.8", type: ProgressSpinnerComponent, isStandalone: true, selector: "et-progress-spinner, et-spinner", inputs: { multiColor: ["multiColor", "multiColor", booleanAttribute], mode: "mode", value: "value", diameter: ["diameter", "diameter", numberAttribute], strokeWidth: "strokeWidth" }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "class.et-circular-progress--indeterminate": "mode === \"indeterminate\"", "class.et-progress-spinner--multi-color": "multiColor", "style.width.px": "diameter", "style.height.px": "diameter", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.aria-valuenow": "mode === \"determinate\" ? value : null", "attr.mode": "mode" }, classAttribute: "et-progress-spinner" }, ngImport: i0, template: "<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n class=\"et-circular-progress__indeterminate-circle-graphic\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\"\n cy=\"50%\"\n />\n </svg>\n</ng-template>\n\n<ng-template #spinner>\n <div class=\"et-circular-progress__circle-clipper et-circular-progress__circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n <div class=\"et-circular-progress__gap-patch\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n <div class=\"et-circular-progress__circle-clipper et-circular-progress__circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\" />\n </div>\n</ng-template>\n\n<div class=\"et-circular-progress__determinate-container\" aria-hidden=\"true\">\n <svg\n [attr.viewBox]=\"_viewBox()\"\n class=\"et-circular-progress__determinate-circle-graphic\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"et-circular-progress__determinate-circle\"\n cx=\"50%\"\n cy=\"50%\"\n />\n </svg>\n</div>\n\n<div class=\"et-circular-progress__indeterminate-container\" aria-hidden=\"true\">\n <div [class.et-circular-progress__color-1]=\"multiColor\" class=\"et-circular-progress__spinner-layer\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-2\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-3\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n\n <div class=\"et-circular-progress__spinner-layer et-circular-progress__color-4\">\n <ng-container [ngTemplateOutlet]=\"spinner\" />\n </div>\n</div>\n", styles: [":where(.et-progress-spinner){--et-progress-spinner-edges: round;--et-progress-spinner-color: #1e88e5;--et-progress-spinner-color-1: var(--et-progress-spinner-color);--et-progress-spinner-color-2: #f44336;--et-progress-spinner-color-3: #ff9800;--et-progress-spinner-color-4: #4caf50}.et-progress-spinner{position:relative;direction:ltr;transition:opacity .25s 0ms cubic-bezier(.4,0,.6,1);display:block;overflow:hidden;line-height:0}.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-2,.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-3,.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-4{visibility:visible}.et-progress-spinner.et-progress-spinner--multi-color .et-circular-progress__color-1 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-1)}.et-circular-progress__determinate-circle,.et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color);stroke-linecap:var(--et-progress-spinner-edges)}.et-circular-progress__color-2 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-2)}.et-circular-progress__color-3 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-3)}.et-circular-progress__color-4 .et-circular-progress__indeterminate-circle-graphic{stroke:var(--et-progress-spinner-color-4)}.et-circular-progress__color-2,.et-circular-progress__color-3,.et-circular-progress__color-4{visibility:hidden}.et-circular-progress__determinate-container,.et-circular-progress__indeterminate-circle-graphic,.et-circular-progress__indeterminate-container,.et-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.et-circular-progress__determinate-container{transform:rotate(-90deg)}.et-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.et-circular-progress__determinate-circle-graphic,.et-circular-progress__indeterminate-circle-graphic{fill:#0000}.et-circular-progress__determinate-circle{transition:stroke-dashoffset .5s 0ms cubic-bezier(0,0,.2,1)}.et-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.et-circular-progress__gap-patch .et-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.et-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.et-circular-progress__circle-clipper .et-circular-progress__indeterminate-circle-graphic{width:200%}.et-circular-progress__circle-right .et-circular-progress__indeterminate-circle-graphic{left:-100%}.et-circular-progress--indeterminate .et-circular-progress__determinate-container{opacity:0}.et-circular-progress--indeterminate .et-circular-progress__indeterminate-container{opacity:1}.et-circular-progress--indeterminate .et-circular-progress__indeterminate-container{animation:et-circular-progress-container-rotate 1.5682352941176s linear infinite}.et-circular-progress--indeterminate .et-circular-progress__spinner-layer{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-1{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-2{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-3{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__color-4{animation:et-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,et-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__circle-left .et-circular-progress__indeterminate-circle-graphic{animation:et-circular-progress-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.et-circular-progress--indeterminate .et-circular-progress__circle-right .et-circular-progress__indeterminate-circle-graphic{animation:et-circular-progress-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes et-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes et-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes et-circular-progress-color-1-fade-in-out{0%{opacity:.99}25%{opacity:.99}26%{opacity:0}50%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes et-circular-progress-color-2-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes et-circular-progress-color-3-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes et-circular-progress-color-4-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes et-circular-progress-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes et-circular-progress-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
65
65
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProgressSpinnerComponent, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
68
|
args: [{ selector: 'et-progress-spinner, et-spinner', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
69
69
|
class: 'et-progress-spinner',
|
|
@@ -15,10 +15,10 @@ export class QueryErrorComponent {
|
|
|
15
15
|
retry() {
|
|
16
16
|
extractQuery(this.host.query())?.execute({ skipCache: true });
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: QueryErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: QueryErrorComponent, isStandalone: true, selector: "et-query-error", host: { classAttribute: "et-query-error-host" }, hostDirectives: [{ directive: i1.QueryErrorDirective, inputs: ["error", "error", "query", "query", "language", "language"] }], ngImport: i0, template: "<div\n [ngClass]=\"{ 'et-query-error--can-be-retried': canBeRetried(), 'et-query-error--is-list': isList() }\"\n class=\"et-query-error\"\n>\n @if (errorList(); as errorList) {\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n @if (!errorList.isList) {\n <p class=\"et-query-error-message\">{{ errorList.items[0]!.message }}</p>\n }\n\n @if (errorList.isList) {\n <ul class=\"et-query-error-list\">\n @for (item of errorList.items; track trackByFn($index, item)) {\n <li class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n }\n </ul>\n }\n\n @if (errorList.canBeRetried) {\n <button (click)=\"retry()\" class=\"et-query-error-retry-button\">\n {{ host.language() === 'en' ? 'Retry' : 'Erneut versuchen' }}\n </button>\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: QueryErrorComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{ selector: 'et-query-error', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
24
24
|
class: 'et-query-error-host',
|
|
@@ -362,11 +362,9 @@ export class QueryErrorDirective {
|
|
|
362
362
|
retryDelay: retryResult.delay ?? 0,
|
|
363
363
|
isList: false,
|
|
364
364
|
items: [],
|
|
365
|
-
title:
|
|
366
|
-
?
|
|
367
|
-
|
|
368
|
-
: convertHttpStatusCodeToTitleDe(error.status)
|
|
369
|
-
: error.statusText,
|
|
365
|
+
title: this.language() === 'en'
|
|
366
|
+
? convertHttpStatusCodeToTitleEn(error.status)
|
|
367
|
+
: convertHttpStatusCodeToTitleDe(error.status),
|
|
370
368
|
};
|
|
371
369
|
const detail = error.detail;
|
|
372
370
|
const defaultErrorMessage = `${this.language() === 'en' ? convertHttpStatusCodeToMessageEn(error.status) : convertHttpStatusCodeToMessageDe(error.status)} (Code: ${error.status})`;
|
|
@@ -392,6 +390,9 @@ export class QueryErrorDirective {
|
|
|
392
390
|
// Symfony error response (during development)
|
|
393
391
|
errorList.items.push({ message: detail.detail });
|
|
394
392
|
}
|
|
393
|
+
else if (typeof detail === 'string') {
|
|
394
|
+
errorList.items.push({ message: detail });
|
|
395
|
+
}
|
|
395
396
|
else {
|
|
396
397
|
errorList.items.push({ message: defaultErrorMessage });
|
|
397
398
|
}
|
|
@@ -407,15 +408,15 @@ export class QueryErrorDirective {
|
|
|
407
408
|
return errorList;
|
|
408
409
|
});
|
|
409
410
|
}
|
|
410
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
411
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
|
411
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: QueryErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
412
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.8", type: QueryErrorDirective, isStandalone: true, inputs: { error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: true, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
412
413
|
{
|
|
413
414
|
provide: QUERY_ERROR_TOKEN,
|
|
414
415
|
useExisting: QueryErrorDirective,
|
|
415
416
|
},
|
|
416
417
|
], exportAs: ["etQueryError"], ngImport: i0 }); }
|
|
417
418
|
}
|
|
418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: QueryErrorDirective, decorators: [{
|
|
419
420
|
type: Directive,
|
|
420
421
|
args: [{
|
|
421
422
|
standalone: true,
|
|
@@ -428,4 +429,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
428
429
|
],
|
|
429
430
|
}]
|
|
430
431
|
}] });
|
|
431
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWVycm9yL2RpcmVjdGl2ZXMvcXVlcnktZXJyb3IvcXVlcnktZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUtMLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLGtCQUFrQixHQUNuQixNQUFNLGdCQUFnQixDQUFDOztBQUd4QixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsNkJBQTZCLENBQUMsQ0FBQztBQUV4RyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxDQUFDLFVBQTBCLEVBQUUsRUFBRTtJQUM3RSxRQUFRLFVBQVUsRUFBRSxDQUFDO1FBQ25CO1lBQ0UsT0FBTyxtRUFBbUUsQ0FBQztRQUM3RTtZQUNFLE9BQU8sMkVBQTJFLENBQUM7UUFDckY7WUFDRSxPQUFPLDhDQUE4QyxDQUFDO1FBQ3hEO1lBQ0UsT0FBTyxvREFBb0QsQ0FBQztRQUM5RDtZQUNFLE9BQU8sdUNBQXVDLENBQUM7UUFDakQ7WUFDRSxPQUFPLHdEQUF3RCxDQUFDO1FBQ2xFO1lBQ0UsT0FBTyx3R0FBd0csQ0FBQztRQUNsSDtZQUNFLE9BQU8sMkRBQTJELENBQUM7UUFDckU7WUFDRSxPQUFPLCtDQUErQyxDQUFDO1FBQ3pEO1lBQ0UsT0FBTywrREFBK0QsQ0FBQztRQUN6RTtZQUNFLE9BQU8sZ0ZBQWdGLENBQUM7UUFDMUY7WUFDRSxPQUFPLHFHQUFxRyxDQUFDO1FBQy9HO1lBQ0UsT0FBTywwRkFBMEYsQ0FBQztRQUNwRztZQUNFLE9BQU8sc0VB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LEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsbUJBQW1CO2FBQ2pDO1NBQ0Y7OzJGQUVVLG1CQUFtQjtrQkFWL0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHFCQUFxQjt5QkFDakM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFueVF1ZXJ5LFxuICBBbnlRdWVyeUNvbGxlY3Rpb24sXG4gIEh0dHBTdGF0dXNDb2RlLFxuICBSZXF1ZXN0RXJyb3IsXG4gIGlzQ2xhc3NWYWxpZGF0b3JFcnJvcixcbiAgaXNTeW1mb255Rm9ybVZpb2xhdGlvbkxpc3RFcnJvcixcbiAgaXNTeW1mb255TGlzdEVycm9yLFxuICBzaG91bGRSZXRyeVJlcXVlc3QsXG59IGZyb20gJ0BldGhsZXRlL3F1ZXJ5JztcbmltcG9ydCB7IFF1ZXJ5RXJyb3JMaXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgUVVFUllfRVJST1JfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UXVlcnlFcnJvckRpcmVjdGl2ZT4oJ1FVRVJZX0VSUk9SX0RJUkVDVElWRV9UT0tFTicpO1xuXG5leHBvcnQgY29uc3QgY29udmVydEh0dHBTdGF0dXNDb2RlVG9NZXNzYWdlRW4gPSAoc3RhdHVzQ29kZTogSHR0cFN0YXR1c0NvZGUpID0+IHtcbiAgc3dpdGNoIChzdGF0dXNDb2RlKSB7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdTb3JyeSwgd2UgY291bGQgbm90IHByb2Nlc3MgeW91ciByZXF1ZXN0LiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICByZXR1cm4gJ1lvdSBhcmUgbm90IGF1dGhvcml6ZWQgdG8gcGVyZm9ybSB0aGlzIGFjdGlvbi4gUGxlYXNlIGxvZyBpbiB0byBjb250aW51ZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUGF5bWVudFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdQYXltZW50IGlzIHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Gb3JiaWRkZW46XG4gICAgICByZXR1cm4gJ1lvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHBlcmZvcm0gdGhpcyBhY3Rpb24uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEZvdW5kOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdGVkIHJlc291cmNlIHdhcyBub3QgZm91bmQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1ldGhvZE5vdEFsbG93ZWQ6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0ZWQgbWV0aG9kIGlzIG5vdCBhbGxvd2VkIGZvciB0aGlzIHJlc291cmNlLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RBY2NlcHRhYmxlOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdGVkIHJlc291cmNlIGlzIG5vdCBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgYSByZXNwb25zZSBtYXRjaGluZyB0aGUgbGlzdCBvZiBhY2NlcHRhYmxlIHZhbHVlcy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdQcm94eSBhdXRoZW50aWNhdGlvbiBpcyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aGlzIGFjdGlvbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgdGltZWQgb3V0IHdhaXRpbmcgZm9yIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Db25mbGljdDpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3QgY29uZmxpY3RzIHdpdGggdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHJlc291cmNlLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Hb25lOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdGVkIHJlc291cmNlIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgYW5kIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBhZ2Fpbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTGVuZ3RoUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IGRpZCBub3Qgc3BlY2lmeSB0aGUgbGVuZ3RoIG9mIGl0cyBjb250ZW50LCB3aGljaCBpcyByZXF1aXJlZCBieSB0aGUgcmVxdWVzdGVkIHJlc291cmNlLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgZG9lcyBub3QgbWVldCBvbmUgb2YgdGhlIHByZWNvbmRpdGlvbnMgdGhhdCB0aGUgcmVxdWVzdGVyIHB1dCBvbiB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUGF5bG9hZFRvb0xhcmdlOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCBpcyBsYXJnZXIgdGhhbiB0aGUgc2VydmVyIGlzIHdpbGxpbmcgb3IgYWJsZSB0byBwcm9jZXNzLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcmlUb29Mb25nOlxuICAgICAgcmV0dXJuICdUaGUgVVJMIHByb3ZpZGVkIHdhcyB0b28gbG9uZyBmb3IgdGhlIHNlcnZlciB0byBwcm9jZXNzLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnN1cHBvcnRlZE1lZGlhVHlwZTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3QgZW50aXR5IGhhcyBhIG1lZGlhIHR5cGUgd2hpY2ggdGhlIHNlcnZlciBvciByZXNvdXJjZSBkb2VzIG5vdCBzdXBwb3J0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SYW5nZU5vdFNhdGlzZmlhYmxlOlxuICAgICAgcmV0dXJuICdUaGUgY2xpZW50IGhhcyBhc2tlZCBmb3IgYSBwb3J0aW9uIG9mIHRoZSBmaWxlLCBidXQgdGhlIHNlcnZlciBjYW5ub3Qgc3VwcGx5IHRoYXQgcG9ydGlvbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRXhwZWN0YXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgY2Fubm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgRXhwZWN0IHJlcXVlc3QtaGVhZGVyIGZpZWxkLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbUFUZWFwb3Q6XG4gICAgICByZXR1cm4gJ0kgYW0gYSB0ZWFwb3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1pc2RpcmVjdGVkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3Qgd2FzIGRpcmVjdGVkIGF0IGEgc2VydmVyIHRoYXQgaXMgbm90IGFibGUgdG8gcHJvZHVjZSBhIHJlc3BvbnNlLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnByb2Nlc3NhYmxlRW50aXR5OlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCB3YXMgd2VsbC1mb3JtZWQgYnV0IHdhcyB1bmFibGUgdG8gYmUgZm9sbG93ZWQgZHVlIHRvIHNlbWFudGljIGVycm9ycy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9ja2VkOlxuICAgICAgcmV0dXJuICdUaGUgcmVzb3VyY2UgdGhhdCBpcyBiZWluZyBhY2Nlc3NlZCBpcyBsb2NrZWQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZhaWxlZERlcGVuZGVuY3k6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IGZhaWxlZCBkdWUgdG8gZmFpbHVyZSBvZiBhIHByZXZpb3VzIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb0Vhcmx5OlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGlzIHVud2lsbGluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0IGJlY2F1c2UgdGhlIHVzZXIgaGFzIG5vdCBiZWVuIGF1dGhlbnRpY2F0ZWQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVwZ3JhZGVSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnVGhlIGNsaWVudCBzaG91bGQgc3dpdGNoIHRvIGEgZGlmZmVyZW50IHByb3RvY29sIHN1Y2ggYXMgVExTLzEuMCwgZ2l2ZW4gaW4gdGhlIFVwZ3JhZGUgaGVhZGVyIGZpZWxkLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnVGhlIG9yaWdpbiBzZXJ2ZXIgcmVxdWlyZXMgdGhlIHJlcXVlc3QgdG8gYmUgY29uZGl0aW9uYWwuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb01hbnlSZXF1ZXN0czpcbiAgICAgIHJldHVybiAnWW91IGhhdmUgc2VudCB0b28gbWFueSByZXF1ZXN0cyBpbiBhIGdpdmVuIGFtb3VudCBvZiB0aW1lLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0SGVhZGVyRmllbGRzVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgaXMgdW53aWxsaW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QgYmVjYXVzZSBpdHMgaGVhZGVyIGZpZWxkcyBhcmUgdG9vIGxhcmdlLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF2YWlsYWJsZUZvckxlZ2FsUmVhc29uczpcbiAgICAgIHJldHVybiAnVGhlIHJlc291cmNlIGlzIHVuYXZhaWxhYmxlIGR1ZSB0byBhIGxlZ2FsIGRlbWFuZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW50ZXJuYWxTZXJ2ZXJFcnJvcjpcbiAgICAgIHJldHVybiAnU29tZXRoaW5nIHdlbnQgd3Jvbmcgb24gb3VyIGVuZC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90SW1wbGVtZW50ZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgZnVuY3Rpb25hbGl0eSByZXF1aXJlZCB0byBmdWxmaWxsIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRHYXRld2F5OlxuICAgICAgcmV0dXJuICdTb21ldGhpbmcgd2VudCB3cm9uZyBvbiBvdXIgZW5kLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5TZXJ2aWNlVW5hdmFpbGFibGU6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgaXMgY3VycmVudGx5IHVuYWJsZSB0byBoYW5kbGUgdGhlIHJlcXVlc3QgZHVlIHRvIGEgdGVtcG9yYXJ5IG92ZXJsb2FkIG9yIG1haW50ZW5hbmNlIG9mIHRoZSBzZXJ2ZXIuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdhdGV3YXlUaW1lb3V0OlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyLCB3aGlsZSBhY3RpbmcgYXMgYSBnYXRld2F5IG9yIHByb3h5LCBkaWQgbm90IHJlY2VpdmUgYSB0aW1lbHkgcmVzcG9uc2UgZnJvbSB0aGUgdXBzdHJlYW0gc2VydmVyIHNwZWNpZmllZCBieSB0aGUgVVJMIG9yIHNvbWUgb3RoZXIgYXV4aWxpYXJ5IHNlcnZlciBpdCBuZWVkZWQgdG8gYWNjZXNzIGluIGF0dGVtcHRpbmcgdG8gY29tcGxldGUgdGhlIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkh0dHBWZXJzaW9uTm90U3VwcG9ydGVkOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGRvZXMgbm90IHN1cHBvcnQgdGhlIEhUVFAgcHJvdG9jb2wgdmVyc2lvbiB1c2VkIGluIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5WYXJpYW50QWxzb05lZ290aWF0ZXM6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgaGFzIGFuIGludGVybmFsIGNvbmZpZ3VyYXRpb24gZXJyb3I6IHRoZSBjaG9zZW4gdmFyaWFudCByZXNvdXJjZSBpcyBjb25maWd1cmVkIHRvIGVuZ2FnZSBpbiB0cmFuc3BhcmVudCBjb250ZW50IG5lZ290aWF0aW9uIGl0c2VsZiwgYW5kIGlzIHRoZXJlZm9yZSBub3QgYSBwcm9wZXIgZW5kIHBvaW50IGluIHRoZSBuZWdvdGlhdGlvbiBwcm9jZXNzLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnN1ZmZpY2llbnRTdG9yYWdlOlxuICAgICAgcmV0dXJuICdUaGUgbWV0aG9kIGNvdWxkIG5vdCBiZSBwZXJmb3JtZWQgb24gdGhlIHJlc291cmNlIGJlY2F1c2UgdGhlIHNlcnZlciBpcyB1bmFibGUgdG8gc3RvcmUgdGhlIHJlcHJlc2VudGF0aW9uIG5lZWRlZCB0byBzdWNjZXNzZnVsbHkgY29tcGxldGUgdGhlIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvb3BEZXRlY3RlZDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBkZXRlY3RlZCBhbiBpbmZpbml0ZSBsb29wIHdoaWxlIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEV4dGVuZGVkOlxuICAgICAgcmV0dXJuICdGdXJ0aGVyIGV4dGVuc2lvbnMgdG8gdGhlIHJlcXVlc3QgYXJlIHJlcXVpcmVkIGZvciB0aGUgc2VydmVyIHRvIGZ1bGZpbGwgaXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5ldHdvcmtBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdZb3UgbmVlZCB0byBhdXRoZW50aWNhdGUgdG8gZ2FpbiBuZXR3b3JrIGFjY2Vzcy4nO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ1NvbWV0aGluZyB3ZW50IHdyb25nLiBDaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24gYW5kIHRyeSBhZ2FpbiBsYXRlci4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydEh0dHBTdGF0dXNDb2RlVG9NZXNzYWdlRGUgPSAoc3RhdHVzQ29kZTogSHR0cFN0YXR1c0NvZGUpID0+IHtcbiAgc3dpdGNoIChzdGF0dXNDb2RlKSB7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdFbnRzY2h1bGRpZ3VuZywgd2lyIGtvbm50ZW4gSWhyZSBBbmZyYWdlIG5pY2h0IGJlYXJiZWl0ZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgc3DDpHRlciBlcm5ldXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXV0aG9yaXplZDpcbiAgICAgIHJldHVybiAnU2llIHNpbmQgbmljaHQgYmVyZWNodGlndCwgZGllc2UgQWt0aW9uIGF1c3p1ZsO8aHJlbi4gQml0dGUgbWVsZGVuIFNpZSBzaWNoIGFuLCB1bSBmb3J0enVmYWhyZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheW1lbnRSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnWnVyIEF1c2bDvGhydW5nIGRpZXNlciBBa3Rpb24gaXN0IGVpbmUgWmFobHVuZyBlcmZvcmRlcmxpY2guJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZvcmJpZGRlbjpcbiAgICAgIHJldHVybiAnU2llIGhhYmVuIGtlaW5lIEJlcmVjaHRpZ3VuZywgZGllc2UgQWt0aW9uIGF1c3p1ZsO8aHJlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQ6XG4gICAgICByZXR1cm4gJ0RpZSBhbmdlZm9yZGVydGUgUmVzc291cmNlIHd1cmRlIG5pY2h0IGdlZnVuZGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NZXRob2ROb3RBbGxvd2VkOlxuICAgICAgcmV0dXJuICdEaWUgYW5nZWZvcmRlcnRlIE1ldGhvZGUgaXN0IGbDvHIgZGllc2UgUmVzc291cmNlIG5pY2h0IHp1bMOkc3NpZy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90QWNjZXB0YWJsZTpcbiAgICAgIHJldHVybiAnRGllIGFuZ2Vmb3JkZXJ0ZSBSZXNzb3VyY2UgaXN0IG5pY2h0IGluIGRlciBMYWdlLCBlaW5lIEFudHdvcnQgenUgZ2VuZXJpZXJlbiwgZGllIGRlciBMaXN0ZSBkZXIgYWt6ZXB0YWJsZW4gV2VydGUgZW50c3ByaWNodC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdadXIgQXVzZsO8aHJ1bmcgZGllc2VyIEFrdGlvbiBpc3QgZWluZSBQcm94eS1BdXRoZW50aWZpemllcnVuZyBlcmZvcmRlcmxpY2guJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RUaW1lb3V0OlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGhhdCBhdWYgZGllIEFuZm9yZGVydW5nIGdld2FydGV0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Db25mbGljdDpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIHN0ZWh0IGltIFdpZGVyc3BydWNoIHp1bSBha3R1ZWxsZW4gWnVzdGFuZCBkZXIgUmVzc291cmNlLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Hb25lOlxuICAgICAgcmV0dXJuICdEaWUgYW5nZWZvcmRlcnRlIFJlc3NvdXJjZSBpc3QgbmljaHQgbWVociB2ZXJmw7xnYmFyIHVuZCB3aXJkIGF1Y2ggbmljaHQgbWVociB2ZXJmw7xnYmFyIHNlaW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxlbmd0aFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmcgaGF0IGRpZSBMw6RuZ2UgaWhyZXMgSW5oYWx0cyBuaWNodCBhbmdlZ2ViZW4sIGRpZSB2b24gZGVyIGFuZ2Vmb3JkZXJ0ZW4gUmVzc291cmNlIGJlbsO2dGlndCB3aXJkLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgZXJmw7xsbHQgZWluZSBkZXIgVm9yYXVzc2V0enVuZ2VuIG5pY2h0LCBkaWUgZGVyIEFuZm9yZGVyZXIgYW4gZGllIEFuZm9yZGVydW5nIGdlc3RlbGx0IGhhdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUGF5bG9hZFRvb0xhcmdlOlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmcgaXN0IGdyw7bDn2VyIGFscyBkZXIgU2VydmVyIGJlcmVpdCBvZGVyIGluIGRlciBMYWdlIGlzdCwgenUgdmVyYXJiZWl0ZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVyaVRvb0xvbmc6XG4gICAgICByZXR1cm4gJ0RpZSBiZXJlaXRnZXN0ZWxsdGUgVVJMIHdhciBmw7xyIGRlbiBTZXJ2ZXIgenUgbGFuZywgdW0gc2llIHp1IHZlcmFyYmVpdGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnN1cHBvcnRlZE1lZGlhVHlwZTpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nc2VpbmhlaXQgaGF0IGVpbmVuIE1lZGllbnR5cCwgZGVuIGRlciBTZXJ2ZXIgb2RlciBkaWUgUmVzc291cmNlIG5pY2h0IHVudGVyc3TDvHR6dC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmFuZ2VOb3RTYXRpc2ZpYWJsZTpcbiAgICAgIHJldHVybiAnRGVyIENsaWVudCBoYXQgZWluZW4gVGVpbCBkZXIgRGF0ZWkgYW5nZWZvcmRlcnQsIGFiZXIgZGVyIFNlcnZlciBrYW5uIGRpZXNlbiBUZWlsIG5pY2h0IGxpZWZlcm4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkV4cGVjdGF0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGthbm4gZGllIEFuZm9yZGVydW5nZW4gZGVzIEVyd2FydHVuZy1BbmZvcmRlcnVuZ3Nrb3BmZmVsZHMgbmljaHQgZXJmw7xsbGVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbUFUZWFwb3Q6XG4gICAgICByZXR1cm4gJ0ljaCBiaW4gZWluZSBUZWVrYW5uZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWlzZGlyZWN0ZWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmcgd3VyZGUgYW4gZWluZW4gU2VydmVyIGdlcmljaHRldCwgZGVyIG5pY2h0IGluIGRlciBMYWdlIGlzdCwgZWluZSBBbnR3b3J0IHp1IGdlbmVyaWVyZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVucHJvY2Vzc2FibGVFbnRpdHk6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZyB3YXIgZ3V0IGZvcm11bGllcnQsIGtvbm50ZSBhYmVyIGF1ZmdydW5kIHNlbWFudGlzY2hlciBGZWhsZXIgbmljaHQgYmVmb2xndCB3ZXJkZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvY2tlZDpcbiAgICAgIHJldHVybiAnRGllIFJlc3NvdXJjZSwgYXVmIGRpZSB6dWdlZ3JpZmZlbiB3aXJkLCBpc3QgZ2VzcGVycnQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZhaWxlZERlcGVuZGVuY3k6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZyBpc3QgYXVmZ3J1bmQgZWluZXMgRmVobGVycyBlaW5lciB2b3JoZXJpZ2VuIEFuZm9yZGVydW5nIGZlaGxnZXNjaGxhZ2VuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29FYXJseTpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBpc3QgbmljaHQgYmVyZWl0LCBkaWUgQW5mb3JkZXJ1bmcgenUgdmVyYXJiZWl0ZW4sIHdlaWwgZGVyIEJlbnV0emVyIG5pY2h0IGF1dGhlbnRpZml6aWVydCB3dXJkZS4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXBncmFkZVJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdEZXIgQ2xpZW50IHNvbGx0ZSB6dSBlaW5lbSBhbmRlcmVuIFByb3Rva29sbCB3aWUgVExTLzEuMCB3ZWNoc2VsbiwgZGFzIGltIFVwZ3JhZGUtQW5mb3JkZXJ1bmdza29wZmZlbGQgYW5nZWdlYmVuIGlzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ0RlciBVcnNwcnVuZ3NzZXJ2ZXIgZXJmb3JkZXJ0LCBkYXNzIGRpZSBBbmZvcmRlcnVuZyBiZWRpbmd0IGlzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vTWFueVJlcXVlc3RzOlxuICAgICAgcmV0dXJuICdTaWUgaGFiZW4gaW4gZWluZXIgYmVzdGltbXRlbiBaZWl0IHp1IHZpZWxlIEFuZnJhZ2VuIGdlc2VuZGV0LiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0SGVhZGVyRmllbGRzVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaXN0IG5pY2h0IGJlcmVpdCwgZGllIEFuZm9yZGVydW5nIHp1IHZlcmFyYmVpdGVuLCB3ZWlsIHNlaW5lIEtvcGZmZWxkZXIgenUgZ3Jvw58gc2luZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdmFpbGFibGVGb3JMZWdhbFJlYXNvbnM6XG4gICAgICByZXR1cm4gJ0RpZSBSZXNzb3VyY2UgaXN0IGF1ZmdydW5kIGVpbmVyIHJlY2h0bGljaGVuIEZvcmRlcnVuZyBuaWNodCB2ZXJmw7xnYmFyLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnRlcm5hbFNlcnZlckVycm9yOlxuICAgICAgcmV0dXJuICdFdHdhcyBpc3Qgc2NoaWVmIGdlbGF1ZmVuLiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RJbXBsZW1lbnRlZDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciB1bnRlcnN0w7x0enQgZGllIHp1ciBFcmbDvGxsdW5nIGRlciBBbmZvcmRlcnVuZyBlcmZvcmRlcmxpY2hlIEZ1bmt0aW9uYWxpdMOkdCBuaWNodC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkR2F0ZXdheTpcbiAgICAgIHJldHVybiAnRXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbi4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuU2VydmljZVVuYXZhaWxhYmxlOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGthbm4gZGllIEFuZm9yZGVydW5nIGRlcnplaXQgbmljaHQgYmVhcmJlaXRlbiwgZGEgZXIgdm9yw7xiZXJnZWhlbmQgw7xiZXJsYXN0ZXQgb2RlciBnZXdhcnRldCB3aXJkLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5HYXRld2F5VGltZW91dDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBoYXQgYmVpbSBWZXJzdWNoLCBkaWUgQW5mb3JkZXJ1bmcgYWJ6dXNjaGxpZcOfZW4sIGtlaW5lIHJlY2h0emVpdGlnZSBBbnR3b3J0IHZvbSBTZXJ2ZXIgZXJoYWx0ZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkh0dHBWZXJzaW9uTm90U3VwcG9ydGVkOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIHVudGVyc3TDvHR6dCBkaWUgaW4gZGVyIEFuZm9yZGVydW5nIHZlcndlbmRldGUgSFRUUC1Qcm90b2tvbGx2ZXJzaW9uIG5pY2h0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5WYXJpYW50QWxzb05lZ290aWF0ZXM6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaGF0IGVpbmVuIGludGVybmVuIEtvbmZpZ3VyYXRpb25zZmVobGVyOiBEaWUgYXVzZ2V3w6RobHRlIFZhcmlhbnRlbnJlc3NvdXJjZSBpc3Qgc28ga29uZmlndXJpZXJ0LCBkYXNzIHNpZSBzaWNoIHNlbGJzdCBpbiBkaWUgdHJhbnNwYXJlbnRlIEluaGFsdHN2ZXJoYW5kbHVuZyBlaW5iaW5kZXQsIHVuZCBpc3QgZGFoZXIga2VpbiBnZWVpZ25ldGVyIEVuZHB1bmt0IGltIFZlcmhhbmRsdW5nc3Byb3plc3MuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkluc3VmZmljaWVudFN0b3JhZ2U6XG4gICAgICByZXR1cm4gJ0RpZSBNZXRob2RlIGtvbm50ZSBhdWYgZGllIFJlc3NvdXJjZSBuaWNodCBhbmdld2VuZGV0IHdlcmRlbiwgd2VpbCBkZXIgU2VydmVyIG5pY2h0IGluIGRlciBMYWdlIGlzdCwgZGllIGbDvHIgZGllIGVyZm9sZ3JlaWNoZSBBdXNmw7xocnVuZyBkZXIgQW5mb3JkZXJ1bmcgZXJmb3JkZXJsaWNoZSBEYXJzdGVsbHVuZyB6dSBzcGVpY2hlcm4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvb3BEZXRlY3RlZDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBoYXQgZWluZSBFbmRsb3NzY2hsZWlmZSBlcmthbm50LCB3w6RocmVuZCBlciBkaWUgQW5mb3JkZXJ1bmcgdmVyYXJiZWl0ZXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEV4dGVuZGVkOlxuICAgICAgcmV0dXJuICdXZWl0ZXJlIEVyd2VpdGVydW5nZW4gZGVyIEFuZm9yZGVydW5nIHNpbmQgZXJmb3JkZXJsaWNoLCBkYW1pdCBkZXIgU2VydmVyIHNpZSBlcmbDvGxsZW4ga2Fubi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTmV0d29ya0F1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1NpZSBtw7xzc2VuIHNpY2ggYXV0aGVudGlmaXppZXJlbiwgdW0gWnVnYW5nIHp1bSBOZXR6d2VyayB6dSBlcmhhbHRlbi4nO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ0V0d2FzIGlzdCBzY2hpZWYgZ2VsYXVmZW4uIMOcYmVycHLDvGZlbiBTaWUgSWhyZSBJbnRlcm5ldHZlcmJpbmR1bmcgdW5kIHZlcnN1Y2hlbiBTaWUgZXMgc3DDpHRlciBlcm5ldXQuJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvVGl0bGVFbiA9IChzdGF0dXNDb2RlOiBIdHRwU3RhdHVzQ29kZSkgPT4ge1xuICBzd2l0Y2ggKHN0YXR1c0NvZGUpIHtcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ0JhZCByZXF1ZXN0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXV0aG9yaXplZDpcbiAgICAgIHJldHVybiAnVW5hdXRob3JpemVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheW1lbnRSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnUGF5bWVudCByZXF1aXJlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Gb3JiaWRkZW46XG4gICAgICByZXR1cm4gJ0ZvcmJpZGRlbic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RGb3VuZDpcbiAgICAgIHJldHVybiAnTm90IGZvdW5kJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1ldGhvZE5vdEFsbG93ZWQ6XG4gICAgICByZXR1cm4gJ01ldGhvZCBub3QgYWxsb3dlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RBY2NlcHRhYmxlOlxuICAgICAgcmV0dXJuICdOb3QgYWNjZXB0YWJsZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Qcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1Byb3h5IGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RUaW1lb3V0OlxuICAgICAgcmV0dXJuICdSZXF1ZXN0IHRpbWVvdXQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQ29uZmxpY3Q6XG4gICAgICByZXR1cm4gJ0NvbmZsaWN0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdvbmU6XG4gICAgICByZXR1cm4gJ0dvbmUnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTGVuZ3RoUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ0xlbmd0aCByZXF1aXJlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ1ByZWNvbmRpdGlvbiBmYWlsZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUGF5bG9hZFRvb0xhcmdlOlxuICAgICAgcmV0dXJuICdQYXlsb2FkIHRvbyBsYXJnZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcmlUb29Mb25nOlxuICAgICAgcmV0dXJuICdVUkkgdG9vIGxvbmcnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5zdXBwb3J0ZWRNZWRpYVR5cGU6XG4gICAgICByZXR1cm4gJ1Vuc3VwcG9ydGVkIG1lZGlhIHR5cGUnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmFuZ2VOb3RTYXRpc2ZpYWJsZTpcbiAgICAgIHJldHVybiAnUmFuZ2Ugbm90IHNhdGlzZmlhYmxlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkV4cGVjdGF0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdFeHBlY3RhdGlvbiBmYWlsZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW1BVGVhcG90OlxuICAgICAgcmV0dXJuICdJIGFtIGEgdGVhcG90JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1pc2RpcmVjdGVkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnTWlzZGlyZWN0ZWQgcmVxdWVzdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnByb2Nlc3NhYmxlRW50aXR5OlxuICAgICAgcmV0dXJuICdVbnByb2Nlc3NhYmxlIGVudGl0eSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb2NrZWQ6XG4gICAgICByZXR1cm4gJ0xvY2tlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5GYWlsZWREZXBlbmRlbmN5OlxuICAgICAgcmV0dXJuICdGYWlsZWQgZGVwZW5kZW5jeSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29FYXJseTpcbiAgICAgIHJldHVybiAnVG9vIGVhcmx5JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVwZ3JhZGVSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnVXBncmFkZSByZXF1aXJlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnUHJlY29uZGl0aW9uIHJlcXVpcmVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb01hbnlSZXF1ZXN0czpcbiAgICAgIHJldHVybiAnVG9vIG1hbnkgcmVxdWVzdHMnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdEhlYWRlckZpZWxkc1Rvb0xhcmdlOlxuICAgICAgcmV0dXJuICdSZXF1ZXN0IGhlYWRlciBmaWVsZHMgdG9vIGxhcmdlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXZhaWxhYmxlRm9yTGVnYWxSZWFzb25zOlxuICAgICAgcmV0dXJuICdVbmF2YWlsYWJsZSBmb3IgbGVnYWwgcmVhc29ucyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnRlcm5hbFNlcnZlckVycm9yOlxuICAgICAgcmV0dXJuICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90SW1wbGVtZW50ZWQ6XG4gICAgICByZXR1cm4gJ05vdCBpbXBsZW1lbnRlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRHYXRld2F5OlxuICAgICAgcmV0dXJuICdCYWQgZ2F0ZXdheSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5TZXJ2aWNlVW5hdmFpbGFibGU6XG4gICAgICByZXR1cm4gJ1NlcnZpY2UgdW5hdmFpbGFibGUnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR2F0ZXdheVRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ0dhdGV3YXkgdGltZW91dCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5IdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDpcbiAgICAgIHJldHVybiAnSFRUUCB2ZXJzaW9uIG5vdCBzdXBwb3J0ZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVmFyaWFudEFsc29OZWdvdGlhdGVzOlxuICAgICAgcmV0dXJuICdWYXJpYW50IGFsc28gbmVnb3RpYXRlcyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnN1ZmZpY2llbnRTdG9yYWdlOlxuICAgICAgcmV0dXJuICdJbnN1ZmZpY2llbnQgc3RvcmFnZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb29wRGV0ZWN0ZWQ6XG4gICAgICByZXR1cm4gJ0xvb3AgZGV0ZWN0ZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90RXh0ZW5kZWQ6XG4gICAgICByZXR1cm4gJ05vdCBleHRlbmRlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5OZXR3b3JrQXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnTmV0d29yayBhdXRoZW50aWNhdGlvbiByZXF1aXJlZCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnU29tZXRoaW5nIHdlbnQgd3JvbmcnO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydEh0dHBTdGF0dXNDb2RlVG9UaXRsZURlID0gKHN0YXR1c0NvZGU6IEh0dHBTdGF0dXNDb2RlKSA9PiB7XG4gIHN3aXRjaCAoc3RhdHVzQ29kZSkge1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnVW5nw7xsdGlnZSBBbmZyYWdlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXV0aG9yaXplZDpcbiAgICAgIHJldHVybiAnTmljaHQgYXV0b3Jpc2llcnQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUGF5bWVudFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdaYWhsdW5nIGVyZm9yZGVybGljaCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Gb3JiaWRkZW46XG4gICAgICByZXR1cm4gJ1ZlcmJvdGVuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEZvdW5kOlxuICAgICAgcmV0dXJuICdOaWNodCBnZWZ1bmRlbic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NZXRob2ROb3RBbGxvd2VkOlxuICAgICAgcmV0dXJuICdNZXRob2RlIG5pY2h0IGVybGF1YnQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90QWNjZXB0YWJsZTpcbiAgICAgIHJldHVybiAnTmljaHQgYWt6ZXB0YWJlbCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Qcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1Byb3h5LUF1dGhlbnRpZml6aWVydW5nIGVyZm9yZGVybGljaCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0VGltZW91dDpcbiAgICAgIHJldHVybiAnQW5mb3JkZXJ1bmdzemVpdMO8YmVyc2NocmVpdHVuZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Db25mbGljdDpcbiAgICAgIHJldHVybiAnS29uZmxpa3QnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR29uZTpcbiAgICAgIHJldHVybiAnV2VnJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxlbmd0aFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdMw6RuZ2UgZXJmb3JkZXJsaWNoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnVm9yYmVkaW5ndW5nIGZlaGxnZXNjaGxhZ2VuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlBheWxvYWRUb29MYXJnZTpcbiAgICAgIHJldHVybiAnTnV0emxhc3QgenUgZ3Jvw58nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXJpVG9vTG9uZzpcbiAgICAgIHJldHVybiAnVVJJIHp1IGxhbmcnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5zdXBwb3J0ZWRNZWRpYVR5cGU6XG4gICAgICByZXR1cm4gJ05pY2h0IHVudGVyc3TDvHR6dGVyIE1lZGllbnR5cCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SYW5nZU5vdFNhdGlzZmlhYmxlOlxuICAgICAgcmV0dXJuICdCZXJlaWNoIG5pY2h0IHp1ZnJpZWRlbnN0ZWxsZW5kJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkV4cGVjdGF0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdFcndhcnR1bmcgZmVobGdlc2NobGFnZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW1BVGVhcG90OlxuICAgICAgcmV0dXJuICdJY2ggYmluIGVpbmUgVGVla2FubmUnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWlzZGlyZWN0ZWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdGZWhsZ2VsZWl0ZXRlIEFuZnJhZ2UnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5wcm9jZXNzYWJsZUVudGl0eTpcbiAgICAgIHJldHVybiAnVW52ZXJhcmJlaXRiYXJlIEVudGl0w6R0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvY2tlZDpcbiAgICAgIHJldHVybiAnR2VzcGVycnQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRmFpbGVkRGVwZW5kZW5jeTpcbiAgICAgIHJldHVybiAnRmVobGdlc2NobGFnZW5lIEFiaMOkbmdpZ2tlaXQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vRWFybHk6XG4gICAgICByZXR1cm4gJ1p1IGZyw7xoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVwZ3JhZGVSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnVXBncmFkZSBlcmZvcmRlcmxpY2gnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1ZvcmJlZGluZ3VuZyBlcmZvcmRlcmxpY2gnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vTWFueVJlcXVlc3RzOlxuICAgICAgcmV0dXJuICdadSB2aWVsZSBBbmZyYWdlbic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0SGVhZGVyRmllbGRzVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ0FuZm9yZGVydW5nc2tvcGZmZWxkZXIgenUgZ3Jvw58nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdmFpbGFibGVGb3JMZWdhbFJlYXNvbnM6XG4gICAgICByZXR1cm4gJ0F1cyByZWNodGxpY2hlbiBHcsO8bmRlbiBuaWNodCB2ZXJmw7xnYmFyJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkludGVybmFsU2VydmVyRXJyb3I6XG4gICAgICByZXR1cm4gJ0ludGVybmVyIFNlcnZlcmZlaGxlcic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RJbXBsZW1lbnRlZDpcbiAgICAgIHJldHVybiAnTmljaHQgaW1wbGVtZW50aWVydCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRHYXRld2F5OlxuICAgICAgcmV0dXJuICdTY2hsZWNodGVzIEdhdGV3YXknO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuU2VydmljZVVuYXZhaWxhYmxlOlxuICAgICAgcmV0dXJuICdEaWVuc3QgbmljaHQgdmVyZsO8Z2Jhcic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5HYXRld2F5VGltZW91dDpcbiAgICAgIHJldHVybiAnR2F0ZXdheS1aZWl0w7xiZXJzY2hyZWl0dW5nJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkh0dHBWZXJzaW9uTm90U3VwcG9ydGVkOlxuICAgICAgcmV0dXJuICdIVFRQLVZlcnNpb24gbmljaHQgdW50ZXJzdMO8dHp0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlZhcmlhbnRBbHNvTmVnb3RpYXRlczpcbiAgICAgIHJldHVybiAnVmFyaWFudGUgdmVyaGFuZGVsdCBhdWNoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkluc3VmZmljaWVudFN0b3JhZ2U6XG4gICAgICByZXR1cm4gJ1VuenVyZWljaGVuZGVyIFNwZWljaGVyJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvb3BEZXRlY3RlZDpcbiAgICAgIHJldHVybiAnU2NobGVpZmVuZXJrZW5udW5nJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEV4dGVuZGVkOlxuICAgICAgcmV0dXJuICdOaWNodCBlcndlaXRlcnQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTmV0d29ya0F1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ05ldHp3ZXJrYXV0aGVudGlmaXppZXJ1bmcgZXJmb3JkZXJsaWNoJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdFdHdhcyBpc3Qgc2NoaWVmIGdlbGF1ZmVuJztcbiAgfVxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnZXRRdWVyeUVycm9yJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUVVFUllfRVJST1JfVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogUXVlcnlFcnJvckRpcmVjdGl2ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBRdWVyeUVycm9yRGlyZWN0aXZlIHtcbiAgZXJyb3IgPSBpbnB1dC5yZXF1aXJlZDxSZXF1ZXN0RXJyb3IgfCBudWxsPigpO1xuICBxdWVyeSA9IGlucHV0LnJlcXVpcmVkPEFueVF1ZXJ5IHwgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbD4oKTtcbiAgbGFuZ3VhZ2UgPSBpbnB1dDwnZW4nIHwgJ2RlJz4oJ2VuJyk7XG5cbiAgcmVhZG9ubHkgZXJyb3JMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGVycm9yID0gdGhpcy5lcnJvcigpO1xuXG4gICAgaWYgKCFlcnJvcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcmV0cnlSZXN1bHQgPSBzaG91bGRSZXRyeVJlcXVlc3QoeyBlcnJvciwgY3VycmVudFJldHJ5Q291bnQ6IDAsIGhlYWRlcnM6IHt9IH0pO1xuXG4gICAgY29uc3QgZXJyb3JMaXN0OiBRdWVyeUVycm9yTGlzdCA9IHtcbiAgICAgIGNhbkJlUmV0cmllZDogcmV0cnlSZXN1bHQucmV0cnksXG4gICAgICByZXRyeURlbGF5OiByZXRyeVJlc3VsdC5kZWxheSA/PyAwLFxuICAgICAgaXNMaXN0OiBmYWxzZSxcbiAgICAgIGl0ZW1zOiBbXSxcbiAgICAgIHRpdGxlOlxuICAgICAgICBlcnJvci5zdGF0dXNUZXh0LnRvTG93ZXJDYXNlKCkgPT09ICdvaydcbiAgICAgICAgICA/IHRoaXMubGFuZ3VhZ2UoKSA9PT0gJ2VuJ1xuICAgICAgICAgICAgPyBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb1RpdGxlRW4oZXJyb3Iuc3RhdHVzKVxuICAgICAgICAgICAgOiBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb1RpdGxlRGUoZXJyb3Iuc3RhdHVzKVxuICAgICAgICAgIDogZXJyb3Iuc3RhdHVzVGV4dCxcbiAgICB9O1xuXG4gICAgY29uc3QgZGV0YWlsID0gZXJyb3IuZGV0YWlsO1xuICAgIGNvbnN0IGRlZmF1bHRFcnJvck1lc3NhZ2UgPSBgJHt0aGlzLmxhbmd1YWdlKCkgPT09ICdlbicgPyBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb01lc3NhZ2VFbihlcnJvci5zdGF0dXMpIDogY29udmVydEh0dHBTdGF0dXNDb2RlVG9NZXNzYWdlRGUoZXJyb3Iuc3RhdHVzKX0gKENvZGU6ICR7ZXJyb3Iuc3RhdHVzfSlgO1xuXG4gICAgaWYgKGlzQ2xhc3NWYWxpZGF0b3JFcnJvcihkZXRhaWwpKSB7XG4gICAgICBmb3IgKGNvbnN0IGVycm9yIG9mIGRldGFpbC5tZXNzYWdlKSB7XG4gICAgICAgIGVycm9yTGlzdC5pdGVtcy5wdXNoKHsgbWVzc2FnZTogZXJyb3IgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1N5bWZvbnlGb3JtVmlvbGF0aW9uTGlzdEVycm9yKGRldGFpbCkpIHtcbiAgICAgIGZvciAoY29uc3QgdmlvbGF0aW9uIG9mIGRldGFpbC52aW9sYXRpb25zKSB7XG4gICAgICAgIGVycm9yTGlzdC5pdGVtcy5wdXNoKHsgbWVzc2FnZTogdmlvbGF0aW9uLm1lc3NhZ2UgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1N5bWZvbnlMaXN0RXJyb3IoZGV0YWlsKSkge1xuICAgICAgZm9yIChjb25zdCBlcnJvciBvZiBkZXRhaWwpIHtcbiAgICAgICAgZXJyb3JMaXN0Lml0ZW1zLnB1c2goeyBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcgJiYgISFkZXRhaWwgJiYgJ21lc3NhZ2UnIGluIGRldGFpbCAmJiB0eXBlb2YgZGV0YWlsLm1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IGRldGFpbC5tZXNzYWdlIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcgJiYgISFkZXRhaWwgJiYgJ2RldGFpbCcgaW4gZGV0YWlsICYmIHR5cGVvZiBkZXRhaWwuZGV0YWlsID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gU3ltZm9ueSBlcnJvciByZXNwb25zZSAoZHVyaW5nIGRldmVsb3BtZW50KVxuICAgICAgZXJyb3JMaXN0Lml0ZW1zLnB1c2goeyBtZXNzYWdlOiBkZXRhaWwuZGV0YWlsIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IGRlZmF1bHRFcnJvck1lc3NhZ2UgfSk7XG4gICAgfVxuXG4gICAgZXJyb3JMaXN0LmlzTGlzdCA9IGVycm9yTGlzdC5pdGVtcy5sZW5ndGggPiAxO1xuXG4gICAgaWYgKGVycm9yTGlzdC5pdGVtcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGNvbXBhcmVTdHJpbmcgPSAoc3RyOiBzdHJpbmcpID0+IHN0ci50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccy9nLCAnJykucmVwbGFjZSgvXFwufCwvZywgJycpO1xuXG4gICAgICBpZiAoY29tcGFyZVN0cmluZyhlcnJvckxpc3QuaXRlbXNbMF0hLm1lc3NhZ2UpID09PSBjb21wYXJlU3RyaW5nKGVycm9yTGlzdC50aXRsZSkpIHtcbiAgICAgICAgLy8gT2Z0ZW4gdGhlIGVycm9yIHRpdGxlIGlzIHRoZSBzYW1lIGFzIHRoZSBlcnJvciBtZXNzYWdlLiBJbiB0aGlzIGNhc2Ugd2Ugc2ltcGx5IHVzZSB0aGUgZGVmYXVsdCBlcnJvciBtZXNzYWdlIGFzIGEgbWVzc2FnZS5cbiAgICAgICAgLy8gVGhpcyB3YXkgdGhlIHNhbWUgdGV4dCBpcyBhdCBsZWFzdCBub3QgZGlzcGxheWVkIHR3aWNlLlxuICAgICAgICBlcnJvckxpc3QuaXRlbXNbMF0hLm1lc3NhZ2UgPSBkZWZhdWx0RXJyb3JNZXNzYWdlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvckxpc3Q7XG4gIH0pO1xufVxuIl19
|
|
432
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWVycm9yL2RpcmVjdGl2ZXMvcXVlcnktZXJyb3IvcXVlcnktZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUtMLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLGtCQUFrQixHQUNuQixNQUFNLGdCQUFnQixDQUFDOztBQUd4QixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsNkJBQTZCLENBQUMsQ0FBQztBQUV4RyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxDQUFDLFVBQTBCLEVBQUUsRUFBRTtJQUM3RSxRQUFRLFVBQVUsRUFBRSxDQUFDO1FBQ25CO1lBQ0UsT0FBTyxtRUFBbUUsQ0FBQztRQUM3RTtZQUNFLE9BQU8sMkVBQTJFLENBQUM7UUFDckY7WUFDRSxPQUFPLDhDQUE4QyxDQUFDO1FBQ3hEO1lBQ0UsT0FBTyxvREFBb0QsQ0FBQztRQUM5RDtZQUNFLE9BQU8sdUNBQXVDLENBQUM7UUFDakQ7WUFDRSxPQUFPLHdEQUF3RCxDQUFDO1FBQ2xFO1lBQ0UsT0FBTyx3R0FBd0csQ0FBQztRQUNsSDtZQUNFLE9BQU8sMkRBQTJELENBQUM7UUFDckU7WUFDRSxPQUFPLCtDQUErQyxDQUFDO1FBQ3pEO1lBQ0UsT0FBTywrREFBK0QsQ0FBQztRQUN6RTtZQUNFLE9BQU8sZ0ZBQWdGLENBQUM7UUFDMUY7WUFDRSxPQUFPLHFHQUFxRyxDQUFDO1FBQy9HO1lBQ0UsT0FBTywwRkFBMEYsQ0FBQztRQUNwRztZQUNFLE9BQU8sc0VB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R0FBbkIsbUJBQW1CLDRaQVBuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxtQkFBbUI7YUFDakM7U0FDRjs7MkZBRVUsbUJBQW1CO2tCQVYvQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0aW9uVG9rZW4sIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQW55UXVlcnksXG4gIEFueVF1ZXJ5Q29sbGVjdGlvbixcbiAgSHR0cFN0YXR1c0NvZGUsXG4gIFJlcXVlc3RFcnJvcixcbiAgaXNDbGFzc1ZhbGlkYXRvckVycm9yLFxuICBpc1N5bWZvbnlGb3JtVmlvbGF0aW9uTGlzdEVycm9yLFxuICBpc1N5bWZvbnlMaXN0RXJyb3IsXG4gIHNob3VsZFJldHJ5UmVxdWVzdCxcbn0gZnJvbSAnQGV0aGxldGUvcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlFcnJvckxpc3QgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBRVUVSWV9FUlJPUl9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxRdWVyeUVycm9yRGlyZWN0aXZlPignUVVFUllfRVJST1JfRElSRUNUSVZFX1RPS0VOJyk7XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb01lc3NhZ2VFbiA9IChzdGF0dXNDb2RlOiBIdHRwU3RhdHVzQ29kZSkgPT4ge1xuICBzd2l0Y2ggKHN0YXR1c0NvZGUpIHtcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ1NvcnJ5LCB3ZSBjb3VsZCBub3QgcHJvY2VzcyB5b3VyIHJlcXVlc3QuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXV0aG9yaXplZDpcbiAgICAgIHJldHVybiAnWW91IGFyZSBub3QgYXV0aG9yaXplZCB0byBwZXJmb3JtIHRoaXMgYWN0aW9uLiBQbGVhc2UgbG9nIGluIHRvIGNvbnRpbnVlLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXltZW50UmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1BheW1lbnQgaXMgcmVxdWlyZWQgdG8gY29tcGxldGUgdGhpcyBhY3Rpb24uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZvcmJpZGRlbjpcbiAgICAgIHJldHVybiAnWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gcGVyZm9ybSB0aGlzIGFjdGlvbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQ6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWV0aG9kTm90QWxsb3dlZDpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3RlZCBtZXRob2QgaXMgbm90IGFsbG93ZWQgZm9yIHRoaXMgcmVzb3VyY2UuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEFjY2VwdGFibGU6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgaXMgbm90IGNhcGFibGUgb2YgZ2VuZXJhdGluZyBhIHJlc3BvbnNlIG1hdGNoaW5nIHRoZSBsaXN0IG9mIGFjY2VwdGFibGUgdmFsdWVzLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Qcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1Byb3h5IGF1dGhlbnRpY2F0aW9uIGlzIHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0VGltZW91dDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciB0aW1lZCBvdXQgd2FpdGluZyBmb3IgdGhlIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkNvbmZsaWN0OlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCBjb25mbGljdHMgd2l0aCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcmVzb3VyY2UuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdvbmU6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0ZWQgcmVzb3VyY2UgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBhbmQgd2lsbCBub3QgYmUgYXZhaWxhYmxlIGFnYWluLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5MZW5ndGhSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3QgZGlkIG5vdCBzcGVjaWZ5IHRoZSBsZW5ndGggb2YgaXRzIGNvbnRlbnQsIHdoaWNoIGlzIHJlcXVpcmVkIGJ5IHRoZSByZXF1ZXN0ZWQgcmVzb3VyY2UuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBkb2VzIG5vdCBtZWV0IG9uZSBvZiB0aGUgcHJlY29uZGl0aW9ucyB0aGF0IHRoZSByZXF1ZXN0ZXIgcHV0IG9uIHRoZSByZXF1ZXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXlsb2FkVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IGlzIGxhcmdlciB0aGFuIHRoZSBzZXJ2ZXIgaXMgd2lsbGluZyBvciBhYmxlIHRvIHByb2Nlc3MuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVyaVRvb0xvbmc6XG4gICAgICByZXR1cm4gJ1RoZSBVUkwgcHJvdmlkZWQgd2FzIHRvbyBsb25nIGZvciB0aGUgc2VydmVyIHRvIHByb2Nlc3MuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuc3VwcG9ydGVkTWVkaWFUeXBlOlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCBlbnRpdHkgaGFzIGEgbWVkaWEgdHlwZSB3aGljaCB0aGUgc2VydmVyIG9yIHJlc291cmNlIGRvZXMgbm90IHN1cHBvcnQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJhbmdlTm90U2F0aXNmaWFibGU6XG4gICAgICByZXR1cm4gJ1RoZSBjbGllbnQgaGFzIGFza2VkIGZvciBhIHBvcnRpb24gb2YgdGhlIGZpbGUsIGJ1dCB0aGUgc2VydmVyIGNhbm5vdCBzdXBwbHkgdGhhdCBwb3J0aW9uLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5FeHBlY3RhdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBjYW5ub3QgbWVldCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBFeHBlY3QgcmVxdWVzdC1oZWFkZXIgZmllbGQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkltQVRlYXBvdDpcbiAgICAgIHJldHVybiAnSSBhbSBhIHRlYXBvdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWlzZGlyZWN0ZWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdUaGUgcmVxdWVzdCB3YXMgZGlyZWN0ZWQgYXQgYSBzZXJ2ZXIgdGhhdCBpcyBub3QgYWJsZSB0byBwcm9kdWNlIGEgcmVzcG9uc2UuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVucHJvY2Vzc2FibGVFbnRpdHk6XG4gICAgICByZXR1cm4gJ1RoZSByZXF1ZXN0IHdhcyB3ZWxsLWZvcm1lZCBidXQgd2FzIHVuYWJsZSB0byBiZSBmb2xsb3dlZCBkdWUgdG8gc2VtYW50aWMgZXJyb3JzLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Mb2NrZWQ6XG4gICAgICByZXR1cm4gJ1RoZSByZXNvdXJjZSB0aGF0IGlzIGJlaW5nIGFjY2Vzc2VkIGlzIGxvY2tlZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRmFpbGVkRGVwZW5kZW5jeTpcbiAgICAgIHJldHVybiAnVGhlIHJlcXVlc3QgZmFpbGVkIGR1ZSB0byBmYWlsdXJlIG9mIGEgcHJldmlvdXMgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vRWFybHk6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgaXMgdW53aWxsaW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QgYmVjYXVzZSB0aGUgdXNlciBoYXMgbm90IGJlZW4gYXV0aGVudGljYXRlZC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXBncmFkZVJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdUaGUgY2xpZW50IHNob3VsZCBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQgcHJvdG9jb2wgc3VjaCBhcyBUTFMvMS4wLCBnaXZlbiBpbiB0aGUgVXBncmFkZSBoZWFkZXIgZmllbGQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdUaGUgb3JpZ2luIHNlcnZlciByZXF1aXJlcyB0aGUgcmVxdWVzdCB0byBiZSBjb25kaXRpb25hbC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vTWFueVJlcXVlc3RzOlxuICAgICAgcmV0dXJuICdZb3UgaGF2ZSBzZW50IHRvbyBtYW55IHJlcXVlc3RzIGluIGEgZ2l2ZW4gYW1vdW50IG9mIHRpbWUuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RIZWFkZXJGaWVsZHNUb29MYXJnZTpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBpcyB1bndpbGxpbmcgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdCBiZWNhdXNlIGl0cyBoZWFkZXIgZmllbGRzIGFyZSB0b28gbGFyZ2UuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuYXZhaWxhYmxlRm9yTGVnYWxSZWFzb25zOlxuICAgICAgcmV0dXJuICdUaGUgcmVzb3VyY2UgaXMgdW5hdmFpbGFibGUgZHVlIHRvIGEgbGVnYWwgZGVtYW5kLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnRlcm5hbFNlcnZlckVycm9yOlxuICAgICAgcmV0dXJuICdTb21ldGhpbmcgd2VudCB3cm9uZyBvbiBvdXIgZW5kLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RJbXBsZW1lbnRlZDpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSBmdW5jdGlvbmFsaXR5IHJlcXVpcmVkIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZEdhdGV3YXk6XG4gICAgICByZXR1cm4gJ1NvbWV0aGluZyB3ZW50IHdyb25nIG9uIG91ciBlbmQuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlNlcnZpY2VVbmF2YWlsYWJsZTpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBpcyBjdXJyZW50bHkgdW5hYmxlIHRvIGhhbmRsZSB0aGUgcmVxdWVzdCBkdWUgdG8gYSB0ZW1wb3Jhcnkgb3ZlcmxvYWQgb3IgbWFpbnRlbmFuY2Ugb2YgdGhlIHNlcnZlci4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR2F0ZXdheVRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIsIHdoaWxlIGFjdGluZyBhcyBhIGdhdGV3YXkgb3IgcHJveHksIGRpZCBub3QgcmVjZWl2ZSBhIHRpbWVseSByZXNwb25zZSBmcm9tIHRoZSB1cHN0cmVhbSBzZXJ2ZXIgc3BlY2lmaWVkIGJ5IHRoZSBVUkwgb3Igc29tZSBvdGhlciBhdXhpbGlhcnkgc2VydmVyIGl0IG5lZWRlZCB0byBhY2Nlc3MgaW4gYXR0ZW1wdGluZyB0byBjb21wbGV0ZSB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSHR0cFZlcnNpb25Ob3RTdXBwb3J0ZWQ6XG4gICAgICByZXR1cm4gJ1RoZSBzZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgSFRUUCBwcm90b2NvbCB2ZXJzaW9uIHVzZWQgaW4gdGhlIHJlcXVlc3QuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlZhcmlhbnRBbHNvTmVnb3RpYXRlczpcbiAgICAgIHJldHVybiAnVGhlIHNlcnZlciBoYXMgYW4gaW50ZXJuYWwgY29uZmlndXJhdGlvbiBlcnJvcjogdGhlIGNob3NlbiB2YXJpYW50IHJlc291cmNlIGlzIGNvbmZpZ3VyZWQgdG8gZW5nYWdlIGluIHRyYW5zcGFyZW50IGNvbnRlbnQgbmVnb3RpYXRpb24gaXRzZWxmLCBhbmQgaXMgdGhlcmVmb3JlIG5vdCBhIHByb3BlciBlbmQgcG9pbnQgaW4gdGhlIG5lZ290aWF0aW9uIHByb2Nlc3MuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkluc3VmZmljaWVudFN0b3JhZ2U6XG4gICAgICByZXR1cm4gJ1RoZSBtZXRob2QgY291bGQgbm90IGJlIHBlcmZvcm1lZCBvbiB0aGUgcmVzb3VyY2UgYmVjYXVzZSB0aGUgc2VydmVyIGlzIHVuYWJsZSB0byBzdG9yZSB0aGUgcmVwcmVzZW50YXRpb24gbmVlZGVkIHRvIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZSB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9vcERldGVjdGVkOlxuICAgICAgcmV0dXJuICdUaGUgc2VydmVyIGRldGVjdGVkIGFuIGluZmluaXRlIGxvb3Agd2hpbGUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90RXh0ZW5kZWQ6XG4gICAgICByZXR1cm4gJ0Z1cnRoZXIgZXh0ZW5zaW9ucyB0byB0aGUgcmVxdWVzdCBhcmUgcmVxdWlyZWQgZm9yIHRoZSBzZXJ2ZXIgdG8gZnVsZmlsbCBpdC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTmV0d29ya0F1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1lvdSBuZWVkIHRvIGF1dGhlbnRpY2F0ZSB0byBnYWluIG5ldHdvcmsgYWNjZXNzLic7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnU29tZXRoaW5nIHdlbnQgd3JvbmcuIENoZWNrIHlvdXIgaW50ZXJuZXQgY29ubmVjdGlvbiBhbmQgdHJ5IGFnYWluIGxhdGVyLic7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb01lc3NhZ2VEZSA9IChzdGF0dXNDb2RlOiBIdHRwU3RhdHVzQ29kZSkgPT4ge1xuICBzd2l0Y2ggKHN0YXR1c0NvZGUpIHtcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ0VudHNjaHVsZGlndW5nLCB3aXIga29ubnRlbiBJaHJlIEFuZnJhZ2UgbmljaHQgYmVhcmJlaXRlbi4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdXRob3JpemVkOlxuICAgICAgcmV0dXJuICdTaWUgc2luZCBuaWNodCBiZXJlY2h0aWd0LCBkaWVzZSBBa3Rpb24gYXVzenVmw7xocmVuLiBCaXR0ZSBtZWxkZW4gU2llIHNpY2ggYW4sIHVtIGZvcnR6dWZhaHJlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUGF5bWVudFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdadXIgQXVzZsO8aHJ1bmcgZGllc2VyIEFrdGlvbiBpc3QgZWluZSBaYWhsdW5nIGVyZm9yZGVybGljaC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRm9yYmlkZGVuOlxuICAgICAgcmV0dXJuICdTaWUgaGFiZW4ga2VpbmUgQmVyZWNodGlndW5nLCBkaWVzZSBBa3Rpb24gYXVzenVmw7xocmVuLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RGb3VuZDpcbiAgICAgIHJldHVybiAnRGllIGFuZ2Vmb3JkZXJ0ZSBSZXNzb3VyY2Ugd3VyZGUgbmljaHQgZ2VmdW5kZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1ldGhvZE5vdEFsbG93ZWQ6XG4gICAgICByZXR1cm4gJ0RpZSBhbmdlZm9yZGVydGUgTWV0aG9kZSBpc3QgZsO8ciBkaWVzZSBSZXNzb3VyY2UgbmljaHQgenVsw6Rzc2lnLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RBY2NlcHRhYmxlOlxuICAgICAgcmV0dXJuICdEaWUgYW5nZWZvcmRlcnRlIFJlc3NvdXJjZSBpc3QgbmljaHQgaW4gZGVyIExhZ2UsIGVpbmUgQW50d29ydCB6dSBnZW5lcmllcmVuLCBkaWUgZGVyIExpc3RlIGRlciBha3plcHRhYmxlbiBXZXJ0ZSBlbnRzcHJpY2h0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Qcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1p1ciBBdXNmw7xocnVuZyBkaWVzZXIgQWt0aW9uIGlzdCBlaW5lIFByb3h5LUF1dGhlbnRpZml6aWVydW5nIGVyZm9yZGVybGljaC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgaGF0IGF1ZiBkaWUgQW5mb3JkZXJ1bmcgZ2V3YXJ0ZXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkNvbmZsaWN0OlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmcgc3RlaHQgaW0gV2lkZXJzcHJ1Y2ggenVtIGFrdHVlbGxlbiBadXN0YW5kIGRlciBSZXNzb3VyY2UuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdvbmU6XG4gICAgICByZXR1cm4gJ0RpZSBhbmdlZm9yZGVydGUgUmVzc291cmNlIGlzdCBuaWNodCBtZWhyIHZlcmbDvGdiYXIgdW5kIHdpcmQgYXVjaCBuaWNodCBtZWhyIHZlcmbDvGdiYXIgc2Vpbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTGVuZ3RoUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZyBoYXQgZGllIEzDpG5nZSBpaHJlcyBJbmhhbHRzIG5pY2h0IGFuZ2VnZWJlbiwgZGllIHZvbiBkZXIgYW5nZWZvcmRlcnRlbiBSZXNzb3VyY2UgYmVuw7Z0aWd0IHdpcmQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBlcmbDvGxsdCBlaW5lIGRlciBWb3JhdXNzZXR6dW5nZW4gbmljaHQsIGRpZSBkZXIgQW5mb3JkZXJlciBhbiBkaWUgQW5mb3JkZXJ1bmcgZ2VzdGVsbHQgaGF0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXlsb2FkVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZyBpc3QgZ3LDtsOfZXIgYWxzIGRlciBTZXJ2ZXIgYmVyZWl0IG9kZXIgaW4gZGVyIExhZ2UgaXN0LCB6dSB2ZXJhcmJlaXRlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXJpVG9vTG9uZzpcbiAgICAgIHJldHVybiAnRGllIGJlcmVpdGdlc3RlbGx0ZSBVUkwgd2FyIGbDvHIgZGVuIFNlcnZlciB6dSBsYW5nLCB1bSBzaWUgenUgdmVyYXJiZWl0ZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVuc3VwcG9ydGVkTWVkaWFUeXBlOlxuICAgICAgcmV0dXJuICdEaWUgQW5mb3JkZXJ1bmdzZWluaGVpdCBoYXQgZWluZW4gTWVkaWVudHlwLCBkZW4gZGVyIFNlcnZlciBvZGVyIGRpZSBSZXNzb3VyY2UgbmljaHQgdW50ZXJzdMO8dHp0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SYW5nZU5vdFNhdGlzZmlhYmxlOlxuICAgICAgcmV0dXJuICdEZXIgQ2xpZW50IGhhdCBlaW5lbiBUZWlsIGRlciBEYXRlaSBhbmdlZm9yZGVydCwgYWJlciBkZXIgU2VydmVyIGthbm4gZGllc2VuIFRlaWwgbmljaHQgbGllZmVybi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRXhwZWN0YXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIga2FubiBkaWUgQW5mb3JkZXJ1bmdlbiBkZXMgRXJ3YXJ0dW5nLUFuZm9yZGVydW5nc2tvcGZmZWxkcyBuaWNodCBlcmbDvGxsZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkltQVRlYXBvdDpcbiAgICAgIHJldHVybiAnSWNoIGJpbiBlaW5lIFRlZWthbm5lLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NaXNkaXJlY3RlZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ0RpZSBBbmZvcmRlcnVuZyB3dXJkZSBhbiBlaW5lbiBTZXJ2ZXIgZ2VyaWNodGV0LCBkZXIgbmljaHQgaW4gZGVyIExhZ2UgaXN0LCBlaW5lIEFudHdvcnQgenUgZ2VuZXJpZXJlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5wcm9jZXNzYWJsZUVudGl0eTpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIHdhciBndXQgZm9ybXVsaWVydCwga29ubnRlIGFiZXIgYXVmZ3J1bmQgc2VtYW50aXNjaGVyIEZlaGxlciBuaWNodCBiZWZvbGd0IHdlcmRlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9ja2VkOlxuICAgICAgcmV0dXJuICdEaWUgUmVzc291cmNlLCBhdWYgZGllIHp1Z2VncmlmZmVuIHdpcmQsIGlzdCBnZXNwZXJydC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRmFpbGVkRGVwZW5kZW5jeTpcbiAgICAgIHJldHVybiAnRGllIEFuZm9yZGVydW5nIGlzdCBhdWZncnVuZCBlaW5lcyBGZWhsZXJzIGVpbmVyIHZvcmhlcmlnZW4gQW5mb3JkZXJ1bmcgZmVobGdlc2NobGFnZW4uJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb0Vhcmx5OlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGlzdCBuaWNodCBiZXJlaXQsIGRpZSBBbmZvcmRlcnVuZyB6dSB2ZXJhcmJlaXRlbiwgd2VpbCBkZXIgQmVudXR6ZXIgbmljaHQgYXV0aGVudGlmaXppZXJ0IHd1cmRlLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcGdyYWRlUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ0RlciBDbGllbnQgc29sbHRlIHp1IGVpbmVtIGFuZGVyZW4gUHJvdG9rb2xsIHdpZSBUTFMvMS4wIHdlY2hzZWxuLCBkYXMgaW0gVXBncmFkZS1BbmZvcmRlcnVuZ3Nrb3BmZmVsZCBhbmdlZ2ViZW4gaXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnRGVyIFVyc3BydW5nc3NlcnZlciBlcmZvcmRlcnQsIGRhc3MgZGllIEFuZm9yZGVydW5nIGJlZGluZ3QgaXN0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29NYW55UmVxdWVzdHM6XG4gICAgICByZXR1cm4gJ1NpZSBoYWJlbiBpbiBlaW5lciBiZXN0aW1tdGVuIFplaXQgenUgdmllbGUgQW5mcmFnZW4gZ2VzZW5kZXQuIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgc3DDpHRlciBlcm5ldXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RIZWFkZXJGaWVsZHNUb29MYXJnZTpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBpc3QgbmljaHQgYmVyZWl0LCBkaWUgQW5mb3JkZXJ1bmcgenUgdmVyYXJiZWl0ZW4sIHdlaWwgc2VpbmUgS29wZmZlbGRlciB6dSBncm/DnyBzaW5kLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF2YWlsYWJsZUZvckxlZ2FsUmVhc29uczpcbiAgICAgIHJldHVybiAnRGllIFJlc3NvdXJjZSBpc3QgYXVmZ3J1bmQgZWluZXIgcmVjaHRsaWNoZW4gRm9yZGVydW5nIG5pY2h0IHZlcmbDvGdiYXIuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkludGVybmFsU2VydmVyRXJyb3I6XG4gICAgICByZXR1cm4gJ0V0d2FzIGlzdCBzY2hpZWYgZ2VsYXVmZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgc3DDpHRlciBlcm5ldXQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEltcGxlbWVudGVkOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIHVudGVyc3TDvHR6dCBkaWUgenVyIEVyZsO8bGx1bmcgZGVyIEFuZm9yZGVydW5nIGVyZm9yZGVybGljaGUgRnVua3Rpb25hbGl0w6R0IG5pY2h0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRHYXRld2F5OlxuICAgICAgcmV0dXJuICdFdHdhcyBpc3Qgc2NoaWVmIGdlbGF1ZmVuLiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0Lic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5TZXJ2aWNlVW5hdmFpbGFibGU6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIga2FubiBkaWUgQW5mb3JkZXJ1bmcgZGVyemVpdCBuaWNodCBiZWFyYmVpdGVuLCBkYSBlciB2b3LDvGJlcmdlaGVuZCDDvGJlcmxhc3RldCBvZGVyIGdld2FydGV0IHdpcmQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdhdGV3YXlUaW1lb3V0OlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGhhdCBiZWltIFZlcnN1Y2gsIGRpZSBBbmZvcmRlcnVuZyBhYnp1c2NobGllw59lbiwga2VpbmUgcmVjaHR6ZWl0aWdlIEFudHdvcnQgdm9tIFNlcnZlciBlcmhhbHRlbi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSHR0cFZlcnNpb25Ob3RTdXBwb3J0ZWQ6XG4gICAgICByZXR1cm4gJ0RlciBTZXJ2ZXIgdW50ZXJzdMO8dHp0IGRpZSBpbiBkZXIgQW5mb3JkZXJ1bmcgdmVyd2VuZGV0ZSBIVFRQLVByb3Rva29sbHZlcnNpb24gbmljaHQuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlZhcmlhbnRBbHNvTmVnb3RpYXRlczpcbiAgICAgIHJldHVybiAnRGVyIFNlcnZlciBoYXQgZWluZW4gaW50ZXJuZW4gS29uZmlndXJhdGlvbnNmZWhsZXI6IERpZSBhdXNnZXfDpGhsdGUgVmFyaWFudGVucmVzc291cmNlIGlzdCBzbyBrb25maWd1cmllcnQsIGRhc3Mgc2llIHNpY2ggc2VsYnN0IGluIGRpZSB0cmFuc3BhcmVudGUgSW5oYWx0c3ZlcmhhbmRsdW5nIGVpbmJpbmRldCwgdW5kIGlzdCBkYWhlciBrZWluIGdlZWlnbmV0ZXIgRW5kcHVua3QgaW0gVmVyaGFuZGx1bmdzcHJvemVzcy4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW5zdWZmaWNpZW50U3RvcmFnZTpcbiAgICAgIHJldHVybiAnRGllIE1ldGhvZGUga29ubnRlIGF1ZiBkaWUgUmVzc291cmNlIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuLCB3ZWlsIGRlciBTZXJ2ZXIgbmljaHQgaW4gZGVyIExhZ2UgaXN0LCBkaWUgZsO8ciBkaWUgZXJmb2xncmVpY2hlIEF1c2bDvGhydW5nIGRlciBBbmZvcmRlcnVuZyBlcmZvcmRlcmxpY2hlIERhcnN0ZWxsdW5nIHp1IHNwZWljaGVybi4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9vcERldGVjdGVkOlxuICAgICAgcmV0dXJuICdEZXIgU2VydmVyIGhhdCBlaW5lIEVuZGxvc3NjaGxlaWZlIGVya2FubnQsIHfDpGhyZW5kIGVyIGRpZSBBbmZvcmRlcnVuZyB2ZXJhcmJlaXRldC4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90RXh0ZW5kZWQ6XG4gICAgICByZXR1cm4gJ1dlaXRlcmUgRXJ3ZWl0ZXJ1bmdlbiBkZXIgQW5mb3JkZXJ1bmcgc2luZCBlcmZvcmRlcmxpY2gsIGRhbWl0IGRlciBTZXJ2ZXIgc2llIGVyZsO8bGxlbiBrYW5uLic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5OZXR3b3JrQXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnU2llIG3DvHNzZW4gc2ljaCBhdXRoZW50aWZpemllcmVuLCB1bSBadWdhbmcgenVtIE5ldHp3ZXJrIHp1IGVyaGFsdGVuLic7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnRXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbi4gw5xiZXJwcsO8ZmVuIFNpZSBJaHJlIEludGVybmV0dmVyYmluZHVuZyB1bmQgdmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydEh0dHBTdGF0dXNDb2RlVG9UaXRsZUVuID0gKHN0YXR1c0NvZGU6IEh0dHBTdGF0dXNDb2RlKSA9PiB7XG4gIHN3aXRjaCAoc3RhdHVzQ29kZSkge1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuQmFkUmVxdWVzdDpcbiAgICAgIHJldHVybiAnQmFkIHJlcXVlc3QnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdXRob3JpemVkOlxuICAgICAgcmV0dXJuICdVbmF1dGhvcml6ZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUGF5bWVudFJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdQYXltZW50IHJlcXVpcmVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZvcmJpZGRlbjpcbiAgICAgIHJldHVybiAnRm9yYmlkZGVuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEZvdW5kOlxuICAgICAgcmV0dXJuICdOb3QgZm91bmQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWV0aG9kTm90QWxsb3dlZDpcbiAgICAgIHJldHVybiAnTWV0aG9kIG5vdCBhbGxvd2VkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEFjY2VwdGFibGU6XG4gICAgICByZXR1cm4gJ05vdCBhY2NlcHRhYmxlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnUHJveHkgYXV0aGVudGljYXRpb24gcmVxdWlyZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQ6XG4gICAgICByZXR1cm4gJ1JlcXVlc3QgdGltZW91dCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Db25mbGljdDpcbiAgICAgIHJldHVybiAnQ29uZmxpY3QnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuR29uZTpcbiAgICAgIHJldHVybiAnR29uZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5MZW5ndGhSZXF1aXJlZDpcbiAgICAgIHJldHVybiAnTGVuZ3RoIHJlcXVpcmVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvbkZhaWxlZDpcbiAgICAgIHJldHVybiAnUHJlY29uZGl0aW9uIGZhaWxlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXlsb2FkVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ1BheWxvYWQgdG9vIGxhcmdlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVyaVRvb0xvbmc6XG4gICAgICByZXR1cm4gJ1VSSSB0b28gbG9uZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnN1cHBvcnRlZE1lZGlhVHlwZTpcbiAgICAgIHJldHVybiAnVW5zdXBwb3J0ZWQgbWVkaWEgdHlwZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SYW5nZU5vdFNhdGlzZmlhYmxlOlxuICAgICAgcmV0dXJuICdSYW5nZSBub3Qgc2F0aXNmaWFibGUnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRXhwZWN0YXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ0V4cGVjdGF0aW9uIGZhaWxlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbUFUZWFwb3Q6XG4gICAgICByZXR1cm4gJ0kgYW0gYSB0ZWFwb3QnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTWlzZGlyZWN0ZWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdNaXNkaXJlY3RlZCByZXF1ZXN0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlVucHJvY2Vzc2FibGVFbnRpdHk6XG4gICAgICByZXR1cm4gJ1VucHJvY2Vzc2FibGUgZW50aXR5JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvY2tlZDpcbiAgICAgIHJldHVybiAnTG9ja2VkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZhaWxlZERlcGVuZGVuY3k6XG4gICAgICByZXR1cm4gJ0ZhaWxlZCBkZXBlbmRlbmN5JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlRvb0Vhcmx5OlxuICAgICAgcmV0dXJuICdUb28gZWFybHknO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXBncmFkZVJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdVcGdyYWRlIHJlcXVpcmVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByZWNvbmRpdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdQcmVjb25kaXRpb24gcmVxdWlyZWQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVG9vTWFueVJlcXVlc3RzOlxuICAgICAgcmV0dXJuICdUb28gbWFueSByZXF1ZXN0cyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5SZXF1ZXN0SGVhZGVyRmllbGRzVG9vTGFyZ2U6XG4gICAgICByZXR1cm4gJ1JlcXVlc3QgaGVhZGVyIGZpZWxkcyB0b28gbGFyZ2UnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdmFpbGFibGVGb3JMZWdhbFJlYXNvbnM6XG4gICAgICByZXR1cm4gJ1VuYXZhaWxhYmxlIGZvciBsZWdhbCByZWFzb25zJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkludGVybmFsU2VydmVyRXJyb3I6XG4gICAgICByZXR1cm4gJ0ludGVybmFsIHNlcnZlciBlcnJvcic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RJbXBsZW1lbnRlZDpcbiAgICAgIHJldHVybiAnTm90IGltcGxlbWVudGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZEdhdGV3YXk6XG4gICAgICByZXR1cm4gJ0JhZCBnYXRld2F5JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlNlcnZpY2VVbmF2YWlsYWJsZTpcbiAgICAgIHJldHVybiAnU2VydmljZSB1bmF2YWlsYWJsZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5HYXRld2F5VGltZW91dDpcbiAgICAgIHJldHVybiAnR2F0ZXdheSB0aW1lb3V0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkh0dHBWZXJzaW9uTm90U3VwcG9ydGVkOlxuICAgICAgcmV0dXJuICdIVFRQIHZlcnNpb24gbm90IHN1cHBvcnRlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5WYXJpYW50QWxzb05lZ290aWF0ZXM6XG4gICAgICByZXR1cm4gJ1ZhcmlhbnQgYWxzbyBuZWdvdGlhdGVzJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkluc3VmZmljaWVudFN0b3JhZ2U6XG4gICAgICByZXR1cm4gJ0luc3VmZmljaWVudCBzdG9yYWdlJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkxvb3BEZXRlY3RlZDpcbiAgICAgIHJldHVybiAnTG9vcCBkZXRlY3RlZCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RFeHRlbmRlZDpcbiAgICAgIHJldHVybiAnTm90IGV4dGVuZGVkJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5ldHdvcmtBdXRoZW50aWNhdGlvblJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdOZXR3b3JrIGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICdTb21ldGhpbmcgd2VudCB3cm9uZyc7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb1RpdGxlRGUgPSAoc3RhdHVzQ29kZTogSHR0cFN0YXR1c0NvZGUpID0+IHtcbiAgc3dpdGNoIChzdGF0dXNDb2RlKSB7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5CYWRSZXF1ZXN0OlxuICAgICAgcmV0dXJuICdVbmfDvGx0aWdlIEFuZnJhZ2UnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdXRob3JpemVkOlxuICAgICAgcmV0dXJuICdOaWNodCBhdXRvcmlzaWVydCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QYXltZW50UmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ1phaGx1bmcgZXJmb3JkZXJsaWNoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkZvcmJpZGRlbjpcbiAgICAgIHJldHVybiAnVmVyYm90ZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90Rm91bmQ6XG4gICAgICByZXR1cm4gJ05pY2h0IGdlZnVuZGVuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk1ldGhvZE5vdEFsbG93ZWQ6XG4gICAgICByZXR1cm4gJ01ldGhvZGUgbmljaHQgZXJsYXVidCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ob3RBY2NlcHRhYmxlOlxuICAgICAgcmV0dXJuICdOaWNodCBha3plcHRhYmVsJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnUHJveHktQXV0aGVudGlmaXppZXJ1bmcgZXJmb3JkZXJsaWNoJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RUaW1lb3V0OlxuICAgICAgcmV0dXJuICdBbmZvcmRlcnVuZ3N6ZWl0w7xiZXJzY2hyZWl0dW5nJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkNvbmZsaWN0OlxuICAgICAgcmV0dXJuICdLb25mbGlrdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Hb25lOlxuICAgICAgcmV0dXJuICdXZWcnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTGVuZ3RoUmVxdWlyZWQ6XG4gICAgICByZXR1cm4gJ0zDpG5nZSBlcmZvcmRlcmxpY2gnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUHJlY29uZGl0aW9uRmFpbGVkOlxuICAgICAgcmV0dXJuICdWb3JiZWRpbmd1bmcgZmVobGdlc2NobGFnZW4nO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuUGF5bG9hZFRvb0xhcmdlOlxuICAgICAgcmV0dXJuICdOdXR6bGFzdCB6dSBncm/Dnyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VcmlUb29Mb25nOlxuICAgICAgcmV0dXJuICdVUkkgenUgbGFuZyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnN1cHBvcnRlZE1lZGlhVHlwZTpcbiAgICAgIHJldHVybiAnTmljaHQgdW50ZXJzdMO8dHp0ZXIgTWVkaWVudHlwJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJhbmdlTm90U2F0aXNmaWFibGU6XG4gICAgICByZXR1cm4gJ0JlcmVpY2ggbmljaHQgenVmcmllZGVuc3RlbGxlbmQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuRXhwZWN0YXRpb25GYWlsZWQ6XG4gICAgICByZXR1cm4gJ0Vyd2FydHVuZyBmZWhsZ2VzY2hsYWdlbic7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbUFUZWFwb3Q6XG4gICAgICByZXR1cm4gJ0ljaCBiaW4gZWluZSBUZWVrYW5uZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5NaXNkaXJlY3RlZFJlcXVlc3Q6XG4gICAgICByZXR1cm4gJ0ZlaGxnZWxlaXRldGUgQW5mcmFnZSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbnByb2Nlc3NhYmxlRW50aXR5OlxuICAgICAgcmV0dXJuICdVbnZlcmFyYmVpdGJhcmUgRW50aXTDpHQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9ja2VkOlxuICAgICAgcmV0dXJuICdHZXNwZXJydCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5GYWlsZWREZXBlbmRlbmN5OlxuICAgICAgcmV0dXJuICdGZWhsZ2VzY2hsYWdlbmUgQWJow6RuZ2lna2VpdCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29FYXJseTpcbiAgICAgIHJldHVybiAnWnUgZnLDvGgnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVXBncmFkZVJlcXVpcmVkOlxuICAgICAgcmV0dXJuICdVcGdyYWRlIGVyZm9yZGVybGljaCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5QcmVjb25kaXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnVm9yYmVkaW5ndW5nIGVyZm9yZGVybGljaCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5Ub29NYW55UmVxdWVzdHM6XG4gICAgICByZXR1cm4gJ1p1IHZpZWxlIEFuZnJhZ2VuJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJlcXVlc3RIZWFkZXJGaWVsZHNUb29MYXJnZTpcbiAgICAgIHJldHVybiAnQW5mb3JkZXJ1bmdza29wZmZlbGRlciB6dSBncm/Dnyc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF2YWlsYWJsZUZvckxlZ2FsUmVhc29uczpcbiAgICAgIHJldHVybiAnQXVzIHJlY2h0bGljaGVuIEdyw7xuZGVuIG5pY2h0IHZlcmbDvGdiYXInO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW50ZXJuYWxTZXJ2ZXJFcnJvcjpcbiAgICAgIHJldHVybiAnSW50ZXJuZXIgU2VydmVyZmVobGVyJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLk5vdEltcGxlbWVudGVkOlxuICAgICAgcmV0dXJuICdOaWNodCBpbXBsZW1lbnRpZXJ0JztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkJhZEdhdGV3YXk6XG4gICAgICByZXR1cm4gJ1NjaGxlY2h0ZXMgR2F0ZXdheSc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5TZXJ2aWNlVW5hdmFpbGFibGU6XG4gICAgICByZXR1cm4gJ0RpZW5zdCBuaWNodCB2ZXJmw7xnYmFyJztcbiAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLkdhdGV3YXlUaW1lb3V0OlxuICAgICAgcmV0dXJuICdHYXRld2F5LVplaXTDvGJlcnNjaHJlaXR1bmcnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSHR0cFZlcnNpb25Ob3RTdXBwb3J0ZWQ6XG4gICAgICByZXR1cm4gJ0hUVFAtVmVyc2lvbiBuaWNodCB1bnRlcnN0w7x0enQnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVmFyaWFudEFsc29OZWdvdGlhdGVzOlxuICAgICAgcmV0dXJuICdWYXJpYW50ZSB2ZXJoYW5kZWx0IGF1Y2gnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuSW5zdWZmaWNpZW50U3RvcmFnZTpcbiAgICAgIHJldHVybiAnVW56dXJlaWNoZW5kZXIgU3BlaWNoZXInO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTG9vcERldGVjdGVkOlxuICAgICAgcmV0dXJuICdTY2hsZWlmZW5lcmtlbm51bmcnO1xuICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuTm90RXh0ZW5kZWQ6XG4gICAgICByZXR1cm4gJ05pY2h0IGVyd2VpdGVydCc7XG4gICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5OZXR3b3JrQXV0aGVudGljYXRpb25SZXF1aXJlZDpcbiAgICAgIHJldHVybiAnTmV0endlcmthdXRoZW50aWZpemllcnVuZyBlcmZvcmRlcmxpY2gnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ0V0d2FzIGlzdCBzY2hpZWYgZ2VsYXVmZW4nO1xuICB9XG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldFF1ZXJ5RXJyb3InLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBRVUVSWV9FUlJPUl9UT0tFTixcbiAgICAgIHVzZUV4aXN0aW5nOiBRdWVyeUVycm9yRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5RXJyb3JEaXJlY3RpdmUge1xuICBlcnJvciA9IGlucHV0LnJlcXVpcmVkPFJlcXVlc3RFcnJvciB8IG51bGw+KCk7XG4gIHF1ZXJ5ID0gaW5wdXQucmVxdWlyZWQ8QW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPigpO1xuICBsYW5ndWFnZSA9IGlucHV0PCdlbicgfCAnZGUnPignZW4nKTtcblxuICByZWFkb25seSBlcnJvckxpc3QgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZXJyb3IgPSB0aGlzLmVycm9yKCk7XG5cbiAgICBpZiAoIWVycm9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCByZXRyeVJlc3VsdCA9IHNob3VsZFJldHJ5UmVxdWVzdCh7IGVycm9yLCBjdXJyZW50UmV0cnlDb3VudDogMCwgaGVhZGVyczoge30gfSk7XG5cbiAgICBjb25zdCBlcnJvckxpc3Q6IFF1ZXJ5RXJyb3JMaXN0ID0ge1xuICAgICAgY2FuQmVSZXRyaWVkOiByZXRyeVJlc3VsdC5yZXRyeSxcbiAgICAgIHJldHJ5RGVsYXk6IHJldHJ5UmVzdWx0LmRlbGF5ID8/IDAsXG4gICAgICBpc0xpc3Q6IGZhbHNlLFxuICAgICAgaXRlbXM6IFtdLFxuICAgICAgdGl0bGU6XG4gICAgICAgIHRoaXMubGFuZ3VhZ2UoKSA9PT0gJ2VuJ1xuICAgICAgICAgID8gY29udmVydEh0dHBTdGF0dXNDb2RlVG9UaXRsZUVuKGVycm9yLnN0YXR1cylcbiAgICAgICAgICA6IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvVGl0bGVEZShlcnJvci5zdGF0dXMpLFxuICAgIH07XG5cbiAgICBjb25zdCBkZXRhaWwgPSBlcnJvci5kZXRhaWw7XG4gICAgY29uc3QgZGVmYXVsdEVycm9yTWVzc2FnZSA9IGAke3RoaXMubGFuZ3VhZ2UoKSA9PT0gJ2VuJyA/IGNvbnZlcnRIdHRwU3RhdHVzQ29kZVRvTWVzc2FnZUVuKGVycm9yLnN0YXR1cykgOiBjb252ZXJ0SHR0cFN0YXR1c0NvZGVUb01lc3NhZ2VEZShlcnJvci5zdGF0dXMpfSAoQ29kZTogJHtlcnJvci5zdGF0dXN9KWA7XG5cbiAgICBpZiAoaXNDbGFzc1ZhbGlkYXRvckVycm9yKGRldGFpbCkpIHtcbiAgICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZGV0YWlsLm1lc3NhZ2UpIHtcbiAgICAgICAgZXJyb3JMaXN0Lml0ZW1zLnB1c2goeyBtZXNzYWdlOiBlcnJvciB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzU3ltZm9ueUZvcm1WaW9sYXRpb25MaXN0RXJyb3IoZGV0YWlsKSkge1xuICAgICAgZm9yIChjb25zdCB2aW9sYXRpb24gb2YgZGV0YWlsLnZpb2xhdGlvbnMpIHtcbiAgICAgICAgZXJyb3JMaXN0Lml0ZW1zLnB1c2goeyBtZXNzYWdlOiB2aW9sYXRpb24ubWVzc2FnZSB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzU3ltZm9ueUxpc3RFcnJvcihkZXRhaWwpKSB7XG4gICAgICBmb3IgKGNvbnN0IGVycm9yIG9mIGRldGFpbCkge1xuICAgICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZGV0YWlsID09PSAnb2JqZWN0JyAmJiAhIWRldGFpbCAmJiAnbWVzc2FnZScgaW4gZGV0YWlsICYmIHR5cGVvZiBkZXRhaWwubWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yTGlzdC5pdGVtcy5wdXNoKHsgbWVzc2FnZTogZGV0YWlsLm1lc3NhZ2UgfSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZGV0YWlsID09PSAnb2JqZWN0JyAmJiAhIWRldGFpbCAmJiAnZGV0YWlsJyBpbiBkZXRhaWwgJiYgdHlwZW9mIGRldGFpbC5kZXRhaWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBTeW1mb255IGVycm9yIHJlc3BvbnNlIChkdXJpbmcgZGV2ZWxvcG1lbnQpXG4gICAgICBlcnJvckxpc3QuaXRlbXMucHVzaCh7IG1lc3NhZ2U6IGRldGFpbC5kZXRhaWwgfSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZGV0YWlsID09PSAnc3RyaW5nJykge1xuICAgICAgZXJyb3JMaXN0Lml0ZW1zLnB1c2goeyBtZXNzYWdlOiBkZXRhaWwgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yTGlzdC5pdGVtcy5wdXNoKHsgbWVzc2FnZTogZGVmYXVsdEVycm9yTWVzc2FnZSB9KTtcbiAgICB9XG5cbiAgICBlcnJvckxpc3QuaXNMaXN0ID0gZXJyb3JMaXN0Lml0ZW1zLmxlbmd0aCA+IDE7XG5cbiAgICBpZiAoZXJyb3JMaXN0Lml0ZW1zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgY29tcGFyZVN0cmluZyA9IChzdHI6IHN0cmluZykgPT4gc3RyLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzL2csICcnKS5yZXBsYWNlKC9cXC58LC9nLCAnJyk7XG5cbiAgICAgIGlmIChjb21wYXJlU3RyaW5nKGVycm9yTGlzdC5pdGVtc1swXSEubWVzc2FnZSkgPT09IGNvbXBhcmVTdHJpbmcoZXJyb3JMaXN0LnRpdGxlKSkge1xuICAgICAgICAvLyBPZnRlbiB0aGUgZXJyb3IgdGl0bGUgaXMgdGhlIHNhbWUgYXMgdGhlIGVycm9yIG1lc3NhZ2UuIEluIHRoaXMgY2FzZSB3ZSBzaW1wbHkgdXNlIHRoZSBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgYXMgYSBtZXNzYWdlLlxuICAgICAgICAvLyBUaGlzIHdheSB0aGUgc2FtZSB0ZXh0IGlzIGF0IGxlYXN0IG5vdCBkaXNwbGF5ZWQgdHdpY2UuXG4gICAgICAgIGVycm9yTGlzdC5pdGVtc1swXSEubWVzc2FnZSA9IGRlZmF1bHRFcnJvck1lc3NhZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9yTGlzdDtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -490,10 +490,10 @@ export class ScrollableComponent {
|
|
|
490
490
|
_disableSnapping() {
|
|
491
491
|
this._disableSnapping$.next();
|
|
492
492
|
}
|
|
493
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
494
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ScrollableComponent, isStandalone: true, selector: "et-scrollable", inputs: { itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, scrollableRole: { classPropertyName: "scrollableRole", publicName: "scrollableRole", isSignal: true, isRequired: false, transformFunction: null }, scrollableClass: { classPropertyName: "scrollableClass", publicName: "scrollableClass", isSignal: true, isRequired: false, transformFunction: null }, renderNavigation: { classPropertyName: "renderNavigation", publicName: "renderNavigation", isSignal: true, isRequired: false, transformFunction: null }, renderMasks: { classPropertyName: "renderMasks", publicName: "renderMasks", isSignal: true, isRequired: false, transformFunction: null }, renderButtons: { classPropertyName: "renderButtons", publicName: "renderButtons", isSignal: true, isRequired: false, transformFunction: null }, buttonPosition: { classPropertyName: "buttonPosition", publicName: "buttonPosition", isSignal: true, isRequired: false, transformFunction: null }, renderScrollbars: { classPropertyName: "renderScrollbars", publicName: "renderScrollbars", isSignal: true, isRequired: false, transformFunction: null }, stickyButtons: { classPropertyName: "stickyButtons", publicName: "stickyButtons", isSignal: true, isRequired: false, transformFunction: null }, cursorDragScroll: { classPropertyName: "cursorDragScroll", publicName: "cursorDragScroll", isSignal: true, isRequired: false, transformFunction: null }, disableActiveElementScrolling: { classPropertyName: "disableActiveElementScrolling", publicName: "disableActiveElementScrolling", isSignal: true, isRequired: false, transformFunction: null }, scrollMode: { classPropertyName: "scrollMode", publicName: "scrollMode", isSignal: true, isRequired: false, transformFunction: null }, snap: { classPropertyName: "snap", publicName: "snap", isSignal: true, isRequired: false, transformFunction: null }, scrollMargin: { classPropertyName: "scrollMargin", publicName: "scrollMargin", isSignal: true, isRequired: false, transformFunction: null }, scrollOrigin: { classPropertyName: "scrollOrigin", publicName: "scrollOrigin", isSignal: true, isRequired: false, transformFunction: null }, darkenNonIntersectingItems: { classPropertyName: "darkenNonIntersectingItems", publicName: "darkenNonIntersectingItems", isSignal: true, isRequired: false, transformFunction: null }, showLoadingTemplate: { classPropertyName: "showLoadingTemplate", publicName: "showLoadingTemplate", isSignal: true, isRequired: false, transformFunction: null }, loadingTemplatePosition: { classPropertyName: "loadingTemplatePosition", publicName: "loadingTemplatePosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intersectionChange: "intersectionChange", scrollStateChange: "scrollStateChange" }, host: { classAttribute: "et-scrollable" }, queries: [{ propertyName: "activeElementList", predicate: SCROLLABLE_IS_ACTIVE_CHILD_TOKEN, descendants: true, isSignal: true }, { propertyName: "loadingTemplate", first: true, predicate: SCROLLABLE_LOADING_TEMPLATE_TOKEN, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "scrollable", first: true, predicate: ["scrollable"], descendants: true, isSignal: true }, { propertyName: "firstElement", first: true, predicate: ["firstElement"], descendants: true, isSignal: true }, { propertyName: "lastElement", first: true, predicate: ["lastElement"], descendants: true, isSignal: true }, { propertyName: "navigationDotsContainer", first: true, predicate: ["navigationDotsContainer"], descendants: true, isSignal: true }, { propertyName: "firstNavigationDot", first: true, predicate: ["navigationDot"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"et-scrollable-wrapper\">\n <div\n #scrollable\n [attr.role]=\"scrollableRole() ?? undefined\"\n [ngClass]=\"scrollableClass()\"\n class=\"et-scrollable-container\"\n >\n <div #firstElement class=\"et-scroll-observer-first-element\" etScrollableIgnoreChild></div>\n @if (loadingTemplatePosition() === 'start' && showLoadingTemplate()) {\n <ng-container *ngTemplateOutlet=\"loadingTpl\" />\n }\n <ng-content />\n @if (loadingTemplatePosition() === 'end' && showLoadingTemplate()) {\n <ng-container *ngTemplateOutlet=\"loadingTpl\" />\n }\n\n <div #lastElement class=\"et-scroll-observer-last-element\" etScrollableIgnoreChild></div>\n </div>\n\n @if (renderMasks()) {\n <div class=\"et-scrollable-masks\">\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n </div>\n }\n\n @if (renderButtonsInside()) {\n <div class=\"et-scrollable-buttons\">\n <ng-container *ngTemplateOutlet=\"forwardButtonTpl\" />\n <ng-container *ngTemplateOutlet=\"backwardButtonTpl\" />\n </div>\n }\n</div>\n\n@if ((renderButtonsInFooter() || (renderNavigation() && scrollableNavigation().length > 1)) && canScroll()) {\n <div\n [ngClass]=\"{\n 'et-scrollable-footer--with-navigation': renderNavigation(),\n 'et-scrollable-footer--with-buttons': renderButtonsInFooter(),\n }\"\n class=\"et-scrollable-footer\"\n aria-hidden=\"true\"\n >\n @if (renderButtonsInFooter()) {\n <ng-container *ngTemplateOutlet=\"forwardButtonTpl\" />\n }\n\n @if (renderNavigation()) {\n <div class=\"et-scrollable-progress-bar\">\n <div #navigationDotsContainer class=\"et-scrollable-dots-container\">\n @for (item of scrollableNavigation(); track i; let i = $index) {\n <button\n #navigationDot\n [class.et-scrollable-navigation-item--active]=\"item.isActive\"\n [class.et-scrollable-navigation-item--close]=\"\n scrollableNavigation()[i + 1]?.isActive || scrollableNavigation()[i - 1]?.isActive\n \"\n [class.et-scrollable-navigation-item--far]=\"\n !scrollableNavigation()[i + 1]?.isActive && !scrollableNavigation()[i - 1]?.isActive && !item.isActive\n \"\n [attr.active-offset]=\"item.activeOffset\"\n (click)=\"scrollToElementViaNavigation(i)\"\n class=\"et-scrollable-navigation-item\"\n type=\"button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n ></button>\n }\n </div>\n </div>\n }\n\n @if (renderButtonsInFooter()) {\n <ng-container *ngTemplateOutlet=\"backwardButtonTpl\" />\n }\n </div>\n}\n\n<ng-template #forwardButtonTpl>\n <button\n [disabled]=\"isAtStart()\"\n (click)=\"scrollToStartDirection()\"\n class=\"et-scrollable-button et-scrollable-button--start\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n</ng-template>\n\n<ng-template #backwardButtonTpl>\n <button\n [disabled]=\"isAtEnd()\"\n (click)=\"scrollToEndDirection()\"\n class=\"et-scrollable-button et-scrollable-button--end\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n</ng-template>\n\n<ng-template #loadingTpl>\n @if (loadingTemplate(); as tpl) {\n @for (\n _ of tpl.repeat();\n track index;\n let index = $index;\n let even = $even;\n let odd = $odd;\n let first = $first;\n let last = $last\n ) {\n <ng-container *ngTemplateOutlet=\"tpl.templateRef; context: { index, even, odd, first, last }\" />\n }\n }\n</ng-template>\n", styles: [":where(.et-scrollable){--mask: #121212 0, transparent 100%;--mask-size: 25px;--darken-non-intersecting-items-amount: .75;--_auto-size: min-content;display:block}.et-scrollable .et-scrollable-wrapper{display:grid;position:relative;block-size:100%;inline-size:100%}.et-scrollable[item-size=same]{--_auto-size: 1fr}.et-scrollable[item-size=full]{--_auto-size: 100%}.et-scrollable[render-scrollbars=false] .et-scrollable-container,.et-scrollable:not([render-scrollbars]) .et-scrollable-container{scrollbar-width:none}.et-scrollable[render-scrollbars=false] .et-scrollable-container::-webkit-scrollbar,.et-scrollable:not([render-scrollbars]) .et-scrollable-container::-webkit-scrollbar{display:none}.et-scrollable .et-scrollable-button .et-chevron-icon{display:block}.et-scrollable[direction=horizontal] .et-scrollable-container,.et-scrollable:not([direction]) .et-scrollable-container{grid-auto-flow:column;grid-auto-columns:var(--_auto-size);overflow-x:auto;overflow-y:hidden}.et-scrollable[direction=horizontal] .et-scrollable-container>:nth-child(2),.et-scrollable:not([direction]) .et-scrollable-container>:nth-child(2){grid-column:1/1;grid-row:1/1}.et-scrollable[direction=horizontal] .et-scrollable-container>:nth-last-child(2),.et-scrollable:not([direction]) .et-scrollable-container>:nth-last-child(2){grid-column:var(--item-count)/var(--item-count);grid-row:1/1}.et-scrollable[direction=horizontal] .et-scrollable-mask,.et-scrollable[direction=horizontal] .et-scrollable-button,.et-scrollable:not([direction]) .et-scrollable-mask,.et-scrollable:not([direction]) .et-scrollable-button{inline-size:var(--mask-size);block-size:100%}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable[direction=horizontal] .et-scrollable-button--start,.et-scrollable:not([direction]) .et-scrollable-mask--start,.et-scrollable:not([direction]) .et-scrollable-button--start{inset-block-start:0;inset-inline:0 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable[direction=horizontal] .et-scrollable-button--end,.et-scrollable:not([direction]) .et-scrollable-mask--end,.et-scrollable:not([direction]) .et-scrollable-button--end{inset-block-start:0;inset-inline:calc(100% - 40px) 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable:not([direction]) .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask))}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable:not([direction]) .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%}.et-scrollable[direction=horizontal] .et-scrollable-button--start,.et-scrollable:not([direction]) .et-scrollable-button--start{inset-block-start:calc(50% - 20px);transform:translate(-10px)}.et-scrollable[direction=horizontal] .et-scrollable-button--start .et-chevron-icon,.et-scrollable:not([direction]) .et-scrollable-button--start .et-chevron-icon{transform:rotate(-90deg)}.et-scrollable[direction=horizontal] .et-scrollable-button--end,.et-scrollable:not([direction]) .et-scrollable-button--end{inset-block-start:calc(50% - 20px);transform:translate(10px)}.et-scrollable[direction=horizontal] .et-scrollable-button--end .et-chevron-icon,.et-scrollable:not([direction]) .et-scrollable-button--end .et-chevron-icon{transform:rotate(90deg)}.et-scrollable[direction=horizontal] .et-scroll-observer-first-element,.et-scrollable[direction=horizontal] .et-scroll-observer-last-element,.et-scrollable:not([direction]) .et-scroll-observer-first-element,.et-scrollable:not([direction]) .et-scroll-observer-last-element{block-size:100%;inline-size:1px}.et-scrollable[direction=horizontal] .et-scroll-observer-first-element,.et-scrollable:not([direction]) .et-scroll-observer-first-element{margin-inline-start:3px;grid-column:1/1;grid-row:1/1}.et-scrollable[direction=horizontal] .et-scroll-observer-last-element,.et-scrollable:not([direction]) .et-scroll-observer-last-element{margin-inline-end:3px;grid-column:var(--item-count)/var(--item-count);grid-row:1/1;justify-self:end}.et-scrollable[direction=vertical] .et-scrollable-container{grid-auto-flow:row;grid-auto-rows:var(--_auto-size);overflow-x:hidden;overflow-y:auto}.et-scrollable[direction=vertical] .et-scrollable-container>:nth-child(2){grid-row:1/1;grid-column:1/1}.et-scrollable[direction=vertical] .et-scrollable-container>:nth-last-child(2){grid-row:var(--item-count)/var(--item-count);grid-column:1/1}.et-scrollable[direction=vertical] .et-scrollable-mask,.et-scrollable[direction=vertical] .et-scrollable-button{block-size:var(--mask-size);inline-size:100%}.et-scrollable[direction=vertical] .et-scrollable-mask--start,.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-block-start:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--end,.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-block-end:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--start{background:linear-gradient(to bottom,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-mask--end{background:linear-gradient(to top,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-inline-start:calc(50% - 20px);transform:translateY(-10px)}.et-scrollable[direction=vertical] .et-scrollable-button--start .et-chevron-icon{transform:rotate(0)}.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-inline-start:calc(50% - 20px);transform:translateY(10px)}.et-scrollable[direction=vertical] .et-scrollable-button--end .et-chevron-icon{transform:rotate(180deg)}.et-scrollable[direction=vertical] .et-scroll-observer-first-element,.et-scrollable[direction=vertical] .et-scroll-observer-last-element{inline-size:100%;block-size:1px}.et-scrollable[direction=vertical] .et-scroll-observer-first-element{margin-block-start:3px;grid-row:1/1;grid-column:1/1}.et-scrollable[direction=vertical] .et-scroll-observer-last-element{margin-block-end:3px;grid-row:var(--item-count)/var(--item-count);grid-column:1/1;align-self:end}.et-scrollable[direction=vertical]:has(.et-scrollable-footer){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);gap:10px}.et-scrollable[direction=vertical] .et-scrollable-footer{flex-direction:column;margin-block-start:0}.et-scrollable[direction=vertical] .et-scrollable-progress-bar{flex-direction:column;max-block-size:100px}.et-scrollable[direction=vertical] .et-scrollable-dots-container{flex-direction:column}.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-masks .et-scrollable-mask--start,.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-buttons .et-scrollable-button--start{opacity:1;transform:translate(0)}.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-buttons .et-scrollable-button--start{pointer-events:all}.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-masks .et-scrollable-mask--end,.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-buttons .et-scrollable-button--end{opacity:1;transform:translate(0)}.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-buttons .et-scrollable-button--end{pointer-events:all}.et-scrollable .et-scroll-observer-first-element,.et-scrollable .et-scroll-observer-last-element{pointer-events:none}.et-scrollable .et-scrollable-container{display:grid;position:relative;grid-row:1/1;grid-column:1/1}.et-scrollable .et-scrollable-masks,.et-scrollable .et-scrollable-buttons{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable .et-scrollable-masks .et-scrollable-mask,.et-scrollable .et-scrollable-masks .et-scrollable-button,.et-scrollable .et-scrollable-buttons .et-scrollable-mask,.et-scrollable .et-scrollable-buttons .et-scrollable-button{position:absolute;opacity:0}.et-scrollable.et-scrollable--can-animate .et-scrollable-dots-container{transition:transform .3s var(--ease-5)}.et-scrollable.et-scrollable--can-animate .et-scrollable-navigation-item:after{transition:background-color .2s linear,transform .2s linear}.et-scrollable.et-scrollable--can-animate.et-scrollable--can-scroll .et-scrollable-mask{transition:opacity .3s var(--ease-5)}.et-scrollable.et-scrollable--can-animate.et-scrollable--can-scroll .et-scrollable-button{transition:opacity .3s var(--ease-5),transform .3s var(--ease-5)}.et-scrollable.et-scrollable--can-animate.et-scrollable--darken-non-intersecting-items .et-scrollable-item{transition:opacity .3s var(--ease-5)}.et-scrollable.et-scrollable--darken-non-intersecting-items .et-scrollable-item--not-intersecting{opacity:var(--darken-non-intersecting-items-amount)}.et-scrollable .et-scrollable-buttons .et-scrollable-button{background:transparent;border:none;padding:12px;inline-size:40px;block-size:40px;border-radius:4px;cursor:pointer}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-chevron-icon{pointer-events:none}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--start{inset-inline:0 0}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--end{inset-inline:calc(100% - 40px) 0}.et-scrollable[sticky-buttons=true]{--_sticky-margin: 10%}.et-scrollable[sticky-buttons=true] .et-scrollable-button{position:sticky}.et-scrollable[sticky-buttons=true][direction=horizontal] .et-scrollable-buttons{margin-block:var(--_sticky-margin)}.et-scrollable[sticky-buttons=true][direction=vertical] .et-scrollable-buttons{margin-inline:var(--_sticky-margin)}.et-scrollable[sticky-buttons=true][direction=vertical] .et-scrollable-buttons .et-scrollable-button--end{inset-block-start:100%}.et-scrollable .et-scrollable-footer{display:flex;justify-content:center;align-items:center;gap:10px;margin-block-start:10px}.et-scrollable .et-scrollable-footer.et-scrollable-footer--with-buttons .et-scrollable-button{transform:none}.et-scrollable .et-scrollable-navigation-item{display:flex;justify-content:center;align-items:center;border:none;padding:0;inline-size:20px;block-size:20px;border-radius:50%;cursor:pointer;background-color:transparent}.et-scrollable .et-scrollable-navigation-item.et-scrollable-navigation-item--active:after{background-color:#c6c6c6}.et-scrollable .et-scrollable-navigation-item:after{content:\"\";display:block;inline-size:50%;block-size:50%;border-radius:50%;background-color:#4b4b4b;transform:scale(0)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"0\"]:after{transform:scale(1)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"1\"]:after{transform:scale(.75)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"2\"]:after{transform:scale(.6)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"3\"]:after{transform:scale(.5)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"4\"]:after{transform:scale(.4)}.et-scrollable .et-scrollable-progress-bar{overflow:hidden;max-inline-size:100px;display:flex;align-items:center}.et-scrollable .et-scrollable-progress-bar .et-scrollable-dots-container{display:flex;flex-wrap:nowrap}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }, { kind: "directive", type: ScrollableIgnoreChildDirective, selector: "[etScrollableIgnoreChild]", inputs: ["etScrollableIgnoreChild"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
493
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
494
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ScrollableComponent, isStandalone: true, selector: "et-scrollable", inputs: { itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, scrollableRole: { classPropertyName: "scrollableRole", publicName: "scrollableRole", isSignal: true, isRequired: false, transformFunction: null }, scrollableClass: { classPropertyName: "scrollableClass", publicName: "scrollableClass", isSignal: true, isRequired: false, transformFunction: null }, renderNavigation: { classPropertyName: "renderNavigation", publicName: "renderNavigation", isSignal: true, isRequired: false, transformFunction: null }, renderMasks: { classPropertyName: "renderMasks", publicName: "renderMasks", isSignal: true, isRequired: false, transformFunction: null }, renderButtons: { classPropertyName: "renderButtons", publicName: "renderButtons", isSignal: true, isRequired: false, transformFunction: null }, buttonPosition: { classPropertyName: "buttonPosition", publicName: "buttonPosition", isSignal: true, isRequired: false, transformFunction: null }, renderScrollbars: { classPropertyName: "renderScrollbars", publicName: "renderScrollbars", isSignal: true, isRequired: false, transformFunction: null }, stickyButtons: { classPropertyName: "stickyButtons", publicName: "stickyButtons", isSignal: true, isRequired: false, transformFunction: null }, cursorDragScroll: { classPropertyName: "cursorDragScroll", publicName: "cursorDragScroll", isSignal: true, isRequired: false, transformFunction: null }, disableActiveElementScrolling: { classPropertyName: "disableActiveElementScrolling", publicName: "disableActiveElementScrolling", isSignal: true, isRequired: false, transformFunction: null }, scrollMode: { classPropertyName: "scrollMode", publicName: "scrollMode", isSignal: true, isRequired: false, transformFunction: null }, snap: { classPropertyName: "snap", publicName: "snap", isSignal: true, isRequired: false, transformFunction: null }, scrollMargin: { classPropertyName: "scrollMargin", publicName: "scrollMargin", isSignal: true, isRequired: false, transformFunction: null }, scrollOrigin: { classPropertyName: "scrollOrigin", publicName: "scrollOrigin", isSignal: true, isRequired: false, transformFunction: null }, darkenNonIntersectingItems: { classPropertyName: "darkenNonIntersectingItems", publicName: "darkenNonIntersectingItems", isSignal: true, isRequired: false, transformFunction: null }, showLoadingTemplate: { classPropertyName: "showLoadingTemplate", publicName: "showLoadingTemplate", isSignal: true, isRequired: false, transformFunction: null }, loadingTemplatePosition: { classPropertyName: "loadingTemplatePosition", publicName: "loadingTemplatePosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intersectionChange: "intersectionChange", scrollStateChange: "scrollStateChange" }, host: { classAttribute: "et-scrollable" }, queries: [{ propertyName: "activeElementList", predicate: SCROLLABLE_IS_ACTIVE_CHILD_TOKEN, descendants: true, isSignal: true }, { propertyName: "loadingTemplate", first: true, predicate: SCROLLABLE_LOADING_TEMPLATE_TOKEN, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "scrollable", first: true, predicate: ["scrollable"], descendants: true, isSignal: true }, { propertyName: "firstElement", first: true, predicate: ["firstElement"], descendants: true, isSignal: true }, { propertyName: "lastElement", first: true, predicate: ["lastElement"], descendants: true, isSignal: true }, { propertyName: "navigationDotsContainer", first: true, predicate: ["navigationDotsContainer"], descendants: true, isSignal: true }, { propertyName: "firstNavigationDot", first: true, predicate: ["navigationDot"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"et-scrollable-wrapper\">\n <div\n #scrollable\n [attr.role]=\"scrollableRole() ?? undefined\"\n [ngClass]=\"scrollableClass()\"\n class=\"et-scrollable-container\"\n >\n <div #firstElement class=\"et-scroll-observer-first-element\" etScrollableIgnoreChild></div>\n @if (loadingTemplatePosition() === 'start' && showLoadingTemplate()) {\n <ng-container *ngTemplateOutlet=\"loadingTpl\" />\n }\n <ng-content />\n @if (loadingTemplatePosition() === 'end' && showLoadingTemplate()) {\n <ng-container *ngTemplateOutlet=\"loadingTpl\" />\n }\n\n <div #lastElement class=\"et-scroll-observer-last-element\" etScrollableIgnoreChild></div>\n </div>\n\n @if (renderMasks()) {\n <div class=\"et-scrollable-masks\">\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n </div>\n }\n\n @if (renderButtonsInside()) {\n <div class=\"et-scrollable-buttons\">\n <ng-container *ngTemplateOutlet=\"forwardButtonTpl\" />\n <ng-container *ngTemplateOutlet=\"backwardButtonTpl\" />\n </div>\n }\n</div>\n\n@if ((renderButtonsInFooter() || (renderNavigation() && scrollableNavigation().length > 1)) && canScroll()) {\n <div\n [ngClass]=\"{\n 'et-scrollable-footer--with-navigation': renderNavigation(),\n 'et-scrollable-footer--with-buttons': renderButtonsInFooter(),\n }\"\n class=\"et-scrollable-footer\"\n aria-hidden=\"true\"\n >\n @if (renderButtonsInFooter()) {\n <ng-container *ngTemplateOutlet=\"forwardButtonTpl\" />\n }\n\n @if (renderNavigation()) {\n <div class=\"et-scrollable-progress-bar\">\n <div #navigationDotsContainer class=\"et-scrollable-dots-container\">\n @for (item of scrollableNavigation(); track i; let i = $index) {\n <button\n #navigationDot\n [class.et-scrollable-navigation-item--active]=\"item.isActive\"\n [class.et-scrollable-navigation-item--close]=\"\n scrollableNavigation()[i + 1]?.isActive || scrollableNavigation()[i - 1]?.isActive\n \"\n [class.et-scrollable-navigation-item--far]=\"\n !scrollableNavigation()[i + 1]?.isActive && !scrollableNavigation()[i - 1]?.isActive && !item.isActive\n \"\n [attr.active-offset]=\"item.activeOffset\"\n (click)=\"scrollToElementViaNavigation(i)\"\n class=\"et-scrollable-navigation-item\"\n type=\"button\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n ></button>\n }\n </div>\n </div>\n }\n\n @if (renderButtonsInFooter()) {\n <ng-container *ngTemplateOutlet=\"backwardButtonTpl\" />\n }\n </div>\n}\n\n<ng-template #forwardButtonTpl>\n <button\n [disabled]=\"isAtStart()\"\n (click)=\"scrollToStartDirection()\"\n class=\"et-scrollable-button et-scrollable-button--start\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n</ng-template>\n\n<ng-template #backwardButtonTpl>\n <button\n [disabled]=\"isAtEnd()\"\n (click)=\"scrollToEndDirection()\"\n class=\"et-scrollable-button et-scrollable-button--end\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n</ng-template>\n\n<ng-template #loadingTpl>\n @if (loadingTemplate(); as tpl) {\n @for (\n _ of tpl.repeat();\n track index;\n let index = $index;\n let even = $even;\n let odd = $odd;\n let first = $first;\n let last = $last\n ) {\n <ng-container *ngTemplateOutlet=\"tpl.templateRef; context: { index, even, odd, first, last }\" />\n }\n }\n</ng-template>\n", styles: [":where(.et-scrollable){--mask: #121212 0, transparent 100%;--mask-size: 25px;--darken-non-intersecting-items-amount: .75;--_auto-size: min-content;display:block}.et-scrollable .et-scrollable-wrapper{display:grid;position:relative;block-size:100%;inline-size:100%}.et-scrollable[item-size=same]{--_auto-size: 1fr}.et-scrollable[item-size=full]{--_auto-size: 100%}.et-scrollable[render-scrollbars=false] .et-scrollable-container,.et-scrollable:not([render-scrollbars]) .et-scrollable-container{scrollbar-width:none}.et-scrollable[render-scrollbars=false] .et-scrollable-container::-webkit-scrollbar,.et-scrollable:not([render-scrollbars]) .et-scrollable-container::-webkit-scrollbar{display:none}.et-scrollable .et-scrollable-button .et-chevron-icon{display:block}.et-scrollable[direction=horizontal] .et-scrollable-container,.et-scrollable:not([direction]) .et-scrollable-container{grid-auto-flow:column;grid-auto-columns:var(--_auto-size);overflow-x:auto;overflow-y:hidden}.et-scrollable[direction=horizontal] .et-scrollable-container>:nth-child(2),.et-scrollable:not([direction]) .et-scrollable-container>:nth-child(2){grid-column:1/1;grid-row:1/1}.et-scrollable[direction=horizontal] .et-scrollable-container>:nth-last-child(2),.et-scrollable:not([direction]) .et-scrollable-container>:nth-last-child(2){grid-column:var(--item-count)/var(--item-count);grid-row:1/1}.et-scrollable[direction=horizontal] .et-scrollable-mask,.et-scrollable[direction=horizontal] .et-scrollable-button,.et-scrollable:not([direction]) .et-scrollable-mask,.et-scrollable:not([direction]) .et-scrollable-button{inline-size:var(--mask-size);block-size:100%}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable[direction=horizontal] .et-scrollable-button--start,.et-scrollable:not([direction]) .et-scrollable-mask--start,.et-scrollable:not([direction]) .et-scrollable-button--start{inset-block-start:0;inset-inline:0 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable[direction=horizontal] .et-scrollable-button--end,.et-scrollable:not([direction]) .et-scrollable-mask--end,.et-scrollable:not([direction]) .et-scrollable-button--end{inset-block-start:0;inset-inline:calc(100% - 40px) 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable:not([direction]) .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask))}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable:not([direction]) .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%}.et-scrollable[direction=horizontal] .et-scrollable-button--start,.et-scrollable:not([direction]) .et-scrollable-button--start{inset-block-start:calc(50% - 20px);transform:translate(-10px)}.et-scrollable[direction=horizontal] .et-scrollable-button--start .et-chevron-icon,.et-scrollable:not([direction]) .et-scrollable-button--start .et-chevron-icon{transform:rotate(-90deg)}.et-scrollable[direction=horizontal] .et-scrollable-button--end,.et-scrollable:not([direction]) .et-scrollable-button--end{inset-block-start:calc(50% - 20px);transform:translate(10px)}.et-scrollable[direction=horizontal] .et-scrollable-button--end .et-chevron-icon,.et-scrollable:not([direction]) .et-scrollable-button--end .et-chevron-icon{transform:rotate(90deg)}.et-scrollable[direction=horizontal] .et-scroll-observer-first-element,.et-scrollable[direction=horizontal] .et-scroll-observer-last-element,.et-scrollable:not([direction]) .et-scroll-observer-first-element,.et-scrollable:not([direction]) .et-scroll-observer-last-element{block-size:100%;inline-size:1px}.et-scrollable[direction=horizontal] .et-scroll-observer-first-element,.et-scrollable:not([direction]) .et-scroll-observer-first-element{margin-inline-start:3px;grid-column:1/1;grid-row:1/1}.et-scrollable[direction=horizontal] .et-scroll-observer-last-element,.et-scrollable:not([direction]) .et-scroll-observer-last-element{margin-inline-end:3px;grid-column:var(--item-count)/var(--item-count);grid-row:1/1;justify-self:end}.et-scrollable[direction=vertical] .et-scrollable-container{grid-auto-flow:row;grid-auto-rows:var(--_auto-size);overflow-x:hidden;overflow-y:auto}.et-scrollable[direction=vertical] .et-scrollable-container>:nth-child(2){grid-row:1/1;grid-column:1/1}.et-scrollable[direction=vertical] .et-scrollable-container>:nth-last-child(2){grid-row:var(--item-count)/var(--item-count);grid-column:1/1}.et-scrollable[direction=vertical] .et-scrollable-mask,.et-scrollable[direction=vertical] .et-scrollable-button{block-size:var(--mask-size);inline-size:100%}.et-scrollable[direction=vertical] .et-scrollable-mask--start,.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-block-start:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--end,.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-block-end:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--start{background:linear-gradient(to bottom,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-mask--end{background:linear-gradient(to top,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-inline-start:calc(50% - 20px);transform:translateY(-10px)}.et-scrollable[direction=vertical] .et-scrollable-button--start .et-chevron-icon{transform:rotate(0)}.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-inline-start:calc(50% - 20px);transform:translateY(10px)}.et-scrollable[direction=vertical] .et-scrollable-button--end .et-chevron-icon{transform:rotate(180deg)}.et-scrollable[direction=vertical] .et-scroll-observer-first-element,.et-scrollable[direction=vertical] .et-scroll-observer-last-element{inline-size:100%;block-size:1px}.et-scrollable[direction=vertical] .et-scroll-observer-first-element{margin-block-start:3px;grid-row:1/1;grid-column:1/1}.et-scrollable[direction=vertical] .et-scroll-observer-last-element{margin-block-end:3px;grid-row:var(--item-count)/var(--item-count);grid-column:1/1;align-self:end}.et-scrollable[direction=vertical]:has(.et-scrollable-footer){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);gap:10px}.et-scrollable[direction=vertical] .et-scrollable-footer{flex-direction:column;margin-block-start:0}.et-scrollable[direction=vertical] .et-scrollable-progress-bar{flex-direction:column;max-block-size:100px}.et-scrollable[direction=vertical] .et-scrollable-dots-container{flex-direction:column}.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-masks .et-scrollable-mask--start,.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-buttons .et-scrollable-button--start{opacity:1;transform:translate(0)}.et-scrollable:not(.et-scrollable--is-at-start) .et-scrollable-buttons .et-scrollable-button--start{pointer-events:all}.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-masks .et-scrollable-mask--end,.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-buttons .et-scrollable-button--end{opacity:1;transform:translate(0)}.et-scrollable:not(.et-scrollable--is-at-end) .et-scrollable-buttons .et-scrollable-button--end{pointer-events:all}.et-scrollable .et-scroll-observer-first-element,.et-scrollable .et-scroll-observer-last-element{pointer-events:none}.et-scrollable .et-scrollable-container{display:grid;position:relative;grid-row:1/1;grid-column:1/1}.et-scrollable .et-scrollable-masks,.et-scrollable .et-scrollable-buttons{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable .et-scrollable-masks .et-scrollable-mask,.et-scrollable .et-scrollable-masks .et-scrollable-button,.et-scrollable .et-scrollable-buttons .et-scrollable-mask,.et-scrollable .et-scrollable-buttons .et-scrollable-button{position:absolute;opacity:0}.et-scrollable.et-scrollable--can-animate .et-scrollable-dots-container{transition:transform .3s var(--ease-5)}.et-scrollable.et-scrollable--can-animate .et-scrollable-navigation-item:after{transition:background-color .2s linear,transform .2s linear}.et-scrollable.et-scrollable--can-animate.et-scrollable--can-scroll .et-scrollable-mask{transition:opacity .3s var(--ease-5)}.et-scrollable.et-scrollable--can-animate.et-scrollable--can-scroll .et-scrollable-button{transition:opacity .3s var(--ease-5),transform .3s var(--ease-5)}.et-scrollable.et-scrollable--can-animate.et-scrollable--darken-non-intersecting-items .et-scrollable-item{transition:opacity .3s var(--ease-5)}.et-scrollable.et-scrollable--darken-non-intersecting-items .et-scrollable-item--not-intersecting{opacity:var(--darken-non-intersecting-items-amount)}.et-scrollable .et-scrollable-buttons .et-scrollable-button{background:transparent;border:none;padding:12px;inline-size:40px;block-size:40px;border-radius:4px;cursor:pointer}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-chevron-icon{pointer-events:none}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--start{inset-inline:0 0}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--end{inset-inline:calc(100% - 40px) 0}.et-scrollable[sticky-buttons=true]{--_sticky-margin: 10%}.et-scrollable[sticky-buttons=true] .et-scrollable-button{position:sticky}.et-scrollable[sticky-buttons=true][direction=horizontal] .et-scrollable-buttons{margin-block:var(--_sticky-margin)}.et-scrollable[sticky-buttons=true][direction=vertical] .et-scrollable-buttons{margin-inline:var(--_sticky-margin)}.et-scrollable[sticky-buttons=true][direction=vertical] .et-scrollable-buttons .et-scrollable-button--end{inset-block-start:100%}.et-scrollable .et-scrollable-footer{display:flex;justify-content:center;align-items:center;gap:10px;margin-block-start:10px}.et-scrollable .et-scrollable-footer.et-scrollable-footer--with-buttons .et-scrollable-button{transform:none}.et-scrollable .et-scrollable-navigation-item{display:flex;justify-content:center;align-items:center;border:none;padding:0;inline-size:20px;block-size:20px;border-radius:50%;cursor:pointer;background-color:transparent}.et-scrollable .et-scrollable-navigation-item.et-scrollable-navigation-item--active:after{background-color:#c6c6c6}.et-scrollable .et-scrollable-navigation-item:after{content:\"\";display:block;inline-size:50%;block-size:50%;border-radius:50%;background-color:#4b4b4b;transform:scale(0)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"0\"]:after{transform:scale(1)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"1\"]:after{transform:scale(.75)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"2\"]:after{transform:scale(.6)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"3\"]:after{transform:scale(.5)}.et-scrollable .et-scrollable-navigation-item[active-offset=\"4\"]:after{transform:scale(.4)}.et-scrollable .et-scrollable-progress-bar{overflow:hidden;max-inline-size:100px;display:flex;align-items:center}.et-scrollable .et-scrollable-progress-bar .et-scrollable-dots-container{display:flex;flex-wrap:nowrap}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }, { kind: "directive", type: ScrollableIgnoreChildDirective, selector: "[etScrollableIgnoreChild]", inputs: ["etScrollableIgnoreChild"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
495
495
|
}
|
|
496
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
496
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollableComponent, decorators: [{
|
|
497
497
|
type: Component,
|
|
498
498
|
args: [{ selector: 'et-scrollable', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
499
499
|
ObserveScrollStateDirective,
|
|
@@ -14,10 +14,10 @@ export class ScrollablePlaceholderComponent {
|
|
|
14
14
|
this.contentTemplate = contentChild.required(SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN, { read: TemplateRef });
|
|
15
15
|
this.overlayTemplate = contentChild(SCROLLABLE_PLACEHOLDER_OVERLAY_TEMPLATE_TOKEN, { read: TemplateRef });
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollablePlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ScrollablePlaceholderComponent, isStandalone: true, selector: "et-scrollable-placeholder", inputs: { renderMasks: { classPropertyName: "renderMasks", publicName: "renderMasks", isSignal: true, isRequired: false, transformFunction: null }, renderStartMask: { classPropertyName: "renderStartMask", publicName: "renderStartMask", isSignal: true, isRequired: false, transformFunction: null }, renderEndMask: { classPropertyName: "renderEndMask", publicName: "renderEndMask", isSignal: true, isRequired: false, transformFunction: null }, repeatContentCount: { classPropertyName: "repeatContentCount", publicName: "repeatContentCount", isSignal: true, isRequired: false, transformFunction: null }, scrollableClass: { classPropertyName: "scrollableClass", publicName: "scrollableClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-scrollable-placeholder" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "overlayTemplate", first: true, predicate: SCROLLABLE_PLACEHOLDER_OVERLAY_TEMPLATE_TOKEN, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<ng-template>\n <ng-content />\n</ng-template>\n\n<div class=\"et-scrollable-placeholder-wrapper\">\n <div [ngClass]=\"scrollableClass()\" class=\"et-scrollable-placeholder-container\">\n <div class=\"et-scroll-observer-first-element\"></div>\n @for (\n _ of repeat();\n track index;\n let index = $index;\n let even = $even;\n let odd = $odd;\n let first = $first;\n let last = $last\n ) {\n <ng-container *ngTemplateOutlet=\"contentTemplate(); context: { index, even, odd, first, last }\" />\n }\n <div class=\"et-scroll-observer-last-element\"></div>\n </div>\n\n @if (renderMasks()) {\n <div class=\"et-scrollable-masks\">\n @if (renderStartMask()) {\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n }\n @if (renderEndMask()) {\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n }\n </div>\n }\n\n @if (overlayTemplate(); as overlayTemplate) {\n <div class=\"et-scrollable-placeholder-overlay\">\n <ng-container *ngTemplateOutlet=\"overlayTemplate\" />\n </div>\n }\n</div>\n", styles: [":where(.et-scrollable-placeholder){--mask: #121212 0, transparent 100%;--mask-size: 25px;position:relative;display:block}.et-scrollable-placeholder .et-scroll-observer-first-element,.et-scrollable-placeholder .et-scroll-observer-last-element{position:absolute}.et-scrollable-placeholder .et-scrollable-mask{inline-size:var(--mask-size);block-size:100%;position:absolute}.et-scrollable-placeholder .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask));inset-block-start:0;inset-inline:0 0}.et-scrollable-placeholder .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%;inset-block-start:0}.et-scrollable-placeholder .et-scrollable-masks{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable-placeholder-overlay{grid-row:1/1;grid-column:1/1;display:grid}.et-scrollable-placeholder-wrapper{display:grid;block-size:100%;inline-size:100%}.et-scrollable-placeholder-container{position:relative;grid-row:1/1;grid-column:1/1;overflow:hidden;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollablePlaceholderComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ selector: 'et-scrollable-placeholder', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NgTemplateOutlet, NgClass], host: {
|
|
23
23
|
class: 'et-scrollable-placeholder',
|
|
@@ -17,15 +17,15 @@ export class ScrollableIgnoreChildDirective {
|
|
|
17
17
|
set _ignoreChildEnabled(v) {
|
|
18
18
|
this.ignoreChildEnabled.set(v);
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollableIgnoreChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.8", type: ScrollableIgnoreChildDirective, isStandalone: true, selector: "[etScrollableIgnoreChild]", inputs: { _ignoreChildEnabled: ["etScrollableIgnoreChild", "_ignoreChildEnabled", booleanAttribute] }, providers: [
|
|
22
22
|
{
|
|
23
23
|
provide: SCROLLABLE_IGNORE_CHILD_TOKEN,
|
|
24
24
|
useExisting: ScrollableIgnoreChildDirective,
|
|
25
25
|
},
|
|
26
26
|
], ngImport: i0 }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollableIgnoreChildDirective, decorators: [{
|
|
29
29
|
type: Directive,
|
|
30
30
|
args: [{
|
|
31
31
|
selector: `[${SCROLLABLE_IGNORE_CHILD_ATTRIBUTE}]`,
|
|
@@ -18,15 +18,15 @@ export class ScrollableIsActiveChildDirective {
|
|
|
18
18
|
set _isActiveChildEnabled(v) {
|
|
19
19
|
this.isActiveChildEnabled.set(v);
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
22
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollableIsActiveChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.8", type: ScrollableIsActiveChildDirective, isStandalone: true, selector: "[etScrollableIsActiveChild]", inputs: { _isActiveChildEnabled: ["etScrollableIsActiveChild", "_isActiveChildEnabled", booleanAttribute] }, providers: [
|
|
23
23
|
{
|
|
24
24
|
provide: SCROLLABLE_IS_ACTIVE_CHILD_TOKEN,
|
|
25
25
|
useExisting: ScrollableIsActiveChildDirective,
|
|
26
26
|
},
|
|
27
27
|
], ngImport: i0 }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollableIsActiveChildDirective, decorators: [{
|
|
30
30
|
type: Directive,
|
|
31
31
|
args: [{
|
|
32
32
|
selector: `[${SCROLLABLE_IS_ACTIVE_CHILD_ATTRIBUTE}]`,
|
|
@@ -7,15 +7,15 @@ export class ScrollableLoadingTemplateDirective {
|
|
|
7
7
|
this.repeatContentCount = input(1, { transform: numberAttribute });
|
|
8
8
|
this.repeat = computed(() => Array.from({ length: this.repeatContentCount() }));
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
11
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollableLoadingTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
11
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.8", type: ScrollableLoadingTemplateDirective, isStandalone: true, selector: "ng-template[etScrollableLoadingTemplate]", inputs: { repeatContentCount: { classPropertyName: "repeatContentCount", publicName: "repeatContentCount", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
12
12
|
{
|
|
13
13
|
provide: SCROLLABLE_LOADING_TEMPLATE_TOKEN,
|
|
14
14
|
useExisting: ScrollableLoadingTemplateDirective,
|
|
15
15
|
},
|
|
16
16
|
], ngImport: i0 }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollableLoadingTemplateDirective, decorators: [{
|
|
19
19
|
type: Directive,
|
|
20
20
|
args: [{
|
|
21
21
|
selector: 'ng-template[etScrollableLoadingTemplate]',
|
|
@@ -2,15 +2,15 @@ import { Directive, InjectionToken } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export const SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN = new InjectionToken('SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN');
|
|
4
4
|
export class ScrollablePlaceholderItemTemplateDirective {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
6
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollablePlaceholderItemTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: ScrollablePlaceholderItemTemplateDirective, isStandalone: true, selector: "ng-template[etScrollablePlaceholderItemTemplate]", providers: [
|
|
7
7
|
{
|
|
8
8
|
provide: SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN,
|
|
9
9
|
useExisting: ScrollablePlaceholderItemTemplateDirective,
|
|
10
10
|
},
|
|
11
11
|
], ngImport: i0 }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ScrollablePlaceholderItemTemplateDirective, decorators: [{
|
|
14
14
|
type: Directive,
|
|
15
15
|
args: [{
|
|
16
16
|
selector: 'ng-template[etScrollablePlaceholderItemTemplate]',
|