@ng-nest/ui 18.0.0 → 18.0.2
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/affix/affix.property.d.ts +16 -0
- package/alert/alert.property.d.ts +174 -3
- package/anchor/anchor.property.d.ts +49 -0
- package/avatar/avatar.component.d.ts +4 -4
- package/avatar/avatar.property.d.ts +6 -6
- package/button/button.component.d.ts +6 -3
- package/calendar/calendar.component.d.ts +1 -0
- package/collapse/collapse.component.d.ts +3 -0
- package/dialog/dialog-portal.component.d.ts +1 -2
- package/empty/empty.property.d.ts +1 -1
- package/esm2022/affix/affix.component.mjs +3 -3
- package/esm2022/affix/affix.module.mjs +4 -4
- package/esm2022/affix/affix.property.mjs +20 -4
- package/esm2022/alert/alert.component.mjs +5 -5
- package/esm2022/alert/alert.module.mjs +4 -4
- package/esm2022/alert/alert.property.mjs +178 -7
- package/esm2022/anchor/anchor-inner.component.mjs +3 -3
- package/esm2022/anchor/anchor.component.mjs +3 -3
- package/esm2022/anchor/anchor.module.mjs +4 -4
- package/esm2022/anchor/anchor.property.mjs +56 -7
- package/esm2022/api/api.component.mjs +3 -3
- package/esm2022/api/api.module.mjs +4 -4
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +3 -3
- package/esm2022/auto-complete/auto-complete.component.mjs +3 -3
- package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
- package/esm2022/avatar/avatar-group.component.mjs +3 -3
- package/esm2022/avatar/avatar.component.mjs +13 -11
- package/esm2022/avatar/avatar.module.mjs +4 -4
- package/esm2022/avatar/avatar.property.mjs +13 -13
- package/esm2022/back-top/back-top.component.mjs +3 -3
- package/esm2022/back-top/back-top.module.mjs +4 -4
- package/esm2022/back-top/back-top.property.mjs +3 -3
- package/esm2022/badge/badge.component.mjs +3 -3
- package/esm2022/badge/badge.module.mjs +4 -4
- package/esm2022/badge/badge.property.mjs +3 -3
- package/esm2022/base-form/base-form.module.mjs +4 -4
- package/esm2022/base-form/base-form.property.mjs +6 -6
- package/esm2022/button/button.component.mjs +12 -7
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/button/button.property.mjs +6 -6
- package/esm2022/button/buttons.component.mjs +3 -3
- package/esm2022/calendar/calendar.component.mjs +10 -7
- package/esm2022/calendar/calendar.module.mjs +4 -4
- package/esm2022/calendar/calendar.property.mjs +3 -3
- package/esm2022/card/card.component.mjs +3 -3
- package/esm2022/card/card.module.mjs +4 -4
- package/esm2022/card/card.property.mjs +3 -3
- package/esm2022/carousel/carousel-panel.component.mjs +3 -3
- package/esm2022/carousel/carousel.component.mjs +3 -3
- package/esm2022/carousel/carousel.module.mjs +4 -4
- package/esm2022/carousel/carousel.property.mjs +6 -6
- package/esm2022/cascade/cascade-portal.component.mjs +3 -3
- package/esm2022/cascade/cascade.component.mjs +3 -3
- package/esm2022/cascade/cascade.module.mjs +4 -4
- package/esm2022/cascade/cascade.property.mjs +3 -3
- package/esm2022/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/checkbox/checkbox.property.mjs +3 -3
- package/esm2022/collapse/collapse-panel.component.mjs +3 -3
- package/esm2022/collapse/collapse.component.mjs +15 -4
- package/esm2022/collapse/collapse.module.mjs +4 -4
- package/esm2022/collapse/collapse.property.mjs +6 -6
- package/esm2022/color/color.component.mjs +3 -3
- package/esm2022/color/color.module.mjs +4 -4
- package/esm2022/color/color.property.mjs +3 -3
- package/esm2022/color-picker/color-picker-portal.component.mjs +3 -3
- package/esm2022/color-picker/color-picker.component.mjs +5 -5
- package/esm2022/color-picker/color-picker.module.mjs +4 -4
- package/esm2022/color-picker/color-picker.property.mjs +3 -3
- package/esm2022/comment/comment-reply.component.mjs +3 -3
- package/esm2022/comment/comment.component.mjs +3 -3
- package/esm2022/comment/comment.module.mjs +4 -4
- package/esm2022/comment/comment.property.mjs +6 -6
- package/esm2022/container/aside.component.mjs +3 -3
- package/esm2022/container/container.component.mjs +3 -3
- package/esm2022/container/container.module.mjs +4 -4
- package/esm2022/container/container.property.mjs +12 -12
- package/esm2022/container/footer.component.mjs +3 -3
- package/esm2022/container/header.component.mjs +3 -3
- package/esm2022/container/main.component.mjs +3 -3
- package/esm2022/core/config/config.service.mjs +3 -3
- package/esm2022/core/services/http.service.mjs +3 -3
- package/esm2022/core/services/preloading-strategy.service.mjs +3 -3
- package/esm2022/core/services/storage.service.mjs +3 -3
- package/esm2022/core/theme/theme.service.mjs +3 -3
- package/esm2022/crumb/crumb.component.mjs +3 -3
- package/esm2022/crumb/crumb.module.mjs +4 -4
- package/esm2022/crumb/crumb.property.mjs +3 -3
- package/esm2022/date-picker/date-picker-portal.component.mjs +3 -3
- package/esm2022/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/date-picker/date-picker.property.mjs +18 -18
- package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
- package/esm2022/date-picker/date-range-portal.component.mjs +3 -3
- package/esm2022/date-picker/date-range.component.mjs +5 -5
- package/esm2022/date-picker/picker-date.component.mjs +3 -3
- package/esm2022/date-picker/picker-month.component.mjs +3 -3
- package/esm2022/date-picker/picker-quarter.component.mjs +3 -3
- package/esm2022/date-picker/picker-year.component.mjs +3 -3
- package/esm2022/description/description-item.component.mjs +3 -3
- package/esm2022/description/description.component.mjs +3 -3
- package/esm2022/description/description.module.mjs +4 -4
- package/esm2022/description/description.property.mjs +6 -6
- package/esm2022/dialog/dialog-container.component.mjs +3 -3
- package/esm2022/dialog/dialog-portal.component.mjs +23 -23
- package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
- package/esm2022/dialog/dialog-ref.mjs +3 -3
- package/esm2022/dialog/dialog.component.mjs +6 -6
- package/esm2022/dialog/dialog.module.mjs +4 -4
- package/esm2022/dialog/dialog.property.mjs +6 -6
- package/esm2022/dialog/dialog.service.mjs +7 -7
- package/esm2022/doc/doc.component.mjs +3 -3
- package/esm2022/doc/doc.module.mjs +4 -4
- package/esm2022/drag/drag.directive.mjs +3 -3
- package/esm2022/drag/drag.module.mjs +4 -4
- package/esm2022/drag/drag.property.mjs +3 -3
- package/esm2022/drawer/drawer-container.component.mjs +3 -3
- package/esm2022/drawer/drawer-portal.component.mjs +3 -3
- package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
- package/esm2022/drawer/drawer.component.mjs +3 -3
- package/esm2022/drawer/drawer.module.mjs +4 -4
- package/esm2022/drawer/drawer.property.mjs +6 -6
- package/esm2022/drawer/drawer.service.mjs +3 -3
- package/esm2022/dropdown/dropdown-portal.component.mjs +3 -3
- package/esm2022/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/dropdown/dropdown.property.mjs +3 -3
- package/esm2022/empty/empty.component.mjs +3 -3
- package/esm2022/empty/empty.module.mjs +4 -4
- package/esm2022/empty/empty.property.mjs +5 -5
- package/esm2022/examples/examples.component.mjs +3 -3
- package/esm2022/examples/examples.module.mjs +4 -4
- package/esm2022/find/find.component.mjs +3 -3
- package/esm2022/find/find.module.mjs +4 -4
- package/esm2022/find/find.property.mjs +3 -3
- package/esm2022/form/control.component.mjs +15 -15
- package/esm2022/form/form.component.mjs +3 -3
- package/esm2022/form/form.module.mjs +4 -4
- package/esm2022/form/form.property.mjs +6 -6
- package/esm2022/highlight/highlight.component.mjs +3 -3
- package/esm2022/highlight/highlight.module.mjs +4 -4
- package/esm2022/highlight/highlight.property.mjs +3 -3
- package/esm2022/highlight/highlight.service.mjs +3 -3
- package/esm2022/i18n/i18n.directive.mjs +3 -3
- package/esm2022/i18n/i18n.module.mjs +4 -4
- package/esm2022/i18n/i18n.pipe.mjs +3 -3
- package/esm2022/i18n/i18n.service.mjs +3 -3
- package/esm2022/icon/icon.component.mjs +13 -6
- package/esm2022/icon/icon.module.mjs +4 -4
- package/esm2022/icon/icon.property.mjs +3 -3
- package/esm2022/icon/icon.service.mjs +3 -3
- package/esm2022/image/image-group.component.mjs +3 -3
- package/esm2022/image/image-preview.component.mjs +3 -3
- package/esm2022/image/image.component.mjs +3 -3
- package/esm2022/image/image.module.mjs +4 -4
- package/esm2022/image/image.property.mjs +6 -6
- package/esm2022/inner/inner.component.mjs +3 -3
- package/esm2022/inner/inner.module.mjs +4 -4
- package/esm2022/inner/inner.property.mjs +3 -3
- package/esm2022/input/input-group.component.mjs +3 -3
- package/esm2022/input/input.component.mjs +3 -3
- package/esm2022/input/input.module.mjs +4 -4
- package/esm2022/input/input.property.mjs +6 -6
- package/esm2022/input-number/input-number.component.mjs +3 -3
- package/esm2022/input-number/input-number.module.mjs +4 -4
- package/esm2022/input-number/input-number.property.mjs +3 -3
- package/esm2022/keyword/keyword.directive.mjs +3 -3
- package/esm2022/keyword/keyword.module.mjs +4 -4
- package/esm2022/keyword/keyword.property.mjs +3 -3
- package/esm2022/layout/col.component.mjs +3 -3
- package/esm2022/layout/layout.module.mjs +4 -4
- package/esm2022/layout/layout.property.mjs +61 -7
- package/esm2022/layout/row.component.mjs +3 -3
- package/esm2022/link/link.component.mjs +3 -3
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/link/link.property.mjs +4 -9
- package/esm2022/list/list-drop-group.directive.mjs +3 -3
- package/esm2022/list/list-option.component.mjs +3 -3
- package/esm2022/list/list.component.mjs +3 -3
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/list.property.mjs +6 -6
- package/esm2022/loading/loading.component.mjs +3 -3
- package/esm2022/loading/loading.module.mjs +4 -4
- package/esm2022/loading/loading.property.mjs +3 -3
- package/esm2022/menu/menu-node.component.mjs +3 -3
- package/esm2022/menu/menu.component.mjs +3 -3
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu/menu.property.mjs +6 -6
- package/esm2022/message/message.component.mjs +3 -3
- package/esm2022/message/message.module.mjs +4 -4
- package/esm2022/message/message.service.mjs +3 -3
- package/esm2022/message-box/message-box.component.mjs +3 -3
- package/esm2022/message-box/message-box.module.mjs +4 -4
- package/esm2022/message-box/message-box.service.mjs +3 -3
- package/esm2022/notification/notification.component.mjs +3 -3
- package/esm2022/notification/notification.module.mjs +4 -4
- package/esm2022/notification/notification.service.mjs +3 -3
- package/esm2022/outlet/outlet.directive.mjs +3 -3
- package/esm2022/outlet/outlet.module.mjs +4 -4
- package/esm2022/page-header/page-header.component.mjs +3 -3
- package/esm2022/page-header/page-header.module.mjs +4 -4
- package/esm2022/page-header/page-header.property.mjs +3 -3
- package/esm2022/pagination/pagination.component.mjs +3 -3
- package/esm2022/pagination/pagination.module.mjs +4 -4
- package/esm2022/pagination/pagination.property.mjs +3 -3
- package/esm2022/pattern/pattern.component.mjs +3 -3
- package/esm2022/pattern/pattern.module.mjs +4 -4
- package/esm2022/popconfirm/popconfirm.component.mjs +3 -3
- package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
- package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
- package/esm2022/popover/popover-portal.component.mjs +3 -3
- package/esm2022/popover/popover.directive.mjs +5 -5
- package/esm2022/popover/popover.module.mjs +4 -4
- package/esm2022/popover/popover.property.mjs +3 -3
- package/esm2022/portal/portal.module.mjs +4 -4
- package/esm2022/portal/portal.property.mjs +3 -3
- package/esm2022/portal/portal.service.mjs +3 -3
- package/esm2022/progress/progress.component.mjs +3 -3
- package/esm2022/progress/progress.module.mjs +4 -4
- package/esm2022/progress/progress.property.mjs +3 -3
- package/esm2022/radio/radio.component.mjs +3 -3
- package/esm2022/radio/radio.module.mjs +4 -4
- package/esm2022/radio/radio.property.mjs +3 -3
- package/esm2022/rate/rate.component.mjs +3 -3
- package/esm2022/rate/rate.module.mjs +4 -4
- package/esm2022/rate/rate.property.mjs +3 -3
- package/esm2022/resizable/resizable.directive.mjs +3 -3
- package/esm2022/resizable/resizable.module.mjs +4 -4
- package/esm2022/resizable/resizable.property.mjs +3 -3
- package/esm2022/result/result.component.mjs +3 -3
- package/esm2022/result/result.module.mjs +4 -4
- package/esm2022/result/result.property.mjs +3 -3
- package/esm2022/ripple/ripple.directive.mjs +7 -5
- package/esm2022/ripple/ripple.module.mjs +4 -4
- package/esm2022/ripple/ripple.property.mjs +3 -3
- package/esm2022/select/select-portal.component.mjs +3 -3
- package/esm2022/select/select.component.mjs +3 -3
- package/esm2022/select/select.module.mjs +4 -4
- package/esm2022/select/select.property.mjs +9 -4
- package/esm2022/skeleton/skeleton.component.mjs +3 -3
- package/esm2022/skeleton/skeleton.module.mjs +4 -4
- package/esm2022/skeleton/skeleton.property.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +5 -5
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/slider/slider.property.mjs +3 -3
- package/esm2022/slider-select/slider-select.component.mjs +3 -3
- package/esm2022/slider-select/slider-select.module.mjs +4 -4
- package/esm2022/slider-select/slider-select.property.mjs +3 -3
- package/esm2022/statistic/countdown.component.mjs +3 -3
- package/esm2022/statistic/statistic.component.mjs +3 -3
- package/esm2022/statistic/statistic.module.mjs +4 -4
- package/esm2022/statistic/statistic.property.mjs +6 -6
- package/esm2022/steps/steps.component.mjs +3 -3
- package/esm2022/steps/steps.module.mjs +4 -4
- package/esm2022/steps/steps.property.mjs +3 -3
- package/esm2022/switch/switch.component.mjs +3 -3
- package/esm2022/switch/switch.module.mjs +4 -4
- package/esm2022/switch/switch.property.mjs +3 -3
- package/esm2022/table/table-body.component.mjs +37 -24
- package/esm2022/table/table-foot.component.mjs +3 -3
- package/esm2022/table/table-head.component.mjs +5 -5
- package/esm2022/table/table.component.mjs +21 -5
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/table/table.property.mjs +12 -12
- package/esm2022/tabs/tab-content.component.mjs +3 -3
- package/esm2022/tabs/tab-link.directive.mjs +6 -6
- package/esm2022/tabs/tab.component.mjs +3 -3
- package/esm2022/tabs/tabs.component.mjs +5 -5
- package/esm2022/tabs/tabs.module.mjs +4 -4
- package/esm2022/tabs/tabs.property.mjs +6 -6
- package/esm2022/tag/tag.component.mjs +3 -3
- package/esm2022/tag/tag.module.mjs +4 -4
- package/esm2022/tag/tag.property.mjs +3 -3
- package/esm2022/text-retract/text-retract.component.mjs +3 -3
- package/esm2022/text-retract/text-retract.module.mjs +4 -4
- package/esm2022/text-retract/text-retract.property.mjs +3 -3
- package/esm2022/textarea/textarea.component.mjs +3 -3
- package/esm2022/textarea/textarea.module.mjs +4 -4
- package/esm2022/textarea/textarea.property.mjs +3 -3
- package/esm2022/theme/theme.component.mjs +3 -3
- package/esm2022/theme/theme.module.mjs +4 -4
- package/esm2022/theme/theme.property.mjs +3 -3
- package/esm2022/time-ago/time-ago.module.mjs +4 -4
- package/esm2022/time-ago/time-ago.pipe.mjs +3 -3
- package/esm2022/time-picker/time-picker-frame.component.mjs +3 -3
- package/esm2022/time-picker/time-picker-portal.component.mjs +3 -3
- package/esm2022/time-picker/time-picker.component.mjs +3 -3
- package/esm2022/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/time-picker/time-picker.property.mjs +3 -3
- package/esm2022/time-range/time-range.module.mjs +4 -4
- package/esm2022/time-range/time-range.pipe.mjs +3 -3
- package/esm2022/timeline/timeline.component.mjs +3 -3
- package/esm2022/timeline/timeline.module.mjs +4 -4
- package/esm2022/timeline/timeline.property.mjs +3 -3
- package/esm2022/tooltip/tooltip-portal.component.mjs +3 -3
- package/esm2022/tooltip/tooltip.directive.mjs +5 -5
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/tooltip/tooltip.property.mjs +3 -3
- package/esm2022/transfer/transfer.component.mjs +3 -3
- package/esm2022/transfer/transfer.module.mjs +4 -4
- package/esm2022/transfer/transfer.property.mjs +3 -3
- package/esm2022/tree/tree-node.component.mjs +3 -3
- package/esm2022/tree/tree.component.mjs +3 -3
- package/esm2022/tree/tree.module.mjs +4 -4
- package/esm2022/tree/tree.property.mjs +6 -6
- package/esm2022/tree/tree.service.mjs +3 -3
- package/esm2022/tree-file/tree-file.component.mjs +3 -3
- package/esm2022/tree-file/tree-file.module.mjs +4 -4
- package/esm2022/tree-file/tree-file.property.mjs +3 -3
- package/esm2022/tree-select/tree-select-portal.component.mjs +3 -3
- package/esm2022/tree-select/tree-select.component.mjs +3 -3
- package/esm2022/tree-select/tree-select.module.mjs +4 -4
- package/esm2022/tree-select/tree-select.property.mjs +3 -3
- package/esm2022/typography/typography.component.mjs +3 -3
- package/esm2022/typography/typography.module.mjs +4 -4
- package/esm2022/typography/typography.property.mjs +3 -3
- package/esm2022/upload/upload-portal.component.mjs +3 -3
- package/esm2022/upload/upload.component.mjs +3 -3
- package/esm2022/upload/upload.module.mjs +4 -4
- package/esm2022/upload/upload.property.mjs +3 -3
- package/fesm2022/ng-nest-ui-affix.mjs +26 -10
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +185 -14
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +65 -16
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +7 -7
- package/fesm2022/ng-nest-ui-auto-complete.mjs +13 -13
- package/fesm2022/ng-nest-ui-avatar.mjs +31 -29
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2022/ng-nest-ui-badge.mjs +10 -10
- package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2022/ng-nest-ui-button.mjs +24 -19
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +16 -13
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +10 -10
- package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
- package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
- package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +27 -17
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +14 -14
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +10 -10
- package/fesm2022/ng-nest-ui-comment.mjs +16 -16
- package/fesm2022/ng-nest-ui-container.mjs +31 -31
- package/fesm2022/ng-nest-ui-core.mjs +15 -15
- package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
- package/fesm2022/ng-nest-ui-date-picker.mjs +50 -50
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +16 -16
- package/fesm2022/ng-nest-ui-dialog.mjs +63 -63
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +7 -7
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
- package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2022/ng-nest-ui-empty.mjs +11 -11
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +7 -7
- package/fesm2022/ng-nest-ui-find.mjs +10 -10
- package/fesm2022/ng-nest-ui-form.mjs +27 -27
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +13 -13
- package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
- package/fesm2022/ng-nest-ui-icon.mjs +22 -15
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +19 -19
- package/fesm2022/ng-nest-ui-inner.mjs +10 -10
- package/fesm2022/ng-nest-ui-input-number.mjs +10 -10
- package/fesm2022/ng-nest-ui-input.mjs +16 -16
- package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
- package/fesm2022/ng-nest-ui-layout.mjs +70 -16
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +10 -15
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +19 -19
- package/fesm2022/ng-nest-ui-loading.mjs +10 -10
- package/fesm2022/ng-nest-ui-menu.mjs +16 -16
- package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2022/ng-nest-ui-message.mjs +10 -10
- package/fesm2022/ng-nest-ui-notification.mjs +10 -10
- package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
- package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2022/ng-nest-ui-popover.mjs +14 -14
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +10 -10
- package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-progress.mjs +10 -10
- package/fesm2022/ng-nest-ui-radio.mjs +10 -10
- package/fesm2022/ng-nest-ui-rate.mjs +10 -10
- package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2022/ng-nest-ui-result.mjs +10 -10
- package/fesm2022/ng-nest-ui-ripple.mjs +13 -11
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +18 -13
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
- package/fesm2022/ng-nest-ui-slider-select.mjs +10 -10
- package/fesm2022/ng-nest-ui-slider.mjs +11 -11
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2022/ng-nest-ui-steps.mjs +10 -10
- package/fesm2022/ng-nest-ui-switch.mjs +10 -10
- package/fesm2022/ng-nest-ui-table.mjs +79 -50
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +26 -26
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +10 -10
- package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
- package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
- package/fesm2022/ng-nest-ui-theme.mjs +10 -10
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +10 -10
- package/fesm2022/ng-nest-ui-tooltip.mjs +14 -14
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
- package/fesm2022/ng-nest-ui-tree-select.mjs +13 -13
- package/fesm2022/ng-nest-ui-tree.mjs +19 -19
- package/fesm2022/ng-nest-ui-typography.mjs +10 -10
- package/fesm2022/ng-nest-ui-upload.mjs +13 -13
- package/icon/icon.component.d.ts +2 -1
- package/layout/layout.property.d.ts +54 -0
- package/link/link.property.d.ts +1 -6
- package/package.json +97 -97
- package/portal/portal.property.d.ts +2 -2
- package/ripple/ripple.directive.d.ts +1 -1
- package/select/select.property.d.ts +6 -1
- package/table/table-body.component.d.ts +8 -3
- package/table/table.component.d.ts +5 -2
|
@@ -8,10 +8,10 @@ export class XDialogCloseDirective {
|
|
|
8
8
|
onCloseClick() {
|
|
9
9
|
this.dialogRef && this.dialogRef.close();
|
|
10
10
|
}
|
|
11
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
12
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.
|
|
11
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: XDialogCloseDirective, isStandalone: true, selector: "[x-dialog-close]", host: { listeners: { "click": "onCloseClick($event)" } }, ngImport: i0 }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogCloseDirective, decorators: [{
|
|
15
15
|
type: Directive,
|
|
16
16
|
args: [{
|
|
17
17
|
selector: `[x-dialog-close]`,
|
|
@@ -25,10 +25,10 @@ export class XDialogTitleDirective {
|
|
|
25
25
|
constructor() {
|
|
26
26
|
this._has = true;
|
|
27
27
|
}
|
|
28
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
29
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.
|
|
28
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: XDialogTitleDirective, isStandalone: true, selector: "[x-dialog-title], x-dialog-title", host: { properties: { "class.x-dialog-portal-title": "this._has" } }, ngImport: i0 }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogTitleDirective, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{
|
|
34
34
|
selector: `[x-dialog-title], x-dialog-title`,
|
|
@@ -42,10 +42,10 @@ export class XDialogContentDirective {
|
|
|
42
42
|
constructor() {
|
|
43
43
|
this._has = true;
|
|
44
44
|
}
|
|
45
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
46
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.
|
|
45
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
46
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: XDialogContentDirective, isStandalone: true, selector: "[x-dialog-content], x-dialog-content", host: { properties: { "class.x-dialog-portal-content": "this._has" } }, ngImport: i0 }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogContentDirective, decorators: [{
|
|
49
49
|
type: Directive,
|
|
50
50
|
args: [{
|
|
51
51
|
selector: `[x-dialog-content], x-dialog-content`,
|
|
@@ -59,10 +59,10 @@ export class XDialogActionsDirective {
|
|
|
59
59
|
constructor() {
|
|
60
60
|
this._has = true;
|
|
61
61
|
}
|
|
62
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
63
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.
|
|
62
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
63
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: XDialogActionsDirective, isStandalone: true, selector: "[x-dialog-actions], x-dialog-actions", host: { properties: { "class.x-dialog-portal-actions": "this._has" } }, ngImport: i0 }); }
|
|
64
64
|
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogActionsDirective, decorators: [{
|
|
66
66
|
type: Directive,
|
|
67
67
|
args: [{
|
|
68
68
|
selector: `[x-dialog-actions], x-dialog-actions`,
|
|
@@ -83,10 +83,10 @@ export class XDialogDragHandleDirective {
|
|
|
83
83
|
ngOnInit() {
|
|
84
84
|
this.dialogRef?.dragHandleRefs.push(this.elementRef);
|
|
85
85
|
}
|
|
86
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
87
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.
|
|
86
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
87
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: XDialogDragHandleDirective, isStandalone: true, selector: "[x-dialog-drag-handle], x-dialog-drag-handle", host: { properties: { "class.x-dialog-portal-drag-handle": "this.getDraggable" } }, ngImport: i0 }); }
|
|
88
88
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogDragHandleDirective, decorators: [{
|
|
90
90
|
type: Directive,
|
|
91
91
|
args: [{
|
|
92
92
|
selector: `[x-dialog-drag-handle], x-dialog-drag-handle`,
|
|
@@ -103,10 +103,10 @@ export class XDialogFullscreenDirective {
|
|
|
103
103
|
onFullscreenClick() {
|
|
104
104
|
this.dialogRef && this.dialogRef.onFullscreen();
|
|
105
105
|
}
|
|
106
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
107
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.
|
|
106
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogFullscreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
107
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: XDialogFullscreenDirective, isStandalone: true, selector: "[x-dialog-fullscreen], x-dialog-fullscreen", host: { listeners: { "click": "onFullscreenClick($event)" } }, ngImport: i0 }); }
|
|
108
108
|
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogFullscreenDirective, decorators: [{
|
|
110
110
|
type: Directive,
|
|
111
111
|
args: [{
|
|
112
112
|
selector: `[x-dialog-fullscreen], x-dialog-fullscreen`,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Subject, filter, take } from 'rxjs';
|
|
2
|
-
import {
|
|
2
|
+
import { XPortalResizablePrefix } from '@ng-nest/ui/portal';
|
|
3
3
|
// TODO: add more function
|
|
4
4
|
export class XDialogRef {
|
|
5
5
|
constructor(overlayRef, containerInstance, renderer, portalService) {
|
|
@@ -81,7 +81,7 @@ export class XDialogRef {
|
|
|
81
81
|
this.renderer.removeClass(overlayElement, 'x-dialog-portal-fullscreen');
|
|
82
82
|
if (this._isFristFullscreen && defaultMaximize) {
|
|
83
83
|
dialogRef.overlayRef?.updatePositionStrategy(this.portalService.setPlace(this.option.placement, this.option.offset));
|
|
84
|
-
this.renderer.addClass(hostElement,
|
|
84
|
+
this.renderer.addClass(hostElement, XPortalResizablePrefix);
|
|
85
85
|
setTimeout(() => {
|
|
86
86
|
Object.assign(dialogBox, this.portalService.setResizable(overlayElement, this.option.placement));
|
|
87
87
|
this.containerInstance.offsetLeft = overlayElement.offsetLeft;
|
|
@@ -97,4 +97,4 @@ export class XDialogRef {
|
|
|
97
97
|
this._isFristFullscreen = false;
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2ctcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFJM0UsMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyxVQUFVO0lBUXJCLFlBQ1MsVUFBc0IsRUFDdEIsaUJBQXlDLEVBQ3pDLFFBQW1CLEVBQ25CLGFBQTZCO1FBSDdCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVR0QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQThCLEVBQUUsQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxJQUFJLENBQUM7SUFPL0IsQ0FBQztJQUVKLEtBQUssQ0FBQyxNQUFZO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0I7YUFDcEMsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsRUFDcEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxD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O29CQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQ2xHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsY0FBZSxDQUFDLFVBQVUsQ0FBQztvQkFDL0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxjQUFlLENBQUMsU0FBUyxDQUFDO29CQUM3RCxNQUFNLGVBQWUsR0FBRyxjQUFjLEVBQUUsYUFBYSxDQUFDLGtCQUFrQixDQUFFLENBQUM7b0JBQzNFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQztvQkFDakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsR0FBRyxjQUFjLEVBQUUsYUFBYSxDQUFDLDBCQUEwQixDQUFFLENBQUM7b0JBQ2xHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztvQkFDOUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUG9ydGFsUmVzaXphYmxlUHJlZml4LCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhEaWFsb2dQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWERpYWxvZ1JlZk9wdGlvbiB9IGZyb20gJy4vZGlhbG9nLnByb3BlcnR5JztcclxuXHJcbi8vIFRPRE86IGFkZCBtb3JlIGZ1bmN0aW9uXHJcbmV4cG9ydCBjbGFzcyBYRGlhbG9nUmVmPEM+IHtcclxuICBjb21wb25lbnRJbnN0YW5jZSE6IEM7XHJcbiAgb3B0aW9uITogWERpYWxvZ1JlZk9wdGlvbjtcclxuICBmdWxsc2NyZWVuID0gZmFsc2U7XHJcbiAgZHJhZ0hhbmRsZVJlZnM6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+W10gPSBbXTtcclxuICBhZnRlckNsb3NlID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gIHByaXZhdGUgX2lzRnJpc3RGdWxsc2NyZWVuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcclxuICAgIHB1YmxpYyBjb250YWluZXJJbnN0YW5jZTogWERpYWxvZ1BvcnRhbENvbXBvbmVudCxcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBjbG9zZShyZXN1bHQ/OiBhbnkpIHtcclxuICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UuYW5pbWF0aW9uQ2hhbmdlZFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5zdGF0ZSA9PT0gJ3ZvaWQnICYmIGV2ZW50LmFjdGlvbiA9PT0gJ2RvbmUnKSxcclxuICAgICAgICB0YWtlKDEpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMuYWZ0ZXJDbG9zZS5uZXh0KHJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5wbGFjZW1lbnQgPSAndm9pZCc7XHJcbiAgfVxyXG5cclxuICBvbkZ1bGxzY3JlZW4oKSB7XHJcbiAgICBsZXQgeyBkaWFsb2dCb3gsIGRpYWxvZ1JlZiwgb3ZlcmxheUVsZW1lbnQsIGRpc3RhbmNlLCBob3N0RWxlbWVudCwgZGVmYXVsdE1heGltaXplIH0gPSB0aGlzLmNvbnRhaW5lckluc3RhbmNlO1xyXG4gICAgaWYgKCFkaWFsb2dSZWYuZnVsbHNjcmVlbikge1xyXG4gICAgICBkaWFsb2dSZWYub3ZlcmxheVJlZi51cGRhdGVTaXplKHtcclxuICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICAgIG1pbldpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgbWluSGVpZ2h0OiAnMTAwJSdcclxuICAgICAgfSk7XHJcbiAgICAgIGRpYWxvZ1JlZi5mdWxsc2NyZWVuID0gdHJ1ZTtcclxuICAgICAgZGlhbG9nQm94WydtaW5XaWR0aCddID0gJzEwMCUnO1xyXG4gICAgICBkaWFsb2dCb3hbJ21pbkhlaWdodCddID0gJzEwMCUnO1xyXG4gICAgICBkaWFsb2dCb3hbJ2RyYWdnYWJsZSddID0gZmFsc2U7XHJcbiAgICAgIGRpYWxvZ0JveFsncmVzaXphYmxlJ10gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMub3B0aW9uLnJlc2l6YWJsZSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3ZlcmxheUVsZW1lbnQsICdtYXJnaW4nLCAnMCAwIDAgMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbi5kcmFnZ2FibGUpIHtcclxuICAgICAgICBkaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IHg6IDAsIHk6IDAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG92ZXJsYXlFbGVtZW50LCAneC1kaWFsb2ctcG9ydGFsLWZ1bGxzY3JlZW4nKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpYWxvZ0JveFsnbWluV2lkdGgnXSA9IHRoaXMub3B0aW9uLm1pbldpZHRoO1xyXG4gICAgICBkaWFsb2dCb3hbJ21pbkhlaWdodCddID0gdGhpcy5vcHRpb24ubWluSGVpZ2h0O1xyXG4gICAgICBpZiAodGhpcy5faXNGcmlzdEZ1bGxzY3JlZW4gJiYgZGVmYXVsdE1heGltaXplKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb24uZHJhZ2dhYmxlID0gZGlhbG9nQm94WydkcmFnZ2FibGUnXTtcclxuICAgICAgICB0aGlzLm9wdGlvbi5yZXNpemFibGUgPSBkaWFsb2dCb3hbJ3Jlc2l6YWJsZSddO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSB0aGlzLm9wdGlvbi5kcmFnZ2FibGU7XHJcbiAgICAgICAgZGlhbG9nQm94WydyZXNpemFibGUnXSA9IHRoaXMub3B0aW9uLnJlc2l6YWJsZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZGlhbG9nUmVmLm92ZXJsYXlSZWY/LnVwZGF0ZVNpemUoe1xyXG4gICAgICAgIHdpZHRoOiBkaWFsb2dCb3hbJ3dpZHRoJ10sXHJcbiAgICAgICAgaGVpZ2h0OiBkaWFsb2dCb3hbJ2hlaWdodCddLFxyXG4gICAgICAgIG1pbldpZHRoOiBkaWFsb2dCb3hbJ21pbldpZHRoJ10sXHJcbiAgICAgICAgbWluSGVpZ2h0OiBkaWFsb2dCb3hbJ21pbkhlaWdodCddXHJcbiAgICAgIH0pO1xyXG4gICAgICBkaWFsb2dSZWYuZnVsbHNjcmVlbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5vcHRpb24uZHJhZ2dhYmxlKSB7XHJcbiAgICAgICAgZGlhbG9nQm94WydkaXN0YW5jZSddID0geyAuLi5kaXN0YW5jZSB9O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbi5yZXNpemFibGUpIHtcclxuICAgICAgICBpZiAoZGlhbG9nQm94WydtYXJnaW5Ub3AnXSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvdmVybGF5RWxlbWVudCwgJ21hcmdpbi10b3AnLCBgJHtkaWFsb2dCb3hbJ21hcmdpblRvcCddfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlhbG9nQm94WydtYXJnaW5MZWZ0J10pIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3ZlcmxheUVsZW1lbnQsICdtYXJnaW4tbGVmdCcsIGAke2RpYWxvZ0JveFsnbWFyZ2luTGVmdCddfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlhbG9nQm94WydtYXJnaW5SaWdodCddKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLXJpZ2h0JywgYCR7ZGlhbG9nQm94WydtYXJnaW5SaWdodCddfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlhbG9nQm94WydtYXJnaW5Cb3R0b20nXSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvdmVybGF5RWxlbWVudCwgJ21hcmdpbi1ib3R0b20nLCBgJHtkaWFsb2dCb3hbJ21hcmdpbkJvdHRvbSddfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG92ZXJsYXlFbGVtZW50LCAneC1kaWFsb2ctcG9ydGFsLWZ1bGxzY3JlZW4nKTtcclxuICAgICAgaWYgKHRoaXMuX2lzRnJpc3RGdWxsc2NyZWVuICYmIGRlZmF1bHRNYXhpbWl6ZSkge1xyXG4gICAgICAgIGRpYWxvZ1JlZi5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KFxyXG4gICAgICAgICAgdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlKHRoaXMub3B0aW9uLnBsYWNlbWVudCwgdGhpcy5vcHRpb24ub2Zmc2V0ISlcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaG9zdEVsZW1lbnQsIFBvcnRhbFJlc2l6YWJsZVByZWZpeCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBPYmplY3QuYXNzaWduKGRpYWxvZ0JveCwgdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFJlc2l6YWJsZShvdmVybGF5RWxlbWVudCEsIHRoaXMub3B0aW9uLnBsYWNlbWVudCkpO1xyXG4gICAgICAgICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5vZmZzZXRMZWZ0ID0gb3ZlcmxheUVsZW1lbnQhLm9mZnNldExlZnQ7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLm9mZnNldFRvcCA9IG92ZXJsYXlFbGVtZW50IS5vZmZzZXRUb3A7XHJcbiAgICAgICAgICBjb25zdCBkaWFsb2dEcmFnZ2FibGUgPSBvdmVybGF5RWxlbWVudD8ucXVlcnlTZWxlY3RvcignLngtZGlhbG9nLXBvcnRhbCcpITtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UuaW5pdEhlaWdodCA9IGRpYWxvZ0RyYWdnYWJsZS5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmRpYWxvZ0NvbnRlbnQgPSBvdmVybGF5RWxlbWVudD8ucXVlcnlTZWxlY3RvcignLngtZGlhbG9nLXBvcnRhbC1jb250ZW50JykhO1xyXG4gICAgICAgICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5pbml0Q29udGVudEhlaWdodCA9IHRoaXMuY29udGFpbmVySW5zdGFuY2UuZGlhbG9nQ29udGVudD8uY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5kaWFsb2dCb3ggPSBkaWFsb2dCb3g7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX2lzRnJpc3RGdWxsc2NyZWVuID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2ctcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFJNUUsMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyxVQUFVO0lBUXJCLFlBQ1MsVUFBc0IsRUFDdEIsaUJBQXlDLEVBQ3pDLFFBQW1CLEVBQ25CLGFBQTZCO1FBSDdCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVR0QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQThCLEVBQUUsQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxJQUFJLENBQUM7SUFPL0IsQ0FBQztJQUVKLEtBQUssQ0FBQyxNQUFZO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0I7YUFDcEMsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsRUFDcEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxD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O29CQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQ2xHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsY0FBZSxDQUFDLFVBQVUsQ0FBQztvQkFDL0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxjQUFlLENBQUMsU0FBUyxDQUFDO29CQUM3RCxNQUFNLGVBQWUsR0FBRyxjQUFjLEVBQUUsYUFBYSxDQUFDLGtCQUFrQixDQUFFLENBQUM7b0JBQzNFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQztvQkFDakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsR0FBRyxjQUFjLEVBQUUsYUFBYSxDQUFDLDBCQUEwQixDQUFFLENBQUM7b0JBQ2xHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztvQkFDOUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWFBvcnRhbFJlc2l6YWJsZVByZWZpeCwgWFBvcnRhbFNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2ctcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEaWFsb2dSZWZPcHRpb24gfSBmcm9tICcuL2RpYWxvZy5wcm9wZXJ0eSc7XHJcblxyXG4vLyBUT0RPOiBhZGQgbW9yZSBmdW5jdGlvblxyXG5leHBvcnQgY2xhc3MgWERpYWxvZ1JlZjxDPiB7XHJcbiAgY29tcG9uZW50SW5zdGFuY2UhOiBDO1xyXG4gIG9wdGlvbiE6IFhEaWFsb2dSZWZPcHRpb247XHJcbiAgZnVsbHNjcmVlbiA9IGZhbHNlO1xyXG4gIGRyYWdIYW5kbGVSZWZzOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PltdID0gW107XHJcbiAgYWZ0ZXJDbG9zZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBwcml2YXRlIF9pc0ZyaXN0RnVsbHNjcmVlbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXHJcbiAgICBwdWJsaWMgY29udGFpbmVySW5zdGFuY2U6IFhEaWFsb2dQb3J0YWxDb21wb25lbnQsXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBwb3J0YWxTZXJ2aWNlOiBYUG9ydGFsU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgY2xvc2UocmVzdWx0PzogYW55KSB7XHJcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmFuaW1hdGlvbkNoYW5nZWRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQuc3RhdGUgPT09ICd2b2lkJyAmJiBldmVudC5hY3Rpb24gPT09ICdkb25lJyksXHJcbiAgICAgICAgdGFrZSgxKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgICAgICB0aGlzLmFmdGVyQ2xvc2UubmV4dChyZXN1bHQpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UucGxhY2VtZW50ID0gJ3ZvaWQnO1xyXG4gIH1cclxuXHJcbiAgb25GdWxsc2NyZWVuKCkge1xyXG4gICAgbGV0IHsgZGlhbG9nQm94LCBkaWFsb2dSZWYsIG92ZXJsYXlFbGVtZW50LCBkaXN0YW5jZSwgaG9zdEVsZW1lbnQsIGRlZmF1bHRNYXhpbWl6ZSB9ID0gdGhpcy5jb250YWluZXJJbnN0YW5jZTtcclxuICAgIGlmICghZGlhbG9nUmVmLmZ1bGxzY3JlZW4pIHtcclxuICAgICAgZGlhbG9nUmVmLm92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7XHJcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgICBtaW5XaWR0aDogJzEwMCUnLFxyXG4gICAgICAgIG1pbkhlaWdodDogJzEwMCUnXHJcbiAgICAgIH0pO1xyXG4gICAgICBkaWFsb2dSZWYuZnVsbHNjcmVlbiA9IHRydWU7XHJcbiAgICAgIGRpYWxvZ0JveFsnbWluV2lkdGgnXSA9ICcxMDAlJztcclxuICAgICAgZGlhbG9nQm94WydtaW5IZWlnaHQnXSA9ICcxMDAlJztcclxuICAgICAgZGlhbG9nQm94WydkcmFnZ2FibGUnXSA9IGZhbHNlO1xyXG4gICAgICBkaWFsb2dCb3hbJ3Jlc2l6YWJsZSddID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbi5yZXNpemFibGUpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG92ZXJsYXlFbGVtZW50LCAnbWFyZ2luJywgJzAgMCAwIDAnKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5vcHRpb24uZHJhZ2dhYmxlKSB7XHJcbiAgICAgICAgZGlhbG9nQm94WydkaXN0YW5jZSddID0geyB4OiAwLCB5OiAwIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhvdmVybGF5RWxlbWVudCwgJ3gtZGlhbG9nLXBvcnRhbC1mdWxsc2NyZWVuJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaWFsb2dCb3hbJ21pbldpZHRoJ10gPSB0aGlzLm9wdGlvbi5taW5XaWR0aDtcclxuICAgICAgZGlhbG9nQm94WydtaW5IZWlnaHQnXSA9IHRoaXMub3B0aW9uLm1pbkhlaWdodDtcclxuICAgICAgaWYgKHRoaXMuX2lzRnJpc3RGdWxsc2NyZWVuICYmIGRlZmF1bHRNYXhpbWl6ZSkge1xyXG4gICAgICAgIHRoaXMub3B0aW9uLmRyYWdnYWJsZSA9IGRpYWxvZ0JveFsnZHJhZ2dhYmxlJ107XHJcbiAgICAgICAgdGhpcy5vcHRpb24ucmVzaXphYmxlID0gZGlhbG9nQm94WydyZXNpemFibGUnXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkaWFsb2dCb3hbJ2RyYWdnYWJsZSddID0gdGhpcy5vcHRpb24uZHJhZ2dhYmxlO1xyXG4gICAgICAgIGRpYWxvZ0JveFsncmVzaXphYmxlJ10gPSB0aGlzLm9wdGlvbi5yZXNpemFibGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5vdmVybGF5UmVmPy51cGRhdGVTaXplKHtcclxuICAgICAgICB3aWR0aDogZGlhbG9nQm94Wyd3aWR0aCddLFxyXG4gICAgICAgIGhlaWdodDogZGlhbG9nQm94WydoZWlnaHQnXSxcclxuICAgICAgICBtaW5XaWR0aDogZGlhbG9nQm94WydtaW5XaWR0aCddLFxyXG4gICAgICAgIG1pbkhlaWdodDogZGlhbG9nQm94WydtaW5IZWlnaHQnXVxyXG4gICAgICB9KTtcclxuICAgICAgZGlhbG9nUmVmLmZ1bGxzY3JlZW4gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMub3B0aW9uLmRyYWdnYWJsZSkge1xyXG4gICAgICAgIGRpYWxvZ0JveFsnZGlzdGFuY2UnXSA9IHsgLi4uZGlzdGFuY2UgfTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5vcHRpb24ucmVzaXphYmxlKSB7XHJcbiAgICAgICAgaWYgKGRpYWxvZ0JveFsnbWFyZ2luVG9wJ10pIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3ZlcmxheUVsZW1lbnQsICdtYXJnaW4tdG9wJywgYCR7ZGlhbG9nQm94WydtYXJnaW5Ub3AnXX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRpYWxvZ0JveFsnbWFyZ2luTGVmdCddKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLWxlZnQnLCBgJHtkaWFsb2dCb3hbJ21hcmdpbkxlZnQnXX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRpYWxvZ0JveFsnbWFyZ2luUmlnaHQnXSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvdmVybGF5RWxlbWVudCwgJ21hcmdpbi1yaWdodCcsIGAke2RpYWxvZ0JveFsnbWFyZ2luUmlnaHQnXX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRpYWxvZ0JveFsnbWFyZ2luQm90dG9tJ10pIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3ZlcmxheUVsZW1lbnQsICdtYXJnaW4tYm90dG9tJywgYCR7ZGlhbG9nQm94WydtYXJnaW5Cb3R0b20nXX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhvdmVybGF5RWxlbWVudCwgJ3gtZGlhbG9nLXBvcnRhbC1mdWxsc2NyZWVuJyk7XHJcbiAgICAgIGlmICh0aGlzLl9pc0ZyaXN0RnVsbHNjcmVlbiAmJiBkZWZhdWx0TWF4aW1pemUpIHtcclxuICAgICAgICBkaWFsb2dSZWYub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneShcclxuICAgICAgICAgIHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZSh0aGlzLm9wdGlvbi5wbGFjZW1lbnQsIHRoaXMub3B0aW9uLm9mZnNldCEpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGhvc3RFbGVtZW50LCBYUG9ydGFsUmVzaXphYmxlUHJlZml4KTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oZGlhbG9nQm94LCB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UmVzaXphYmxlKG92ZXJsYXlFbGVtZW50ISwgdGhpcy5vcHRpb24ucGxhY2VtZW50KSk7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLm9mZnNldExlZnQgPSBvdmVybGF5RWxlbWVudCEub2Zmc2V0TGVmdDtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2Uub2Zmc2V0VG9wID0gb3ZlcmxheUVsZW1lbnQhLm9mZnNldFRvcDtcclxuICAgICAgICAgIGNvbnN0IGRpYWxvZ0RyYWdnYWJsZSA9IG92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctcG9ydGFsJykhO1xyXG4gICAgICAgICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5pbml0SGVpZ2h0ID0gZGlhbG9nRHJhZ2dhYmxlLmNsaWVudEhlaWdodDtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UuZGlhbG9nQ29udGVudCA9IG92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctcG9ydGFsLWNvbnRlbnQnKSE7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmluaXRDb250ZW50SGVpZ2h0ID0gdGhpcy5jb250YWluZXJJbnN0YW5jZS5kaWFsb2dDb250ZW50Py5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmRpYWxvZ0JveCA9IGRpYWxvZ0JveDtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5faXNGcmlzdEZ1bGxzY3JlZW4gPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation, Renderer2, ChangeDetectionStrategy, ViewContainerRef, HostBinding, inject, signal, computed, viewChild } from '@angular/core';
|
|
2
2
|
import { XMoveBoxAnimation, XIsFunction, XConfigService, XOpacityAnimation } from '@ng-nest/ui/core';
|
|
3
3
|
import { XDialogPrefix, XDialogProperty, XDialogContainer, X_DIALOG_CONTAINER } from './dialog.property';
|
|
4
|
-
import {
|
|
4
|
+
import { XPortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import { Overlay } from '@angular/cdk/overlay';
|
|
7
7
|
import { XI18nService, zh_CN } from '@ng-nest/ui/i18n';
|
|
@@ -123,7 +123,7 @@ export class XDialogComponent extends XDialogProperty {
|
|
|
123
123
|
minHeight: this.minHeight()
|
|
124
124
|
});
|
|
125
125
|
if (this.resizableSignal() && !this.isDefaultMaximize()) {
|
|
126
|
-
this.renderer.addClass(hostElement,
|
|
126
|
+
this.renderer.addClass(hostElement, XPortalResizablePrefix);
|
|
127
127
|
setTimeout(() => {
|
|
128
128
|
Object.assign(this.dialogBox, this.protalService.setResizable(this.overlayElement(), this.placement()));
|
|
129
129
|
this.styleOffsetLeft.set(this.overlayElement()?.offsetLeft);
|
|
@@ -263,10 +263,10 @@ export class XDialogComponent extends XDialogProperty {
|
|
|
263
263
|
this.renderer.setStyle(this.dialogContent, 'height', `${contentHeight}px`);
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
267
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.
|
|
266
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
267
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XDialogComponent, isStandalone: true, selector: "x-dialog", host: { properties: { "class.x-dialog-visible": "this.getVisible", "class": "this.clsName" } }, viewQueries: [{ propertyName: "dialogTpl", first: true, predicate: ["dialogTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #dialogTpl>\r\n @if (container && hasBackdrop()) {\r\n <div class=\"x-dialog-backdrop\" [@x-opacity-animation]=\"visible()\" (click)=\"onClose('close')\"></div>\r\n }\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement()\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize()\"\r\n [class.x-dialog-resizable]=\"resizableSignal()\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize()\"\r\n [ngStyle]=\"getStyle()\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggableSignal() && dialogBox['draggable']\"\r\n [resizable]=\"resizableSignal() && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"styleOffsetLeft()\"\r\n [offsetTop]=\"styleOffsetTop()\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title()\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type()\"\r\n [effect]=\"effect()\"\r\n [hideClose]=\"hideClose()\"\r\n [closeText]=\"closeText()\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose('close')\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter()\">\r\n <ng-container *xOutlet=\"footer()\">\r\n @if (showCancel() || showConfirm()) {\r\n <x-buttons space=\"0.5rem\">\r\n @if (showCancel()) {\r\n <x-button (click)=\"onClose('cancel')\" flat plain>{{ getCancelText() }}</x-button>\r\n }\r\n @if (showConfirm()) {\r\n <x-button type=\"primary\" flat (click)=\"onClose('confirm')\">{{ getConfirmText() }}</x-button>\r\n }\r\n </x-buttons>\r\n }\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n @if (maximizeSignal() || resizableSignal()) {\r\n <x-button\r\n size=\"small\"\r\n flat\r\n [icon]=\"isMaximize() ? 'fto-minimize' : 'fto-maximize'\"\r\n [onlyIcon]=\"true\"\r\n (click)=\"onSize()\"\r\n ></x-button>\r\n }\r\n</ng-template>\r\n\r\n@if (container && visible()) {\r\n <ng-container *ngTemplateOutlet=\"dialogTpl\"></ng-container>\r\n}\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog>x-alert{height:100%}.x-dialog>x-alert .x-alert{min-height:100%;height:fit-content;align-items:inherit;padding:0}.x-dialog>x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog>x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog>x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex-direction:column;flex:1;max-height:70vh;overflow:auto;min-height:2rem}.x-dialog-maximize>x-alert .x-alert{left:0!important;top:0!important;border-radius:0!important}.x-dialog-maximize .x-dialog-content{max-height:calc(100vh - 7.875rem)!important;height:calc(100vh - 7.875rem)!important}.x-dialog-default-maximize .x-dialog-content{max-height:calc(100vh - 7.875rem)!important;height:calc(100vh - 7.875rem)!important;flex:initial}.x-dialog-default-maximize>x-alert .x-alert{left:0!important;top:0!important;border-radius:0!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XAlertComponent, selector: "x-alert" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XButtonsComponent, selector: "x-buttons" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XMoveBoxAnimation, XOpacityAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
268
268
|
}
|
|
269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogComponent, decorators: [{
|
|
270
270
|
type: Component,
|
|
271
271
|
args: [{ selector: `${XDialogPrefix}`, standalone: true, imports: [NgStyle, NgTemplateOutlet, XAlertComponent, XButtonComponent, XButtonsComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation, XOpacityAnimation], template: "<ng-template #dialogTpl>\r\n @if (container && hasBackdrop()) {\r\n <div class=\"x-dialog-backdrop\" [@x-opacity-animation]=\"visible()\" (click)=\"onClose('close')\"></div>\r\n }\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement()\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize()\"\r\n [class.x-dialog-resizable]=\"resizableSignal()\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize()\"\r\n [ngStyle]=\"getStyle()\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggableSignal() && dialogBox['draggable']\"\r\n [resizable]=\"resizableSignal() && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"styleOffsetLeft()\"\r\n [offsetTop]=\"styleOffsetTop()\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title()\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type()\"\r\n [effect]=\"effect()\"\r\n [hideClose]=\"hideClose()\"\r\n [closeText]=\"closeText()\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose('close')\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter()\">\r\n <ng-container *xOutlet=\"footer()\">\r\n @if (showCancel() || showConfirm()) {\r\n <x-buttons space=\"0.5rem\">\r\n @if (showCancel()) {\r\n <x-button (click)=\"onClose('cancel')\" flat plain>{{ getCancelText() }}</x-button>\r\n }\r\n @if (showConfirm()) {\r\n <x-button type=\"primary\" flat (click)=\"onClose('confirm')\">{{ getConfirmText() }}</x-button>\r\n }\r\n </x-buttons>\r\n }\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n @if (maximizeSignal() || resizableSignal()) {\r\n <x-button\r\n size=\"small\"\r\n flat\r\n [icon]=\"isMaximize() ? 'fto-minimize' : 'fto-maximize'\"\r\n [onlyIcon]=\"true\"\r\n (click)=\"onSize()\"\r\n ></x-button>\r\n }\r\n</ng-template>\r\n\r\n@if (container && visible()) {\r\n <ng-container *ngTemplateOutlet=\"dialogTpl\"></ng-container>\r\n}\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog>x-alert{height:100%}.x-dialog>x-alert .x-alert{min-height:100%;height:fit-content;align-items:inherit;padding:0}.x-dialog>x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog>x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog>x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex-direction:column;flex:1;max-height:70vh;overflow:auto;min-height:2rem}.x-dialog-maximize>x-alert .x-alert{left:0!important;top:0!important;border-radius:0!important}.x-dialog-maximize .x-dialog-content{max-height:calc(100vh - 7.875rem)!important;height:calc(100vh - 7.875rem)!important}.x-dialog-default-maximize .x-dialog-content{max-height:calc(100vh - 7.875rem)!important;height:calc(100vh - 7.875rem)!important;flex:initial}.x-dialog-default-maximize>x-alert .x-alert{left:0!important;top:0!important;border-radius:0!important}\n"] }]
|
|
272
272
|
}], ctorParameters: () => [], propDecorators: { getVisible: [{
|
|
@@ -276,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
276
276
|
type: HostBinding,
|
|
277
277
|
args: ['class']
|
|
278
278
|
}] } });
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsdUJBQXVCLEVBRXZCLGdCQUFnQixFQUVoQixXQUFXLEVBQ1gsTUFBTSxFQUVOLE1BQU0sRUFDTixRQUFRLEVBRVIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckcsT0FBTyxFQUNMLGFBQWEsRUFFYixlQUFlLEVBQ2YsZ0JBQWdCLEVBRWhCLGtCQUFrQixFQUNuQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQWdCLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQXVCLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBZSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUloRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7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LGNBQ25DLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7d0RBVVAsVUFBVTtzQkFBcEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBSWYsT0FBTztzQkFBNUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIGluamVjdCxcclxuICBPbkluaXQsXHJcbiAgc2lnbmFsLFxyXG4gIGNvbXB1dGVkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgdmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhNb3ZlQm94QW5pbWF0aW9uLCBYSXNGdW5jdGlvbiwgWENvbmZpZ1NlcnZpY2UsIFhPcGFjaXR5QW5pbWF0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgWERpYWxvZ1ByZWZpeCxcclxuICBYRGlhbG9nT3ZlcmxheVJlZixcclxuICBYRGlhbG9nUHJvcGVydHksXHJcbiAgWERpYWxvZ0NvbnRhaW5lcixcclxuICBYRGlhbG9nQWN0aW9uLFxyXG4gIFhfRElBTE9HX0NPTlRBSU5FUlxyXG59IGZyb20gJy4vZGlhbG9nLnByb3BlcnR5JztcclxuaW1wb3J0IHsgUG9ydGFsUmVzaXphYmxlUHJlZml4LCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCbG9ja1Njcm9sbFN0cmF0ZWd5LCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBYSTE4bkRpYWxvZywgWEkxOG5TZXJ2aWNlLCB6aF9DTiB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0VuZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBYUmVzaXphYmxlRXZlbnQgfSBmcm9tICdAbmctbmVzdC91aS9yZXNpemFibGUnO1xyXG5pbXBvcnQgeyBYRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhBbGVydENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2FsZXJ0JztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCwgWEJ1dHRvbnNDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERpYWxvZ1ByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQsIFhBbGVydENvbXBvbmVudCwgWEJ1dHRvbkNvbXBvbmVudCwgWEJ1dHRvbnNDb21wb25lbnQsIFhPdXRsZXREaXJlY3RpdmVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgYW5pbWF0aW9uczogW1hNb3ZlQm94QW5pbWF0aW9uLCBYT3BhY2l0eUFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBYRGlhbG9nUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcclxuICBwcml2YXRlIHByb3RhbFNlcnZpY2UgPSBpbmplY3QoWFBvcnRhbFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcclxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoWEkxOG5TZXJ2aWNlKTtcclxuICBwcml2YXRlIHVuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MueC1kaWFsb2ctdmlzaWJsZScpIGdldCBnZXRWaXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsc05hbWUgPSBgJHtYRGlhbG9nUHJlZml4fS0ke3RoaXMucGxhY2VtZW50KCl9YDtcclxuXHJcbiAgZGlhbG9nVHBsID0gdmlld0NoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPHZvaWQ+PignZGlhbG9nVHBsJyk7XHJcbiAgZGlhbG9nUmVmITogWERpYWxvZ092ZXJsYXlSZWY7XHJcbiAgYmFja2Ryb3BDbGljayQhOiBTdWJzY3JpcHRpb247XHJcbiAgc2Nyb2xsU3RyYXRlZ3khOiBCbG9ja1Njcm9sbFN0cmF0ZWd5O1xyXG4gIGxvY2FsZSA9IHRvU2lnbmFsKHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2UucGlwZShtYXAoKHgpID0+IHguZGlhbG9nIGFzIFhJMThuRGlhbG9nKSksIHsgaW5pdGlhbFZhbHVlOiB6aF9DTi5kaWFsb2cgfSk7XHJcbiAgb3ZlcmxheUVsZW1lbnQgPSBzaWduYWw8SFRNTEVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuICBkaWFsb2dDb250ZW50PzogSFRNTEVsZW1lbnQ7XHJcbiAgaW5pdEhlaWdodD8gPSAwO1xyXG4gIGluaXRDb250ZW50SGVpZ2h0PyA9IDA7XHJcbiAgaXNNYXhpbWl6ZSA9IHNpZ25hbChmYWxzZSk7XHJcbiAgaXNEZWZhdWx0TWF4aW1pemUgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGRpYWxvZ0JveDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gIGNvbnRlbnRCb3g6IFhSZXNpemFibGVFdmVudCA9IHt9O1xyXG4gIGRpc3RhbmNlID0geyB4OiAwLCB5OiAwIH07XHJcbiAgdmlld0luaXQgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGFjdGlvbjogWERpYWxvZ0FjdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIGNvbnRhaW5lckluaXQgPSBmYWxzZTtcclxuICByZXNpemFibGVTaWduYWwgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGRyYWdnYWJsZVNpZ25hbCA9IHNpZ25hbChmYWxzZSk7XHJcbiAgbWF4aW1pemVTaWduYWwgPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICBnZXRDYW5jZWxUZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FuY2VsVGV4dCgpIHx8IHRoaXMubG9jYWxlKCkuY2FuY2VsVGV4dDtcclxuICB9KTtcclxuXHJcbiAgZ2V0Q29uZmlybVRleHQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maXJtVGV4dCgpIHx8IHRoaXMubG9jYWxlKCkuY29uZmlybVRleHQ7XHJcbiAgfSk7XHJcblxyXG4gIGdldFN0eWxlID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVyXHJcbiAgICAgID8ge1xyXG4gICAgICAgICAgLi4udGhpcy5wcm90YWxTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlKHRoaXMucGxhY2VtZW50KCksIHRoaXMub2Zmc2V0KCkpLFxyXG4gICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgoKSxcclxuICAgICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQoKSxcclxuICAgICAgICAgIG1pbldpZHRoOiB0aGlzLm1pbldpZHRoKCksXHJcbiAgICAgICAgICBtaW5IZWlnaHQ6IHRoaXMubWluSGVpZ2h0KClcclxuICAgICAgICB9XHJcbiAgICAgIDoge307XHJcbiAgfSk7XHJcbiAgY29udGFpbmVyID0gaW5qZWN0PFhEaWFsb2dDb250YWluZXJDb21wb25lbnQ+KFhfRElBTE9HX0NPTlRBSU5FUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuXHJcbiAgc3R5bGVPZmZzZXRMZWZ0ID0gc2lnbmFsKDApO1xyXG4gIHN0eWxlT2Zmc2V0VG9wID0gc2lnbmFsKDApO1xyXG5cclxuICB2aXNpYmxlQ2hhbmdlZCA9IHRvT2JzZXJ2YWJsZSh0aGlzLnZpc2libGUpO1xyXG4gIGRyYWdnYWJsZUNoYW5nZWQgPSB0b09ic2VydmFibGUodGhpcy5kcmFnZ2FibGUpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnZpc2libGVDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMudW5TdWJqZWN0KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zZXRWaXNpYmxlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zY3JvbGxTdHJhdGVneSA9IHRoaXMucHJvdGFsU2VydmljZS5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKTtcclxuICAgIHRoaXMuZHJhZ2dhYmxlU2lnbmFsLnNldCh0aGlzLmRyYWdnYWJsZSgpKTtcclxuICAgIHRoaXMucmVzaXphYmxlU2lnbmFsLnNldCh0aGlzLnJlc2l6YWJsZSgpKTtcclxuICAgIHRoaXMubWF4aW1pemVTaWduYWwuc2V0KHRoaXMubWF4aW1pemUoKSk7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSB0aGlzLmRyYWdnYWJsZVNpZ25hbCgpO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ3Jlc2l6YWJsZSddID0gdGhpcy5yZXNpemFibGVTaWduYWwoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0luaXQuc2V0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmJhY2tkcm9wQ2xpY2skPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldFZpc2libGUoKSB7XHJcbiAgICBpZiAoIXRoaXMudmlld0luaXQoKSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudmlzaWJsZSgpKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uQ2xvc2UoJ2Nsb3NlJywgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlKCkge1xyXG4gICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XHJcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdCA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5wcm90YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IHRoaXMuZGlhbG9nVHBsKCksXHJcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzoge1xyXG4gICAgICAgIHBhbmVsQ2xhc3M6IFtYRGlhbG9nQ29udGFpbmVyLCB0aGlzLmNsYXNzTmFtZSgpXSxcclxuICAgICAgICBoYXNCYWNrZHJvcDogdGhpcy5oYXNCYWNrZHJvcCgpLFxyXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxyXG4gICAgICAgIHdpZHRoOiB0aGlzLndpZHRoKCksXHJcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCgpLFxyXG4gICAgICAgIG1pbldpZHRoOiB0aGlzLm1pbldpZHRoKCksXHJcbiAgICAgICAgbWluSGVpZ2h0OiB0aGlzLm1pbkhlaWdodCgpLFxyXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucHJvdGFsU2VydmljZS5zZXRQbGFjZSh0aGlzLnBsYWNlbWVudCgpLCB0aGlzLm9mZnNldCgpKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHsgaG9zdEVsZW1lbnQsIG92ZXJsYXlFbGVtZW50IH0gPSB0aGlzLmRpYWxvZ1JlZi5vdmVybGF5UmVmITtcclxuICAgIHRoaXMub3ZlcmxheUVsZW1lbnQuc2V0KG92ZXJsYXlFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0V2lkdGhIZWlnaHQoKTtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5kaWFsb2dCb3gsIHtcclxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgoKSxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCgpLFxyXG4gICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCgpLFxyXG4gICAgICBtaW5IZWlnaHQ6IHRoaXMubWluSGVpZ2h0KClcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMucmVzaXphYmxlU2lnbmFsKCkgJiYgIXRoaXMuaXNEZWZhdWx0TWF4aW1pemUoKSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGhvc3RFbGVtZW50LCBQb3J0YWxSZXNpemFibGVQcmVmaXgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuZGlhbG9nQm94LCB0aGlzLnByb3RhbFNlcnZpY2Uuc2V0UmVzaXphYmxlKHRoaXMub3ZlcmxheUVsZW1lbnQoKSEsIHRoaXMucGxhY2VtZW50KCkpKTtcclxuICAgICAgICB0aGlzLnN0eWxlT2Zmc2V0TGVmdC5zZXQodGhpcy5vdmVybGF5RWxlbWVudCgpPy5vZmZzZXRMZWZ0ISk7XHJcbiAgICAgICAgdGhpcy5zdHlsZU9mZnNldFRvcC5zZXQodGhpcy5vdmVybGF5RWxlbWVudCgpPy5vZmZzZXRUb3AhKTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0eWxlT2Zmc2V0TGVmdCgpKTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0eWxlT2Zmc2V0VG9wKCkpO1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ0RyYWdnYWJsZSA9IHRoaXMub3ZlcmxheUVsZW1lbnQoKT8ucXVlcnlTZWxlY3RvcignLngtYWxlcnQtZHJhZ2dhYmxlJykhO1xyXG4gICAgICAgIHRoaXMuaW5pdEhlaWdodCA9IGRpYWxvZ0RyYWdnYWJsZS5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dDb250ZW50ID0gdGhpcy5vdmVybGF5RWxlbWVudCgpPy5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctY29udGVudCcpITtcclxuICAgICAgICB0aGlzLmluaXRDb250ZW50SGVpZ2h0ID0gdGhpcy5kaWFsb2dDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5oYXNCYWNrZHJvcCgpICYmIHRoaXMuYmFja2Ryb3BDbG9zZSgpICYmIHRoaXMuZGlhbG9nUmVmPy5vdmVybGF5UmVmKSB7XHJcbiAgICAgIHRoaXMuYmFja2Ryb3BDbGljayQgPSB0aGlzLmRpYWxvZ1JlZi5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNsb3NlKCdjbG9zZScpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFdpZHRoSGVpZ2h0KCkge1xyXG4gICAgY29uc3Qgd3MgPSBbJzEwMCUnLCAnMTAwdncnXTtcclxuICAgIGNvbnN0IGhzID0gWycxMDAlJywgJzEwMHZoJ107XHJcbiAgICBpZiAod3MuaW5jbHVkZXModGhpcy53aWR0aCgpKSAmJiBocy5pbmNsdWRlcyh0aGlzLmhlaWdodCgpKSkge1xyXG4gICAgICB0aGlzLmlzRGVmYXVsdE1heGltaXplLnNldCh0cnVlKTtcclxuICAgICAgdGhpcy5yZXNpemFibGVTaWduYWwuc2V0KGZhbHNlKTtcclxuICAgICAgdGhpcy5kcmFnZ2FibGVTaWduYWwuc2V0KGZhbHNlKTtcclxuICAgICAgdGhpcy5tYXhpbWl6ZVNpZ25hbC5zZXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcG9ydGFsQXR0YWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dSZWY/Lm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKGFjdGlvbjogWERpYWxvZ0FjdGlvbiwgZXhlY0Z1bmN0aW9uID0gdHJ1ZSkge1xyXG4gICAgaWYgKCF0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgIXRoaXMuY29udGFpbmVyKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5jb250YWluZXIgJiYgIXRoaXMuY29udGFpbmVySW5pdCkgcmV0dXJuO1xyXG4gICAgaWYgKFhJc0Z1bmN0aW9uKHRoaXMuYmVmb3JlQ2xvc2UoKSkgJiYgZXhlY0Z1bmN0aW9uKSB7XHJcbiAgICAgIHRoaXMuYmVmb3JlQ2xvc2UoKT8uKGFjdGlvbik7XHJcbiAgICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aXNpYmxlLnNldChmYWxzZSk7XHJcbiAgICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy5iYWNrZHJvcENsaWNrJD8udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoW2FjdGlvbiwgdGhpcy5hY3Rpb25dLmluY2x1ZGVzKCdjb25maXJtJykpIHtcclxuICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChbYWN0aW9uLCB0aGlzLmFjdGlvbl0uaW5jbHVkZXMoJ2NhbmNlbCcpKSB7XHJcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmFjdGlvbiA9IG51bGw7XHJcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EcmFnRW5kZWQoJGV2ZW50OiBDZGtEcmFnRW5kKSB7XHJcbiAgICB0aGlzLmRpc3RhbmNlID0geyB4OiB0aGlzLmRpc3RhbmNlLnggKyAkZXZlbnQuZGlzdGFuY2UueCwgeTogdGhpcy5kaXN0YW5jZS55ICsgJGV2ZW50LmRpc3RhbmNlLnkgfTtcclxuICB9XHJcblxyXG4gIG9uU2l6ZSgpIHtcclxuICAgIGlmICghdGhpcy5kaWFsb2dSZWYpIHJldHVybjtcclxuICAgIHRoaXMuaXNNYXhpbWl6ZS51cGRhdGUoKHgpID0+ICF4KTtcclxuICAgIGlmICh0aGlzLmlzTWF4aW1pemUoKSkge1xyXG4gICAgICB0aGlzLm9uTWF4aW1pemUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25NaW5pbWl6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25NYXhpbWl6ZSgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWY/LnVwZGF0ZVNpemUoe1xyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgbWluV2lkdGg6ICcxMDAlJyxcclxuICAgICAgbWluSGVpZ2h0OiAnMTAwJSdcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ21pbldpZHRoJ10gPSAnMTAwJSc7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluSGVpZ2h0J10gPSAnMTAwJSc7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSBmYWxzZTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydyZXNpemFibGUnXSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMucmVzaXphYmxlU2lnbmFsKCkpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50KCksICdtYXJnaW4nLCAnMCAwIDAgMCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZHJhZ2dhYmxlU2lnbmFsKCkpIHtcclxuICAgICAgdGhpcy5kaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IHg6IDAsIHk6IDAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTWluaW1pemUoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluV2lkdGgnXSA9IHRoaXMubWluV2lkdGgoKTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydtaW5IZWlnaHQnXSA9IHRoaXMubWluSGVpZ2h0KCk7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSB0aGlzLmRyYWdnYWJsZVNpZ25hbCgpO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ3Jlc2l6YWJsZSddID0gdGhpcy5yZXNpemFibGVTaWduYWwoKTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWY/LnVwZGF0ZVNpemUoe1xyXG4gICAgICB3aWR0aDogdGhpcy5kaWFsb2dCb3hbJ3dpZHRoJ10sXHJcbiAgICAgIGhlaWdodDogdGhpcy5kaWFsb2dCb3hbJ2hlaWdodCddLFxyXG4gICAgICBtaW5XaWR0aDogdGhpcy5kaWFsb2dCb3hbJ21pbldpZHRoJ10sXHJcbiAgICAgIG1pbkhlaWdodDogdGhpcy5kaWFsb2dCb3hbJ21pbkhlaWdodCddXHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmRyYWdnYWJsZVNpZ25hbCgpKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nQm94WydkaXN0YW5jZSddID0geyAuLi50aGlzLmRpc3RhbmNlIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXNpemFibGVTaWduYWwoKSkge1xyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpblRvcCddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50KCksICdtYXJnaW4tdG9wJywgYCR7dGhpcy5kaWFsb2dCb3hbJ21hcmdpblRvcCddfWApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmRpYWxvZ0JveFsnbWFyZ2luTGVmdCddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50KCksICdtYXJnaW4tbGVmdCcsIGAke3RoaXMuZGlhbG9nQm94WydtYXJnaW5MZWZ0J119YCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGlhbG9nQm94WydtYXJnaW5SaWdodCddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50KCksICdtYXJnaW4tcmlnaHQnLCBgJHt0aGlzLmRpYWxvZ0JveFsnbWFyZ2luUmlnaHQnXX1gKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpbkJvdHRvbSddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50KCksICdtYXJnaW4tYm90dG9tJywgYCR7dGhpcy5kaWFsb2dCb3hbJ21hcmdpbkJvdHRvbSddfWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb3ZlRG9uZSgkZXZlbnQ6IHsgdG9TdGF0ZTogc3RyaW5nIH0pIHtcclxuICAgIGlmICgkZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VEb25lLmVtaXQoJGV2ZW50KTtcclxuICAgICAgdGhpcy5pc01heGltaXplLnNldChmYWxzZSk7XHJcbiAgICAgIHRoaXMuZGlhbG9nQm94ID0ge1xyXG4gICAgICAgIGRyYWdnYWJsZTogdGhpcy5kcmFnZ2FibGVTaWduYWwoKSxcclxuICAgICAgICByZXNpemFibGU6IHRoaXMucmVzaXphYmxlU2lnbmFsKClcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5kaXN0YW5jZSA9IHsgeDogMCwgeTogMCB9O1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93RG9uZS5lbWl0KCRldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblJlc2l6aW5nKGV2ZW50OiBYUmVzaXphYmxlRXZlbnQpIHtcclxuICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSBOdW1iZXIodGhpcy5pbml0Q29udGVudEhlaWdodCkgKyBOdW1iZXIoZXZlbnQuY2xpZW50SGVpZ2h0KSAtIE51bWJlcih0aGlzLmluaXRIZWlnaHQpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRpYWxvZ0NvbnRlbnQsICdtYXgtaGVpZ2h0JywgJ2luaXRpYWwnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kaWFsb2dDb250ZW50LCAnZmxleCcsICdpbml0aWFsJyk7XHJcbiAgICBpZiAoWyd0b3Atc3RhcnQnLCAndG9wLWVuZCcsICdib3R0b20nLCAndG9wJywgJ2JvdHRvbS1zdGFydCcsICdib3R0b20tZW5kJ10uaW5jbHVkZXMoZXZlbnQuZGlyZWN0aW9uIGFzIHN0cmluZykpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRpYWxvZ0NvbnRlbnQsICdoZWlnaHQnLCBgJHtjb250ZW50SGVpZ2h0fXB4YCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGlhbG9nVHBsPlxyXG4gIEBpZiAoY29udGFpbmVyICYmIGhhc0JhY2tkcm9wKCkpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZy1iYWNrZHJvcFwiIFtAeC1vcGFjaXR5LWFuaW1hdGlvbl09XCJ2aXNpYmxlKClcIiAoY2xpY2spPVwib25DbG9zZSgnY2xvc2UnKVwiPjwvZGl2PlxyXG4gIH1cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIngtZGlhbG9nXCJcclxuICAgIFtAeC1tb3ZlLWJveC1hbmltYXRpb25dPVwicGxhY2VtZW50KClcIlxyXG4gICAgKEB4LW1vdmUtYm94LWFuaW1hdGlvbi5kb25lKT1cIm1vdmVEb25lKCRldmVudClcIlxyXG4gICAgW2NsYXNzLngtZGlhbG9nLW1heGltaXplXT1cImlzTWF4aW1pemUoKVwiXHJcbiAgICBbY2xhc3MueC1kaWFsb2ctcmVzaXphYmxlXT1cInJlc2l6YWJsZVNpZ25hbCgpXCJcclxuICAgIFtjbGFzcy54LWRpYWxvZy1kZWZhdWx0LW1heGltaXplXT1cImlzRGVmYXVsdE1heGltaXplKClcIlxyXG4gICAgW25nU3R5bGVdPVwiZ2V0U3R5bGUoKVwiXHJcbiAgPlxyXG4gICAgPHgtYWxlcnRcclxuICAgICAgW2RyYWdnYWJsZV09XCJkcmFnZ2FibGVTaWduYWwoKSAmJiBkaWFsb2dCb3hbJ2RyYWdnYWJsZSddXCJcclxuICAgICAgW3Jlc2l6YWJsZV09XCJyZXNpemFibGVTaWduYWwoKSAmJiBkaWFsb2dCb3hbJ3Jlc2l6YWJsZSddXCJcclxuICAgICAgW2RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRpYWxvZ0JveFsnZGlzdGFuY2UnXVwiXHJcbiAgICAgIFtvZmZzZXRMZWZ0XT1cInN0eWxlT2Zmc2V0TGVmdCgpXCJcclxuICAgICAgW29mZnNldFRvcF09XCJzdHlsZU9mZnNldFRvcCgpXCJcclxuICAgICAgW21pbldpZHRoXT1cImRpYWxvZ0JveFsnbWluV2lkdGgnXVwiXHJcbiAgICAgIFttaW5IZWlnaHRdPVwiZGlhbG9nQm94WydtaW5IZWlnaHQnXVwiXHJcbiAgICAgIFtkcmFnQm91bmRhcnldPVwiJy5jZGstb3ZlcmxheS1jb250YWluZXInXCJcclxuICAgICAgW3RpdGxlXT1cInRpdGxlKClcIlxyXG4gICAgICBbY29udGVudF09XCJjb250ZW50VHBsXCJcclxuICAgICAgW3R5cGVdPVwidHlwZSgpXCJcclxuICAgICAgW2VmZmVjdF09XCJlZmZlY3QoKVwiXHJcbiAgICAgIFtoaWRlQ2xvc2VdPVwiaGlkZUNsb3NlKClcIlxyXG4gICAgICBbY2xvc2VUZXh0XT1cImNsb3NlVGV4dCgpXCJcclxuICAgICAgW29wZXJhdGlvblRwbF09XCJvcGVyYXRpb25UcGxcIlxyXG4gICAgICAoY2xvc2UpPVwib25DbG9zZSgnY2xvc2UnKVwiXHJcbiAgICAgIChkcmFnRW5kZWQpPVwib25EcmFnRW5kZWQoJGV2ZW50KVwiXHJcbiAgICAgIChyZXNpemluZyk9XCJvblJlc2l6aW5nKCRldmVudClcIlxyXG4gICAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxyXG4gICAgICBbZHVyYXRpb25dPVwiMFwiXHJcbiAgICAgIG1hbnVhbFxyXG4gICAgICBkaXNhYmxlZEFuaW1hdGlvblxyXG4gICAgPjwveC1hbGVydD5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cclxuICA8ZGl2IGNsYXNzPVwieC1kaWFsb2ctaW5uZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZy1jb250ZW50XCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGlhbG9nLWJ1dHRvbnNcIiBbY2xhc3MueC1kaWFsb2ctYnV0dG9ucy1jZW50ZXJdPVwiYnV0dG9uc0NlbnRlcigpXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJmb290ZXIoKVwiPlxyXG4gICAgICAgIEBpZiAoc2hvd0NhbmNlbCgpIHx8IHNob3dDb25maXJtKCkpIHtcclxuICAgICAgICAgIDx4LWJ1dHRvbnMgc3BhY2U9XCIwLjVyZW1cIj5cclxuICAgICAgICAgICAgQGlmIChzaG93Q2FuY2VsKCkpIHtcclxuICAgICAgICAgICAgICA8eC1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoJ2NhbmNlbCcpXCIgZmxhdCBwbGFpbj57eyBnZXRDYW5jZWxUZXh0KCkgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoc2hvd0NvbmZpcm0oKSkge1xyXG4gICAgICAgICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGZsYXQgKGNsaWNrKT1cIm9uQ2xvc2UoJ2NvbmZpcm0nKVwiPnt7IGdldENvbmZpcm1UZXh0KCkgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L3gtYnV0dG9ucz5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI29wZXJhdGlvblRwbD5cclxuICBAaWYgKG1heGltaXplU2lnbmFsKCkgfHwgcmVzaXphYmxlU2lnbmFsKCkpIHtcclxuICAgIDx4LWJ1dHRvblxyXG4gICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICBmbGF0XHJcbiAgICAgIFtpY29uXT1cImlzTWF4aW1pemUoKSA/ICdmdG8tbWluaW1pemUnIDogJ2Z0by1tYXhpbWl6ZSdcIlxyXG4gICAgICBbb25seUljb25dPVwidHJ1ZVwiXHJcbiAgICAgIChjbGljayk9XCJvblNpemUoKVwiXHJcbiAgICA+PC94LWJ1dHRvbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5AaWYgKGNvbnRhaW5lciAmJiB2aXNpYmxlKCkpIHtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGlhbG9nVHBsXCI+PC9uZy1jb250YWluZXI+XHJcbn1cclxuIl19
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsdUJBQXVCLEVBRXZCLGdCQUFnQixFQUVoQixXQUFXLEVBQ1gsTUFBTSxFQUVOLE1BQU0sRUFDTixRQUFRLEVBRVIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckcsT0FBTyxFQUNMLGFBQWEsRUFFYixlQUFlLEVBQ2YsZ0JBQWdCLEVBRWhCLGtCQUFrQixFQUNuQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RSxPQUFPLEVBQWdCLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQXVCLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBZSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUloRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7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LGNBQ25DLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7d0RBVVAsVUFBVTtzQkFBcEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBSWYsT0FBTztzQkFBNUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIGluamVjdCxcclxuICBPbkluaXQsXHJcbiAgc2lnbmFsLFxyXG4gIGNvbXB1dGVkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgdmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhNb3ZlQm94QW5pbWF0aW9uLCBYSXNGdW5jdGlvbiwgWENvbmZpZ1NlcnZpY2UsIFhPcGFjaXR5QW5pbWF0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgWERpYWxvZ1ByZWZpeCxcclxuICBYRGlhbG9nT3ZlcmxheVJlZixcclxuICBYRGlhbG9nUHJvcGVydHksXHJcbiAgWERpYWxvZ0NvbnRhaW5lcixcclxuICBYRGlhbG9nQWN0aW9uLFxyXG4gIFhfRElBTE9HX0NPTlRBSU5FUlxyXG59IGZyb20gJy4vZGlhbG9nLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWFBvcnRhbFJlc2l6YWJsZVByZWZpeCwgWFBvcnRhbFNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQmxvY2tTY3JvbGxTdHJhdGVneSwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgWEkxOG5EaWFsb2csIFhJMThuU2VydmljZSwgemhfQ04gfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENka0RyYWdFbmQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWFJlc2l6YWJsZUV2ZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvcmVzaXphYmxlJztcclxuaW1wb3J0IHsgWERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYQWxlcnRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9hbGVydCc7XHJcbmltcG9ydCB7IFhCdXR0b25Db21wb25lbnQsIFhCdXR0b25zQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgWE91dGxldERpcmVjdGl2ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEaWFsb2dQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBYQWxlcnRDb21wb25lbnQsIFhCdXR0b25Db21wb25lbnQsIFhCdXR0b25zQ29tcG9uZW50LCBYT3V0bGV0RGlyZWN0aXZlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGFuaW1hdGlvbnM6IFtYTW92ZUJveEFuaW1hdGlvbiwgWE9wYWNpdHlBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgWERpYWxvZ1Byb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XHJcbiAgcHJpdmF0ZSBwcm90YWxTZXJ2aWNlID0gaW5qZWN0KFhQb3J0YWxTZXJ2aWNlKTtcclxuICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcbiAgcHJpdmF0ZSB1blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLngtZGlhbG9nLXZpc2libGUnKSBnZXQgZ2V0VmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnZpc2libGUoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbHNOYW1lID0gYCR7WERpYWxvZ1ByZWZpeH0tJHt0aGlzLnBsYWNlbWVudCgpfWA7XHJcblxyXG4gIGRpYWxvZ1RwbCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxUZW1wbGF0ZVJlZjx2b2lkPj4oJ2RpYWxvZ1RwbCcpO1xyXG4gIGRpYWxvZ1JlZiE6IFhEaWFsb2dPdmVybGF5UmVmO1xyXG4gIGJhY2tkcm9wQ2xpY2skITogU3Vic2NyaXB0aW9uO1xyXG4gIHNjcm9sbFN0cmF0ZWd5ITogQmxvY2tTY3JvbGxTdHJhdGVneTtcclxuICBsb2NhbGUgPSB0b1NpZ25hbCh0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlLnBpcGUobWFwKCh4KSA9PiB4LmRpYWxvZyBhcyBYSTE4bkRpYWxvZykpLCB7IGluaXRpYWxWYWx1ZTogemhfQ04uZGlhbG9nIH0pO1xyXG4gIG92ZXJsYXlFbGVtZW50ID0gc2lnbmFsPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XHJcbiAgZGlhbG9nQ29udGVudD86IEhUTUxFbGVtZW50O1xyXG4gIGluaXRIZWlnaHQ/ID0gMDtcclxuICBpbml0Q29udGVudEhlaWdodD8gPSAwO1xyXG4gIGlzTWF4aW1pemUgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGlzRGVmYXVsdE1heGltaXplID0gc2lnbmFsKGZhbHNlKTtcclxuICBkaWFsb2dCb3g6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICBjb250ZW50Qm94OiBYUmVzaXphYmxlRXZlbnQgPSB7fTtcclxuICBkaXN0YW5jZSA9IHsgeDogMCwgeTogMCB9O1xyXG4gIHZpZXdJbml0ID0gc2lnbmFsKGZhbHNlKTtcclxuICBhY3Rpb246IFhEaWFsb2dBY3Rpb24gfCBudWxsID0gbnVsbDtcclxuICBjb250YWluZXJJbml0ID0gZmFsc2U7XHJcbiAgcmVzaXphYmxlU2lnbmFsID0gc2lnbmFsKGZhbHNlKTtcclxuICBkcmFnZ2FibGVTaWduYWwgPSBzaWduYWwoZmFsc2UpO1xyXG4gIG1heGltaXplU2lnbmFsID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgZ2V0Q2FuY2VsVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmNhbmNlbFRleHQoKSB8fCB0aGlzLmxvY2FsZSgpLmNhbmNlbFRleHQ7XHJcbiAgfSk7XHJcblxyXG4gIGdldENvbmZpcm1UZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybVRleHQoKSB8fCB0aGlzLmxvY2FsZSgpLmNvbmZpcm1UZXh0O1xyXG4gIH0pO1xyXG5cclxuICBnZXRTdHlsZSA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lclxyXG4gICAgICA/IHtcclxuICAgICAgICAgIC4uLnRoaXMucHJvdGFsU2VydmljZS5zZXRDb250YWluZXJTdHlsZSh0aGlzLnBsYWNlbWVudCgpLCB0aGlzLm9mZnNldCgpKSxcclxuICAgICAgICAgIHdpZHRoOiB0aGlzLndpZHRoKCksXHJcbiAgICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0KCksXHJcbiAgICAgICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCgpLFxyXG4gICAgICAgICAgbWluSGVpZ2h0OiB0aGlzLm1pbkhlaWdodCgpXHJcbiAgICAgICAgfVxyXG4gICAgICA6IHt9O1xyXG4gIH0pO1xyXG4gIGNvbnRhaW5lciA9IGluamVjdDxYRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50PihYX0RJQUxPR19DT05UQUlORVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgY29uZmlnU2VydmljZSA9IGluamVjdChYQ29uZmlnU2VydmljZSk7XHJcblxyXG4gIHN0eWxlT2Zmc2V0TGVmdCA9IHNpZ25hbCgwKTtcclxuICBzdHlsZU9mZnNldFRvcCA9IHNpZ25hbCgwKTtcclxuXHJcbiAgdmlzaWJsZUNoYW5nZWQgPSB0b09ic2VydmFibGUodGhpcy52aXNpYmxlKTtcclxuICBkcmFnZ2FibGVDaGFuZ2VkID0gdG9PYnNlcnZhYmxlKHRoaXMuZHJhZ2dhYmxlKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VmlzaWJsZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnByb3RhbFNlcnZpY2Uub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCk7XHJcbiAgICB0aGlzLmRyYWdnYWJsZVNpZ25hbC5zZXQodGhpcy5kcmFnZ2FibGUoKSk7XHJcbiAgICB0aGlzLnJlc2l6YWJsZVNpZ25hbC5zZXQodGhpcy5yZXNpemFibGUoKSk7XHJcbiAgICB0aGlzLm1heGltaXplU2lnbmFsLnNldCh0aGlzLm1heGltaXplKCkpO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ2RyYWdnYWJsZSddID0gdGhpcy5kcmFnZ2FibGVTaWduYWwoKTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydyZXNpemFibGUnXSA9IHRoaXMucmVzaXphYmxlU2lnbmFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdJbml0LnNldCh0cnVlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5iYWNrZHJvcENsaWNrJD8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMudW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMudW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWaXNpYmxlKCkge1xyXG4gICAgaWYgKCF0aGlzLnZpZXdJbml0KCkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnZpc2libGUoKSkge1xyXG4gICAgICB0aGlzLmNyZWF0ZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vbkNsb3NlKCdjbG9zZScsIGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZSgpIHtcclxuICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckluaXQgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMucHJvdGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiB0aGlzLmRpYWxvZ1RwbCgpLFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IHtcclxuICAgICAgICBwYW5lbENsYXNzOiBbWERpYWxvZ0NvbnRhaW5lciwgdGhpcy5jbGFzc05hbWUoKV0sXHJcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AoKSxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcclxuICAgICAgICB3aWR0aDogdGhpcy53aWR0aCgpLFxyXG4gICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQoKSxcclxuICAgICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCgpLFxyXG4gICAgICAgIG1pbkhlaWdodDogdGhpcy5taW5IZWlnaHQoKSxcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnByb3RhbFNlcnZpY2Uuc2V0UGxhY2UodGhpcy5wbGFjZW1lbnQoKSwgdGhpcy5vZmZzZXQoKSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IGhvc3RFbGVtZW50LCBvdmVybGF5RWxlbWVudCB9ID0gdGhpcy5kaWFsb2dSZWYub3ZlcmxheVJlZiE7XHJcbiAgICB0aGlzLm92ZXJsYXlFbGVtZW50LnNldChvdmVybGF5RWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFdpZHRoSGVpZ2h0KCk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuZGlhbG9nQm94LCB7XHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoKCksXHJcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQoKSxcclxuICAgICAgbWluV2lkdGg6IHRoaXMubWluV2lkdGgoKSxcclxuICAgICAgbWluSGVpZ2h0OiB0aGlzLm1pbkhlaWdodCgpXHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLnJlc2l6YWJsZVNpZ25hbCgpICYmICF0aGlzLmlzRGVmYXVsdE1heGltaXplKCkpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhob3N0RWxlbWVudCwgWFBvcnRhbFJlc2l6YWJsZVByZWZpeCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5kaWFsb2dCb3gsIHRoaXMucHJvdGFsU2VydmljZS5zZXRSZXNpemFibGUodGhpcy5vdmVybGF5RWxlbWVudCgpISwgdGhpcy5wbGFjZW1lbnQoKSkpO1xyXG4gICAgICAgIHRoaXMuc3R5bGVPZmZzZXRMZWZ0LnNldCh0aGlzLm92ZXJsYXlFbGVtZW50KCk/Lm9mZnNldExlZnQhKTtcclxuICAgICAgICB0aGlzLnN0eWxlT2Zmc2V0VG9wLnNldCh0aGlzLm92ZXJsYXlFbGVtZW50KCk/Lm9mZnNldFRvcCEpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc3R5bGVPZmZzZXRMZWZ0KCkpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc3R5bGVPZmZzZXRUb3AoKSk7XHJcbiAgICAgICAgY29uc3QgZGlhbG9nRHJhZ2dhYmxlID0gdGhpcy5vdmVybGF5RWxlbWVudCgpPy5xdWVyeVNlbGVjdG9yKCcueC1hbGVydC1kcmFnZ2FibGUnKSE7XHJcbiAgICAgICAgdGhpcy5pbml0SGVpZ2h0ID0gZGlhbG9nRHJhZ2dhYmxlLmNsaWVudEhlaWdodDtcclxuICAgICAgICB0aGlzLmRpYWxvZ0NvbnRlbnQgPSB0aGlzLm92ZXJsYXlFbGVtZW50KCk/LnF1ZXJ5U2VsZWN0b3IoJy54LWRpYWxvZy1jb250ZW50JykhO1xyXG4gICAgICAgIHRoaXMuaW5pdENvbnRlbnRIZWlnaHQgPSB0aGlzLmRpYWxvZ0NvbnRlbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhhc0JhY2tkcm9wKCkgJiYgdGhpcy5iYWNrZHJvcENsb3NlKCkgJiYgdGhpcy5kaWFsb2dSZWY/Lm92ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrJCA9IHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2xvc2UoJ2Nsb3NlJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0V2lkdGhIZWlnaHQoKSB7XHJcbiAgICBjb25zdCB3cyA9IFsnMTAwJScsICcxMDB2dyddO1xyXG4gICAgY29uc3QgaHMgPSBbJzEwMCUnLCAnMTAwdmgnXTtcclxuICAgIGlmICh3cy5pbmNsdWRlcyh0aGlzLndpZHRoKCkpICYmIGhzLmluY2x1ZGVzKHRoaXMuaGVpZ2h0KCkpKSB7XHJcbiAgICAgIHRoaXMuaXNEZWZhdWx0TWF4aW1pemUuc2V0KHRydWUpO1xyXG4gICAgICB0aGlzLnJlc2l6YWJsZVNpZ25hbC5zZXQoZmFsc2UpO1xyXG4gICAgICB0aGlzLmRyYWdnYWJsZVNpZ25hbC5zZXQoZmFsc2UpO1xyXG4gICAgICB0aGlzLm1heGltaXplU2lnbmFsLnNldChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3J0YWxBdHRhY2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoYWN0aW9uOiBYRGlhbG9nQWN0aW9uLCBleGVjRnVuY3Rpb24gPSB0cnVlKSB7XHJcbiAgICBpZiAoIXRoaXMucG9ydGFsQXR0YWNoZWQoKSAmJiAhdGhpcy5jb250YWluZXIpIHJldHVybjtcclxuICAgIGlmICh0aGlzLmNvbnRhaW5lciAmJiAhdGhpcy5jb250YWluZXJJbml0KSByZXR1cm47XHJcbiAgICBpZiAoWElzRnVuY3Rpb24odGhpcy5iZWZvcmVDbG9zZSgpKSAmJiBleGVjRnVuY3Rpb24pIHtcclxuICAgICAgdGhpcy5iZWZvcmVDbG9zZSgpPy4oYWN0aW9uKTtcclxuICAgICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpc2libGUuc2V0KGZhbHNlKTtcclxuICAgICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgICB0aGlzLmJhY2tkcm9wQ2xpY2skPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChbYWN0aW9uLCB0aGlzLmFjdGlvbl0uaW5jbHVkZXMoJ2NvbmZpcm0nKSkge1xyXG4gICAgICAgIHRoaXMuY29uZmlybS5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFthY3Rpb24sIHRoaXMuYWN0aW9uXS5pbmNsdWRlcygnY2FuY2VsJykpIHtcclxuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb250YWluZXJJbml0ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuYWN0aW9uID0gbnVsbDtcclxuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRyYWdFbmRlZCgkZXZlbnQ6IENka0RyYWdFbmQpIHtcclxuICAgIHRoaXMuZGlzdGFuY2UgPSB7IHg6IHRoaXMuZGlzdGFuY2UueCArICRldmVudC5kaXN0YW5jZS54LCB5OiB0aGlzLmRpc3RhbmNlLnkgKyAkZXZlbnQuZGlzdGFuY2UueSB9O1xyXG4gIH1cclxuXHJcbiAgb25TaXplKCkge1xyXG4gICAgaWYgKCF0aGlzLmRpYWxvZ1JlZikgcmV0dXJuO1xyXG4gICAgdGhpcy5pc01heGltaXplLnVwZGF0ZSgoeCkgPT4gIXgpO1xyXG4gICAgaWYgKHRoaXMuaXNNYXhpbWl6ZSgpKSB7XHJcbiAgICAgIHRoaXMub25NYXhpbWl6ZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vbk1pbmltaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk1heGltaXplKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYub3ZlcmxheVJlZj8udXBkYXRlU2l6ZSh7XHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBtaW5XaWR0aDogJzEwMCUnLFxyXG4gICAgICBtaW5IZWlnaHQ6ICcxMDAlJ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluV2lkdGgnXSA9ICcxMDAlJztcclxuICAgIHRoaXMuZGlhbG9nQm94WydtaW5IZWlnaHQnXSA9ICcxMDAlJztcclxuICAgIHRoaXMuZGlhbG9nQm94WydkcmFnZ2FibGUnXSA9IGZhbHNlO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ3Jlc2l6YWJsZSddID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5yZXNpemFibGVTaWduYWwoKSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQoKSwgJ21hcmdpbicsICcwIDAgMCAwJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kcmFnZ2FibGVTaWduYWwoKSkge1xyXG4gICAgICB0aGlzLmRpYWxvZ0JveFsnZGlzdGFuY2UnXSA9IHsgeDogMCwgeTogMCB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25NaW5pbWl6ZSgpIHtcclxuICAgIHRoaXMuZGlhbG9nQm94WydtaW5XaWR0aCddID0gdGhpcy5taW5XaWR0aCgpO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ21pbkhlaWdodCddID0gdGhpcy5taW5IZWlnaHQoKTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydkcmFnZ2FibGUnXSA9IHRoaXMuZHJhZ2dhYmxlU2lnbmFsKCk7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsncmVzaXphYmxlJ10gPSB0aGlzLnJlc2l6YWJsZVNpZ25hbCgpO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYub3ZlcmxheVJlZj8udXBkYXRlU2l6ZSh7XHJcbiAgICAgIHdpZHRoOiB0aGlzLmRpYWxvZ0JveFsnd2lkdGgnXSxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmRpYWxvZ0JveFsnaGVpZ2h0J10sXHJcbiAgICAgIG1pbldpZHRoOiB0aGlzLmRpYWxvZ0JveFsnbWluV2lkdGgnXSxcclxuICAgICAgbWluSGVpZ2h0OiB0aGlzLmRpYWxvZ0JveFsnbWluSGVpZ2h0J11cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZHJhZ2dhYmxlU2lnbmFsKCkpIHtcclxuICAgICAgdGhpcy5kaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IC4uLnRoaXMuZGlzdGFuY2UgfTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlc2l6YWJsZVNpZ25hbCgpKSB7XHJcbiAgICAgIGlmICh0aGlzLmRpYWxvZ0JveFsnbWFyZ2luVG9wJ10pIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQoKSwgJ21hcmdpbi10b3AnLCBgJHt0aGlzLmRpYWxvZ0JveFsnbWFyZ2luVG9wJ119YCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGlhbG9nQm94WydtYXJnaW5MZWZ0J10pIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQoKSwgJ21hcmdpbi1sZWZ0JywgYCR7dGhpcy5kaWFsb2dCb3hbJ21hcmdpbkxlZnQnXX1gKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpblJpZ2h0J10pIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQoKSwgJ21hcmdpbi1yaWdodCcsIGAke3RoaXMuZGlhbG9nQm94WydtYXJnaW5SaWdodCddfWApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmRpYWxvZ0JveFsnbWFyZ2luQm90dG9tJ10pIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQoKSwgJ21hcmdpbi1ib3R0b20nLCBgJHt0aGlzLmRpYWxvZ0JveFsnbWFyZ2luQm90dG9tJ119YCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1vdmVEb25lKCRldmVudDogeyB0b1N0YXRlOiBzdHJpbmcgfSkge1xyXG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcclxuICAgICAgdGhpcy5jbG9zZURvbmUuZW1pdCgkZXZlbnQpO1xyXG4gICAgICB0aGlzLmlzTWF4aW1pemUuc2V0KGZhbHNlKTtcclxuICAgICAgdGhpcy5kaWFsb2dCb3ggPSB7XHJcbiAgICAgICAgZHJhZ2dhYmxlOiB0aGlzLmRyYWdnYWJsZVNpZ25hbCgpLFxyXG4gICAgICAgIHJlc2l6YWJsZTogdGhpcy5yZXNpemFibGVTaWduYWwoKVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmRpc3RhbmNlID0geyB4OiAwLCB5OiAwIH07XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dEb25lLmVtaXQoJGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUmVzaXppbmcoZXZlbnQ6IFhSZXNpemFibGVFdmVudCkge1xyXG4gICAgY29uc3QgY29udGVudEhlaWdodCA9IE51bWJlcih0aGlzLmluaXRDb250ZW50SGVpZ2h0KSArIE51bWJlcihldmVudC5jbGllbnRIZWlnaHQpIC0gTnVtYmVyKHRoaXMuaW5pdEhlaWdodCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZGlhbG9nQ29udGVudCwgJ21heC1oZWlnaHQnLCAnaW5pdGlhbCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRpYWxvZ0NvbnRlbnQsICdmbGV4JywgJ2luaXRpYWwnKTtcclxuICAgIGlmIChbJ3RvcC1zdGFydCcsICd0b3AtZW5kJywgJ2JvdHRvbScsICd0b3AnLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnXS5pbmNsdWRlcyhldmVudC5kaXJlY3Rpb24gYXMgc3RyaW5nKSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZGlhbG9nQ29udGVudCwgJ2hlaWdodCcsIGAke2NvbnRlbnRIZWlnaHR9cHhgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNkaWFsb2dUcGw+XHJcbiAgQGlmIChjb250YWluZXIgJiYgaGFzQmFja2Ryb3AoKSkge1xyXG4gICAgPGRpdiBjbGFzcz1cIngtZGlhbG9nLWJhY2tkcm9wXCIgW0B4LW9wYWNpdHktYW5pbWF0aW9uXT1cInZpc2libGUoKVwiIChjbGljayk9XCJvbkNsb3NlKCdjbG9zZScpXCI+PC9kaXY+XHJcbiAgfVxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwieC1kaWFsb2dcIlxyXG4gICAgW0B4LW1vdmUtYm94LWFuaW1hdGlvbl09XCJwbGFjZW1lbnQoKVwiXHJcbiAgICAoQHgtbW92ZS1ib3gtYW5pbWF0aW9uLmRvbmUpPVwibW92ZURvbmUoJGV2ZW50KVwiXHJcbiAgICBbY2xhc3MueC1kaWFsb2ctbWF4aW1pemVdPVwiaXNNYXhpbWl6ZSgpXCJcclxuICAgIFtjbGFzcy54LWRpYWxvZy1yZXNpemFibGVdPVwicmVzaXphYmxlU2lnbmFsKClcIlxyXG4gICAgW2NsYXNzLngtZGlhbG9nLWRlZmF1bHQtbWF4aW1pemVdPVwiaXNEZWZhdWx0TWF4aW1pemUoKVwiXHJcbiAgICBbbmdTdHlsZV09XCJnZXRTdHlsZSgpXCJcclxuICA+XHJcbiAgICA8eC1hbGVydFxyXG4gICAgICBbZHJhZ2dhYmxlXT1cImRyYWdnYWJsZVNpZ25hbCgpICYmIGRpYWxvZ0JveFsnZHJhZ2dhYmxlJ11cIlxyXG4gICAgICBbcmVzaXphYmxlXT1cInJlc2l6YWJsZVNpZ25hbCgpICYmIGRpYWxvZ0JveFsncmVzaXphYmxlJ11cIlxyXG4gICAgICBbZHJhZ0ZyZWVEcmFnUG9zaXRpb25dPVwiZGlhbG9nQm94WydkaXN0YW5jZSddXCJcclxuICAgICAgW29mZnNldExlZnRdPVwic3R5bGVPZmZzZXRMZWZ0KClcIlxyXG4gICAgICBbb2Zmc2V0VG9wXT1cInN0eWxlT2Zmc2V0VG9wKClcIlxyXG4gICAgICBbbWluV2lkdGhdPVwiZGlhbG9nQm94WydtaW5XaWR0aCddXCJcclxuICAgICAgW21pbkhlaWdodF09XCJkaWFsb2dCb3hbJ21pbkhlaWdodCddXCJcclxuICAgICAgW2RyYWdCb3VuZGFyeV09XCInLmNkay1vdmVybGF5LWNvbnRhaW5lcidcIlxyXG4gICAgICBbdGl0bGVdPVwidGl0bGUoKVwiXHJcbiAgICAgIFtjb250ZW50XT1cImNvbnRlbnRUcGxcIlxyXG4gICAgICBbdHlwZV09XCJ0eXBlKClcIlxyXG4gICAgICBbZWZmZWN0XT1cImVmZmVjdCgpXCJcclxuICAgICAgW2hpZGVDbG9zZV09XCJoaWRlQ2xvc2UoKVwiXHJcbiAgICAgIFtjbG9zZVRleHRdPVwiY2xvc2VUZXh0KClcIlxyXG4gICAgICBbb3BlcmF0aW9uVHBsXT1cIm9wZXJhdGlvblRwbFwiXHJcbiAgICAgIChjbG9zZSk9XCJvbkNsb3NlKCdjbG9zZScpXCJcclxuICAgICAgKGRyYWdFbmRlZCk9XCJvbkRyYWdFbmRlZCgkZXZlbnQpXCJcclxuICAgICAgKHJlc2l6aW5nKT1cIm9uUmVzaXppbmcoJGV2ZW50KVwiXHJcbiAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXHJcbiAgICAgIFtkdXJhdGlvbl09XCIwXCJcclxuICAgICAgbWFudWFsXHJcbiAgICAgIGRpc2FibGVkQW5pbWF0aW9uXHJcbiAgICA+PC94LWFsZXJ0PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZy1pbm5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGlhbG9nLWNvbnRlbnRcIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kaWFsb2ctYnV0dG9uc1wiIFtjbGFzcy54LWRpYWxvZy1idXR0b25zLWNlbnRlcl09XCJidXR0b25zQ2VudGVyKClcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImZvb3RlcigpXCI+XHJcbiAgICAgICAgQGlmIChzaG93Q2FuY2VsKCkgfHwgc2hvd0NvbmZpcm0oKSkge1xyXG4gICAgICAgICAgPHgtYnV0dG9ucyBzcGFjZT1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICBAaWYgKHNob3dDYW5jZWwoKSkge1xyXG4gICAgICAgICAgICAgIDx4LWJ1dHRvbiAoY2xpY2spPVwib25DbG9zZSgnY2FuY2VsJylcIiBmbGF0IHBsYWluPnt7IGdldENhbmNlbFRleHQoKSB9fTwveC1idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIChzaG93Q29uZmlybSgpKSB7XHJcbiAgICAgICAgICAgICAgPHgtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgZmxhdCAoY2xpY2spPVwib25DbG9zZSgnY29uZmlybScpXCI+e3sgZ2V0Q29uZmlybVRleHQoKSB9fTwveC1idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwveC1idXR0b25zPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjb3BlcmF0aW9uVHBsPlxyXG4gIEBpZiAobWF4aW1pemVTaWduYWwoKSB8fCByZXNpemFibGVTaWduYWwoKSkge1xyXG4gICAgPHgtYnV0dG9uXHJcbiAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgIGZsYXRcclxuICAgICAgW2ljb25dPVwiaXNNYXhpbWl6ZSgpID8gJ2Z0by1taW5pbWl6ZScgOiAnZnRvLW1heGltaXplJ1wiXHJcbiAgICAgIFtvbmx5SWNvbl09XCJ0cnVlXCJcclxuICAgICAgKGNsaWNrKT1cIm9uU2l6ZSgpXCJcclxuICAgID48L3gtYnV0dG9uPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbkBpZiAoY29udGFpbmVyICYmIHZpc2libGUoKSkge1xyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaWFsb2dUcGxcIj48L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
|
|
@@ -4,8 +4,8 @@ import { XDialogActionsDirective, XDialogCloseDirective, XDialogContentDirective
|
|
|
4
4
|
import { XDialogContainerComponent } from './dialog-container.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class XDialogModule {
|
|
7
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
8
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.
|
|
7
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XDialogModule, imports: [XDialogComponent,
|
|
9
9
|
XDialogContainerComponent,
|
|
10
10
|
XDialogCloseDirective,
|
|
11
11
|
XDialogTitleDirective,
|
|
@@ -20,9 +20,9 @@ export class XDialogModule {
|
|
|
20
20
|
XDialogActionsDirective,
|
|
21
21
|
XDialogDragHandleDirective,
|
|
22
22
|
XDialogFullscreenDirective] }); }
|
|
23
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.
|
|
23
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogModule, imports: [XDialogComponent] }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogModule, decorators: [{
|
|
26
26
|
type: NgModule,
|
|
27
27
|
args: [{
|
|
28
28
|
exports: [
|
|
@@ -179,10 +179,10 @@ export class XDialogProperty extends XPropertyFunction(X_DIALOG_CONFIG_NAME) {
|
|
|
179
179
|
*/
|
|
180
180
|
this.closeDone = output();
|
|
181
181
|
}
|
|
182
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
183
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.
|
|
182
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
183
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XDialogProperty, selector: "x-dialog-property", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, hideClose: { classPropertyName: "hideClose", publicName: "hideClose", isSignal: true, isRequired: false, transformFunction: null }, closeText: { classPropertyName: "closeText", publicName: "closeText", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, offsetLeft: { classPropertyName: "offsetLeft", publicName: "offsetLeft", isSignal: true, isRequired: false, transformFunction: null }, offsetTop: { classPropertyName: "offsetTop", publicName: "offsetTop", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, effect: { classPropertyName: "effect", publicName: "effect", isSignal: true, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, showCancel: { classPropertyName: "showCancel", publicName: "showCancel", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, showConfirm: { classPropertyName: "showConfirm", publicName: "showConfirm", isSignal: true, isRequired: false, transformFunction: null }, confirmText: { classPropertyName: "confirmText", publicName: "confirmText", isSignal: true, isRequired: false, transformFunction: null }, backdropClose: { classPropertyName: "backdropClose", publicName: "backdropClose", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, buttonsCenter: { classPropertyName: "buttonsCenter", publicName: "buttonsCenter", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, maximize: { classPropertyName: "maximize", publicName: "maximize", isSignal: true, isRequired: false, transformFunction: null }, beforeClose: { classPropertyName: "beforeClose", publicName: "beforeClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange", cancel: "cancel", confirm: "confirm", close: "close", showDone: "showDone", closeDone: "closeDone" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
184
184
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogProperty, decorators: [{
|
|
186
186
|
type: Component,
|
|
187
187
|
args: [{ selector: `${XDialogPrefix}-property`, template: '' }]
|
|
188
188
|
}] });
|
|
@@ -197,10 +197,10 @@ export const X_DIALOG_CONTAINER = new InjectionToken('X_DIALOG_CONTAINER');
|
|
|
197
197
|
* Dialog Container Property
|
|
198
198
|
*/
|
|
199
199
|
export class XDialogContainerProperty extends XProperty {
|
|
200
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
201
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.
|
|
200
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogContainerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
201
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: XDialogContainerProperty, selector: "x-dialog-container-property", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
202
202
|
}
|
|
203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogContainerProperty, decorators: [{
|
|
204
204
|
type: Component,
|
|
205
205
|
args: [{ selector: `${XDialogContainerPrefix}-property`, template: '' }]
|
|
206
206
|
}] });
|
|
@@ -2,7 +2,7 @@ import { Overlay } from '@angular/cdk/overlay';
|
|
|
2
2
|
import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
3
3
|
import { Injectable, RendererFactory2, TemplateRef, inject } from '@angular/core';
|
|
4
4
|
import { XFillDefault, XConfigService } from '@ng-nest/ui/core';
|
|
5
|
-
import {
|
|
5
|
+
import { XPortalResizablePrefix, XPortalService } from '@ng-nest/ui/portal';
|
|
6
6
|
import { XDialogPortalComponent } from './dialog-portal.component';
|
|
7
7
|
import { XDialogRef } from './dialog-ref';
|
|
8
8
|
import { X_DIALOG_CONFIG_NAME, X_DIALOG_DATA } from './dialog.property';
|
|
@@ -57,7 +57,7 @@ export class XDialogService {
|
|
|
57
57
|
width: defaultMaximize ? this.default.width : option.width,
|
|
58
58
|
height: defaultMaximize ? null : option.height,
|
|
59
59
|
minWidth: option.minWidth,
|
|
60
|
-
minHeight: option.minHeight
|
|
60
|
+
minHeight: option.minHeight
|
|
61
61
|
});
|
|
62
62
|
instance.placement = option.placement;
|
|
63
63
|
instance.option = option;
|
|
@@ -69,7 +69,7 @@ export class XDialogService {
|
|
|
69
69
|
dialogRef.option = option;
|
|
70
70
|
dialogRef.fullscreen = defaultMaximize;
|
|
71
71
|
if (option.resizable && !defaultMaximize) {
|
|
72
|
-
this.renderer.addClass(hostElement,
|
|
72
|
+
this.renderer.addClass(hostElement, XPortalResizablePrefix);
|
|
73
73
|
setTimeout(() => {
|
|
74
74
|
Object.assign(dialogBox, this.portalService.setResizable(overlayElement, option.placement));
|
|
75
75
|
instance.offsetLeft = overlayElement.offsetLeft;
|
|
@@ -112,11 +112,11 @@ export class XDialogService {
|
|
|
112
112
|
}
|
|
113
113
|
return false;
|
|
114
114
|
}
|
|
115
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
116
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.
|
|
115
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
116
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogService, providedIn: 'root' }); }
|
|
117
117
|
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XDialogService, decorators: [{
|
|
119
119
|
type: Injectable,
|
|
120
120
|
args: [{ providedIn: 'root' }]
|
|
121
121
|
}], ctorParameters: () => [] });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQWlCLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQW9CLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUcxRixNQUFNLE9BQU8sY0FBYztJQW9CekI7UUFuQkEsWUFBTyxHQUFxQjtZQUMxQixTQUFTLEVBQUUsUUFBUTtZQUNuQixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxPQUFPO1lBQ2QsUUFBUSxFQUFFLE9BQU87WUFDakIsU0FBUyxFQUFFLE1BQU07WUFDakIsYUFBYSxFQUFFLElBQUk7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUdNLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZD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QyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQWdCLENBQUMsRUFBRSxDQUFDO1lBQ2hGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztpSUFqSFUsY0FBYztxSUFBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlckZhY3RvcnkyLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhGaWxsRGVmYXVsdCwgWENvbmZpZ1NlcnZpY2UsIFhEaWFsb2dDb25maWcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgUG9ydGFsUmVzaXphYmxlUHJlZml4LCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhEaWFsb2dQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWERpYWxvZ1JlZiB9IGZyb20gJy4vZGlhbG9nLXJlZic7XHJcbmltcG9ydCB7IFhEaWFsb2dSZWZPcHRpb24sIFhfRElBTE9HX0NPTkZJR19OQU1FLCBYX0RJQUxPR19EQVRBIH0gZnJvbSAnLi9kaWFsb2cucHJvcGVydHknO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFhEaWFsb2dTZXJ2aWNlIHtcclxuICBkZWZhdWx0OiBYRGlhbG9nUmVmT3B0aW9uID0ge1xyXG4gICAgcGxhY2VtZW50OiAnY2VudGVyJyxcclxuICAgIG9mZnNldDogJzFyZW0nLFxyXG4gICAgd2lkdGg6ICczMnJlbScsXHJcbiAgICBtaW5XaWR0aDogJzE4cmVtJyxcclxuICAgIG1pbkhlaWdodDogJzhyZW0nLFxyXG4gICAgYmFja2Ryb3BDbG9zZTogdHJ1ZSxcclxuICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgZHJhZ2dhYmxlOiBmYWxzZSxcclxuICAgIHJlc2l6YWJsZTogZmFsc2VcclxuICB9O1xyXG4gIGNvbmZpZ0RlZmF1bHQ/OiBYRGlhbG9nQ29uZmlnO1xyXG5cclxuICBwcml2YXRlIHBvcnRhbFNlcnZpY2UgPSBpbmplY3QoWFBvcnRhbFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgY29uZmlnU2VydmljZSA9IGluamVjdChYQ29uZmlnU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xyXG4gIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5ID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpO1xyXG4gIHByaXZhdGUgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmNvbmZpZ0RlZmF1bHQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnRm9yQ29tcG9uZW50KFhfRElBTE9HX0NPTkZJR19OQU1FKTtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5kZWZhdWx0LCB0aGlzLmNvbmZpZ0RlZmF1bHQpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlPFQ+KGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBDb21wb25lbnRUeXBlPFQ+LCBvcHRpb246IFhEaWFsb2dSZWZPcHRpb24gPSB7fSk6IFhEaWFsb2dSZWY8VD4ge1xyXG4gICAgWEZpbGxEZWZhdWx0KG9wdGlvbiwgdGhpcy5kZWZhdWx0KTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2g8WERpYWxvZ1BvcnRhbENvbXBvbmVudD4oe1xyXG4gICAgICBjb250ZW50OiBYRGlhbG9nUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiBvcHRpb24udmlld0NvbnRhaW5lclJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzoge1xyXG4gICAgICAgIGhhc0JhY2tkcm9wOiBvcHRpb24uaGFzQmFja2Ryb3AsXHJcbiAgICAgICAgcGFuZWxDbGFzczogb3B0aW9uLmNsYXNzTmFtZSxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcclxuICAgICAgICB3aWR0aDogb3B0aW9uLndpZHRoLFxyXG4gICAgICAgIGhlaWdodDogb3B0aW9uLmhlaWdodCxcclxuICAgICAgICBtaW5XaWR0aDogb3B0aW9uLm1pbldpZHRoLFxyXG4gICAgICAgIG1pbkhlaWdodDogb3B0aW9uLm1pbkhlaWdodCxcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UGxhY2Uob3B0aW9uLnBsYWNlbWVudCwgb3B0aW9uLm9mZnNldCEpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHsgb3ZlcmxheVJlZiwgY29tcG9uZW50UmVmIH0gPSBwb3J0YWwgfHwge307XHJcbiAgICBjb25zdCB7IGluc3RhbmNlIH0gPSBjb21wb25lbnRSZWYhIHx8IHt9O1xyXG4gICAgY29uc3QgeyBob3N0RWxlbWVudCwgb3ZlcmxheUVsZW1lbnQgfSA9IG92ZXJsYXlSZWYgfHwge307XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSBuZXcgWERpYWxvZ1JlZjxUPihvdmVybGF5UmVmISwgaW5zdGFuY2UsIHRoaXMucmVuZGVyZXIsIHRoaXMucG9ydGFsU2VydmljZSk7XHJcbiAgICBsZXQgZGlhbG9nQm94ID0ge1xyXG4gICAgICBkcmFnZ2FibGU6IG9wdGlvbi5kcmFnZ2FibGUsXHJcbiAgICAgIHJlc2l6YWJsZTogb3B0aW9uLnJlc2l6YWJsZVxyXG4gICAgfTtcclxuICAgIGxldCBkZWZhdWx0TWF4aW1pemUgPSB0aGlzLnNldE1heGltaXplKG9wdGlvbik7XHJcbiAgICBPYmplY3QuYXNzaWduKGRpYWxvZ0JveCwge1xyXG4gICAgICB3aWR0aDogZGVmYXVsdE1heGltaXplID8gdGhpcy5kZWZhdWx0LndpZHRoIDogb3B0aW9uLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6IGRlZmF1bHRNYXhpbWl6ZSA/IG51bGwgOiBvcHRpb24uaGVpZ2h0LFxyXG4gICAgICBtaW5XaWR0aDogb3B0aW9uLm1pbldpZHRoLFxyXG4gICAgICBtaW5IZWlnaHQ6IG9wdGlvbi5taW5IZWlnaHQsXHJcbiAgICB9KTtcclxuICAgIGluc3RhbmNlLnBsYWNlbWVudCA9IG9wdGlvbi5wbGFjZW1lbnQ7XHJcbiAgICBpbnN0YW5jZS5vcHRpb24gPSBvcHRpb247XHJcbiAgICBpbnN0YW5jZS5kaWFsb2dSZWYgPSBkaWFsb2dSZWY7XHJcbiAgICBpbnN0YW5jZS5kZWZhdWx0TWF4aW1pemUgPSBkZWZhdWx0TWF4aW1pemU7XHJcbiAgICBpbnN0YW5jZS5kaWFsb2dCb3ggPSBkaWFsb2dCb3g7XHJcbiAgICBpbnN0YW5jZS5ob3N0RWxlbWVudCA9IGhvc3RFbGVtZW50O1xyXG4gICAgaW5zdGFuY2Uub3ZlcmxheUVsZW1lbnQgPSBvdmVybGF5RWxlbWVudDtcclxuICAgIGRpYWxvZ1JlZi5vcHRpb24gPSBvcHRpb247XHJcbiAgICBkaWFsb2dSZWYuZnVsbHNjcmVlbiA9IGRlZmF1bHRNYXhpbWl6ZTtcclxuICAgIGlmIChvcHRpb24ucmVzaXphYmxlICYmICFkZWZhdWx0TWF4aW1pemUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhob3N0RWxlbWVudCwgUG9ydGFsUmVzaXphYmxlUHJlZml4KTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihkaWFsb2dCb3gsIHRoaXMucG9ydGFsU2VydmljZS5zZXRSZXNpemFibGUob3ZlcmxheUVsZW1lbnQhLCBvcHRpb24ucGxhY2VtZW50KSk7XHJcbiAgICAgICAgaW5zdGFuY2Uub2Zmc2V0TGVmdCA9IG92ZXJsYXlFbGVtZW50IS5vZmZzZXRMZWZ0O1xyXG4gICAgICAgIGluc3RhbmNlLm9mZnNldFRvcCA9IG92ZXJsYXlFbGVtZW50IS5vZmZzZXRUb3A7XHJcbiAgICAgICAgY29uc3QgZGlhbG9nRHJhZ2dhYmxlID0gb3ZlcmxheUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy54LWRpYWxvZy1wb3J0YWwnKSE7XHJcbiAgICAgICAgaW5zdGFuY2UuaW5pdEhlaWdodCA9IGRpYWxvZ0RyYWdnYWJsZS5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgaW5zdGFuY2UuZGlhbG9nQ29udGVudCA9IG92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctcG9ydGFsLWNvbnRlbnQnKSE7XHJcbiAgICAgICAgaW5zdGFuY2UuaW5pdENvbnRlbnRIZWlnaHQgPSBpbnN0YW5jZS5kaWFsb2dDb250ZW50Py5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgaW5zdGFuY2UuZGlhbG9nQm94ID0gZGlhbG9nQm94O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChkZWZhdWx0TWF4aW1pemUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhvdmVybGF5RWxlbWVudCwgJ3gtZGlhbG9nLXBvcnRhbC1mdWxsc2NyZWVuJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIGluc3RhbmNlLmF0dGFjaFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICAgIG5ldyBUZW1wbGF0ZVBvcnRhbChjb250ZW50LCBvcHRpb24udmlld0NvbnRhaW5lclJlZiEsIHsgJGltcGxpY2l0OiBvcHRpb24uZGF0YSwgZGlhbG9nUmVmOiBkaWFsb2dSZWYgfSlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmNyZWF0ZUluamVjdG9yKFtcclxuICAgICAgICB7IHByb3ZpZGU6IFhfRElBTE9HX0RBVEEsIHVzZVZhbHVlOiBvcHRpb24uZGF0YSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogWERpYWxvZ1JlZiwgdXNlVmFsdWU6IGRpYWxvZ1JlZiB9XHJcbiAgICAgIF0pO1xyXG4gICAgICBjb25zdCBjb21SZWYgPSBpbnN0YW5jZS5hdHRhY2hDb21wb25lbnRQb3J0YWwobmV3IENvbXBvbmVudFBvcnRhbChjb250ZW50LCBvcHRpb24udmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpKTtcclxuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29tUmVmLmluc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb24uaGFzQmFja2Ryb3AgJiYgb3B0aW9uLmJhY2tkcm9wQ2xvc2UgJiYgb3ZlcmxheVJlZikge1xyXG4gICAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGlhbG9nUmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRNYXhpbWl6ZShvcHRpb246IFhEaWFsb2dSZWZPcHRpb24gPSB7fSkge1xyXG4gICAgY29uc3Qgd3MgPSBbJzEwMCUnLCAnMTAwdncnXTtcclxuICAgIGNvbnN0IGhzID0gWycxMDAlJywgJzEwMHZoJ107XHJcbiAgICBpZiAod3MuaW5jbHVkZXMob3B0aW9uLndpZHRoIGFzIHN0cmluZykgJiYgaHMuaW5jbHVkZXMob3B0aW9uLmhlaWdodCBhcyBzdHJpbmcpKSB7XHJcbiAgICAgIG9wdGlvbi5yZXNpemFibGUgPSBmYWxzZTtcclxuICAgICAgb3B0aW9uLmRyYWdnYWJsZSA9IGZhbHNlO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQWlCLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQW9CLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUcxRixNQUFNLE9BQU8sY0FBYztJQW9CekI7UUFuQkEsWUFBTyxHQUFxQjtZQUMxQixTQUFTLEVBQUUsUUFBUTtZQUNuQixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxPQUFPO1lBQ2QsUUFBUSxFQUFFLE9BQU87WUFDakIsU0FBUyxFQUFFLE1BQU07WUFDakIsYUFBYSxFQUFFLElBQUk7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUdNLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZD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QyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQWdCLENBQUMsRUFBRSxDQUFDO1lBQ2hGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztpSUFqSFUsY0FBYztxSUFBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlckZhY3RvcnkyLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhGaWxsRGVmYXVsdCwgWENvbmZpZ1NlcnZpY2UsIFhEaWFsb2dDb25maWcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFBvcnRhbFJlc2l6YWJsZVByZWZpeCwgWFBvcnRhbFNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2ctcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEaWFsb2dSZWYgfSBmcm9tICcuL2RpYWxvZy1yZWYnO1xyXG5pbXBvcnQgeyBYRGlhbG9nUmVmT3B0aW9uLCBYX0RJQUxPR19DT05GSUdfTkFNRSwgWF9ESUFMT0dfREFUQSB9IGZyb20gJy4vZGlhbG9nLnByb3BlcnR5JztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBYRGlhbG9nU2VydmljZSB7XHJcbiAgZGVmYXVsdDogWERpYWxvZ1JlZk9wdGlvbiA9IHtcclxuICAgIHBsYWNlbWVudDogJ2NlbnRlcicsXHJcbiAgICBvZmZzZXQ6ICcxcmVtJyxcclxuICAgIHdpZHRoOiAnMzJyZW0nLFxyXG4gICAgbWluV2lkdGg6ICcxOHJlbScsXHJcbiAgICBtaW5IZWlnaHQ6ICc4cmVtJyxcclxuICAgIGJhY2tkcm9wQ2xvc2U6IHRydWUsXHJcbiAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgIGRyYWdnYWJsZTogZmFsc2UsXHJcbiAgICByZXNpemFibGU6IGZhbHNlXHJcbiAgfTtcclxuICBjb25maWdEZWZhdWx0PzogWERpYWxvZ0NvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBwb3J0YWxTZXJ2aWNlID0gaW5qZWN0KFhQb3J0YWxTZXJ2aWNlKTtcclxuICBwcml2YXRlIGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoWENvbmZpZ1NlcnZpY2UpO1xyXG4gIHByaXZhdGUgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcclxuICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeSA9IGluamVjdChSZW5kZXJlckZhY3RvcnkyKTtcclxuICBwcml2YXRlIHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5jb25maWdEZWZhdWx0ID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZ0ZvckNvbXBvbmVudChYX0RJQUxPR19DT05GSUdfTkFNRSk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuZGVmYXVsdCwgdGhpcy5jb25maWdEZWZhdWx0KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZTxUPihjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgQ29tcG9uZW50VHlwZTxUPiwgb3B0aW9uOiBYRGlhbG9nUmVmT3B0aW9uID0ge30pOiBYRGlhbG9nUmVmPFQ+IHtcclxuICAgIFhGaWxsRGVmYXVsdChvcHRpb24sIHRoaXMuZGVmYXVsdCk7XHJcbiAgICBjb25zdCBwb3J0YWwgPSB0aGlzLnBvcnRhbFNlcnZpY2UuYXR0YWNoPFhEaWFsb2dQb3J0YWxDb21wb25lbnQ+KHtcclxuICAgICAgY29udGVudDogWERpYWxvZ1BvcnRhbENvbXBvbmVudCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogb3B0aW9uLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IHtcclxuICAgICAgICBoYXNCYWNrZHJvcDogb3B0aW9uLmhhc0JhY2tkcm9wLFxyXG4gICAgICAgIHBhbmVsQ2xhc3M6IG9wdGlvbi5jbGFzc05hbWUsXHJcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCksXHJcbiAgICAgICAgd2lkdGg6IG9wdGlvbi53aWR0aCxcclxuICAgICAgICBoZWlnaHQ6IG9wdGlvbi5oZWlnaHQsXHJcbiAgICAgICAgbWluV2lkdGg6IG9wdGlvbi5taW5XaWR0aCxcclxuICAgICAgICBtaW5IZWlnaHQ6IG9wdGlvbi5taW5IZWlnaHQsXHJcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlKG9wdGlvbi5wbGFjZW1lbnQsIG9wdGlvbi5vZmZzZXQhKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCB7IG92ZXJsYXlSZWYsIGNvbXBvbmVudFJlZiB9ID0gcG9ydGFsIHx8IHt9O1xyXG4gICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gY29tcG9uZW50UmVmISB8fCB7fTtcclxuICAgIGNvbnN0IHsgaG9zdEVsZW1lbnQsIG92ZXJsYXlFbGVtZW50IH0gPSBvdmVybGF5UmVmIHx8IHt9O1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gbmV3IFhEaWFsb2dSZWY8VD4ob3ZlcmxheVJlZiEsIGluc3RhbmNlLCB0aGlzLnJlbmRlcmVyLCB0aGlzLnBvcnRhbFNlcnZpY2UpO1xyXG4gICAgbGV0IGRpYWxvZ0JveCA9IHtcclxuICAgICAgZHJhZ2dhYmxlOiBvcHRpb24uZHJhZ2dhYmxlLFxyXG4gICAgICByZXNpemFibGU6IG9wdGlvbi5yZXNpemFibGVcclxuICAgIH07XHJcbiAgICBsZXQgZGVmYXVsdE1heGltaXplID0gdGhpcy5zZXRNYXhpbWl6ZShvcHRpb24pO1xyXG4gICAgT2JqZWN0LmFzc2lnbihkaWFsb2dCb3gsIHtcclxuICAgICAgd2lkdGg6IGRlZmF1bHRNYXhpbWl6ZSA/IHRoaXMuZGVmYXVsdC53aWR0aCA6IG9wdGlvbi53aWR0aCxcclxuICAgICAgaGVpZ2h0OiBkZWZhdWx0TWF4aW1pemUgPyBudWxsIDogb3B0aW9uLmhlaWdodCxcclxuICAgICAgbWluV2lkdGg6IG9wdGlvbi5taW5XaWR0aCxcclxuICAgICAgbWluSGVpZ2h0OiBvcHRpb24ubWluSGVpZ2h0XHJcbiAgICB9KTtcclxuICAgIGluc3RhbmNlLnBsYWNlbWVudCA9IG9wdGlvbi5wbGFjZW1lbnQ7XHJcbiAgICBpbnN0YW5jZS5vcHRpb24gPSBvcHRpb247XHJcbiAgICBpbnN0YW5jZS5kaWFsb2dSZWYgPSBkaWFsb2dSZWY7XHJcbiAgICBpbnN0YW5jZS5kZWZhdWx0TWF4aW1pemUgPSBkZWZhdWx0TWF4aW1pemU7XHJcbiAgICBpbnN0YW5jZS5kaWFsb2dCb3ggPSBkaWFsb2dCb3g7XHJcbiAgICBpbnN0YW5jZS5ob3N0RWxlbWVudCA9IGhvc3RFbGVtZW50O1xyXG4gICAgaW5zdGFuY2Uub3ZlcmxheUVsZW1lbnQgPSBvdmVybGF5RWxlbWVudDtcclxuICAgIGRpYWxvZ1JlZi5vcHRpb24gPSBvcHRpb247XHJcbiAgICBkaWFsb2dSZWYuZnVsbHNjcmVlbiA9IGRlZmF1bHRNYXhpbWl6ZTtcclxuICAgIGlmIChvcHRpb24ucmVzaXphYmxlICYmICFkZWZhdWx0TWF4aW1pemUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhob3N0RWxlbWVudCwgWFBvcnRhbFJlc2l6YWJsZVByZWZpeCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oZGlhbG9nQm94LCB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UmVzaXphYmxlKG92ZXJsYXlFbGVtZW50ISwgb3B0aW9uLnBsYWNlbWVudCkpO1xyXG4gICAgICAgIGluc3RhbmNlLm9mZnNldExlZnQgPSBvdmVybGF5RWxlbWVudCEub2Zmc2V0TGVmdDtcclxuICAgICAgICBpbnN0YW5jZS5vZmZzZXRUb3AgPSBvdmVybGF5RWxlbWVudCEub2Zmc2V0VG9wO1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ0RyYWdnYWJsZSA9IG92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctcG9ydGFsJykhO1xyXG4gICAgICAgIGluc3RhbmNlLmluaXRIZWlnaHQgPSBkaWFsb2dEcmFnZ2FibGUuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgIGluc3RhbmNlLmRpYWxvZ0NvbnRlbnQgPSBvdmVybGF5RWxlbWVudD8ucXVlcnlTZWxlY3RvcignLngtZGlhbG9nLXBvcnRhbC1jb250ZW50JykhO1xyXG4gICAgICAgIGluc3RhbmNlLmluaXRDb250ZW50SGVpZ2h0ID0gaW5zdGFuY2UuZGlhbG9nQ29udGVudD8uY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgIGluc3RhbmNlLmRpYWxvZ0JveCA9IGRpYWxvZ0JveDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoZGVmYXVsdE1heGltaXplKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mob3ZlcmxheUVsZW1lbnQsICd4LWRpYWxvZy1wb3J0YWwtZnVsbHNjcmVlbicpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xyXG4gICAgICBpbnN0YW5jZS5hdHRhY2hUZW1wbGF0ZVBvcnRhbChcclxuICAgICAgICBuZXcgVGVtcGxhdGVQb3J0YWwoY29udGVudCwgb3B0aW9uLnZpZXdDb250YWluZXJSZWYhLCB7ICRpbXBsaWNpdDogb3B0aW9uLmRhdGEsIGRpYWxvZ1JlZjogZGlhbG9nUmVmIH0pXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMucG9ydGFsU2VydmljZS5jcmVhdGVJbmplY3RvcihbXHJcbiAgICAgICAgeyBwcm92aWRlOiBYX0RJQUxPR19EQVRBLCB1c2VWYWx1ZTogb3B0aW9uLmRhdGEgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFhEaWFsb2dSZWYsIHVzZVZhbHVlOiBkaWFsb2dSZWYgfVxyXG4gICAgICBdKTtcclxuICAgICAgY29uc3QgY29tUmVmID0gaW5zdGFuY2UuYXR0YWNoQ29tcG9uZW50UG9ydGFsKG5ldyBDb21wb25lbnRQb3J0YWwoY29udGVudCwgb3B0aW9uLnZpZXdDb250YWluZXJSZWYsIGluamVjdG9yKSk7XHJcbiAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZSA9IGNvbVJlZi5pbnN0YW5jZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob3B0aW9uLmhhc0JhY2tkcm9wICYmIG9wdGlvbi5iYWNrZHJvcENsb3NlICYmIG92ZXJsYXlSZWYpIHtcclxuICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWF4aW1pemUob3B0aW9uOiBYRGlhbG9nUmVmT3B0aW9uID0ge30pIHtcclxuICAgIGNvbnN0IHdzID0gWycxMDAlJywgJzEwMHZ3J107XHJcbiAgICBjb25zdCBocyA9IFsnMTAwJScsICcxMDB2aCddO1xyXG4gICAgaWYgKHdzLmluY2x1ZGVzKG9wdGlvbi53aWR0aCBhcyBzdHJpbmcpICYmIGhzLmluY2x1ZGVzKG9wdGlvbi5oZWlnaHQgYXMgc3RyaW5nKSkge1xyXG4gICAgICBvcHRpb24ucmVzaXphYmxlID0gZmFsc2U7XHJcbiAgICAgIG9wdGlvbi5kcmFnZ2FibGUgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|