@ng-nest/ui 18.0.5 → 18.0.7
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/checkbox/checkbox.component.d.ts +1 -1
- package/core/config/config.d.ts +6 -0
- package/esm2022/affix/affix.component.mjs +4 -4
- package/esm2022/affix/affix.module.mjs +4 -4
- package/esm2022/affix/affix.property.mjs +3 -3
- package/esm2022/alert/alert.component.mjs +5 -5
- package/esm2022/alert/alert.module.mjs +4 -4
- package/esm2022/alert/alert.property.mjs +3 -3
- package/esm2022/anchor/anchor-inner.component.mjs +3 -3
- package/esm2022/anchor/anchor.component.mjs +5 -5
- package/esm2022/anchor/anchor.module.mjs +4 -4
- package/esm2022/anchor/anchor.property.mjs +6 -6
- package/esm2022/api/api.component.mjs +4 -4
- 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 +5 -5
- 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 +5 -5
- package/esm2022/avatar/avatar.module.mjs +4 -4
- package/esm2022/avatar/avatar.property.mjs +6 -6
- package/esm2022/back-top/back-top.component.mjs +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/button/button.property.mjs +6 -6
- package/esm2022/button/buttons.component.mjs +4 -4
- package/esm2022/calendar/calendar.component.mjs +5 -5
- package/esm2022/calendar/calendar.module.mjs +4 -4
- package/esm2022/calendar/calendar.property.mjs +3 -3
- package/esm2022/card/card.component.mjs +5 -5
- package/esm2022/card/card.module.mjs +4 -4
- package/esm2022/card/card.property.mjs +3 -3
- package/esm2022/carousel/carousel-panel.component.mjs +5 -5
- package/esm2022/carousel/carousel.component.mjs +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/collapse/collapse.component.mjs +4 -4
- package/esm2022/collapse/collapse.module.mjs +4 -4
- package/esm2022/collapse/collapse.property.mjs +6 -6
- package/esm2022/color/color.component.mjs +4 -4
- 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 +4 -4
- 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 +5 -5
- package/esm2022/comment/comment.module.mjs +4 -4
- package/esm2022/comment/comment.property.mjs +6 -6
- package/esm2022/container/aside.component.mjs +4 -4
- package/esm2022/container/container.component.mjs +4 -4
- package/esm2022/container/container.module.mjs +4 -4
- package/esm2022/container/container.property.mjs +12 -12
- package/esm2022/container/footer.component.mjs +4 -4
- package/esm2022/container/header.component.mjs +4 -4
- package/esm2022/container/main.component.mjs +4 -4
- package/esm2022/core/config/config.mjs +1 -1
- 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 +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/dialog/dialog-portal.component.mjs +5 -5
- package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
- package/esm2022/dialog/dialog.component.mjs +5 -5
- package/esm2022/dialog/dialog.module.mjs +4 -4
- package/esm2022/dialog/dialog.property.mjs +6 -6
- package/esm2022/dialog/dialog.service.mjs +3 -3
- package/esm2022/doc/doc.component.mjs +4 -4
- 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 +5 -5
- package/esm2022/drawer/drawer-portal.component.mjs +5 -5
- package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
- package/esm2022/drawer/drawer.component.mjs +5 -5
- 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 +4 -4
- package/esm2022/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/dropdown/dropdown.property.mjs +3 -3
- package/esm2022/empty/empty.component.mjs +5 -5
- package/esm2022/empty/empty.module.mjs +4 -4
- package/esm2022/empty/empty.property.mjs +3 -3
- package/esm2022/examples/examples.component.mjs +4 -4
- package/esm2022/examples/examples.module.mjs +4 -4
- package/esm2022/find/find.component.mjs +5 -5
- package/esm2022/find/find.module.mjs +4 -4
- package/esm2022/find/find.property.mjs +3 -3
- package/esm2022/form/control.component.mjs +3 -3
- package/esm2022/form/form.component.mjs +5 -5
- package/esm2022/form/form.module.mjs +4 -4
- package/esm2022/form/form.property.mjs +6 -6
- package/esm2022/highlight/highlight.component.mjs +5 -5
- 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.property.mjs +1 -1
- package/esm2022/i18n/i18n.service.mjs +3 -3
- package/esm2022/i18n/languages/ar_EG.mjs +8 -2
- package/esm2022/i18n/languages/bg_BG.mjs +8 -2
- package/esm2022/i18n/languages/ca_ES.mjs +8 -2
- package/esm2022/i18n/languages/cs_CZ.mjs +8 -2
- package/esm2022/i18n/languages/da_DK.mjs +8 -2
- package/esm2022/i18n/languages/de_DE.mjs +8 -2
- package/esm2022/i18n/languages/el_GR.mjs +8 -2
- package/esm2022/i18n/languages/en_GB.mjs +8 -2
- package/esm2022/i18n/languages/en_US.mjs +8 -2
- package/esm2022/i18n/languages/es_ES.mjs +8 -2
- package/esm2022/i18n/languages/et_EE.mjs +8 -2
- package/esm2022/i18n/languages/fa_IR.mjs +8 -2
- package/esm2022/i18n/languages/fi_FI.mjs +8 -2
- package/esm2022/i18n/languages/fr_BE.mjs +8 -2
- package/esm2022/i18n/languages/fr_FR.mjs +8 -2
- package/esm2022/i18n/languages/he_IL.mjs +8 -2
- package/esm2022/i18n/languages/hi_IN.mjs +8 -2
- package/esm2022/i18n/languages/hr_HR.mjs +8 -2
- package/esm2022/i18n/languages/hu_HU.mjs +8 -2
- package/esm2022/i18n/languages/hy_AM.mjs +8 -2
- package/esm2022/i18n/languages/id_ID.mjs +8 -2
- package/esm2022/i18n/languages/is_IS.mjs +8 -2
- package/esm2022/i18n/languages/it_IT.mjs +8 -2
- package/esm2022/i18n/languages/ja_JP.mjs +8 -2
- package/esm2022/i18n/languages/ka_GE.mjs +8 -2
- package/esm2022/i18n/languages/kn_IN.mjs +8 -2
- package/esm2022/i18n/languages/ko_KR.mjs +8 -2
- package/esm2022/i18n/languages/ku_IQ.mjs +8 -2
- package/esm2022/i18n/languages/lv_LV.mjs +8 -2
- package/esm2022/i18n/languages/mn_MN.mjs +8 -2
- package/esm2022/i18n/languages/ms_MY.mjs +8 -2
- package/esm2022/i18n/languages/nb_NO.mjs +8 -2
- package/esm2022/i18n/languages/ne_NP.mjs +8 -2
- package/esm2022/i18n/languages/nl_BE.mjs +8 -2
- package/esm2022/i18n/languages/nl_NL.mjs +8 -2
- package/esm2022/i18n/languages/pl_PL.mjs +8 -2
- package/esm2022/i18n/languages/pt_BR.mjs +8 -2
- package/esm2022/i18n/languages/pt_PT.mjs +8 -2
- package/esm2022/i18n/languages/ro_RO.mjs +8 -2
- package/esm2022/i18n/languages/ru_RU.mjs +8 -2
- package/esm2022/i18n/languages/sk_SK.mjs +8 -2
- package/esm2022/i18n/languages/sl_SI.mjs +8 -2
- package/esm2022/i18n/languages/sr_RS.mjs +8 -2
- package/esm2022/i18n/languages/sv_SE.mjs +8 -2
- package/esm2022/i18n/languages/ta_IN.mjs +8 -2
- package/esm2022/i18n/languages/th_TH.mjs +8 -2
- package/esm2022/i18n/languages/tr_TR.mjs +8 -2
- package/esm2022/i18n/languages/uk_UA.mjs +8 -2
- package/esm2022/i18n/languages/vi_VN.mjs +8 -2
- package/esm2022/i18n/languages/zh_CN.mjs +8 -2
- package/esm2022/i18n/languages/zh_TW.mjs +8 -2
- package/esm2022/icon/icon.component.mjs +4 -4
- 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 +5 -5
- package/esm2022/image/image.component.mjs +5 -5
- package/esm2022/image/image.module.mjs +4 -4
- package/esm2022/image/image.property.mjs +6 -6
- package/esm2022/inner/inner.component.mjs +4 -4
- 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 +5 -5
- package/esm2022/input/input.module.mjs +4 -4
- package/esm2022/input/input.property.mjs +6 -6
- package/esm2022/input-number/input-number.component.mjs +5 -5
- 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 +6 -6
- package/esm2022/layout/row.component.mjs +3 -3
- package/esm2022/link/link.component.mjs +5 -5
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/link/link.property.mjs +3 -3
- 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 +11 -11
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/list.property.mjs +6 -6
- package/esm2022/loading/loading.component.mjs +5 -5
- 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 +5 -5
- 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 +91 -29
- package/esm2022/pagination/pagination.module.mjs +4 -4
- package/esm2022/pagination/pagination.property.mjs +23 -8
- package/esm2022/pattern/pattern.component.mjs +4 -4
- package/esm2022/pattern/pattern.module.mjs +4 -4
- package/esm2022/popconfirm/popconfirm.component.mjs +5 -5
- package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
- package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
- package/esm2022/popover/popover-portal.component.mjs +5 -5
- package/esm2022/popover/popover.directive.mjs +3 -3
- 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.service.mjs +3 -3
- package/esm2022/progress/progress.component.mjs +5 -5
- package/esm2022/progress/progress.module.mjs +4 -4
- package/esm2022/progress/progress.property.mjs +3 -3
- package/esm2022/radio/radio.component.mjs +5 -5
- package/esm2022/radio/radio.module.mjs +4 -4
- package/esm2022/radio/radio.property.mjs +3 -3
- package/esm2022/rate/rate.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/result/result.module.mjs +4 -4
- package/esm2022/result/result.property.mjs +3 -3
- package/esm2022/ripple/ripple.directive.mjs +3 -3
- 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 +5 -5
- package/esm2022/select/select.module.mjs +4 -4
- package/esm2022/select/select.property.mjs +5 -5
- 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 +5 -5
- 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 +5 -5
- package/esm2022/steps/steps.module.mjs +4 -4
- package/esm2022/steps/steps.property.mjs +3 -3
- package/esm2022/switch/switch.component.mjs +5 -5
- package/esm2022/switch/switch.module.mjs +4 -4
- package/esm2022/switch/switch.property.mjs +3 -3
- package/esm2022/table/table-body.component.mjs +3 -3
- package/esm2022/table/table-foot.component.mjs +3 -3
- package/esm2022/table/table-head.component.mjs +4 -4
- package/esm2022/table/table.component.mjs +5 -5
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/table/table.property.mjs +28 -13
- 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 +5 -5
- package/esm2022/tag/tag.module.mjs +4 -4
- package/esm2022/tag/tag.property.mjs +3 -3
- package/esm2022/text-retract/text-retract.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/textarea/textarea.module.mjs +4 -4
- package/esm2022/textarea/textarea.property.mjs +3 -3
- package/esm2022/theme/theme.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/time-picker/time-picker-portal.component.mjs +3 -3
- package/esm2022/time-picker/time-picker.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/timeline/timeline.module.mjs +4 -4
- package/esm2022/timeline/timeline.property.mjs +3 -3
- package/esm2022/tooltip/tooltip-portal.component.mjs +5 -5
- package/esm2022/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/tooltip/tooltip.property.mjs +3 -3
- package/esm2022/transfer/transfer.component.mjs +5 -5
- package/esm2022/transfer/transfer.module.mjs +4 -4
- package/esm2022/transfer/transfer.property.mjs +3 -3
- package/esm2022/tree/tree-node.component.mjs +5 -5
- package/esm2022/tree/tree.component.mjs +4 -4
- 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 +5 -5
- 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 +5 -5
- 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 +4 -4
- package/esm2022/typography/typography.module.mjs +4 -4
- package/esm2022/typography/typography.property.mjs +3 -3
- package/esm2022/upload/upload-portal.component.mjs +5 -5
- package/esm2022/upload/upload.component.mjs +5 -5
- package/esm2022/upload/upload.module.mjs +4 -4
- package/esm2022/upload/upload.property.mjs +3 -3
- package/fesm2022/ng-nest-ui-affix.mjs +11 -11
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +11 -11
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +8 -8
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +14 -14
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +11 -11
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +11 -11
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2022/ng-nest-ui-button.mjs +18 -18
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +11 -11
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +18 -18
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +14 -14
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- 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 +18 -18
- 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 +11 -11
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +17 -17
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +36 -36
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +15 -15
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +51 -51
- 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 +44 -44
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +8 -8
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +35 -35
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +14 -14
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- 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 +8 -8
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +11 -11
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +17 -17
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +370 -64
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +14 -14
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +21 -21
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -11
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +17 -17
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
- package/fesm2022/ng-nest-ui-layout.mjs +16 -16
- package/fesm2022/ng-nest-ui-link.mjs +11 -11
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +26 -26
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +11 -11
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- 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 +11 -11
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +116 -39
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- 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 +7 -7
- package/fesm2022/ng-nest-ui-progress.mjs +11 -11
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +11 -11
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +11 -11
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2022/ng-nest-ui-result.mjs +11 -11
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2022/ng-nest-ui-select.mjs +15 -15
- 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 +11 -11
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- 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 +11 -11
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +11 -11
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +44 -29
- 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 +11 -11
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +11 -11
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +18 -18
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- 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 +11 -11
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +11 -11
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +20 -20
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +11 -11
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +15 -15
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/i18n/i18n.property.d.ts +6 -0
- package/i18n/languages/ar_EG.d.ts +6 -0
- package/i18n/languages/bg_BG.d.ts +6 -0
- package/i18n/languages/ca_ES.d.ts +6 -0
- package/i18n/languages/cs_CZ.d.ts +6 -0
- package/i18n/languages/da_DK.d.ts +6 -0
- package/i18n/languages/de_DE.d.ts +6 -0
- package/i18n/languages/el_GR.d.ts +6 -0
- package/i18n/languages/en_GB.d.ts +6 -0
- package/i18n/languages/en_US.d.ts +6 -0
- package/i18n/languages/es_ES.d.ts +6 -0
- package/i18n/languages/et_EE.d.ts +6 -0
- package/i18n/languages/fa_IR.d.ts +6 -0
- package/i18n/languages/fi_FI.d.ts +6 -0
- package/i18n/languages/fr_BE.d.ts +6 -0
- package/i18n/languages/fr_FR.d.ts +6 -0
- package/i18n/languages/he_IL.d.ts +6 -0
- package/i18n/languages/hi_IN.d.ts +6 -0
- package/i18n/languages/hr_HR.d.ts +6 -0
- package/i18n/languages/hu_HU.d.ts +6 -0
- package/i18n/languages/hy_AM.d.ts +6 -0
- package/i18n/languages/id_ID.d.ts +6 -0
- package/i18n/languages/is_IS.d.ts +6 -0
- package/i18n/languages/it_IT.d.ts +6 -0
- package/i18n/languages/ja_JP.d.ts +6 -0
- package/i18n/languages/ka_GE.d.ts +6 -0
- package/i18n/languages/kn_IN.d.ts +6 -0
- package/i18n/languages/ko_KR.d.ts +6 -0
- package/i18n/languages/ku_IQ.d.ts +6 -0
- package/i18n/languages/lv_LV.d.ts +6 -0
- package/i18n/languages/mn_MN.d.ts +6 -0
- package/i18n/languages/ms_MY.d.ts +6 -0
- package/i18n/languages/nb_NO.d.ts +6 -0
- package/i18n/languages/ne_NP.d.ts +6 -0
- package/i18n/languages/nl_BE.d.ts +6 -0
- package/i18n/languages/nl_NL.d.ts +6 -0
- package/i18n/languages/pl_PL.d.ts +6 -0
- package/i18n/languages/pt_BR.d.ts +6 -0
- package/i18n/languages/pt_PT.d.ts +6 -0
- package/i18n/languages/ro_RO.d.ts +6 -0
- package/i18n/languages/ru_RU.d.ts +6 -0
- package/i18n/languages/sk_SK.d.ts +6 -0
- package/i18n/languages/sl_SI.d.ts +6 -0
- package/i18n/languages/sr_RS.d.ts +6 -0
- package/i18n/languages/sv_SE.d.ts +6 -0
- package/i18n/languages/ta_IN.d.ts +6 -0
- package/i18n/languages/th_TH.d.ts +6 -0
- package/i18n/languages/tr_TR.d.ts +6 -0
- package/i18n/languages/uk_UA.d.ts +6 -0
- package/i18n/languages/vi_VN.d.ts +6 -0
- package/i18n/languages/zh_CN.d.ts +6 -0
- package/i18n/languages/zh_TW.d.ts +6 -0
- package/package.json +115 -115
- package/pagination/pagination.component.d.ts +24 -0
- package/pagination/pagination.property.d.ts +31 -5
- package/radio/radio.component.d.ts +1 -1
- package/select/select.property.d.ts +1 -4
- package/style/mixins/reset.scss +4 -2
- package/table/table.property.d.ts +17 -1
|
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { XSelectComponent } from './select.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class XSelectModule {
|
|
5
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
6
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.
|
|
7
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.
|
|
5
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XSelectModule, imports: [XSelectComponent], exports: [XSelectComponent] }); }
|
|
7
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSelectModule, imports: [XSelectComponent] }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSelectModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
exports: [XSelectComponent],
|
|
@@ -81,7 +81,7 @@ export class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME)
|
|
|
81
81
|
* @zh_CN 输入搜索
|
|
82
82
|
* @en_US Input search
|
|
83
83
|
*/
|
|
84
|
-
this.search = input(false, { transform: XToBoolean });
|
|
84
|
+
this.search = input(this.config?.search ?? false, { transform: XToBoolean });
|
|
85
85
|
/**
|
|
86
86
|
* @zh_CN 匹配区分大小写
|
|
87
87
|
* @en_US Case-sensitive
|
|
@@ -215,10 +215,10 @@ export class XSelectProperty extends XFormControlFunction(X_SELECT_CONFIG_NAME)
|
|
|
215
215
|
*/
|
|
216
216
|
this.inputValidator = input();
|
|
217
217
|
}
|
|
218
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
219
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.
|
|
218
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
219
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XSelectProperty, selector: "x-select-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, async: { classPropertyName: "async", publicName: "async", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, selectAllText: { classPropertyName: "selectAllText", publicName: "selectAllText", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, portalWidth: { classPropertyName: "portalWidth", publicName: "portalWidth", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, maxTagCount: { classPropertyName: "maxTagCount", publicName: "maxTagCount", isSignal: true, isRequired: false, transformFunction: null }, maxTagContent: { classPropertyName: "maxTagContent", publicName: "maxTagContent", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, allowInput: { classPropertyName: "allowInput", publicName: "allowInput", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
220
220
|
}
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSelectProperty, decorators: [{
|
|
222
222
|
type: Component,
|
|
223
223
|
args: [{ selector: `${XSelectPrefix}-property`, template: '' }]
|
|
224
224
|
}] });
|
|
@@ -228,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
228
228
|
* @decorator component
|
|
229
229
|
*/
|
|
230
230
|
export const XSelectPortalPrefix = 'x-select-portal';
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFlLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBYzFFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sb0JBQW9CLEdBQUcsUUFBUSxDQUFDO0FBRXRDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsb0JBQW9CLENBQUMsb0JBQW9CLENBQUM7SUFEL0U7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBeUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDakc7OztXQUdHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBa0IsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM3RTs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFvQixJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6Rzs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFvQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM1RTs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFhLElBQUksQ0FB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QUFFOztBQWtabEU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFRvQm9vbGVhbiwgWFRvQ3NzUGl4ZWxWYWx1ZSwgWFRvRGF0YUNvbnZlcnQsIFhUb051bWJlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEZvcm1Db250cm9sRnVuY3Rpb24sIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHR5cGUge1xyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhEYXRhLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhTaXplLFxyXG4gIFhOdW1iZXIsXHJcbiAgWFRlbXBsYXRlLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWERpcmVjdGlvbixcclxuICBYQWxpZ24sXHJcbiAgWEp1c3RpZnlcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBTZWxlY3RcclxuICogQHNlbGVjdG9yIHgtc2VsZWN0XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFByZWZpeCA9ICd4LXNlbGVjdCc7XHJcbmNvbnN0IFhfU0VMRUNUX0NPTkZJR19OQU1FID0gJ3NlbGVjdCc7XHJcblxyXG4vKipcclxuICogU2VsZWN0IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hTZWxlY3RQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYU2VsZWN0UHJvcGVydHkgZXh0ZW5kcyBYRm9ybUNvbnRyb2xGdW5jdGlvbihYX1NFTEVDVF9DT05GSUdfTkFNRSkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGF0YSA9IGlucHV0PFhEYXRhPFhTZWxlY3ROb2RlPiwgWERhdGE8WFNlbGVjdE5vZGU+PihbXSwgeyB0cmFuc2Zvcm06IFhUb0RhdGFDb252ZXJ0IH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgd2lkdGhcclxuICAgKi9cclxuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4oJycsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5jbGVhcmFibGUgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8guatpeWKoOi9vVxyXG4gICAqIEBlbl9VUyBBc3luY2hyb25vdXMgbG9hZGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFzeW5jID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICByZWFkb25seSBwbGFjZW1lbnQgPSBpbnB1dDxYUGxhY2VtZW50Pih0aGlzLmNvbmZpZz8ucGxhY2VtZW50ID8/ICdib3R0b20nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG11bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5re75Yqg5YWo6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpIGNob2ljZSB0byBhZGQgZnVsbCBzZWxlY3Rpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICByZWFkb25seSBzZWxlY3RBbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhajpgInnmoTmloflrZdcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgYWxsIHRleHRcclxuICAgKi9cclxuICByZWFkb25seSBzZWxlY3RBbGxUZXh0ID0gaW5wdXQ8c3RyaW5nPih0aGlzLmNvbmZpZz8uc2VsZWN0QWxsVGV4dCA/PyAnJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm9kZVRwbCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvcmRlcmVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5ib3JkZXJlZCA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSBiaWdnZXN0IGhlaWdodCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvcnRhbE1heEhlaWdodCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnBvcnRhbE1heEhlaWdodCA/PyAnMTJyZW0nLCB7XHJcbiAgICB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWVcclxuICB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5a695bqmXHJcbiAgICogQGVuX1VTIFRoZSB3aWR0aCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvcnRhbFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPignJywgeyB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWUgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaQnOe0olxyXG4gICAqIEBlbl9VUyBJbnB1dCBzZWFyY2hcclxuICAgKi9cclxuICByZWFkb25seSBzZWFyY2ggPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3ljLrliIblpKflsI/lhplcclxuICAgKiBAZW5fVVMgQ2FzZS1zZW5zaXRpdmVcclxuICAgKi9cclxuICByZWFkb25seSBjYXNlU2Vuc2l0aXZlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5jYXNlU2Vuc2l0aXZlID8/IHRydWUsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXlu7bov5/miafooYzml7bpl7TvvIxtc1xyXG4gICAqIEBlbl9VUyBFbnRlciBhIGRlbGF5IGV4ZWN1dGlvbiB0aW1lLCBtc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRlYm91bmNlVGltZSA9IGlucHV0PG51bWJlciwgWE51bWJlcj4odGhpcy5jb25maWc/LmRlYm91bmNlVGltZSA/PyAyMDAsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieaXtuaYvuekuueahOmAieS4reaVsOaNruS4quaVsO+8jOWFtuWug+eahOWcqOabtOWkmuS4reaYvuekuu+8jOm7mOiupOWFqOmDqOaYvuekulxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRoZSBudW1iZXIgb2YgZGF0YSBpbiB0aGUgbWF4aW11bSBlbGVjdGlvbiwgYW5kIHRoZSBvdGhlcnMgYXJlIGRpc3BsYXllZCBpbiBtb3JlIG9mIHRoZW1cclxuICAgKiBAZGVmYXVsdCDmmL7npLrmiYDmnIlcclxuICAgKi9cclxuICByZWFkb25seSBtYXhUYWdDb3VudCA9IGlucHV0PG51bWJlciwgWE51bWJlcj4odGhpcy5jb25maWc/Lm1heFRhZ0NvdW50ID8/IC0xLCB7IHRyYW5zZm9ybTogWFRvTnVtYmVyIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInml7bmmL7npLrnmoTkuKrmlbDotoXov4fmjIflrprkuKrmlbDvvIzmmL7npLrnmoTmloflrZfmqKHniYhcclxuICAgKiBAZW5fVVMgVGhlIG51bWJlciBkaXNwbGF5ZWQgd2hlbiBtdWx0aXBsZSBjaG9pY2VzIGV4Y2VlZHMgdGhlIHNwZWNpZmllZCBudW1iZXIsIHRoZSBkaXNwbGF5ZWQgdGV4dCB0ZW1wbGF0ZSBkaXNwbGF5ZWRcclxuICAgKiBAZGVmYXVsdCAn5pu05aSae3tzdXJwbHVzfX3kuKrpgInkuK0nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbWF4VGFnQ29udGVudCA9IGlucHV0PFhUZW1wbGF0ZT4odGhpcy5jb25maWc/Lm1heFRhZ0NvbnRlbnQgPz8gJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHZpcnR1YWxTY3JvbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnZpcnR1YWxTY3JvbGwgPz8gZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmkJzntKLml7blhYHorrjpgInmi6novpPlhaXnmoTlgLxcclxuICAgKiBAZW5fVVMgQWxsb3cgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCB3aGVuIHNlYXJjaGluZyBmb3JcclxuICAgKi9cclxuICByZWFkb25seSBhbGxvd0lucHV0ID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBzaXplID0gaW5wdXQ8WFNpemU+KHRoaXMuY29uZmlnPy5zaXplID8/ICdtZWRpdW0nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5qGG54K55Ye75qC35byPXHJcbiAgICogQGVuX1VTIElucHV0IHBvaW50ZXJcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBwb2ludGVyID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+XHJcbiAgICogQGVuX1VTIExhYmVsXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5a695bqmXHJcbiAgICogQGVuX1VTIExhYmVsIHdpZHRoXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbGFiZWxXaWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4oJycsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb7mloflrZflr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgTGFiZWwgdGV4dCBhbGlnbm1lbnQgbWV0aG9kXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbGFiZWxBbGlnbiA9IGlucHV0PFhBbGlnbj4oJ3N0YXJ0Jyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5rC05bmz5o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCBvZiBzdWItZWxlbWVudCBsZXZlbCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGp1c3RpZnkgPSBpbnB1dDxYSnVzdGlmeT4oJ3N0YXJ0Jyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5Z6C55u05o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIHN1Yi1lbGVtZW50IHZlcnRpY2FsIGFycmFuZ2VtZW50IG1ldGhvZCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGFsaWduID0gaW5wdXQ8WEFsaWduPignc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDmjpLliJfmlrnlkJFcclxuICAgKiBAZW5fVVMgVGhlIGRpcmVjdGlvbiBvZiB0aGUgc3ViLWVsZW1lbnQgYXJyYW5nZW1lbnQgdW5kZXIgZmxleCBsYXlvdXRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBkaXJlY3Rpb24gPSBpbnB1dDxYRGlyZWN0aW9uPignY29sdW1uJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaPkOekuuS/oeaBr1xyXG4gICAqIEBlbl9VUyBFbnRlciBwcm9tcHQgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPignJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b+F5aGrXHJcbiAgICogQGVuX1VTIFJlcXVpcmVkXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcmVxdWlyZWQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj6ror7tcclxuICAgKiBAZW5fVVMgUmVhZG9ubHlcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSByZWFkb25seSA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWAvOaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgdmFsdWVUcGwgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLzmqKHmnb/lj4LmlbBcclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHZhbHVlVHBsQ29udGV4dCA9IGlucHV0KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWJjee9ruagh+etvlxyXG4gICAqIEBlbl9VUyBCZWZvcmUgbGFiZWxcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBiZWZvcmUgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjue9ruagh+etvlxyXG4gICAqIEBlbl9VUyBBZnRlciBsYWJlbFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGFmdGVyID0gaW5wdXQ8WFRlbXBsYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPliJnpqozor4Hop4TliJlcclxuICAgKiBAZW5fVVMgUmVndWxhciB2ZXJpZmljYXRpb24gcnVsZXNcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBwYXR0ZXJuID0gaW5wdXQ8UmVnRXhwIHwgUmVnRXhwW10gfCBhbnk+KG51bGwpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpqozor4HkuI3pgJrov4fmj5DnpLrmloflrZdcclxuICAgKiBAZW5fVVMgVmVyaWZ5IG5vdCBwYXNzIHRoZSBwcm9tcHQgdGV4dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oW10pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvnirbmgIFcclxuICAgKiBAZW5fVVMgQWN0aXZhdGlvbiBzdGF0ZVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGFjdGl2ZSA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl6aqM6K+B5Ye95pWwXHJcbiAgICogQGVuX1VTIEVudGVyIHRoZSB2ZXJpZmljYXRpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBpbnB1dFZhbGlkYXRvciA9IGlucHV0PCh2YWx1ZTogYW55KSA9PiBib29sZWFuPigpO1xyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0IE9wdGlvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYU2VsZWN0T3B0aW9uIGV4dGVuZHMgWEZvcm1PcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgZGF0YT86IFhEYXRhPFhTZWxlY3ROb2RlPjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riF6Zmk5oyJ6ZKuXHJcbiAgICogQGVuX1VTIENsZWFyIGJ1dHRvblxyXG4gICAqL1xyXG4gIGNsZWFyYWJsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8guatpeWKoOi9vVxyXG4gICAqIEBlbl9VUyBBc3luY2hyb25vdXMgbG9hZGluZ1xyXG4gICAqL1xyXG4gIGFzeW5jPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICBwbGFjZW1lbnQ/OiBYUGxhY2VtZW50O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInlip/og71cclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgY2hvaWNlXHJcbiAgICovXHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInmt7vliqDlhajpgInlip/og71cclxuICAgKiBAZW5fVVMgTXVsdGkgY2hvaWNlIHRvIGFkZCBmdWxsIHNlbGVjdGlvbiBmdW5jdGlvblxyXG4gICAqL1xyXG4gIHNlbGVjdEFsbD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFqOmAieeahOaWh+Wtl1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBhbGwgdGV4dFxyXG4gICAqL1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgbm9kZVRwbD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIGJvcmRlcmVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSBiaWdnZXN0IGhlaWdodCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5a695bqmXHJcbiAgICogQGVuX1VTIFRoZSB3aWR0aCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHBvcnRhbFdpZHRoPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmkJzntKJcclxuICAgKiBAZW5fVVMgSW5wdXQgc2VhcmNoXHJcbiAgICovXHJcbiAgc2VhcmNoPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Yy56YWN5Yy65YiG5aSn5bCP5YaZXHJcbiAgICogQGVuX1VTIENhc2Utc2Vuc2l0aXZlXHJcbiAgICovXHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeW7tui/n+aJp+ihjOaXtumXtO+8jG1zXHJcbiAgICogQGVuX1VTIEVudGVyIGEgZGVsYXkgZXhlY3V0aW9uIHRpbWUsIG1zXHJcbiAgICovXHJcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInml7bmmL7npLrnmoTpgInkuK3mlbDmja7kuKrmlbDvvIzlhbblroPnmoTlnKjmm7TlpJrkuK3mmL7npLrvvIzpu5jorqTlhajpg6jmmL7npLpcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0aGUgbnVtYmVyIG9mIGRhdGEgaW4gdGhlIG1heGltdW0gZWxlY3Rpb24sIGFuZCB0aGUgb3RoZXJzIGFyZSBkaXNwbGF5ZWQgaW4gbW9yZSBvZiB0aGVtXHJcbiAgICogQGRlZmF1bHQg5pi+56S65omA5pyJXHJcbiAgICovXHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieaXtuaYvuekuueahOS4quaVsOi2hei/h+aMh+WumuS4quaVsO+8jOaYvuekuueahOaWh+Wtl+aooeeJiFxyXG4gICAqIEBlbl9VUyBUaGUgbnVtYmVyIGRpc3BsYXllZCB3aGVuIG11bHRpcGxlIGNob2ljZXMgZXhjZWVkcyB0aGUgc3BlY2lmaWVkIG51bWJlciwgdGhlIGRpc3BsYXllZCB0ZXh0IHRlbXBsYXRlIGRpc3BsYXllZFxyXG4gICAqIEBkZWZhdWx0ICfmm7TlpJp7e3N1cnBsdXN9feS4qumAieS4rSdcclxuICAgKi9cclxuICBtYXhUYWdDb250ZW50PzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5qGG54K55Ye75qC35byPXHJcbiAgICogQGVuX1VTIElucHV0IHBvaW50ZXJcclxuICAgKi9cclxuICBwb2ludGVyPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+XHJcbiAgICogQGVuX1VTIExhYmVsXHJcbiAgICovXHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuWuveW6plxyXG4gICAqIEBlbl9VUyBMYWJlbCB3aWR0aFxyXG4gICAqL1xyXG4gIGxhYmVsV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBMYWJlbCB0ZXh0IGFsaWdubWVudCBtZXRob2RcclxuICAgKi9cclxuICBsYWJlbEFsaWduPzogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOawtOW5s+aOkuWIl+aWueW8j1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgb2Ygc3ViLWVsZW1lbnQgbGV2ZWwgYXJyYW5nZW1lbnQgdW5kZXIgZmxleCBsYXlvdXRcclxuICAgKi9cclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5Z6C55u05o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIHN1Yi1lbGVtZW50IHZlcnRpY2FsIGFycmFuZ2VtZW50IG1ldGhvZCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGFsaWduPzogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOaOkuWIl+aWueWQkVxyXG4gICAqIEBlbl9VUyBUaGUgZGlyZWN0aW9uIG9mIHRoZSBzdWItZWxlbWVudCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaPkOekuuS/oeaBr1xyXG4gICAqIEBlbl9VUyBFbnRlciBwcm9tcHQgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkb25seVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC85qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICB2YWx1ZVRwbD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWAvOaooeadv+WPguaVsFxyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgdmFsdWVUcGxDb250ZXh0PzogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliY3nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQmVmb3JlIGxhYmVsXHJcbiAgICovXHJcbiAgYmVmb3JlPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlkI7nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQWZ0ZXIgbGFiZWxcclxuICAgKi9cclxuICBhZnRlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5YiZ6aqM6K+B6KeE5YiZXHJcbiAgICogQGVuX1VTIFJlZ3VsYXIgdmVyaWZpY2F0aW9uIHJ1bGVzXHJcbiAgICovXHJcbiAgcGF0dGVybj86IFJlZ0V4cCB8IFJlZ0V4cFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpqozor4HkuI3pgJrov4fmj5DnpLrmloflrZdcclxuICAgKiBAZW5fVVMgVmVyaWZ5IG5vdCBwYXNzIHRoZSBwcm9tcHQgdGV4dFxyXG4gICAqL1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5r+A5rS754q25oCBXHJcbiAgICogQGVuX1VTIEFjdGl2YXRpb24gc3RhdGVcclxuICAgKi9cclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXpqozor4Hlh73mlbBcclxuICAgKiBAZW5fVVMgRW50ZXIgdGhlIHZlcmlmaWNhdGlvbiBmdW5jdGlvblxyXG4gICAqL1xyXG4gIGlucHV0VmFsaWRhdG9yPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gU2VsZWN0IOaVsOaNruWvueixoVxyXG4gKiBAZW5fVVMgU2VsZWN0IGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3ROb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFNlbGVjdE5vZGU+IHt9XHJcblxyXG4vKipcclxuICogU2VsZWN0IFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC1zZWxlY3QtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFBvcnRhbFByZWZpeCA9ICd4LXNlbGVjdC1wb3J0YWwnO1xyXG4iXX0=
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFlLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBYzFFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sb0JBQW9CLEdBQUcsUUFBUSxDQUFDO0FBRXRDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsb0JBQW9CLENBQUMsb0JBQW9CLENBQUM7SUFEL0U7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBeUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDakc7OztXQUdHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBa0IsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM3RTs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFvQixJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6Rzs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFvQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM1RTs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFhLElBQUksQ0FB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QUFhLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOztBQWtabEU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFRvQm9vbGVhbiwgWFRvQ3NzUGl4ZWxWYWx1ZSwgWFRvRGF0YUNvbnZlcnQsIFhUb051bWJlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEZvcm1Db250cm9sRnVuY3Rpb24sIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHR5cGUge1xyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhEYXRhLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhTaXplLFxyXG4gIFhOdW1iZXIsXHJcbiAgWFRlbXBsYXRlLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWERpcmVjdGlvbixcclxuICBYQWxpZ24sXHJcbiAgWEp1c3RpZnlcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBTZWxlY3RcclxuICogQHNlbGVjdG9yIHgtc2VsZWN0XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFByZWZpeCA9ICd4LXNlbGVjdCc7XHJcbmNvbnN0IFhfU0VMRUNUX0NPTkZJR19OQU1FID0gJ3NlbGVjdCc7XHJcblxyXG4vKipcclxuICogU2VsZWN0IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hTZWxlY3RQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYU2VsZWN0UHJvcGVydHkgZXh0ZW5kcyBYRm9ybUNvbnRyb2xGdW5jdGlvbihYX1NFTEVDVF9DT05GSUdfTkFNRSkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGF0YSA9IGlucHV0PFhEYXRhPFhTZWxlY3ROb2RlPiwgWERhdGE8WFNlbGVjdE5vZGU+PihbXSwgeyB0cmFuc2Zvcm06IFhUb0RhdGFDb252ZXJ0IH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrr3luqZcclxuICAgKiBAZW5fVVMgd2lkdGhcclxuICAgKi9cclxuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4oJycsIHsgdHJhbnNmb3JtOiBYVG9Dc3NQaXhlbFZhbHVlIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5jbGVhcmFibGUgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8guatpeWKoOi9vVxyXG4gICAqIEBlbl9VUyBBc3luY2hyb25vdXMgbG9hZGluZ1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFzeW5jID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICByZWFkb25seSBwbGFjZW1lbnQgPSBpbnB1dDxYUGxhY2VtZW50Pih0aGlzLmNvbmZpZz8ucGxhY2VtZW50ID8/ICdib3R0b20nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG11bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5re75Yqg5YWo6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpIGNob2ljZSB0byBhZGQgZnVsbCBzZWxlY3Rpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICByZWFkb25seSBzZWxlY3RBbGwgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhajpgInnmoTmloflrZdcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgYWxsIHRleHRcclxuICAgKi9cclxuICByZWFkb25seSBzZWxlY3RBbGxUZXh0ID0gaW5wdXQ8c3RyaW5nPih0aGlzLmNvbmZpZz8uc2VsZWN0QWxsVGV4dCA/PyAnJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgbm9kZVRwbCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGJvcmRlcmVkID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KHRoaXMuY29uZmlnPy5ib3JkZXJlZCA/PyB0cnVlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSBiaWdnZXN0IGhlaWdodCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvcnRhbE1heEhlaWdodCA9IGlucHV0PHN0cmluZywgWE51bWJlcj4odGhpcy5jb25maWc/LnBvcnRhbE1heEhlaWdodCA/PyAnMTJyZW0nLCB7XHJcbiAgICB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWVcclxuICB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5a695bqmXHJcbiAgICogQGVuX1VTIFRoZSB3aWR0aCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHBvcnRhbFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPignJywgeyB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWUgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaQnOe0olxyXG4gICAqIEBlbl9VUyBJbnB1dCBzZWFyY2hcclxuICAgKi9cclxuICByZWFkb25seSBzZWFyY2ggPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LnNlYXJjaCA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWMuemFjeWMuuWIhuWkp+Wwj+WGmVxyXG4gICAqIEBlbl9VUyBDYXNlLXNlbnNpdGl2ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNhc2VTZW5zaXRpdmUgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4odGhpcy5jb25maWc/LmNhc2VTZW5zaXRpdmUgPz8gdHJ1ZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeW7tui/n+aJp+ihjOaXtumXtO+8jG1zXHJcbiAgICogQGVuX1VTIEVudGVyIGEgZGVsYXkgZXhlY3V0aW9uIHRpbWUsIG1zXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8uZGVib3VuY2VUaW1lID8/IDIwMCwgeyB0cmFuc2Zvcm06IFhUb051bWJlciB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5pe25pi+56S655qE6YCJ5Lit5pWw5o2u5Liq5pWw77yM5YW25a6D55qE5Zyo5pu05aSa5Lit5pi+56S677yM6buY6K6k5YWo6YOo5pi+56S6XHJcbiAgICogQGVuX1VTIERpc3BsYXkgdGhlIG51bWJlciBvZiBkYXRhIGluIHRoZSBtYXhpbXVtIGVsZWN0aW9uLCBhbmQgdGhlIG90aGVycyBhcmUgZGlzcGxheWVkIGluIG1vcmUgb2YgdGhlbVxyXG4gICAqIEBkZWZhdWx0IOaYvuekuuaJgOaciVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1heFRhZ0NvdW50ID0gaW5wdXQ8bnVtYmVyLCBYTnVtYmVyPih0aGlzLmNvbmZpZz8ubWF4VGFnQ291bnQgPz8gLTEsIHsgdHJhbnNmb3JtOiBYVG9OdW1iZXIgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieaXtuaYvuekuueahOS4quaVsOi2hei/h+aMh+WumuS4quaVsO+8jOaYvuekuueahOaWh+Wtl+aooeeJiFxyXG4gICAqIEBlbl9VUyBUaGUgbnVtYmVyIGRpc3BsYXllZCB3aGVuIG11bHRpcGxlIGNob2ljZXMgZXhjZWVkcyB0aGUgc3BlY2lmaWVkIG51bWJlciwgdGhlIGRpc3BsYXllZCB0ZXh0IHRlbXBsYXRlIGRpc3BsYXllZFxyXG4gICAqIEBkZWZhdWx0ICfmm7TlpJp7e3N1cnBsdXN9feS4qumAieS4rSdcclxuICAgKi9cclxuICByZWFkb25seSBtYXhUYWdDb250ZW50ID0gaW5wdXQ8WFRlbXBsYXRlPih0aGlzLmNvbmZpZz8ubWF4VGFnQ29udGVudCA/PyAnJyk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdmlydHVhbFNjcm9sbCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPih0aGlzLmNvbmZpZz8udmlydHVhbFNjcm9sbCA/PyBmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaQnOe0ouaXtuWFgeiuuOmAieaLqei+k+WFpeeahOWAvFxyXG4gICAqIEBlbl9VUyBBbGxvdyB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IHdoZW4gc2VhcmNoaW5nIGZvclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGFsbG93SW5wdXQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxYU2l6ZT4odGhpcy5jb25maWc/LnNpemUgPz8gJ21lZGl1bScpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbngrnlh7vmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgcG9pbnRlclxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBvaW50ZXIgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb5cclxuICAgKiBAZW5fVVMgTGFiZWxcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb7lrr3luqZcclxuICAgKiBAZW5fVVMgTGFiZWwgd2lkdGhcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbFdpZHRoID0gaW5wdXQ8c3RyaW5nLCBYTnVtYmVyPignJywgeyB0cmFuc2Zvcm06IFhUb0Nzc1BpeGVsVmFsdWUgfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuaWh+Wtl+Wvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBMYWJlbCB0ZXh0IGFsaWdubWVudCBtZXRob2RcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSBsYWJlbEFsaWduID0gaW5wdXQ8WEFsaWduPignc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDmsLTlubPmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgVGhlIGxldmVsIG9mIHN1Yi1lbGVtZW50IGxldmVsIGFycmFuZ2VtZW50IHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkganVzdGlmeSA9IGlucHV0PFhKdXN0aWZ5Pignc3RhcnQnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDlnoLnm7TmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgc3ViLWVsZW1lbnQgdmVydGljYWwgYXJyYW5nZW1lbnQgbWV0aG9kIHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYWxpZ24gPSBpbnB1dDxYQWxpZ24+KCdzdGFydCcpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBmbGV4IOW4g+WxgOS4i+eahOWtkOWFg+e0oOaOkuWIl+aWueWQkVxyXG4gICAqIEBlbl9VUyBUaGUgZGlyZWN0aW9uIG9mIHRoZSBzdWItZWxlbWVudCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGRpcmVjdGlvbiA9IGlucHV0PFhEaXJlY3Rpb24+KCdjb2x1bW4nKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIEVudGVyIHByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBYQm9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBYVG9Cb29sZWFuIH0pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSByZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4sIFhCb29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IFhUb0Jvb2xlYW4gfSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkb25seVxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbiwgWEJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogWFRvQm9vbGVhbiB9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC85qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBvdmVycmlkZSByZWFkb25seSB2YWx1ZVRwbCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWAvOaooeadv+WPguaVsFxyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgdmFsdWVUcGxDb250ZXh0ID0gaW5wdXQoKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YmN572u5qCH562+XHJcbiAgICogQGVuX1VTIEJlZm9yZSBsYWJlbFxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGJlZm9yZSA9IGlucHV0PFhUZW1wbGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ZCO572u5qCH562+XHJcbiAgICogQGVuX1VTIEFmdGVyIGxhYmVsXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYWZ0ZXIgPSBpbnB1dDxYVGVtcGxhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WImemqjOivgeinhOWImVxyXG4gICAqIEBlbl9VUyBSZWd1bGFyIHZlcmlmaWNhdGlvbiBydWxlc1xyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBhdHRlcm4gPSBpbnB1dDxSZWdFeHAgfCBSZWdFeHBbXSB8IGFueT4obnVsbCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmqjOivgeS4jemAmui/h+aPkOekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBWZXJpZnkgbm90IHBhc3MgdGhlIHByb21wdCB0ZXh0XHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPihbXSk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u+eKtuaAgVxyXG4gICAqIEBlbl9VUyBBY3RpdmF0aW9uIHN0YXRlXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgYWN0aXZlID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXpqozor4Hlh73mlbBcclxuICAgKiBAZW5fVVMgRW50ZXIgdGhlIHZlcmlmaWNhdGlvbiBmdW5jdGlvblxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGlucHV0VmFsaWRhdG9yID0gaW5wdXQ8KHZhbHVlOiBhbnkpID0+IGJvb2xlYW4+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWxlY3QgT3B0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3RPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBkYXRhPzogWERhdGE8WFNlbGVjdE5vZGU+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgY2xlYXJhYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byC5q2l5Yqg6L29XHJcbiAgICogQGVuX1VTIEFzeW5jaHJvbm91cyBsb2FkaW5nXHJcbiAgICovXHJcbiAgYXN5bmM/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBtdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAiea3u+WKoOWFqOmAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aSBjaG9pY2UgdG8gYWRkIGZ1bGwgc2VsZWN0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgc2VsZWN0QWxsPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWo6YCJ55qE5paH5a2XXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGFsbCB0ZXh0XHJcbiAgICovXHJcbiAgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBub2RlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvmi4nmoYbnmoTmnIDlpKfpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGJpZ2dlc3QgaGVpZ2h0IG9mIHRoZSBkcm9wLWRvd24gYm94XHJcbiAgICovXHJcbiAgcG9ydGFsTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvmi4nmoYbnmoTlrr3luqZcclxuICAgKiBAZW5fVVMgVGhlIHdpZHRoIG9mIHRoZSBkcm9wLWRvd24gYm94XHJcbiAgICovXHJcbiAgcG9ydGFsV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaQnOe0olxyXG4gICAqIEBlbl9VUyBJbnB1dCBzZWFyY2hcclxuICAgKi9cclxuICBzZWFyY2g/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3ljLrliIblpKflsI/lhplcclxuICAgKiBAZW5fVVMgQ2FzZS1zZW5zaXRpdmVcclxuICAgKi9cclxuICBjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5bu26L+f5omn6KGM5pe26Ze077yMbXNcclxuICAgKiBAZW5fVVMgRW50ZXIgYSBkZWxheSBleGVjdXRpb24gdGltZSwgbXNcclxuICAgKi9cclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieaXtuaYvuekuueahOmAieS4reaVsOaNruS4quaVsO+8jOWFtuWug+eahOWcqOabtOWkmuS4reaYvuekuu+8jOm7mOiupOWFqOmDqOaYvuekulxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRoZSBudW1iZXIgb2YgZGF0YSBpbiB0aGUgbWF4aW11bSBlbGVjdGlvbiwgYW5kIHRoZSBvdGhlcnMgYXJlIGRpc3BsYXllZCBpbiBtb3JlIG9mIHRoZW1cclxuICAgKiBAZGVmYXVsdCDmmL7npLrmiYDmnIlcclxuICAgKi9cclxuICBtYXhUYWdDb3VudD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5pe25pi+56S655qE5Liq5pWw6LaF6L+H5oyH5a6a5Liq5pWw77yM5pi+56S655qE5paH5a2X5qih54mIXHJcbiAgICogQGVuX1VTIFRoZSBudW1iZXIgZGlzcGxheWVkIHdoZW4gbXVsdGlwbGUgY2hvaWNlcyBleGNlZWRzIHRoZSBzcGVjaWZpZWQgbnVtYmVyLCB0aGUgZGlzcGxheWVkIHRleHQgdGVtcGxhdGUgZGlzcGxheWVkXHJcbiAgICogQGRlZmF1bHQgJ+abtOWkmnt7c3VycGx1c3195Liq6YCJ5LitJ1xyXG4gICAqL1xyXG4gIG1heFRhZ0NvbnRlbnQ/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgdmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbngrnlh7vmoLflvI9cclxuICAgKiBAZW5fVVMgSW5wdXQgcG9pbnRlclxyXG4gICAqL1xyXG4gIHBvaW50ZXI/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb5cclxuICAgKiBAZW5fVVMgTGFiZWxcclxuICAgKi9cclxuICBsYWJlbD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5a695bqmXHJcbiAgICogQGVuX1VTIExhYmVsIHdpZHRoXHJcbiAgICovXHJcbiAgbGFiZWxXaWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+5paH5a2X5a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIExhYmVsIHRleHQgYWxpZ25tZW50IG1ldGhvZFxyXG4gICAqL1xyXG4gIGxhYmVsQWxpZ24/OiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5rC05bmz5o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCBvZiBzdWItZWxlbWVudCBsZXZlbCBhcnJhbmdlbWVudCB1bmRlciBmbGV4IGxheW91dFxyXG4gICAqL1xyXG4gIGp1c3RpZnk/OiBYSnVzdGlmeTtcclxuICAvKipcclxuICAgKiBAemhfQ04gZmxleCDluIPlsYDkuIvnmoTlrZDlhYPntKDlnoLnm7TmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgc3ViLWVsZW1lbnQgdmVydGljYWwgYXJyYW5nZW1lbnQgbWV0aG9kIHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgYWxpZ24/OiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGZsZXgg5biD5bGA5LiL55qE5a2Q5YWD57Sg5o6S5YiX5pa55ZCRXHJcbiAgICogQGVuX1VTIFRoZSBkaXJlY3Rpb24gb2YgdGhlIHN1Yi1lbGVtZW50IGFycmFuZ2VtZW50IHVuZGVyIGZsZXggbGF5b3V0XHJcbiAgICovXHJcbiAgZGlyZWN0aW9uPzogWERpcmVjdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIEVudGVyIHByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/heWhq1xyXG4gICAqIEBlbl9VUyBSZXF1aXJlZFxyXG4gICAqL1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6K+7XHJcbiAgICogQGVuX1VTIFJlYWRvbmx5XHJcbiAgICovXHJcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLzmqKHmnb9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHZhbHVlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC85qih5p2/5Y+C5pWwXHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICB2YWx1ZVRwbENvbnRleHQ/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWJjee9ruagh+etvlxyXG4gICAqIEBlbl9VUyBCZWZvcmUgbGFiZWxcclxuICAgKi9cclxuICBiZWZvcmU/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjue9ruagh+etvlxyXG4gICAqIEBlbl9VUyBBZnRlciBsYWJlbFxyXG4gICAqL1xyXG4gIGFmdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPliJnpqozor4Hop4TliJlcclxuICAgKiBAZW5fVVMgUmVndWxhciB2ZXJpZmljYXRpb24gcnVsZXNcclxuICAgKi9cclxuICBwYXR0ZXJuPzogUmVnRXhwIHwgUmVnRXhwW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmqjOivgeS4jemAmui/h+aPkOekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBWZXJpZnkgbm90IHBhc3MgdGhlIHByb21wdCB0ZXh0XHJcbiAgICovXHJcbiAgbWVzc2FnZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvnirbmgIFcclxuICAgKiBAZW5fVVMgQWN0aXZhdGlvbiBzdGF0ZVxyXG4gICAqL1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpemqjOivgeWHveaVsFxyXG4gICAqIEBlbl9VUyBFbnRlciB0aGUgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgaW5wdXRWYWxpZGF0b3I/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiBTZWxlY3Qg5pWw5o2u5a+56LGhXHJcbiAqIEBlbl9VUyBTZWxlY3QgZGF0YSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdE5vZGUgZXh0ZW5kcyBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eTxYU2VsZWN0Tm9kZT4ge31cclxuXHJcbi8qKlxyXG4gKiBTZWxlY3QgUG9ydGFsXHJcbiAqIEBzZWxlY3RvciB4LXNlbGVjdC1wb3J0YWxcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYU2VsZWN0UG9ydGFsUHJlZml4ID0gJ3gtc2VsZWN0LXBvcnRhbCc7XHJcbiJdfQ==
|
|
@@ -13,10 +13,10 @@ export class XSkeletonComponent extends XSkeletonProperty {
|
|
|
13
13
|
toCssPx(value) {
|
|
14
14
|
return XToCssPx(value, this.fontSize());
|
|
15
15
|
}
|
|
16
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
17
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.
|
|
16
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSkeletonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XSkeletonComponent, isStandalone: true, selector: "x-skeleton", usesInheritance: true, ngImport: i0, template: "@if (loading()) {\r\n <div #skeleton class=\"x-skeleton\" [class.x-skeleton-active]=\"active()\" [class.x-skeleton-border]=\"border()\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: data() }\"></ng-container>\r\n </div>\r\n} @else {\r\n <ng-content></ng-content>\r\n}\r\n\r\n<ng-template #rowsTpl let-rows=\"rows\">\r\n @for (row of rows; track row) {\r\n <x-row [space]=\"row.space\" [justify]=\"row.flex ? 'start' : undefined\" [ngStyle]=\"row.style\">\r\n @for (col of row.cols; track col) {\r\n <x-col\r\n [span]=\"col.span\"\r\n [inherit]=\"col.width || col.height ? true : false\"\r\n [ngStyle]=\"col.style\"\r\n [style.padding-top.px]=\"border() && toCssPx(row.space) / 2\"\r\n [style.padding-bottom.px]=\"border() && toCssPx(row.space) / 2\"\r\n [ngClass]=\"{\r\n title: col.type === 'title',\r\n img: col.type === 'img',\r\n avatar: col.type === 'avatar',\r\n transparent: col.type === 'transparent',\r\n 'has-child': col.rows\r\n }\"\r\n >\r\n <div [style.width]=\"col.width\" [style.height]=\"col.height\">\r\n @if (col.rows) {\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: col.rows }\"></ng-container>\r\n }\r\n </div>\r\n </x-col>\r\n }\r\n </x-row>\r\n }\r\n</ng-template>\r\n", styles: ["@keyframes skeleton-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}.x-skeleton{margin:0;padding:0}.x-skeleton x-row,.x-skeleton x-col{min-height:1rem}.x-skeleton x-row{background-color:var(--x-background)}.x-skeleton x-row:not(:first-child){margin-top:1rem}.x-skeleton x-col>div{width:100%;height:1rem;background-color:var(--x-info-800);border-radius:var(--x-border-radius);position:relative}.x-skeleton x-col.has-child>div{background-color:transparent}.x-skeleton x-col.has-size{width:inherit}.x-skeleton x-col.avatar>div{border-radius:50%}.x-skeleton x-col.title>div,.x-skeleton x-col.avatar>div,.x-skeleton x-col.img>div{background-color:var(--x-info-700)}.x-skeleton x-col.transparent{padding:0!important}.x-skeleton x-col.transparent>div{background-color:transparent}.x-skeleton-border x-row{margin:0!important}.x-skeleton-border x-row x-col{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-skeleton-border x-row x-col:last-child{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-skeleton-border x-row:first-child x-col{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-skeleton-active x-col:not(.has-child):not(.transparent)>div:before{position:absolute;inset:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:skeleton-active 1.4s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSkeletonComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
21
|
args: [{ selector: `${XSkeletonPrefix}`, standalone: true, imports: [NgClass, NgTemplateOutlet, NgStyle, XRowComponent, XColComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (loading()) {\r\n <div #skeleton class=\"x-skeleton\" [class.x-skeleton-active]=\"active()\" [class.x-skeleton-border]=\"border()\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: data() }\"></ng-container>\r\n </div>\r\n} @else {\r\n <ng-content></ng-content>\r\n}\r\n\r\n<ng-template #rowsTpl let-rows=\"rows\">\r\n @for (row of rows; track row) {\r\n <x-row [space]=\"row.space\" [justify]=\"row.flex ? 'start' : undefined\" [ngStyle]=\"row.style\">\r\n @for (col of row.cols; track col) {\r\n <x-col\r\n [span]=\"col.span\"\r\n [inherit]=\"col.width || col.height ? true : false\"\r\n [ngStyle]=\"col.style\"\r\n [style.padding-top.px]=\"border() && toCssPx(row.space) / 2\"\r\n [style.padding-bottom.px]=\"border() && toCssPx(row.space) / 2\"\r\n [ngClass]=\"{\r\n title: col.type === 'title',\r\n img: col.type === 'img',\r\n avatar: col.type === 'avatar',\r\n transparent: col.type === 'transparent',\r\n 'has-child': col.rows\r\n }\"\r\n >\r\n <div [style.width]=\"col.width\" [style.height]=\"col.height\">\r\n @if (col.rows) {\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: col.rows }\"></ng-container>\r\n }\r\n </div>\r\n </x-col>\r\n }\r\n </x-row>\r\n }\r\n</ng-template>\r\n", styles: ["@keyframes skeleton-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}.x-skeleton{margin:0;padding:0}.x-skeleton x-row,.x-skeleton x-col{min-height:1rem}.x-skeleton x-row{background-color:var(--x-background)}.x-skeleton x-row:not(:first-child){margin-top:1rem}.x-skeleton x-col>div{width:100%;height:1rem;background-color:var(--x-info-800);border-radius:var(--x-border-radius);position:relative}.x-skeleton x-col.has-child>div{background-color:transparent}.x-skeleton x-col.has-size{width:inherit}.x-skeleton x-col.avatar>div{border-radius:50%}.x-skeleton x-col.title>div,.x-skeleton x-col.avatar>div,.x-skeleton x-col.img>div{background-color:var(--x-info-700)}.x-skeleton x-col.transparent{padding:0!important}.x-skeleton x-col.transparent>div{background-color:transparent}.x-skeleton-border x-row{margin:0!important}.x-skeleton-border x-row x-col{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-skeleton-border x-row x-col:last-child{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-skeleton-border x-row:first-child x-col{border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-skeleton-active x-col:not(.has-child):not(.transparent)>div:before{position:absolute;inset:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:skeleton-active 1.4s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}\n"] }]
|
|
22
22
|
}] });
|
|
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { XSkeletonComponent } from './skeleton.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class XSkeletonModule {
|
|
5
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
6
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.
|
|
7
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.
|
|
5
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSkeletonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XSkeletonModule, imports: [XSkeletonComponent], exports: [XSkeletonComponent] }); }
|
|
7
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSkeletonModule, imports: [XSkeletonComponent] }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSkeletonModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
exports: [XSkeletonComponent],
|
|
@@ -45,10 +45,10 @@ export class XSkeletonProperty extends XPropertyFunction(X_SKELETON_CONFIG_NAME)
|
|
|
45
45
|
*/
|
|
46
46
|
this.border = input(false, { transform: XToBoolean });
|
|
47
47
|
}
|
|
48
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
49
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.
|
|
48
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSkeletonProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XSkeletonProperty, selector: "x-skeleton-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
50
50
|
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSkeletonProperty, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
53
|
args: [{ selector: `${XSkeletonPrefix}-property`, template: '' }]
|
|
54
54
|
}] });
|
|
@@ -212,11 +212,11 @@ export class XSliderComponent extends XSliderProperty {
|
|
|
212
212
|
getActivated(index) {
|
|
213
213
|
return this.activatedIndex() === index;
|
|
214
214
|
}
|
|
215
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
216
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.
|
|
215
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
216
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XSliderComponent, isStandalone: true, selector: "x-slider", viewQueries: [{ propertyName: "sliderScroll", first: true, predicate: ["sliderScroll"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "sliderNodes", first: true, predicate: ["sliderNodes"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap()\">\r\n @if (autoShowArrow() && showArrow()) {\r\n <x-link\r\n [disabled]=\"offset() === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n }\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap()\">\r\n <ul #sliderNodes [style.transform]=\"transform()\">\r\n @for (node of data(); track node.id; let i = $index) {\r\n <li [class.x-slider-activated]=\"getActivated(i)\" [class.x-slider-disabled]=\"node.disabled\" [title]=\"node.label\">\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n (mouseenter)=\"onEnter($event, node, i)\"\r\n (mouseleave)=\"onLeave(node)\"\r\n [ngClass]=\"nodeClassMap()\"\r\n [href]=\"showAnchor() ? '#' + node.id : ''\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node }\"></ng-container>\r\n @if (!nodeTpl()) {\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n }\r\n </x-link>\r\n </li>\r\n }\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated()\" [ngStyle]=\"highlightBox()\"></li>\r\n </ul>\r\n </div>\r\n @if (autoShowArrow() && showArrow()) {\r\n <x-link\r\n [disabled]=\"offset() === maxOffset()\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n }\r\n @if (showExpand() && showArrow() && layout() === 'row') {\r\n <x-dropdown\r\n class=\"x-slider-all\"\r\n [data]=\"data()\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight()\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon flat plain [size]=\"size()\"> </x-button>\r\n </x-dropdown>\r\n }\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0}.x-slider{position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll ul,.x-slider-scroll li{margin:0;padding:0;list-style:none}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-small-radius);background-color:var(--x-background);box-shadow:0 .0625rem .1875rem .0625rem #0000000d}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider:not(.x-slider-show-arrow)>.x-slider-scroll>ul{background-color:var(--x-background-a200);border-radius:var(--x-border-radius);padding:.25rem}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow{background-color:var(--x-background-a200);border-radius:var(--x-border-radius);padding:0 .25rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important;padding:.25rem 0}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XDropdownComponent, selector: "x-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
217
217
|
}
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderComponent, decorators: [{
|
|
219
219
|
type: Component,
|
|
220
|
-
args: [{ selector: `${XSliderPrefix}`, standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet, XLinkComponent, XButtonComponent, XOutletDirective, XDropdownComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap()\">\r\n @if (autoShowArrow() && showArrow()) {\r\n <x-link\r\n [disabled]=\"offset() === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n }\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap()\">\r\n <ul #sliderNodes [style.transform]=\"transform()\">\r\n @for (node of data(); track node.id; let i = $index) {\r\n <li [class.x-slider-activated]=\"getActivated(i)\" [class.x-slider-disabled]=\"node.disabled\" [title]=\"node.label\">\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n (mouseenter)=\"onEnter($event, node, i)\"\r\n (mouseleave)=\"onLeave(node)\"\r\n [ngClass]=\"nodeClassMap()\"\r\n [href]=\"showAnchor() ? '#' + node.id : ''\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node }\"></ng-container>\r\n @if (!nodeTpl()) {\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n }\r\n </x-link>\r\n </li>\r\n }\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated()\" [ngStyle]=\"highlightBox()\"></li>\r\n </ul>\r\n </div>\r\n @if (autoShowArrow() && showArrow()) {\r\n <x-link\r\n [disabled]=\"offset() === maxOffset()\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n }\r\n @if (showExpand() && showArrow() && layout() === 'row') {\r\n <x-dropdown\r\n class=\"x-slider-all\"\r\n [data]=\"data()\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight()\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon flat plain [size]=\"size()\"> </x-button>\r\n </x-dropdown>\r\n }\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0
|
|
220
|
+
args: [{ selector: `${XSliderPrefix}`, standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet, XLinkComponent, XButtonComponent, XOutletDirective, XDropdownComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap()\">\r\n @if (autoShowArrow() && showArrow()) {\r\n <x-link\r\n [disabled]=\"offset() === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n }\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap()\">\r\n <ul #sliderNodes [style.transform]=\"transform()\">\r\n @for (node of data(); track node.id; let i = $index) {\r\n <li [class.x-slider-activated]=\"getActivated(i)\" [class.x-slider-disabled]=\"node.disabled\" [title]=\"node.label\">\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n (mouseenter)=\"onEnter($event, node, i)\"\r\n (mouseleave)=\"onLeave(node)\"\r\n [ngClass]=\"nodeClassMap()\"\r\n [href]=\"showAnchor() ? '#' + node.id : ''\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node }\"></ng-container>\r\n @if (!nodeTpl()) {\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n }\r\n </x-link>\r\n </li>\r\n }\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated()\" [ngStyle]=\"highlightBox()\"></li>\r\n </ul>\r\n </div>\r\n @if (autoShowArrow() && showArrow()) {\r\n <x-link\r\n [disabled]=\"offset() === maxOffset()\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n }\r\n @if (showExpand() && showArrow() && layout() === 'row') {\r\n <x-dropdown\r\n class=\"x-slider-all\"\r\n [data]=\"data()\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight()\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon flat plain [size]=\"size()\"> </x-button>\r\n </x-dropdown>\r\n }\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0}.x-slider{position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll ul,.x-slider-scroll li{margin:0;padding:0;list-style:none}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-small-radius);background-color:var(--x-background);box-shadow:0 .0625rem .1875rem .0625rem #0000000d}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider:not(.x-slider-show-arrow)>.x-slider-scroll>ul{background-color:var(--x-background-a200);border-radius:var(--x-border-radius);padding:.25rem}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow{background-color:var(--x-background-a200);border-radius:var(--x-border-radius);padding:0 .25rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important;padding:.25rem 0}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"] }]
|
|
221
221
|
}] });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsdUJBQXVCLEVBR3ZCLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFlLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFXMUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFUckQ7O1FBVUUsaUJBQVksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUks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LEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxpQkFHdEcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgaW5qZWN0LFxyXG4gIGNvbXB1dGVkLFxyXG4gIHNpZ25hbCxcclxuICB2aWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFNsaWRlclByZWZpeCwgWFNsaWRlck5vZGUsIFhTbGlkZXJQcm9wZXJ0eSB9IGZyb20gJy4vc2xpZGVyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWFJlc2l6ZSwgWFBvc2l0aW9uLCBYSXNVbmRlZmluZWQsIFhJc0VtcHR5LCBYUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUsIGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWExpbmtDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9saW5rJztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9kcm9wZG93bic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFNsaWRlclByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQsIFhMaW5rQ29tcG9uZW50LCBYQnV0dG9uQ29tcG9uZW50LCBYT3V0bGV0RGlyZWN0aXZlLCBYRHJvcGRvd25Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NsaWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBYU2xpZGVyUHJvcGVydHkgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIHNsaWRlclNjcm9sbCA9IHZpZXdDaGlsZC5yZXF1aXJlZCgnc2xpZGVyU2Nyb2xsJywgeyByZWFkOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB9KTtcclxuICBzbGlkZXJOb2RlcyA9IHZpZXdDaGlsZC5yZXF1aXJlZCgnc2xpZGVyTm9kZXMnLCB7IHJlYWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0pO1xyXG4gIGFjdGl2YXRlZCA9IHNpZ25hbDxYU2xpZGVyTm9kZSB8IG51bGw+KG51bGwpO1xyXG4gIHNob3dBcnJvdyA9IHNpZ25hbChmYWxzZSk7XHJcbiAgYWN0aXZhdGVkSWQgPSBzaWduYWwoJycpO1xyXG4gIHRpbWVvdXRIaWRlOiBhbnk7XHJcbiAgaG92ZXJEZWxheSA9IDIwMDtcclxuICBob3ZlckRlbGF5VW5zdWIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIG9mZnNldCA9IHNpZ25hbCgwKTtcclxuICB0cmFuc2Zvcm0gPSBjb21wdXRlZCgoKSA9PiBgdHJhbnNsYXRlJHt0aGlzLmRpcigpfSgtJHt0aGlzLm9mZnNldCgpfXB4KWApO1xyXG5cclxuICBkaXJlY3Rpb24gPSBzaWduYWw8WFBvc2l0aW9uPigncmlnaHQnKTtcclxuICBtYXhPZmZzZXQgPSBzaWduYWwoMCk7XHJcbiAgZGlyID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubGF5b3V0KCkgPT09ICdyb3cnID8gJ1gnIDogJ1knKSk7XHJcbiAgc2l6ZU5hbWUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sYXlvdXQoKSA9PT0gJ3JvdycgPyAnV2lkdGgnIDogJ0hlaWdodCcpKTtcclxuICBoaWdobGlnaHRCb3ggPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICB0aGlzLnJlc2l6ZUNoYW5nZWQoKTtcclxuICAgIGlmICghdGhpcy5hY3RpdmF0ZWQoKSkgcmV0dXJuIHt9O1xyXG4gICAgY29uc3QgYWN0aXZlRWxlOiBIVE1MRWxlbWVudCA9IHRoaXMuc2xpZGVyTm9kZXMoKS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgIGBsaTpudGgtY2hpbGQoJHt0aGlzLmFjdGl2YXRlZEluZGV4KCkgKyAxfSlgXHJcbiAgICApITtcclxuICAgIGlmICghYWN0aXZlRWxlKSByZXR1cm4ge307XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB3aWR0aDogYCR7YWN0aXZlRWxlLm9mZnNldFdpZHRofXB4YCxcclxuICAgICAgaGVpZ2h0OiBgJHthY3RpdmVFbGUub2Zmc2V0SGVpZ2h0fXB4YCxcclxuICAgICAgbGVmdDogYCR7YWN0aXZlRWxlLm9mZnNldExlZnR9cHhgLFxyXG4gICAgICB0b3A6IGAke2FjdGl2ZUVsZS5vZmZzZXRUb3B9cHhgXHJcbiAgICB9O1xyXG4gIH0pO1xyXG4gIHJlc2l6ZUNoYW5nZWQgPSBzaWduYWw8RE9NUmVjdFJlYWRPbmx5IHwgbnVsbD4obnVsbCk7XHJcbiAgcHJpdmF0ZSB1blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXIhOiBYUmVzaXplT2JzZXJ2ZXI7XHJcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuXHJcbiAgY2xhc3NNYXAgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2Ake1hTbGlkZXJQcmVmaXh9LSR7dGhpcy5sYXlvdXQoKX1gXTogIVhJc0VtcHR5KHRoaXMubGF5b3V0KCkpLFxyXG4gICAgW2Ake1hTbGlkZXJQcmVmaXh9LXNob3ctYXJyb3dgXTogdGhpcy5zaG93QXJyb3coKVxyXG4gIH0pKTtcclxuICBzY3JvbGxDbGFzc01hcCA9IGNvbXB1dGVkKCgpID0+ICh7XHJcbiAgICBbYHgtanVzdGlmeS0ke3RoaXMuanVzdGlmeSgpfWBdOiAhWElzRW1wdHkodGhpcy5qdXN0aWZ5KCkpXHJcbiAgfSkpO1xyXG4gIG5vZGVDbGFzc01hcCA9IGNvbXB1dGVkKCgpID0+ICh7XHJcbiAgICBbYHgtanVzdGlmeS0ke3RoaXMubm9kZUp1c3RpZnkoKX1gXTogIVhJc0VtcHR5KHRoaXMubm9kZUp1c3RpZnkoKSksXHJcbiAgICBbYHgtc2l6ZS0ke3RoaXMuc2l6ZSgpfWBdOiAhWElzRW1wdHkodGhpcy5zaXplKCkpXHJcbiAgfSkpO1xyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMudW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgICB0aGlzLmhvdmVyRGVsYXlVbnN1Yi5uZXh0KCk7XHJcbiAgICB0aGlzLmhvdmVyRGVsYXlVbnN1Yi5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRTdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBYUmVzaXplKHRoaXMuc2xpZGVyU2Nyb2xsKCkubmF0aXZlRWxlbWVudCwgdGhpcy5zbGlkZXJOb2RlcygpLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNpemVDaGVja2VkKCk7XHJcbiAgICAgICAgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICAgICAgICB0aGlzLnJlc2l6ZUNoYW5nZWQuc2V0KHguZW50cnk/LmNvbnRlbnRSZWN0IHx8IG51bGwpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRW50ZXIoZXZlbnQ6IEV2ZW50IHwgbnVsbCwgbm9kZTogWFNsaWRlck5vZGUsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChub2RlLmRpc2FibGVkIHx8IHRoaXMudHJpZ2dlcigpID09PSAnY2xpY2snKSByZXR1cm47XHJcbiAgICBvZih0cnVlKVxyXG4gICAgICAucGlwZShkZWxheSh0aGlzLmhvdmVyRGVsYXkpLCB0YWtlVW50aWwodGhpcy5ob3ZlckRlbGF5VW5zdWIpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy50aW1lb3V0SGlkZSkge1xyXG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgICAgICAgdGhpcy50aW1lb3V0SGlkZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZUNsaWNrKGV2ZW50LCBub2RlLCBpbmRleCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25MZWF2ZShub2RlOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQgfHwgdGhpcy50cmlnZ2VyKCkgPT09ICdjbGljaycpIHJldHVybjtcclxuICAgIHRoaXMuaG92ZXJEZWxheVVuc3ViLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG5vZGVDbGljayhldmVudDogRXZlbnQgfCBudWxsLCBub2RlOiBYU2xpZGVyTm9kZSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuc2V0RGlyZWN0aW9uKGluZGV4LCB0aGlzLmFjdGl2YXRlZEluZGV4KCkpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJbmRleC5zZXQoaW5kZXgpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQuc2V0KG5vZGUpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJZC5zZXQobm9kZS5pZCk7XHJcbiAgICB0aGlzLnNldFRyYW5zbGF0ZSgpO1xyXG4gICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KGluZGV4KTtcclxuICAgIHRoaXMubm9kZUNoYW5nZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcGRvd25DbGljayhub2RlOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmRhdGEoKS5pbmRleE9mKG5vZGUpO1xyXG4gICAgdGhpcy5ub2RlQ2xpY2sobnVsbCwgbm9kZSwgaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsUHJldigpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCgpID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwoKS5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWUoKX1gXTtcclxuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLm9mZnNldCgpO1xyXG4gICAgaWYgKCFjdXJyZW50T2Zmc2V0KSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ID4gc2Nyb2xsU2l6ZSA/IGN1cnJlbnRPZmZzZXQgLSBzY3JvbGxTaXplIDogMDtcclxuICAgIHRoaXMub2Zmc2V0LnNldChNYXRoLmZsb29yKG9mZnNldCkpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTmV4dCgpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCgpID09PSB0aGlzLm1heE9mZnNldCgpKSByZXR1cm47XHJcbiAgICBjb25zdCBzbGlkZXJTaXplID0gdGhpcy5zbGlkZXJOb2RlcygpLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZSgpfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsKCkubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lKCl9YF07XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTtcclxuICAgIGlmIChzbGlkZXJTaXplIC0gY3VycmVudE9mZnNldCA8PSBzY3JvbGxTaXplKSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBzbGlkZXJTaXplIC0gY3VycmVudE9mZnNldCA+IHNjcm9sbFNpemUgKiAyID8gY3VycmVudE9mZnNldCArIHNjcm9sbFNpemUgOiBzbGlkZXJTaXplIC0gc2Nyb2xsU2l6ZTtcclxuICAgIHRoaXMub2Zmc2V0LnNldChNYXRoLmZsb29yKG9mZnNldCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlyZWN0aW9uKGluZGV4OiBudW1iZXIsIGJlZm9yZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBpbmNyZWFzZSA9IGluZGV4ID4gYmVmb3JlO1xyXG4gICAgdGhpcy5kaXJlY3Rpb24uc2V0KHRoaXMubGF5b3V0KCkgPT09ICdyb3cnID8gKGluY3JlYXNlID8gJ3JpZ2h0JyA6ICdsZWZ0JykgOiBpbmNyZWFzZSA/ICdib3R0b20nIDogJ3RvcCcpO1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXRUcmFuc2xhdGUoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIFhJc1VuZGVmaW5lZCh0aGlzLnNsaWRlclNjcm9sbCgpKSB8fFxyXG4gICAgICBYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJOb2RlcygpKSB8fFxyXG4gICAgICB0eXBlb2YgdGhpcy5zbGlkZXJTY3JvbGwoKS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCAhPT0gJ2Z1bmN0aW9uJ1xyXG4gICAgKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBzbGlkZXJSZWN0ID0gdGhpcy5zbGlkZXJTY3JvbGwoKS5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHNsaWRlck5vZGVzUmVjdCA9IHRoaXMuc2xpZGVyTm9kZXMoKS5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBtb3ZlSW5kZXggPVxyXG4gICAgICBbJ2JvdHRvbScsICdyaWdodCddLmluZGV4T2YodGhpcy5kaXJlY3Rpb24oKSkgIT09IC0xID8gdGhpcy5hY3RpdmF0ZWRJbmRleCgpICsgMiA6IHRoaXMuYWN0aXZhdGVkSW5kZXgoKTtcclxuICAgIG1vdmVJbmRleCA9IG1vdmVJbmRleCA+IHRoaXMuZGF0YSgpLmxlbmd0aCA/IHRoaXMuZGF0YSgpLmxlbmd0aCA6IG1vdmVJbmRleCA9PT0gMCA/IDEgOiBtb3ZlSW5kZXg7XHJcbiAgICBsZXQgbW92ZUVsZSA9IHRoaXMuc2xpZGVyTm9kZXMoKS5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKGBsaTpudGgtY2hpbGQoJHttb3ZlSW5kZXh9KWApO1xyXG4gICAgbGV0IG1heE9mZnNldCA9IDA7XHJcbiAgICBpZiAoWElzRW1wdHkobW92ZUVsZSkpIHJldHVybjtcclxuICAgIGNvbnN0IG1vdmVSZWN0ID0gbW92ZUVsZSEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTtcclxuICAgIGxldCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0O1xyXG4gICAgaWYgKHRoaXMubGF5b3V0KCkgPT09ICdyb3cnKSB7XHJcbiAgICAgIG1heE9mZnNldCA9IHNsaWRlck5vZGVzUmVjdC53aWR0aCAtIHNsaWRlclJlY3Qud2lkdGg7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5sZWZ0IDwgc2xpZGVyUmVjdC5sZWZ0KSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gY3VycmVudE9mZnNldCAtIChzbGlkZXJSZWN0LmxlZnQgLSBtb3ZlUmVjdC5sZWZ0KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW92ZVJlY3QucmlnaHQgPiBzbGlkZXJSZWN0LnJpZ2h0KSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gY3VycmVudE9mZnNldCArIG1vdmVSZWN0LnJpZ2h0IC0gc2xpZGVyUmVjdC5yaWdodDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LmhlaWdodCAtIHNsaWRlclJlY3QuaGVpZ2h0O1xyXG4gICAgICBpZiAobW92ZVJlY3QudG9wIDwgc2xpZGVyUmVjdC50b3ApIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QudG9wIC0gbW92ZVJlY3QudG9wKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW92ZVJlY3QuYm90dG9tID4gc2xpZGVyUmVjdC5ib3R0b20pIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgKG1vdmVSZWN0LmJvdHRvbSAtIHNsaWRlclJlY3QuYm90dG9tKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5tYXhPZmZzZXQuc2V0KE1hdGguY2VpbChtYXhPZmZzZXQpKTtcclxuICAgIG9mZnNldCA9IE1hdGgubWF4KE1hdGguY2VpbChvZmZzZXQpLCAwKTtcclxuICAgIGlmICghdGhpcy5zaG93QXJyb3coKSkge1xyXG4gICAgICB0aGlzLm9mZnNldC5zZXQoMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoW3RoaXMubWF4T2Zmc2V0KCkgKyAxLCB0aGlzLm1heE9mZnNldCgpIC0gMV0uaW5jbHVkZXMob2Zmc2V0KSkge1xyXG4gICAgICAgIHRoaXMub2Zmc2V0LnNldCh0aGlzLm1heE9mZnNldCgpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9mZnNldC5zZXQoTWF0aC5taW4ob2Zmc2V0LCB0aGlzLm1heE9mZnNldCgpKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNpemVDaGVja2VkKCkge1xyXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMoKS5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWUoKX1gXTtcclxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSB0aGlzLnNsaWRlclNjcm9sbCgpLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZSgpfWBdO1xyXG4gICAgY29uc3Qgc2hvd0Fycm93ID0gdGhpcy5kYXRhKCkubGVuZ3RoID4gMSAmJiBzaXplID4gc2Nyb2xsU2l6ZTtcclxuICAgIGlmICh0aGlzLnNob3dBcnJvdygpICE9PSBzaG93QXJyb3cpIHtcclxuICAgICAgdGhpcy5zaG93QXJyb3cuc2V0KHNob3dBcnJvdyk7XHJcbiAgICAgIGlmICghdGhpcy5zaG93QXJyb3coKSkge1xyXG4gICAgICAgIHRoaXMub2Zmc2V0LnNldCgwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0QWN0aXZhdGVkKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YSgpLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQuc2V0KHRoaXMuZGF0YSgpW3RoaXMuYWN0aXZhdGVkSW5kZXgoKV0pO1xyXG4gICAgICBpZiAodGhpcy5hY3RpdmF0ZWQoKSkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkSWQuc2V0KHRoaXMuYWN0aXZhdGVkKCk/LmlkKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQuc2V0KG51bGwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRUcmFuc2xhdGUoKTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2YXRlZChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmF0ZWRJbmRleCgpID09PSBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjc2xpZGVyIGNsYXNzPVwieC1zbGlkZXJcIiBbbmdDbGFzc109XCJjbGFzc01hcCgpXCI+XHJcbiAgQGlmIChhdXRvU2hvd0Fycm93KCkgJiYgc2hvd0Fycm93KCkpIHtcclxuICAgIDx4LWxpbmtcclxuICAgICAgW2Rpc2FibGVkXT1cIm9mZnNldCgpID09PSAwXCJcclxuICAgICAgY2xhc3M9XCJ4LXNsaWRlci1hcnJvdy1sZWZ0XCJcclxuICAgICAgaWNvbj1cImZ0by1jaGV2cm9uLWxlZnRcIlxyXG4gICAgICAoY2xpY2spPVwic2Nyb2xsUHJldigpXCJcclxuICAgID48L3gtbGluaz5cclxuICB9XHJcbiAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNjcm9sbFwiICNzbGlkZXJTY3JvbGwgW25nQ2xhc3NdPVwic2Nyb2xsQ2xhc3NNYXAoKVwiPlxyXG4gICAgPHVsICNzbGlkZXJOb2RlcyBbc3R5bGUudHJhbnNmb3JtXT1cInRyYW5zZm9ybSgpXCI+XHJcbiAgICAgIEBmb3IgKG5vZGUgb2YgZGF0YSgpOyB0cmFjayBub2RlLmlkOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgIDxsaSBbY2xhc3MueC1zbGlkZXItYWN0aXZhdGVkXT1cImdldEFjdGl2YXRlZChpKVwiIFtjbGFzcy54LXNsaWRlci1kaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCIgW3RpdGxlXT1cIm5vZGUubGFiZWxcIj5cclxuICAgICAgICAgIDx4LWxpbmtcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm5vZGVDbGljaygkZXZlbnQsIG5vZGUsIGkpXCJcclxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25FbnRlcigkZXZlbnQsIG5vZGUsIGkpXCJcclxuICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25MZWF2ZShub2RlKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIm5vZGVDbGFzc01hcCgpXCJcclxuICAgICAgICAgICAgW2hyZWZdPVwic2hvd0FuY2hvcigpID8gJyMnICsgbm9kZS5pZCA6ICcnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVUcGwoKSE7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICBAaWYgKCFub2RlVHBsKCkpIHtcclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwibm9kZS5sYWJlbFwiPnt7IG5vZGUubGFiZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC94LWxpbms+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfVxyXG4gICAgICA8bGkgY2xhc3M9XCJ4LXNsaWRlci1oaWdobGlnaHRcIiBbY2xhc3MueC1zbGlkZXItaGlnaGxpZ2h0LWFuaW1hdGVkXT1cImFuaW1hdGVkKClcIiBbbmdTdHlsZV09XCJoaWdobGlnaHRCb3goKVwiPjwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAoYXV0b1Nob3dBcnJvdygpICYmIHNob3dBcnJvdygpKSB7XHJcbiAgICA8eC1saW5rXHJcbiAgICAgIFtkaXNhYmxlZF09XCJvZmZzZXQoKSA9PT0gbWF4T2Zmc2V0KClcIlxyXG4gICAgICBjbGFzcz1cIngtc2xpZGVyLWFycm93LXJpZ2h0XCJcclxuICAgICAgaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCJcclxuICAgICAgKGNsaWNrKT1cInNjcm9sbE5leHQoKVwiXHJcbiAgICA+PC94LWxpbms+XHJcbiAgfVxyXG4gIEBpZiAoc2hvd0V4cGFuZCgpICYmIHNob3dBcnJvdygpICYmIGxheW91dCgpID09PSAncm93Jykge1xyXG4gICAgPHgtZHJvcGRvd25cclxuICAgICAgY2xhc3M9XCJ4LXNsaWRlci1hbGxcIlxyXG4gICAgICBbZGF0YV09XCJkYXRhKClcIlxyXG4gICAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgICBbKGFjdGl2YXRlZElkKV09XCJhY3RpdmF0ZWRJZFwiXHJcbiAgICAgIChub2RlQ2xpY2spPVwiZHJvcGRvd25DbGljaygkZXZlbnQpXCJcclxuICAgICAgW3BvcnRhbE1heEhlaWdodF09XCJleHBhbmRNYXhIZWlnaHQoKVwiXHJcbiAgICA+XHJcbiAgICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWxpc3RcIiBvbmx5SWNvbiBmbGF0IHBsYWluIFtzaXplXT1cInNpemUoKVwiPiA8L3gtYnV0dG9uPlxyXG4gICAgPC94LWRyb3Bkb3duPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsdUJBQXVCLEVBR3ZCLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFlLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFXMUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFUckQ7O1FBVUUsaUJBQVksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUks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LEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxpQkFHdEcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgaW5qZWN0LFxyXG4gIGNvbXB1dGVkLFxyXG4gIHNpZ25hbCxcclxuICB2aWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFNsaWRlclByZWZpeCwgWFNsaWRlck5vZGUsIFhTbGlkZXJQcm9wZXJ0eSB9IGZyb20gJy4vc2xpZGVyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWFJlc2l6ZSwgWFBvc2l0aW9uLCBYSXNVbmRlZmluZWQsIFhJc0VtcHR5LCBYUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUsIGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWExpbmtDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9saW5rJztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9kcm9wZG93bic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFNsaWRlclByZWZpeH1gLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQsIFhMaW5rQ29tcG9uZW50LCBYQnV0dG9uQ29tcG9uZW50LCBYT3V0bGV0RGlyZWN0aXZlLCBYRHJvcGRvd25Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NsaWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBYU2xpZGVyUHJvcGVydHkgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIHNsaWRlclNjcm9sbCA9IHZpZXdDaGlsZC5yZXF1aXJlZCgnc2xpZGVyU2Nyb2xsJywgeyByZWFkOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB9KTtcclxuICBzbGlkZXJOb2RlcyA9IHZpZXdDaGlsZC5yZXF1aXJlZCgnc2xpZGVyTm9kZXMnLCB7IHJlYWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0pO1xyXG4gIGFjdGl2YXRlZCA9IHNpZ25hbDxYU2xpZGVyTm9kZSB8IG51bGw+KG51bGwpO1xyXG4gIHNob3dBcnJvdyA9IHNpZ25hbChmYWxzZSk7XHJcbiAgYWN0aXZhdGVkSWQgPSBzaWduYWwoJycpO1xyXG4gIHRpbWVvdXRIaWRlOiBhbnk7XHJcbiAgaG92ZXJEZWxheSA9IDIwMDtcclxuICBob3ZlckRlbGF5VW5zdWIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIG9mZnNldCA9IHNpZ25hbCgwKTtcclxuICB0cmFuc2Zvcm0gPSBjb21wdXRlZCgoKSA9PiBgdHJhbnNsYXRlJHt0aGlzLmRpcigpfSgtJHt0aGlzLm9mZnNldCgpfXB4KWApO1xyXG5cclxuICBkaXJlY3Rpb24gPSBzaWduYWw8WFBvc2l0aW9uPigncmlnaHQnKTtcclxuICBtYXhPZmZzZXQgPSBzaWduYWwoMCk7XHJcbiAgZGlyID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubGF5b3V0KCkgPT09ICdyb3cnID8gJ1gnIDogJ1knKSk7XHJcbiAgc2l6ZU5hbWUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sYXlvdXQoKSA9PT0gJ3JvdycgPyAnV2lkdGgnIDogJ0hlaWdodCcpKTtcclxuICBoaWdobGlnaHRCb3ggPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICB0aGlzLnJlc2l6ZUNoYW5nZWQoKTtcclxuICAgIGlmICghdGhpcy5hY3RpdmF0ZWQoKSkgcmV0dXJuIHt9O1xyXG4gICAgY29uc3QgYWN0aXZlRWxlOiBIVE1MRWxlbWVudCA9IHRoaXMuc2xpZGVyTm9kZXMoKS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgIGBsaTpudGgtY2hpbGQoJHt0aGlzLmFjdGl2YXRlZEluZGV4KCkgKyAxfSlgXHJcbiAgICApITtcclxuICAgIGlmICghYWN0aXZlRWxlKSByZXR1cm4ge307XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB3aWR0aDogYCR7YWN0aXZlRWxlLm9mZnNldFdpZHRofXB4YCxcclxuICAgICAgaGVpZ2h0OiBgJHthY3RpdmVFbGUub2Zmc2V0SGVpZ2h0fXB4YCxcclxuICAgICAgbGVmdDogYCR7YWN0aXZlRWxlLm9mZnNldExlZnR9cHhgLFxyXG4gICAgICB0b3A6IGAke2FjdGl2ZUVsZS5vZmZzZXRUb3B9cHhgXHJcbiAgICB9O1xyXG4gIH0pO1xyXG4gIHJlc2l6ZUNoYW5nZWQgPSBzaWduYWw8RE9NUmVjdFJlYWRPbmx5IHwgbnVsbD4obnVsbCk7XHJcbiAgcHJpdmF0ZSB1blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXIhOiBYUmVzaXplT2JzZXJ2ZXI7XHJcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuXHJcbiAgY2xhc3NNYXAgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2Ake1hTbGlkZXJQcmVmaXh9LSR7dGhpcy5sYXlvdXQoKX1gXTogIVhJc0VtcHR5KHRoaXMubGF5b3V0KCkpLFxyXG4gICAgW2Ake1hTbGlkZXJQcmVmaXh9LXNob3ctYXJyb3dgXTogdGhpcy5zaG93QXJyb3coKVxyXG4gIH0pKTtcclxuICBzY3JvbGxDbGFzc01hcCA9IGNvbXB1dGVkKCgpID0+ICh7XHJcbiAgICBbYHgtanVzdGlmeS0ke3RoaXMuanVzdGlmeSgpfWBdOiAhWElzRW1wdHkodGhpcy5qdXN0aWZ5KCkpXHJcbiAgfSkpO1xyXG4gIG5vZGVDbGFzc01hcCA9IGNvbXB1dGVkKCgpID0+ICh7XHJcbiAgICBbYHgtanVzdGlmeS0ke3RoaXMubm9kZUp1c3RpZnkoKX1gXTogIVhJc0VtcHR5KHRoaXMubm9kZUp1c3RpZnkoKSksXHJcbiAgICBbYHgtc2l6ZS0ke3RoaXMuc2l6ZSgpfWBdOiAhWElzRW1wdHkodGhpcy5zaXplKCkpXHJcbiAgfSkpO1xyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMudW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgICB0aGlzLmhvdmVyRGVsYXlVbnN1Yi5uZXh0KCk7XHJcbiAgICB0aGlzLmhvdmVyRGVsYXlVbnN1Yi5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRTdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBYUmVzaXplKHRoaXMuc2xpZGVyU2Nyb2xsKCkubmF0aXZlRWxlbWVudCwgdGhpcy5zbGlkZXJOb2RlcygpLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNpemVDaGVja2VkKCk7XHJcbiAgICAgICAgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICAgICAgICB0aGlzLnJlc2l6ZUNoYW5nZWQuc2V0KHguZW50cnk/LmNvbnRlbnRSZWN0IHx8IG51bGwpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRW50ZXIoZXZlbnQ6IEV2ZW50IHwgbnVsbCwgbm9kZTogWFNsaWRlck5vZGUsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChub2RlLmRpc2FibGVkIHx8IHRoaXMudHJpZ2dlcigpID09PSAnY2xpY2snKSByZXR1cm47XHJcbiAgICBvZih0cnVlKVxyXG4gICAgICAucGlwZShkZWxheSh0aGlzLmhvdmVyRGVsYXkpLCB0YWtlVW50aWwodGhpcy5ob3ZlckRlbGF5VW5zdWIpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy50aW1lb3V0SGlkZSkge1xyXG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgICAgICAgdGhpcy50aW1lb3V0SGlkZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZUNsaWNrKGV2ZW50LCBub2RlLCBpbmRleCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25MZWF2ZShub2RlOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQgfHwgdGhpcy50cmlnZ2VyKCkgPT09ICdjbGljaycpIHJldHVybjtcclxuICAgIHRoaXMuaG92ZXJEZWxheVVuc3ViLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG5vZGVDbGljayhldmVudDogRXZlbnQgfCBudWxsLCBub2RlOiBYU2xpZGVyTm9kZSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuc2V0RGlyZWN0aW9uKGluZGV4LCB0aGlzLmFjdGl2YXRlZEluZGV4KCkpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJbmRleC5zZXQoaW5kZXgpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQuc2V0KG5vZGUpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJZC5zZXQobm9kZS5pZCk7XHJcbiAgICB0aGlzLnNldFRyYW5zbGF0ZSgpO1xyXG4gICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KGluZGV4KTtcclxuICAgIHRoaXMubm9kZUNoYW5nZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcGRvd25DbGljayhub2RlOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmRhdGEoKS5pbmRleE9mKG5vZGUpO1xyXG4gICAgdGhpcy5ub2RlQ2xpY2sobnVsbCwgbm9kZSwgaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsUHJldigpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCgpID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwoKS5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWUoKX1gXTtcclxuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLm9mZnNldCgpO1xyXG4gICAgaWYgKCFjdXJyZW50T2Zmc2V0KSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ID4gc2Nyb2xsU2l6ZSA/IGN1cnJlbnRPZmZzZXQgLSBzY3JvbGxTaXplIDogMDtcclxuICAgIHRoaXMub2Zmc2V0LnNldChNYXRoLmZsb29yKG9mZnNldCkpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTmV4dCgpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCgpID09PSB0aGlzLm1heE9mZnNldCgpKSByZXR1cm47XHJcbiAgICBjb25zdCBzbGlkZXJTaXplID0gdGhpcy5zbGlkZXJOb2RlcygpLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZSgpfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsKCkubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lKCl9YF07XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTtcclxuICAgIGlmIChzbGlkZXJTaXplIC0gY3VycmVudE9mZnNldCA8PSBzY3JvbGxTaXplKSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBzbGlkZXJTaXplIC0gY3VycmVudE9mZnNldCA+IHNjcm9sbFNpemUgKiAyID8gY3VycmVudE9mZnNldCArIHNjcm9sbFNpemUgOiBzbGlkZXJTaXplIC0gc2Nyb2xsU2l6ZTtcclxuICAgIHRoaXMub2Zmc2V0LnNldChNYXRoLmZsb29yKG9mZnNldCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlyZWN0aW9uKGluZGV4OiBudW1iZXIsIGJlZm9yZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBpbmNyZWFzZSA9IGluZGV4ID4gYmVmb3JlO1xyXG4gICAgdGhpcy5kaXJlY3Rpb24uc2V0KHRoaXMubGF5b3V0KCkgPT09ICdyb3cnID8gKGluY3JlYXNlID8gJ3JpZ2h0JyA6ICdsZWZ0JykgOiBpbmNyZWFzZSA/ICdib3R0b20nIDogJ3RvcCcpO1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXRUcmFuc2xhdGUoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIFhJc1VuZGVmaW5lZCh0aGlzLnNsaWRlclNjcm9sbCgpKSB8fFxyXG4gICAgICBYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJOb2RlcygpKSB8fFxyXG4gICAgICB0eXBlb2YgdGhpcy5zbGlkZXJTY3JvbGwoKS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCAhPT0gJ2Z1bmN0aW9uJ1xyXG4gICAgKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBzbGlkZXJSZWN0ID0gdGhpcy5zbGlkZXJTY3JvbGwoKS5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHNsaWRlck5vZGVzUmVjdCA9IHRoaXMuc2xpZGVyTm9kZXMoKS5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBtb3ZlSW5kZXggPVxyXG4gICAgICBbJ2JvdHRvbScsICdyaWdodCddLmluZGV4T2YodGhpcy5kaXJlY3Rpb24oKSkgIT09IC0xID8gdGhpcy5hY3RpdmF0ZWRJbmRleCgpICsgMiA6IHRoaXMuYWN0aXZhdGVkSW5kZXgoKTtcclxuICAgIG1vdmVJbmRleCA9IG1vdmVJbmRleCA+IHRoaXMuZGF0YSgpLmxlbmd0aCA/IHRoaXMuZGF0YSgpLmxlbmd0aCA6IG1vdmVJbmRleCA9PT0gMCA/IDEgOiBtb3ZlSW5kZXg7XHJcbiAgICBsZXQgbW92ZUVsZSA9IHRoaXMuc2xpZGVyTm9kZXMoKS5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKGBsaTpudGgtY2hpbGQoJHttb3ZlSW5kZXh9KWApO1xyXG4gICAgbGV0IG1heE9mZnNldCA9IDA7XHJcbiAgICBpZiAoWElzRW1wdHkobW92ZUVsZSkpIHJldHVybjtcclxuICAgIGNvbnN0IG1vdmVSZWN0ID0gbW92ZUVsZSEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTtcclxuICAgIGxldCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0O1xyXG4gICAgaWYgKHRoaXMubGF5b3V0KCkgPT09ICdyb3cnKSB7XHJcbiAgICAgIG1heE9mZnNldCA9IHNsaWRlck5vZGVzUmVjdC53aWR0aCAtIHNsaWRlclJlY3Qud2lkdGg7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5sZWZ0IDwgc2xpZGVyUmVjdC5sZWZ0KSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gY3VycmVudE9mZnNldCAtIChzbGlkZXJSZWN0LmxlZnQgLSBtb3ZlUmVjdC5sZWZ0KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW92ZVJlY3QucmlnaHQgPiBzbGlkZXJSZWN0LnJpZ2h0KSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gY3VycmVudE9mZnNldCArIG1vdmVSZWN0LnJpZ2h0IC0gc2xpZGVyUmVjdC5yaWdodDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LmhlaWdodCAtIHNsaWRlclJlY3QuaGVpZ2h0O1xyXG4gICAgICBpZiAobW92ZVJlY3QudG9wIDwgc2xpZGVyUmVjdC50b3ApIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QudG9wIC0gbW92ZVJlY3QudG9wKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW92ZVJlY3QuYm90dG9tID4gc2xpZGVyUmVjdC5ib3R0b20pIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgKG1vdmVSZWN0LmJvdHRvbSAtIHNsaWRlclJlY3QuYm90dG9tKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5tYXhPZmZzZXQuc2V0KE1hdGguY2VpbChtYXhPZmZzZXQpKTtcclxuICAgIG9mZnNldCA9IE1hdGgubWF4KE1hdGguY2VpbChvZmZzZXQpLCAwKTtcclxuICAgIGlmICghdGhpcy5zaG93QXJyb3coKSkge1xyXG4gICAgICB0aGlzLm9mZnNldC5zZXQoMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoW3RoaXMubWF4T2Zmc2V0KCkgKyAxLCB0aGlzLm1heE9mZnNldCgpIC0gMV0uaW5jbHVkZXMob2Zmc2V0KSkge1xyXG4gICAgICAgIHRoaXMub2Zmc2V0LnNldCh0aGlzLm1heE9mZnNldCgpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9mZnNldC5zZXQoTWF0aC5taW4ob2Zmc2V0LCB0aGlzLm1heE9mZnNldCgpKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNpemVDaGVja2VkKCkge1xyXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMoKS5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWUoKX1gXTtcclxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSB0aGlzLnNsaWRlclNjcm9sbCgpLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZSgpfWBdO1xyXG4gICAgY29uc3Qgc2hvd0Fycm93ID0gdGhpcy5kYXRhKCkubGVuZ3RoID4gMSAmJiBzaXplID4gc2Nyb2xsU2l6ZTtcclxuICAgIGlmICh0aGlzLnNob3dBcnJvdygpICE9PSBzaG93QXJyb3cpIHtcclxuICAgICAgdGhpcy5zaG93QXJyb3cuc2V0KHNob3dBcnJvdyk7XHJcbiAgICAgIGlmICghdGhpcy5zaG93QXJyb3coKSkge1xyXG4gICAgICAgIHRoaXMub2Zmc2V0LnNldCgwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0QWN0aXZhdGVkKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YSgpLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQuc2V0KHRoaXMuZGF0YSgpW3RoaXMuYWN0aXZhdGVkSW5kZXgoKV0pO1xyXG4gICAgICBpZiAodGhpcy5hY3RpdmF0ZWQoKSkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkSWQuc2V0KHRoaXMuYWN0aXZhdGVkKCk/LmlkKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQuc2V0KG51bGwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRUcmFuc2xhdGUoKTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2YXRlZChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmF0ZWRJbmRleCgpID09PSBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjc2xpZGVyIGNsYXNzPVwieC1zbGlkZXJcIiBbbmdDbGFzc109XCJjbGFzc01hcCgpXCI+XHJcbiAgQGlmIChhdXRvU2hvd0Fycm93KCkgJiYgc2hvd0Fycm93KCkpIHtcclxuICAgIDx4LWxpbmtcclxuICAgICAgW2Rpc2FibGVkXT1cIm9mZnNldCgpID09PSAwXCJcclxuICAgICAgY2xhc3M9XCJ4LXNsaWRlci1hcnJvdy1sZWZ0XCJcclxuICAgICAgaWNvbj1cImZ0by1jaGV2cm9uLWxlZnRcIlxyXG4gICAgICAoY2xpY2spPVwic2Nyb2xsUHJldigpXCJcclxuICAgID48L3gtbGluaz5cclxuICB9XHJcbiAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNjcm9sbFwiICNzbGlkZXJTY3JvbGwgW25nQ2xhc3NdPVwic2Nyb2xsQ2xhc3NNYXAoKVwiPlxyXG4gICAgPHVsICNzbGlkZXJOb2RlcyBbc3R5bGUudHJhbnNmb3JtXT1cInRyYW5zZm9ybSgpXCI+XHJcbiAgICAgIEBmb3IgKG5vZGUgb2YgZGF0YSgpOyB0cmFjayBub2RlLmlkOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgIDxsaSBbY2xhc3MueC1zbGlkZXItYWN0aXZhdGVkXT1cImdldEFjdGl2YXRlZChpKVwiIFtjbGFzcy54LXNsaWRlci1kaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCIgW3RpdGxlXT1cIm5vZGUubGFiZWxcIj5cclxuICAgICAgICAgIDx4LWxpbmtcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm5vZGVDbGljaygkZXZlbnQsIG5vZGUsIGkpXCJcclxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25FbnRlcigkZXZlbnQsIG5vZGUsIGkpXCJcclxuICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25MZWF2ZShub2RlKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIm5vZGVDbGFzc01hcCgpXCJcclxuICAgICAgICAgICAgW2hyZWZdPVwic2hvd0FuY2hvcigpID8gJyMnICsgbm9kZS5pZCA6ICcnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVUcGwoKSE7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICBAaWYgKCFub2RlVHBsKCkpIHtcclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwibm9kZS5sYWJlbFwiPnt7IG5vZGUubGFiZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC94LWxpbms+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfVxyXG4gICAgICA8bGkgY2xhc3M9XCJ4LXNsaWRlci1oaWdobGlnaHRcIiBbY2xhc3MueC1zbGlkZXItaGlnaGxpZ2h0LWFuaW1hdGVkXT1cImFuaW1hdGVkKClcIiBbbmdTdHlsZV09XCJoaWdobGlnaHRCb3goKVwiPjwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAoYXV0b1Nob3dBcnJvdygpICYmIHNob3dBcnJvdygpKSB7XHJcbiAgICA8eC1saW5rXHJcbiAgICAgIFtkaXNhYmxlZF09XCJvZmZzZXQoKSA9PT0gbWF4T2Zmc2V0KClcIlxyXG4gICAgICBjbGFzcz1cIngtc2xpZGVyLWFycm93LXJpZ2h0XCJcclxuICAgICAgaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCJcclxuICAgICAgKGNsaWNrKT1cInNjcm9sbE5leHQoKVwiXHJcbiAgICA+PC94LWxpbms+XHJcbiAgfVxyXG4gIEBpZiAoc2hvd0V4cGFuZCgpICYmIHNob3dBcnJvdygpICYmIGxheW91dCgpID09PSAncm93Jykge1xyXG4gICAgPHgtZHJvcGRvd25cclxuICAgICAgY2xhc3M9XCJ4LXNsaWRlci1hbGxcIlxyXG4gICAgICBbZGF0YV09XCJkYXRhKClcIlxyXG4gICAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgICBbKGFjdGl2YXRlZElkKV09XCJhY3RpdmF0ZWRJZFwiXHJcbiAgICAgIChub2RlQ2xpY2spPVwiZHJvcGRvd25DbGljaygkZXZlbnQpXCJcclxuICAgICAgW3BvcnRhbE1heEhlaWdodF09XCJleHBhbmRNYXhIZWlnaHQoKVwiXHJcbiAgICA+XHJcbiAgICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWxpc3RcIiBvbmx5SWNvbiBmbGF0IHBsYWluIFtzaXplXT1cInNpemUoKVwiPiA8L3gtYnV0dG9uPlxyXG4gICAgPC94LWRyb3Bkb3duPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { XSliderComponent } from './slider.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class XSliderModule {
|
|
5
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
6
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.
|
|
7
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.
|
|
5
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XSliderModule, imports: [XSliderComponent], exports: [XSliderComponent] }); }
|
|
7
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderModule, imports: [XSliderComponent] }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
declarations: [],
|
|
@@ -92,10 +92,10 @@ export class XSliderProperty extends XPropertyFunction(X_SLIDER_CONFIG_NAME) {
|
|
|
92
92
|
*/
|
|
93
93
|
this.nodeChange = output();
|
|
94
94
|
}
|
|
95
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
96
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.
|
|
95
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XSliderProperty, selector: "x-slider-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, animated: { classPropertyName: "animated", publicName: "animated", isSignal: true, isRequired: false, transformFunction: null }, activatedIndex: { classPropertyName: "activatedIndex", publicName: "activatedIndex", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, nodeJustify: { classPropertyName: "nodeJustify", publicName: "nodeJustify", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showExpand: { classPropertyName: "showExpand", publicName: "showExpand", isSignal: true, isRequired: false, transformFunction: null }, autoShowArrow: { classPropertyName: "autoShowArrow", publicName: "autoShowArrow", isSignal: true, isRequired: false, transformFunction: null }, expandMaxHeight: { classPropertyName: "expandMaxHeight", publicName: "expandMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, showAnchor: { classPropertyName: "showAnchor", publicName: "showAnchor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedIndex: "activatedIndexChange", indexChange: "indexChange", nodeChange: "nodeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
97
97
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderProperty, decorators: [{
|
|
99
99
|
type: Component,
|
|
100
100
|
args: [{ selector: `${XSliderPrefix}-property`, template: '' }]
|
|
101
101
|
}] });
|