@coreui/angular-pro 4.2.0-next.1 → 4.2.0-next.4
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/esm2020/lib/accordion/accordion/accordion.component.mjs +3 -3
- package/esm2020/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
- package/esm2020/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2020/lib/accordion/accordion.module.mjs +4 -4
- package/esm2020/lib/accordion/accordion.service.mjs +3 -3
- package/esm2020/lib/alert/alert-heading.directive.mjs +3 -3
- package/esm2020/lib/alert/alert-link.directive.mjs +3 -3
- package/esm2020/lib/alert/alert.component.mjs +3 -3
- package/esm2020/lib/alert/alert.module.mjs +4 -4
- package/esm2020/lib/avatar/avatar.component.mjs +3 -3
- package/esm2020/lib/avatar/avatar.module.mjs +4 -4
- package/esm2020/lib/backdrop/backdrop.service.mjs +3 -3
- package/esm2020/lib/badge/badge.component.mjs +3 -3
- package/esm2020/lib/badge/badge.module.mjs +4 -4
- package/esm2020/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
- package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
- package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +3 -3
- package/esm2020/lib/breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2020/lib/button/button-close.directive.mjs +3 -3
- package/esm2020/lib/button/button.directive.mjs +3 -3
- package/esm2020/lib/button/button.module.mjs +4 -4
- package/esm2020/lib/button-group/button-group/button-group.component.mjs +3 -3
- package/esm2020/lib/button-group/button-group.module.mjs +4 -4
- package/esm2020/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
- package/esm2020/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
- package/esm2020/lib/calendar/calendar/calendar.component.mjs +25 -17
- package/esm2020/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
- package/esm2020/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -3
- package/esm2020/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
- package/esm2020/lib/calendar/calendar-month/calendar-day.directive.mjs +6 -6
- package/esm2020/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
- package/esm2020/lib/calendar/calendar-month/calendar-month.component.mjs +3 -3
- package/esm2020/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
- package/esm2020/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +3 -3
- package/esm2020/lib/calendar/calendar.module.mjs +4 -4
- package/esm2020/lib/calendar/calendar.service.mjs +3 -3
- package/esm2020/lib/calendar/calendar.utils.mjs +6 -4
- package/esm2020/lib/callout/callout.component.mjs +3 -3
- package/esm2020/lib/callout/callout.module.mjs +4 -4
- package/esm2020/lib/card/card-body.component.mjs +3 -3
- package/esm2020/lib/card/card-footer.component.mjs +3 -3
- package/esm2020/lib/card/card-group.component.mjs +3 -3
- package/esm2020/lib/card/card-header-actions.component.mjs +3 -3
- package/esm2020/lib/card/card-header.component.mjs +3 -3
- package/esm2020/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
- package/esm2020/lib/card/card-img.directive.mjs +3 -3
- package/esm2020/lib/card/card-link.directive.mjs +3 -3
- package/esm2020/lib/card/card-subtitle.directive.mjs +3 -3
- package/esm2020/lib/card/card-text.directive.mjs +3 -3
- package/esm2020/lib/card/card-title.directive.mjs +3 -3
- package/esm2020/lib/card/card.component.mjs +3 -3
- package/esm2020/lib/card/card.module.mjs +4 -4
- package/esm2020/lib/carousel/carousel/carousel.component.mjs +3 -3
- package/esm2020/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
- package/esm2020/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
- package/esm2020/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
- package/esm2020/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
- package/esm2020/lib/carousel/carousel-item/carousel-item.component.mjs +3 -3
- package/esm2020/lib/carousel/carousel-state.mjs +3 -3
- package/esm2020/lib/carousel/carousel.config.mjs +3 -3
- package/esm2020/lib/carousel/carousel.module.mjs +4 -4
- package/esm2020/lib/carousel/carousel.service.mjs +3 -3
- package/esm2020/lib/collapse/collapse.directive.mjs +3 -3
- package/esm2020/lib/collapse/collapse.module.mjs +4 -4
- package/esm2020/lib/date-picker/date-picker.component.mjs +49 -0
- package/esm2020/lib/date-picker/date-picker.module.mjs +59 -0
- package/esm2020/lib/date-picker/index.mjs +2 -0
- package/esm2020/lib/date-picker/public_api.mjs +3 -0
- package/esm2020/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +69 -26
- package/esm2020/lib/date-range-picker/date-range-picker.module.mjs +13 -15
- package/esm2020/lib/date-range-picker/public_api.mjs +1 -1
- package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +6 -6
- package/esm2020/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
- package/esm2020/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
- package/esm2020/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
- package/esm2020/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
- package/esm2020/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +3 -3
- package/esm2020/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
- package/esm2020/lib/dropdown/dropdown.module.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown.service.mjs +3 -3
- package/esm2020/lib/element-cover/element-cover.component.mjs +3 -3
- package/esm2020/lib/element-cover/element-cover.module.mjs +4 -4
- package/esm2020/lib/footer/footer.component.mjs +3 -3
- package/esm2020/lib/footer/footer.module.mjs +4 -4
- package/esm2020/lib/form/form/form.directive.mjs +3 -3
- package/esm2020/lib/form/form-check/form-check-input.directive.mjs +3 -3
- package/esm2020/lib/form/form-check/form-check-label.directive.mjs +3 -3
- package/esm2020/lib/form/form-check/form-check.component.mjs +3 -3
- package/esm2020/lib/form/form-control/form-control.directive.mjs +3 -3
- package/esm2020/lib/form/form-feedback/form-feedback.component.mjs +3 -3
- package/esm2020/lib/form/form-floating/form-floating.directive.mjs +3 -3
- package/esm2020/lib/form/form-label/form-label.directive.mjs +3 -3
- package/esm2020/lib/form/form-select/form-select.directive.mjs +3 -3
- package/esm2020/lib/form/form-text/form-text.directive.mjs +3 -3
- package/esm2020/lib/form/form.module.mjs +4 -4
- package/esm2020/lib/form/input-group/input-group.component.mjs +3 -3
- package/esm2020/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
- package/esm2020/lib/grid/col.component.mjs +3 -3
- package/esm2020/lib/grid/col.directive.mjs +3 -3
- package/esm2020/lib/grid/container.component.mjs +3 -3
- package/esm2020/lib/grid/grid.module.mjs +4 -4
- package/esm2020/lib/grid/gutter.directive.mjs +3 -3
- package/esm2020/lib/grid/row.component.mjs +3 -3
- package/esm2020/lib/grid/row.directive.mjs +3 -3
- package/esm2020/lib/header/header/header.component.mjs +3 -3
- package/esm2020/lib/header/header-brand/header-brand.component.mjs +3 -3
- package/esm2020/lib/header/header-divider/header-divider.component.mjs +3 -3
- package/esm2020/lib/header/header-nav/header-nav.component.mjs +3 -3
- package/esm2020/lib/header/header-text/header-text.component.mjs +3 -3
- package/esm2020/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
- package/esm2020/lib/header/header.module.mjs +4 -4
- package/esm2020/lib/image/img.directive.mjs +3 -3
- package/esm2020/lib/image/img.module.mjs +4 -4
- package/esm2020/lib/list-group/list-group-item.directive.mjs +3 -3
- package/esm2020/lib/list-group/list-group.directive.mjs +3 -3
- package/esm2020/lib/list-group/list-group.module.mjs +4 -4
- package/esm2020/lib/loading-button/loading-button.component.mjs +3 -3
- package/esm2020/lib/loading-button/loading-button.module.mjs +4 -4
- package/esm2020/lib/modal/modal/modal.component.mjs +3 -3
- package/esm2020/lib/modal/modal-body/modal-body.component.mjs +3 -3
- package/esm2020/lib/modal/modal-content/modal-content.component.mjs +3 -3
- package/esm2020/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
- package/esm2020/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
- package/esm2020/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
- package/esm2020/lib/modal/modal-header/modal-header.component.mjs +3 -3
- package/esm2020/lib/modal/modal-title/modal-title.directive.mjs +3 -3
- package/esm2020/lib/modal/modal.module.mjs +4 -4
- package/esm2020/lib/modal/modal.service.mjs +3 -3
- package/esm2020/lib/multi-select/multi-select/multi-select.component.mjs +3 -3
- package/esm2020/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
- package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
- package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
- package/esm2020/lib/multi-select/multi-select-option/multi-select-option.component.mjs +3 -3
- package/esm2020/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +3 -3
- package/esm2020/lib/multi-select/multi-select.module.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select.service.mjs +3 -3
- package/esm2020/lib/nav/nav-item.component.mjs +3 -3
- package/esm2020/lib/nav/nav-link.directive.mjs +3 -3
- package/esm2020/lib/nav/nav.component.mjs +3 -3
- package/esm2020/lib/nav/nav.module.mjs +4 -4
- package/esm2020/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
- package/esm2020/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
- package/esm2020/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
- package/esm2020/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +3 -3
- package/esm2020/lib/navbar/navbar.component.mjs +3 -3
- package/esm2020/lib/navbar/navbar.module.mjs +4 -4
- package/esm2020/lib/offcanvas/offcanvas/offcanvas.component.mjs +3 -3
- package/esm2020/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
- package/esm2020/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
- package/esm2020/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
- package/esm2020/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
- package/esm2020/lib/offcanvas/offcanvas.module.mjs +4 -4
- package/esm2020/lib/offcanvas/offcanvas.service.mjs +3 -3
- package/esm2020/lib/pagination/page-item/page-item.component.mjs +3 -3
- package/esm2020/lib/pagination/page-item/page-item.directive.mjs +3 -3
- package/esm2020/lib/pagination/page-link/page-link.directive.mjs +3 -3
- package/esm2020/lib/pagination/pagination/pagination.component.mjs +3 -3
- package/esm2020/lib/pagination/pagination.module.mjs +4 -4
- package/esm2020/lib/placeholder/placeholder-animation.directive.mjs +3 -3
- package/esm2020/lib/placeholder/placeholder.directive.mjs +3 -3
- package/esm2020/lib/placeholder/placeholder.module.mjs +4 -4
- package/esm2020/lib/popover/popover/popover.component.mjs +3 -3
- package/esm2020/lib/popover/popover.directive.mjs +3 -3
- package/esm2020/lib/popover/popover.module.mjs +4 -4
- package/esm2020/lib/progress/progress-bar.component.mjs +3 -3
- package/esm2020/lib/progress/progress.component.mjs +3 -3
- package/esm2020/lib/progress/progress.module.mjs +4 -4
- package/esm2020/lib/services/class-toggle.service.mjs +3 -3
- package/esm2020/lib/services/intersection.service.mjs +3 -3
- package/esm2020/lib/services/listeners.service.mjs +3 -3
- package/esm2020/lib/shared/html-attr.directive.mjs +3 -3
- package/esm2020/lib/shared/shared.module.mjs +4 -4
- package/esm2020/lib/shared/template-id.directive.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar/sidebar.component.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +6 -6
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +6 -6
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
- package/esm2020/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +3 -3
- package/esm2020/lib/sidebar/sidebar.module.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar.service.mjs +3 -3
- package/esm2020/lib/smart-pagination/smart-pagination.component.mjs +3 -3
- package/esm2020/lib/smart-pagination/smart-pagination.module.mjs +4 -4
- package/esm2020/lib/smart-table/smart-table/smart-table.component.mjs +3 -3
- package/esm2020/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
- package/esm2020/lib/smart-table/smart-table-head/smart-table-head.component.mjs +3 -3
- package/esm2020/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
- package/esm2020/lib/smart-table/smart-table.module.mjs +4 -4
- package/esm2020/lib/spinner/spinner.component.mjs +3 -3
- package/esm2020/lib/spinner/spinner.module.mjs +4 -4
- package/esm2020/lib/table/table-active.directive.mjs +3 -3
- package/esm2020/lib/table/table-color.directive.mjs +3 -3
- package/esm2020/lib/table/table.directive.mjs +3 -3
- package/esm2020/lib/table/table.module.mjs +4 -4
- package/esm2020/lib/tabs/tab-content/tab-content.component.mjs +3 -3
- package/esm2020/lib/tabs/tab-content-ref.directive.mjs +3 -3
- package/esm2020/lib/tabs/tab-pane/tab-pane.component.mjs +3 -3
- package/esm2020/lib/tabs/tab.service.mjs +3 -3
- package/esm2020/lib/tabs/tabs.module.mjs +4 -4
- package/esm2020/lib/time-picker/public_api.mjs +1 -1
- package/esm2020/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +7 -7
- package/esm2020/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +7 -7
- package/esm2020/lib/time-picker/time-picker.component.mjs +6 -6
- package/esm2020/lib/time-picker/time-picker.module.mjs +5 -5
- package/esm2020/lib/time-picker/time.utils.mjs +1 -1
- package/esm2020/lib/toast/toast/toast.component.mjs +3 -3
- package/esm2020/lib/toast/toast-body/toast-body.component.mjs +3 -3
- package/esm2020/lib/toast/toast-close.directive.mjs +3 -3
- package/esm2020/lib/toast/toast-header/toast-header.component.mjs +3 -3
- package/esm2020/lib/toast/toast.module.mjs +4 -4
- package/esm2020/lib/toast/toaster/toaster-host.directive.mjs +3 -3
- package/esm2020/lib/toast/toaster/toaster.component.mjs +3 -3
- package/esm2020/lib/toast/toaster/toaster.service.mjs +3 -3
- package/esm2020/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
- package/esm2020/lib/tooltip/tooltip.directive.mjs +3 -3
- package/esm2020/lib/tooltip/tooltip.module.mjs +4 -4
- package/esm2020/lib/utilities/align.directive.mjs +3 -3
- package/esm2020/lib/utilities/bg-color.directive.mjs +3 -3
- package/esm2020/lib/utilities/border.directive.mjs +3 -3
- package/esm2020/lib/utilities/rounded.directive.mjs +3 -3
- package/esm2020/lib/utilities/text-color.directive.mjs +3 -3
- package/esm2020/lib/utilities/utilities.module.mjs +4 -4
- package/esm2020/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
- package/esm2020/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
- package/esm2020/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
- package/esm2020/lib/widget/widget-stat-d/widget-stat-d.component.mjs +3 -3
- package/esm2020/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
- package/esm2020/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
- package/esm2020/lib/widget/widget.module.mjs +4 -4
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/coreui-angular-pro.mjs +9238 -9134
- package/fesm2015/coreui-angular-pro.mjs.map +1 -1
- package/fesm2020/coreui-angular-pro.mjs +9151 -9046
- package/fesm2020/coreui-angular-pro.mjs.map +1 -1
- package/lib/date-picker/date-picker.component.d.ts +16 -0
- package/lib/date-picker/date-picker.module.d.ts +16 -0
- package/lib/date-picker/index.d.ts +1 -0
- package/lib/date-picker/public_api.d.ts +3 -0
- package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +18 -12
- package/lib/date-range-picker/date-range-picker.module.d.ts +9 -10
- package/lib/date-range-picker/public_api.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/esm2020/lib/date-range-picker/end-date.directive.mjs +0 -17
- package/esm2020/lib/date-range-picker/start-date.directive.mjs +0 -17
- package/lib/date-range-picker/end-date.directive.d.ts +0 -8
- package/lib/date-range-picker/start-date.directive.d.ts +0 -8
|
@@ -642,4 +642,4 @@ export const getDayPeriods = (locale = 'default', options = {}) => {
|
|
|
642
642
|
// };
|
|
643
643
|
//
|
|
644
644
|
// Object.keys(formats).forEach(lang => {const period = getDayPeriods(lang); if (period.am === 'AM') return; console.log(lang, period )})
|
|
645
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGltZS1waWNrZXIvdGltZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBZ0NuQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFNBQWlCLFNBQVMsRUFBRSxFQUFFO0lBQy9ELElBQUksZUFBdUIsQ0FBQztJQUM1QixJQUFJO1FBQ0YsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztLQUM5RjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsZUFBZSxHQUFHLFNBQVMsQ0FBQztLQUM3QjtJQUNELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFNBQWlCLFNBQVMsRUFBVyxFQUFFO0lBQzlELE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ25HLE9BQU8sTUFBTSxJQUFJLEtBQUssQ0FBQztBQUN6QixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFpQixFQUFFLElBQVksRUFBRSxFQUFFO0lBQ2pFLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFO1FBQ2hDLE9BQU8sQ0FBQyxDQUFBO0tBQ1Q7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SUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sVUFBVSxDQUFDO0tBQ25CO0lBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqSCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUN2RyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUV2RyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtRQUNoRCxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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O0FBQzFCLDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQiwyQkFBMkI7QUFDM0IsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIsMkJBQTJCO0FBQzNCLDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQiw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDBCQUEwQjtBQUMxQiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNkJBQTZCO0FBQzdCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0IsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQix5QkFBeUI7QUFDekIsS0FBSztBQUNMLEVBQUU7QUFDRix5SUFBeUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1ZhbGlkIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVUaW1lRm9ybWF0T3B0aW9ucyB7XG4gIGxvY2FsZU1hdGNoZXI/OiBcImJlc3QgZml0XCIgfCBcImxvb2t1cFwiIHwgdW5kZWZpbmVkO1xuICB3ZWVrZGF5PzogXCJsb25nXCIgfCBcInNob3J0XCIgfCBcIm5hcnJvd1wiIHwgdW5kZWZpbmVkO1xuICBlcmE/OiBcImxvbmdcIiB8IFwic2hvcnRcIiB8IFwibmFycm93XCIgfCB1bmRlZmluZWQ7XG4gIHllYXI/OiBcIm51bWVyaWNcIiB8IFwiMi1kaWdpdFwiIHwgdW5kZWZpbmVkO1xuICBtb250aD86IFwibnVtZXJpY1wiIHwgXCIyLWRpZ2l0XCIgfCBcImxvbmdcIiB8IFwic2hvcnRcIiB8IFwibmFycm93XCIgfCB1bmRlZmluZWQ7XG4gIGRheT86IFwibnVtZXJpY1wiIHwgXCIyLWRpZ2l0XCIgfCB1bmRlZmluZWQ7XG4gIGhvdXI/OiBcIm51bWVyaWNcIiB8IFwiMi1kaWdpdFwiIHwgdW5kZWZpbmVkO1xuICBtaW51dGU/OiBcIm51bWVyaWNcIiB8IFwiMi1kaWdpdFwiIHwgdW5kZWZpbmVkO1xuICBzZWNvbmQ/OiBcIm51bWVyaWNcIiB8IFwiMi1kaWdpdFwiIHwgdW5kZWZpbmVkO1xuICB0aW1lWm9uZU5hbWU/OiBcImxvbmdcIiB8IFwic2hvcnRcIiB8IHVuZGVmaW5lZDtcbiAgZm9ybWF0TWF0Y2hlcj86IFwiYmVzdCBmaXRcIiB8IFwiYmFzaWNcIiB8IHVuZGVmaW5lZDtcbiAgaG91cjEyPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgdGltZVpvbmU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCB0eXBlIERheVBlcmlvZCA9ICgnYW0nIHwgJ3BtJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVWYWx1ZSB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRheVBlcmlvZD86IERheVBlcmlvZDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXlQZXJpb2RzIHtcbiAgYW06IHN0cmluZztcbiAgcG06IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGdldFN1cHBvcnRlZExvY2FsZSA9IChsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0JykgPT4ge1xuICBsZXQgc3VwcG9ydGVkTG9jYWxlOiBzdHJpbmc7XG4gIHRyeSB7XG4gICAgc3VwcG9ydGVkTG9jYWxlID0gSW50bC5EYXRlVGltZUZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YobG9jYWxlKS5sZW5ndGggPyBsb2NhbGUgOiAnZGVmYXVsdCc7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBzdXBwb3J0ZWRMb2NhbGUgPSAnZGVmYXVsdCc7XG4gIH1cbiAgcmV0dXJuIHN1cHBvcnRlZExvY2FsZTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzSG91cjEyID0gKGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xuICBjb25zdCBob3VyMTIgPSBJbnRsLkRhdGVUaW1lRm9ybWF0KHN1cHBvcnRlZExvY2FsZSwge3RpbWVTdHlsZTogJ3Nob3J0J30pLnJlc29sdmVkT3B0aW9ucygpLmhvdXIxMjtcbiAgcmV0dXJuIGhvdXIxMiA/PyBmYWxzZTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbnZlcnQxMmhUbzI0aCA9IChhYmJyOiAnYW0nIHwgJ3BtJywgaG91cjogbnVtYmVyKSA9PiB7XG4gIGlmIChhYmJyID09PSAnYW0nICYmIGhvdXIgPT09IDEyKSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBpZiAoYWJiciA9PT0gJ2FtJykge1xuICAgIHJldHVybiBob3VyXG4gIH1cbiAgaWYgKGFiYnIgPT09ICdwbScgJiYgaG91ciA9PT0gMTIpIHtcbiAgICByZXR1cm4gMTJcbiAgfVxuICByZXR1cm4gaG91ciArIDEyXG59XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0MjRoVG8xMmggPSAoaG91cjogbnVtYmVyKSA9PiBob3VyICUgMTIgfHwgMTJcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRUaW1lVG9EYXRlID0gKHRpbWU6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxuICB0aW1lID8gKHRpbWUgaW5zdGFuY2VvZiBEYXRlID8gbmV3IERhdGUodGltZSkgOiBuZXcgRGF0ZShgMTk3MC0wMS0wMSAke3RpbWV9YCkpIDogbnVsbFxuXG4vLyBleHBvcnQgY29uc3QgZ2V0QW1QbSA9IChkYXRlOiBEYXRlLCBsb2NhbGU6IHN0cmluZykgPT4ge1xuLy8gICBpZiAoZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcobG9jYWxlKS5pbmNsdWRlcygnQU0nKSkge1xuLy8gICAgIHJldHVybiAnYW0nXG4vLyAgIH1cbi8vICAgaWYgKGRhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSkuaW5jbHVkZXMoJ1BNJykpIHtcbi8vICAgICByZXR1cm4gJ3BtJ1xuLy8gICB9XG4vLyAgIHJldHVybiBkYXRlLmdldEhvdXJzKCkgPj0gMTIgPyAncG0nIDogJ2FtJ1xuLy8gfVxuXG5leHBvcnQgY29uc3QgZ2V0QW1QbSA9IChkYXRlOiBEYXRlLCBsb2NhbGU6IHN0cmluZywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30pOiBEYXlQZXJpb2QgPT4ge1xuXG4gIGNvbnN0IGRheVBlcmlvZHMgPSBnZXREYXlQZXJpb2RzKCdlbi1VUycsIG9wdGlvbnMpO1xuICBjb25zdCB0aW1lID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLVVTJywge3RpbWVTdHlsZTogXCJzaG9ydFwiLCBob3VyMTI6IHRydWV9KS5mb3JtYXQoZGF0ZSk7XG5cbiAgY29uc3QgZGF5UGVyaW9kID0gZGF5UGVyaW9kcy5maW5kKGVsZW1lbnQgPT4gdGltZS5pbmNsdWRlcyhlbGVtZW50LmxhYmVsKSk7XG5cbiAgcmV0dXJuIDxEYXlQZXJpb2Q+KGRheVBlcmlvZD8udmFsdWUgPz8gKGRhdGUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nKSk7XG59XG5cbmV4cG9ydCBjb25zdCBpc0FtID0gKGRhdGU6IERhdGUpID0+IHtcbiAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKSA8IDEyO1xufVxuZXhwb3J0IGNvbnN0IGlzUG0gPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICByZXR1cm4gZGF0ZS5nZXRIb3VycygpID4gMTE7XG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkVGltZVpvbmUgPSAodGltZVpvbmU6IHVua25vd24pOiBib29sZWFuID0+IHtcbiAgdHJ5IHtcbiAgICBpZiAodGltZVpvbmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghSW50bCB8fCAhSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RpbWUgem9uZXMgbm90IHN1cHBvcnRlZC4nKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHRpbWVab25lICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRpbWVab25lIHR5cGUgc3BlY2lmaWVkOiAke3RpbWVab25lfWApO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAvLyB0aHJvd3MgYW4gZXJyb3IgaWYgdGltZXpvbmUgaXMgbm90IHZhbGlkXG4gICAgICBJbnRsLkRhdGVUaW1lRm9ybWF0KHVuZGVmaW5lZCwgeyB0aW1lWm9uZTogdGltZVpvbmUgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0aW1lWm9uZSBzdHJpbmcgc3BlY2lmaWVkOiAke3RpbWVab25lfWApO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUud2FybihlcnJvcik7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGlzdE9mSG91cnMgPSAobG9jYWxlOiBzdHJpbmcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9KSA9PiB7XG4gIGNvbnN0IGhvdXIxMiA9IGlzSG91cjEyKGxvY2FsZSk7XG4gIGNvbnN0IHRpbWUgPSBuZXcgRGF0ZSgwKTtcbiAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDI0IH0sIChfLCBpKSA9PiB7XG4gICAgdGltZS5zZXRIb3VycyhpKTtcbiAgICBjb25zdCBkYXlQZXJpb2QgPSBnZXRBbVBtKHRpbWUsIGxvY2FsZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBpLFxuICAgICAgZGF5UGVyaW9kOiA8RGF5UGVyaW9kPmRheVBlcmlvZCxcbiAgICAgIGxhYmVsOiB0aW1lLnRvTG9jYWxlVGltZVN0cmluZyhsb2NhbGUsIHtcbiAgICAgICAgaG91cjogJzItZGlnaXQnLFxuICAgICAgICBob3VyMTI6IGhvdXIxMixcbiAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXG4gICAgICAgIHNlY29uZDogJzItZGlnaXQnLFxuICAgICAgfSkuc3BsaXQoJzonKVswXSxcbiAgICB9XG4gIH0pXG59XG5cbmV4cG9ydCBjb25zdCBnZXRMaXN0T2ZNaW51dGVzID0gKGxvY2FsZTogc3RyaW5nLCBvcHRpb25zOiBEYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7fSwgdmFsdWVBc1N0cmluZyA9IGZhbHNlKSA9PiB7XG4gIGNvbnN0IGQgPSBuZXcgRGF0ZSgwKTtcbiAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDYwIH0sIChfLCBpKSA9PiB7XG4gICAgZC5zZXRNaW51dGVzKGkpXG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBpLFxuICAgICAgLy8gdmFsdWU6IHZhbHVlQXNTdHJpbmcgPyBpLnRvU3RyaW5nKCkgOiBpLFxuICAgICAgbGFiZWw6IGQudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSwge1xuICAgICAgICAvLyAuLi5vcHRpb25zLFxuICAgICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICAgIGhvdXIxMjogZmFsc2UsXG4gICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgICBzZWNvbmQ6ICcyLWRpZ2l0JyxcbiAgICAgIH0pLnNwbGl0KCc6JylbMV0sXG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgY29uc3QgZ2V0TGlzdE9mU2Vjb25kcyA9IChsb2NhbGU6IHN0cmluZywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30sICB2YWx1ZUFzU3RyaW5nID0gZmFsc2UpID0+XG4gIEFycmF5LmZyb20oeyBsZW5ndGg6IDYwIH0sIChfLCBpKSA9PiB7XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKDApXG4gICAgZC5zZXRTZWNvbmRzKGkpXG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBpLFxuICAgICAgLy8gdmFsdWU6IHZhbHVlQXNTdHJpbmcgPyBpLnRvU3RyaW5nKCkgOiBpLFxuICAgICAgbGFiZWw6IGQudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSwge1xuICAgICAgICAvLyAuLi5vcHRpb25zLFxuICAgICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICAgIGhvdXIxMjogZmFsc2UsXG4gICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgICBzZWNvbmQ6ICcyLWRpZ2l0JyxcbiAgICAgIH0pLnNwbGl0KCc6JylbMl0sXG4gICAgfVxuICB9KVxuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRIb3VyID0gKGRhdGU6IERhdGUgfCBudWxsLCBsb2NhbGU6IHN0cmluZykgPT5cbiAgZGF0ZSBpbnN0YW5jZW9mIERhdGUgPyAoaXNIb3VyMTIobG9jYWxlKSA/IGNvbnZlcnQyNGhUbzEyaChkYXRlLmdldEhvdXJzKCkpIDogZGF0ZS5nZXRIb3VycygpKSA6ICcnO1xuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRNaW51dGVzID0gKGRhdGU6IERhdGUgfCBudWxsKSA9PiAoZGF0ZSA/IGRhdGUuZ2V0TWludXRlcygpIDogJycpXG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZFNlY29uZHMgPSAoZGF0ZTogRGF0ZSB8IG51bGwpID0+IChkYXRlID8gZGF0ZS5nZXRTZWNvbmRzKCkgOiAnJylcblxuLy8gZXhwb3J0IGNvbnN0IGlzQW1QbSA9IChsb2NhbGU6IHN0cmluZykgPT5cbi8vICAgWydhbScsICdBTScsICdwbScsICdQTSddLnNvbWUoKGVsKSA9PiBuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSkuaW5jbHVkZXMoZWwpKVxuXG5leHBvcnQgY29uc3QgaXNBbVBtID0gKGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgY29uc3QgdGltZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHN1cHBvcnRlZExvY2FsZSwge3RpbWVTdHlsZTogXCJzaG9ydFwifSkuZm9ybWF0KGRhdGUpO1xuICBjb25zdCBpc0FtUG0gPSB0aW1lLm1hdGNoKC8oPzpcXHB7TH1cXHB7TX1cXHB7UH0qKSt8KD86XFxwe0x9XFxwe1B9KikrL2d1KSA/PyBbXTtcbiAgcmV0dXJuIGlzQW1QbS5sZW5ndGggPiAwO1xufVxuXG5leHBvcnQgY29uc3QgaXNWYWxpZFRpbWUgPSAodGltZTogc3RyaW5nIHwgRGF0ZSB8IG51bWJlciB8IGFueSkgPT4ge1xuICBpZiAodHlwZW9mIHRpbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGlzVmFsaWQodGltZSkgfHwgaXNWYWxpZChuZXcgRGF0ZShgMTk3MC0wMS0wMSAke3RpbWV9YCkpO1xuICB9XG4gIHJldHVybiBpc1ZhbGlkKHRpbWUpO1xuICAvLyBjb25zdCBkID0gbmV3IERhdGUoYDE5NzAtMDEtMDEgJHt0aW1lfWApXG4gIC8vIHJldHVybiBkIGluc3RhbmNlb2YgRGF0ZSAmJiBkLmdldFRpbWUoKVxufVxuXG4vLyBleHBvcnQgY29uc3QgX2dldERheVBlcmlvZHMgPSAobG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9KSA9PiB7XG4vLyAgIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xuLy9cbi8vICAgY29uc3QgZGF5UGVyaW9kcyA9IHsgYW06ICdhbScsIHBtOiAncG0nIH07XG4vL1xuLy8gICBjb25zdCBob3VyMTIgPSBpc0hvdXIxMihzdXBwb3J0ZWRMb2NhbGUpO1xuLy8gICBpZiAoIWhvdXIxMikge1xuLy8gICAgIHJldHVybiBkYXlQZXJpb2RzO1xuLy8gICB9XG4vL1xuLy8gICBjb25zdCBhbSA9IG5ldyBEYXRlKERhdGUuVVRDKDE5NzAsIDAsIDEsIDAsIDAsIDApKTtcbi8vICAgY29uc3QgcG0gPSBuZXcgRGF0ZShEYXRlLlVUQygxOTcwLCAwLCAxLCAxMywgMCwgMCkpO1xuLy9cbi8vICAgY29uc3QgZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoc3VwcG9ydGVkTG9jYWxlLCB7IGhvdXIxMjogaG91cjEyLCBob3VyOiAnbnVtZXJpYycsIHRpbWVab25lOiAnVVRDJyB9KTtcbi8vICAgZGF5UGVyaW9kcy5hbSA9IGZvcm1hdHRlci5mb3JtYXRUb1BhcnRzKGFtKS5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAnZGF5UGVyaW9kJyk/LnZhbHVlID8/ICdhbSc7XG4vLyAgIGRheVBlcmlvZHMucG0gPSBmb3JtYXR0ZXIuZm9ybWF0VG9QYXJ0cyhwbSkuZmluZChwYXJ0ID0+IHBhcnQudHlwZSA9PT0gJ2RheVBlcmlvZCcpPy52YWx1ZSA/PyAncG0nXG4vLyAgIHJldHVybiBkYXlQZXJpb2RzO1xuLy8gfTtcblxuZXhwb3J0IGNvbnN0IGdldERheVBlcmlvZHMgPSAobG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9KSA9PiB7XG4gIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xuXG4gIGNvbnN0IGRheVBlcmlvZHMgPSBbXG4gICAgeyB2YWx1ZTogJ2FtJywgbGFiZWw6ICdhbScgfSxcbiAgICB7IHZhbHVlOiAncG0nLCBsYWJlbDogJ3BtJyB9LFxuICBdO1xuXG4gIGNvbnN0IGhvdXIxMiA9IGlzSG91cjEyKHN1cHBvcnRlZExvY2FsZSk7XG4gIGlmICghaG91cjEyKSB7XG4gICAgcmV0dXJuIGRheVBlcmlvZHM7XG4gIH1cblxuICBjb25zdCBhbSA9IG5ldyBEYXRlKERhdGUuVVRDKDE5NzAsIDAsIDEsIDAsIDAsIDApKTtcbiAgY29uc3QgcG0gPSBuZXcgRGF0ZShEYXRlLlVUQygxOTcwLCAwLCAxLCAxMywgMCwgMCkpO1xuICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChzdXBwb3J0ZWRMb2NhbGUsIHsgaG91cjEyOiBob3VyMTIsIGhvdXI6ICdudW1lcmljJywgdGltZVpvbmU6ICdVVEMnIH0pO1xuICBjb25zdCBmb3JtYXR0ZWRBbSA9IGZvcm1hdHRlci5mb3JtYXRUb1BhcnRzKGFtKS5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAnZGF5UGVyaW9kJyk/LnZhbHVlID8/ICdhbSc7XG4gIGNvbnN0IGZvcm1hdHRlZFBtID0gZm9ybWF0dGVyLmZvcm1hdFRvUGFydHMocG0pLmZpbmQocGFydCA9PiBwYXJ0LnR5cGUgPT09ICdkYXlQZXJpb2QnKT8udmFsdWUgPz8gJ3BtJztcblxuICBkYXlQZXJpb2RzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4LCBkYXlQZXJpb2RzKSA9PiB7XG4gICAgZGF5UGVyaW9kc1tpbmRleF0ubGFiZWwgPSBlbGVtZW50LnZhbHVlID09PSAnYW0nID8gKGZvcm1hdHRlZEFtID8/ICdhbScpIDogKGZvcm1hdHRlZFBtID8/ICdwbScpO1xuICB9KVxuXG4gIHJldHVybiBkYXlQZXJpb2RzO1xufTtcblxuXG5cbi8vIHRlc3Rpbmdcbi8vIGNvbnN0IGxhbmdzID0gW1xuLy8gICBbJ0Fia2hhemlhbicsICdhYiddLFxuLy8gICBbJ0FmYXInLCAnYWEnXSxcbi8vICAgWydBZnJpa2FhbnMnLCAnYWYnXSxcbi8vICAgWydBa2FuJywgJ2FrJ10sXG4vLyAgIFsnQWxiYW5pYW4nLCAnc3EnXSxcbi8vICAgWydBbWhhcmljJywgJ2FtJ10sXG4vLyAgIFsnQXJhYmljJywgJ2FyJ10sXG4vLyAgIFsnQXJhZ29uZXNlJywgJ2FuJ10sXG4vLyAgIFsnQXJnZW50aW5hJywgJ2VzLWFyJ10sXG4vLyAgIFsnQXJtZW5pYW4nLCAnaHknXSxcbi8vICAgWydBc3NhbWVzZScsICdhcyddLFxuLy8gICBbJ0F2YXJpYycsICdhdiddLFxuLy8gICBbJ0F2ZXN0YW4nLCAnYWUnXSxcbi8vICAgWydBeW1hcmEnLCAnYXknXSxcbi8vICAgWydBemVyYmFpamFuaScsICdheiddLFxuLy8gICBbJ0JhbWJhcmEnLCAnYm0nXSxcbi8vICAgWydCYXNoa2lyJywgJ2JhJ10sXG4vLyAgIFsnQmFzcXVlJywgJ2V1J10sXG4vLyAgIFsnQmVsYXJ1c2lhbicsICdiZSddLFxuLy8gICBbJ0JlbmdhbGkgKEJhbmdsYSknLCAnYm4nXSxcbi8vICAgWydCaWhhcmknLCAnYmgnXSxcbi8vICAgWydCaXNsYW1hJywgJ2JpJ10sXG4vLyAgIFsnQm9zbmlhbicsICdicyddLFxuLy8gICBbJ0JyZXRvbicsICdiciddLFxuLy8gICBbJ0J1bGdhcmlhbicsICdiZyddLFxuLy8gICBbJ0J1cm1lc2UnLCAnbXknXSxcbi8vICAgWydDYXRhbGFuJywgJ2NhJ10sXG4vLyAgIFsnQ2hhbW9ycm8nLCAnY2gnXSxcbi8vICAgWydDaGVjaGVuJywgJ2NlJ10sXG4vLyAgIFsnQ2hpY2hld2EsIENoZXdhLCBOeWFuamEnLCAnbnknXSxcbi8vICAgWydDaGluZXNlJywgJ3poJ10sXG4vLyAgIFsnQ2hpbmVzZSAoU2ltcGxpZmllZCknLCAnemgtSGFucyddLFxuLy8gICBbJ0NoaW5lc2UgKFRyYWRpdGlvbmFsKScsICd6aC1IYW50J10sXG4vLyAgIFsnQ2h1dmFzaCcsICdjdiddLFxuLy8gICBbJ0Nvcm5pc2gnLCAna3cnXSxcbi8vICAgWydDb3JzaWNhbicsICdjbyddLFxuLy8gICBbJ0NyZWUnLCAnY3InXSxcbi8vICAgWydDcm9hdGlhbicsICdociddLFxuLy8gICBbJ0N6ZWNoJywgJ2NzJ10sXG4vLyAgIFsnRGFuaXNoJywgJ2RhJ10sXG4vLyAgIFsnRGl2ZWhpLCBEaGl2ZWhpLCBNYWxkaXZpYW4nLCAnZHYnXSxcbi8vICAgWydEdXRjaCcsICdubCddLFxuLy8gICBbJ0R6b25na2hhJywgJ2R6J10sXG4vLyAgIFsnRW5nbGlzaCcsICdlbiddLFxuLy8gICBbJ0VzcGVyYW50bycsICdlbyddLFxuLy8gICBbJ0VzdG9uaWFuJywgJ2V0J10sXG4vLyAgIFsnRXdlJywgJ2VlJ10sXG4vLyAgIFsnRmFyb2VzZScsICdmbyddLFxuLy8gICBbJ0ZpamlhbicsICdmaiddLFxuLy8gICBbJ0Zpbm5pc2gnLCAnZmknXSxcbi8vICAgWydGcmVuY2gnLCAnZnInXSxcbi8vICAgWydGdWxhLCBGdWxhaCwgUHVsYWFyLCBQdWxhcicsICdmZiddLFxuLy8gICBbJ0dhbGljaWFuJywgJ2dsJ10sXG4vLyAgIFsnR2FlbGljIChTY290dGlzaCknLCAnZ2QnXSxcbi8vICAgWydHYWVsaWMgKE1hbngpJywgJ2d2J10sXG4vLyAgIFsnR2VvcmdpYW4nLCAna2EnXSxcbi8vICAgWydHZXJtYW4nLCAnZGUnXSxcbi8vICAgWydHcmVlaycsICdlbCddLFxuLy8gICBbJ0dyZWVubGFuZGljJywgJ2tsJ10sXG4vLyAgIFsnR3VhcmFuaScsICdnbiddLFxuLy8gICBbJ0d1amFyYXRpJywgJ2d1J10sXG4vLyAgIFsnSGFpdGlhbiBDcmVvbGUnLCAnaHQnXSxcbi8vICAgWydIYXVzYScsICdoYSddLFxuLy8gICBbJ0hlYnJldycsICdoZSddLFxuLy8gICBbJ0hlcmVybycsICdoeiddLFxuLy8gICBbJ0hpbmRpJywgJ2hpJ10sXG4vLyAgIFsnSGlyaSBNb3R1JywgJ2hvJ10sXG4vLyAgIFsnSHVuZ2FyaWFuJywgJ2h1J10sXG4vLyAgIFsnSWNlbGFuZGljJywgJ2lzJ10sXG4vLyAgIFsnSWRvJywgJ2lvJ10sXG4vLyAgIFsnSWdibycsICdpZyddLFxuLy8gICBbJ0luZG9uZXNpYW4nLCAnaWQnLCAnaW4nXSxcbi8vICAgWydJbnRlcmxpbmd1YScsICdpYSddLFxuLy8gICBbJ0ludGVybGluZ3VlJywgJ2llJ10sXG4vLyAgIFsnSW51a3RpdHV0JywgJ2l1J10sXG4vLyAgIFsnSW51cGlhaycsICdpayddLFxuLy8gICBbJ0lyaXNoJywgJ2dhJ10sXG4vLyAgIFsnSXRhbGlhbicsICdpdCddLFxuLy8gICBbJ0phcGFuZXNlJywgJ2phJ10sXG4vLyAgIFsnSmF2YW5lc2UnLCAnanYnXSxcbi8vICAgWydLYWxhYWxsaXN1dCwgR3JlZW5sYW5kaWMnLCAna2wnXSxcbi8vICAgWydLYW5uYWRhJywgJ2tuJ10sXG4vLyAgIFsnS2FudXJpJywgJ2tyJ10sXG4vLyAgIFsnS2FzaG1pcmknLCAna3MnXSxcbi8vICAgWydLYXpha2gnLCAna2snXSxcbi8vICAgWydLaG1lcicsICdrbSddLFxuLy8gICBbJ0tpa3V5dScsICdraSddLFxuLy8gICBbJ0tpbnlhcndhbmRhIChSd2FuZGEpJywgJ3J3J10sXG4vLyAgIFsnS2lydW5kaScsICdybiddLFxuLy8gICBbJ0t5cmd5eicsICdreSddLFxuLy8gICBbJ0tvbWknLCAna3YnXSxcbi8vICAgWydLb25nbycsICdrZyddLFxuLy8gICBbJ0tvcmVhbicsICdrbyddLFxuLy8gICBbJ0t1cmRpc2gnLCAna3UnXSxcbi8vICAgWydLd2FueWFtYScsICdraiddLFxuLy8gICBbJ0xhbycsICdsbyddLFxuLy8gICBbJ0xhdGluJywgJ2xhJ10sXG4vLyAgIFsnTGF0dmlhbiAoTGV0dGlzaCknLCAnbHYnXSxcbi8vICAgWydMaW1idXJnaXNoIChMaW1idXJnZXIpJywgJ2xpJ10sXG4vLyAgIFsnTGluZ2FsYScsICdsbiddLFxuLy8gICBbJ0xpdGh1YW5pYW4nLCAnbHQnXSxcbi8vICAgWydMdWdhLUthdGFuZ2EnLCAnbHUnXSxcbi8vICAgWydMdWdhbmRhLCBHYW5kYScsICdsZyddLFxuLy8gICBbJ0x1eGVtYm91cmdpc2gnLCAnbGInXSxcbi8vICAgWydNYW54JywgJ2d2J10sXG4vLyAgIFsnTWFjZWRvbmlhbicsICdtayddLFxuLy8gICBbJ01hbGFnYXN5JywgJ21nJ10sXG4vLyAgIFsnTWFsYXknLCAnbXMnXSxcbi8vICAgWydNYWxheWFsYW0nLCAnbWwnXSxcbi8vICAgWydNYWx0ZXNlJywgJ210J10sXG4vLyAgIFsnTWFvcmknLCAnbWknXSxcbi8vICAgWydNYXJhdGhpJywgJ21yJ10sXG4vLyAgIFsnTWFyc2hhbGxlc2UnLCAnbWgnXSxcbi8vICAgWydNb2xkYXZpYW4nLCAnbW8nXSxcbi8vICAgWydNb25nb2xpYW4nLCAnbW4nXSxcbi8vICAgWydOYXVydScsICduYSddLFxuLy8gICBbJ05hdmFqbycsICdudiddLFxuLy8gICBbJ05kb25nYScsICduZyddLFxuLy8gICBbJ05vcnRoZXJuIE5kZWJlbGUnLCAnbmQnXSxcbi8vICAgWydOZXBhbGknLCAnbmUnXSxcbi8vICAgWydOb3J3ZWdpYW4nLCAnbm8nXSxcbi8vICAgWydOb3J3ZWdpYW4gYm9rbcOlbCcsICduYiddLFxuLy8gICBbJ05vcndlZ2lhbiBueW5vcnNrJywgJ25uJ10sXG4vLyAgIFsnTnVvc3UnLCAnaWknXSxcbi8vICAgWydPY2NpdGFuJywgJ29jJ10sXG4vLyAgIFsnT2ppYndlJywgJ29qJ10sXG4vLyAgIFsnT2xkIENodXJjaCBTbGF2b25pYywgT2xkIEJ1bGdhcmlhbicsICdjdSddLFxuLy8gICBbJ09yaXlhJywgJ29yJ10sXG4vLyAgIFsnT3JvbW8gKEFmYWFuIE9yb21vKScsICdvbSddLFxuLy8gICBbJ09zc2V0aWFuJywgJ29zJ10sXG4vLyAgIFsnUMSBbGknLCAncGknXSxcbi8vICAgWydQYXNodG8sIFB1c2h0bycsICdwcyddLFxuLy8gICBbJ1BlcnNpYW4gKEZhcnNpKScsICdmYSddLFxuLy8gICBbJ1BvbGlzaCcsICdwbCddLFxuLy8gICBbJ1BvcnR1Z3Vlc2UnLCAncHQnXSxcbi8vICAgWydQdW5qYWJpIChFYXN0ZXJuKScsICdwYSddLFxuLy8gICBbJ1F1ZWNodWEnLCAncXUnXSxcbi8vICAgWydSb21hbnNoJywgJ3JtJ10sXG4vLyAgIFsnUm9tYW5pYW4nLCAncm8nXSxcbi8vICAgWydSdXNzaWFuJywgJ3J1J10sXG4vLyAgIFsnU2FtaScsICdzZSddLFxuLy8gICBbJ1NhbW9hbicsICdzbSddLFxuLy8gICBbJ1NhbmdvJywgJ3NnJ10sXG4vLyAgIFsnU2Fuc2tyaXQnLCAnc2EnXSxcbi8vICAgWydTZXJiaWFuJywgJ3NyJ10sXG4vLyAgIFsnU2VyYm8tQ3JvYXRpYW4nLCAnc2gnXSxcbi8vICAgWydTZXNvdGhvJywgJ3N0J10sXG4vLyAgIFsnU2V0c3dhbmEnLCAndG4nXSxcbi8vICAgWydTaG9uYScsICdzbiddLFxuLy8gICBbJ1NpY2h1YW4gWWknLCAnaWknXSxcbi8vICAgWydTaW5kaGknLCAnc2QnXSxcbi8vICAgWydTaW5oYWxlc2UnLCAnc2knXSxcbi8vICAgWydTaXN3YXRpJywgJ3NzJ10sXG4vLyAgIFsnU2xvdmFrJywgJ3NrJ10sXG4vLyAgIFsnU2xvdmVuaWFuJywgJ3NsJ10sXG4vLyAgIFsnU29tYWxpJywgJ3NvJ10sXG4vLyAgIFsnU291dGhlcm4gTmRlYmVsZScsICduciddLFxuLy8gICBbJ1NwYW5pc2gnLCAnZXMnXSxcbi8vICAgWydTdW5kYW5lc2UnLCAnc3UnXSxcbi8vICAgWydTd2FoaWxpIChLaXN3YWhpbGkpJywgJ3N3J10sXG4vLyAgIFsnU3dhdGknLCAnc3MnXSxcbi8vICAgWydTd2VkaXNoJywgJ3N2J10sXG4vLyAgIFsnVGFnYWxvZycsICd0bCddLFxuLy8gICBbJ1RhaGl0aWFuJywgJ3R5J10sXG4vLyAgIFsnVGFqaWsnLCAndGcnXSxcbi8vICAgWydUYW1pbCcsICd0YSddLFxuLy8gICBbJ1RhdGFyJywgJ3R0J10sXG4vLyAgIFsnVGVsdWd1JywgJ3RlJ10sXG4vLyAgIFsnVGhhaScsICd0aCddLFxuLy8gICBbJ1RpYmV0YW4nLCAnYm8nXSxcbi8vICAgWydUaWdyaW55YScsICd0aSddLFxuLy8gICBbJ1RvbmdhJywgJ3RvJ10sXG4vLyAgIFsnVHNvbmdhJywgJ3RzJ10sXG4vLyAgIFsnVHVya2lzaCcsICd0ciddLFxuLy8gICBbJ1R1cmttZW4nLCAndGsnXSxcbi8vICAgWydUd2knLCAndHcnXSxcbi8vICAgWydVeWdodXInLCAndWcnXSxcbi8vICAgWydVa3JhaW5pYW4nLCAndWsnXSxcbi8vICAgWydVcmR1JywgJ3VyJ10sXG4vLyAgIFsnVXpiZWsnLCAndXonXSxcbi8vICAgWydWZW5kYScsICd2ZSddLFxuLy8gICBbJ1ZpZXRuYW1lc2UnLCAndmknXSxcbi8vICAgWydWb2xhcMO8aycsICd2byddLFxuLy8gICBbJ1dhbGxvbicsICd3YSddLFxuLy8gICBbJ1dlbHNoJywgJ2N5J10sXG4vLyAgIFsnV29sb2YnLCAnd28nXSxcbi8vICAgWydXZXN0ZXJuIEZyaXNpYW4nLCAnZnknXSxcbi8vICAgWydYaG9zYScsICd4aCddLFxuLy8gICBbJ1lpZGRpc2gnLCAneWknLCAnamknXSxcbi8vICAgWydZb3J1YmEnLCAneW8nXSxcbi8vICAgWydaaHVhbmcsIENodWFuZycsICd6YSddLFxuLy8gICBbJ1p1bHUnLCAnenUnXSxcbi8vIF1cbi8vXG4vLyBsYW5ncy5mb3JFYWNoKGxhbmcgPT4ge2NvbnN0IHBlcmlvZCA9IGdldERheVBlcmlvZHMobGFuZ1sxXSk7IGlmIChwZXJpb2QuYW0gPT09ICdBTScpIHJldHVybjsgY29uc29sZS5sb2cobGFuZ1sxXSwgcGVyaW9kICl9KVxuXG5cbi8vIENocm9tZSAvIE9wZXJhXG4vLyBBbWhhcmljIGFtIHthbTogJ+GMpeGLi+GJtScsIHBtOiAn4Yqo4Yiw4YuT4Ym1J31cbi8vIEFyYWJpYyBhciB7YW06ICfYtScsIHBtOiAn2YUnfVxuLy8gQnVsZ2FyaWFuIGJnIHthbTogJ9C/0YAu0L7QsS4nLCBwbTogJ9GB0Lsu0L7QsS4nfVxuLy8gQ2hpbmVzZSAoVHJhZGl0aW9uYWwpIHpoLUhhbnQge2FtOiAn5LiK5Y2IJywgcG06ICfkuIvljYgnfVxuLy8gR3JlZWsgZWwge2FtOiAnz4AuzrwuJywgcG06ICfOvC7OvC4nfVxuLy8gSGluZGkgaGkge2FtOiAnYW0nLCBwbTogJ3BtJ31cbi8vIEthbm5hZGEga24ge2FtOiAn4LKq4LOC4LKw4LON4LK14LK+4LK54LON4LKoJywgcG06ICfgsoXgsqrgsrDgsr7gsrngs43gsqgnfVxuLy8gS29yZWFuIGtvIHthbTogJ+yYpOyghCcsIHBtOiAn7Jik7ZuEJ31cbi8vIE1hbGF5IG1zIHthbTogJ1BHJywgcG06ICdQVEcnfVxuLy8gVGFtaWwgdGEge2FtOiAn4K6u4K+B4K6x4K+N4K6q4K6V4K6y4K+NJywgcG06ICfgrqrgrr/grrHgr43grqrgrpXgrrLgr40nfVxuXG4vLyBFZGdlIENocm9taXVtXG4vLyBBbGJhbmlhbiBzcSB7YW06ICdlIHBhcmFkaXRlcycsIHBtOiAnZSBwYXNkaXRlcyd9XG4vLyBBbWhhcmljIGFtIHthbTogJ+GMpeGLi+GJtScsIHBtOiAn4Yqo4Yiw4YuT4Ym1J31cbi8vIEFyYWJpYyBhciB7YW06ICfYtScsIHBtOiAn2YUnfVxuLy8gQnVsZ2FyaWFuIGJnIHthbTogJ9C/0YAu0L7QsS4nLCBwbTogJ9GB0Lsu0L7QsS4nfVxuLy8gQ2hpbmVzZSAoVHJhZGl0aW9uYWwpIHpoLUhhbnQge2FtOiAn5LiK5Y2IJywgcG06ICfkuIvljYgnfVxuLy8gR3JlZWsgZWwge2FtOiAnz4AuzrwuJywgcG06ICfOvC7OvC4nfVxuLy8gSGluZGkgaGkge2FtOiAnYW0nLCBwbTogJ3BtJ31cbi8vIEthbm5hZGEga24ge2FtOiAn4LKq4LOC4LKw4LON4LK14LK+4LK54LON4LKoJywgcG06ICfgsoXgsqrgsrDgsr7gsrngs43gsqgnfVxuLy8gS29yZWFuIGtvIHthbTogJ+yYpOyghCcsIHBtOiAn7Jik7ZuEJ31cbi8vIE1hbGF5IG1zIHthbTogJ1BHJywgcG06ICdQVEcnfVxuLy8gUHVuamFiaSAoRWFzdGVybikgcGEge2FtOiAn4Kiq4KmCLuCopuCpgS4nLCBwbTogJ+CorOCovi7gqKbgqYEuJ31cbi8vIFNpbmRoaSBzZCB7YW06ICfYtdio2K3YjCDZhdmG2KzZh9mG2K8nLCBwbTogJ9mF2YbYrNmH2YbYr9iMINi02KfZhSd9XG4vLyBUYW1pbCB0YSB7YW06ICfgrq7gr4HgrrHgr43grqrgrpXgrrLgr40nLCBwbTogJ+CuquCuv+CuseCvjeCuquCuleCusuCvjSd9XG5cblxuLy8gRmlyZWZveFxuLy8gQWthbiBhayB7IGFtOiBcIkFOXCIsIHBtOiBcIkVXXCIgfVxuLy8gQWxiYW5pYW4gc3EgeyBhbTogXCJlIHBhcmFkaXRlc1wiLCBwbTogXCJlIHBhc2RpdGVzXCIgfVxuLy8gQW1oYXJpYyBhbSB7IGFtOiBcIuGMpeGLi+GJtVwiLCBwbTogXCLhiqjhiLDhi5PhibVcIiB9XG4vLyBBcmFiaWMgYXIgeyBhbTogXCLYtVwiLCBwbTogXCLZhVwiIH1cbi8vIEFzc2FtZXNlIGFzIHsgYW06IFwi4Kaq4KeC4Kew4KeN4Kas4Ka+4Ka54KeN4KaoXCIsIHBtOiBcIuCmheCmquCnsOCmvuCmueCnjeCmqFwiIH1cbi8vIEJ1bGdhcmlhbiBiZyB7IGFtOiBcItC/0YAu0L7QsS5cIiwgcG06IFwi0YHQuy7QvtCxLlwiIH1cbi8vIENoaW5lc2UgKFRyYWRpdGlvbmFsKSB6aC1IYW50IHsgYW06IFwi5LiK5Y2IXCIsIHBtOiBcIuS4i+WNiFwiIH1cbi8vIER6b25na2hhIGR6IHsgYW06IFwi4L2m4L6U4LyL4L2G4LyLXCIsIHBtOiBcIuC9leC+seC9suC8i+C9huC8i1wiIH1cbi8vIEV3ZSBlZSB7IGFtOiBcIsWLZGlcIiwgcG06IFwiyaNldHLJlFwiIH1cbi8vIEdyZWVrIGVsIHsgYW06IFwiz4AuzrwuXCIsIHBtOiBcIs68Ls68LlwiIH1cbi8vIEhpbmRpIGhpIHsgYW06IFwiYW1cIiwgcG06IFwicG1cIiB9XG4vLyBLYW5uYWRhIGtuIHsgYW06IFwi4LKq4LOC4LKw4LON4LK14LK+4LK54LON4LKoXCIsIHBtOiBcIuCyheCyquCysOCyvuCyueCzjeCyqFwiIH1cbi8vIEtvcmVhbiBrbyB7IGFtOiBcIuyYpOyghFwiLCBwbTogXCLsmKTtm4RcIiB9XG4vLyBNYWxheSBtcyB7IGFtOiBcIlBHXCIsIHBtOiBcIlBUR1wiIH1cbi8vIE9yb21vIChBZmFhbiBPcm9tbykgb20geyBhbTogXCJXRFwiLCBwbTogXCJXQlwiIH1cbi8vIFB1bmphYmkgKEVhc3Rlcm4pIHBhIHsgYW06IFwi4Kiq4KmCLuCopuCpgS5cIiwgcG06IFwi4Kis4Ki+LuCopuCpgS5cIiB9XG4vLyBTYW5za3JpdCBzYSB7IGFtOiBcIuCkquClguCksOCljeCkteCkvuCkueCljeCkqFwiLCBwbTogXCLgpIXgpKrgpLDgpL7gpLngpY3gpKhcIiB9XG4vLyBTaW5kaGkgc2QgeyBhbTogXCLYtdio2K3YjCDZhdmG2KzZh9mG2K9cIiwgcG06IFwi2YXZhtis2YfZhtiv2Iwg2LTYp9mFXCIgfVxuLy8gU29tYWxpIHNvIHsgYW06IFwiR0hcIiwgcG06IFwiR0RcIiB9XG4vLyBUYW1pbCB0YSB7IGFtOiBcIuCuruCvgeCuseCvjeCuquCuleCusuCvjVwiLCBwbTogXCLgrqrgrr/grrHgr43grqrgrpXgrrLgr41cIiB9XG4vLyBUaWdyaW55YSB0aSB7IGFtOiBcIuGJhS7hiYAuXCIsIHBtOiBcIuGLtS7hiYAuXCIgfVxuLy8gVG9uZ2EgdG8geyBhbTogXCJoZW5naWhlbmdpXCIsIHBtOiBcImVmaWFmaVwiIH1cbi8vIFR3aSB0dyB7IGFtOiBcIkFOXCIsIHBtOiBcIkVXXCIgfVxuXG5cblxuLy8gY29uc3QgZm9ybWF0cyA9IHtcbi8vICAgXCJhci1TQVwiIDogXCJkZC9NTS95eVwiLFxuLy8gICBcImJnLUJHXCIgOiBcImRkLk0ueXl5eVwiLFxuLy8gICBcImNhLUVTXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJ6aC1UV1wiIDogXCJ5eXl5L00vZFwiLFxuLy8gICBcImNzLUNaXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwiZGEtREtcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImRlLURFXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJlbC1HUlwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcImVuLVVTXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwiZmktRklcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJmci1GUlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiaGUtSUxcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImh1LUhVXCIgOiBcInl5eXkuIE1NLiBkZC5cIixcbi8vICAgXCJpcy1JU1wiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcIml0LUlUXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJqYS1KUFwiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwia28tS1JcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcIm5sLU5MXCIgOiBcImQtTS15eXl5XCIsXG4vLyAgIFwibmItTk9cIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcInBsLVBMXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJwdC1CUlwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcInJvLVJPXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJydS1SVVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiaHItSFJcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJzay1TS1wiIDogXCJkLiBNLiB5eXl5XCIsXG4vLyAgIFwic3EtQUxcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcInN2LVNFXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJ0aC1USFwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcInRyLVRSXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJ1ci1QS1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiaWQtSURcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInVrLVVBXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJiZS1CWVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwic2wtU0lcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJldC1FRVwiIDogXCJkLk1NLnl5eXlcIixcbi8vICAgXCJsdi1MVlwiIDogXCJ5eXl5Lk1NLmRkLlwiLFxuLy8gICBcImx0LUxUXCIgOiBcInl5eXkuTU0uZGRcIixcbi8vICAgXCJmYS1JUlwiIDogXCJNTS9kZC95eXl5XCIsXG4vLyAgIFwidmktVk5cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImh5LUFNXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJhei1MYXRuLUFaXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJldS1FU1wiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwibWstTUtcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImFmLVpBXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJrYS1HRVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiZm8tRk9cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImhpLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJtcy1NWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwia2stS1pcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImt5LUtHXCIgOiBcImRkLk1NLnl5XCIsXG4vLyAgIFwic3ctS0VcIiA6IFwiTS9kL3l5eXlcIixcbi8vICAgXCJ1ei1MYXRuLVVaXCIgOiBcImRkL01NIHl5eXlcIixcbi8vICAgXCJ0dC1SVVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwicGEtSU5cIiA6IFwiZGQtTU0teXlcIixcbi8vICAgXCJndS1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcInRhLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJ0ZS1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcImtuLUlOXCIgOiBcImRkLU1NLXl5XCIsXG4vLyAgIFwibXItSU5cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcInNhLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJtbi1NTlwiIDogXCJ5eS5NTS5kZFwiLFxuLy8gICBcImdsLUVTXCIgOiBcImRkL01NL3l5XCIsXG4vLyAgIFwia29rLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJzeXItU1lcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImR2LU1WXCIgOiBcImRkL01NL3l5XCIsXG4vLyAgIFwiYXItSVFcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInpoLUNOXCIgOiBcInl5eXkvTS9kXCIsXG4vLyAgIFwiZGUtQ0hcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImVuLUdCXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1NWFwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZnItQkVcIiA6IFwiZC9NTS95eXl5XCIsXG4vLyAgIFwiaXQtQ0hcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcIm5sLUJFXCIgOiBcImQvTU0veXl5eVwiLFxuLy8gICBcIm5uLU5PXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJwdC1QVFwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwic3ItTGF0bi1DU1wiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInN2LUZJXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwiYXotQ3lybC1BWlwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwibXMtQk5cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInV6LUN5cmwtVVpcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImFyLUVHXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJ6aC1IS1wiIDogXCJkL00veXl5eVwiLFxuLy8gICBcImRlLUFUXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJlbi1BVVwiIDogXCJkL01NL3l5eXlcIixcbi8vICAgXCJlcy1FU1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZnItQ0FcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcInNyLUN5cmwtQ1NcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJhci1MWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiemgtU0dcIiA6IFwiZC9NL3l5eXlcIixcbi8vICAgXCJkZS1MVVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiZW4tQ0FcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLUdUXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJmci1DSFwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiYXItRFpcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcInpoLU1PXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwiZGUtTElcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImVuLU5aXCIgOiBcImQvTU0veXl5eVwiLFxuLy8gICBcImVzLUNSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJmci1MVVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItTUFcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImVuLUlFXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1QQVwiIDogXCJNTS9kZC95eXl5XCIsXG4vLyAgIFwiZnItTUNcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLVROXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJlbi1aQVwiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwiZXMtRE9cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLU9NXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi1KTVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtVkVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLVlFXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi0wMjlcIiA6IFwiTU0vZGQveXl5eVwiLFxuLy8gICBcImVzLUNPXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1TWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZW4tQlpcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVBFXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1KT1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZW4tVFRcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLUFSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1MQlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZW4tWldcIiA6IFwiTS9kL3l5eXlcIixcbi8vICAgXCJlcy1FQ1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItS1dcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVuLVBIXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwiZXMtQ0xcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImFyLUFFXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1VWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItQkhcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVBZXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1RQVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtQk9cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVNWXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1ITlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtTklcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVBSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhbS1FVFwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcInR6bS1MYXRuLURaXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJpdS1MYXRuLUNBXCIgOiBcImQvTU0veXl5eVwiLFxuLy8gICBcInNtYS1OT1wiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwibW4tTW9uZy1DTlwiIDogXCJ5eXl5L00vZFwiLFxuLy8gICBcImdkLUdCXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi1NWVwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcInBycy1BRlwiIDogXCJkZC9NTS95eVwiLFxuLy8gICBcImJuLUJEXCIgOiBcImRkLU1NLXl5XCIsXG4vLyAgIFwid28tU05cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInJ3LVJXXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwicXV0LUdUXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJzYWgtUlVcIiA6IFwiTU0uZGQueXl5eVwiLFxuLy8gICBcImdzdy1GUlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiY28tRlJcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcIm9jLUZSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJtaS1OWlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZ2EtSUVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInNlLVNFXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJici1GUlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwic21uLUZJXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwibW9oLUNBXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwiYXJuLUNMXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJpaS1DTlwiIDogXCJ5eXl5L00vZFwiLFxuLy8gICBcImRzYi1ERVwiIDogXCJkLiBNLiB5eXl5XCIsXG4vLyAgIFwiaWctTkdcIiA6IFwiZC9NL3l5eXlcIixcbi8vICAgXCJrbC1HTFwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwibGItTFVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImJhLVJVXCIgOiBcImRkLk1NLnl5XCIsXG4vLyAgIFwibnNvLVpBXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJxdXotQk9cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInlvLU5HXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwiaGEtTGF0bi1OR1wiIDogXCJkL00veXl5eVwiLFxuLy8gICBcImZpbC1QSFwiIDogXCJNL2QveXl5eVwiLFxuLy8gICBcInBzLUFGXCIgOiBcImRkL01NL3l5XCIsXG4vLyAgIFwiZnktTkxcIiA6IFwiZC1NLXl5eXlcIixcbi8vICAgXCJuZS1OUFwiIDogXCJNL2QveXl5eVwiLFxuLy8gICBcInNlLU5PXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJpdS1DYW5zLUNBXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwic3ItTGF0bi1SU1wiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInNpLUxLXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJzci1DeXJsLVJTXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwibG8tTEFcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImttLUtIXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJjeS1HQlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYm8tQ05cIiA6IFwieXl5eS9NL2RcIixcbi8vICAgXCJzbXMtRklcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJhcy1JTlwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwibWwtSU5cIiA6IFwiZGQtTU0teXlcIixcbi8vICAgXCJlbi1JTlwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwib3ItSU5cIiA6IFwiZGQtTU0teXlcIixcbi8vICAgXCJibi1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcInRrLVRNXCIgOiBcImRkLk1NLnl5XCIsXG4vLyAgIFwiYnMtTGF0bi1CQVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcIm10LU1UXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJzci1DeXJsLU1FXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwic2UtRklcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJ6dS1aQVwiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwieGgtWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxuLy8gICBcInRuLVpBXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJoc2ItREVcIiA6IFwiZC4gTS4geXl5eVwiLFxuLy8gICBcImJzLUN5cmwtQkFcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJ0Zy1DeXJsLVRKXCIgOiBcImRkLk1NLnl5XCIsXG4vLyAgIFwic3ItTGF0bi1CQVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInNtai1OT1wiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwicm0tQ0hcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInNtai1TRVwiIDogXCJ5eXl5LU1NLWRkXCIsXG4vLyAgIFwicXV6LUVDXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJxdXotUEVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImhyLUJBXCIgOiBcImQuTS55eXl5LlwiLFxuLy8gICBcInNyLUxhdG4tTUVcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJzbWEtU0VcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcImVuLVNHXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwidWctQ05cIiA6IFwieXl5eS1NLWRcIixcbi8vICAgXCJzci1DeXJsLUJBXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwiZXMtVVNcIiA6IFwiTS9kL3l5eXlcIlxuLy8gfTtcbi8vXG4vLyBPYmplY3Qua2V5cyhmb3JtYXRzKS5mb3JFYWNoKGxhbmcgPT4ge2NvbnN0IHBlcmlvZCA9IGdldERheVBlcmlvZHMobGFuZyk7IGlmIChwZXJpb2QuYW0gPT09ICdBTScpIHJldHVybjsgY29uc29sZS5sb2cobGFuZywgcGVyaW9kICl9KVxuIl19
|
|
645
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGltZS1waWNrZXIvdGltZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBZ0NuQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFNBQWlCLFNBQVMsRUFBRSxFQUFFO0lBQy9ELElBQUksZUFBdUIsQ0FBQztJQUM1QixJQUFJO1FBQ0YsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztLQUM5RjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsZUFBZSxHQUFHLFNBQVMsQ0FBQztLQUM3QjtJQUNELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFNBQWlCLFNBQVMsRUFBVyxFQUFFO0lBQzlELE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ25HLE9BQU8sTUFBTSxJQUFJLEtBQUssQ0FBQztBQUN6QixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFpQixFQUFFLElBQVksRUFBRSxFQUFFO0lBQ2pFLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFO1FBQ2hDLE9BQU8sQ0FBQyxDQUFBO0tBQ1Q7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SUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sVUFBVSxDQUFDO0tBQ25CO0lBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqSCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUN2RyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUV2RyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtRQUNoRCxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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O0FBQzFCLDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQiwyQkFBMkI7QUFDM0IsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIsMkJBQTJCO0FBQzNCLDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQiw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDBCQUEwQjtBQUMxQiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNkJBQTZCO0FBQzdCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0IsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQix5QkFBeUI7QUFDekIsS0FBSztBQUNMLEVBQUU7QUFDRix5SUFBeUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1ZhbGlkIH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRlVGltZUZvcm1hdE9wdGlvbnMge1xyXG4gIGxvY2FsZU1hdGNoZXI/OiBcImJlc3QgZml0XCIgfCBcImxvb2t1cFwiIHwgdW5kZWZpbmVkO1xyXG4gIHdlZWtkYXk/OiBcImxvbmdcIiB8IFwic2hvcnRcIiB8IFwibmFycm93XCIgfCB1bmRlZmluZWQ7XHJcbiAgZXJhPzogXCJsb25nXCIgfCBcInNob3J0XCIgfCBcIm5hcnJvd1wiIHwgdW5kZWZpbmVkO1xyXG4gIHllYXI/OiBcIm51bWVyaWNcIiB8IFwiMi1kaWdpdFwiIHwgdW5kZWZpbmVkO1xyXG4gIG1vbnRoPzogXCJudW1lcmljXCIgfCBcIjItZGlnaXRcIiB8IFwibG9uZ1wiIHwgXCJzaG9ydFwiIHwgXCJuYXJyb3dcIiB8IHVuZGVmaW5lZDtcclxuICBkYXk/OiBcIm51bWVyaWNcIiB8IFwiMi1kaWdpdFwiIHwgdW5kZWZpbmVkO1xyXG4gIGhvdXI/OiBcIm51bWVyaWNcIiB8IFwiMi1kaWdpdFwiIHwgdW5kZWZpbmVkO1xyXG4gIG1pbnV0ZT86IFwibnVtZXJpY1wiIHwgXCIyLWRpZ2l0XCIgfCB1bmRlZmluZWQ7XHJcbiAgc2Vjb25kPzogXCJudW1lcmljXCIgfCBcIjItZGlnaXRcIiB8IHVuZGVmaW5lZDtcclxuICB0aW1lWm9uZU5hbWU/OiBcImxvbmdcIiB8IFwic2hvcnRcIiB8IHVuZGVmaW5lZDtcclxuICBmb3JtYXRNYXRjaGVyPzogXCJiZXN0IGZpdFwiIHwgXCJiYXNpY1wiIHwgdW5kZWZpbmVkO1xyXG4gIGhvdXIxMj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgdGltZVpvbmU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERheVBlcmlvZCA9ICgnYW0nIHwgJ3BtJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lVmFsdWUge1xyXG4gIHZhbHVlOiBudW1iZXI7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBkYXlQZXJpb2Q/OiBEYXlQZXJpb2Q7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEYXlQZXJpb2RzIHtcclxuICBhbTogc3RyaW5nO1xyXG4gIHBtOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTdXBwb3J0ZWRMb2NhbGUgPSAobG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcpID0+IHtcclxuICBsZXQgc3VwcG9ydGVkTG9jYWxlOiBzdHJpbmc7XHJcbiAgdHJ5IHtcclxuICAgIHN1cHBvcnRlZExvY2FsZSA9IEludGwuRGF0ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKGxvY2FsZSkubGVuZ3RoID8gbG9jYWxlIDogJ2RlZmF1bHQnO1xyXG4gIH0gY2F0Y2ggKGUpIHtcclxuICAgIHN1cHBvcnRlZExvY2FsZSA9ICdkZWZhdWx0JztcclxuICB9XHJcbiAgcmV0dXJuIHN1cHBvcnRlZExvY2FsZTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGlzSG91cjEyID0gKGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnKTogYm9vbGVhbiA9PiB7XHJcbiAgY29uc3Qgc3VwcG9ydGVkTG9jYWxlID0gZ2V0U3VwcG9ydGVkTG9jYWxlKGxvY2FsZSk7XHJcbiAgY29uc3QgaG91cjEyID0gSW50bC5EYXRlVGltZUZvcm1hdChzdXBwb3J0ZWRMb2NhbGUsIHt0aW1lU3R5bGU6ICdzaG9ydCd9KS5yZXNvbHZlZE9wdGlvbnMoKS5ob3VyMTI7XHJcbiAgcmV0dXJuIGhvdXIxMiA/PyBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnQxMmhUbzI0aCA9IChhYmJyOiAnYW0nIHwgJ3BtJywgaG91cjogbnVtYmVyKSA9PiB7XHJcbiAgaWYgKGFiYnIgPT09ICdhbScgJiYgaG91ciA9PT0gMTIpIHtcclxuICAgIHJldHVybiAwXHJcbiAgfVxyXG4gIGlmIChhYmJyID09PSAnYW0nKSB7XHJcbiAgICByZXR1cm4gaG91clxyXG4gIH1cclxuICBpZiAoYWJiciA9PT0gJ3BtJyAmJiBob3VyID09PSAxMikge1xyXG4gICAgcmV0dXJuIDEyXHJcbiAgfVxyXG4gIHJldHVybiBob3VyICsgMTJcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnQyNGhUbzEyaCA9IChob3VyOiBudW1iZXIpID0+IGhvdXIgJSAxMiB8fCAxMlxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRUaW1lVG9EYXRlID0gKHRpbWU6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxyXG4gIHRpbWUgPyAodGltZSBpbnN0YW5jZW9mIERhdGUgPyBuZXcgRGF0ZSh0aW1lKSA6IG5ldyBEYXRlKGAxOTcwLTAxLTAxICR7dGltZX1gKSkgOiBudWxsXHJcblxyXG4vLyBleHBvcnQgY29uc3QgZ2V0QW1QbSA9IChkYXRlOiBEYXRlLCBsb2NhbGU6IHN0cmluZykgPT4ge1xyXG4vLyAgIGlmIChkYXRlLnRvTG9jYWxlVGltZVN0cmluZyhsb2NhbGUpLmluY2x1ZGVzKCdBTScpKSB7XHJcbi8vICAgICByZXR1cm4gJ2FtJ1xyXG4vLyAgIH1cclxuLy8gICBpZiAoZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcobG9jYWxlKS5pbmNsdWRlcygnUE0nKSkge1xyXG4vLyAgICAgcmV0dXJuICdwbSdcclxuLy8gICB9XHJcbi8vICAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nXHJcbi8vIH1cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRBbVBtID0gKGRhdGU6IERhdGUsIGxvY2FsZTogc3RyaW5nLCBvcHRpb25zOiBEYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7fSk6IERheVBlcmlvZCA9PiB7XHJcblxyXG4gIGNvbnN0IGRheVBlcmlvZHMgPSBnZXREYXlQZXJpb2RzKCdlbi1VUycsIG9wdGlvbnMpO1xyXG4gIGNvbnN0IHRpbWUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnLCB7dGltZVN0eWxlOiBcInNob3J0XCIsIGhvdXIxMjogdHJ1ZX0pLmZvcm1hdChkYXRlKTtcclxuXHJcbiAgY29uc3QgZGF5UGVyaW9kID0gZGF5UGVyaW9kcy5maW5kKGVsZW1lbnQgPT4gdGltZS5pbmNsdWRlcyhlbGVtZW50LmxhYmVsKSk7XHJcblxyXG4gIHJldHVybiA8RGF5UGVyaW9kPihkYXlQZXJpb2Q/LnZhbHVlID8/IChkYXRlLmdldEhvdXJzKCkgPj0gMTIgPyAncG0nIDogJ2FtJykpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaXNBbSA9IChkYXRlOiBEYXRlKSA9PiB7XHJcbiAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKSA8IDEyO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpc1BtID0gKGRhdGU6IERhdGUpID0+IHtcclxuICByZXR1cm4gZGF0ZS5nZXRIb3VycygpID4gMTE7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBpc1ZhbGlkVGltZVpvbmUgPSAodGltZVpvbmU6IHVua25vd24pOiBib29sZWFuID0+IHtcclxuICB0cnkge1xyXG4gICAgaWYgKHRpbWVab25lID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghSW50bCB8fCAhSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGltZSB6b25lcyBub3Qgc3VwcG9ydGVkLicpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgdGltZVpvbmUgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0aW1lWm9uZSB0eXBlIHNwZWNpZmllZDogJHt0aW1lWm9uZX1gKTtcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICAvLyB0aHJvd3MgYW4gZXJyb3IgaWYgdGltZXpvbmUgaXMgbm90IHZhbGlkXHJcbiAgICAgIEludGwuRGF0ZVRpbWVGb3JtYXQodW5kZWZpbmVkLCB7IHRpbWVab25lOiB0aW1lWm9uZSB9KTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0aW1lWm9uZSBzdHJpbmcgc3BlY2lmaWVkOiAke3RpbWVab25lfWApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICBjb25zb2xlLndhcm4oZXJyb3IpO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRMaXN0T2ZIb3VycyA9IChsb2NhbGU6IHN0cmluZywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30pID0+IHtcclxuICBjb25zdCBob3VyMTIgPSBpc0hvdXIxMihsb2NhbGUpO1xyXG4gIGNvbnN0IHRpbWUgPSBuZXcgRGF0ZSgwKTtcclxuICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogMjQgfSwgKF8sIGkpID0+IHtcclxuICAgIHRpbWUuc2V0SG91cnMoaSk7XHJcbiAgICBjb25zdCBkYXlQZXJpb2QgPSBnZXRBbVBtKHRpbWUsIGxvY2FsZSk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB2YWx1ZTogaSxcclxuICAgICAgZGF5UGVyaW9kOiA8RGF5UGVyaW9kPmRheVBlcmlvZCxcclxuICAgICAgbGFiZWw6IHRpbWUudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSwge1xyXG4gICAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcclxuICAgICAgICBob3VyMTI6IGhvdXIxMixcclxuICAgICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcclxuICAgICAgICBzZWNvbmQ6ICcyLWRpZ2l0JyxcclxuICAgICAgfSkuc3BsaXQoJzonKVswXSxcclxuICAgIH1cclxuICB9KVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0TGlzdE9mTWludXRlcyA9IChsb2NhbGU6IHN0cmluZywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30sIHZhbHVlQXNTdHJpbmcgPSBmYWxzZSkgPT4ge1xyXG4gIGNvbnN0IGQgPSBuZXcgRGF0ZSgwKTtcclxuICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogNjAgfSwgKF8sIGkpID0+IHtcclxuICAgIGQuc2V0TWludXRlcyhpKVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdmFsdWU6IGksXHJcbiAgICAgIC8vIHZhbHVlOiB2YWx1ZUFzU3RyaW5nID8gaS50b1N0cmluZygpIDogaSxcclxuICAgICAgbGFiZWw6IGQudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSwge1xyXG4gICAgICAgIC8vIC4uLm9wdGlvbnMsXHJcbiAgICAgICAgaG91cjogJzItZGlnaXQnLFxyXG4gICAgICAgIGhvdXIxMjogZmFsc2UsXHJcbiAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXHJcbiAgICAgICAgc2Vjb25kOiAnMi1kaWdpdCcsXHJcbiAgICAgIH0pLnNwbGl0KCc6JylbMV0sXHJcbiAgICB9XHJcbiAgfSlcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGdldExpc3RPZlNlY29uZHMgPSAobG9jYWxlOiBzdHJpbmcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9LCAgdmFsdWVBc1N0cmluZyA9IGZhbHNlKSA9PlxyXG4gIEFycmF5LmZyb20oeyBsZW5ndGg6IDYwIH0sIChfLCBpKSA9PiB7XHJcbiAgICBjb25zdCBkID0gbmV3IERhdGUoMClcclxuICAgIGQuc2V0U2Vjb25kcyhpKVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdmFsdWU6IGksXHJcbiAgICAgIC8vIHZhbHVlOiB2YWx1ZUFzU3RyaW5nID8gaS50b1N0cmluZygpIDogaSxcclxuICAgICAgbGFiZWw6IGQudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSwge1xyXG4gICAgICAgIC8vIC4uLm9wdGlvbnMsXHJcbiAgICAgICAgaG91cjogJzItZGlnaXQnLFxyXG4gICAgICAgIGhvdXIxMjogZmFsc2UsXHJcbiAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXHJcbiAgICAgICAgc2Vjb25kOiAnMi1kaWdpdCcsXHJcbiAgICAgIH0pLnNwbGl0KCc6JylbMl0sXHJcbiAgICB9XHJcbiAgfSlcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZEhvdXIgPSAoZGF0ZTogRGF0ZSB8IG51bGwsIGxvY2FsZTogc3RyaW5nKSA9PlxyXG4gIGRhdGUgaW5zdGFuY2VvZiBEYXRlID8gKGlzSG91cjEyKGxvY2FsZSkgPyBjb252ZXJ0MjRoVG8xMmgoZGF0ZS5nZXRIb3VycygpKSA6IGRhdGUuZ2V0SG91cnMoKSkgOiAnJztcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZE1pbnV0ZXMgPSAoZGF0ZTogRGF0ZSB8IG51bGwpID0+IChkYXRlID8gZGF0ZS5nZXRNaW51dGVzKCkgOiAnJylcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZFNlY29uZHMgPSAoZGF0ZTogRGF0ZSB8IG51bGwpID0+IChkYXRlID8gZGF0ZS5nZXRTZWNvbmRzKCkgOiAnJylcclxuXHJcbi8vIGV4cG9ydCBjb25zdCBpc0FtUG0gPSAobG9jYWxlOiBzdHJpbmcpID0+XHJcbi8vICAgWydhbScsICdBTScsICdwbScsICdQTSddLnNvbWUoKGVsKSA9PiBuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSkuaW5jbHVkZXMoZWwpKVxyXG5cclxuZXhwb3J0IGNvbnN0IGlzQW1QbSA9IChsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0JykgPT4ge1xyXG4gIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xyXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIGNvbnN0IHRpbWUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChzdXBwb3J0ZWRMb2NhbGUsIHt0aW1lU3R5bGU6IFwic2hvcnRcIn0pLmZvcm1hdChkYXRlKTtcclxuICBjb25zdCBpc0FtUG0gPSB0aW1lLm1hdGNoKC8oPzpcXHB7TH1cXHB7TX1cXHB7UH0qKSt8KD86XFxwe0x9XFxwe1B9KikrL2d1KSA/PyBbXTtcclxuICByZXR1cm4gaXNBbVBtLmxlbmd0aCA+IDA7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBpc1ZhbGlkVGltZSA9ICh0aW1lOiBzdHJpbmcgfCBEYXRlIHwgbnVtYmVyIHwgYW55KSA9PiB7XHJcbiAgaWYgKHR5cGVvZiB0aW1lID09PSAnc3RyaW5nJykge1xyXG4gICAgcmV0dXJuIGlzVmFsaWQodGltZSkgfHwgaXNWYWxpZChuZXcgRGF0ZShgMTk3MC0wMS0wMSAke3RpbWV9YCkpO1xyXG4gIH1cclxuICByZXR1cm4gaXNWYWxpZCh0aW1lKTtcclxuICAvLyBjb25zdCBkID0gbmV3IERhdGUoYDE5NzAtMDEtMDEgJHt0aW1lfWApXHJcbiAgLy8gcmV0dXJuIGQgaW5zdGFuY2VvZiBEYXRlICYmIGQuZ2V0VGltZSgpXHJcbn1cclxuXHJcbi8vIGV4cG9ydCBjb25zdCBfZ2V0RGF5UGVyaW9kcyA9IChsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0Jywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30pID0+IHtcclxuLy8gICBjb25zdCBzdXBwb3J0ZWRMb2NhbGUgPSBnZXRTdXBwb3J0ZWRMb2NhbGUobG9jYWxlKTtcclxuLy9cclxuLy8gICBjb25zdCBkYXlQZXJpb2RzID0geyBhbTogJ2FtJywgcG06ICdwbScgfTtcclxuLy9cclxuLy8gICBjb25zdCBob3VyMTIgPSBpc0hvdXIxMihzdXBwb3J0ZWRMb2NhbGUpO1xyXG4vLyAgIGlmICghaG91cjEyKSB7XHJcbi8vICAgICByZXR1cm4gZGF5UGVyaW9kcztcclxuLy8gICB9XHJcbi8vXHJcbi8vICAgY29uc3QgYW0gPSBuZXcgRGF0ZShEYXRlLlVUQygxOTcwLCAwLCAxLCAwLCAwLCAwKSk7XHJcbi8vICAgY29uc3QgcG0gPSBuZXcgRGF0ZShEYXRlLlVUQygxOTcwLCAwLCAxLCAxMywgMCwgMCkpO1xyXG4vL1xyXG4vLyAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHN1cHBvcnRlZExvY2FsZSwgeyBob3VyMTI6IGhvdXIxMiwgaG91cjogJ251bWVyaWMnLCB0aW1lWm9uZTogJ1VUQycgfSk7XHJcbi8vICAgZGF5UGVyaW9kcy5hbSA9IGZvcm1hdHRlci5mb3JtYXRUb1BhcnRzKGFtKS5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAnZGF5UGVyaW9kJyk/LnZhbHVlID8/ICdhbSc7XHJcbi8vICAgZGF5UGVyaW9kcy5wbSA9IGZvcm1hdHRlci5mb3JtYXRUb1BhcnRzKHBtKS5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAnZGF5UGVyaW9kJyk/LnZhbHVlID8/ICdwbSdcclxuLy8gICByZXR1cm4gZGF5UGVyaW9kcztcclxuLy8gfTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXREYXlQZXJpb2RzID0gKGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnLCBvcHRpb25zOiBEYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7fSkgPT4ge1xyXG4gIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xyXG5cclxuICBjb25zdCBkYXlQZXJpb2RzID0gW1xyXG4gICAgeyB2YWx1ZTogJ2FtJywgbGFiZWw6ICdhbScgfSxcclxuICAgIHsgdmFsdWU6ICdwbScsIGxhYmVsOiAncG0nIH0sXHJcbiAgXTtcclxuXHJcbiAgY29uc3QgaG91cjEyID0gaXNIb3VyMTIoc3VwcG9ydGVkTG9jYWxlKTtcclxuICBpZiAoIWhvdXIxMikge1xyXG4gICAgcmV0dXJuIGRheVBlcmlvZHM7XHJcbiAgfVxyXG5cclxuICBjb25zdCBhbSA9IG5ldyBEYXRlKERhdGUuVVRDKDE5NzAsIDAsIDEsIDAsIDAsIDApKTtcclxuICBjb25zdCBwbSA9IG5ldyBEYXRlKERhdGUuVVRDKDE5NzAsIDAsIDEsIDEzLCAwLCAwKSk7XHJcbiAgY29uc3QgZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoc3VwcG9ydGVkTG9jYWxlLCB7IGhvdXIxMjogaG91cjEyLCBob3VyOiAnbnVtZXJpYycsIHRpbWVab25lOiAnVVRDJyB9KTtcclxuICBjb25zdCBmb3JtYXR0ZWRBbSA9IGZvcm1hdHRlci5mb3JtYXRUb1BhcnRzKGFtKS5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAnZGF5UGVyaW9kJyk/LnZhbHVlID8/ICdhbSc7XHJcbiAgY29uc3QgZm9ybWF0dGVkUG0gPSBmb3JtYXR0ZXIuZm9ybWF0VG9QYXJ0cyhwbSkuZmluZChwYXJ0ID0+IHBhcnQudHlwZSA9PT0gJ2RheVBlcmlvZCcpPy52YWx1ZSA/PyAncG0nO1xyXG5cclxuICBkYXlQZXJpb2RzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4LCBkYXlQZXJpb2RzKSA9PiB7XHJcbiAgICBkYXlQZXJpb2RzW2luZGV4XS5sYWJlbCA9IGVsZW1lbnQudmFsdWUgPT09ICdhbScgPyAoZm9ybWF0dGVkQW0gPz8gJ2FtJykgOiAoZm9ybWF0dGVkUG0gPz8gJ3BtJyk7XHJcbiAgfSlcclxuXHJcbiAgcmV0dXJuIGRheVBlcmlvZHM7XHJcbn07XHJcblxyXG5cclxuXHJcbi8vIHRlc3RpbmdcclxuLy8gY29uc3QgbGFuZ3MgPSBbXHJcbi8vICAgWydBYmtoYXppYW4nLCAnYWInXSxcclxuLy8gICBbJ0FmYXInLCAnYWEnXSxcclxuLy8gICBbJ0FmcmlrYWFucycsICdhZiddLFxyXG4vLyAgIFsnQWthbicsICdhayddLFxyXG4vLyAgIFsnQWxiYW5pYW4nLCAnc3EnXSxcclxuLy8gICBbJ0FtaGFyaWMnLCAnYW0nXSxcclxuLy8gICBbJ0FyYWJpYycsICdhciddLFxyXG4vLyAgIFsnQXJhZ29uZXNlJywgJ2FuJ10sXHJcbi8vICAgWydBcmdlbnRpbmEnLCAnZXMtYXInXSxcclxuLy8gICBbJ0FybWVuaWFuJywgJ2h5J10sXHJcbi8vICAgWydBc3NhbWVzZScsICdhcyddLFxyXG4vLyAgIFsnQXZhcmljJywgJ2F2J10sXHJcbi8vICAgWydBdmVzdGFuJywgJ2FlJ10sXHJcbi8vICAgWydBeW1hcmEnLCAnYXknXSxcclxuLy8gICBbJ0F6ZXJiYWlqYW5pJywgJ2F6J10sXHJcbi8vICAgWydCYW1iYXJhJywgJ2JtJ10sXHJcbi8vICAgWydCYXNoa2lyJywgJ2JhJ10sXHJcbi8vICAgWydCYXNxdWUnLCAnZXUnXSxcclxuLy8gICBbJ0JlbGFydXNpYW4nLCAnYmUnXSxcclxuLy8gICBbJ0JlbmdhbGkgKEJhbmdsYSknLCAnYm4nXSxcclxuLy8gICBbJ0JpaGFyaScsICdiaCddLFxyXG4vLyAgIFsnQmlzbGFtYScsICdiaSddLFxyXG4vLyAgIFsnQm9zbmlhbicsICdicyddLFxyXG4vLyAgIFsnQnJldG9uJywgJ2JyJ10sXHJcbi8vICAgWydCdWxnYXJpYW4nLCAnYmcnXSxcclxuLy8gICBbJ0J1cm1lc2UnLCAnbXknXSxcclxuLy8gICBbJ0NhdGFsYW4nLCAnY2EnXSxcclxuLy8gICBbJ0NoYW1vcnJvJywgJ2NoJ10sXHJcbi8vICAgWydDaGVjaGVuJywgJ2NlJ10sXHJcbi8vICAgWydDaGljaGV3YSwgQ2hld2EsIE55YW5qYScsICdueSddLFxyXG4vLyAgIFsnQ2hpbmVzZScsICd6aCddLFxyXG4vLyAgIFsnQ2hpbmVzZSAoU2ltcGxpZmllZCknLCAnemgtSGFucyddLFxyXG4vLyAgIFsnQ2hpbmVzZSAoVHJhZGl0aW9uYWwpJywgJ3poLUhhbnQnXSxcclxuLy8gICBbJ0NodXZhc2gnLCAnY3YnXSxcclxuLy8gICBbJ0Nvcm5pc2gnLCAna3cnXSxcclxuLy8gICBbJ0NvcnNpY2FuJywgJ2NvJ10sXHJcbi8vICAgWydDcmVlJywgJ2NyJ10sXHJcbi8vICAgWydDcm9hdGlhbicsICdociddLFxyXG4vLyAgIFsnQ3plY2gnLCAnY3MnXSxcclxuLy8gICBbJ0RhbmlzaCcsICdkYSddLFxyXG4vLyAgIFsnRGl2ZWhpLCBEaGl2ZWhpLCBNYWxkaXZpYW4nLCAnZHYnXSxcclxuLy8gICBbJ0R1dGNoJywgJ25sJ10sXHJcbi8vICAgWydEem9uZ2toYScsICdkeiddLFxyXG4vLyAgIFsnRW5nbGlzaCcsICdlbiddLFxyXG4vLyAgIFsnRXNwZXJhbnRvJywgJ2VvJ10sXHJcbi8vICAgWydFc3RvbmlhbicsICdldCddLFxyXG4vLyAgIFsnRXdlJywgJ2VlJ10sXHJcbi8vICAgWydGYXJvZXNlJywgJ2ZvJ10sXHJcbi8vICAgWydGaWppYW4nLCAnZmonXSxcclxuLy8gICBbJ0Zpbm5pc2gnLCAnZmknXSxcclxuLy8gICBbJ0ZyZW5jaCcsICdmciddLFxyXG4vLyAgIFsnRnVsYSwgRnVsYWgsIFB1bGFhciwgUHVsYXInLCAnZmYnXSxcclxuLy8gICBbJ0dhbGljaWFuJywgJ2dsJ10sXHJcbi8vICAgWydHYWVsaWMgKFNjb3R0aXNoKScsICdnZCddLFxyXG4vLyAgIFsnR2FlbGljIChNYW54KScsICdndiddLFxyXG4vLyAgIFsnR2VvcmdpYW4nLCAna2EnXSxcclxuLy8gICBbJ0dlcm1hbicsICdkZSddLFxyXG4vLyAgIFsnR3JlZWsnLCAnZWwnXSxcclxuLy8gICBbJ0dyZWVubGFuZGljJywgJ2tsJ10sXHJcbi8vICAgWydHdWFyYW5pJywgJ2duJ10sXHJcbi8vICAgWydHdWphcmF0aScsICdndSddLFxyXG4vLyAgIFsnSGFpdGlhbiBDcmVvbGUnLCAnaHQnXSxcclxuLy8gICBbJ0hhdXNhJywgJ2hhJ10sXHJcbi8vICAgWydIZWJyZXcnLCAnaGUnXSxcclxuLy8gICBbJ0hlcmVybycsICdoeiddLFxyXG4vLyAgIFsnSGluZGknLCAnaGknXSxcclxuLy8gICBbJ0hpcmkgTW90dScsICdobyddLFxyXG4vLyAgIFsnSHVuZ2FyaWFuJywgJ2h1J10sXHJcbi8vICAgWydJY2VsYW5kaWMnLCAnaXMnXSxcclxuLy8gICBbJ0lkbycsICdpbyddLFxyXG4vLyAgIFsnSWdibycsICdpZyddLFxyXG4vLyAgIFsnSW5kb25lc2lhbicsICdpZCcsICdpbiddLFxyXG4vLyAgIFsnSW50ZXJsaW5ndWEnLCAnaWEnXSxcclxuLy8gICBbJ0ludGVybGluZ3VlJywgJ2llJ10sXHJcbi8vICAgWydJbnVrdGl0dXQnLCAnaXUnXSxcclxuLy8gICBbJ0ludXBpYWsnLCAnaWsnXSxcclxuLy8gICBbJ0lyaXNoJywgJ2dhJ10sXHJcbi8vICAgWydJdGFsaWFuJywgJ2l0J10sXHJcbi8vICAgWydKYXBhbmVzZScsICdqYSddLFxyXG4vLyAgIFsnSmF2YW5lc2UnLCAnanYnXSxcclxuLy8gICBbJ0thbGFhbGxpc3V0LCBHcmVlbmxhbmRpYycsICdrbCddLFxyXG4vLyAgIFsnS2FubmFkYScsICdrbiddLFxyXG4vLyAgIFsnS2FudXJpJywgJ2tyJ10sXHJcbi8vICAgWydLYXNobWlyaScsICdrcyddLFxyXG4vLyAgIFsnS2F6YWtoJywgJ2trJ10sXHJcbi8vICAgWydLaG1lcicsICdrbSddLFxyXG4vLyAgIFsnS2lrdXl1JywgJ2tpJ10sXHJcbi8vICAgWydLaW55YXJ3YW5kYSAoUndhbmRhKScsICdydyddLFxyXG4vLyAgIFsnS2lydW5kaScsICdybiddLFxyXG4vLyAgIFsnS3lyZ3l6JywgJ2t5J10sXHJcbi8vICAgWydLb21pJywgJ2t2J10sXHJcbi8vICAgWydLb25nbycsICdrZyddLFxyXG4vLyAgIFsnS29yZWFuJywgJ2tvJ10sXHJcbi8vICAgWydLdXJkaXNoJywgJ2t1J10sXHJcbi8vICAgWydLd2FueWFtYScsICdraiddLFxyXG4vLyAgIFsnTGFvJywgJ2xvJ10sXHJcbi8vICAgWydMYXRpbicsICdsYSddLFxyXG4vLyAgIFsnTGF0dmlhbiAoTGV0dGlzaCknLCAnbHYnXSxcclxuLy8gICBbJ0xpbWJ1cmdpc2ggKExpbWJ1cmdlciknLCAnbGknXSxcclxuLy8gICBbJ0xpbmdhbGEnLCAnbG4nXSxcclxuLy8gICBbJ0xpdGh1YW5pYW4nLCAnbHQnXSxcclxuLy8gICBbJ0x1Z2EtS2F0YW5nYScsICdsdSddLFxyXG4vLyAgIFsnTHVnYW5kYSwgR2FuZGEnLCAnbGcnXSxcclxuLy8gICBbJ0x1eGVtYm91cmdpc2gnLCAnbGInXSxcclxuLy8gICBbJ01hbngnLCAnZ3YnXSxcclxuLy8gICBbJ01hY2Vkb25pYW4nLCAnbWsnXSxcclxuLy8gICBbJ01hbGFnYXN5JywgJ21nJ10sXHJcbi8vICAgWydNYWxheScsICdtcyddLFxyXG4vLyAgIFsnTWFsYXlhbGFtJywgJ21sJ10sXHJcbi8vICAgWydNYWx0ZXNlJywgJ210J10sXHJcbi8vICAgWydNYW9yaScsICdtaSddLFxyXG4vLyAgIFsnTWFyYXRoaScsICdtciddLFxyXG4vLyAgIFsnTWFyc2hhbGxlc2UnLCAnbWgnXSxcclxuLy8gICBbJ01vbGRhdmlhbicsICdtbyddLFxyXG4vLyAgIFsnTW9uZ29saWFuJywgJ21uJ10sXHJcbi8vICAgWydOYXVydScsICduYSddLFxyXG4vLyAgIFsnTmF2YWpvJywgJ252J10sXHJcbi8vICAgWydOZG9uZ2EnLCAnbmcnXSxcclxuLy8gICBbJ05vcnRoZXJuIE5kZWJlbGUnLCAnbmQnXSxcclxuLy8gICBbJ05lcGFsaScsICduZSddLFxyXG4vLyAgIFsnTm9yd2VnaWFuJywgJ25vJ10sXHJcbi8vICAgWydOb3J3ZWdpYW4gYm9rbcOlbCcsICduYiddLFxyXG4vLyAgIFsnTm9yd2VnaWFuIG55bm9yc2snLCAnbm4nXSxcclxuLy8gICBbJ051b3N1JywgJ2lpJ10sXHJcbi8vICAgWydPY2NpdGFuJywgJ29jJ10sXHJcbi8vICAgWydPamlid2UnLCAnb2onXSxcclxuLy8gICBbJ09sZCBDaHVyY2ggU2xhdm9uaWMsIE9sZCBCdWxnYXJpYW4nLCAnY3UnXSxcclxuLy8gICBbJ09yaXlhJywgJ29yJ10sXHJcbi8vICAgWydPcm9tbyAoQWZhYW4gT3JvbW8pJywgJ29tJ10sXHJcbi8vICAgWydPc3NldGlhbicsICdvcyddLFxyXG4vLyAgIFsnUMSBbGknLCAncGknXSxcclxuLy8gICBbJ1Bhc2h0bywgUHVzaHRvJywgJ3BzJ10sXHJcbi8vICAgWydQZXJzaWFuIChGYXJzaSknLCAnZmEnXSxcclxuLy8gICBbJ1BvbGlzaCcsICdwbCddLFxyXG4vLyAgIFsnUG9ydHVndWVzZScsICdwdCddLFxyXG4vLyAgIFsnUHVuamFiaSAoRWFzdGVybiknLCAncGEnXSxcclxuLy8gICBbJ1F1ZWNodWEnLCAncXUnXSxcclxuLy8gICBbJ1JvbWFuc2gnLCAncm0nXSxcclxuLy8gICBbJ1JvbWFuaWFuJywgJ3JvJ10sXHJcbi8vICAgWydSdXNzaWFuJywgJ3J1J10sXHJcbi8vICAgWydTYW1pJywgJ3NlJ10sXHJcbi8vICAgWydTYW1vYW4nLCAnc20nXSxcclxuLy8gICBbJ1NhbmdvJywgJ3NnJ10sXHJcbi8vICAgWydTYW5za3JpdCcsICdzYSddLFxyXG4vLyAgIFsnU2VyYmlhbicsICdzciddLFxyXG4vLyAgIFsnU2VyYm8tQ3JvYXRpYW4nLCAnc2gnXSxcclxuLy8gICBbJ1Nlc290aG8nLCAnc3QnXSxcclxuLy8gICBbJ1NldHN3YW5hJywgJ3RuJ10sXHJcbi8vICAgWydTaG9uYScsICdzbiddLFxyXG4vLyAgIFsnU2ljaHVhbiBZaScsICdpaSddLFxyXG4vLyAgIFsnU2luZGhpJywgJ3NkJ10sXHJcbi8vICAgWydTaW5oYWxlc2UnLCAnc2knXSxcclxuLy8gICBbJ1Npc3dhdGknLCAnc3MnXSxcclxuLy8gICBbJ1Nsb3ZhaycsICdzayddLFxyXG4vLyAgIFsnU2xvdmVuaWFuJywgJ3NsJ10sXHJcbi8vICAgWydTb21hbGknLCAnc28nXSxcclxuLy8gICBbJ1NvdXRoZXJuIE5kZWJlbGUnLCAnbnInXSxcclxuLy8gICBbJ1NwYW5pc2gnLCAnZXMnXSxcclxuLy8gICBbJ1N1bmRhbmVzZScsICdzdSddLFxyXG4vLyAgIFsnU3dhaGlsaSAoS2lzd2FoaWxpKScsICdzdyddLFxyXG4vLyAgIFsnU3dhdGknLCAnc3MnXSxcclxuLy8gICBbJ1N3ZWRpc2gnLCAnc3YnXSxcclxuLy8gICBbJ1RhZ2Fsb2cnLCAndGwnXSxcclxuLy8gICBbJ1RhaGl0aWFuJywgJ3R5J10sXHJcbi8vICAgWydUYWppaycsICd0ZyddLFxyXG4vLyAgIFsnVGFtaWwnLCAndGEnXSxcclxuLy8gICBbJ1RhdGFyJywgJ3R0J10sXHJcbi8vICAgWydUZWx1Z3UnLCAndGUnXSxcclxuLy8gICBbJ1RoYWknLCAndGgnXSxcclxuLy8gICBbJ1RpYmV0YW4nLCAnYm8nXSxcclxuLy8gICBbJ1RpZ3JpbnlhJywgJ3RpJ10sXHJcbi8vICAgWydUb25nYScsICd0byddLFxyXG4vLyAgIFsnVHNvbmdhJywgJ3RzJ10sXHJcbi8vICAgWydUdXJraXNoJywgJ3RyJ10sXHJcbi8vICAgWydUdXJrbWVuJywgJ3RrJ10sXHJcbi8vICAgWydUd2knLCAndHcnXSxcclxuLy8gICBbJ1V5Z2h1cicsICd1ZyddLFxyXG4vLyAgIFsnVWtyYWluaWFuJywgJ3VrJ10sXHJcbi8vICAgWydVcmR1JywgJ3VyJ10sXHJcbi8vICAgWydVemJlaycsICd1eiddLFxyXG4vLyAgIFsnVmVuZGEnLCAndmUnXSxcclxuLy8gICBbJ1ZpZXRuYW1lc2UnLCAndmknXSxcclxuLy8gICBbJ1ZvbGFww7xrJywgJ3ZvJ10sXHJcbi8vICAgWydXYWxsb24nLCAnd2EnXSxcclxuLy8gICBbJ1dlbHNoJywgJ2N5J10sXHJcbi8vICAgWydXb2xvZicsICd3byddLFxyXG4vLyAgIFsnV2VzdGVybiBGcmlzaWFuJywgJ2Z5J10sXHJcbi8vICAgWydYaG9zYScsICd4aCddLFxyXG4vLyAgIFsnWWlkZGlzaCcsICd5aScsICdqaSddLFxyXG4vLyAgIFsnWW9ydWJhJywgJ3lvJ10sXHJcbi8vICAgWydaaHVhbmcsIENodWFuZycsICd6YSddLFxyXG4vLyAgIFsnWnVsdScsICd6dSddLFxyXG4vLyBdXHJcbi8vXHJcbi8vIGxhbmdzLmZvckVhY2gobGFuZyA9PiB7Y29uc3QgcGVyaW9kID0gZ2V0RGF5UGVyaW9kcyhsYW5nWzFdKTsgaWYgKHBlcmlvZC5hbSA9PT0gJ0FNJykgcmV0dXJuOyBjb25zb2xlLmxvZyhsYW5nWzFdLCBwZXJpb2QgKX0pXHJcblxyXG5cclxuLy8gQ2hyb21lIC8gT3BlcmFcclxuLy8gQW1oYXJpYyBhbSB7YW06ICfhjKXhi4vhibUnLCBwbTogJ+GKqOGIsOGLk+GJtSd9XHJcbi8vIEFyYWJpYyBhciB7YW06ICfYtScsIHBtOiAn2YUnfVxyXG4vLyBCdWxnYXJpYW4gYmcge2FtOiAn0L/RgC7QvtCxLicsIHBtOiAn0YHQuy7QvtCxLid9XHJcbi8vIENoaW5lc2UgKFRyYWRpdGlvbmFsKSB6aC1IYW50IHthbTogJ+S4iuWNiCcsIHBtOiAn5LiL5Y2IJ31cclxuLy8gR3JlZWsgZWwge2FtOiAnz4AuzrwuJywgcG06ICfOvC7OvC4nfVxyXG4vLyBIaW5kaSBoaSB7YW06ICdhbScsIHBtOiAncG0nfVxyXG4vLyBLYW5uYWRhIGtuIHthbTogJ+CyquCzguCysOCzjeCyteCyvuCyueCzjeCyqCcsIHBtOiAn4LKF4LKq4LKw4LK+4LK54LON4LKoJ31cclxuLy8gS29yZWFuIGtvIHthbTogJ+yYpOyghCcsIHBtOiAn7Jik7ZuEJ31cclxuLy8gTWFsYXkgbXMge2FtOiAnUEcnLCBwbTogJ1BURyd9XHJcbi8vIFRhbWlsIHRhIHthbTogJ+CuruCvgeCuseCvjeCuquCuleCusuCvjScsIHBtOiAn4K6q4K6/4K6x4K+N4K6q4K6V4K6y4K+NJ31cclxuXHJcbi8vIEVkZ2UgQ2hyb21pdW1cclxuLy8gQWxiYW5pYW4gc3Ege2FtOiAnZSBwYXJhZGl0ZXMnLCBwbTogJ2UgcGFzZGl0ZXMnfVxyXG4vLyBBbWhhcmljIGFtIHthbTogJ+GMpeGLi+GJtScsIHBtOiAn4Yqo4Yiw4YuT4Ym1J31cclxuLy8gQXJhYmljIGFyIHthbTogJ9i1JywgcG06ICfZhSd9XHJcbi8vIEJ1bGdhcmlhbiBiZyB7YW06ICfQv9GALtC+0LEuJywgcG06ICfRgdC7LtC+0LEuJ31cclxuLy8gQ2hpbmVzZSAoVHJhZGl0aW9uYWwpIHpoLUhhbnQge2FtOiAn5LiK5Y2IJywgcG06ICfkuIvljYgnfVxyXG4vLyBHcmVlayBlbCB7YW06ICfPgC7OvC4nLCBwbTogJ868Ls68Lid9XHJcbi8vIEhpbmRpIGhpIHthbTogJ2FtJywgcG06ICdwbSd9XHJcbi8vIEthbm5hZGEga24ge2FtOiAn4LKq4LOC4LKw4LON4LK14LK+4LK54LON4LKoJywgcG06ICfgsoXgsqrgsrDgsr7gsrngs43gsqgnfVxyXG4vLyBLb3JlYW4ga28ge2FtOiAn7Jik7KCEJywgcG06ICfsmKTtm4QnfVxyXG4vLyBNYWxheSBtcyB7YW06ICdQRycsIHBtOiAnUFRHJ31cclxuLy8gUHVuamFiaSAoRWFzdGVybikgcGEge2FtOiAn4Kiq4KmCLuCopuCpgS4nLCBwbTogJ+CorOCovi7gqKbgqYEuJ31cclxuLy8gU2luZGhpIHNkIHthbTogJ9i12KjYrdiMINmF2YbYrNmH2YbYrycsIHBtOiAn2YXZhtis2YfZhtiv2Iwg2LTYp9mFJ31cclxuLy8gVGFtaWwgdGEge2FtOiAn4K6u4K+B4K6x4K+N4K6q4K6V4K6y4K+NJywgcG06ICfgrqrgrr/grrHgr43grqrgrpXgrrLgr40nfVxyXG5cclxuXHJcbi8vIEZpcmVmb3hcclxuLy8gQWthbiBhayB7IGFtOiBcIkFOXCIsIHBtOiBcIkVXXCIgfVxyXG4vLyBBbGJhbmlhbiBzcSB7IGFtOiBcImUgcGFyYWRpdGVzXCIsIHBtOiBcImUgcGFzZGl0ZXNcIiB9XHJcbi8vIEFtaGFyaWMgYW0geyBhbTogXCLhjKXhi4vhibVcIiwgcG06IFwi4Yqo4Yiw4YuT4Ym1XCIgfVxyXG4vLyBBcmFiaWMgYXIgeyBhbTogXCLYtVwiLCBwbTogXCLZhVwiIH1cclxuLy8gQXNzYW1lc2UgYXMgeyBhbTogXCLgpqrgp4Lgp7Dgp43gpqzgpr7gprngp43gpqhcIiwgcG06IFwi4KaF4Kaq4Kew4Ka+4Ka54KeN4KaoXCIgfVxyXG4vLyBCdWxnYXJpYW4gYmcgeyBhbTogXCLQv9GALtC+0LEuXCIsIHBtOiBcItGB0Lsu0L7QsS5cIiB9XHJcbi8vIENoaW5lc2UgKFRyYWRpdGlvbmFsKSB6aC1IYW50IHsgYW06IFwi5LiK5Y2IXCIsIHBtOiBcIuS4i+WNiFwiIH1cclxuLy8gRHpvbmdraGEgZHogeyBhbTogXCLgvabgvpTgvIvgvYbgvItcIiwgcG06IFwi4L2V4L6x4L2y4LyL4L2G4LyLXCIgfVxyXG4vLyBFd2UgZWUgeyBhbTogXCLFi2RpXCIsIHBtOiBcIsmjZXRyyZRcIiB9XHJcbi8vIEdyZWVrIGVsIHsgYW06IFwiz4AuzrwuXCIsIHBtOiBcIs68Ls68LlwiIH1cclxuLy8gSGluZGkgaGkgeyBhbTogXCJhbVwiLCBwbTogXCJwbVwiIH1cclxuLy8gS2FubmFkYSBrbiB7IGFtOiBcIuCyquCzguCysOCzjeCyteCyvuCyueCzjeCyqFwiLCBwbTogXCLgsoXgsqrgsrDgsr7gsrngs43gsqhcIiB9XHJcbi8vIEtvcmVhbiBrbyB7IGFtOiBcIuyYpOyghFwiLCBwbTogXCLsmKTtm4RcIiB9XHJcbi8vIE1hbGF5IG1zIHsgYW06IFwiUEdcIiwgcG06IFwiUFRHXCIgfVxyXG4vLyBPcm9tbyAoQWZhYW4gT3JvbW8pIG9tIHsgYW06IFwiV0RcIiwgcG06IFwiV0JcIiB9XHJcbi8vIFB1bmphYmkgKEVhc3Rlcm4pIHBhIHsgYW06IFwi4Kiq4KmCLuCopuCpgS5cIiwgcG06IFwi4Kis4Ki+LuCopuCpgS5cIiB9XHJcbi8vIFNhbnNrcml0IHNhIHsgYW06IFwi4KSq4KWC4KSw4KWN4KS14KS+4KS54KWN4KSoXCIsIHBtOiBcIuCkheCkquCksOCkvuCkueCljeCkqFwiIH1cclxuLy8gU2luZGhpIHNkIHsgYW06IFwi2LXYqNit2Iwg2YXZhtis2YfZhtivXCIsIHBtOiBcItmF2YbYrNmH2YbYr9iMINi02KfZhVwiIH1cclxuLy8gU29tYWxpIHNvIHsgYW06IFwiR0hcIiwgcG06IFwiR0RcIiB9XHJcbi8vIFRhbWlsIHRhIHsgYW06IFwi4K6u4K+B4K6x4K+N4K6q4K6V4K6y4K+NXCIsIHBtOiBcIuCuquCuv+CuseCvjeCuquCuleCusuCvjVwiIH1cclxuLy8gVGlncmlueWEgdGkgeyBhbTogXCLhiYUu4YmALlwiLCBwbTogXCLhi7Uu4YmALlwiIH1cclxuLy8gVG9uZ2EgdG8geyBhbTogXCJoZW5naWhlbmdpXCIsIHBtOiBcImVmaWFmaVwiIH1cclxuLy8gVHdpIHR3IHsgYW06IFwiQU5cIiwgcG06IFwiRVdcIiB9XHJcblxyXG5cclxuXHJcbi8vIGNvbnN0IGZvcm1hdHMgPSB7XHJcbi8vICAgXCJhci1TQVwiIDogXCJkZC9NTS95eVwiLFxyXG4vLyAgIFwiYmctQkdcIiA6IFwiZGQuTS55eXl5XCIsXHJcbi8vICAgXCJjYS1FU1wiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJ6aC1UV1wiIDogXCJ5eXl5L00vZFwiLFxyXG4vLyAgIFwiY3MtQ1pcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcImRhLURLXCIgOiBcImRkLU1NLXl5eXlcIixcclxuLy8gICBcImRlLURFXCIgOiBcImRkLk1NLnl5eXlcIixcclxuLy8gICBcImVsLUdSXCIgOiBcImQvTS95eXl5XCIsXHJcbi8vICAgXCJlbi1VU1wiIDogXCJNL2QveXl5eVwiLFxyXG4vLyAgIFwiZmktRklcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcImZyLUZSXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImhlLUlMXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImh1LUhVXCIgOiBcInl5eXkuIE1NLiBkZC5cIixcclxuLy8gICBcImlzLUlTXCIgOiBcImQuTS55eXl5XCIsXHJcbi8vICAgXCJpdC1JVFwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJqYS1KUFwiIDogXCJ5eXl5L01NL2RkXCIsXHJcbi8vICAgXCJrby1LUlwiIDogXCJ5eXl5LU1NLWRkXCIsXHJcbi8vICAgXCJubC1OTFwiIDogXCJkLU0teXl5eVwiLFxyXG4vLyAgIFwibmItTk9cIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwicGwtUExcIiA6IFwieXl5eS1NTS1kZFwiLFxyXG4vLyAgIFwicHQtQlJcIiA6IFwiZC9NL3l5eXlcIixcclxuLy8gICBcInJvLVJPXCIgOiBcImRkLk1NLnl5eXlcIixcclxuLy8gICBcInJ1LVJVXCIgOiBcImRkLk1NLnl5eXlcIixcclxuLy8gICBcImhyLUhSXCIgOiBcImQuTS55eXl5XCIsXHJcbi8vICAgXCJzay1TS1wiIDogXCJkLiBNLiB5eXl5XCIsXHJcbi8vICAgXCJzcS1BTFwiIDogXCJ5eXl5LU1NLWRkXCIsXHJcbi8vICAgXCJzdi1TRVwiIDogXCJ5eXl5LU1NLWRkXCIsXHJcbi8vICAgXCJ0aC1USFwiIDogXCJkL00veXl5eVwiLFxyXG4vLyAgIFwidHItVFJcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwidXItUEtcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiaWQtSURcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwidWstVUFcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwiYmUtQllcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwic2wtU0lcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcImV0LUVFXCIgOiBcImQuTU0ueXl5eVwiLFxyXG4vLyAgIFwibHYtTFZcIiA6IFwieXl5eS5NTS5kZC5cIixcclxuLy8gICBcImx0LUxUXCIgOiBcInl5eXkuTU0uZGRcIixcclxuLy8gICBcImZhLUlSXCIgOiBcIk1NL2RkL3l5eXlcIixcclxuLy8gICBcInZpLVZOXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImh5LUFNXCIgOiBcImRkLk1NLnl5eXlcIixcclxuLy8gICBcImF6LUxhdG4tQVpcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwiZXUtRVNcIiA6IFwieXl5eS9NTS9kZFwiLFxyXG4vLyAgIFwibWstTUtcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwiYWYtWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxyXG4vLyAgIFwia2EtR0VcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwiZm8tRk9cIiA6IFwiZGQtTU0teXl5eVwiLFxyXG4vLyAgIFwiaGktSU5cIiA6IFwiZGQtTU0teXl5eVwiLFxyXG4vLyAgIFwibXMtTVlcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwia2stS1pcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwia3ktS0dcIiA6IFwiZGQuTU0ueXlcIixcclxuLy8gICBcInN3LUtFXCIgOiBcIk0vZC95eXl5XCIsXHJcbi8vICAgXCJ1ei1MYXRuLVVaXCIgOiBcImRkL01NIHl5eXlcIixcclxuLy8gICBcInR0LVJVXCIgOiBcImRkLk1NLnl5eXlcIixcclxuLy8gICBcInBhLUlOXCIgOiBcImRkLU1NLXl5XCIsXHJcbi8vICAgXCJndS1JTlwiIDogXCJkZC1NTS15eVwiLFxyXG4vLyAgIFwidGEtSU5cIiA6IFwiZGQtTU0teXl5eVwiLFxyXG4vLyAgIFwidGUtSU5cIiA6IFwiZGQtTU0teXlcIixcclxuLy8gICBcImtuLUlOXCIgOiBcImRkLU1NLXl5XCIsXHJcbi8vICAgXCJtci1JTlwiIDogXCJkZC1NTS15eXl5XCIsXHJcbi8vICAgXCJzYS1JTlwiIDogXCJkZC1NTS15eXl5XCIsXHJcbi8vICAgXCJtbi1NTlwiIDogXCJ5eS5NTS5kZFwiLFxyXG4vLyAgIFwiZ2wtRVNcIiA6IFwiZGQvTU0veXlcIixcclxuLy8gICBcImtvay1JTlwiIDogXCJkZC1NTS15eXl5XCIsXHJcbi8vICAgXCJzeXItU1lcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZHYtTVZcIiA6IFwiZGQvTU0veXlcIixcclxuLy8gICBcImFyLUlRXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcInpoLUNOXCIgOiBcInl5eXkvTS9kXCIsXHJcbi8vICAgXCJkZS1DSFwiIDogXCJkZC5NTS55eXl5XCIsXHJcbi8vICAgXCJlbi1HQlwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJlcy1NWFwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJmci1CRVwiIDogXCJkL01NL3l5eXlcIixcclxuLy8gICBcIml0LUNIXCIgOiBcImRkLk1NLnl5eXlcIixcclxuLy8gICBcIm5sLUJFXCIgOiBcImQvTU0veXl5eVwiLFxyXG4vLyAgIFwibm4tTk9cIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwicHQtUFRcIiA6IFwiZGQtTU0teXl5eVwiLFxyXG4vLyAgIFwic3ItTGF0bi1DU1wiIDogXCJkLk0ueXl5eVwiLFxyXG4vLyAgIFwic3YtRklcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcImF6LUN5cmwtQVpcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwibXMtQk5cIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwidXotQ3lybC1VWlwiIDogXCJkZC5NTS55eXl5XCIsXHJcbi8vICAgXCJhci1FR1wiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJ6aC1IS1wiIDogXCJkL00veXl5eVwiLFxyXG4vLyAgIFwiZGUtQVRcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwiZW4tQVVcIiA6IFwiZC9NTS95eXl5XCIsXHJcbi8vICAgXCJlcy1FU1wiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJmci1DQVwiIDogXCJ5eXl5LU1NLWRkXCIsXHJcbi8vICAgXCJzci1DeXJsLUNTXCIgOiBcImQuTS55eXl5XCIsXHJcbi8vICAgXCJhci1MWVwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJ6aC1TR1wiIDogXCJkL00veXl5eVwiLFxyXG4vLyAgIFwiZGUtTFVcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwiZW4tQ0FcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtR1RcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZnItQ0hcIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwiYXItRFpcIiA6IFwiZGQtTU0teXl5eVwiLFxyXG4vLyAgIFwiemgtTU9cIiA6IFwiZC9NL3l5eXlcIixcclxuLy8gICBcImRlLUxJXCIgOiBcImRkLk1NLnl5eXlcIixcclxuLy8gICBcImVuLU5aXCIgOiBcImQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtQ1JcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZnItTFVcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiYXItTUFcIiA6IFwiZGQtTU0teXl5eVwiLFxyXG4vLyAgIFwiZW4tSUVcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtUEFcIiA6IFwiTU0vZGQveXl5eVwiLFxyXG4vLyAgIFwiZnItTUNcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiYXItVE5cIiA6IFwiZGQtTU0teXl5eVwiLFxyXG4vLyAgIFwiZW4tWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxyXG4vLyAgIFwiZXMtRE9cIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiYXItT01cIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZW4tSk1cIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtVkVcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiYXItWUVcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZW4tMDI5XCIgOiBcIk1NL2RkL3l5eXlcIixcclxuLy8gICBcImVzLUNPXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImFyLVNZXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImVuLUJaXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImVzLVBFXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImFyLUpPXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImVuLVRUXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImVzLUFSXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImFyLUxCXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImVuLVpXXCIgOiBcIk0vZC95eXl5XCIsXHJcbi8vICAgXCJlcy1FQ1wiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJhci1LV1wiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJlbi1QSFwiIDogXCJNL2QveXl5eVwiLFxyXG4vLyAgIFwiZXMtQ0xcIiA6IFwiZGQtTU0teXl5eVwiLFxyXG4vLyAgIFwiYXItQUVcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtVVlcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiYXItQkhcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtUFlcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiYXItUUFcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtQk9cIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtU1ZcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtSE5cIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtTklcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZXMtUFJcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiYW0tRVRcIiA6IFwiZC9NL3l5eXlcIixcclxuLy8gICBcInR6bS1MYXRuLURaXCIgOiBcImRkLU1NLXl5eXlcIixcclxuLy8gICBcIml1LUxhdG4tQ0FcIiA6IFwiZC9NTS95eXl5XCIsXHJcbi8vICAgXCJzbWEtTk9cIiA6IFwiZGQuTU0ueXl5eVwiLFxyXG4vLyAgIFwibW4tTW9uZy1DTlwiIDogXCJ5eXl5L00vZFwiLFxyXG4vLyAgIFwiZ2QtR0JcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwiZW4tTVlcIiA6IFwiZC9NL3l5eXlcIixcclxuLy8gICBcInBycy1BRlwiIDogXCJkZC9NTS95eVwiLFxyXG4vLyAgIFwiYm4tQkRcIiA6IFwiZGQtTU0teXlcIixcclxuLy8gICBcIndvLVNOXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcInJ3LVJXXCIgOiBcIk0vZC95eXl5XCIsXHJcbi8vICAgXCJxdXQtR1RcIiA6IFwiZGQvTU0veXl5eVwiLFxyXG4vLyAgIFwic2FoLVJVXCIgOiBcIk1NLmRkLnl5eXlcIixcclxuLy8gICBcImdzdy1GUlwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJjby1GUlwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJvYy1GUlwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJtaS1OWlwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJnYS1JRVwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJzZS1TRVwiIDogXCJ5eXl5LU1NLWRkXCIsXHJcbi8vICAgXCJici1GUlwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJzbW4tRklcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcIm1vaC1DQVwiIDogXCJNL2QveXl5eVwiLFxyXG4vLyAgIFwiYXJuLUNMXCIgOiBcImRkLU1NLXl5eXlcIixcclxuLy8gICBcImlpLUNOXCIgOiBcInl5eXkvTS9kXCIsXHJcbi8vICAgXCJkc2ItREVcIiA6IFwiZC4gTS4geXl5eVwiLFxyXG4vLyAgIFwiaWctTkdcIiA6IFwiZC9NL3l5eXlcIixcclxuLy8gICBcImtsLUdMXCIgOiBcImRkLU1NLXl5eXlcIixcclxuLy8gICBcImxiLUxVXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImJhLVJVXCIgOiBcImRkLk1NLnl5XCIsXHJcbi8vICAgXCJuc28tWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxyXG4vLyAgIFwicXV6LUJPXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcInlvLU5HXCIgOiBcImQvTS95eXl5XCIsXHJcbi8vICAgXCJoYS1MYXRuLU5HXCIgOiBcImQvTS95eXl5XCIsXHJcbi8vICAgXCJmaWwtUEhcIiA6IFwiTS9kL3l5eXlcIixcclxuLy8gICBcInBzLUFGXCIgOiBcImRkL01NL3l5XCIsXHJcbi8vICAgXCJmeS1OTFwiIDogXCJkLU0teXl5eVwiLFxyXG4vLyAgIFwibmUtTlBcIiA6IFwiTS9kL3l5eXlcIixcclxuLy8gICBcInNlLU5PXCIgOiBcImRkLk1NLnl5eXlcIixcclxuLy8gICBcIml1LUNhbnMtQ0FcIiA6IFwiZC9NL3l5eXlcIixcclxuLy8gICBcInNyLUxhdG4tUlNcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcInNpLUxLXCIgOiBcInl5eXktTU0tZGRcIixcclxuLy8gICBcInNyLUN5cmwtUlNcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcImxvLUxBXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImttLUtIXCIgOiBcInl5eXktTU0tZGRcIixcclxuLy8gICBcImN5LUdCXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcImJvLUNOXCIgOiBcInl5eXkvTS9kXCIsXHJcbi8vICAgXCJzbXMtRklcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcImFzLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcclxuLy8gICBcIm1sLUlOXCIgOiBcImRkLU1NLXl5XCIsXHJcbi8vICAgXCJlbi1JTlwiIDogXCJkZC1NTS15eXl5XCIsXHJcbi8vICAgXCJvci1JTlwiIDogXCJkZC1NTS15eVwiLFxyXG4vLyAgIFwiYm4tSU5cIiA6IFwiZGQtTU0teXlcIixcclxuLy8gICBcInRrLVRNXCIgOiBcImRkLk1NLnl5XCIsXHJcbi8vICAgXCJicy1MYXRuLUJBXCIgOiBcImQuTS55eXl5XCIsXHJcbi8vICAgXCJtdC1NVFwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJzci1DeXJsLU1FXCIgOiBcImQuTS55eXl5XCIsXHJcbi8vICAgXCJzZS1GSVwiIDogXCJkLk0ueXl5eVwiLFxyXG4vLyAgIFwienUtWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxyXG4vLyAgIFwieGgtWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxyXG4vLyAgIFwidG4tWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxyXG4vLyAgIFwiaHNiLURFXCIgOiBcImQuIE0uIHl5eXlcIixcclxuLy8gICBcImJzLUN5cmwtQkFcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcInRnLUN5cmwtVEpcIiA6IFwiZGQuTU0ueXlcIixcclxuLy8gICBcInNyLUxhdG4tQkFcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcInNtai1OT1wiIDogXCJkZC5NTS55eXl5XCIsXHJcbi8vICAgXCJybS1DSFwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJzbWotU0VcIiA6IFwieXl5eS1NTS1kZFwiLFxyXG4vLyAgIFwicXV6LUVDXCIgOiBcImRkL01NL3l5eXlcIixcclxuLy8gICBcInF1ei1QRVwiIDogXCJkZC9NTS95eXl5XCIsXHJcbi8vICAgXCJoci1CQVwiIDogXCJkLk0ueXl5eS5cIixcclxuLy8gICBcInNyLUxhdG4tTUVcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcInNtYS1TRVwiIDogXCJ5eXl5LU1NLWRkXCIsXHJcbi8vICAgXCJlbi1TR1wiIDogXCJkL00veXl5eVwiLFxyXG4vLyAgIFwidWctQ05cIiA6IFwieXl5eS1NLWRcIixcclxuLy8gICBcInNyLUN5cmwtQkFcIiA6IFwiZC5NLnl5eXlcIixcclxuLy8gICBcImVzLVVTXCIgOiBcIk0vZC95eXl5XCJcclxuLy8gfTtcclxuLy9cclxuLy8gT2JqZWN0LmtleXMoZm9ybWF0cykuZm9yRWFjaChsYW5nID0+IHtjb25zdCBwZXJpb2QgPSBnZXREYXlQZXJpb2RzKGxhbmcpOyBpZiAocGVyaW9kLmFtID09PSAnQU0nKSByZXR1cm47IGNvbnNvbGUubG9nKGxhbmcsIHBlcmlvZCApfSlcclxuIl19
|
|
@@ -152,8 +152,8 @@ export class ToastComponent {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
-
ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
156
|
-
ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.
|
|
155
|
+
ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ToasterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
156
|
+
ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ToastComponent, selector: "c-toast", inputs: { autohide: "autohide", color: "color", delay: "delay", fade: "fade", visible: "visible", index: "index" }, outputs: { visibleChange: "visibleChange", timer: "timer" }, host: { listeners: { "@fadeInOut.start": "onAnimationStart($event)", "@fadeInOut.done": "onAnimationDone($event)", "mouseover": "onMouseOver()", "mouseout": "onMouseOut()" }, properties: { "@.disabled": "this.animationDisabled", "@fadeInOut": "this.animateType", "class": "this.hostClasses" } }, exportAs: ["cToast"], ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{display:block;overflow:hidden}\n"], animations: [
|
|
157
157
|
trigger('fadeInOut', [
|
|
158
158
|
state('show', style({ opacity: 1, height: '*', padding: '*', border: '*', margin: '*' })),
|
|
159
159
|
state('hide', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })),
|
|
@@ -174,7 +174,7 @@ ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version
|
|
|
174
174
|
}),
|
|
175
175
|
]),
|
|
176
176
|
] });
|
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastComponent, decorators: [{
|
|
178
178
|
type: Component,
|
|
179
179
|
args: [{ selector: 'c-toast', exportAs: 'cToast', animations: [
|
|
180
180
|
trigger('fadeInOut', [
|
|
@@ -7,9 +7,9 @@ export class ToastBodyComponent {
|
|
|
7
7
|
this.toastBodyClass = true;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
ToastBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
11
|
-
ToastBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
10
|
+
ToastBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastBodyComponent, deps: [{ token: i1.ToastComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
ToastBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ToastBodyComponent, selector: "c-toast-body", host: { properties: { "class.toast-body": "this.toastBodyClass" } }, exportAs: ["cToastBody"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastBodyComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'c-toast-body', template: '<ng-content></ng-content>', exportAs: 'cToastBody', styles: [":host{display:block}\n"] }]
|
|
15
15
|
}], ctorParameters: function () { return [{ type: i1.ToastComponent, decorators: [{
|
|
@@ -10,9 +10,9 @@ export class ToastCloseDirective {
|
|
|
10
10
|
this.toasterService.setState({ show: false, toast: this.toast });
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
ToastCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
14
|
-
ToastCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
13
|
+
ToastCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastCloseDirective, deps: [{ token: i1.ToasterService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
ToastCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: ToastCloseDirective, selector: "[cToastClose]", inputs: { toast: ["cToastClose", "toast"] }, host: { listeners: { "click": "toggleOpen($event)" } }, exportAs: ["cToastClose"], ngImport: i0 });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastCloseDirective, decorators: [{
|
|
16
16
|
type: Directive,
|
|
17
17
|
args: [{
|
|
18
18
|
selector: '[cToastClose]',
|
|
@@ -15,9 +15,9 @@ export class ToastHeaderComponent {
|
|
|
15
15
|
this.toastHeaderClass = true;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
ToastHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
19
|
-
ToastHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
18
|
+
ToastHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastHeaderComponent, deps: [{ token: i1.ToastComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
ToastHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ToastHeaderComponent, selector: "c-toast-header", inputs: { closeButton: "closeButton" }, host: { properties: { "class.toast-header": "this.toastHeaderClass" } }, exportAs: ["cToastHeader"], ngImport: i0, template: "<ng-container>\r\n <ng-content></ng-content>\r\n <button *ngIf=\"closeButton\" [cToastClose]=\"toast\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ButtonCloseDirective, selector: "[cButtonClose]", inputs: ["white"] }, { kind: "directive", type: i4.ToastCloseDirective, selector: "[cToastClose]", inputs: ["cToastClose"], exportAs: ["cToastClose"] }] });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastHeaderComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ selector: 'c-toast-header', exportAs: 'cToastHeader', template: "<ng-container>\r\n <ng-content></ng-content>\r\n <button *ngIf=\"closeButton\" [cToastClose]=\"toast\" [style]=\"{outline: 0}\" aria-label=\"close\" cButtonClose class=\"ms-auto\"></button>\r\n</ng-container>\r\n" }]
|
|
23
23
|
}], ctorParameters: function () { return [{ type: i1.ToastComponent, decorators: [{
|
|
@@ -11,8 +11,8 @@ import { ToastCloseDirective } from './toast-close.directive';
|
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export class ToastModule {
|
|
13
13
|
}
|
|
14
|
-
ToastModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
15
|
-
ToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.
|
|
14
|
+
ToastModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
ToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: ToastModule, declarations: [ToastComponent,
|
|
16
16
|
ToastHeaderComponent,
|
|
17
17
|
ToastBodyComponent,
|
|
18
18
|
ToasterComponent,
|
|
@@ -23,8 +23,8 @@ ToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
|
|
|
23
23
|
ToasterComponent,
|
|
24
24
|
ToasterHostDirective,
|
|
25
25
|
ToastCloseDirective] });
|
|
26
|
-
ToastModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
26
|
+
ToastModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastModule, providers: [ToasterService], imports: [CommonModule, ButtonModule] });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToastModule, decorators: [{
|
|
28
28
|
type: NgModule,
|
|
29
29
|
args: [{
|
|
30
30
|
declarations: [
|
|
@@ -5,9 +5,9 @@ export class ToasterHostDirective {
|
|
|
5
5
|
this.viewContainerRef = viewContainerRef;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
ToasterHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
9
|
-
ToasterHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
8
|
+
ToasterHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToasterHostDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
ToasterHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: ToasterHostDirective, selector: "[cToasterHost]", exportAs: ["cToasterHost"], ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToasterHostDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[cToasterHost]',
|
|
@@ -118,9 +118,9 @@ export class ToasterComponent {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
ToasterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
122
|
-
ToasterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
121
|
+
ToasterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToasterComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ToasterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
+
ToasterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ToasterComponent, selector: "c-toaster", inputs: { placement: "placement", position: "position" }, host: { properties: { "class": "this.hostClasses" } }, queries: [{ propertyName: "contentToasts", predicate: ToastComponent, read: ViewContainerRef }], viewQueries: [{ propertyName: "toasterHost", first: true, predicate: ToasterHostDirective, descendants: true, static: true }], exportAs: ["cToaster"], ngImport: i0, template: "<ng-template cToasterHost></ng-template>\r\n<ng-content cToasterHost></ng-content>\r\n", dependencies: [{ kind: "directive", type: i2.ToasterHostDirective, selector: "[cToasterHost]", exportAs: ["cToasterHost"] }] });
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToasterComponent, decorators: [{
|
|
124
124
|
type: Component,
|
|
125
125
|
args: [{ selector: 'c-toaster', exportAs: 'cToaster', template: "<ng-template cToasterHost></ng-template>\r\n<ng-content cToasterHost></ng-content>\r\n" }]
|
|
126
126
|
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.ToasterService }]; }, propDecorators: { placement: [{
|
|
@@ -10,9 +10,9 @@ export class ToasterService {
|
|
|
10
10
|
this.toasterState.next({ ...state });
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
ToasterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
14
|
-
ToasterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
13
|
+
ToasterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToasterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
ToasterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToasterService, providedIn: 'root' });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToasterService, decorators: [{
|
|
16
16
|
type: Injectable,
|
|
17
17
|
args: [{
|
|
18
18
|
providedIn: 'root'
|
|
@@ -59,9 +59,9 @@ export class TooltipComponent {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
63
|
-
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
62
|
+
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
+
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: TooltipComponent, selector: "c-tooltip", inputs: { content: "content", visible: "visible", id: "id", role: "role" }, host: { properties: { "attr.id": "this.id", "attr.role": "this.role", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["tooltipTemplate"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"tooltip-arrow\" data-popper-arrow></div>\r\n<div class=\"tooltip-inner\">\r\n <ng-container #tooltipTemplate></ng-container>\r\n</div>\r\n" });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
65
65
|
type: Component,
|
|
66
66
|
args: [{ selector: 'c-tooltip', template: "<div class=\"tooltip-arrow\" data-popper-arrow></div>\r\n<div class=\"tooltip-inner\">\r\n <ng-container #tooltipTemplate></ng-container>\r\n</div>\r\n" }]
|
|
67
67
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { content: [{
|
|
@@ -151,9 +151,9 @@ export class TooltipDirective {
|
|
|
151
151
|
}, 300);
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
|
-
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
155
|
-
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
154
|
+
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TooltipDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i1.ListenersService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
155
|
+
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: TooltipDirective, selector: "[cTooltip]", inputs: { content: ["cTooltip", "content"], popperOptions: ["cTooltipOptions", "popperOptions"], placement: ["cTooltipPlacement", "placement"], trigger: ["cTooltipTrigger", "trigger"], visible: ["cTooltipVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, providers: [ListenersService], exportAs: ["cTooltip"], usesOnChanges: true, ngImport: i0 });
|
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
157
157
|
type: Directive,
|
|
158
158
|
args: [{
|
|
159
159
|
selector: '[cTooltip]',
|
|
@@ -5,12 +5,12 @@ import { TooltipDirective } from './tooltip.directive';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class TooltipModule {
|
|
7
7
|
}
|
|
8
|
-
TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
9
|
-
TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.
|
|
8
|
+
TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: TooltipModule, declarations: [TooltipComponent,
|
|
10
10
|
TooltipDirective], imports: [CommonModule], exports: [TooltipComponent,
|
|
11
11
|
TooltipDirective] });
|
|
12
|
-
TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
12
|
+
TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TooltipModule, imports: [CommonModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TooltipModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
declarations: [
|
|
@@ -7,9 +7,9 @@ export class AlignDirective {
|
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
AlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
11
|
-
AlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
10
|
+
AlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AlignDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11
|
+
AlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AlignDirective, selector: "[cAlign]", inputs: { align: ["cAlign", "align"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AlignDirective, decorators: [{
|
|
13
13
|
type: Directive,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: '[cAlign]'
|
|
@@ -14,9 +14,9 @@ export class BgColorDirective {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
BgColorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
18
|
-
BgColorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
17
|
+
BgColorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BgColorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
+
BgColorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BgColorDirective, selector: "[cBgColor]", inputs: { color: ["cBgColor", "color"], gradient: "gradient" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BgColorDirective, decorators: [{
|
|
20
20
|
type: Directive,
|
|
21
21
|
args: [{
|
|
22
22
|
selector: '[cBgColor]'
|
|
@@ -49,9 +49,9 @@ export class BorderDirective {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
BorderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
53
|
-
BorderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
52
|
+
BorderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BorderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
BorderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BorderDirective, selector: "[cBorder]", inputs: { border: ["cBorder", "border"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BorderDirective, decorators: [{
|
|
55
55
|
type: Directive,
|
|
56
56
|
args: [{
|
|
57
57
|
selector: '[cBorder]'
|
|
@@ -48,9 +48,9 @@ export class RoundedDirective {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
RoundedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
52
|
-
RoundedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
51
|
+
RoundedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: RoundedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
+
RoundedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: RoundedDirective, selector: "[cRounded]", inputs: { rounded: ["cRounded", "rounded"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: RoundedDirective, decorators: [{
|
|
54
54
|
type: Directive,
|
|
55
55
|
args: [{
|
|
56
56
|
selector: '[cRounded]'
|
|
@@ -15,9 +15,9 @@ export class TextColorDirective {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
TextColorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
19
|
-
TextColorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
18
|
+
TextColorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TextColorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
TextColorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: TextColorDirective, selector: "[cTextColor]", inputs: { color: ["cTextColor", "color"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: TextColorDirective, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{
|
|
23
23
|
selector: '[cTextColor]'
|
|
@@ -8,8 +8,8 @@ import { AlignDirective } from './align.directive';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class UtilitiesModule {
|
|
10
10
|
}
|
|
11
|
-
UtilitiesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
12
|
-
UtilitiesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.
|
|
11
|
+
UtilitiesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: UtilitiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
UtilitiesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: UtilitiesModule, declarations: [BgColorDirective,
|
|
13
13
|
BorderDirective,
|
|
14
14
|
RoundedDirective,
|
|
15
15
|
TextColorDirective,
|
|
@@ -18,8 +18,8 @@ UtilitiesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
18
18
|
RoundedDirective,
|
|
19
19
|
TextColorDirective,
|
|
20
20
|
AlignDirective] });
|
|
21
|
-
UtilitiesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
21
|
+
UtilitiesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: UtilitiesModule, imports: [CommonModule] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: UtilitiesModule, decorators: [{
|
|
23
23
|
type: NgModule,
|
|
24
24
|
args: [{
|
|
25
25
|
declarations: [
|
|
@@ -28,9 +28,9 @@ export class WidgetStatAComponent {
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
WidgetStatAComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.
|
|
32
|
-
WidgetStatAComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.
|
|
31
|
+
WidgetStatAComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: WidgetStatAComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
WidgetStatAComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: WidgetStatAComponent, selector: "c-widget-stat-a", inputs: { color: "color", title: "title", value: "value" }, host: { properties: { "class": "this.hostClasses" } }, queries: [{ propertyName: "contentTemplates", predicate: TemplateIdDirective, descendants: true }], exportAs: ["cWidgetStatA"], ngImport: i0, template: "<ng-container>\r\n <c-card-body [ngClass]=\"bodyClasses\">\r\n <div>\r\n <div *ngIf=\"!!value || templates?.widgetValueTemplate\" class=\"fs-4 fw-semibold\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetValueTemplate || defaultWidgetValueTemplate\"></ng-container>\r\n </div>\r\n <div *ngIf=\"!!title || templates?.widgetTitleTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetTitleTemplate || defaultWidgetTitleTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetActionTemplate || defaultWidgetActionTemplate\"></ng-container>\r\n </c-card-body>\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetChartTemplate || defaultWidgetChartTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #defaultWidgetTitleTemplate>\r\n {{title}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetValueTemplate>\r\n {{value}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetChartTemplate>\r\n <ng-content select=\".chart-wrapper\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetActionTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CardBodyComponent, selector: "c-card-body, [c-card-body]" }] });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: WidgetStatAComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ selector: 'c-widget-stat-a', exportAs: 'cWidgetStatA', template: "<ng-container>\r\n <c-card-body [ngClass]=\"bodyClasses\">\r\n <div>\r\n <div *ngIf=\"!!value || templates?.widgetValueTemplate\" class=\"fs-4 fw-semibold\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetValueTemplate || defaultWidgetValueTemplate\"></ng-container>\r\n </div>\r\n <div *ngIf=\"!!title || templates?.widgetTitleTemplate\">\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetTitleTemplate || defaultWidgetTitleTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetActionTemplate || defaultWidgetActionTemplate\"></ng-container>\r\n </c-card-body>\r\n <ng-container *ngTemplateOutlet=\"templates?.widgetChartTemplate || defaultWidgetChartTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #defaultWidgetTitleTemplate>\r\n {{title}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetValueTemplate>\r\n {{value}}\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetChartTemplate>\r\n <ng-content select=\".chart-wrapper\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #defaultWidgetActionTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n" }]
|
|
36
36
|
}], propDecorators: { color: [{
|