ngx-tethys 18.0.8 → 18.1.0-next.1
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 +19 -1
- package/action/action.component.d.ts +1 -2
- package/affix/affix.component.d.ts +2 -4
- package/alert/alert.component.d.ts +11 -19
- package/anchor/anchor-link.component.d.ts +2 -4
- package/anchor/anchor.component.d.ts +2 -7
- package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
- package/autocomplete/autocomplete.component.d.ts +1 -2
- package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
- package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
- package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
- package/avatar/avatar.component.d.ts +1 -3
- package/avatar/avatar.pipe.d.ts +0 -2
- package/back-top/back-top.component.d.ts +2 -4
- package/badge/badge.component.d.ts +2 -2
- package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
- package/breadcrumb/breadcrumb.component.d.ts +1 -2
- package/button/button.component.d.ts +1 -2
- package/calendar/calendar-header.component.d.ts +1 -2
- package/calendar/calendar.component.d.ts +1 -2
- package/carousel/carousel-item.directive.d.ts +1 -2
- package/carousel/carousel.component.d.ts +1 -4
- package/carousel/carousel.service.d.ts +1 -2
- package/cascader/cascader.component.d.ts +4 -4
- package/checkbox/checkbox.component.d.ts +0 -2
- package/collapse/collapse-item.component.d.ts +2 -4
- package/color-picker/color-picker-panel.component.d.ts +2 -3
- package/color-picker/color-picker.component.d.ts +2 -4
- package/color-picker/coordinates.directive.d.ts +1 -2
- package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
- package/color-picker/parts/hue/hue.component.d.ts +1 -2
- package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
- package/copy/copy.directive.d.ts +0 -2
- package/core/click-positioner.d.ts +0 -2
- package/core/scroll.d.ts +1 -2
- package/core/update-host-class.service.d.ts +1 -2
- package/date-picker/abstract-picker.component.d.ts +1 -1
- package/date-picker/abstract-picker.directive.d.ts +2 -3
- package/date-picker/base-picker.component.d.ts +2 -3
- package/date-picker/date-picker.component.d.ts +2 -2
- package/date-picker/date-picker.directive.d.ts +1 -3
- package/date-picker/date-picker.service.d.ts +2 -2
- package/date-picker/index.d.ts +26 -27
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
- package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
- package/date-picker/lib/date/date-header.component.d.ts +0 -3
- package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
- package/date-picker/lib/date/date-table.component.d.ts +1 -3
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
- package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
- package/date-picker/lib/month/month-header.component.d.ts +0 -3
- package/date-picker/lib/month/month-table.component.d.ts +1 -2
- package/date-picker/lib/popups/date-popup.component.d.ts +1 -4
- package/date-picker/lib/popups/inner-popup.component.d.ts +0 -2
- package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
- package/date-picker/lib/year/year-header.component.d.ts +0 -1
- package/date-picker/month-picker.component.d.ts +2 -2
- package/date-picker/picker.component.d.ts +1 -3
- package/date-picker/picker.pipes.d.ts +0 -3
- package/date-picker/quarter-picker.component.d.ts +2 -2
- package/date-picker/range-picker.component.d.ts +2 -2
- package/date-picker/range-picker.directive.d.ts +2 -3
- package/date-picker/week-picker.component.d.ts +2 -2
- package/date-picker/year-picker.component.d.ts +2 -2
- package/date-range/date-range.component.d.ts +3 -11
- package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
- package/dialog/body/dialog-body.component.d.ts +0 -2
- package/dialog/confirm/confirm.component.d.ts +2 -3
- package/dialog/dialog-container.component.d.ts +4 -5
- package/dialog/dialog.service.d.ts +4 -4
- package/dialog/footer/dialog-footer.component.d.ts +2 -2
- package/dialog/header/dialog-header.component.d.ts +2 -6
- package/divider/divider.component.d.ts +8 -2
- package/dot/dot.component.d.ts +1 -2
- package/drag-drop/drag-content.directive.d.ts +2 -3
- package/drag-drop/drag-handle.directive.d.ts +2 -3
- package/drag-drop/drag.directive.d.ts +4 -5
- package/drag-drop/drop-container.directive.d.ts +6 -3
- package/dropdown/dropdown-active.directive.d.ts +3 -4
- package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
- package/dropdown/dropdown-submenu.component.d.ts +1 -3
- package/dropdown/dropdown.directive.d.ts +3 -5
- package/empty/empty.component.d.ts +6 -6
- package/esm2022/action/action.component.mjs +20 -21
- package/esm2022/affix/affix.component.mjs +11 -14
- package/esm2022/alert/alert.component.mjs +55 -81
- package/esm2022/anchor/anchor-link.component.mjs +23 -16
- package/esm2022/anchor/anchor.component.mjs +27 -24
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +25 -26
- package/esm2022/autocomplete/autocomplete.component.mjs +11 -11
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
- package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
- package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +27 -28
- package/esm2022/avatar/avatar.pipe.mjs +6 -7
- package/esm2022/back-top/back-top.component.mjs +14 -18
- package/esm2022/badge/badge.component.mjs +8 -9
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
- package/esm2022/breadcrumb/breadcrumb.component.mjs +15 -17
- package/esm2022/button/button-icon.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +15 -15
- package/esm2022/calendar/calendar-header.component.mjs +15 -15
- package/esm2022/calendar/calendar.component.mjs +14 -15
- package/esm2022/card/header.component.mjs +4 -4
- package/esm2022/carousel/carousel-item.directive.mjs +7 -6
- package/esm2022/carousel/carousel.component.mjs +13 -15
- package/esm2022/carousel/carousel.service.mjs +7 -9
- package/esm2022/cascader/cascader-li.component.mjs +4 -4
- package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
- package/esm2022/cascader/cascader.component.mjs +15 -22
- package/esm2022/checkbox/checkbox.component.mjs +11 -13
- package/esm2022/collapse/collapse-item.component.mjs +21 -24
- package/esm2022/color-picker/color-picker-panel.component.mjs +14 -15
- package/esm2022/color-picker/color-picker.component.mjs +10 -11
- package/esm2022/color-picker/coordinates.directive.mjs +10 -10
- package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
- package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
- package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
- package/esm2022/comment/comment.component.mjs +4 -4
- package/esm2022/copy/copy.directive.mjs +8 -12
- package/esm2022/core/click-positioner.mjs +6 -7
- package/esm2022/core/scroll.mjs +7 -9
- package/esm2022/core/store/store.mjs +1 -1
- package/esm2022/core/update-host-class.service.mjs +6 -6
- package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
- package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
- package/esm2022/date-picker/base-picker.component.mjs +26 -26
- package/esm2022/date-picker/date-picker.component.mjs +10 -11
- package/esm2022/date-picker/date-picker.directive.mjs +6 -8
- package/esm2022/date-picker/date-picker.service.mjs +6 -10
- package/esm2022/date-picker/index.mjs +27 -28
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +7 -8
- package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
- package/esm2022/date-picker/lib/date/date-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -12
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +16 -16
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +8 -11
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/month/month-table.component.mjs +9 -10
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +14 -29
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +14 -20
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +9 -10
- package/esm2022/date-picker/lib/year/year-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
- package/esm2022/date-picker/month-picker.component.mjs +9 -11
- package/esm2022/date-picker/picker.component.mjs +24 -35
- package/esm2022/date-picker/picker.pipes.mjs +10 -11
- package/esm2022/date-picker/quarter-picker.component.mjs +9 -11
- package/esm2022/date-picker/range-picker.component.mjs +9 -11
- package/esm2022/date-picker/range-picker.directive.mjs +6 -8
- package/esm2022/date-picker/week-picker.component.mjs +9 -11
- package/esm2022/date-picker/year-picker.component.mjs +9 -11
- package/esm2022/date-range/date-range.component.mjs +17 -18
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +9 -13
- package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
- package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
- package/esm2022/dialog/dialog-container.component.mjs +13 -18
- package/esm2022/dialog/dialog.service.mjs +10 -17
- package/esm2022/dialog/footer/dialog-footer.component.mjs +10 -14
- package/esm2022/dialog/header/dialog-header.component.mjs +17 -22
- package/esm2022/divider/divider.component.mjs +21 -13
- package/esm2022/dot/dot.component.mjs +7 -7
- package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
- package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
- package/esm2022/drag-drop/drag.directive.mjs +13 -16
- package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
- package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
- package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
- package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
- package/esm2022/dropdown/dropdown.directive.mjs +12 -10
- package/esm2022/empty/empty.component.mjs +17 -20
- package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
- package/esm2022/form/form-group-error/form-group-error.component.mjs +12 -15
- package/esm2022/form/form-group-label.directive.mjs +9 -10
- package/esm2022/form/form-group.component.mjs +18 -22
- package/esm2022/form/form-submit.directive.mjs +6 -7
- package/esm2022/form/form-validator-loader.mjs +1 -1
- package/esm2022/form/form-validator.service.mjs +12 -13
- package/esm2022/form/form.directive.mjs +11 -16
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +13 -19
- package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
- package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
- package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
- package/esm2022/grid/thy-col.directive.mjs +9 -14
- package/esm2022/grid/thy-grid-item.component.mjs +8 -14
- package/esm2022/grid/thy-grid.component.mjs +7 -8
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
- package/esm2022/guider/guider.directive.mjs +8 -9
- package/esm2022/guider/guider.service.mjs +12 -19
- package/esm2022/icon/icon-registry.mjs +11 -16
- package/esm2022/icon/icon.component.mjs +8 -9
- package/esm2022/image/image-group.component.mjs +7 -7
- package/esm2022/image/image.directive.mjs +11 -12
- package/esm2022/image/image.service.mjs +8 -14
- package/esm2022/image/preview/image-preview.component.mjs +36 -41
- package/esm2022/input/input-count.component.mjs +7 -10
- package/esm2022/input/input-group.component.mjs +15 -16
- package/esm2022/input/input-search.component.mjs +9 -10
- package/esm2022/input/input.component.mjs +17 -17
- package/esm2022/input/input.directive.mjs +12 -17
- package/esm2022/input-number/input-number.component.mjs +6 -6
- package/esm2022/layout/header.component.mjs +4 -4
- package/esm2022/layout/sidebar-header.component.mjs +4 -4
- package/esm2022/layout/sidebar.component.mjs +125 -121
- package/esm2022/list/list-item-meta.component.mjs +4 -4
- package/esm2022/list/selection/selection-list.mjs +25 -25
- package/esm2022/loading/loading.component.mjs +10 -11
- package/esm2022/mention/mention.directive.mjs +9 -14
- package/esm2022/mention/suggestions/suggestions.component.mjs +11 -12
- package/esm2022/menu/group/menu-group.component.mjs +37 -38
- package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
- package/esm2022/menu/item/menu-item.component.mjs +8 -9
- package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
- package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
- package/esm2022/message/message-container.component.mjs +21 -15
- package/esm2022/message/message-queue.service.mjs +6 -8
- package/esm2022/message/message.component.mjs +9 -10
- package/esm2022/message/message.service.mjs +10 -11
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
- package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
- package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
- package/esm2022/nav/nav-item.directive.mjs +8 -11
- package/esm2022/nav/nav.component.mjs +35 -38
- package/esm2022/nav/nav.pipe.mjs +6 -7
- package/esm2022/notify/notify-container.component.mjs +11 -14
- package/esm2022/notify/notify-queue.service.mjs +6 -8
- package/esm2022/notify/notify.component.mjs +10 -10
- package/esm2022/notify/notify.service.mjs +11 -12
- package/esm2022/pagination/pagination.component.mjs +41 -46
- package/esm2022/pagination/pagination.pipe.mjs +6 -7
- package/esm2022/popover/header/popover-header.component.mjs +15 -17
- package/esm2022/popover/popover-container.component.mjs +11 -13
- package/esm2022/popover/popover.directive.mjs +13 -12
- package/esm2022/popover/popover.service.mjs +14 -26
- package/esm2022/progress/progress-circle.component.mjs +4 -7
- package/esm2022/progress/progress-strip.component.mjs +10 -13
- package/esm2022/progress/progress.component.mjs +5 -8
- package/esm2022/property/property-item.component.mjs +13 -16
- package/esm2022/property-operation/property-operation.component.mjs +27 -28
- package/esm2022/radio/button/radio-button.component.mjs +9 -15
- package/esm2022/radio/group/radio-group.component.mjs +17 -17
- package/esm2022/radio/radio.component.mjs +12 -18
- package/esm2022/rate/rate.component.mjs +10 -10
- package/esm2022/resizable/resizable.directive.mjs +10 -12
- package/esm2022/resizable/resizable.service.mjs +7 -9
- package/esm2022/resizable/resize-handle.component.mjs +16 -14
- package/esm2022/resizable/resize-handles.component.mjs +12 -5
- package/esm2022/result/result.component.mjs +4 -4
- package/esm2022/segment/segment-item.component.mjs +15 -18
- package/esm2022/segment/segment.component.mjs +29 -30
- package/esm2022/select/custom-select/custom-select.component.mjs +19 -35
- package/esm2022/select/native-select/native-select.component.mjs +10 -11
- package/esm2022/shared/base-form-check.component.mjs +7 -8
- package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
- package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
- package/esm2022/shared/directives/thy-show.mjs +11 -11
- package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
- package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
- package/esm2022/shared/ng-transclude.directive.mjs +6 -5
- package/esm2022/shared/option/group/option-group.component.mjs +10 -10
- package/esm2022/shared/option/list-option/list-option.component.mjs +14 -22
- package/esm2022/shared/option/option.component.mjs +11 -22
- package/esm2022/shared/select/select-control/select-control.component.mjs +27 -27
- package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
- package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
- package/esm2022/slide/slide-container.component.mjs +12 -16
- package/esm2022/slide/slide-header/slide-header.component.mjs +13 -14
- package/esm2022/slide/slide-ref.service.mjs +1 -1
- package/esm2022/slide/slide.service.mjs +8 -12
- package/esm2022/slider/slider.component.mjs +8 -8
- package/esm2022/space/space.component.mjs +16 -16
- package/esm2022/statistic/statistic.component.mjs +23 -23
- package/esm2022/stepper/step.component.mjs +6 -11
- package/esm2022/stepper/stepper-button.directive.mjs +10 -11
- package/esm2022/stepper/stepper.component.mjs +5 -5
- package/esm2022/strength/strength.component.mjs +11 -12
- package/esm2022/switch/switch.component.mjs +11 -11
- package/esm2022/table/table-column.component.mjs +58 -63
- package/esm2022/table/table-skeleton.component.mjs +35 -38
- package/esm2022/table/table.component.mjs +19 -29
- package/esm2022/tabs/tab-content.component.mjs +9 -9
- package/esm2022/tabs/tabs.component.mjs +22 -25
- package/esm2022/tag/tag.component.mjs +22 -22
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +12 -12
- package/esm2022/time-picker/time-picker-panel.component.mjs +31 -34
- package/esm2022/time-picker/time-picker.component.mjs +33 -43
- package/esm2022/timeline/timeline-item.component.mjs +15 -16
- package/esm2022/timeline/timeline.component.mjs +15 -16
- package/esm2022/tooltip/tooltip.component.mjs +17 -17
- package/esm2022/tooltip/tooltip.directive.mjs +11 -10
- package/esm2022/tooltip/tooltip.service.mjs +9 -13
- package/esm2022/transfer/transfer-list.component.mjs +9 -9
- package/esm2022/transfer/transfer.component.mjs +4 -4
- package/esm2022/tree/tree-node.component.mjs +16 -20
- package/esm2022/tree/tree.component.mjs +90 -96
- package/esm2022/tree-select/tree-select.component.mjs +28 -36
- package/esm2022/typography/bg-color.directive.mjs +9 -9
- package/esm2022/typography/text/text.component.mjs +3 -4
- package/esm2022/typography/text-color.directive.mjs +9 -9
- package/esm2022/upload/file-drop.directive.mjs +1 -1
- package/esm2022/upload/file-select-base.mjs +5 -6
- package/esm2022/upload/file-select.component.mjs +4 -3
- package/esm2022/upload/upload.service.mjs +6 -7
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +4 -4
- package/esm2022/watermark/watermark.directive.mjs +12 -12
- package/fesm2022/ngx-tethys-action.mjs +20 -20
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +12 -14
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +54 -80
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +48 -35
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +25 -25
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +63 -75
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +32 -32
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +15 -18
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +8 -8
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +19 -21
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +16 -16
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +26 -26
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +3 -3
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +23 -24
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +19 -25
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +10 -11
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +20 -22
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +47 -45
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +3 -3
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +8 -12
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +14 -16
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +2872 -2924
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +24 -26
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +61 -77
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +20 -12
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +6 -6
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +49 -43
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +18 -18
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +74 -89
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +20 -29
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +20 -26
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +18 -22
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +60 -65
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +5 -5
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +53 -60
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +129 -124
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +27 -27
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +10 -10
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +19 -24
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +56 -57
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +47 -41
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +61 -72
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +31 -34
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +46 -51
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +51 -57
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +15 -24
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +27 -27
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +14 -14
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +33 -39
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +9 -9
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +43 -34
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +3 -3
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +41 -44
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +28 -44
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +135 -150
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +33 -47
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +33 -37
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +7 -7
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +16 -16
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +22 -22
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +17 -22
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +11 -11
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +10 -10
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +107 -124
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +29 -32
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +21 -21
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +70 -80
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +26 -26
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +35 -36
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +10 -10
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +29 -37
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +102 -110
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +18 -18
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +11 -12
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +3 -3
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +12 -12
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/flexible-text.component.d.ts +1 -3
- package/form/form-group-error/form-group-error.component.d.ts +1 -3
- package/form/form-group-label.directive.d.ts +0 -2
- package/form/form-group.component.d.ts +1 -4
- package/form/form-submit.directive.d.ts +0 -2
- package/form/form-validator.service.d.ts +0 -2
- package/form/form.directive.d.ts +4 -4
- package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
- package/form/validator/unique-validator.directive.d.ts +1 -4
- package/fullscreen/fullscreen.component.d.ts +0 -2
- package/fullscreen/fullscreen.service.d.ts +0 -2
- package/grid/thy-col.directive.d.ts +1 -2
- package/grid/thy-grid-item.component.d.ts +2 -4
- package/grid/thy-grid.component.d.ts +1 -3
- package/guider/guider.directive.d.ts +1 -3
- package/guider/guider.service.d.ts +0 -7
- package/icon/icon-registry.d.ts +1 -3
- package/icon/icon.component.d.ts +1 -3
- package/image/image-group.component.d.ts +1 -2
- package/image/image.directive.d.ts +1 -3
- package/image/image.service.d.ts +2 -2
- package/image/preview/image-preview.component.d.ts +1 -4
- package/input/input-count.component.d.ts +3 -4
- package/input/input-group.component.d.ts +1 -3
- package/input/input-search.component.d.ts +2 -2
- package/input/input.component.d.ts +1 -2
- package/input/input.directive.d.ts +2 -3
- package/input-number/input-number.component.d.ts +2 -2
- package/layout/sidebar.component.d.ts +44 -13
- package/list/selection/selection-list.d.ts +1 -2
- package/loading/loading.component.d.ts +0 -2
- package/loading/styles/loading.scss +3 -1
- package/mention/mention.directive.d.ts +4 -5
- package/mention/suggestions/suggestions.component.d.ts +2 -3
- package/menu/group/menu-group.component.d.ts +30 -8
- package/menu/item/action/menu-item-action.component.d.ts +2 -3
- package/menu/item/menu-item.component.d.ts +1 -2
- package/message/abstract/abstract-message-container.component.d.ts +1 -2
- package/message/abstract/abstract-message.component.d.ts +2 -2
- package/message/message-container.component.d.ts +1 -3
- package/message/message-queue.service.d.ts +1 -2
- package/message/message.component.d.ts +1 -3
- package/message/message.service.d.ts +3 -5
- package/nav/icon-nav/icon-nav.component.d.ts +2 -2
- package/nav/nav-ink-bar.directive.d.ts +2 -4
- package/nav/nav-item.directive.d.ts +3 -4
- package/nav/nav.component.d.ts +1 -3
- package/nav/nav.pipe.d.ts +0 -2
- package/notify/notify-container.component.d.ts +1 -3
- package/notify/notify-queue.service.d.ts +1 -2
- package/notify/notify.component.d.ts +2 -3
- package/notify/notify.service.d.ts +1 -4
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +2 -4
- package/pagination/pagination.pipe.d.ts +0 -2
- package/popover/header/popover-header.component.d.ts +0 -3
- package/popover/popover-container.component.d.ts +3 -4
- package/popover/popover.directive.d.ts +2 -5
- package/popover/popover.service.d.ts +4 -6
- package/progress/progress-circle.component.d.ts +0 -1
- package/progress/progress-strip.component.d.ts +0 -1
- package/progress/progress.component.d.ts +0 -1
- package/property/property-item.component.d.ts +6 -9
- package/property-operation/property-operation.component.d.ts +1 -3
- package/radio/button/radio-button.component.d.ts +2 -5
- package/radio/group/radio-group.component.d.ts +1 -2
- package/radio/radio.component.d.ts +2 -3
- package/rate/rate.component.d.ts +2 -2
- package/resizable/resizable.directive.d.ts +2 -4
- package/resizable/resizable.service.d.ts +2 -2
- package/resizable/resize-handle.component.d.ts +2 -7
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +4 -5
- package/segment/segment.component.d.ts +2 -7
- package/select/custom-select/custom-select.component.d.ts +5 -5
- package/select/native-select/native-select.component.d.ts +1 -1
- package/shared/base-form-check.component.d.ts +1 -1
- package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
- package/shared/directives/thy-autofocus.directive.d.ts +0 -2
- package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
- package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
- package/shared/directives/thy-enter.directive.d.ts +1 -2
- package/shared/directives/thy-scroll.directive.d.ts +1 -2
- package/shared/directives/thy-show.d.ts +1 -2
- package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
- package/shared/directives/view-outlet.directive.d.ts +1 -2
- package/shared/ng-transclude.directive.d.ts +1 -1
- package/shared/option/group/option-group.component.d.ts +1 -2
- package/shared/option/list-option/list-option.component.d.ts +6 -7
- package/shared/option/option.component.d.ts +5 -5
- package/shared/select/select-control/select-control.component.d.ts +1 -2
- package/skeleton/skeleton-circle.component.d.ts +1 -4
- package/skeleton/skeleton-rectangle.component.d.ts +5 -5
- package/skeleton/stylized/bullet-list.component.d.ts +9 -1
- package/slide/drawer/drawer-container.directive.d.ts +1 -2
- package/slide/slide-container.component.d.ts +3 -4
- package/slide/slide-header/slide-header.component.d.ts +0 -2
- package/slide/slide.service.d.ts +3 -3
- package/slider/slider.component.d.ts +2 -2
- package/space/space.component.d.ts +1 -2
- package/statistic/statistic.component.d.ts +1 -2
- package/stepper/step.component.d.ts +1 -2
- package/stepper/stepper-button.directive.d.ts +0 -3
- package/strength/strength.component.d.ts +0 -1
- package/switch/switch.component.d.ts +1 -1
- package/table/table-column.component.d.ts +32 -8
- package/table/table-skeleton.component.d.ts +1 -3
- package/table/table.component.d.ts +3 -5
- package/tabs/tabs.component.d.ts +1 -3
- package/tag/tag.component.d.ts +7 -3
- package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
- package/time-picker/time-picker-panel.component.d.ts +1 -3
- package/time-picker/time-picker.component.d.ts +1 -2
- package/timeline/timeline-item.component.d.ts +1 -3
- package/timeline/timeline.component.d.ts +1 -3
- package/tooltip/tooltip.component.d.ts +1 -2
- package/tooltip/tooltip.directive.d.ts +6 -9
- package/tooltip/tooltip.service.d.ts +2 -4
- package/transfer/transfer-list.component.d.ts +1 -2
- package/tree/tree-node.component.d.ts +5 -21
- package/tree/tree.component.d.ts +1 -2
- package/tree-select/tree-select.component.d.ts +5 -6
- package/typography/bg-color.directive.d.ts +0 -2
- package/typography/text-color.directive.d.ts +1 -2
- package/upload/file-select-base.d.ts +2 -3
- package/upload/file-select.component.d.ts +1 -0
- package/upload/upload.service.d.ts +0 -2
- package/watermark/watermark.directive.d.ts +1 -2
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { Component, Input, HostBinding,
|
|
1
|
+
import { Component, Input, HostBinding, inject } from '@angular/core';
|
|
2
2
|
import { trigger, state, style, animate, transition } from '@angular/animations';
|
|
3
3
|
import { helpers, isString } from 'ngx-tethys/util';
|
|
4
4
|
import { ANIMATION_IN_DURATION, ANIMATION_OUT_DURATION, HIDE_STYLE, ThyAbstractMessageComponent } from 'ngx-tethys/message';
|
|
5
5
|
import { ThyNotifyQueue } from './notify-queue.service';
|
|
6
6
|
import { ThyViewOutletDirective } from 'ngx-tethys/shared';
|
|
7
7
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
8
|
-
import {
|
|
8
|
+
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "./notify-queue.service";
|
|
11
10
|
/**
|
|
12
11
|
* @private
|
|
13
12
|
*/
|
|
@@ -24,8 +23,9 @@ export class ThyNotify extends ThyAbstractMessageComponent {
|
|
|
24
23
|
}
|
|
25
24
|
this.className = `thy-notify thy-notify-${type}`;
|
|
26
25
|
}
|
|
27
|
-
constructor(
|
|
28
|
-
|
|
26
|
+
constructor() {
|
|
27
|
+
const notifyQueue = inject(ThyNotifyQueue);
|
|
28
|
+
super(notifyQueue);
|
|
29
29
|
this.className = '';
|
|
30
30
|
this.extendContentClass = false;
|
|
31
31
|
this.isShowDetail = false;
|
|
@@ -49,8 +49,8 @@ export class ThyNotify extends ThyAbstractMessageComponent {
|
|
|
49
49
|
this.showDetailToggle();
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNotify, deps: [
|
|
53
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNotify, isStandalone: true, selector: "thy-notify", inputs: { thyConfig: "thyConfig" }, host: { properties: { "@flyInOut": "this.animationState", "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: "@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNotify, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyNotify, isStandalone: true, selector: "thy-notify", inputs: { thyConfig: "thyConfig" }, host: { properties: { "@flyInOut": "this.animationState", "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: "@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n @if (config?.detail || config?.content) {\n <div\n class=\"thy-notify-content\"\n [ngClass]=\"{ 'thy-notify-content--extend': extendContentClass === true }\"\n (click)=\"extendContent()\">\n @if (config.content) {\n @if (contentIsString) {\n {{ config.content }}\n } @else {\n <ng-container *thyViewOutlet=\"config.content; context: config.contentInitialState || {}\"></ng-container>\n }\n }\n @if (config?.detail) {\n <a href=\"javascript:;\" class=\"link-secondary\" (click)=\"triggerDetail()\">{{ (config?.detail)['link'] }}</a>\n }\n </div>\n }\n @if (isShowDetail) {\n <div class=\"thy-notify-detail\">{{ (config?.detail)['content'] }}</div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ThyViewOutletDirective, selector: "[thyViewOutlet]", inputs: ["thyViewOutlet", "thyViewOutletContext"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
54
54
|
trigger('flyInOut', [
|
|
55
55
|
state('flyInOutRight', style({ transform: 'translateX(0)', opacity: 1, height: '*' })),
|
|
56
56
|
transition('void => flyInOutRight', [
|
|
@@ -86,8 +86,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
86
86
|
transition('flyInOutLeft => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),
|
|
87
87
|
state('componentHide', style(HIDE_STYLE))
|
|
88
88
|
])
|
|
89
|
-
], standalone: true, imports: [
|
|
90
|
-
}], ctorParameters: () => [
|
|
89
|
+
], standalone: true, imports: [ThyIcon, NgClass, ThyViewOutletDirective, NgTemplateOutlet], template: "@if (config?.html) {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-main\">\n <template [ngTemplateOutlet]=\"config?.html\"></template>\n </div>\n} @else {\n <a href=\"javascript:;\" class=\"thy-notify-close\" (click)=\"close()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n <div class=\"thy-notify-icon-container\">\n <thy-icon [thyIconName]=\"iconName\"></thy-icon>\n </div>\n <div class=\"thy-notify-main\">\n <div class=\"thy-notify-title\">{{ config?.title }}</div>\n @if (config?.detail || config?.content) {\n <div\n class=\"thy-notify-content\"\n [ngClass]=\"{ 'thy-notify-content--extend': extendContentClass === true }\"\n (click)=\"extendContent()\">\n @if (config.content) {\n @if (contentIsString) {\n {{ config.content }}\n } @else {\n <ng-container *thyViewOutlet=\"config.content; context: config.contentInitialState || {}\"></ng-container>\n }\n }\n @if (config?.detail) {\n <a href=\"javascript:;\" class=\"link-secondary\" (click)=\"triggerDetail()\">{{ (config?.detail)['link'] }}</a>\n }\n </div>\n }\n @if (isShowDetail) {\n <div class=\"thy-notify-detail\">{{ (config?.detail)['content'] }}</div>\n }\n </div>\n}\n" }]
|
|
90
|
+
}], ctorParameters: () => [], propDecorators: { animationState: [{
|
|
91
91
|
type: HostBinding,
|
|
92
92
|
args: ['@flyInOut']
|
|
93
93
|
}], className: [{
|
|
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
96
96
|
}], thyConfig: [{
|
|
97
97
|
type: Input
|
|
98
98
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub3RpZnkvbm90aWZ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9ub3RpZnkvbm90aWZ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUVsRTs7R0FFRztBQXdCSCxNQUFNLE9BQU8sU0FBVSxTQUFRLDJCQUE0QztJQWV2RSxJQUNJLFNBQVMsQ0FBQyxLQUFzQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxL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QUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzt3R0FHakQsY0FBYztzQkFBdkMsV0FBVzt1QkFBQyxXQUFXO2dCQUVGLFNBQVM7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTztnQkFhaEIsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIE5nWm9uZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIGFuaW1hdGUsIHRyYW5zaXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IGhlbHBlcnMsIGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeU5vdGlmeUNvbmZpZywgVGh5Tm90aWZ5RGV0YWlsLCBUaHlOb3RpZnlQbGFjZW1lbnQgfSBmcm9tICcuL25vdGlmeS5jb25maWcnO1xuaW1wb3J0IHsgQU5JTUFUSU9OX0lOX0RVUkFUSU9OLCBBTklNQVRJT05fT1VUX0RVUkFUSU9OLCBISURFX1NUWUxFLCBUaHlBYnN0cmFjdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL21lc3NhZ2UnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5UXVldWUgfSBmcm9tICcuL25vdGlmeS1xdWV1ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRoeVZpZXdPdXRsZXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5vdGlmeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGlmeS5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmbHlJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCdmbHlJbk91dFJpZ2h0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJywgb3BhY2l0eTogMSwgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBmbHlJbk91dFJpZ2h0JywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsIG9wYWNpdHk6IDAsIGhlaWdodDogJyonIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoQU5JTUFUSU9OX0lOX0RVUkFUSU9OKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdmbHlJbk91dFJpZ2h0ID0+IGNvbXBvbmVudEhpZGUnLCBbYW5pbWF0ZShBTklNQVRJT05fT1VUX0RVUkFUSU9OLCBzdHlsZShISURFX1NUWUxFKSldKSxcbiAgICAgICAgICAgIHN0YXRlKCdmbHlJbk91dExlZnQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLCBvcGFjaXR5OiAxLCBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGZseUluT3V0TGVmdCcsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJywgb3BhY2l0eTogMCwgaGVpZ2h0OiAnKicgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShBTklNQVRJT05fSU5fRFVSQVRJT04pXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2ZseUluT3V0TGVmdCA9PiBjb21wb25lbnRIaWRlJywgW2FuaW1hdGUoQU5JTUFUSU9OX09VVF9EVVJBVElPTiwgc3R5bGUoSElERV9TVFlMRSkpXSksXG4gICAgICAgICAgICBzdGF0ZSgnY29tcG9uZW50SGlkZScsIHN0eWxlKEhJREVfU1RZTEUpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbiwgTmdDbGFzcywgVGh5Vmlld091dGxldERpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Tm90aWZ5IGV4dGVuZHMgVGh5QWJzdHJhY3RNZXNzYWdlQ29tcG9uZW50PFRoeU5vdGlmeUNvbmZpZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnQGZseUluT3V0JykgYW5pbWF0aW9uU3RhdGU6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc05hbWUgPSAnJztcblxuICAgIGNvbmZpZzogVGh5Tm90aWZ5Q29uZmlnO1xuXG4gICAgZXh0ZW5kQ29udGVudENsYXNzID0gZmFsc2U7XG5cbiAgICBpc1Nob3dEZXRhaWwgPSBmYWxzZTtcblxuICAgIGNvbnRlbnRJc1N0cmluZyA9IGZhbHNlO1xuXG4gICAgcGxhY2VtZW50OiBUaHlOb3RpZnlQbGFjZW1lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlDb25maWcodmFsdWU6IFRoeU5vdGlmeUNvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHZhbHVlO1xuICAgICAgICBjb25zdCB0eXBlID0gdmFsdWUudHlwZTtcbiAgICAgICAgdGhpcy5wbGFjZW1lbnQgPSB2YWx1ZS5wbGFjZW1lbnQgfHwgJ3RvcFJpZ2h0JztcbiAgICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAndG9wTGVmdCcgfHwgdGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b21MZWZ0Jykge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdmbHlJbk91dExlZnQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdmbHlJbk91dFJpZ2h0JztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsYXNzTmFtZSA9IGB0aHktbm90aWZ5IHRoeS1ub3RpZnktJHt0eXBlfWA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Iobmdab25lOiBOZ1pvbmUsIG5vdGlmeVF1ZXVlOiBUaHlOb3RpZnlRdWV1ZSkge1xuICAgICAgICBzdXBlcihuZ1pvbmUsIG5vdGlmeVF1ZXVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5jb250ZW50SXNTdHJpbmcgPSBpc1N0cmluZyh0aGlzLmNvbmZpZy5jb250ZW50KTtcbiAgICB9XG5cbiAgICBleHRlbmRDb250ZW50KCkge1xuICAgICAgICB0aGlzLmV4dGVuZENvbnRlbnRDbGFzcyA9IHRydWU7XG4gICAgfVxuXG4gICAgc2hvd0RldGFpbFRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5pc1Nob3dEZXRhaWwgPSAhdGhpcy5pc1Nob3dEZXRhaWw7XG4gICAgfVxuXG4gICAgdHJpZ2dlckRldGFpbCgpIHtcbiAgICAgICAgaWYgKGhlbHBlcnMuaXNGdW5jdGlvbigodGhpcy5jb25maWcuZGV0YWlsIGFzIFRoeU5vdGlmeURldGFpbCkuYWN0aW9uKSkge1xuICAgICAgICAgICAgKHRoaXMuY29uZmlnLmRldGFpbCBhcyBUaHlOb3RpZnlEZXRhaWwpLmFjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgodGhpcy5jb25maWcuZGV0YWlsIGFzIFRoeU5vdGlmeURldGFpbCkuY29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5zaG93RGV0YWlsVG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKGNvbmZpZz8uaHRtbCkge1xuICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgY2xhc3M9XCJ0aHktbm90aWZ5LWNsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiPjwvdGh5LWljb24+XG4gIDwvYT5cbiAgPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktbWFpblwiPlxuICAgIDx0ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb25maWc/Lmh0bWxcIj48L3RlbXBsYXRlPlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgY2xhc3M9XCJ0aHktbm90aWZ5LWNsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiPjwvdGh5LWljb24+XG4gIDwvYT5cbiAgPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktaWNvbi1jb250YWluZXJcIj5cbiAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0aHktbm90aWZ5LW1haW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LW5vdGlmeS10aXRsZVwiPnt7IGNvbmZpZz8udGl0bGUgfX08L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImNvbmZpZz8uZGV0YWlsIHx8IGNvbmZpZz8uY29udGVudFwiXG4gICAgICBjbGFzcz1cInRoeS1ub3RpZnktY29udGVudFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICd0aHktbm90aWZ5LWNvbnRlbnQtLWV4dGVuZCc6IGV4dGVuZENvbnRlbnRDbGFzcyA9PT0gdHJ1ZSB9XCJcbiAgICAgIChjbGljayk9XCJleHRlbmRDb250ZW50KClcIj5cbiAgICAgIEBpZiAoY29uZmlnLmNvbnRlbnQpIHtcbiAgICAgICAgQGlmIChjb250ZW50SXNTdHJpbmcpIHtcbiAgICAgICAgICB7eyBjb25maWcuY29udGVudCB9fVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICp0aHlWaWV3T3V0bGV0PVwiY29uZmlnLmNvbnRlbnQ7IGNvbnRleHQ6IGNvbmZpZy5jb250ZW50SW5pdGlhbFN0YXRlIHx8IHt9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAoY29uZmlnPy5kZXRhaWwpIHtcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIGNsYXNzPVwibGluay1zZWNvbmRhcnlcIiAoY2xpY2spPVwidHJpZ2dlckRldGFpbCgpXCI+e3sgKGNvbmZpZz8uZGV0YWlsKVsnbGluayddIH19PC9hPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXNTaG93RGV0YWlsKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LW5vdGlmeS1kZXRhaWxcIj57eyAoY29uZmlnPy5kZXRhaWwpWydjb250ZW50J10gfX08L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxufVxuIl19
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub3RpZnkvbm90aWZ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9ub3RpZnkvbm90aWZ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTVEOztHQUVHO0FBd0JILE1BQU0sT0FBTyxTQUFVLFNBQVEsMkJBQTRDO0lBZXZFLElBQ0ksU0FBUyxDQUFDLEtBQXNCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxJ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UCxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7d0RBRzNDLGNBQWM7c0JBQXZDLFdBQVc7dUJBQUMsV0FBVztnQkFFRixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBYWhCLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBOZ1pvbmUsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIGFuaW1hdGUsIHRyYW5zaXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IGhlbHBlcnMsIGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeU5vdGlmeUNvbmZpZywgVGh5Tm90aWZ5RGV0YWlsLCBUaHlOb3RpZnlQbGFjZW1lbnQgfSBmcm9tICcuL25vdGlmeS5jb25maWcnO1xuaW1wb3J0IHsgQU5JTUFUSU9OX0lOX0RVUkFUSU9OLCBBTklNQVRJT05fT1VUX0RVUkFUSU9OLCBISURFX1NUWUxFLCBUaHlBYnN0cmFjdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL21lc3NhZ2UnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5UXVldWUgfSBmcm9tICcuL25vdGlmeS1xdWV1ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRoeVZpZXdPdXRsZXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LW5vdGlmeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGlmeS5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmbHlJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCdmbHlJbk91dFJpZ2h0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJywgb3BhY2l0eTogMSwgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBmbHlJbk91dFJpZ2h0JywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsIG9wYWNpdHk6IDAsIGhlaWdodDogJyonIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoQU5JTUFUSU9OX0lOX0RVUkFUSU9OKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdmbHlJbk91dFJpZ2h0ID0+IGNvbXBvbmVudEhpZGUnLCBbYW5pbWF0ZShBTklNQVRJT05fT1VUX0RVUkFUSU9OLCBzdHlsZShISURFX1NUWUxFKSldKSxcbiAgICAgICAgICAgIHN0YXRlKCdmbHlJbk91dExlZnQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLCBvcGFjaXR5OiAxLCBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGZseUluT3V0TGVmdCcsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJywgb3BhY2l0eTogMCwgaGVpZ2h0OiAnKicgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShBTklNQVRJT05fSU5fRFVSQVRJT04pXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2ZseUluT3V0TGVmdCA9PiBjb21wb25lbnRIaWRlJywgW2FuaW1hdGUoQU5JTUFUSU9OX09VVF9EVVJBVElPTiwgc3R5bGUoSElERV9TVFlMRSkpXSksXG4gICAgICAgICAgICBzdGF0ZSgnY29tcG9uZW50SGlkZScsIHN0eWxlKEhJREVfU1RZTEUpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SWNvbiwgTmdDbGFzcywgVGh5Vmlld091dGxldERpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Tm90aWZ5IGV4dGVuZHMgVGh5QWJzdHJhY3RNZXNzYWdlQ29tcG9uZW50PFRoeU5vdGlmeUNvbmZpZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnQGZseUluT3V0JykgYW5pbWF0aW9uU3RhdGU6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc05hbWUgPSAnJztcblxuICAgIGNvbmZpZzogVGh5Tm90aWZ5Q29uZmlnO1xuXG4gICAgZXh0ZW5kQ29udGVudENsYXNzID0gZmFsc2U7XG5cbiAgICBpc1Nob3dEZXRhaWwgPSBmYWxzZTtcblxuICAgIGNvbnRlbnRJc1N0cmluZyA9IGZhbHNlO1xuXG4gICAgcGxhY2VtZW50OiBUaHlOb3RpZnlQbGFjZW1lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlDb25maWcodmFsdWU6IFRoeU5vdGlmeUNvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHZhbHVlO1xuICAgICAgICBjb25zdCB0eXBlID0gdmFsdWUudHlwZTtcbiAgICAgICAgdGhpcy5wbGFjZW1lbnQgPSB2YWx1ZS5wbGFjZW1lbnQgfHwgJ3RvcFJpZ2h0JztcbiAgICAgICAgaWYgKHRoaXMucGxhY2VtZW50ID09PSAndG9wTGVmdCcgfHwgdGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b21MZWZ0Jykge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdmbHlJbk91dExlZnQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICdmbHlJbk91dFJpZ2h0JztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsYXNzTmFtZSA9IGB0aHktbm90aWZ5IHRoeS1ub3RpZnktJHt0eXBlfWA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IG5vdGlmeVF1ZXVlID0gaW5qZWN0KFRoeU5vdGlmeVF1ZXVlKTtcbiAgICAgICAgc3VwZXIobm90aWZ5UXVldWUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmNvbnRlbnRJc1N0cmluZyA9IGlzU3RyaW5nKHRoaXMuY29uZmlnLmNvbnRlbnQpO1xuICAgIH1cblxuICAgIGV4dGVuZENvbnRlbnQoKSB7XG4gICAgICAgIHRoaXMuZXh0ZW5kQ29udGVudENsYXNzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBzaG93RGV0YWlsVG9nZ2xlKCkge1xuICAgICAgICB0aGlzLmlzU2hvd0RldGFpbCA9ICF0aGlzLmlzU2hvd0RldGFpbDtcbiAgICB9XG5cbiAgICB0cmlnZ2VyRGV0YWlsKCkge1xuICAgICAgICBpZiAoaGVscGVycy5pc0Z1bmN0aW9uKCh0aGlzLmNvbmZpZy5kZXRhaWwgYXMgVGh5Tm90aWZ5RGV0YWlsKS5hY3Rpb24pKSB7XG4gICAgICAgICAgICAodGhpcy5jb25maWcuZGV0YWlsIGFzIFRoeU5vdGlmeURldGFpbCkuYWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCh0aGlzLmNvbmZpZy5kZXRhaWwgYXMgVGh5Tm90aWZ5RGV0YWlsKS5jb250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnNob3dEZXRhaWxUb2dnbGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoY29uZmlnPy5odG1sKSB7XG4gIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cInRoeS1ub3RpZnktY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCI+PC90aHktaWNvbj5cbiAgPC9hPlxuICA8ZGl2IGNsYXNzPVwidGh5LW5vdGlmeS1tYWluXCI+XG4gICAgPHRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbmZpZz8uaHRtbFwiPjwvdGVtcGxhdGU+XG4gIDwvZGl2PlxufSBAZWxzZSB7XG4gIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cInRoeS1ub3RpZnktY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCI+PC90aHktaWNvbj5cbiAgPC9hPlxuICA8ZGl2IGNsYXNzPVwidGh5LW5vdGlmeS1pY29uLWNvbnRhaW5lclwiPlxuICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiaWNvbk5hbWVcIj48L3RoeS1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRoeS1ub3RpZnktbWFpblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aHktbm90aWZ5LXRpdGxlXCI+e3sgY29uZmlnPy50aXRsZSB9fTwvZGl2PlxuICAgIEBpZiAoY29uZmlnPy5kZXRhaWwgfHwgY29uZmlnPy5jb250ZW50KSB7XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGh5LW5vdGlmeS1jb250ZW50XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAndGh5LW5vdGlmeS1jb250ZW50LS1leHRlbmQnOiBleHRlbmRDb250ZW50Q2xhc3MgPT09IHRydWUgfVwiXG4gICAgICAgIChjbGljayk9XCJleHRlbmRDb250ZW50KClcIj5cbiAgICAgICAgQGlmIChjb25maWcuY29udGVudCkge1xuICAgICAgICAgIEBpZiAoY29udGVudElzU3RyaW5nKSB7XG4gICAgICAgICAgICB7eyBjb25maWcuY29udGVudCB9fVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqdGh5Vmlld091dGxldD1cImNvbmZpZy5jb250ZW50OyBjb250ZXh0OiBjb25maWcuY29udGVudEluaXRpYWxTdGF0ZSB8fCB7fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGNvbmZpZz8uZGV0YWlsKSB7XG4gICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIGNsYXNzPVwibGluay1zZWNvbmRhcnlcIiAoY2xpY2spPVwidHJpZ2dlckRldGFpbCgpXCI+e3sgKGNvbmZpZz8uZGV0YWlsKVsnbGluayddIH19PC9hPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChpc1Nob3dEZXRhaWwpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktbm90aWZ5LWRldGFpbFwiPnt7IChjb25maWc/LmRldGFpbClbJ2NvbnRlbnQnXSB9fTwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isString } from 'ngx-tethys/util';
|
|
2
|
-
import {
|
|
2
|
+
import { Injectable, Injector, inject } from '@angular/core';
|
|
3
3
|
import { THY_NOTIFY_DEFAULT_CONFIG, THY_NOTIFY_DEFAULT_CONFIG_VALUE } from './notify.config';
|
|
4
4
|
import { Overlay } from '@angular/cdk/overlay';
|
|
5
5
|
import { ThyNotifyRef } from './notify-ref';
|
|
@@ -7,17 +7,19 @@ import { ThyNotifyContainer } from './notify-container.component';
|
|
|
7
7
|
import { ThyNotifyQueue } from './notify-queue.service';
|
|
8
8
|
import { ThyAbstractMessageService } from 'ngx-tethys/message';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
11
|
-
import * as i2 from "./notify-queue.service";
|
|
12
10
|
/**
|
|
13
11
|
* @order 20
|
|
14
12
|
*/
|
|
15
13
|
export class ThyNotifyService extends ThyAbstractMessageService {
|
|
16
|
-
constructor(
|
|
14
|
+
constructor() {
|
|
15
|
+
const overlay = inject(Overlay);
|
|
16
|
+
const injector = inject(Injector);
|
|
17
|
+
const notifyQueue = inject(ThyNotifyQueue);
|
|
17
18
|
super(overlay, injector, notifyQueue);
|
|
18
|
-
this.
|
|
19
|
-
this.config = config;
|
|
19
|
+
this.config = inject(THY_NOTIFY_DEFAULT_CONFIG);
|
|
20
20
|
this._lastNotifyId = 0;
|
|
21
|
+
this.notifyQueue = notifyQueue;
|
|
22
|
+
const config = this.config;
|
|
21
23
|
this.defaultConfig = {
|
|
22
24
|
...THY_NOTIFY_DEFAULT_CONFIG_VALUE,
|
|
23
25
|
...config
|
|
@@ -83,7 +85,7 @@ export class ThyNotifyService extends ThyAbstractMessageService {
|
|
|
83
85
|
}
|
|
84
86
|
return Object.assign({ type: 'blank' }, { id: String(this._lastNotifyId++) }, this.defaultConfig, config);
|
|
85
87
|
}
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNotifyService, deps: [
|
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNotifyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
87
89
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNotifyService, providedIn: 'root' }); }
|
|
88
90
|
}
|
|
89
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyNotifyService, decorators: [{
|
|
@@ -91,8 +93,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
91
93
|
args: [{
|
|
92
94
|
providedIn: 'root'
|
|
93
95
|
}]
|
|
94
|
-
}], ctorParameters: () => [
|
|
95
|
-
|
|
96
|
-
args: [THY_NOTIFY_DEFAULT_CONFIG]
|
|
97
|
-
}] }] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbm90aWZ5L25vdGlmeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUEwQyx5QkFBeUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUcvRDs7R0FFRztBQUlILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx5QkFBNkM7SUFLL0UsWUFDSSxPQUFnQixFQUNoQixRQUFrQixFQUNWLFdBQTJCLEVBQ1UsTUFBNkI7UUFFMUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ1UsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFSdEUsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFXdEIsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNqQixHQUFHLCtCQUErQjtZQUNsQyxHQUFHLE1BQU07U0FDWixDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSSxDQUFDLE1BQXVCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FB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IHsgaXNTdHJpbmcgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5R2xvYmFsTm90aWZ5Q29uZmlnLCBUaHlOb3RpZnlDb25maWcsIFRIWV9OT1RJRllfREVGQVVMVF9DT05GSUcsIFRIWV9OT1RJRllfREVGQVVMVF9DT05GSUdfVkFMVUUgfSBmcm9tICcuL25vdGlmeS5jb25maWcnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRoeU5vdGlmeVJlZiB9IGZyb20gJy4vbm90aWZ5LXJlZic7XG5pbXBvcnQgeyBUaHlOb3RpZnlDb250YWluZXIgfSBmcm9tICcuL25vdGlmeS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeU5vdGlmeVF1ZXVlIH0gZnJvbSAnLi9ub3RpZnktcXVldWUuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlBYnN0cmFjdE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9tZXNzYWdlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcblxuLyoqXG4gKiBAb3JkZXIgMjBcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUaHlOb3RpZnlTZXJ2aWNlIGV4dGVuZHMgVGh5QWJzdHJhY3RNZXNzYWdlU2VydmljZTxUaHlOb3RpZnlDb250YWluZXI+IHtcbiAgICBwcml2YXRlIF9sYXN0Tm90aWZ5SWQgPSAwO1xuXG4gICAgcHJpdmF0ZSBkZWZhdWx0Q29uZmlnOiBUaHlHbG9iYWxOb3RpZnlDb25maWc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIG5vdGlmeVF1ZXVlOiBUaHlOb3RpZnlRdWV1ZSxcbiAgICAgICAgQEluamVjdChUSFlfTk9USUZZX0RFRkFVTFRfQ09ORklHKSBwcm90ZWN0ZWQgY29uZmlnOiBUaHlHbG9iYWxOb3RpZnlDb25maWdcbiAgICApIHtcbiAgICAgICAgc3VwZXIob3ZlcmxheSwgaW5qZWN0b3IsIG5vdGlmeVF1ZXVlKTtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0ge1xuICAgICAgICAgICAgLi4uVEhZX05PVElGWV9ERUZBVUxUX0NPTkZJR19WQUxVRSxcbiAgICAgICAgICAgIC4uLmNvbmZpZ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaJk+W8gOiHquWumuS5iemFjee9rueahCBOb3RpZnlcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvdyhjb25maWc6IFRoeU5vdGlmeUNvbmZpZyk6IFRoeU5vdGlmeVJlZiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5jcmVhdGVDb250YWluZXIoVGh5Tm90aWZ5Q29udGFpbmVyKTtcblxuICAgICAgICBjb25zdCBub3RpZnlDb25maWcgPSB0aGlzLmZvcm1hdE9wdGlvbnMoY29uZmlnKTtcbiAgICAgICAgY29uc3Qgbm90aWZ5UmVmID0gbmV3IFRoeU5vdGlmeVJlZihub3RpZnlDb25maWcsIHRoaXMub3ZlcmxheVJlZiwgdGhpcy5ub3RpZnlRdWV1ZSk7XG4gICAgICAgIHRoaXMubm90aWZ5UXVldWUuYWRkKG5vdGlmeVJlZik7XG4gICAgICAgIHJldHVybiBub3RpZnlSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5omT5byA57G75Z6L5Li6XCJzdWNjZXNzXCLnmoQgTm90aWZ5XG4gICAgICovXG4gICAgcHVibGljIHN1Y2Nlc3ModGl0bGU/OiBzdHJpbmcsIGNvbnRlbnQ/OiBzdHJpbmcgfCBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxhbnk+LCBjb25maWc/OiBUaHlOb3RpZnlDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICAgICAgICAuLi4oY29uZmlnIHx8IHt9KSxcbiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSB8fCBjb25maWc/LnRpdGxlIHx8ICfmiJDlip8nLFxuICAgICAgICAgICAgY29udGVudDogY29udGVudCB8fCBjb25maWc/LmNvbnRlbnRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5omT5byA57G75Z6L5Li6XCJpbmZvXCLnmoQgTm90aWZ5XG4gICAgICovXG4gICAgcHVibGljIGluZm8odGl0bGU/OiBzdHJpbmcsIGNvbnRlbnQ/OiBzdHJpbmcgfCBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxhbnk+LCBjb25maWc/OiBUaHlOb3RpZnlDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICAgICAgICAuLi4oY29uZmlnIHx8IHt9KSxcbiAgICAgICAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSB8fCBjb25maWc/LnRpdGxlIHx8ICfmj5DnpLonLFxuICAgICAgICAgICAgY29udGVudDogY29udGVudCB8fCBjb25maWc/LmNvbnRlbnRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5omT5byA57G75Z6L5Li6XCJ3YXJuaW5nXCLnmoQgTm90aWZ5XG4gICAgICovXG4gICAgcHVibGljIHdhcm5pbmcodGl0bGU/OiBzdHJpbmcsIGNvbnRlbnQ/OiBzdHJpbmcgfCBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxhbnk+LCBjb25maWc/OiBUaHlOb3RpZnlDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICAgICAgICAuLi4oY29uZmlnIHx8IHt9KSxcbiAgICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSB8fCBjb25maWc/LnRpdGxlIHx8ICforablkYonLFxuICAgICAgICAgICAgY29udGVudDogY29udGVudCB8fCBjb25maWc/LmNvbnRlbnRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5omT5byA57G75Z6L5Li6XCJlcnJvclwi55qEIE5vdGlmeVxuICAgICAqL1xuICAgIHB1YmxpYyBlcnJvcih0aXRsZT86IHN0cmluZywgY29udGVudD86IHN0cmluZyB8IENvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmPGFueT4sIGNvbmZpZz86IFRoeU5vdGlmeUNvbmZpZykge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgICAgICAgIC4uLihjb25maWcgfHwge30pLFxuICAgICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSB8fCBjb25maWc/LnRpdGxlIHx8ICforablkYonLFxuICAgICAgICAgICAgY29udGVudDogY29udGVudCB8fCBjb25maWc/LmNvbnRlbnRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRPcHRpb25zKGNvbmZpZzogVGh5Tm90aWZ5Q29uZmlnKSB7XG4gICAgICAgIGlmIChpc1N0cmluZyhjb25maWcuZGV0YWlsKSkge1xuICAgICAgICAgICAgY29uZmlnID0geyAuLi5jb25maWcsIGRldGFpbDogeyBsaW5rOiAnW+ivpuaDhV0nLCBjb250ZW50OiBjb25maWcuZGV0YWlsIGFzIHN0cmluZyB9IH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyB0eXBlOiAnYmxhbmsnIH0sIHsgaWQ6IFN0cmluZyh0aGlzLl9sYXN0Tm90aWZ5SWQrKykgfSwgdGhpcy5kZWZhdWx0Q29uZmlnLCBjb25maWcpO1xuICAgIH1cbn1cbiJdfQ==
|
|
96
|
+
}], ctorParameters: () => [] });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbm90aWZ5L25vdGlmeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUEwQyx5QkFBeUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFHL0Q7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEseUJBQTZDO0lBUS9FO1FBQ0ksTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFM0MsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFYaEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRTdDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBVXRCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7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LGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUdsb2JhbE5vdGlmeUNvbmZpZywgVGh5Tm90aWZ5Q29uZmlnLCBUSFlfTk9USUZZX0RFRkFVTFRfQ09ORklHLCBUSFlfTk9USUZZX0RFRkFVTFRfQ09ORklHX1ZBTFVFIH0gZnJvbSAnLi9ub3RpZnkuY29uZmlnJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUaHlOb3RpZnlSZWYgfSBmcm9tICcuL25vdGlmeS1yZWYnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5Q29udGFpbmVyIH0gZnJvbSAnLi9ub3RpZnktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlOb3RpZnlRdWV1ZSB9IGZyb20gJy4vbm90aWZ5LXF1ZXVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGh5QWJzdHJhY3RNZXNzYWdlU2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvbWVzc2FnZSc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbi8qKlxuICogQG9yZGVyIDIwXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGh5Tm90aWZ5U2VydmljZSBleHRlbmRzIFRoeUFic3RyYWN0TWVzc2FnZVNlcnZpY2U8VGh5Tm90aWZ5Q29udGFpbmVyPiB7XG4gICAgcHJpdmF0ZSBub3RpZnlRdWV1ZTogVGh5Tm90aWZ5UXVldWU7XG4gICAgcHJvdGVjdGVkIGNvbmZpZyA9IGluamVjdChUSFlfTk9USUZZX0RFRkFVTFRfQ09ORklHKTtcblxuICAgIHByaXZhdGUgX2xhc3ROb3RpZnlJZCA9IDA7XG5cbiAgICBwcml2YXRlIGRlZmF1bHRDb25maWc6IFRoeUdsb2JhbE5vdGlmeUNvbmZpZztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IG5vdGlmeVF1ZXVlID0gaW5qZWN0KFRoeU5vdGlmeVF1ZXVlKTtcblxuICAgICAgICBzdXBlcihvdmVybGF5LCBpbmplY3Rvciwgbm90aWZ5UXVldWUpO1xuICAgICAgICB0aGlzLm5vdGlmeVF1ZXVlID0gbm90aWZ5UXVldWU7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuXG4gICAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLlRIWV9OT1RJRllfREVGQVVMVF9DT05GSUdfVkFMVUUsXG4gICAgICAgICAgICAuLi5jb25maWdcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDoh6rlrprkuYnphY3nva7nmoQgTm90aWZ5XG4gICAgICovXG4gICAgcHVibGljIHNob3coY29uZmlnOiBUaHlOb3RpZnlDb25maWcpOiBUaHlOb3RpZnlSZWYge1xuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuY3JlYXRlQ29udGFpbmVyKFRoeU5vdGlmeUNvbnRhaW5lcik7XG5cbiAgICAgICAgY29uc3Qgbm90aWZ5Q29uZmlnID0gdGhpcy5mb3JtYXRPcHRpb25zKGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IG5vdGlmeVJlZiA9IG5ldyBUaHlOb3RpZnlSZWYobm90aWZ5Q29uZmlnLCB0aGlzLm92ZXJsYXlSZWYsIHRoaXMubm90aWZ5UXVldWUpO1xuICAgICAgICB0aGlzLm5vdGlmeVF1ZXVlLmFkZChub3RpZnlSZWYpO1xuICAgICAgICByZXR1cm4gbm90aWZ5UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaJk+W8gOexu+Wei+S4ulwic3VjY2Vzc1wi55qEIE5vdGlmeVxuICAgICAqL1xuICAgIHB1YmxpYyBzdWNjZXNzKHRpdGxlPzogc3RyaW5nLCBjb250ZW50Pzogc3RyaW5nIHwgQ29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWY8YW55PiwgY29uZmlnPzogVGh5Tm90aWZ5Q29uZmlnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgICAgICAgLi4uKGNvbmZpZyB8fCB7fSksXG4gICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgY29uZmlnPy50aXRsZSB8fCAn5oiQ5YqfJyxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQgfHwgY29uZmlnPy5jb250ZW50XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaJk+W8gOexu+Wei+S4ulwiaW5mb1wi55qEIE5vdGlmeVxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKHRpdGxlPzogc3RyaW5nLCBjb250ZW50Pzogc3RyaW5nIHwgQ29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWY8YW55PiwgY29uZmlnPzogVGh5Tm90aWZ5Q29uZmlnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgICAgICAgLi4uKGNvbmZpZyB8fCB7fSksXG4gICAgICAgICAgICB0eXBlOiAnaW5mbycsXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgY29uZmlnPy50aXRsZSB8fCAn5o+Q56S6JyxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQgfHwgY29uZmlnPy5jb250ZW50XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaJk+W8gOexu+Wei+S4ulwid2FybmluZ1wi55qEIE5vdGlmeVxuICAgICAqL1xuICAgIHB1YmxpYyB3YXJuaW5nKHRpdGxlPzogc3RyaW5nLCBjb250ZW50Pzogc3RyaW5nIHwgQ29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWY8YW55PiwgY29uZmlnPzogVGh5Tm90aWZ5Q29uZmlnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgICAgICAgLi4uKGNvbmZpZyB8fCB7fSksXG4gICAgICAgICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgY29uZmlnPy50aXRsZSB8fCAn6K2m5ZGKJyxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQgfHwgY29uZmlnPy5jb250ZW50XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaJk+W8gOexu+Wei+S4ulwiZXJyb3JcIueahCBOb3RpZnlcbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IodGl0bGU/OiBzdHJpbmcsIGNvbnRlbnQ/OiBzdHJpbmcgfCBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxhbnk+LCBjb25maWc/OiBUaHlOb3RpZnlDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICAgICAgICAuLi4oY29uZmlnIHx8IHt9KSxcbiAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgY29uZmlnPy50aXRsZSB8fCAn6K2m5ZGKJyxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQgfHwgY29uZmlnPy5jb250ZW50XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0T3B0aW9ucyhjb25maWc6IFRoeU5vdGlmeUNvbmZpZykge1xuICAgICAgICBpZiAoaXNTdHJpbmcoY29uZmlnLmRldGFpbCkpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IHsgLi4uY29uZmlnLCBkZXRhaWw6IHsgbGluazogJ1vor6bmg4VdJywgY29udGVudDogY29uZmlnLmRldGFpbCBhcyBzdHJpbmcgfSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgdHlwZTogJ2JsYW5rJyB9LCB7IGlkOiBTdHJpbmcodGhpcy5fbGFzdE5vdGlmeUlkKyspIH0sIHRoaXMuZGVmYXVsdENvbmZpZywgY29uZmlnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding,
|
|
1
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, numberAttribute, inject } from '@angular/core';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
5
5
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
@@ -16,6 +16,40 @@ import * as i1 from "@angular/forms";
|
|
|
16
16
|
* @order 10
|
|
17
17
|
*/
|
|
18
18
|
export class ThyPagination {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.paginationConfig = inject(THY_PAGINATION_CONFIG, { optional: true });
|
|
21
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
22
|
+
this.isTemplateRef = isTemplateRef;
|
|
23
|
+
this.config = Object.assign({}, PaginationDefaultConfig, this.paginationConfig.main);
|
|
24
|
+
/**
|
|
25
|
+
* 是否禁用
|
|
26
|
+
*/
|
|
27
|
+
this.disabled = false;
|
|
28
|
+
/**
|
|
29
|
+
* 页码改变的回调
|
|
30
|
+
*/
|
|
31
|
+
this.pageIndexChange = new EventEmitter();
|
|
32
|
+
/**
|
|
33
|
+
* 与Bootstrap pagination 兼容,后续版本会进行删除,参数保持与 bootstrap 一致
|
|
34
|
+
*/
|
|
35
|
+
this.pageChanged = new EventEmitter();
|
|
36
|
+
this.pageSizeChanged = new EventEmitter();
|
|
37
|
+
this.pages = [];
|
|
38
|
+
this.pageIndex = 1;
|
|
39
|
+
this.range = { from: 0, to: 0 };
|
|
40
|
+
this.firstIndex = 1;
|
|
41
|
+
this.isHideOnSinglePage = false;
|
|
42
|
+
this.initialized = false;
|
|
43
|
+
this.hostRenderer = useHostRenderer();
|
|
44
|
+
this.selectSize = 'md';
|
|
45
|
+
this.selectPageSize = 20;
|
|
46
|
+
this.isPaginationClass = true;
|
|
47
|
+
/**
|
|
48
|
+
* 是否显示范围和total
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
this.showTotal = false;
|
|
52
|
+
}
|
|
19
53
|
/**
|
|
20
54
|
* 设置当前页,支持双向绑定
|
|
21
55
|
* @default 1
|
|
@@ -123,40 +157,6 @@ export class ThyPagination {
|
|
|
123
157
|
this.config.unit = value;
|
|
124
158
|
}
|
|
125
159
|
}
|
|
126
|
-
constructor(paginationConfig, cdr) {
|
|
127
|
-
this.paginationConfig = paginationConfig;
|
|
128
|
-
this.cdr = cdr;
|
|
129
|
-
this.isTemplateRef = isTemplateRef;
|
|
130
|
-
this.config = Object.assign({}, PaginationDefaultConfig, this.paginationConfig.main);
|
|
131
|
-
/**
|
|
132
|
-
* 是否禁用
|
|
133
|
-
*/
|
|
134
|
-
this.disabled = false;
|
|
135
|
-
/**
|
|
136
|
-
* 页码改变的回调
|
|
137
|
-
*/
|
|
138
|
-
this.pageIndexChange = new EventEmitter();
|
|
139
|
-
/**
|
|
140
|
-
* 与Bootstrap pagination 兼容,后续版本会进行删除,参数保持与 bootstrap 一致
|
|
141
|
-
*/
|
|
142
|
-
this.pageChanged = new EventEmitter();
|
|
143
|
-
this.pageSizeChanged = new EventEmitter();
|
|
144
|
-
this.pages = [];
|
|
145
|
-
this.pageIndex = 1;
|
|
146
|
-
this.range = { from: 0, to: 0 };
|
|
147
|
-
this.firstIndex = 1;
|
|
148
|
-
this.isHideOnSinglePage = false;
|
|
149
|
-
this.initialized = false;
|
|
150
|
-
this.hostRenderer = useHostRenderer();
|
|
151
|
-
this.selectSize = 'md';
|
|
152
|
-
this.selectPageSize = 20;
|
|
153
|
-
this.isPaginationClass = true;
|
|
154
|
-
/**
|
|
155
|
-
* 是否显示范围和total
|
|
156
|
-
* @default false
|
|
157
|
-
*/
|
|
158
|
-
this.showTotal = false;
|
|
159
|
-
}
|
|
160
160
|
ngOnInit() {
|
|
161
161
|
this.setMarginalCount(this.config.rangeCount);
|
|
162
162
|
this.calculatePageCount();
|
|
@@ -277,18 +277,13 @@ export class ThyPagination {
|
|
|
277
277
|
this.setPageIndex(this.pageIndex);
|
|
278
278
|
this.pageSizeChanged.emit(event);
|
|
279
279
|
}
|
|
280
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPagination, deps: [
|
|
281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
280
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
281
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: ["thyPageIndex", "thyPageIndex", numberAttribute], thyPageSize: ["thyPageSize", "thyPageSize", numberAttribute], thyTotal: ["thyTotal", "thyTotal", numberAttribute], thyCustomPages: "thyCustomPages", disabled: ["thyDisabled", "disabled", coerceBooleanProperty], showQuickJumper: ["thyShowQuickJumper", "showQuickJumper", coerceBooleanProperty], showTotalPageCount: ["thyShowTotalPageCount", "showTotalPageCount", coerceBooleanProperty], size: ["thySize", "size"], maxCount: ["thyMaxCount", "maxCount", numberAttribute], marginalCount: ["thyMarginalCount", "marginalCount", numberAttribute], thyRangeCount: ["thyRangeCount", "thyRangeCount", numberAttribute], showSizeChanger: ["thyShowSizeChanger", "showSizeChanger", coerceBooleanProperty], pageSizeOptions: ["thyPageSizeOptions", "pageSizeOptions"], hideOnSinglePage: ["thyHideOnSinglePage", "hideOnSinglePage", coerceBooleanProperty], unit: ["thyUnit", "unit"], showTotal: ["thyShowTotal", "showTotal"] }, outputs: { pageIndexChange: "thyPageIndexChange", pageChanged: "thyPageChanged", pageSizeChanged: "thyPageSizeChanged" }, host: { properties: { "class.thy-pagination": "this.isPaginationClass", "class.thy-pagination-has-total": "this.showTotal" } }, ngImport: i0, template: "@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div class=\"thy-pagination-total\">\n @if (!isTemplateRef(showTotal)) {\n @if (total > 0) {\n <div class=\"mr-3\">\n \u7B2C<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n \u5171<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n }\n </div>\n }\n <div class=\"thy-pagination-content\">\n @if (config.showSizeChanger) {\n <div class=\"thy-pagination-size\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n @for (option of config.pageSizeOptions; track option) {\n <thy-option class=\"page-size-option\" [thyValue]=\"option\" [thyLabelText]=\"option + ' ' + config.unit + '/\u9875'\"></thy-option>\n }\n </thy-select>\n </div>\n }\n <ul class=\"thy-pagination-pages\">\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n @if (config.firstText) {\n {{ config.firstText }}\n }\n @if (config.firstIcon) {\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n @if (config.previousText) {\n {{ config.previousText }}\n }\n @if (config.previousIcon) {\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @for (page of pages; track page.index) {\n <li class=\"thy-page-item thy-page-number\" [class.active]=\"page.active\" [class.disabled]=\"disabled\" (click)=\"selectPage(page.index)\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item page-item-next\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n @if (config.nextText) {\n {{ config.nextText }}\n }\n @if (config.nextIcon) {\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n @if (config.lastText) {\n {{ config.lastText }}\n }\n @if (config.lastIcon) {\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n </ul>\n @if (config.showTotalPageCount && config.totalPagesFormat) {\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat: config.totalPagesFormat\"></div>\n }\n @if (config.showQuickJumper) {\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n \u8DF3\u81F3\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n \u9875\n </div>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "pipe", type: PaginationTotalCountFormat, name: "paginationTotalPagesFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
282
282
|
}
|
|
283
283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPagination, decorators: [{
|
|
284
284
|
type: Component,
|
|
285
|
-
args: [{ selector: 'thy-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
286
|
-
}],
|
|
287
|
-
type: Optional
|
|
288
|
-
}, {
|
|
289
|
-
type: Inject,
|
|
290
|
-
args: [THY_PAGINATION_CONFIG]
|
|
291
|
-
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { thyPageIndex: [{
|
|
285
|
+
args: [{ selector: 'thy-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgTemplateOutlet, ThySelect, FormsModule, ThyOption, ThyIcon, ThyEnterDirective, PaginationTotalCountFormat], template: "@if ((hideOnSinglePage && total > pageSize) || !hideOnSinglePage) {\n @if (showTotal) {\n <div class=\"thy-pagination-total\">\n @if (!isTemplateRef(showTotal)) {\n @if (total > 0) {\n <div class=\"mr-3\">\n \u7B2C<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n \u5171<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n }\n </div>\n }\n <div class=\"thy-pagination-content\">\n @if (config.showSizeChanger) {\n <div class=\"thy-pagination-size\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n @for (option of config.pageSizeOptions; track option) {\n <thy-option class=\"page-size-option\" [thyValue]=\"option\" [thyLabelText]=\"option + ' ' + config.unit + '/\u9875'\"></thy-option>\n }\n </thy-select>\n </div>\n }\n <ul class=\"thy-pagination-pages\">\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n @if (config.firstText) {\n {{ config.firstText }}\n }\n @if (config.firstIcon) {\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === firstIndex\" (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n @if (config.previousText) {\n {{ config.previousText }}\n }\n @if (config.previousIcon) {\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @for (page of pages; track page.index) {\n <li class=\"thy-page-item thy-page-number\" [class.active]=\"page.active\" [class.disabled]=\"disabled\" (click)=\"selectPage(page.index)\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n }\n @if (config.directionLinks) {\n <li class=\"thy-page-item page-item-next\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n @if (config.nextText) {\n {{ config.nextText }}\n }\n @if (config.nextIcon) {\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n @if (config.boundaryLinks) {\n <li class=\"thy-page-item\" [class.disabled]=\"disabled || pageIndex === pageCount\" (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n @if (config.lastText) {\n {{ config.lastText }}\n }\n @if (config.lastIcon) {\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n }\n </a>\n </li>\n }\n </ul>\n @if (config.showTotalPageCount && config.totalPagesFormat) {\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat: config.totalPagesFormat\"></div>\n }\n @if (config.showQuickJumper) {\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n \u8DF3\u81F3\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n \u9875\n </div>\n </div>\n }\n </div>\n}\n" }]
|
|
286
|
+
}], propDecorators: { thyPageIndex: [{
|
|
292
287
|
type: Input,
|
|
293
288
|
args: [{ transform: numberAttribute }]
|
|
294
289
|
}], thyPageSize: [{
|
|
@@ -351,4 +346,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
351
346
|
type: Input,
|
|
352
347
|
args: ['thyShowTotal']
|
|
353
348
|
}] } });
|
|
354
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBRU4sZUFBZSxFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQXVCLE1BQU0scUJBQXFCLENBQUM7QUFDL0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUUvRDs7OztHQUlHO0FBUUgsTUFBTSxPQUFPLGFBQWE7SUFJdEI7OztPQUdHO0lBQ0gsSUFDSSxZQUFZLENBQUMsU0FBaUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMs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cEUsZUFBZTtzQkFEbEIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBU2dELGdCQUFnQjtzQkFBMUYsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBT3JFLElBQUk7c0JBRFAsS0FBSzt1QkFBQyxTQUFTO2dCQVVjLGVBQWU7c0JBQTVDLE1BQU07dUJBQUMsb0JBQW9CO2dCQUtGLFdBQVc7c0JBQXBDLE1BQU07dUJBQUMsZ0JBQWdCO2dCQUVNLGVBQWU7c0JBQTVDLE1BQU07dUJBQUMsb0JBQW9CO2dCQTRCUyxpQkFBaUI7c0JBQXJELFdBQVc7dUJBQUMsc0JBQXNCO2dCQVFuQyxTQUFTO3NCQUZSLFdBQVc7dUJBQUMsZ0NBQWdDOztzQkFDNUMsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5U2VsZWN0IH0gZnJvbSAnbmd4LXRldGh5cy9zZWxlY3QnO1xuaW1wb3J0IHsgVGh5RW50ZXJEaXJlY3RpdmUsIFRoeU9wdGlvbiB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaXNUZW1wbGF0ZVJlZiB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBUaHlQYWdpbmF0aW9uQ29uZmlnTW9kZWwgfSBmcm9tICcuL3BhZ2luYXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgREVGQVVMVF9SQU5HRV9DT1VOVCwgUGFnaW5hdGlvbkRlZmF1bHRDb25maWcsIFRIWV9QQUdJTkFUSU9OX0NPTkZJRywgVGh5UGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gJy4vcGFnaW5hdGlvbi5jb25maWcnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblRvdGFsQ291bnRGb3JtYXQgfSBmcm9tICcuL3BhZ2luYXRpb24ucGlwZSc7XG5cbi8qKlxuICog5YiG6aG157uE5Lu277yM5b2T5pWw5o2u6YeP6L+H5aSa5pe277yM5L2/55So5YiG6aG15YiG6Kej5pWw5o2u44CCXG4gKiBAbmFtZSB0aHktcGFnaW5hdGlvblxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXBhZ2luYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlTZWxlY3QsIEZvcm1zTW9kdWxlLCBOZ0ZvciwgVGh5T3B0aW9uLCBUaHlJY29uLCBUaHlFbnRlckRpcmVjdGl2ZSwgUGFnaW5hdGlvblRvdGFsQ291bnRGb3JtYXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVBhZ2luYXRpb24gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlzVGVtcGxhdGVSZWYgPSBpc1RlbXBsYXRlUmVmO1xuICAgIHB1YmxpYyBjb25maWc6IFRoeVBhZ2luYXRpb25Db25maWdNb2RlbCA9IE9iamVjdC5hc3NpZ24oe30sIFBhZ2luYXRpb25EZWZhdWx0Q29uZmlnLCB0aGlzLnBhZ2luYXRpb25Db25maWcubWFpbik7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lvZPliY3pobXvvIzmlK/mjIHlj4zlkJHnu5HlrppcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5UGFnZUluZGV4KHBhZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4O1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgocGFnZUluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOavj+mhteadoeebruaVsOmHj1xuICAgICAqIEBkZWZhdWx0IDIwXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5UGFnZVNpemUocGFnZVNpemU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemU7XG4gICAgICAgIHRoaXMuc2VsZWN0UGFnZVNpemUgPSBwYWdlU2l6ZTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUGFnZUNvdW50KCk7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVQYWdlcyh0aGlzLnBhZ2VJbmRleCwgdGhpcy5wYWdlQ291bnQpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmgLvpobXmlbAg5LiOIHRvdGFsUGFnZXMg5LqM6YCJ5LiA5Lyg5YWlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5VG90YWwodG90YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLnRvdGFsID0gdG90YWw7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VDb3VudCgpO1xuICAgICAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodGhpcy5wYWdlSW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnliIbpobXpobXnoIHvvIzorr7nva7oh6rlrprkuYnliIbpobXpobXnoIHlkI7lsIbkuI3moLnmja4gVG90YWwg5ZKMIFBhZ2VTaXplIOadpeiHquWKqOiuoeeul+mhteegge+8jOWujOWFqOS7peS8oOWFpeeahOmhteeggeS4uuWHhlxuICAgICAqIEB0eXBlIG51bWJlcltdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5Q3VzdG9tUGFnZXMocGFnZXM6IG51bWJlcltdKSB7XG4gICAgICAgIHRoaXMuY3VzdG9tUGFnZXMgPSBwYWdlcztcbiAgICAgICAgdGhpcy5jb25maWcuc2hvd1RvdGFsUGFnZUNvdW50ID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VDb3VudCgpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55SoXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlEaXNhYmxlZCcsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrlv6vpgJ/ot7PovaxcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5U2hvd1F1aWNrSnVtcGVyJywgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgc2hvd1F1aWNrSnVtcGVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnNob3dRdWlja0p1bXBlciA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruaYr+WQpuaYvuekuuaAu+mhteaVsOS/oeaBr1xuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVNob3dUb3RhbFBhZ2VDb3VudCcsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHNob3dUb3RhbFBhZ2VDb3VudCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmNvbmZpZy5zaG93VG90YWxQYWdlQ291bnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7liIbpobXnu4Tku7bnmoTlpKflsI9cbiAgICAgKiBAdHlwZSBzbSB8IG1kIHwgbGdcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5U2l6ZScpXG4gICAgc2V0IHNpemUoc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0U2l6ZSA9IHNpemU7XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLmFkZENsYXNzKGB0aHktcGFnaW5hdGlvbi0ke3NpemV9YCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u5pyA5aSn5pi+56S65pWw6YeP77yM6LaF5Ye65pyA5aSn5pi+56S65pWw5ZCO5Lya6Ieq5Yqo6L+b6KGM5YiG5Ymy5pi+56S6XG4gICAgICogQGRlZmF1bHQgOVxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5TWF4Q291bnQnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCBtYXhDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLm1heENvdW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u6L6557yY5pi+56S65pWw6YePXG4gICAgICogQGRlZmF1bHQgMlxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5TWFyZ2luYWxDb3VudCcsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG1hcmdpbmFsQ291bnQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruS4remXtOWMuuWfn+aYvuekuuaVsOmHj1xuICAgICAqIEBkZWZhdWx0IDVcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlSYW5nZUNvdW50KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKE51bWJlci5pc0ludGVnZXIodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5yYW5nZUNvdW50ID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TWFyZ2luYWxDb3VudCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVNob3dTaXplQ2hhbmdlcicsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHNob3dTaXplQ2hhbmdlcih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmNvbmZpZy5zaG93U2l6ZUNoYW5nZXIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSBudW1iZXJbXVxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5UGFnZVNpemVPcHRpb25zJylcbiAgICBzZXQgcGFnZVNpemVPcHRpb25zKHZhbHVlOiBudW1iZXJbXSkge1xuICAgICAgICB0aGlzLmNvbmZpZy5wYWdlU2l6ZU9wdGlvbnMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlj6rmnInkuIDpobXml7bmmK/lkKbpmpDol4/liIbpobXlmahcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5SGlkZU9uU2luZ2xlUGFnZScsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIGhpZGVPblNpbmdsZVBhZ2U6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDliIbpobXlmajljZXkvY1cbiAgICAgKiBAZGVmYXVsdCDmnaFcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVVuaXQnKVxuICAgIHNldCB1bml0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy51bml0ID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDpobXnoIHmlLnlj5jnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCd0aHlQYWdlSW5kZXhDaGFuZ2UnKSBwYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIOS4jkJvb3RzdHJhcCBwYWdpbmF0aW9uIOWFvOWuue+8jOWQjue7reeJiOacrOS8mui/m+ihjOWIoOmZpO+8jOWPguaVsOS/neaMgeS4jiBib290c3RyYXAg5LiA6Ie0XG4gICAgICovXG4gICAgQE91dHB1dCgndGh5UGFnZUNoYW5nZWQnKSBwYWdlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBwYWdlOiBudW1iZXIgfT4oKTtcblxuICAgIEBPdXRwdXQoJ3RoeVBhZ2VTaXplQ2hhbmdlZCcpIHBhZ2VTaXplQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHVibGljIHBhZ2VzOiB7IGluZGV4PzogbnVtYmVyOyB0ZXh0Pzogc3RyaW5nOyBhY3RpdmU/OiBib29sZWFuIH1bXSA9IFtdO1xuXG4gICAgcHVibGljIHBhZ2VJbmRleCA9IDE7XG5cbiAgICBwdWJsaWMgcGFnZVNpemU6IG51bWJlcjtcblxuICAgIHB1YmxpYyBwYWdlQ291bnQ6IG51bWJlcjtcblxuICAgIHB1YmxpYyBjdXN0b21QYWdlczogbnVtYmVyW107XG5cbiAgICBwdWJsaWMgdG90YWw6IG51bWJlcjtcblxuICAgIHB1YmxpYyByYW5nZSA9IHsgZnJvbTogMCwgdG86IDAgfTtcblxuICAgIHB1YmxpYyBmaXJzdEluZGV4ID0gMTtcblxuICAgIHB1YmxpYyBpc0hpZGVPblNpbmdsZVBhZ2UgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwdWJsaWMgc2VsZWN0U2l6ZSA9ICdtZCc7XG5cbiAgICBwdWJsaWMgc2VsZWN0UGFnZVNpemU6IE51bWJlciA9IDIwO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktcGFnaW5hdGlvbicpIGlzUGFnaW5hdGlvbkNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuiMg+WbtOWSjHRvdGFsXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1wYWdpbmF0aW9uLWhhcy10b3RhbCcpXG4gICAgQElucHV0KCd0aHlTaG93VG90YWwnKVxuICAgIHNob3dUb3RhbDogYm9vbGVhbiB8IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBudW1iZXI7IHJhbmdlOiB7IGZyb206IG51bWJlcjsgdG86IG51bWJlciB9IH0+ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUSFlfUEFHSU5BVElPTl9DT05GSUcpXG4gICAgICAgIHByaXZhdGUgcGFnaW5hdGlvbkNvbmZpZzogVGh5UGFnaW5hdGlvbkNvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0TWFyZ2luYWxDb3VudCh0aGlzLmNvbmZpZy5yYW5nZUNvdW50KTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlQ291bnQoKTtcbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodGhpcy5wYWdlSW5kZXgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1hcmdpbmFsQ291bnQocmFuZ2U6IG51bWJlcikge1xuICAgICAgICBpZiAoIXRoaXMubWFyZ2luYWxDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5tYXJnaW5hbENvdW50ID0gcmFuZ2UgPD0gREVGQVVMVF9SQU5HRV9DT1VOVCA/IDEgOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQYWdlSW5kZXgocGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggPSBwYWdlSW5kZXggPiB0aGlzLnBhZ2VDb3VudCA/IHRoaXMucGFnZUNvdW50IDogcGFnZUluZGV4IHx8IDE7XG4gICAgICAgIGNvbnN0IHRvUGFnZVNpemUgPSB0aGlzLnBhZ2VJbmRleCAqIHRoaXMucGFnZVNpemU7XG4gICAgICAgIHRoaXMucmFuZ2UgPSB7XG4gICAgICAgICAgICBmcm9tOiAodGhpcy5wYWdlSW5kZXggLSAxKSAqIHRoaXMucGFnZVNpemUgKyAxLFxuICAgICAgICAgICAgdG86IHRvUGFnZVNpemUgPiB0aGlzLnRvdGFsID8gdGhpcy50b3RhbCA6IHRvUGFnZVNpemVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQYWdlQ291bnQoKSB7XG4gICAgICAgIGxldCBwYWdlQ291bnQgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5jdXN0b21QYWdlcyAmJiB0aGlzLmN1c3RvbVBhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhZ2VDb3VudCA9IHRoaXMuY3VzdG9tUGFnZXNbdGhpcy5jdXN0b21QYWdlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhZ2VDb3VudCA9IHRoaXMucGFnZVNpemUgPCAxID8gMSA6IE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlQ291bnQgPSBNYXRoLm1heChwYWdlQ291bnQgfHwgMCwgMSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWtlUGFnZShpbmRleDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcsIGFjdGl2ZTogYm9vbGVhbik6IHsgaW5kZXg6IG51bWJlcjsgdGV4dDogc3RyaW5nOyBhY3RpdmU6IGJvb2xlYW4gfSB7XG4gICAgICAgIHJldHVybiB7IGluZGV4LCB0ZXh0LCBhY3RpdmUgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVQYWdlcyhwYWdlSW5kZXg6IG51bWJlciwgcGFnZUNvdW50OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tUGFnZXMgJiYgdGhpcy5jdXN0b21QYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VzID0gdGhpcy5jdXN0b21QYWdlcy5tYXAocGFnZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHBhZ2UudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBwYWdlID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHBhZ2VzID0gW107XG4gICAgICAgIGNvbnN0IG1hcmdpbmFsQ291bnQgPSB0aGlzLm1hcmdpbmFsQ291bnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlQ291bnQgPSB0aGlzLmNvbmZpZy5yYW5nZUNvdW50O1xuICAgICAgICBjb25zdCBtYXhDb3VudCA9IHRoaXMuY29uZmlnLm1heENvdW50O1xuICAgICAgICBjb25zdCBpc01heFNpemVkID0gcGFnZUNvdW50ID4gbWF4Q291bnQ7XG4gICAgICAgIGlmIChpc01heFNpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBiZWZvcmVQYWdlcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgYWZ0ZXJQYWdlcyA9IFtdO1xuXG4gICAgICAgICAgICAvLyBtYWluUGFnZXNcbiAgICAgICAgICAgIGxldCBzdGFydCA9IE1hdGguY2VpbChNYXRoLm1heChtYXJnaW5hbENvdW50ICsgMSwgcGFnZUluZGV4IC0gKHJhbmdlQ291bnQgLSAxKSAvIDIpKTtcbiAgICAgICAgICAgIGxldCBlbmQgPSBNYXRoLmNlaWwoTWF0aC5taW4ocGFnZUluZGV4ICsgKHJhbmdlQ291bnQgLSAxKSAvIDIsIHBhZ2VDb3VudCAtIG1hcmdpbmFsQ291bnQpKTtcbiAgICAgICAgICAgIGlmIChwYWdlSW5kZXggLSAxIDwgbWFyZ2luYWxDb3VudCkge1xuICAgICAgICAgICAgICAgIGVuZCA9IHJhbmdlQ291bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFnZUNvdW50IC0gcGFnZUluZGV4IDw9IG1hcmdpbmFsQ291bnQpIHtcbiAgICAgICAgICAgICAgICBzdGFydCA9IHBhZ2VDb3VudCAtIHJhbmdlQ291bnQgKyAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJlZm9yZVBhZ2VzXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBtYXJnaW5hbENvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBiZWZvcmVQYWdlcy5wdXNoKHRoaXMubWFrZVBhZ2UoaSwgaS50b1N0cmluZygpLCBpID09PSBwYWdlSW5kZXgpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhZ2VJbmRleCAtIE1hdGguY2VpbChyYW5nZUNvdW50IC8gMikgPiB0aGlzLmZpcnN0SW5kZXggJiYgbWFyZ2luYWxDb3VudCArIDEgPCBzdGFydCkge1xuICAgICAgICAgICAgICAgIGJlZm9yZVBhZ2VzLnB1c2godGhpcy5tYWtlUGFnZShNYXRoLmNlaWwoKG1hcmdpbmFsQ291bnQgKyBzdGFydCkgLyAyKSwgJ8K3wrfCtycsIG51bGwpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWZ0ZXJQYWdlc1xuICAgICAgICAgICAgaWYgKHBhZ2VJbmRleCArIE1hdGguY2VpbChyYW5nZUNvdW50IC8gMikgPCBwYWdlQ291bnQgJiYgcGFnZUNvdW50IC0gbWFyZ2luYWxDb3VudCA+IGVuZCkge1xuICAgICAgICAgICAgICAgIGFmdGVyUGFnZXMucHVzaCh0aGlzLm1ha2VQYWdlKE1hdGguY2VpbCgocGFnZUNvdW50IC0gbWFyZ2luYWxDb3VudCArIDEgKyBlbmQpIC8gMiksICfCt8K3wrcnLCBudWxsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gcGFnZUNvdW50IC0gbWFyZ2luYWxDb3VudCArIDE7IGkgPD0gcGFnZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBhZnRlclBhZ2VzLnB1c2godGhpcy5tYWtlUGFnZShpLCBpLnRvU3RyaW5nKCksIGkgPT09IHBhZ2VJbmRleCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWdlcyA9IFsuLi5iZWZvcmVQYWdlcywgLi4ucGFnZXMsIC4uLmFmdGVyUGFnZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gcGFnZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlcyA9IHBhZ2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFnZUNoYW5nZShwYWdlSW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VJbmRleENoYW5nZS5lbWl0KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdCh7IHBhZ2U6IHBhZ2VJbmRleCB9KTtcbiAgICB9XG5cbiAgICBzZWxlY3RQYWdlKHBhZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gdGhpcy5maXJzdEluZGV4IC0gMSB8fCBwYWdlSW5kZXggPT09IHRoaXMucGFnZUNvdW50ICsgMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgfVxuXG4gICAganVtcFBhZ2UoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZUluZGV4ID0gK2lucHV0LnZhbHVlO1xuICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihwYWdlSW5kZXgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFBhZ2UocGFnZUluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIG9uUGFnZVNpemVDaGFuZ2UoZXZlbnQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gZXZlbnQ7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlUGFnZUNvdW50KCk7XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4KTtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIihoaWRlT25TaW5nbGVQYWdlICYmIHRvdGFsID4gcGFnZVNpemUpIHx8ICFoaWRlT25TaW5nbGVQYWdlXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi10b3RhbFwiICpuZ0lmPVwic2hvd1RvdGFsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKHNob3dUb3RhbCk7IGVsc2UgdG90YWxUZW1wbGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdGFsID4gMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXItM1wiPlxuICAgICAgICAgIOesrDxzcGFuIGNsYXNzPVwibnVtYmVyXCI+IHt7IHJhbmdlLmZyb20gfX0te3sgcmFuZ2UudG8gfX0gPC9zcGFuPnt7IGNvbmZpZy51bml0IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIOWFsTxzcGFuIGNsYXNzPVwibnVtYmVyXCI+IHt7IHRvdGFsIH19IDwvc3Bhbj57eyBjb25maWcudW5pdCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjdG90YWxUZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzaG93VG90YWxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRvdGFsLCByYW5nZTogcmFuZ2UgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLXNpemVcIiAqbmdJZj1cImNvbmZpZy5zaG93U2l6ZUNoYW5nZXJcIj5cbiAgICAgIDx0aHktc2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0UGFnZVNpemVcIiBbdGh5U2l6ZV09XCJzZWxlY3RTaXplXCIgW3RoeURpc2FibGVkXT1cImRpc2FibGVkXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDx0aHktb3B0aW9uXG4gICAgICAgICAgY2xhc3M9XCJwYWdlLXNpemUtb3B0aW9uXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNvbmZpZy5wYWdlU2l6ZU9wdGlvbnNcIlxuICAgICAgICAgIFt0aHlWYWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgIFt0aHlMYWJlbFRleHRdPVwib3B0aW9uICsgJyAnICsgY29uZmlnLnVuaXQgKyAnL+mhtSdcIj48L3RoeS1vcHRpb24+XG4gICAgICA8L3RoeS1zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICAgPHVsIGNsYXNzPVwidGh5LXBhZ2luYXRpb24tcGFnZXNcIj5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cInRoeS1wYWdlLWl0ZW1cIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcGFnZUluZGV4ID09PSBmaXJzdEluZGV4XCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuYm91bmRhcnlMaW5rc1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQYWdlKGZpcnN0SW5kZXgpXCI+XG4gICAgICAgIDxhIGNsYXNzPVwidGh5LXBhZ2UtbGluayB0aHktcGFnZS1saW5rLWZpcnN0XCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcuZmlyc3RUZXh0XCI+e3sgY29uZmlnLmZpcnN0VGV4dCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcuZmlyc3RJY29uXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImNvbmZpZy5maXJzdEljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2E+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwidGh5LXBhZ2UtaXRlbVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBwYWdlSW5kZXggPT09IGZpcnN0SW5kZXhcIlxuICAgICAgICAqbmdJZj1cImNvbmZpZy5kaXJlY3Rpb25MaW5rc1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQYWdlKHBhZ2VJbmRleCAtIDEpXCI+XG4gICAgICAgIDxhIGNsYXNzPVwidGh5LXBhZ2UtbGluayBwYWdlLWxpbmstcHJlXCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcucHJldmlvdXNUZXh0XCI+e3sgY29uZmlnLnByZXZpb3VzVGV4dCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcucHJldmlvdXNJY29uXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImNvbmZpZy5wcmV2aW91c0ljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2E+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwidGh5LXBhZ2UtaXRlbSB0aHktcGFnZS1udW1iZXJcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInBhZ2UuYWN0aXZlXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBhZ2UocGFnZS5pbmRleClcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlc1wiPlxuICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDo7XCI+e3sgcGFnZS50ZXh0IH19PC9hPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cInRoeS1wYWdlLWl0ZW0gcGFnZS1pdGVtLW5leHRcIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcGFnZUluZGV4ID09PSBwYWdlQ291bnRcIlxuICAgICAgICAqbmdJZj1cImNvbmZpZy5kaXJlY3Rpb25MaW5rc1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQYWdlKHBhZ2VJbmRleCArIDEpXCI+XG4gICAgICAgIDxhIGNsYXNzPVwidGh5LXBhZ2UtbGluayB0aHktcGFnZS1saW5rLW5leHRcIiBocmVmPVwiamF2YXNjcmlwdDo7XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5uZXh0VGV4dFwiPnt7IGNvbmZpZy5uZXh0VGV4dCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubmV4dEljb25cIj5cbiAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiY29uZmlnLm5leHRJY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cInRoeS1wYWdlLWl0ZW1cIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcGFnZUluZGV4ID09PSBwYWdlQ291bnRcIlxuICAgICAgICAqbmdJZj1cImNvbmZpZy5ib3VuZGFyeUxpbmtzXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBhZ2UocGFnZUNvdW50KVwiPlxuICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmsgdGh5LXBhZ2UtbGluay1sYXN0XCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubGFzdFRleHRcIj57eyBjb25maWcubGFzdFRleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmxhc3RJY29uXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImNvbmZpZy5sYXN0SWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLnNob3dUb3RhbFBhZ2VDb3VudCAmJiBjb25maWcudG90YWxQYWdlc0Zvcm1hdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLWNvdW50XCIgW2lubmVySFRNTF09XCJwYWdlQ291bnQgfCBwYWdpbmF0aW9uVG90YWxQYWdlc0Zvcm1hdCA6IGNvbmZpZy50b3RhbFBhZ2VzRm9ybWF0XCI+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5zaG93UXVpY2tKdW1wZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi1qdW1wZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLWp1bXBlci1pbnB1dFwiPlxuICAgICAgICAgIOi3s+iHs1xuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICNqdW1wZXJJbnB1dCAodGh5RW50ZXIpPVwianVtcFBhZ2UoanVtcGVySW5wdXQpXCIgKGJsdXIpPVwianVtcFBhZ2UoanVtcGVySW5wdXQpXCIgLz5cbiAgICAgICAgICDpobVcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFFTixlQUFlLEVBQ2YsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBdUIsTUFBTSxxQkFBcUIsQ0FBQztBQUMvSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRS9EOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sYUFBYTtJQVAxQjtRQVFZLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBRSxDQUFDO1FBQ3RFLFFBQUcs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QUUscUJBQXFCLEVBQUU7Z0JBT3JFLElBQUk7c0JBRFAsS0FBSzt1QkFBQyxTQUFTO2dCQVVjLGVBQWU7c0JBQTVDLE1BQU07dUJBQUMsb0JBQW9CO2dCQUtGLFdBQVc7c0JBQXBDLE1BQU07dUJBQUMsZ0JBQWdCO2dCQUVNLGVBQWU7c0JBQTVDLE1BQU07dUJBQUMsb0JBQW9CO2dCQTRCUyxpQkFBaUI7c0JBQXJELFdBQVc7dUJBQUMsc0JBQXNCO2dCQVFuQyxTQUFTO3NCQUZSLFdBQVc7dUJBQUMsZ0NBQWdDOztzQkFDNUMsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlTZWxlY3QgfSBmcm9tICduZ3gtdGV0aHlzL3NlbGVjdCc7XG5pbXBvcnQgeyBUaHlFbnRlckRpcmVjdGl2ZSwgVGh5T3B0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeVBhZ2luYXRpb25Db25maWdNb2RlbCB9IGZyb20gJy4vcGFnaW5hdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBERUZBVUxUX1JBTkdFX0NPVU5ULCBQYWdpbmF0aW9uRGVmYXVsdENvbmZpZywgVEhZX1BBR0lOQVRJT05fQ09ORklHLCBUaHlQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi9wYWdpbmF0aW9uLmNvbmZpZyc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uVG90YWxDb3VudEZvcm1hdCB9IGZyb20gJy4vcGFnaW5hdGlvbi5waXBlJztcblxuLyoqXG4gKiDliIbpobXnu4Tku7bvvIzlvZPmlbDmja7ph4/ov4flpJrml7bvvIzkvb/nlKjliIbpobXliIbop6PmlbDmja7jgIJcbiAqIEBuYW1lIHRoeS1wYWdpbmF0aW9uXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIFRoeVNlbGVjdCwgRm9ybXNNb2R1bGUsIFRoeU9wdGlvbiwgVGh5SWNvbiwgVGh5RW50ZXJEaXJlY3RpdmUsIFBhZ2luYXRpb25Ub3RhbENvdW50Rm9ybWF0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQYWdpbmF0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHBhZ2luYXRpb25Db25maWcgPSBpbmplY3QoVEhZX1BBR0lOQVRJT05fQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pITtcbiAgICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcbiAgICBwdWJsaWMgY29uZmlnOiBUaHlQYWdpbmF0aW9uQ29uZmlnTW9kZWwgPSBPYmplY3QuYXNzaWduKHt9LCBQYWdpbmF0aW9uRGVmYXVsdENvbmZpZywgdGhpcy5wYWdpbmF0aW9uQ29uZmlnLm1haW4pO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5b2T5YmN6aG177yM5pSv5oyB5Y+M5ZCR57uR5a6aXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVBhZ2VJbmRleChwYWdlSW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2VJbmRleDtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHBhZ2VJbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmr4/pobXmnaHnm67mlbDph49cbiAgICAgKiBAZGVmYXVsdCAyMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgICB0aGlzLnNlbGVjdFBhZ2VTaXplID0gcGFnZVNpemU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VDb3VudCgpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oC76aG15pWwIOS4jiB0b3RhbFBhZ2VzIOS6jOmAieS4gOS8oOWFpVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVRvdGFsKHRvdGFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy50b3RhbCA9IHRvdGFsO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlQ291bnQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5YiG6aG16aG156CB77yM6K6+572u6Ieq5a6a5LmJ5YiG6aG16aG156CB5ZCO5bCG5LiN5qC55o2uIFRvdGFsIOWSjCBQYWdlU2l6ZSDmnaXoh6rliqjorqHnrpfpobXnoIHvvIzlrozlhajku6XkvKDlhaXnmoTpobXnoIHkuLrlh4ZcbiAgICAgKiBAdHlwZSBudW1iZXJbXVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUN1c3RvbVBhZ2VzKHBhZ2VzOiBudW1iZXJbXSkge1xuICAgICAgICB0aGlzLmN1c3RvbVBhZ2VzID0gcGFnZXM7XG4gICAgICAgIHRoaXMuY29uZmlnLnNob3dUb3RhbFBhZ2VDb3VudCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlQ291bnQoKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2VzKHRoaXMucGFnZUluZGV4LCB0aGlzLnBhZ2VDb3VudCk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqFxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5RGlzYWJsZWQnLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65b+r6YCf6Lez6L2sXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVNob3dRdWlja0p1bXBlcicsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHNob3dRdWlja0p1bXBlcih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmNvbmZpZy5zaG93UXVpY2tKdW1wZXIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7mmK/lkKbmmL7npLrmgLvpobXmlbDkv6Hmga9cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlTaG93VG90YWxQYWdlQ291bnQnLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCBzaG93VG90YWxQYWdlQ291bnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2hvd1RvdGFsUGFnZUNvdW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u5YiG6aG157uE5Lu255qE5aSn5bCPXG4gICAgICogQHR5cGUgc20gfCBtZCB8IGxnXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVNpemUnKVxuICAgIHNldCBzaXplKHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJykge1xuICAgICAgICB0aGlzLnNlbGVjdFNpemUgPSBzaXplO1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5hZGRDbGFzcyhgdGh5LXBhZ2luYXRpb24tJHtzaXplfWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruacgOWkp+aYvuekuuaVsOmHj++8jOi2heWHuuacgOWkp+aYvuekuuaVsOWQjuS8muiHquWKqOi/m+ihjOWIhuWJsuaYvuekulxuICAgICAqIEBkZWZhdWx0IDlcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeU1heENvdW50JywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgbWF4Q291bnQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLmNvbmZpZy5tYXhDb3VudCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9rui+uee8mOaYvuekuuaVsOmHj1xuICAgICAqIEBkZWZhdWx0IDJcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeU1hcmdpbmFsQ291bnQnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBtYXJnaW5hbENvdW50OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7kuK3pl7TljLrln5/mmL7npLrmlbDph49cbiAgICAgKiBAZGVmYXVsdCA1XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5UmFuZ2VDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWcucmFuZ2VDb3VudCA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE1hcmdpbmFsQ291bnQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlTaG93U2l6ZUNoYW5nZXInLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCBzaG93U2l6ZUNoYW5nZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2hvd1NpemVDaGFuZ2VyID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHR5cGUgbnVtYmVyW11cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVBhZ2VTaXplT3B0aW9ucycpXG4gICAgc2V0IHBhZ2VTaXplT3B0aW9ucyh2YWx1ZTogbnVtYmVyW10pIHtcbiAgICAgICAgdGhpcy5jb25maWcucGFnZVNpemVPcHRpb25zID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Y+q5pyJ5LiA6aG15pe25piv5ZCm6ZqQ6JeP5YiG6aG15ZmoXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeUhpZGVPblNpbmdsZVBhZ2UnLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSBoaWRlT25TaW5nbGVQYWdlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5YiG6aG15Zmo5Y2V5L2NXG4gICAgICogQGRlZmF1bHQg5p2hXG4gICAgICovXG4gICAgQElucHV0KCd0aHlVbml0JylcbiAgICBzZXQgdW5pdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWcudW5pdCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6aG156CB5pS55Y+Y55qE5Zue6LCDXG4gICAgICovXG4gICAgQE91dHB1dCgndGh5UGFnZUluZGV4Q2hhbmdlJykgcGFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDkuI5Cb290c3RyYXAgcGFnaW5hdGlvbiDlhbzlrrnvvIzlkI7nu63niYjmnKzkvJrov5vooYzliKDpmaTvvIzlj4LmlbDkv53mjIHkuI4gYm9vdHN0cmFwIOS4gOiHtFxuICAgICAqL1xuICAgIEBPdXRwdXQoJ3RoeVBhZ2VDaGFuZ2VkJykgcGFnZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgcGFnZTogbnVtYmVyIH0+KCk7XG5cbiAgICBAT3V0cHV0KCd0aHlQYWdlU2l6ZUNoYW5nZWQnKSBwYWdlU2l6ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIHB1YmxpYyBwYWdlczogeyBpbmRleD86IG51bWJlcjsgdGV4dD86IHN0cmluZzsgYWN0aXZlPzogYm9vbGVhbiB9W10gPSBbXTtcblxuICAgIHB1YmxpYyBwYWdlSW5kZXggPSAxO1xuXG4gICAgcHVibGljIHBhZ2VTaXplOiBudW1iZXI7XG5cbiAgICBwdWJsaWMgcGFnZUNvdW50OiBudW1iZXI7XG5cbiAgICBwdWJsaWMgY3VzdG9tUGFnZXM6IG51bWJlcltdO1xuXG4gICAgcHVibGljIHRvdGFsOiBudW1iZXI7XG5cbiAgICBwdWJsaWMgcmFuZ2UgPSB7IGZyb206IDAsIHRvOiAwIH07XG5cbiAgICBwdWJsaWMgZmlyc3RJbmRleCA9IDE7XG5cbiAgICBwdWJsaWMgaXNIaWRlT25TaW5nbGVQYWdlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgcHVibGljIHNlbGVjdFNpemUgPSAnbWQnO1xuXG4gICAgcHVibGljIHNlbGVjdFBhZ2VTaXplOiBOdW1iZXIgPSAyMDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LXBhZ2luYXRpb24nKSBpc1BhZ2luYXRpb25DbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrojIPlm7Tlkox0b3RhbFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktcGFnaW5hdGlvbi1oYXMtdG90YWwnKVxuICAgIEBJbnB1dCgndGh5U2hvd1RvdGFsJylcbiAgICBzaG93VG90YWw6IGJvb2xlYW4gfCBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogbnVtYmVyOyByYW5nZTogeyBmcm9tOiBudW1iZXI7IHRvOiBudW1iZXIgfSB9PiA9IGZhbHNlO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0TWFyZ2luYWxDb3VudCh0aGlzLmNvbmZpZy5yYW5nZUNvdW50KTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlQ291bnQoKTtcbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodGhpcy5wYWdlSW5kZXgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1hcmdpbmFsQ291bnQocmFuZ2U6IG51bWJlcikge1xuICAgICAgICBpZiAoIXRoaXMubWFyZ2luYWxDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5tYXJnaW5hbENvdW50ID0gcmFuZ2UgPD0gREVGQVVMVF9SQU5HRV9DT1VOVCA/IDEgOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQYWdlSW5kZXgocGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggPSBwYWdlSW5kZXggPiB0aGlzLnBhZ2VDb3VudCA/IHRoaXMucGFnZUNvdW50IDogcGFnZUluZGV4IHx8IDE7XG4gICAgICAgIGNvbnN0IHRvUGFnZVNpemUgPSB0aGlzLnBhZ2VJbmRleCAqIHRoaXMucGFnZVNpemU7XG4gICAgICAgIHRoaXMucmFuZ2UgPSB7XG4gICAgICAgICAgICBmcm9tOiAodGhpcy5wYWdlSW5kZXggLSAxKSAqIHRoaXMucGFnZVNpemUgKyAxLFxuICAgICAgICAgICAgdG86IHRvUGFnZVNpemUgPiB0aGlzLnRvdGFsID8gdGhpcy50b3RhbCA6IHRvUGFnZVNpemVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQYWdlQ291bnQoKSB7XG4gICAgICAgIGxldCBwYWdlQ291bnQgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5jdXN0b21QYWdlcyAmJiB0aGlzLmN1c3RvbVBhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhZ2VDb3VudCA9IHRoaXMuY3VzdG9tUGFnZXNbdGhpcy5jdXN0b21QYWdlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhZ2VDb3VudCA9IHRoaXMucGFnZVNpemUgPCAxID8gMSA6IE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlQ291bnQgPSBNYXRoLm1heChwYWdlQ291bnQgfHwgMCwgMSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWtlUGFnZShpbmRleDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcsIGFjdGl2ZTogYm9vbGVhbik6IHsgaW5kZXg6IG51bWJlcjsgdGV4dDogc3RyaW5nOyBhY3RpdmU6IGJvb2xlYW4gfSB7XG4gICAgICAgIHJldHVybiB7IGluZGV4LCB0ZXh0LCBhY3RpdmUgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVQYWdlcyhwYWdlSW5kZXg6IG51bWJlciwgcGFnZUNvdW50OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tUGFnZXMgJiYgdGhpcy5jdXN0b21QYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VzID0gdGhpcy5jdXN0b21QYWdlcy5tYXAocGFnZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHBhZ2UudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBwYWdlID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHBhZ2VzID0gW107XG4gICAgICAgIGNvbnN0IG1hcmdpbmFsQ291bnQgPSB0aGlzLm1hcmdpbmFsQ291bnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlQ291bnQgPSB0aGlzLmNvbmZpZy5yYW5nZUNvdW50O1xuICAgICAgICBjb25zdCBtYXhDb3VudCA9IHRoaXMuY29uZmlnLm1heENvdW50O1xuICAgICAgICBjb25zdCBpc01heFNpemVkID0gcGFnZUNvdW50ID4gbWF4Q291bnQ7XG4gICAgICAgIGlmIChpc01heFNpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBiZWZvcmVQYWdlcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgYWZ0ZXJQYWdlcyA9IFtdO1xuXG4gICAgICAgICAgICAvLyBtYWluUGFnZXNcbiAgICAgICAgICAgIGxldCBzdGFydCA9IE1hdGguY2VpbChNYXRoLm1heChtYXJnaW5hbENvdW50ICsgMSwgcGFnZUluZGV4IC0gKHJhbmdlQ291bnQgLSAxKSAvIDIpKTtcbiAgICAgICAgICAgIGxldCBlbmQgPSBNYXRoLmNlaWwoTWF0aC5taW4ocGFnZUluZGV4ICsgKHJhbmdlQ291bnQgLSAxKSAvIDIsIHBhZ2VDb3VudCAtIG1hcmdpbmFsQ291bnQpKTtcbiAgICAgICAgICAgIGlmIChwYWdlSW5kZXggLSAxIDwgbWFyZ2luYWxDb3VudCkge1xuICAgICAgICAgICAgICAgIGVuZCA9IHJhbmdlQ291bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFnZUNvdW50IC0gcGFnZUluZGV4IDw9IG1hcmdpbmFsQ291bnQpIHtcbiAgICAgICAgICAgICAgICBzdGFydCA9IHBhZ2VDb3VudCAtIHJhbmdlQ291bnQgKyAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJlZm9yZVBhZ2VzXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBtYXJnaW5hbENvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBiZWZvcmVQYWdlcy5wdXNoKHRoaXMubWFrZVBhZ2UoaSwgaS50b1N0cmluZygpLCBpID09PSBwYWdlSW5kZXgpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhZ2VJbmRleCAtIE1hdGguY2VpbChyYW5nZUNvdW50IC8gMikgPiB0aGlzLmZpcnN0SW5kZXggJiYgbWFyZ2luYWxDb3VudCArIDEgPCBzdGFydCkge1xuICAgICAgICAgICAgICAgIGJlZm9yZVBhZ2VzLnB1c2godGhpcy5tYWtlUGFnZShNYXRoLmNlaWwoKG1hcmdpbmFsQ291bnQgKyBzdGFydCkgLyAyKSwgJ8K3wrfCtycsIG51bGwpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWZ0ZXJQYWdlc1xuICAgICAgICAgICAgaWYgKHBhZ2VJbmRleCArIE1hdGguY2VpbChyYW5nZUNvdW50IC8gMikgPCBwYWdlQ291bnQgJiYgcGFnZUNvdW50IC0gbWFyZ2luYWxDb3VudCA+IGVuZCkge1xuICAgICAgICAgICAgICAgIGFmdGVyUGFnZXMucHVzaCh0aGlzLm1ha2VQYWdlKE1hdGguY2VpbCgocGFnZUNvdW50IC0gbWFyZ2luYWxDb3VudCArIDEgKyBlbmQpIC8gMiksICfCt8K3wrcnLCBudWxsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gcGFnZUNvdW50IC0gbWFyZ2luYWxDb3VudCArIDE7IGkgPD0gcGFnZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBhZnRlclBhZ2VzLnB1c2godGhpcy5tYWtlUGFnZShpLCBpLnRvU3RyaW5nKCksIGkgPT09IHBhZ2VJbmRleCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWdlcyA9IFsuLi5iZWZvcmVQYWdlcywgLi4ucGFnZXMsIC4uLmFmdGVyUGFnZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gcGFnZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlcyA9IHBhZ2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFnZUNoYW5nZShwYWdlSW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VJbmRleENoYW5nZS5lbWl0KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdCh7IHBhZ2U6IHBhZ2VJbmRleCB9KTtcbiAgICB9XG5cbiAgICBzZWxlY3RQYWdlKHBhZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gdGhpcy5maXJzdEluZGV4IC0gMSB8fCBwYWdlSW5kZXggPT09IHRoaXMucGFnZUNvdW50ICsgMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgfVxuXG4gICAganVtcFBhZ2UoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZUluZGV4ID0gK2lucHV0LnZhbHVlO1xuICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihwYWdlSW5kZXgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFBhZ2UocGFnZUluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIG9uUGFnZVNpemVDaGFuZ2UoZXZlbnQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gZXZlbnQ7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlUGFnZUNvdW50KCk7XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4KTtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxufVxuIiwiQGlmICgoaGlkZU9uU2luZ2xlUGFnZSAmJiB0b3RhbCA+IHBhZ2VTaXplKSB8fCAhaGlkZU9uU2luZ2xlUGFnZSkge1xuICBAaWYgKHNob3dUb3RhbCkge1xuICAgIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi10b3RhbFwiPlxuICAgICAgQGlmICghaXNUZW1wbGF0ZVJlZihzaG93VG90YWwpKSB7XG4gICAgICAgIEBpZiAodG90YWwgPiAwKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1yLTNcIj5cbiAgICAgICAgICAgIOesrDxzcGFuIGNsYXNzPVwibnVtYmVyXCI+IHt7IHJhbmdlLmZyb20gfX0te3sgcmFuZ2UudG8gfX0gPC9zcGFuPnt7IGNvbmZpZy51bml0IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIOWFsTxzcGFuIGNsYXNzPVwibnVtYmVyXCI+IHt7IHRvdGFsIH19IDwvc3Bhbj57eyBjb25maWcudW5pdCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNob3dUb3RhbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdG90YWwsIHJhbmdlOiByYW5nZSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwidGh5LXBhZ2luYXRpb24tY29udGVudFwiPlxuICAgIEBpZiAoY29uZmlnLnNob3dTaXplQ2hhbmdlcikge1xuICAgICAgPGRpdiBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLXNpemVcIj5cbiAgICAgICAgPHRoeS1zZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RQYWdlU2l6ZVwiIFt0aHlTaXplXT1cInNlbGVjdFNpemVcIiBbdGh5RGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAobmdNb2RlbENoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICBAZm9yIChvcHRpb24gb2YgY29uZmlnLnBhZ2VTaXplT3B0aW9uczsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgICAgICA8dGh5LW9wdGlvbiBjbGFzcz1cInBhZ2Utc2l6ZS1vcHRpb25cIiBbdGh5VmFsdWVdPVwib3B0aW9uXCIgW3RoeUxhYmVsVGV4dF09XCJvcHRpb24gKyAnICcgKyBjb25maWcudW5pdCArICcv6aG1J1wiPjwvdGh5LW9wdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvdGh5LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8dWwgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi1wYWdlc1wiPlxuICAgICAgQGlmIChjb25maWcuYm91bmRhcnlMaW5rcykge1xuICAgICAgICA8bGkgY2xhc3M9XCJ0aHktcGFnZS1pdGVtXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gZmlyc3RJbmRleFwiIChjbGljayk9XCJzZWxlY3RQYWdlKGZpcnN0SW5kZXgpXCI+XG4gICAgICAgICAgPGEgY2xhc3M9XCJ0aHktcGFnZS1saW5rIHRoeS1wYWdlLWxpbmstZmlyc3RcIiBocmVmPVwiamF2YXNjcmlwdDo7XCI+XG4gICAgICAgICAgICBAaWYgKGNvbmZpZy5maXJzdFRleHQpIHtcbiAgICAgICAgICAgICAge3sgY29uZmlnLmZpcnN0VGV4dCB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChjb25maWcuZmlyc3RJY29uKSB7XG4gICAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiY29uZmlnLmZpcnN0SWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcuZGlyZWN0aW9uTGlua3MpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwidGh5LXBhZ2UtaXRlbVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBwYWdlSW5kZXggPT09IGZpcnN0SW5kZXhcIiAoY2xpY2spPVwic2VsZWN0UGFnZShwYWdlSW5kZXggLSAxKVwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwidGh5LXBhZ2UtbGluayBwYWdlLWxpbmstcHJlXCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPlxuICAgICAgICAgICAgQGlmIChjb25maWcucHJldmlvdXNUZXh0KSB7XG4gICAgICAgICAgICAgIHt7IGNvbmZpZy5wcmV2aW91c1RleHQgfX1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoY29uZmlnLnByZXZpb3VzSWNvbikge1xuICAgICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImNvbmZpZy5wcmV2aW91c0ljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICAgIH1cbiAgICAgIEBmb3IgKHBhZ2Ugb2YgcGFnZXM7IHRyYWNrIHBhZ2UuaW5kZXgpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwidGh5LXBhZ2UtaXRlbSB0aHktcGFnZS1udW1iZXJcIiBbY2xhc3MuYWN0aXZlXT1cInBhZ2UuYWN0aXZlXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgKGNsaWNrKT1cInNlbGVjdFBhZ2UocGFnZS5pbmRleClcIj5cbiAgICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDo7XCI+e3sgcGFnZS50ZXh0IH19PC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcuZGlyZWN0aW9uTGlua3MpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwidGh5LXBhZ2UtaXRlbSBwYWdlLWl0ZW0tbmV4dFwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBwYWdlSW5kZXggPT09IHBhZ2VDb3VudFwiIChjbGljayk9XCJzZWxlY3RQYWdlKHBhZ2VJbmRleCArIDEpXCI+XG4gICAgICAgICAgPGEgY2xhc3M9XCJ0aHktcGFnZS1saW5rIHRoeS1wYWdlLWxpbmstbmV4dFwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIj5cbiAgICAgICAgICAgIEBpZiAoY29uZmlnLm5leHRUZXh0KSB7XG4gICAgICAgICAgICAgIHt7IGNvbmZpZy5uZXh0VGV4dCB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChjb25maWcubmV4dEljb24pIHtcbiAgICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJjb25maWcubmV4dEljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICAgIH1cbiAgICAgIEBpZiAoY29uZmlnLmJvdW5kYXJ5TGlua3MpIHtcbiAgICAgICAgPGxpIGNsYXNzPVwidGh5LXBhZ2UtaXRlbVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBwYWdlSW5kZXggPT09IHBhZ2VDb3VudFwiIChjbGljayk9XCJzZWxlY3RQYWdlKHBhZ2VDb3VudClcIj5cbiAgICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmsgdGh5LXBhZ2UtbGluay1sYXN0XCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPlxuICAgICAgICAgICAgQGlmIChjb25maWcubGFzdFRleHQpIHtcbiAgICAgICAgICAgICAge3sgY29uZmlnLmxhc3RUZXh0IH19XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGNvbmZpZy5sYXN0SWNvbikge1xuICAgICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImNvbmZpZy5sYXN0SWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvdWw+XG4gICAgQGlmIChjb25maWcuc2hvd1RvdGFsUGFnZUNvdW50ICYmIGNvbmZpZy50b3RhbFBhZ2VzRm9ybWF0KSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LXBhZ2luYXRpb24tY291bnRcIiBbaW5uZXJIVE1MXT1cInBhZ2VDb3VudCB8IHBhZ2luYXRpb25Ub3RhbFBhZ2VzRm9ybWF0OiBjb25maWcudG90YWxQYWdlc0Zvcm1hdFwiPjwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGNvbmZpZy5zaG93UXVpY2tKdW1wZXIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi1qdW1wZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLWp1bXBlci1pbnB1dFwiPlxuICAgICAgICAgIOi3s+iHs1xuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICNqdW1wZXJJbnB1dCAodGh5RW50ZXIpPVwianVtcFBhZ2UoanVtcGVySW5wdXQpXCIgKGJsdXIpPVwianVtcFBhZ2UoanVtcGVySW5wdXQpXCIgLz5cbiAgICAgICAgICDpobVcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxufVxuIl19
|