ngx-tethys 17.0.0 → 17.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -7
- package/action/action.component.d.ts +3 -0
- package/affix/affix.component.d.ts +2 -0
- package/alert/alert.component.d.ts +1 -0
- package/anchor/anchor.component.d.ts +3 -0
- package/arrow-switcher/arrow-switcher.component.d.ts +1 -0
- package/autocomplete/autocomplete.component.d.ts +2 -3
- package/autocomplete/autocomplete.trigger.directive.d.ts +3 -0
- package/avatar/avatar.component.d.ts +4 -0
- package/back-top/back-top.component.d.ts +1 -0
- package/badge/badge.component.d.ts +5 -0
- package/button/button-icon.component.d.ts +2 -0
- package/button/button.component.d.ts +2 -0
- package/card/card.component.d.ts +3 -0
- package/card/content.component.d.ts +2 -1
- package/carousel/carousel.component.d.ts +5 -0
- package/cascader/cascader-li.component.d.ts +9 -2
- package/cascader/cascader-search-option.component.d.ts +7 -2
- package/cascader/cascader.component.d.ts +23 -2
- package/cascader/styles/cascader.scss +1 -0
- package/cascader/types.d.ts +1 -0
- package/checkbox/checkbox.component.d.ts +1 -0
- package/collapse/collapse-item.component.d.ts +2 -0
- package/collapse/collapse.component.d.ts +1 -0
- package/color-picker/color-picker-panel.component.d.ts +1 -0
- package/color-picker/color-picker.component.d.ts +7 -1
- package/copy/copy.directive.d.ts +1 -0
- package/core/behaviors/decorators.d.ts +6 -0
- package/date-picker/abstract-picker.component.d.ts +8 -1
- package/date-picker/abstract-picker.directive.d.ts +4 -0
- package/date-picker/base-picker.component.d.ts +2 -0
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -0
- package/date-picker/lib/popups/inner-popup.component.d.ts +1 -0
- package/date-picker/picker.component.d.ts +1 -0
- package/date-range/date-range.component.d.ts +2 -0
- package/dialog/body/dialog-body.component.d.ts +2 -1
- package/dialog/footer/dialog-footer.component.d.ts +1 -0
- package/dialog/header/dialog-header.component.d.ts +1 -0
- package/divider/divider.component.d.ts +2 -0
- package/drag-drop/drag-handle.directive.d.ts +1 -0
- package/drag-drop/drag.directive.d.ts +1 -0
- package/drag-drop/drop-container.directive.d.ts +1 -0
- package/dropdown/dropdown-menu-item.directive.d.ts +3 -1
- package/dropdown/dropdown-menu.component.d.ts +1 -0
- package/dropdown/dropdown.directive.d.ts +3 -0
- package/empty/empty.component.d.ts +1 -0
- package/esm2022/action/action.component.mjs +9 -22
- package/esm2022/affix/affix.component.mjs +8 -15
- package/esm2022/alert/alert.component.mjs +5 -10
- package/esm2022/anchor/anchor.component.mjs +10 -20
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +5 -11
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -23
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +9 -20
- package/esm2022/avatar/avatar.component.mjs +14 -30
- package/esm2022/back-top/back-top.component.mjs +6 -10
- package/esm2022/badge/badge.component.mjs +15 -37
- package/esm2022/button/button-icon.component.mjs +9 -20
- package/esm2022/button/button.component.mjs +7 -16
- package/esm2022/card/card.component.mjs +6 -20
- package/esm2022/card/content.component.mjs +5 -6
- package/esm2022/carousel/carousel.component.mjs +13 -30
- package/esm2022/cascader/cascader-li.component.mjs +16 -31
- package/esm2022/cascader/cascader-search-option.component.mjs +12 -21
- package/esm2022/cascader/cascader.component.mjs +32 -52
- package/esm2022/cascader/types.mjs +1 -1
- package/esm2022/checkbox/checkbox.component.mjs +7 -13
- package/esm2022/collapse/collapse-item.component.mjs +8 -15
- package/esm2022/collapse/collapse.component.mjs +5 -10
- package/esm2022/color-picker/color-picker-panel.component.mjs +5 -10
- package/esm2022/color-picker/color-picker.component.mjs +17 -37
- package/esm2022/copy/copy.directive.mjs +5 -10
- package/esm2022/core/behaviors/decorators.mjs +7 -44
- package/esm2022/date-picker/abstract-picker.component.mjs +21 -45
- package/esm2022/date-picker/abstract-picker.directive.mjs +11 -27
- package/esm2022/date-picker/base-picker.component.mjs +8 -15
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -10
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +4 -2
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +7 -6
- package/esm2022/date-picker/picker.component.mjs +6 -10
- package/esm2022/date-range/date-range.component.mjs +7 -15
- package/esm2022/dialog/body/dialog-body.component.mjs +6 -6
- package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -13
- package/esm2022/dialog/header/dialog-header.component.mjs +6 -10
- package/esm2022/divider/divider.component.mjs +7 -15
- package/esm2022/drag-drop/drag-handle.directive.mjs +5 -13
- package/esm2022/drag-drop/drag.directive.mjs +5 -11
- package/esm2022/drag-drop/drop-container.directive.mjs +5 -10
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +9 -19
- package/esm2022/dropdown/dropdown-menu.component.mjs +6 -9
- package/esm2022/dropdown/dropdown.directive.mjs +8 -22
- package/esm2022/empty/empty.component.mjs +7 -13
- package/esm2022/flexible-text/flexible-text.component.mjs +4 -11
- package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -10
- package/esm2022/form/form-group-label.directive.mjs +6 -6
- package/esm2022/form/form-group.component.mjs +13 -17
- package/esm2022/icon/icon.component.mjs +6 -20
- package/esm2022/image/image.directive.mjs +7 -15
- package/esm2022/input/input-search.component.mjs +6 -11
- package/esm2022/input/input.component.mjs +7 -15
- package/esm2022/input-number/input-number.component.mjs +12 -25
- package/esm2022/layout/header.component.mjs +9 -19
- package/esm2022/layout/sidebar-header.component.mjs +5 -10
- package/esm2022/layout/sidebar.component.mjs +22 -45
- package/esm2022/list/list.component.mjs +5 -11
- package/esm2022/list/selection/selection-list.mjs +13 -10
- package/esm2022/loading/loading.component.mjs +9 -20
- package/esm2022/menu/group/menu-group.component.mjs +12 -38
- package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -10
- package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -10
- package/esm2022/menu/menu.component.mjs +5 -10
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +6 -6
- package/esm2022/nav/nav-ink-bar.directive.mjs +7 -15
- package/esm2022/nav/nav-item.directive.mjs +10 -20
- package/esm2022/nav/nav.component.mjs +12 -25
- package/esm2022/pagination/pagination.component.mjs +18 -68
- package/esm2022/popover/popover.directive.mjs +12 -33
- package/esm2022/progress/progress-circle.component.mjs +9 -20
- package/esm2022/progress/progress-strip.component.mjs +5 -11
- package/esm2022/progress/progress.component.mjs +11 -23
- package/esm2022/property/properties.component.mjs +5 -10
- package/esm2022/property/property-item.component.mjs +8 -15
- package/esm2022/property-operation/property-operation.component.mjs +16 -37
- package/esm2022/radio/group/radio-group.component.mjs +6 -21
- package/esm2022/rate/rate-item.component.mjs +5 -10
- package/esm2022/rate/rate.component.mjs +16 -25
- package/esm2022/resizable/resizable.directive.mjs +24 -62
- package/esm2022/resizable/resize-handle.component.mjs +6 -10
- package/esm2022/resizable/resize-handles.component.mjs +5 -10
- package/esm2022/segment/segment-item.component.mjs +5 -10
- package/esm2022/segment/segment.component.mjs +7 -16
- package/esm2022/select/custom-select/custom-select.component.mjs +30 -65
- package/esm2022/select/native-select/native-select.component.mjs +6 -10
- package/esm2022/shared/base-form-check.component.mjs +10 -20
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -15
- package/esm2022/shared/directives/thy-scroll.directive.mjs +6 -13
- package/esm2022/shared/directives/thy-show.mjs +5 -11
- package/esm2022/shared/option/group/option-group.component.mjs +5 -10
- package/esm2022/shared/option/list-option/list-option.component.mjs +6 -13
- package/esm2022/shared/option/option.component.mjs +5 -11
- package/esm2022/shared/select/select-control/select-control.component.mjs +17 -44
- package/esm2022/skeleton/skeleton-circle.component.mjs +6 -9
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +6 -9
- package/esm2022/skeleton/skeleton.component.mjs +5 -10
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +6 -9
- package/esm2022/skeleton/stylized/list.component.mjs +6 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +6 -9
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +6 -6
- package/esm2022/slider/slider.component.mjs +18 -35
- package/esm2022/space/space.component.mjs +6 -10
- package/esm2022/stepper/step-header.component.mjs +9 -20
- package/esm2022/stepper/stepper.component.mjs +7 -16
- package/esm2022/switch/switch.component.mjs +12 -17
- package/esm2022/table/table-column.component.mjs +9 -31
- package/esm2022/table/table-skeleton.component.mjs +8 -14
- package/esm2022/table/table.component.mjs +32 -83
- package/esm2022/tabs/tab.component.mjs +5 -10
- package/esm2022/tabs/tabs.component.mjs +8 -15
- package/esm2022/tag/tag.component.mjs +6 -10
- package/esm2022/time-picker/time-picker-panel.component.mjs +8 -15
- package/esm2022/time-picker/time-picker.component.mjs +20 -46
- package/esm2022/timeline/timeline.component.mjs +5 -10
- package/esm2022/tooltip/tooltip.directive.mjs +11 -34
- package/esm2022/tree/tree-node.component.mjs +17 -40
- package/esm2022/tree/tree.component.mjs +19 -47
- package/esm2022/tree-select/tree-select.component.mjs +18 -40
- package/esm2022/upload/file-select-base.mjs +7 -6
- package/esm2022/upload/file-select.component.mjs +11 -26
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +11 -33
- package/esm2022/watermark/watermark.directive.mjs +6 -10
- package/fesm2022/ngx-tethys-action.mjs +9 -21
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +6 -14
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +4 -9
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +8 -19
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -10
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +14 -39
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +14 -29
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +5 -9
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +14 -36
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +13 -30
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +8 -23
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +12 -29
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +55 -95
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +5 -12
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +10 -20
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +19 -42
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +4 -9
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +6 -43
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +48 -94
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +6 -14
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +13 -21
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +6 -14
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +10 -25
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +19 -42
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +5 -12
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +3 -10
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +19 -25
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +5 -19
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +7 -14
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +11 -24
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +10 -21
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +31 -64
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +16 -18
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +8 -19
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +20 -55
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +28 -55
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +17 -67
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +11 -32
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +20 -45
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +14 -36
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +10 -21
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +5 -19
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +18 -30
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +29 -73
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +10 -21
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +32 -70
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +49 -105
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +20 -38
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +6 -5
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +17 -34
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +5 -9
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +13 -31
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +11 -16
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +43 -120
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +10 -20
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +5 -9
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +24 -55
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +4 -9
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +10 -33
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +17 -39
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +33 -82
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +15 -28
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +10 -32
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +5 -9
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/flexible-text.component.d.ts +1 -0
- package/form/form-group-error/form-group-error.component.d.ts +1 -0
- package/form/form-group-label.directive.d.ts +2 -1
- package/form/form-group.component.d.ts +5 -2
- package/icon/icon.component.d.ts +3 -0
- package/image/image.directive.d.ts +2 -0
- package/input/input-search.component.d.ts +1 -0
- package/input/input.component.d.ts +2 -0
- package/input-number/input-number.component.d.ts +4 -0
- package/layout/header.component.d.ts +5 -2
- package/layout/sidebar-header.component.d.ts +1 -0
- package/layout/sidebar.component.d.ts +14 -4
- package/list/list.component.d.ts +1 -0
- package/list/selection/selection-list.d.ts +4 -1
- package/loading/loading.component.d.ts +4 -2
- package/menu/group/menu-group.component.d.ts +6 -0
- package/menu/item/action/menu-item-action.component.d.ts +1 -0
- package/menu/item/name/menu-item-name.component.d.ts +1 -0
- package/menu/menu.component.d.ts +1 -0
- package/nav/icon-nav/icon-nav-link.directive.d.ts +2 -1
- package/nav/nav-ink-bar.directive.d.ts +2 -0
- package/nav/nav-item.directive.d.ts +3 -0
- package/nav/nav.component.d.ts +4 -0
- package/package.json +7 -7
- package/pagination/pagination.component.d.ts +11 -0
- package/popover/popover.directive.d.ts +5 -0
- package/progress/progress-circle.component.d.ts +3 -0
- package/progress/progress-strip.component.d.ts +1 -0
- package/progress/progress.component.d.ts +3 -0
- package/property/properties.component.d.ts +1 -0
- package/property/property-item.component.d.ts +2 -0
- package/property-operation/property-operation.component.d.ts +5 -0
- package/radio/group/radio-group.component.d.ts +2 -2
- package/rate/rate-item.component.d.ts +1 -0
- package/rate/rate.component.d.ts +5 -1
- package/resizable/resizable.directive.d.ts +10 -1
- package/resizable/resize-handle.component.d.ts +1 -0
- package/resizable/resize-handles.component.d.ts +1 -0
- package/resizable/styles/resizable.scss +1 -0
- package/schematics/dependencies.js +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +1 -0
- package/segment/segment.component.d.ts +2 -0
- package/select/custom-select/custom-select.component.d.ts +12 -1
- package/select/native-select/native-select.component.d.ts +1 -0
- package/shared/base-form-check.component.d.ts +2 -0
- package/shared/directives/thy-autofocus.directive.d.ts +3 -1
- package/shared/directives/thy-scroll.directive.d.ts +1 -0
- package/shared/directives/thy-show.d.ts +1 -0
- package/shared/option/group/option-group.component.d.ts +1 -0
- package/shared/option/list-option/list-option.component.d.ts +1 -0
- package/shared/option/option.component.d.ts +1 -0
- package/shared/option/styles/select-dropdown.scss +1 -0
- package/shared/select/select-control/select-control.component.d.ts +7 -0
- package/skeleton/skeleton-circle.component.d.ts +1 -0
- package/skeleton/skeleton-rectangle.component.d.ts +1 -0
- package/skeleton/skeleton.component.d.ts +1 -0
- package/skeleton/stylized/bullet-list.component.d.ts +1 -0
- package/skeleton/stylized/list.component.d.ts +1 -0
- package/skeleton/stylized/paragraph.component.d.ts +1 -0
- package/slide/slide-body/slide-body-section.component.d.ts +2 -1
- package/slider/slider.component.d.ts +6 -1
- package/space/space.component.d.ts +1 -0
- package/stepper/step-header.component.d.ts +3 -0
- package/stepper/stepper.component.d.ts +2 -0
- package/switch/switch.component.d.ts +3 -1
- package/table/table-column.component.d.ts +7 -2
- package/table/table-skeleton.component.d.ts +2 -0
- package/table/table.component.d.ts +14 -0
- package/tabs/tab.component.d.ts +1 -0
- package/tabs/tabs.component.d.ts +2 -0
- package/tag/tag.component.d.ts +1 -0
- package/time-picker/time-picker-panel.component.d.ts +2 -0
- package/time-picker/time-picker.component.d.ts +6 -2
- package/timeline/timeline.component.d.ts +1 -0
- package/tooltip/tooltip.directive.d.ts +5 -0
- package/tree/tree-node.component.d.ts +7 -0
- package/tree/tree.component.d.ts +8 -0
- package/tree-select/tree-select.component.d.ts +7 -0
- package/upload/file-select-base.d.ts +1 -0
- package/upload/file-select.component.d.ts +3 -0
- package/vote/vote.component.d.ts +4 -2
- package/watermark/watermark.directive.d.ts +1 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
1
|
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
3
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
4
3
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
5
4
|
import { isValid } from 'date-fns';
|
|
6
|
-
import { getFlexiblePositions
|
|
7
|
-
import { TinyDate
|
|
5
|
+
import { getFlexiblePositions } from 'ngx-tethys/core';
|
|
6
|
+
import { TinyDate } from 'ngx-tethys/util';
|
|
8
7
|
import { ThyTimePanel } from './time-picker-panel.component';
|
|
9
8
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
10
9
|
import { NgTemplateOutlet, NgIf, NgClass } from '@angular/common';
|
|
@@ -34,19 +33,11 @@ export class ThyTimePicker {
|
|
|
34
33
|
* @default false
|
|
35
34
|
*/
|
|
36
35
|
set thyDisabled(value) {
|
|
37
|
-
this.disabled =
|
|
36
|
+
this.disabled = value;
|
|
38
37
|
}
|
|
39
38
|
get thyDisabled() {
|
|
40
39
|
return this.disabled;
|
|
41
40
|
}
|
|
42
|
-
/**
|
|
43
|
-
* 只读
|
|
44
|
-
* @type boolean
|
|
45
|
-
* @default false
|
|
46
|
-
*/
|
|
47
|
-
set thyReadonly(value) {
|
|
48
|
-
this.readonly = value;
|
|
49
|
-
}
|
|
50
41
|
constructor(cdr, elementRef) {
|
|
51
42
|
this.cdr = cdr;
|
|
52
43
|
this.elementRef = elementRef;
|
|
@@ -299,39 +290,17 @@ export class ThyTimePicker {
|
|
|
299
290
|
return valid;
|
|
300
291
|
}
|
|
301
292
|
disabledUserOperation() {
|
|
302
|
-
return this.disabled || this.
|
|
293
|
+
return this.disabled || this.thyReadonly;
|
|
303
294
|
}
|
|
304
295
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTimePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
305
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
296
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyTimePicker, isStandalone: true, selector: "thy-time-picker", inputs: { thySize: "thySize", thyPlaceholder: "thyPlaceholder", thyPlacement: "thyPlacement", thyFormat: "thyFormat", thyHourStep: "thyHourStep", thyMinuteStep: "thyMinuteStep", thySecondStep: "thySecondStep", thyPopupClass: "thyPopupClass", thyBackdrop: ["thyBackdrop", "thyBackdrop", booleanAttribute], thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute], thyReadonly: ["thyReadonly", "thyReadonly", booleanAttribute], thyShowSelectNow: ["thyShowSelectNow", "thyShowSelectNow", booleanAttribute], thyAllowClear: ["thyAllowClear", "thyAllowClear", booleanAttribute] }, outputs: { thyOpenChange: "thyOpenChange" }, host: { properties: { "class.thy-time-picker-disabled": "disabled", "class.thy-time-picker-readonly": "thyReadonly" }, classAttribute: "thy-time-picker" }, providers: [
|
|
306
297
|
{
|
|
307
298
|
provide: NG_VALUE_ACCESSOR,
|
|
308
299
|
multi: true,
|
|
309
300
|
useExisting: forwardRef(() => ThyTimePicker)
|
|
310
301
|
}
|
|
311
|
-
], viewQueries: [{ propertyName: "cdkConnectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, static: true }, { propertyName: "origin", first: true, predicate: ["origin"], descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["pickerInput"], descendants: true, static: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true }], ngImport: i0, template: "<span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"onInputPickerClick()\" class=\"{{ prefixCls }}-wrapper\">\n <ng-container>\n <input\n #pickerInput\n thyInput\n class=\"form-control {{ prefixCls }}-input\"\n [class.thy-input-disabled]=\"disabled\"\n [class.thy-input-readonly]=\"
|
|
302
|
+
], viewQueries: [{ propertyName: "cdkConnectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, static: true }, { propertyName: "origin", first: true, predicate: ["origin"], descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["pickerInput"], descendants: true, static: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true }], ngImport: i0, template: "<span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"onInputPickerClick()\" class=\"{{ prefixCls }}-wrapper\">\n <ng-container>\n <input\n #pickerInput\n thyInput\n class=\"form-control {{ prefixCls }}-input\"\n [class.thy-input-disabled]=\"disabled\"\n [class.thy-input-readonly]=\"thyReadonly\"\n [class.thy-time-picker-panel-opened]=\"openState\"\n [(ngModel)]=\"showText\"\n [thySize]=\"thySize\"\n [disabled]=\"disabled\"\n [readonly]=\"thyReadonly\"\n [placeholder]=\"thyPlaceholder\"\n (blur)=\"onInputPickerBlur()\"\n (keyup.enter)=\"onKeyupEnter()\"\n (keyup.escape)=\"onKeyupEsc()\"\n (ngModelChange)=\"onCustomizeInput($event)\" />\n <ng-container *ngTemplateOutlet=\"rightIcon\"></ng-container>\n </ng-container>\n</span>\n\n<ng-template #rightIcon>\n <span class=\"{{ prefixCls }}-clear\" *ngIf=\"!disabled && thyAllowClear && !thyReadonly && showText\">\n <thy-icon thyIconName=\"close-circle-bold-fill\" (click)=\"onClearTime($event)\" ngClass=\"remove-link remove-link-{{ thySize }}\"></thy-icon>\n </span>\n <span class=\"{{ prefixCls }}-icon\">\n <thy-icon [thyIconName]=\"'clock-circle-moment'\" ngClass=\"remove-link-{{ thySize }}\"></thy-icon>\n </span>\n</ng-template>\n\n<!-- Overlay -->\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"openState\"\n [cdkConnectedOverlayHasBackdrop]=\"thyBackdrop\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayTransformOriginOn=\".thy-time-picker-container\"\n (positionChange)=\"onPositionChange($event)\"\n (backdropClick)=\"onClickBackdrop()\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n (detach)=\"onOverlayDetach()\"\n (attach)=\"onOverlayAttach()\">\n <div\n #overlayContainer\n style=\"position: relative\"\n [@scaleXMotion]=\"thyPlacement === 'left' || thyPlacement === 'right' ? 'enter' : 'void'\"\n [@scaleYMotion]=\"thyPlacement === 'top' || thyPlacement === 'bottom' ? 'enter' : 'void'\"\n [@scaleMotion]=\"\n thyPlacement !== 'left' && thyPlacement !== 'right' && thyPlacement !== 'top' && thyPlacement !== 'bottom' ? 'enter' : 'void'\n \"\n class=\"thy-time-picker-container\">\n <!-- Compatible for overlay that not support offset dynamically and immediately -->\n <thy-time-picker-panel\n [ngClass]=\"thyPopupClass\"\n [(ngModel)]=\"value\"\n [thyFormat]=\"format\"\n [thyHourStep]=\"thyHourStep\"\n [thyMinuteStep]=\"thyMinuteStep\"\n [thySecondStep]=\"thySecondStep\"\n [thyShowSelectNow]=\"thyShowSelectNow\"\n (ngModelChange)=\"onPickTimeConfirm($event)\"\n (thyPickChange)=\"onPickTime($event)\"\n (thyClosePanel)=\"closeOverlay()\"></thy-time-picker-panel>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: ThyTimePanel, selector: "thy-time-picker-panel", inputs: ["thyFormat", "thyHourStep", "thyMinuteStep", "thySecondStep", "thyShowSelectNow", "thyShowOperations"], outputs: ["thyPickChange", "thyClosePanel"] }], animations: [scaleXMotion, scaleYMotion, scaleMotion], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
312
303
|
}
|
|
313
|
-
__decorate([
|
|
314
|
-
InputBoolean(),
|
|
315
|
-
__metadata("design:type", Boolean)
|
|
316
|
-
], ThyTimePicker.prototype, "thyBackdrop", void 0);
|
|
317
|
-
__decorate([
|
|
318
|
-
InputBoolean(),
|
|
319
|
-
__metadata("design:type", Boolean),
|
|
320
|
-
__metadata("design:paramtypes", [Boolean])
|
|
321
|
-
], ThyTimePicker.prototype, "thyDisabled", null);
|
|
322
|
-
__decorate([
|
|
323
|
-
InputBoolean(),
|
|
324
|
-
__metadata("design:type", Boolean),
|
|
325
|
-
__metadata("design:paramtypes", [Boolean])
|
|
326
|
-
], ThyTimePicker.prototype, "thyReadonly", null);
|
|
327
|
-
__decorate([
|
|
328
|
-
InputBoolean(),
|
|
329
|
-
__metadata("design:type", Object)
|
|
330
|
-
], ThyTimePicker.prototype, "thyShowSelectNow", void 0);
|
|
331
|
-
__decorate([
|
|
332
|
-
InputBoolean(),
|
|
333
|
-
__metadata("design:type", Object)
|
|
334
|
-
], ThyTimePicker.prototype, "thyAllowClear", void 0);
|
|
335
304
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTimePicker, decorators: [{
|
|
336
305
|
type: Component,
|
|
337
306
|
args: [{ selector: 'thy-time-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -343,7 +312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
343
312
|
], host: {
|
|
344
313
|
class: 'thy-time-picker',
|
|
345
314
|
'[class.thy-time-picker-disabled]': `disabled`,
|
|
346
|
-
'[class.thy-time-picker-readonly]': `
|
|
315
|
+
'[class.thy-time-picker-readonly]': `thyReadonly`
|
|
347
316
|
}, standalone: true, imports: [
|
|
348
317
|
CdkOverlayOrigin,
|
|
349
318
|
ThyInputDirective,
|
|
@@ -354,7 +323,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
354
323
|
NgClass,
|
|
355
324
|
CdkConnectedOverlay,
|
|
356
325
|
ThyTimePanel
|
|
357
|
-
], animations: [scaleXMotion, scaleYMotion, scaleMotion], template: "<span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"onInputPickerClick()\" class=\"{{ prefixCls }}-wrapper\">\n <ng-container>\n <input\n #pickerInput\n thyInput\n class=\"form-control {{ prefixCls }}-input\"\n [class.thy-input-disabled]=\"disabled\"\n [class.thy-input-readonly]=\"
|
|
326
|
+
], animations: [scaleXMotion, scaleYMotion, scaleMotion], template: "<span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" (click)=\"onInputPickerClick()\" class=\"{{ prefixCls }}-wrapper\">\n <ng-container>\n <input\n #pickerInput\n thyInput\n class=\"form-control {{ prefixCls }}-input\"\n [class.thy-input-disabled]=\"disabled\"\n [class.thy-input-readonly]=\"thyReadonly\"\n [class.thy-time-picker-panel-opened]=\"openState\"\n [(ngModel)]=\"showText\"\n [thySize]=\"thySize\"\n [disabled]=\"disabled\"\n [readonly]=\"thyReadonly\"\n [placeholder]=\"thyPlaceholder\"\n (blur)=\"onInputPickerBlur()\"\n (keyup.enter)=\"onKeyupEnter()\"\n (keyup.escape)=\"onKeyupEsc()\"\n (ngModelChange)=\"onCustomizeInput($event)\" />\n <ng-container *ngTemplateOutlet=\"rightIcon\"></ng-container>\n </ng-container>\n</span>\n\n<ng-template #rightIcon>\n <span class=\"{{ prefixCls }}-clear\" *ngIf=\"!disabled && thyAllowClear && !thyReadonly && showText\">\n <thy-icon thyIconName=\"close-circle-bold-fill\" (click)=\"onClearTime($event)\" ngClass=\"remove-link remove-link-{{ thySize }}\"></thy-icon>\n </span>\n <span class=\"{{ prefixCls }}-icon\">\n <thy-icon [thyIconName]=\"'clock-circle-moment'\" ngClass=\"remove-link-{{ thySize }}\"></thy-icon>\n </span>\n</ng-template>\n\n<!-- Overlay -->\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"openState\"\n [cdkConnectedOverlayHasBackdrop]=\"thyBackdrop\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayTransformOriginOn=\".thy-time-picker-container\"\n (positionChange)=\"onPositionChange($event)\"\n (backdropClick)=\"onClickBackdrop()\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n (detach)=\"onOverlayDetach()\"\n (attach)=\"onOverlayAttach()\">\n <div\n #overlayContainer\n style=\"position: relative\"\n [@scaleXMotion]=\"thyPlacement === 'left' || thyPlacement === 'right' ? 'enter' : 'void'\"\n [@scaleYMotion]=\"thyPlacement === 'top' || thyPlacement === 'bottom' ? 'enter' : 'void'\"\n [@scaleMotion]=\"\n thyPlacement !== 'left' && thyPlacement !== 'right' && thyPlacement !== 'top' && thyPlacement !== 'bottom' ? 'enter' : 'void'\n \"\n class=\"thy-time-picker-container\">\n <!-- Compatible for overlay that not support offset dynamically and immediately -->\n <thy-time-picker-panel\n [ngClass]=\"thyPopupClass\"\n [(ngModel)]=\"value\"\n [thyFormat]=\"format\"\n [thyHourStep]=\"thyHourStep\"\n [thyMinuteStep]=\"thyMinuteStep\"\n [thySecondStep]=\"thySecondStep\"\n [thyShowSelectNow]=\"thyShowSelectNow\"\n (ngModelChange)=\"onPickTimeConfirm($event)\"\n (thyPickChange)=\"onPickTime($event)\"\n (thyClosePanel)=\"closeOverlay()\"></thy-time-picker-panel>\n </div>\n</ng-template>\n" }]
|
|
358
327
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { cdkConnectedOverlay: [{
|
|
359
328
|
type: ViewChild,
|
|
360
329
|
args: [CdkConnectedOverlay, { static: true }]
|
|
@@ -384,16 +353,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
384
353
|
}], thyPopupClass: [{
|
|
385
354
|
type: Input
|
|
386
355
|
}], thyBackdrop: [{
|
|
387
|
-
type: Input
|
|
356
|
+
type: Input,
|
|
357
|
+
args: [{ transform: booleanAttribute }]
|
|
388
358
|
}], thyDisabled: [{
|
|
389
|
-
type: Input
|
|
359
|
+
type: Input,
|
|
360
|
+
args: [{ transform: booleanAttribute }]
|
|
390
361
|
}], thyReadonly: [{
|
|
391
|
-
type: Input
|
|
362
|
+
type: Input,
|
|
363
|
+
args: [{ transform: booleanAttribute }]
|
|
392
364
|
}], thyShowSelectNow: [{
|
|
393
|
-
type: Input
|
|
365
|
+
type: Input,
|
|
366
|
+
args: [{ transform: booleanAttribute }]
|
|
394
367
|
}], thyAllowClear: [{
|
|
395
|
-
type: Input
|
|
368
|
+
type: Input,
|
|
369
|
+
args: [{ transform: booleanAttribute }]
|
|
396
370
|
}], thyOpenChange: [{
|
|
397
371
|
type: Output
|
|
398
372
|
}] } });
|
|
399
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFnQixNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUkxRTs7O0dBR0c7QUErQkgsTUFBTSxPQUFPLGFBQWE7SUEy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QUUsWUFBWSxFQUFFLFdBQVcsQ0FBQzsrR0FHSCxtQkFBbUI7c0JBQXBFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVULE1BQU07c0JBQTVDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFTyxRQUFRO3NCQUFuRCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRVEsZ0JBQWdCO3NCQUFqRSxTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFNdkMsT0FBTztzQkFBZixLQUFLO2dCQU1HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFPTyxTQUFTO3NCQUFyQixLQUFLO2dCQVdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBT21CLFdBQVc7c0JBQW5DLEtBQUs7Z0JBT3VCLFdBQVc7c0JBQXZDLEtBQUs7Z0JBYXVCLFdBQVc7c0JBQXZDLEtBQUs7Z0JBUW1CLGdCQUFnQjtzQkFBeEMsS0FBSztnQkFNbUIsYUFBYTtzQkFBckMsS0FBSztnQkFNSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc1ZhbGlkIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgZ2V0RmxleGlibGVQb3NpdGlvbnMsIElucHV0Qm9vbGVhbiwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRpbnlEYXRlLCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5VGltZVBhbmVsIH0gZnJvbSAnLi90aW1lLXBpY2tlci1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0lmLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRoeUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dCc7XG5pbXBvcnQgeyBzY2FsZU1vdGlvbiwgc2NhbGVYTW90aW9uLCBzY2FsZVlNb3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBUaW1lUGlja2VyU2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAnZGVmYXVsdCc7XG5cbi8qKlxuICog5pe26Ze06YCJ5oup57uE5Lu2XG4gKiBAbmFtZSB0aHktdGltZS1waWNrZXJcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktdGltZS1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaHlUaW1lUGlja2VyKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LXRpbWUtcGlja2VyJyxcbiAgICAgICAgJ1tjbGFzcy50aHktdGltZS1waWNrZXItZGlzYWJsZWRdJzogYGRpc2FibGVkYCxcbiAgICAgICAgJ1tjbGFzcy50aHktdGltZS1waWNrZXItcmVhZG9ubHldJzogYHJlYWRvbmx5YFxuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENka092ZXJsYXlPcmlnaW4sXG4gICAgICAgIFRoeUlucHV0RGlyZWN0aXZlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmdJZixcbiAgICAgICAgVGh5SWNvbixcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgICAgICAgVGh5VGltZVBhbmVsXG4gICAgXSxcbiAgICBhbmltYXRpb25zOiBbc2NhbGVYTW90aW9uLCBzY2FsZVlNb3Rpb24sIHNjYWxlTW90aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUaW1lUGlja2VyIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQFZpZXdDaGlsZChDZGtDb25uZWN0ZWRPdmVybGF5LCB7IHN0YXRpYzogdHJ1ZSB9KSBjZGtDb25uZWN0ZWRPdmVybGF5OiBDZGtDb25uZWN0ZWRPdmVybGF5O1xuXG4gICAgQFZpZXdDaGlsZCgnb3JpZ2luJywgeyBzdGF0aWM6IHRydWUgfSkgb3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luO1xuXG4gICAgQFZpZXdDaGlsZCgncGlja2VySW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ292ZXJsYXlDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgb3ZlcmxheUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiDovpPlhaXmoYblpKflsI9cbiAgICAgKiBAdHlwZSAneHMnIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ2RlZmF1bHQnXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2l6ZTogVGltZVBpY2tlclNpemUgPSAnZGVmYXVsdCc7XG5cbiAgICAvKipcbiAgICAgKiDovpPlhaXmoYbmj5DnpLrmloflrZdcbiAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQbGFjZWhvbGRlcjogc3RyaW5nID0gJ+mAieaLqeaXtumXtCc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rkvY3nva5cbiAgICAgKiBAdHlwZSAndG9wJyB8ICd0b3BMZWZ0J3wgJ3RvcFJpZ2h0JyB8ICdib3R0b20nIHwgJ2JvdHRvbUxlZnQnIHwgJ2JvdHRvbVJpZ2h0JyB8ICdsZWZ0JyB8ICdsZWZ0VG9wJyB8ICdsZWZ0Qm90dG9tJyB8ICdyaWdodCcgfCAncmlnaHRUb3AnIHwgJ3JpZ2h0Qm90dG9tJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ2JvdHRvbUxlZnQnO1xuXG4gICAgLyoqXG4gICAgICog5bGV56S655qE5pel5pyf5qC85byP77yM5pSv5oyBICdISDptbTpzcycgfCAnSEg6bW0nIHwgJ21tOnNzJ1xuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqIEBkZWZhdWx0IEhIOm1tOnNzXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeUZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZm9ybWF0ID0gdmFsdWUgfHwgJ0hIOm1tOnNzJztcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgaXNWYWxpZCh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5zaG93VGV4dCA9IG5ldyBUaW55RGF0ZSh0aGlzLnZhbHVlKS5mb3JtYXQodGhpcy5mb3JtYXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bCP5pe26Ze06ZqU5q2l6ZW/XG4gICAgICogQHR5cGUgbnVtYmVyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SG91clN0ZXA6IG51bWJlciA9IDE7XG5cbiAgICAvKipcbiAgICAgKiDliIbpkp/pl7TpmpTmraXplb9cbiAgICAgKiBAdHlwZSBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlNaW51dGVTdGVwOiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICog56eS6Ze06ZqU5q2l6ZW/XG4gICAgICogQHR5cGUgbnVtYmVyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2Vjb25kU3RlcDogbnVtYmVyID0gMTtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuWxgue7hOS7tiBjbGFzc1xuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBvcHVwQ2xhc3M6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuW8ueWHuuWxgumBrue9qVxuICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlCYWNrZHJvcDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOemgeeUqFxuICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBzZXQgdGh5RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlj6ror7tcbiAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgc2V0IHRoeVJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucmVhZG9ubHkgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrpgInmi6nmraTliLtcbiAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVNob3dTZWxlY3ROb3cgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5Y+v5riF56m65YC8XG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlBbGxvd0NsZWFyID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaJk+W8gC/lhbPpl63lvLnnqpfkuovku7ZcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8Ym9vbGVhbj5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByZWZpeENscyA9ICd0aHktdGltZS1waWNrZXInO1xuXG4gICAgb3ZlcmxheVBvc2l0aW9ucyA9IGdldEZsZXhpYmxlUG9zaXRpb25zKHRoaXMudGh5UGxhY2VtZW50LCA0KTtcblxuICAgIGZvcm1hdDogc3RyaW5nID0gJ0hIOm1tOnNzJztcblxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgICBzaG93VGV4dDogc3RyaW5nID0gJyc7XG5cbiAgICBvcGVuU3RhdGU6IGJvb2xlYW47XG5cbiAgICB2YWx1ZTogRGF0ZSA9IG5ldyBUaW55RGF0ZSgpLnNldEhtcygwLCAwLCAwKS5uYXRpdmVEYXRlO1xuXG4gICAgb3JpZ2luVmFsdWU6IERhdGU7XG5cbiAgICBrZWVwRm9jdXM6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGlzRGlzYWJsZWRGaXJzdENoYW5nZSA9IHRydWU7XG5cbiAgICBvblZhbHVlQ2hhbmdlRm46ICh2YWw6IG51bWJlciB8IERhdGUpID0+IHZvaWQgPSAoKSA9PiB2b2lkIDA7XG5cbiAgICBvblRvdWNoZWRGbjogKCkgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm92ZXJsYXlQb3NpdGlvbnMgPSBnZXRGbGV4aWJsZVBvc2l0aW9ucyh0aGlzLnRoeVBsYWNlbWVudCwgNCk7XG4gICAgfVxuXG4gICAgb25JbnB1dFBpY2tlckNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZFVzZXJPcGVyYXRpb24oKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3Blbk92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBvbklucHV0UGlja2VyQmx1cigpIHtcbiAgICAgICAgaWYgKHRoaXMua2VlcEZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcGVuU3RhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25QaWNrVGltZSh2YWx1ZTogRGF0ZSkge1xuICAgICAgICB0aGlzLm9yaWdpblZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBvblBpY2tUaW1lQ29uZmlybSh2YWx1ZTogRGF0ZSkge1xuICAgICAgICB0aGlzLm9yaWdpblZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICB0aGlzLmNvbmZpcm1WYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25DbGVhclRpbWUoZTogRXZlbnQpIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5vcmlnaW5WYWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgfVxuXG4gICAgb25DdXN0b21pemVJbnB1dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZm9ybWF0SW5wdXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbktleXVwRW50ZXIoKSB7XG4gICAgICAgIHRoaXMuY29uZmlybVZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpO1xuICAgIH1cblxuICAgIG9uS2V5dXBFc2MoKSB7XG4gICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgb25Qb3NpdGlvbkNoYW5nZShlOiBFdmVudCkge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgb25DbGlja0JhY2tkcm9wKCkge1xuICAgICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpO1xuICAgIH1cblxuICAgIG9uT3ZlcmxheURldGFjaCgpIHtcbiAgICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBvbk91dHNpZGVDbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5vcGVuU3RhdGUgJiZcbiAgICAgICAgICAgICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICAgICAhdGhpcy5vdmVybGF5Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3ZlcmxheUF0dGFjaCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY2RrQ29ubmVjdGVkT3ZlcmxheSAmJiB0aGlzLmNka0Nvbm5lY3RlZE92ZXJsYXkub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5jZGtDb25uZWN0ZWRPdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5PdmVybGF5KCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZFVzZXJPcGVyYXRpb24oKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMua2VlcEZvY3VzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuU3RhdGUgPSB0cnVlO1xuICAgICAgICB0aGlzLnRoeU9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW5TdGF0ZSk7XG4gICAgfVxuXG4gICAgY2xvc2VPdmVybGF5KCkge1xuICAgICAgICBpZiAodGhpcy5vcGVuU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMua2VlcEZvY3VzID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5ibHVyKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5zaG93VGV4dD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlQ3VzdG9taXplSW5wdXQodGhpcy5zaG93VGV4dCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLm9yaWdpblZhbHVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dUZXh0ID0gbmV3IFRpbnlEYXRlKHRoaXMudmFsdWUpLmZvcm1hdCh0aGlzLmZvcm1hdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGh5QWxsb3dDbGVhcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMub3JpZ2luVmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudGh5T3BlbkNoYW5nZS5lbWl0KHRoaXMub3BlblN0YXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy5pbnB1dFJlZikge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBibHVyKCkge1xuICAgICAgICBpZiAodGhpcy5pbnB1dFJlZikge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIGlzVmFsaWQodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShuZXcgVGlueURhdGUodmFsdWUpLm5hdGl2ZURhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBUaW55RGF0ZSgpLnNldEhtcygwLCAwLCAwKS5uYXRpdmVEYXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZUZuID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gKHRoaXMuaXNEaXNhYmxlZEZpcnN0Q2hhbmdlICYmIHRoaXMudGh5RGlzYWJsZWQpIHx8IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZEZpcnN0Q2hhbmdlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZSh2YWx1ZTogRGF0ZSwgZm9ybWF0VGV4dDogYm9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIGlzVmFsaWQodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGZvcm1hdFRleHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dUZXh0ID0gbmV3IFRpbnlEYXRlKHRoaXMudmFsdWUpLmZvcm1hdCh0aGlzLmZvcm1hdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RleHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbmZpcm1WYWx1ZSh2YWx1ZTogRGF0ZSkge1xuICAgICAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbWl0VmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLm9uVmFsdWVDaGFuZ2VGbikge1xuICAgICAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlRm4odGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub25Ub3VjaGVkRm4pIHtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0SW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5vcGVuU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMub3Blbk92ZXJsYXkoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsaWRhdGVDdXN0b21pemVJbnB1dCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSB2YWx1ZS5zcGxpdCgnOicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhvdXIgPSBmb3JtYXR0ZXJbMF0gfHwgMDtcbiAgICAgICAgICAgICAgICBjb25zdCBtaW51dGUgPSBmb3JtYXR0ZXJbMV0gfHwgMDtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmQgPSBmb3JtYXR0ZXJbMl0gfHwgMDtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKG5ldyBUaW55RGF0ZSgpLnNldEhtcygraG91ciwgK21pbnV0ZSwgK3NlY29uZCkubmF0aXZlRGF0ZSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMub3JpZ2luVmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5QWxsb3dDbGVhcikge1xuICAgICAgICAgICAgICAgIHRoaXMub3JpZ2luVmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKHRoaXMub3JpZ2luVmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1RleHQgPSBgYDtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVDdXN0b21pemVJbnB1dCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCB2YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICBpZiAodmFsdWUubGVuZ3RoID4gdGhpcy5mb3JtYXQubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsaWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybWF0UnVsZSA9IHRoaXMuZm9ybWF0LnNwbGl0KCc6Jyk7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlciA9IHZhbHVlLnNwbGl0KCc6Jyk7XG4gICAgICAgIHZhbGlkID0gIWZvcm1hdFJ1bGVcbiAgICAgICAgICAgIC5tYXAoKG0sIGkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFmb3JtYXR0ZXJbaV07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmluY2x1ZGVzKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIHZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzYWJsZWRVc2VyT3BlcmF0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5O1xuICAgIH1cbn1cbiIsIjxzcGFuIGNka092ZXJsYXlPcmlnaW4gI29yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIiAoY2xpY2spPVwib25JbnB1dFBpY2tlckNsaWNrKClcIiBjbGFzcz1cInt7IHByZWZpeENscyB9fS13cmFwcGVyXCI+XG4gIDxuZy1jb250YWluZXI+XG4gICAgPGlucHV0XG4gICAgICAjcGlja2VySW5wdXRcbiAgICAgIHRoeUlucHV0XG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbCB7eyBwcmVmaXhDbHMgfX0taW5wdXRcIlxuICAgICAgW2NsYXNzLnRoeS1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbY2xhc3MudGh5LWlucHV0LXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtjbGFzcy50aHktdGltZS1waWNrZXItcGFuZWwtb3BlbmVkXT1cIm9wZW5TdGF0ZVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNob3dUZXh0XCJcbiAgICAgIFt0aHlTaXplXT1cInRoeVNpemVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwidGh5UGxhY2Vob2xkZXJcIlxuICAgICAgKGJsdXIpPVwib25JbnB1dFBpY2tlckJsdXIoKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25LZXl1cEVudGVyKClcIlxuICAgICAgKGtleXVwLmVzY2FwZSk9XCJvbktleXVwRXNjKClcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DdXN0b21pemVJbnB1dCgkZXZlbnQpXCIgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmlnaHRJY29uXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9zcGFuPlxuXG48bmctdGVtcGxhdGUgI3JpZ2h0SWNvbj5cbiAgPHNwYW4gY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tY2xlYXJcIiAqbmdJZj1cIiFkaXNhYmxlZCAmJiB0aHlBbGxvd0NsZWFyICYmICF0aHlSZWFkb25seSAmJiBzaG93VGV4dFwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIiAoY2xpY2spPVwib25DbGVhclRpbWUoJGV2ZW50KVwiIG5nQ2xhc3M9XCJyZW1vdmUtbGluayByZW1vdmUtbGluay17eyB0aHlTaXplIH19XCI+PC90aHktaWNvbj5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cInt7IHByZWZpeENscyB9fS1pY29uXCI+XG4gICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCInY2xvY2stY2lyY2xlLW1vbWVudCdcIiBuZ0NsYXNzPVwicmVtb3ZlLWxpbmste3sgdGh5U2l6ZSB9fVwiPjwvdGh5LWljb24+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gT3ZlcmxheSAtLT5cbjxuZy10ZW1wbGF0ZVxuICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm9yaWdpblwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJvcGVuU3RhdGVcIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cInRoeUJhY2tkcm9wXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwib3ZlcmxheVBvc2l0aW9uc1wiXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlCYWNrZHJvcENsYXNzPVwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIlxuICBjZGtDb25uZWN0ZWRPdmVybGF5VHJhbnNmb3JtT3JpZ2luT249XCIudGh5LXRpbWUtcGlja2VyLWNvbnRhaW5lclwiXG4gIChwb3NpdGlvbkNoYW5nZSk9XCJvblBvc2l0aW9uQ2hhbmdlKCRldmVudClcIlxuICAoYmFja2Ryb3BDbGljayk9XCJvbkNsaWNrQmFja2Ryb3AoKVwiXG4gIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cIm9uT3V0c2lkZUNsaWNrKCRldmVudClcIlxuICAoZGV0YWNoKT1cIm9uT3ZlcmxheURldGFjaCgpXCJcbiAgKGF0dGFjaCk9XCJvbk92ZXJsYXlBdHRhY2goKVwiPlxuICA8ZGl2XG4gICAgI292ZXJsYXlDb250YWluZXJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiXG4gICAgW0BzY2FsZVhNb3Rpb25dPVwidGh5UGxhY2VtZW50ID09PSAnbGVmdCcgfHwgdGh5UGxhY2VtZW50ID09PSAncmlnaHQnID8gJ2VudGVyJyA6ICd2b2lkJ1wiXG4gICAgW0BzY2FsZVlNb3Rpb25dPVwidGh5UGxhY2VtZW50ID09PSAndG9wJyB8fCB0aHlQbGFjZW1lbnQgPT09ICdib3R0b20nID8gJ2VudGVyJyA6ICd2b2lkJ1wiXG4gICAgW0BzY2FsZU1vdGlvbl09XCJcbiAgICAgIHRoeVBsYWNlbWVudCAhPT0gJ2xlZnQnICYmIHRoeVBsYWNlbWVudCAhPT0gJ3JpZ2h0JyAmJiB0aHlQbGFjZW1lbnQgIT09ICd0b3AnICYmIHRoeVBsYWNlbWVudCAhPT0gJ2JvdHRvbScgPyAnZW50ZXInIDogJ3ZvaWQnXG4gICAgXCJcbiAgICBjbGFzcz1cInRoeS10aW1lLXBpY2tlci1jb250YWluZXJcIj5cbiAgICA8IS0tIENvbXBhdGlibGUgZm9yIG92ZXJsYXkgdGhhdCBub3Qgc3VwcG9ydCBvZmZzZXQgZHluYW1pY2FsbHkgYW5kIGltbWVkaWF0ZWx5IC0tPlxuICAgIDx0aHktdGltZS1waWNrZXItcGFuZWxcbiAgICAgIFtuZ0NsYXNzXT1cInRoeVBvcHVwQ2xhc3NcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICBbdGh5Rm9ybWF0XT1cImZvcm1hdFwiXG4gICAgICBbdGh5SG91clN0ZXBdPVwidGh5SG91clN0ZXBcIlxuICAgICAgW3RoeU1pbnV0ZVN0ZXBdPVwidGh5TWludXRlU3RlcFwiXG4gICAgICBbdGh5U2Vjb25kU3RlcF09XCJ0aHlTZWNvbmRTdGVwXCJcbiAgICAgIFt0aHlTaG93U2VsZWN0Tm93XT1cInRoeVNob3dTZWxlY3ROb3dcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QaWNrVGltZUNvbmZpcm0oJGV2ZW50KVwiXG4gICAgICAodGh5UGlja0NoYW5nZSk9XCJvblBpY2tUaW1lKCRldmVudClcIlxuICAgICAgKHRoeUNsb3NlUGFuZWwpPVwiY2xvc2VPdmVybGF5KClcIj48L3RoeS10aW1lLXBpY2tlci1wYW5lbD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
373
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSTFFOzs7R0FHRztBQStCSCxNQUFNLE9BQU8sYUFBYTtJQTJCdEI7Ozs7T0FJRztJQUNILElBQWEsU0FBUyxDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksVUFBVSxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0wsQ0FBQztJQWlDRDs7OztPQUlHO0lBQ0gsSUFBNEMsV0FBVyxDQUFDLEtBQWM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBbURELFlBQW9CLEdBQXNCLEVBQVUsVUFBc0I7UUFBdEQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBM0gxRTs7O1dBR0c7UUFDTSxZQUFPLEdBQW1CLFNBQVMsQ0FBQztRQUU3Qzs7O1dBR0c7UUFDTSxtQkFBYyxHQUFXLE1BQU0sQ0FBQztRQUV6Qzs7O1dBR0c7UUFDTSxpQkFBWSxHQUFpQixZQUFZLENBQUM7UUFjbkQ7OztXQUdHO1FBQ00sZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFakM7OztXQUdHO1FBQ00sa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFFbkM7OztXQUdHO1FBQ00sa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFtQ25DOzs7V0FHRztRQUNxQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFaEU7OztXQUdHO1FBQ3FDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTdEOzs7V0FHRztRQUNPLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV0RCxjQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFFOUIscUJBQWdCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU5RCxXQUFNLEdBQVcsVUFBVSxDQUFDO1FBSTVCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFJdEIsVUFBSyxHQUFTLElBQUksUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBTWhELDBCQUFxQixHQUFHLElBQUksQ0FBQztRQUVyQyxvQkFBZSxHQUFpQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3RCxnQkFBVyxHQUFlLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXNDLENBQUM7SUFFOUUsUUFBUSxLQUFJLENBQUM7SUFFYixlQUFlO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztZQUMvQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFXO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQVE7UUFDaEIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUFRO1FBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFZO1FBQ3ZCLElBQ0ksSUFBSSxDQUFDLFNBQVM7WUFDZCxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3JELENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQWMsQ0FBQyxFQUNyRSxDQUFDO1lBQ0MsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekQsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO1lBQy9CLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2pFLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW9CO1FBQzNCLElBQUksS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDM0QsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxVQUFVLENBQUM7UUFDL0UsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQVcsRUFBRSxhQUFzQixJQUFJO1FBQ3BELElBQUksS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pFLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBVztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxTQUFTO1FBQ2IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2hGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckIsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFhO1FBQ3hDLElBQUksS0FBSyxHQUFZLEtBQUssQ0FBQztRQUMzQixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxLQUFLLEdBQUcsQ0FBQyxVQUFVO2FBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ1YsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQzthQUNELFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzdDLENBQUM7OEdBaldRLGFBQWE7a0dBQWIsYUFBYSxpVkFvRUYsZ0JBQWdCLCtDQU9oQixnQkFBZ0IsK0NBYWhCLGdCQUFnQiw4REFNaEIsZ0JBQWdCLHFEQU1oQixnQkFBZ0IseU5BOUh6QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO2FBQy9DO1NBQ0osK0VBcUJVLG1CQUFtQiw4V0M5RGxDLG8zRkFvRUEsNENEbkJRLGdCQUFnQix1SUFDaEIsaUJBQWlCLDhJQUNqQixXQUFXLCttQkFDWCxnQkFBZ0Isb0pBQ2hCLElBQUksNkZBQ0osT0FBTyxzTUFDUCxPQUFPLG9GQUNQLG1CQUFtQiw0K0JBQ25CLFlBQVksa05BRUosQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQzs7MkZBRTVDLGFBQWE7a0JBOUJ6QixTQUFTOytCQUNJLGlCQUFpQixtQkFFVix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQzt5QkFDL0M7cUJBQ0osUUFDSzt3QkFDRixLQUFLLEVBQUUsaUJBQWlCO3dCQUN4QixrQ0FBa0MsRUFBRSxVQUFVO3dCQUM5QyxrQ0FBa0MsRUFBRSxhQUFhO3FCQUNwRCxjQUNXLElBQUksV0FDUDt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLElBQUk7d0JBQ0osT0FBTzt3QkFDUCxPQUFPO3dCQUNQLG1CQUFtQjt3QkFDbkIsWUFBWTtxQkFDZixjQUNXLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUM7K0dBR0gsbUJBQW1CO3NCQUFwRSxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFVCxNQUFNO3NCQUE1QyxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRU8sUUFBUTtzQkFBbkQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVRLGdCQUFnQjtzQkFBakUsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBTXZDLE9BQU87c0JBQWYsS0FBSztnQkFNRyxjQUFjO3NCQUF0QixLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT08sU0FBUztzQkFBckIsS0FBSztnQkFXRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9rQyxXQUFXO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU9NLFdBQVc7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBYUUsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNRSxnQkFBZ0I7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTUUsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNNUIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENka092ZXJsYXlPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc1ZhbGlkIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgZ2V0RmxleGlibGVQb3NpdGlvbnMsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBUaHlUaW1lUGFuZWwgfSBmcm9tICcuL3RpbWUtcGlja2VyLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQsIE5nSWYsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5SW5wdXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IHNjYWxlTW90aW9uLCBzY2FsZVhNb3Rpb24sIHNjYWxlWU1vdGlvbiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFRpbWVQaWNrZXJTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICdkZWZhdWx0JztcblxuLyoqXG4gKiDml7bpl7TpgInmi6nnu4Tku7ZcbiAqIEBuYW1lIHRoeS10aW1lLXBpY2tlclxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10aW1lLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoeVRpbWVQaWNrZXIpXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktdGltZS1waWNrZXInLFxuICAgICAgICAnW2NsYXNzLnRoeS10aW1lLXBpY2tlci1kaXNhYmxlZF0nOiBgZGlzYWJsZWRgLFxuICAgICAgICAnW2NsYXNzLnRoeS10aW1lLXBpY2tlci1yZWFkb25seV0nOiBgdGh5UmVhZG9ubHlgXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgICAgICAgVGh5SW5wdXREaXJlY3RpdmUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBOZ0lmLFxuICAgICAgICBUaHlJY29uLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBDZGtDb25uZWN0ZWRPdmVybGF5LFxuICAgICAgICBUaHlUaW1lUGFuZWxcbiAgICBdLFxuICAgIGFuaW1hdGlvbnM6IFtzY2FsZVhNb3Rpb24sIHNjYWxlWU1vdGlvbiwgc2NhbGVNb3Rpb25dXG59KVxuZXhwb3J0IGNsYXNzIFRoeVRpbWVQaWNrZXIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBAVmlld0NoaWxkKENka0Nvbm5lY3RlZE92ZXJsYXksIHsgc3RhdGljOiB0cnVlIH0pIGNka0Nvbm5lY3RlZE92ZXJsYXk6IENka0Nvbm5lY3RlZE92ZXJsYXk7XG5cbiAgICBAVmlld0NoaWxkKCdvcmlnaW4nLCB7IHN0YXRpYzogdHJ1ZSB9KSBvcmlnaW46IENka092ZXJsYXlPcmlnaW47XG5cbiAgICBAVmlld0NoaWxkKCdwaWNrZXJJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnb3ZlcmxheUNvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBvdmVybGF5Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIOi+k+WFpeahhuWkp+Wwj1xuICAgICAqIEB0eXBlICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAnZGVmYXVsdCdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTaXplOiBUaW1lUGlja2VyU2l6ZSA9ICdkZWZhdWx0JztcblxuICAgIC8qKlxuICAgICAqIOi+k+WFpeahhuaPkOekuuaWh+Wtl1xuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlaG9sZGVyOiBzdHJpbmcgPSAn6YCJ5oup5pe26Ze0JztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuS9jee9rlxuICAgICAqIEB0eXBlICd0b3AnIHwgJ3RvcExlZnQnfCAndG9wUmlnaHQnIHwgJ2JvdHRvbScgfCAnYm90dG9tTGVmdCcgfCAnYm90dG9tUmlnaHQnIHwgJ2xlZnQnIHwgJ2xlZnRUb3AnIHwgJ2xlZnRCb3R0b20nIHwgJ3JpZ2h0JyB8ICdyaWdodFRvcCcgfCAncmlnaHRCb3R0b20nXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGxhY2VtZW50OiBUaHlQbGFjZW1lbnQgPSAnYm90dG9tTGVmdCc7XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrnmoTml6XmnJ/moLzlvI/vvIzmlK/mjIEgJ0hIOm1tOnNzJyB8ICdISDptbScgfCAnbW06c3MnXG4gICAgICogQHR5cGUgc3RyaW5nXG4gICAgICogQGRlZmF1bHQgSEg6bW06c3NcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5Rm9ybWF0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5mb3JtYXQgPSB2YWx1ZSB8fCAnSEg6bW06c3MnO1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiBpc1ZhbGlkKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUZXh0ID0gbmV3IFRpbnlEYXRlKHRoaXMudmFsdWUpLmZvcm1hdCh0aGlzLmZvcm1hdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlsI/ml7bpl7TpmpTmraXplb9cbiAgICAgKiBAdHlwZSBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlIb3VyU3RlcDogbnVtYmVyID0gMTtcblxuICAgIC8qKlxuICAgICAqIOWIhumSn+mXtOmalOatpemVv1xuICAgICAqIEB0eXBlIG51bWJlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1pbnV0ZVN0ZXA6IG51bWJlciA9IDE7XG5cbiAgICAvKipcbiAgICAgKiDnp5Lpl7TpmpTmraXplb9cbiAgICAgKiBAdHlwZSBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTZWNvbmRTdGVwOiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65bGC57uE5Lu2IGNsYXNzXG4gICAgICogQHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UG9wdXBDbGFzczogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65by55Ye65bGC6YGu572pXG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeUJhY2tkcm9wOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog56aB55SoXG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNldCB0aHlEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlj6ror7tcbiAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5UmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrpgInmi6nmraTliLtcbiAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeVNob3dTZWxlY3ROb3cgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5Y+v5riF56m65YC8XG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aHlBbGxvd0NsZWFyID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaJk+W8gC/lhbPpl63lvLnnqpfkuovku7ZcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8Ym9vbGVhbj5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByZWZpeENscyA9ICd0aHktdGltZS1waWNrZXInO1xuXG4gICAgb3ZlcmxheVBvc2l0aW9ucyA9IGdldEZsZXhpYmxlUG9zaXRpb25zKHRoaXMudGh5UGxhY2VtZW50LCA0KTtcblxuICAgIGZvcm1hdDogc3RyaW5nID0gJ0hIOm1tOnNzJztcblxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgc2hvd1RleHQ6IHN0cmluZyA9ICcnO1xuXG4gICAgb3BlblN0YXRlOiBib29sZWFuO1xuXG4gICAgdmFsdWU6IERhdGUgPSBuZXcgVGlueURhdGUoKS5zZXRIbXMoMCwgMCwgMCkubmF0aXZlRGF0ZTtcblxuICAgIG9yaWdpblZhbHVlOiBEYXRlO1xuXG4gICAga2VlcEZvY3VzOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBpc0Rpc2FibGVkRmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gICAgb25WYWx1ZUNoYW5nZUZuOiAodmFsOiBudW1iZXIgfCBEYXRlKSA9PiB2b2lkID0gKCkgPT4gdm9pZCAwO1xuXG4gICAgb25Ub3VjaGVkRm46ICgpID0+IHZvaWQgPSAoKSA9PiB2b2lkIDA7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UG9zaXRpb25zID0gZ2V0RmxleGlibGVQb3NpdGlvbnModGhpcy50aHlQbGFjZW1lbnQsIDQpO1xuICAgIH1cblxuICAgIG9uSW5wdXRQaWNrZXJDbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRVc2VyT3BlcmF0aW9uKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5PdmVybGF5KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dFBpY2tlckJsdXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmtlZXBGb2N1cykge1xuICAgICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMub3BlblN0YXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUGlja1RpbWUodmFsdWU6IERhdGUpIHtcbiAgICAgICAgdGhpcy5vcmlnaW5WYWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgfVxuXG4gICAgb25QaWNrVGltZUNvbmZpcm0odmFsdWU6IERhdGUpIHtcbiAgICAgICAgdGhpcy5vcmlnaW5WYWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jb25maXJtVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIG9uQ2xlYXJUaW1lKGU6IEV2ZW50KSB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMub3JpZ2luVmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIG9uQ3VzdG9taXplSW5wdXQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvcm1hdElucHV0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgb25LZXl1cEVudGVyKCkge1xuICAgICAgICB0aGlzLmNvbmZpcm1WYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBvbktleXVwRXNjKCkge1xuICAgICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpO1xuICAgIH1cblxuICAgIG9uUG9zaXRpb25DaGFuZ2UoZTogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uQ2xpY2tCYWNrZHJvcCgpIHtcbiAgICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBvbk92ZXJsYXlEZXRhY2goKSB7XG4gICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgb25PdXRzaWRlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMub3BlblN0YXRlICYmXG4gICAgICAgICAgICAhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgICAgICAgIXRoaXMub3ZlcmxheUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk92ZXJsYXlBdHRhY2goKSB7XG4gICAgICAgIGlmICh0aGlzLmNka0Nvbm5lY3RlZE92ZXJsYXkgJiYgdGhpcy5jZGtDb25uZWN0ZWRPdmVybGF5Lm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY2RrQ29ubmVjdGVkT3ZlcmxheS5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuT3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRVc2VyT3BlcmF0aW9uKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmtlZXBGb2N1cyA9IHRydWU7XG4gICAgICAgIHRoaXMub3BlblN0YXRlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aHlPcGVuQ2hhbmdlLmVtaXQodGhpcy5vcGVuU3RhdGUpO1xuICAgIH1cblxuICAgIGNsb3NlT3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMub3BlblN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmtlZXBGb2N1cyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYmx1cigpO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2hvd1RleHQ/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUN1c3RvbWl6ZUlucHV0KHRoaXMuc2hvd1RleHQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy5vcmlnaW5WYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93VGV4dCA9IG5ldyBUaW55RGF0ZSh0aGlzLnZhbHVlKS5mb3JtYXQodGhpcy5mb3JtYXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRoeUFsbG93Q2xlYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLm9yaWdpblZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRoeU9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW5TdGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1cygpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmx1cigpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBpc1ZhbGlkKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5WYWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUobmV3IFRpbnlEYXRlKHZhbHVlKS5uYXRpdmVEYXRlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgVGlueURhdGUoKS5zZXRIbXMoMCwgMCwgMCkubmF0aXZlRGF0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VGbiA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9ICh0aGlzLmlzRGlzYWJsZWRGaXJzdENoYW5nZSAmJiB0aGlzLnRoeURpc2FibGVkKSB8fCBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLmlzRGlzYWJsZWRGaXJzdENoYW5nZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VmFsdWUodmFsdWU6IERhdGUsIGZvcm1hdFRleHQ6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBpc1ZhbGlkKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChmb3JtYXRUZXh0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93VGV4dCA9IG5ldyBUaW55RGF0ZSh0aGlzLnZhbHVlKS5mb3JtYXQodGhpcy5mb3JtYXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnNob3dUZXh0ID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maXJtVmFsdWUodmFsdWU6IERhdGUpIHtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdFZhbHVlKCkge1xuICAgICAgICBpZiAodGhpcy5vblZhbHVlQ2hhbmdlRm4pIHtcbiAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZUZuKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9uVG91Y2hlZEZuKSB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZEZuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdElucHV0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMub3BlblN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5PdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbGlkYXRlQ3VzdG9taXplSW5wdXQodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVyID0gdmFsdWUuc3BsaXQoJzonKTtcbiAgICAgICAgICAgICAgICBjb25zdCBob3VyID0gZm9ybWF0dGVyWzBdIHx8IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgbWludXRlID0gZm9ybWF0dGVyWzFdIHx8IDA7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Vjb25kID0gZm9ybWF0dGVyWzJdIHx8IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShuZXcgVGlueURhdGUoKS5zZXRIbXMoK2hvdXIsICttaW51dGUsICtzZWNvbmQpLm5hdGl2ZURhdGUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9yaWdpblZhbHVlID0gbmV3IERhdGUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeUFsbG93Q2xlYXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yaWdpblZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSh0aGlzLm9yaWdpblZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dUZXh0ID0gYGA7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQ3VzdG9taXplSW5wdXQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgdmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IHRoaXMuZm9ybWF0Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbGlkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1hdFJ1bGUgPSB0aGlzLmZvcm1hdC5zcGxpdCgnOicpO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSB2YWx1ZS5zcGxpdCgnOicpO1xuICAgICAgICB2YWxpZCA9ICFmb3JtYXRSdWxlXG4gICAgICAgICAgICAubWFwKChtLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhZm9ybWF0dGVyW2ldO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5pbmNsdWRlcyhmYWxzZSk7XG4gICAgICAgIHJldHVybiB2YWxpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc2FibGVkVXNlck9wZXJhdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy50aHlSZWFkb25seTtcbiAgICB9XG59XG4iLCI8c3BhbiBjZGtPdmVybGF5T3JpZ2luICNvcmlnaW49XCJjZGtPdmVybGF5T3JpZ2luXCIgKGNsaWNrKT1cIm9uSW5wdXRQaWNrZXJDbGljaygpXCIgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0td3JhcHBlclwiPlxuICA8bmctY29udGFpbmVyPlxuICAgIDxpbnB1dFxuICAgICAgI3BpY2tlcklucHV0XG4gICAgICB0aHlJbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wge3sgcHJlZml4Q2xzIH19LWlucHV0XCJcbiAgICAgIFtjbGFzcy50aHktaW5wdXQtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2NsYXNzLnRoeS1pbnB1dC1yZWFkb25seV09XCJ0aHlSZWFkb25seVwiXG4gICAgICBbY2xhc3MudGh5LXRpbWUtcGlja2VyLXBhbmVsLW9wZW5lZF09XCJvcGVuU3RhdGVcIlxuICAgICAgWyhuZ01vZGVsKV09XCJzaG93VGV4dFwiXG4gICAgICBbdGh5U2l6ZV09XCJ0aHlTaXplXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcmVhZG9ubHldPVwidGh5UmVhZG9ubHlcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInRoeVBsYWNlaG9sZGVyXCJcbiAgICAgIChibHVyKT1cIm9uSW5wdXRQaWNrZXJCbHVyKClcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uS2V5dXBFbnRlcigpXCJcbiAgICAgIChrZXl1cC5lc2NhcGUpPVwib25LZXl1cEVzYygpXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ3VzdG9taXplSW5wdXQoJGV2ZW50KVwiIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJpZ2h0SWNvblwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvc3Bhbj5cblxuPG5nLXRlbXBsYXRlICNyaWdodEljb24+XG4gIDxzcGFuIGNsYXNzPVwie3sgcHJlZml4Q2xzIH19LWNsZWFyXCIgKm5nSWY9XCIhZGlzYWJsZWQgJiYgdGh5QWxsb3dDbGVhciAmJiAhdGh5UmVhZG9ubHkgJiYgc2hvd1RleHRcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZS1jaXJjbGUtYm9sZC1maWxsXCIgKGNsaWNrKT1cIm9uQ2xlYXJUaW1lKCRldmVudClcIiBuZ0NsYXNzPVwicmVtb3ZlLWxpbmsgcmVtb3ZlLWxpbmste3sgdGh5U2l6ZSB9fVwiPjwvdGh5LWljb24+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0taWNvblwiPlxuICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiJ2Nsb2NrLWNpcmNsZS1tb21lbnQnXCIgbmdDbGFzcz1cInJlbW92ZS1saW5rLXt7IHRoeVNpemUgfX1cIj48L3RoeS1pY29uPlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIE92ZXJsYXkgLS0+XG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJvcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3BlblN0YXRlXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJ0aHlCYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cIm92ZXJsYXlQb3NpdGlvbnNcIlxuICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVRyYW5zZm9ybU9yaWdpbk9uPVwiLnRoeS10aW1lLXBpY2tlci1jb250YWluZXJcIlxuICAocG9zaXRpb25DaGFuZ2UpPVwib25Qb3NpdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgKGJhY2tkcm9wQ2xpY2spPVwib25DbGlja0JhY2tkcm9wKClcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJvbk91dHNpZGVDbGljaygkZXZlbnQpXCJcbiAgKGRldGFjaCk9XCJvbk92ZXJsYXlEZXRhY2goKVwiXG4gIChhdHRhY2gpPVwib25PdmVybGF5QXR0YWNoKClcIj5cbiAgPGRpdlxuICAgICNvdmVybGF5Q29udGFpbmVyXG4gICAgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmVcIlxuICAgIFtAc2NhbGVYTW90aW9uXT1cInRoeVBsYWNlbWVudCA9PT0gJ2xlZnQnIHx8IHRoeVBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/ICdlbnRlcicgOiAndm9pZCdcIlxuICAgIFtAc2NhbGVZTW90aW9uXT1cInRoeVBsYWNlbWVudCA9PT0gJ3RvcCcgfHwgdGh5UGxhY2VtZW50ID09PSAnYm90dG9tJyA/ICdlbnRlcicgOiAndm9pZCdcIlxuICAgIFtAc2NhbGVNb3Rpb25dPVwiXG4gICAgICB0aHlQbGFjZW1lbnQgIT09ICdsZWZ0JyAmJiB0aHlQbGFjZW1lbnQgIT09ICdyaWdodCcgJiYgdGh5UGxhY2VtZW50ICE9PSAndG9wJyAmJiB0aHlQbGFjZW1lbnQgIT09ICdib3R0b20nID8gJ2VudGVyJyA6ICd2b2lkJ1xuICAgIFwiXG4gICAgY2xhc3M9XCJ0aHktdGltZS1waWNrZXItY29udGFpbmVyXCI+XG4gICAgPCEtLSBDb21wYXRpYmxlIGZvciBvdmVybGF5IHRoYXQgbm90IHN1cHBvcnQgb2Zmc2V0IGR5bmFtaWNhbGx5IGFuZCBpbW1lZGlhdGVseSAtLT5cbiAgICA8dGh5LXRpbWUtcGlja2VyLXBhbmVsXG4gICAgICBbbmdDbGFzc109XCJ0aHlQb3B1cENsYXNzXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgW3RoeUZvcm1hdF09XCJmb3JtYXRcIlxuICAgICAgW3RoeUhvdXJTdGVwXT1cInRoeUhvdXJTdGVwXCJcbiAgICAgIFt0aHlNaW51dGVTdGVwXT1cInRoeU1pbnV0ZVN0ZXBcIlxuICAgICAgW3RoeVNlY29uZFN0ZXBdPVwidGh5U2Vjb25kU3RlcFwiXG4gICAgICBbdGh5U2hvd1NlbGVjdE5vd109XCJ0aHlTaG93U2VsZWN0Tm93XCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uUGlja1RpbWVDb25maXJtKCRldmVudClcIlxuICAgICAgKHRoeVBpY2tDaGFuZ2UpPVwib25QaWNrVGltZSgkZXZlbnQpXCJcbiAgICAgICh0aHlDbG9zZVBhbmVsKT1cImNsb3NlT3ZlcmxheSgpXCI+PC90aHktdGltZS1waWNrZXItcGFuZWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Component, Input, HostBinding, ContentChildren, QueryList, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
|
|
1
|
+
import { Component, Input, HostBinding, ContentChildren, QueryList, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, booleanAttribute } from '@angular/core';
|
|
3
2
|
import { takeUntil } from 'rxjs/operators';
|
|
4
3
|
import { ThyTimelineItem } from './timeline-item.component';
|
|
5
4
|
import { ThyTimelineService } from './timeline.service';
|
|
6
5
|
import { Subject } from 'rxjs';
|
|
7
|
-
import { InputBoolean } from 'ngx-tethys/core';
|
|
8
6
|
import { NgFor, NgTemplateOutlet } from '@angular/common';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
8
|
import * as i1 from "./timeline.service";
|
|
@@ -92,7 +90,7 @@ export class ThyTimeline {
|
|
|
92
90
|
this.cdr.markForCheck();
|
|
93
91
|
}
|
|
94
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTimeline, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ThyTimelineService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyTimeline, isStandalone: true, selector: "thy-timeline", inputs: { thyReverse: ["thyReverse", "thyReverse", booleanAttribute], thyMode: "thyMode", thyDirection: "thyDirection" }, host: { properties: { "class.thy-timeline": "this.isTimeline", "class.thy-timeline-right": "this.rightTimeline", "class.thy-timeline-center": "this.centerTimeline", "class.thy-timeline-template": "this.templateTimeline", "class.thy-timeline-horizontal": "this.horizontal" } }, providers: [ThyTimelineService], queries: [{ propertyName: "listOfItems", predicate: ThyTimelineItem }], usesOnChanges: true, ngImport: i0, template: `
|
|
96
94
|
<ng-container>
|
|
97
95
|
<ng-container *ngFor="let item of timelineItems">
|
|
98
96
|
<ng-template [ngTemplateOutlet]="item.template"></ng-template>
|
|
@@ -103,10 +101,6 @@ export class ThyTimeline {
|
|
|
103
101
|
</ng-container>
|
|
104
102
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
105
103
|
}
|
|
106
|
-
__decorate([
|
|
107
|
-
InputBoolean(),
|
|
108
|
-
__metadata("design:type", Boolean)
|
|
109
|
-
], ThyTimeline.prototype, "thyReverse", void 0);
|
|
110
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTimeline, decorators: [{
|
|
111
105
|
type: Component,
|
|
112
106
|
args: [{
|
|
@@ -128,7 +122,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
128
122
|
imports: [NgFor, NgTemplateOutlet]
|
|
129
123
|
}]
|
|
130
124
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ThyTimelineService }], propDecorators: { thyReverse: [{
|
|
131
|
-
type: Input
|
|
125
|
+
type: Input,
|
|
126
|
+
args: [{ transform: booleanAttribute }]
|
|
132
127
|
}], thyMode: [{
|
|
133
128
|
type: Input
|
|
134
129
|
}], thyDirection: [{
|
|
@@ -158,4 +153,4 @@ function simpleChangeActivated(simpleChange) {
|
|
|
158
153
|
function getTimelineItemPosition(index, mode) {
|
|
159
154
|
return mode === 'left' ? 'left' : mode === 'right' ? 'right' : mode === 'center' && index % 2 === 0 ? 'left' : 'right';
|
|
160
155
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixTQUFTLEVBT1QsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDMUIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUkxRCxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2YsaUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBSUQ7Ozs7R0FJRztBQW1CSCxNQUFNLE9BQU8sV0FBVztJQWlDcEIsWUFBb0IsR0FBc0IsRUFBVSxlQUFtQztRQUFuRSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQW5CdkY7OztXQUdHO1FBQ00saUJBQVksR0FBcUIsVUFBVSxDQUFDO1FBRTlDLGtCQUFhLEdBQXNCLEVBQUUsQ0FBQztRQUVyQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVKLGVBQVUsR0FB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LEVBQUUsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3JDO3VIQU00QixVQUFVO3NCQUFsQyxLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQU02QixVQUFVO3NCQUE1QyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDUSxhQUFhO3NCQUFyRCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFDRyxjQUFjO3NCQUF2RCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFDSSxnQkFBZ0I7c0JBQTNELFdBQVc7dUJBQUMsNkJBQTZCO2dCQUNJLFVBQVU7c0JBQXZELFdBQVc7dUJBQUMsK0JBQStCO2dCQUc1QyxXQUFXO3NCQURWLGVBQWU7dUJBQUMsZUFBZTs7QUErRHBDLFNBQVMscUJBQXFCLENBQUMsWUFBMkI7SUFDdEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxLQUFLLFlBQVksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxSCxDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsSUFBaUI7SUFDN0QsT0FBTyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDM0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeVRpbWVsaW5lSXRlbSB9IGZyb20gJy4vdGltZWxpbmUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5VGltZWxpbmVTZXJ2aWNlIH0gZnJvbSAnLi90aW1lbGluZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIFRoeVRpbWVNb2RlID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuXG5leHBvcnQgZW51bSBUaHlUaW1lTW9kZXMge1xuICAgIGxlZnQgPSAnbGVmdCcsXG4gICAgcmlnaHQgPSAncmlnaHQnLFxuICAgIGNlbnRlciA9ICdjZW50ZXInXG59XG5cbmV4cG9ydCB0eXBlIFRoeVRpbWVEaXJlY3Rpb24gPSAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuXG4vKipcbiAqIOaXtumXtOi9tOe7hOS7tlxuICogQG5hbWUgdGh5LXRpbWVsaW5lXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzZWxlY3RvcjogJ3RoeS10aW1lbGluZScsXG4gICAgcHJvdmlkZXJzOiBbVGh5VGltZWxpbmVTZXJ2aWNlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aW1lbGluZUl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0udGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5VGltZWxpbmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiDoioLngrnmjpLluo/mmK/lkKblgJLluo9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlSZXZlcnNlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5pS55Y+Y5pe26Ze06L205ZKM5YaF5a6555qE55u45a+55L2N572uXG4gICAgICogQHR5cGUgbGVmdCB8IHJpZ2h0IHwgY2VudGVyXG4gICAgICogQGRlZmF1bHQgbGVmdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1vZGU6IFRoeVRpbWVNb2RlO1xuXG4gICAgLyoqXG4gICAgICog5pe26Ze06L2055qE5pa55ZCRXG4gICAgICogQHR5cGUgaG9yaXpvbnRhbCB8IHZlcnRpY2FsXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGlyZWN0aW9uOiBUaHlUaW1lRGlyZWN0aW9uID0gJ3ZlcnRpY2FsJztcblxuICAgIHB1YmxpYyB0aW1lbGluZUl0ZW1zOiBUaHlUaW1lbGluZUl0ZW1bXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS10aW1lbGluZWApIGlzVGltZWxpbmUgPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXRpbWVsaW5lLXJpZ2h0YCkgcmlnaHRUaW1lbGluZSA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXRpbWVsaW5lLWNlbnRlcmApIGNlbnRlclRpbWVsaW5lID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdGltZWxpbmUtdGVtcGxhdGVgKSB0ZW1wbGF0ZVRpbWVsaW5lID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdGltZWxpbmUtaG9yaXpvbnRhbGApIGhvcml6b250YWwgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5VGltZWxpbmVJdGVtKVxuICAgIGxpc3RPZkl0ZW1zOiBRdWVyeUxpc3Q8VGh5VGltZWxpbmVJdGVtPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSB0aW1lbGluZVNlcnZpY2U6IFRoeVRpbWVsaW5lU2VydmljZSkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlNb2RlLCB0aHlSZXZlcnNlIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAodGh5TW9kZSAmJiAhdGhpcy5ob3Jpem9udGFsKSB7XG4gICAgICAgICAgICBpZiAodGh5TW9kZS5jdXJyZW50VmFsdWUgPT09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0VGltZWxpbmUgPSAhdGhpcy50ZW1wbGF0ZVRpbWVsaW5lO1xuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyVGltZWxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGh5TW9kZS5jdXJyZW50VmFsdWUgPT09ICdjZW50ZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jZW50ZXJUaW1lbGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodFRpbWVsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmlnaHRUaW1lbGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyVGltZWxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoKHNpbXBsZUNoYW5nZUFjdGl2YXRlZCh0aHlNb2RlKSAmJiAhdGhpcy5ob3Jpem9udGFsKSB8fCBzaW1wbGVDaGFuZ2VBY3RpdmF0ZWQodGh5UmV2ZXJzZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hpbGRyZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmhvcml6b250YWwgPSB0aGlzLnRoeURpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5jaGVjayQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuKCk7XG4gICAgICAgIHRoaXMubGlzdE9mSXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlbigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5saXN0T2ZJdGVtcyAmJiB0aGlzLmxpc3RPZkl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5saXN0T2ZJdGVtcy5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLmxpc3RPZkl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0xhc3QgPSAhdGhpcy50aHlSZXZlcnNlID8gaW5kZXggPT09IGxlbmd0aCAtIDEgOiBpbmRleCA9PT0gMDtcbiAgICAgICAgICAgICAgICBpdGVtLmlzRmlyc3QgPSB0aGlzLnRoeVJldmVyc2UgPyBpbmRleCA9PT0gbGVuZ3RoIC0gMSA6IGluZGV4ID09PSAwO1xuICAgICAgICAgICAgICAgIGl0ZW0ucmV2ZXJzZSA9IHRoaXMudGh5UmV2ZXJzZTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnBvc2l0aW9uID0gZ2V0VGltZWxpbmVJdGVtUG9zaXRpb24oaW5kZXgsIHRoaXMudGh5TW9kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmRlc2NyaXB0aW9uIHx8IChpdGVtLnRoeVBvc2l0aW9uICYmICF0aGlzLmhvcml6b250YWwpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVUaW1lbGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGl0ZW0uZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRpbWVsaW5lSXRlbXMgPSB0aGlzLnRoeVJldmVyc2UgPyB0aGlzLmxpc3RPZkl0ZW1zLnRvQXJyYXkoKS5yZXZlcnNlKCkgOiB0aGlzLmxpc3RPZkl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG5mdW5jdGlvbiBzaW1wbGVDaGFuZ2VBY3RpdmF0ZWQoc2ltcGxlQ2hhbmdlPzogU2ltcGxlQ2hhbmdlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHNpbXBsZUNoYW5nZSAmJiAoc2ltcGxlQ2hhbmdlLnByZXZpb3VzVmFsdWUgIT09IHNpbXBsZUNoYW5nZS5jdXJyZW50VmFsdWUgfHwgc2ltcGxlQ2hhbmdlLmlzRmlyc3RDaGFuZ2UoKSkpO1xufVxuXG5mdW5jdGlvbiBnZXRUaW1lbGluZUl0ZW1Qb3NpdGlvbihpbmRleDogbnVtYmVyLCBtb2RlOiBUaHlUaW1lTW9kZSk6IFRoeVRpbWVNb2RlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gbW9kZSA9PT0gJ2xlZnQnID8gJ2xlZnQnIDogbW9kZSA9PT0gJ3JpZ2h0JyA/ICdyaWdodCcgOiBtb2RlID09PSAnY2VudGVyJyAmJiBpbmRleCAlIDIgPT09IDAgPyAnbGVmdCcgOiAncmlnaHQnO1xufVxuIl19
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLFNBQVMsRUFPVCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSTFELE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDcEIsNkJBQWEsQ0FBQTtJQUNiLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkI7QUFJRDs7OztHQUlHO0FBbUJILE1BQU0sT0FBTyxXQUFXO0lBaUNwQixZQUFvQixHQUFzQixFQUFVLGVBQW1DO1FBQW5FLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBbkJ2Rjs7O1dBR0c7UUFDTSxpQkFBWSxHQUFxQixVQUFVLENBQUM7UUFFOUMsa0JBQWEsR0FBc0IsRUFBRSxDQUFDO1FBRXJDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRUosZUFBVSxHQUFHLElBQUksQ0FBQztRQUNaLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBS3lCLENBQUM7SUFFM0YsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3hDLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDaEMsQ0FBQztpQkFBTSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMvQixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQ2hDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUYsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRSxDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDakMsQ0FBQztnQkFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0csQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0EzRlEsV0FBVztrR0FBWCxXQUFXLG1HQUtBLGdCQUFnQix1VkFuQnpCLENBQUMsa0JBQWtCLENBQUMsc0RBNENkLGVBQWUsa0RBM0N0Qjs7Ozs7Ozs7O0tBU1QsNERBRVMsS0FBSyxtSEFBRSxnQkFBZ0I7OzJGQUV4QixXQUFXO2tCQWxCdkIsU0FBUzttQkFBQztvQkFDUCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRSxjQUFjO29CQUN4QixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7S0FTVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDO2lCQUNyQzt1SEFNMkMsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFPN0IsT0FBTztzQkFBZixLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTTZCLFVBQVU7c0JBQTVDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNRLGFBQWE7c0JBQXJELFdBQVc7dUJBQUMsMEJBQTBCO2dCQUNHLGNBQWM7c0JBQXZELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNJLGdCQUFnQjtzQkFBM0QsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBQ0ksVUFBVTtzQkFBdkQsV0FBVzt1QkFBQywrQkFBK0I7Z0JBRzVDLFdBQVc7c0JBRFYsZUFBZTt1QkFBQyxlQUFlOztBQStEcEMsU0FBUyxxQkFBcUIsQ0FBQyxZQUEyQjtJQUN0RCxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEtBQUssWUFBWSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFILENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLEtBQWEsRUFBRSxJQUFpQjtJQUM3RCxPQUFPLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUMzSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaHlUaW1lbGluZUl0ZW0gfSBmcm9tICcuL3RpbWVsaW5lLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoeVRpbWVsaW5lU2VydmljZSB9IGZyb20gJy4vdGltZWxpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIFRoeVRpbWVNb2RlID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuXG5leHBvcnQgZW51bSBUaHlUaW1lTW9kZXMge1xuICAgIGxlZnQgPSAnbGVmdCcsXG4gICAgcmlnaHQgPSAncmlnaHQnLFxuICAgIGNlbnRlciA9ICdjZW50ZXInXG59XG5cbmV4cG9ydCB0eXBlIFRoeVRpbWVEaXJlY3Rpb24gPSAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuXG4vKipcbiAqIOaXtumXtOi9tOe7hOS7tlxuICogQG5hbWUgdGh5LXRpbWVsaW5lXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzZWxlY3RvcjogJ3RoeS10aW1lbGluZScsXG4gICAgcHJvdmlkZXJzOiBbVGh5VGltZWxpbmVTZXJ2aWNlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aW1lbGluZUl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0udGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0ZvciwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5VGltZWxpbmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiDoioLngrnmjpLluo/mmK/lkKblgJLluo9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aHlSZXZlcnNlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5pS55Y+Y5pe26Ze06L205ZKM5YaF5a6555qE55u45a+55L2N572uXG4gICAgICogQHR5cGUgbGVmdCB8IHJpZ2h0IHwgY2VudGVyXG4gICAgICogQGRlZmF1bHQgbGVmdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1vZGU6IFRoeVRpbWVNb2RlO1xuXG4gICAgLyoqXG4gICAgICog5pe26Ze06L2055qE5pa55ZCRXG4gICAgICogQHR5cGUgaG9yaXpvbnRhbCB8IHZlcnRpY2FsXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGlyZWN0aW9uOiBUaHlUaW1lRGlyZWN0aW9uID0gJ3ZlcnRpY2FsJztcblxuICAgIHB1YmxpYyB0aW1lbGluZUl0ZW1zOiBUaHlUaW1lbGluZUl0ZW1bXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS10aW1lbGluZWApIGlzVGltZWxpbmUgPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXRpbWVsaW5lLXJpZ2h0YCkgcmlnaHRUaW1lbGluZSA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXRpbWVsaW5lLWNlbnRlcmApIGNlbnRlclRpbWVsaW5lID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdGltZWxpbmUtdGVtcGxhdGVgKSB0ZW1wbGF0ZVRpbWVsaW5lID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdGltZWxpbmUtaG9yaXpvbnRhbGApIGhvcml6b250YWwgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5VGltZWxpbmVJdGVtKVxuICAgIGxpc3RPZkl0ZW1zOiBRdWVyeUxpc3Q8VGh5VGltZWxpbmVJdGVtPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSB0aW1lbGluZVNlcnZpY2U6IFRoeVRpbWVsaW5lU2VydmljZSkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlNb2RlLCB0aHlSZXZlcnNlIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAodGh5TW9kZSAmJiAhdGhpcy5ob3Jpem9udGFsKSB7XG4gICAgICAgICAgICBpZiAodGh5TW9kZS5jdXJyZW50VmFsdWUgPT09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0VGltZWxpbmUgPSAhdGhpcy50ZW1wbGF0ZVRpbWVsaW5lO1xuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyVGltZWxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGh5TW9kZS5jdXJyZW50VmFsdWUgPT09ICdjZW50ZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jZW50ZXJUaW1lbGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodFRpbWVsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmlnaHRUaW1lbGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyVGltZWxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoKHNpbXBsZUNoYW5nZUFjdGl2YXRlZCh0aHlNb2RlKSAmJiAhdGhpcy5ob3Jpem9udGFsKSB8fCBzaW1wbGVDaGFuZ2VBY3RpdmF0ZWQodGh5UmV2ZXJzZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hpbGRyZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmhvcml6b250YWwgPSB0aGlzLnRoeURpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5jaGVjayQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuKCk7XG4gICAgICAgIHRoaXMubGlzdE9mSXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlbigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNoaWxkcmVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5saXN0T2ZJdGVtcyAmJiB0aGlzLmxpc3RPZkl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5saXN0T2ZJdGVtcy5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLmxpc3RPZkl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0xhc3QgPSAhdGhpcy50aHlSZXZlcnNlID8gaW5kZXggPT09IGxlbmd0aCAtIDEgOiBpbmRleCA9PT0gMDtcbiAgICAgICAgICAgICAgICBpdGVtLmlzRmlyc3QgPSB0aGlzLnRoeVJldmVyc2UgPyBpbmRleCA9PT0gbGVuZ3RoIC0gMSA6IGluZGV4ID09PSAwO1xuICAgICAgICAgICAgICAgIGl0ZW0ucmV2ZXJzZSA9IHRoaXMudGh5UmV2ZXJzZTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnBvc2l0aW9uID0gZ2V0VGltZWxpbmVJdGVtUG9zaXRpb24oaW5kZXgsIHRoaXMudGh5TW9kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmRlc2NyaXB0aW9uIHx8IChpdGVtLnRoeVBvc2l0aW9uICYmICF0aGlzLmhvcml6b250YWwpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVUaW1lbGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGl0ZW0uZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRpbWVsaW5lSXRlbXMgPSB0aGlzLnRoeVJldmVyc2UgPyB0aGlzLmxpc3RPZkl0ZW1zLnRvQXJyYXkoKS5yZXZlcnNlKCkgOiB0aGlzLmxpc3RPZkl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG5mdW5jdGlvbiBzaW1wbGVDaGFuZ2VBY3RpdmF0ZWQoc2ltcGxlQ2hhbmdlPzogU2ltcGxlQ2hhbmdlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHNpbXBsZUNoYW5nZSAmJiAoc2ltcGxlQ2hhbmdlLnByZXZpb3VzVmFsdWUgIT09IHNpbXBsZUNoYW5nZS5jdXJyZW50VmFsdWUgfHwgc2ltcGxlQ2hhbmdlLmlzRmlyc3RDaGFuZ2UoKSkpO1xufVxuXG5mdW5jdGlvbiBnZXRUaW1lbGluZUl0ZW1Qb3NpdGlvbihpbmRleDogbnVtYmVyLCBtb2RlOiBUaHlUaW1lTW9kZSk6IFRoeVRpbWVNb2RlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gbW9kZSA9PT0gJ2xlZnQnID8gJ2xlZnQnIDogbW9kZSA9PT0gJ3JpZ2h0JyA/ICdyaWdodCcgOiBtb2RlID09PSAnY2VudGVyJyAmJiBpbmRleCAlIDIgPT09IDAgPyAnbGVmdCcgOiAncmlnaHQnO1xufVxuIl19
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
1
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
3
2
|
import { Platform } from '@angular/cdk/platform';
|
|
4
|
-
import { Directive, ElementRef, Input, NgZone, ViewContainerRef } from '@angular/core';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { Directive, ElementRef, Input, NgZone, ViewContainerRef, booleanAttribute, numberAttribute } from '@angular/core';
|
|
4
|
+
import { ThyOverlayDirectiveBase } from 'ngx-tethys/core';
|
|
5
|
+
import { isString } from 'ngx-tethys/util';
|
|
7
6
|
import { ThyTooltipService } from './tooltip.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
import * as i1 from "@angular/cdk/platform";
|
|
@@ -53,7 +52,7 @@ export class ThyTooltipDirective extends ThyOverlayDirectiveBase {
|
|
|
53
52
|
* @default false
|
|
54
53
|
*/
|
|
55
54
|
set thyTooltipDisabled(value) {
|
|
56
|
-
this.disabled =
|
|
55
|
+
this.disabled = value;
|
|
57
56
|
// If tooltip is disabled, hide immediately.
|
|
58
57
|
if (this.disabled) {
|
|
59
58
|
this.hide(0);
|
|
@@ -107,30 +106,8 @@ export class ThyTooltipDirective extends ThyOverlayDirectiveBase {
|
|
|
107
106
|
this.tooltipRef?.dispose();
|
|
108
107
|
}
|
|
109
108
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.Platform }, { token: i2.FocusMonitor }, { token: i0.ViewContainerRef }, { token: i3.ThyTooltipService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
110
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
109
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyTooltipDirective, isStandalone: true, selector: "[thyTooltip],[thy-tooltip]", inputs: { content: ["thyTooltip", "content"], placement: ["thyTooltipPlacement", "placement"], thyTooltipClass: "thyTooltipClass", showDelay: ["thyTooltipShowDelay", "showDelay", numberAttribute], hideDelay: ["thyTooltipHideDelay", "hideDelay", numberAttribute], thyTooltipTrigger: "thyTooltipTrigger", thyTooltipDisabled: ["thyTooltipDisabled", "thyTooltipDisabled", booleanAttribute], data: ["thyTooltipTemplateContext", "data"], tooltipOffset: ["thyTooltipOffset", "tooltipOffset", numberAttribute], tooltipPin: ["thyTooltipPin", "tooltipPin", booleanAttribute] }, exportAs: ["thyTooltip"], usesInheritance: true, ngImport: i0 }); }
|
|
111
110
|
}
|
|
112
|
-
__decorate([
|
|
113
|
-
InputNumber(),
|
|
114
|
-
__metadata("design:type", Number)
|
|
115
|
-
], ThyTooltipDirective.prototype, "showDelay", void 0);
|
|
116
|
-
__decorate([
|
|
117
|
-
InputNumber(),
|
|
118
|
-
__metadata("design:type", Number)
|
|
119
|
-
], ThyTooltipDirective.prototype, "hideDelay", void 0);
|
|
120
|
-
__decorate([
|
|
121
|
-
InputBoolean(),
|
|
122
|
-
__metadata("design:type", Boolean),
|
|
123
|
-
__metadata("design:paramtypes", [Boolean])
|
|
124
|
-
], ThyTooltipDirective.prototype, "thyTooltipDisabled", null);
|
|
125
|
-
__decorate([
|
|
126
|
-
InputNumber(),
|
|
127
|
-
__metadata("design:type", Number)
|
|
128
|
-
], ThyTooltipDirective.prototype, "tooltipOffset", void 0);
|
|
129
|
-
__decorate([
|
|
130
|
-
InputBoolean(),
|
|
131
|
-
__metadata("design:type", Boolean),
|
|
132
|
-
__metadata("design:paramtypes", [Boolean])
|
|
133
|
-
], ThyTooltipDirective.prototype, "tooltipPin", null);
|
|
134
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyTooltipDirective, decorators: [{
|
|
135
112
|
type: Directive,
|
|
136
113
|
args: [{
|
|
@@ -149,24 +126,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
149
126
|
args: ['thyTooltipClass']
|
|
150
127
|
}], showDelay: [{
|
|
151
128
|
type: Input,
|
|
152
|
-
args: ['thyTooltipShowDelay']
|
|
129
|
+
args: [{ alias: 'thyTooltipShowDelay', transform: numberAttribute }]
|
|
153
130
|
}], hideDelay: [{
|
|
154
131
|
type: Input,
|
|
155
|
-
args: ['thyTooltipHideDelay']
|
|
132
|
+
args: [{ alias: 'thyTooltipHideDelay', transform: numberAttribute }]
|
|
156
133
|
}], thyTooltipTrigger: [{
|
|
157
134
|
type: Input,
|
|
158
135
|
args: ['thyTooltipTrigger']
|
|
159
136
|
}], thyTooltipDisabled: [{
|
|
160
137
|
type: Input,
|
|
161
|
-
args: ['thyTooltipDisabled']
|
|
138
|
+
args: [{ alias: 'thyTooltipDisabled', transform: booleanAttribute }]
|
|
162
139
|
}], data: [{
|
|
163
140
|
type: Input,
|
|
164
141
|
args: ['thyTooltipTemplateContext']
|
|
165
142
|
}], tooltipOffset: [{
|
|
166
143
|
type: Input,
|
|
167
|
-
args: ['thyTooltipOffset']
|
|
144
|
+
args: [{ alias: 'thyTooltipOffset', transform: numberAttribute }]
|
|
168
145
|
}], tooltipPin: [{
|
|
169
146
|
type: Input,
|
|
170
|
-
args: ['thyTooltipPin']
|
|
147
|
+
args: [{ alias: 'thyTooltipPin', transform: booleanAttribute }]
|
|
171
148
|
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQixnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBbUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRXREOztHQUVHO0FBTUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQVc1RCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQXlCLE9BQU8sQ0FBQyxLQUF3QjtRQUNyRCxvRkFBb0Y7UUFDcEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FB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REFBbUI7QUFLbEI7SUFBZCxXQUFXLEVBQUU7O3NEQUFtQjtBQW9CL0Q7SUFDQyxZQUFZLEVBQUU7Ozs2REFPZDtBQVV5QztJQUFkLFdBQVcsRUFBRTs7MERBQXVCO0FBTWhFO0lBQ0MsWUFBWSxFQUFFOzs7cURBR2Q7MkZBcEdRLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3FOQW9CNEIsT0FBTztzQkFBL0IsS0FBSzt1QkFBQyxZQUFZO2dCQWNXLFNBQVM7c0JBQXRDLEtBQUs7dUJBQUMscUJBQXFCO2dCQU14QixlQUFlO3NCQURsQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFTcUIsU0FBUztzQkFBckQsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBS2lCLFNBQVM7c0JBQXJELEtBQUs7dUJBQUMscUJBQXFCO2dCQVlJLGlCQUFpQjtzQkFBaEQsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBVXRCLGtCQUFrQjtzQkFGckIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBYVMsSUFBSTtzQkFBdkMsS0FBSzt1QkFBQywyQkFBMkI7Z0JBS1EsYUFBYTtzQkFBdEQsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBUXJCLFVBQVU7c0JBRmIsS0FBSzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciwgVGh5T3ZlcmxheURpcmVjdGl2ZUJhc2UsIFRoeU92ZXJsYXlUcmlnZ2VyLCBUaHlQbGFjZW1lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBUaHlUb29sdGlwQ29udGVudCB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFRoeVRvb2x0aXBSZWYgfSBmcm9tICcuL3Rvb2x0aXAtcmVmJztcbmltcG9ydCB7IFRoeVRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi90b29sdGlwLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBuYW1lIHRoeVRvb2x0aXBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5VG9vbHRpcF0sW3RoeS10b29sdGlwXScsXG4gICAgZXhwb3J0QXM6ICd0aHlUb29sdGlwJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeVRvb2x0aXBEaXJlY3RpdmUgZXh0ZW5kcyBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICB0b3VjaGVuZEhpZGVEZWxheSA9IDE1MDA7XG5cbiAgICBwcm90ZWN0ZWQgaXNBdXRvQ2xvc2VPbk1vYmlsZVRvdWNoOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgdG9vbHRpcENsYXNzOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAgIHByaXZhdGUgdG9vbHRpcFJlZjogVGh5VG9vbHRpcFJlZjtcblxuICAgIHByaXZhdGUgX2NvbnRlbnQ6IFRoeVRvb2x0aXBDb250ZW50O1xuXG4gICAgZ2V0IGNvbnRlbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaPkOekuua2iOaBr++8jOWPr+S7peaYr+aWh+acrO+8jOS5n+WPr+S7peaYr+S4gOS4quaooeadv1xuICAgICAqIEB0eXBlIHN0cmluZyB8IFRlbXBsYXRlUmVmPFQ+XG4gICAgICovXG4gICAgQElucHV0KCd0aHlUb29sdGlwJykgc2V0IGNvbnRlbnQodmFsdWU6IFRoeVRvb2x0aXBDb250ZW50KSB7XG4gICAgICAgIC8vIElmIHRoZSBjb250ZW50IGlzIG5vdCBhIHN0cmluZyAoZS5nLiBudW1iZXIpLCBjb252ZXJ0IGl0IHRvIGEgc3RyaW5nIGFuZCB0cmltIGl0LlxuICAgICAgICB0aGlzLl9jb250ZW50ID0gdmFsdWUgJiYgaXNTdHJpbmcodmFsdWUpID8gYCR7dmFsdWV9YC50cmltKCkgOiB2YWx1ZTtcbiAgICAgICAgaWYgKCF0aGlzLl9jb250ZW50ICYmIHRoaXMudG9vbHRpcFJlZj8uaXNUb29sdGlwVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaGlkZSgwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZj8udXBkYXRlVG9vbHRpcENvbnRlbnQodmFsdWUsIHRoaXMuZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjIflrprmj5DnpLrnmoTkvY3nva5cbiAgICAgKiBAdHlwZSBUaHlQbGFjZW1lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXBQbGFjZW1lbnQnKSBwbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICd0b3AnO1xuXG4gICAgLyoqXG4gICAgICog5o+Q56S65YaF5a656Ieq5a6a5LmJ5qC35byPXG4gICAgICovXG4gICAgQElucHV0KCd0aHlUb29sdGlwQ2xhc3MnKVxuICAgIHNldCB0aHlUb29sdGlwQ2xhc3ModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMudG9vbHRpcENsYXNzID0gdmFsdWU7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZj8uc2V0VG9vbHRpcENsYXNzKHRoaXMudG9vbHRpcENsYXNzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrmj5DnpLrlhoXlrrnlu7bov5/mr6vnp5JcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXBTaG93RGVsYXknKSBASW5wdXROdW1iZXIoKSBzaG93RGVsYXk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOmakOiXj+aPkOekuuWGheWuueW7tui/n+avq+enklxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcEhpZGVEZWxheScpIEBJbnB1dE51bWJlcigpIGhpZGVEZWxheTogbnVtYmVyO1xuXG4gICAgX3RyaWdnZXI6IFRoeU92ZXJsYXlUcmlnZ2VyID0gJ2hvdmVyJztcblxuICAgIC8qKlxuICAgICAqIOinpuWPkeaPkOekuuaWueW8j1xuICAgICAqIDxici8+YGhvdmVyYCDpvKDmoIfnp7vlhaXvvIzmmL7npLrmj5DnpLrvvJvpvKDmoIfnp7vlh7rvvIzpmpDol4/mj5DnpLrvvJvmmL7npLrmj5DnpLrml7bvvIzmu5rliqjpobXpnaLvvIzkvJrpmpDol4/mj5DnpLrjgIJcbiAgICAgKiA8YnIvPmBmb2N1c2Ag5YWD57Sg6I635Y+W54Sm54K577yM5pi+56S65o+Q56S677yb5YWD57Sg5aSx5Y6754Sm54K577yM6ZqQ6JeP5o+Q56S677yb5pi+56S65YWD57Sg5pe277yM5rua5Yqo6aG16Z2i77yM5o+Q56S65Lya6Lef6ZqP6IGa54Sm5rqQ5LiA6LW356e75Yqo44CCXG4gICAgICogPGJyLz5gY2xpY2tgIOeCueWHu+WFg+e0oO+8jOaYvuekuuaPkOekuu+8m+eCueWHu2JhY2tkcm9w77yM6ZqQ6JeP5o+Q56S677yb5pi+56S65o+Q56S65pe277yM6aG16Z2i55qE5rua5Yqo6KGM5Li65Lya6KKr6Zi75q2i44CCXG4gICAgICpcbiAgICAgKiBAdHlwZSBob3ZlciB8IGZvY3VzIHwgY2xpY2tcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXBUcmlnZ2VyJykgc2V0IHRoeVRvb2x0aXBUcmlnZ2VyKHZhbHVlOiBUaHlPdmVybGF5VHJpZ2dlcikge1xuICAgICAgICB0aGlzLnRyaWdnZXIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7mmK/lkKbnpoHnlKjmj5DnpLpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcERpc2FibGVkJylcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICBzZXQgdGh5VG9vbHRpcERpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICAvLyBJZiB0b29sdGlwIGlzIGRpc2FibGVkLCBoaWRlIGltbWVkaWF0ZWx5LlxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5oaWRlKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Lyg5YWlIHRlbXBsYXRlIOaXtu+8jOmcgOimgeazqOWFpee7mSB0ZW1wbGF0ZSDnmoTkuIrkuIvmlofmlbDmja5cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXBUZW1wbGF0ZUNvbnRleHQnKSBkYXRhOiBTYWZlQW55O1xuXG4gICAgLyoqXG4gICAgICog5YGP56e76YePXG4gICAgICovXG4gICAgQElucHV0KCd0aHlUb29sdGlwT2Zmc2V0JykgQElucHV0TnVtYmVyKCkgdG9vbHRpcE9mZnNldDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogaG92ZXIg6Kem5Y+R5pa55byP5LiLIOm8oOagh+enu+WFpVRvb2x0aXDmmK/lkKblm7rlrpogVG9vbHRpcFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCd0aHlUb29sdGlwUGluJylcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICBzZXQgdG9vbHRpcFBpbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm92ZXJsYXlQaW4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgdGh5VG9vbHRpcFNlcnZpY2U6IFRoeVRvb2x0aXBTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIHBsYXRmb3JtLCBmb2N1c01vbml0b3IsIG5nWm9uZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgIH1cblxuICAgIC8qKiBTaG93cyB0aGUgdG9vbHRpcCBhZnRlciB0aGUgZGVsYXkgaW4gbXMsIGRlZmF1bHRzIHRvIHRvb2x0aXAtZGVsYXktc2hvdyAyMDBtcyAqL1xuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZiA9IHRoaXMudGh5VG9vbHRpcFNlcnZpY2UuY3JlYXRlKHRoaXMuZWxlbWVudFJlZiwge1xuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIGNvbnRlbnRDbGFzczogdGhpcy50b29sdGlwQ2xhc3MsXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLnRvb2x0aXBPZmZzZXQsXG4gICAgICAgICAgICAgICAgdG9vbHRpcFBpbjogdGhpcy50b29sdGlwUGluLFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnRyaWdnZXIgPT09ICdjbGljaydcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi5zaG93KHRoaXMuY29udGVudCwgdGhpcy5kYXRhLCBkZWxheSk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGVzIHRoZSB0b29sdGlwIGFmdGVyIHRoZSBkZWxheSBpbiBtcywgZGVmYXVsdHMgdG8gdG9vbHRpcC1kZWxheS1oaWRlIDEwMG1zICovXG4gICAgaGlkZShkZWxheTogbnVtYmVyID0gdGhpcy5oaWRlRGVsYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmPy5oaWRlKGRlbGF5KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmPy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBR04sZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBbUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRXREOztHQUVHO0FBTUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQVc1RCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQXlCLE9BQU8sQ0FBQyxLQUF3QjtRQUNyRCxvRkFBb0Y7UUFDcEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQzthQUFNLENB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LCtDQU1sQixnQkFBZ0I7OzJGQS9GbkQsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7cU5Bb0I0QixPQUFPO3NCQUEvQixLQUFLO3VCQUFDLFlBQVk7Z0JBY1csU0FBUztzQkFBdEMsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBTXhCLGVBQWU7c0JBRGxCLEtBQUs7dUJBQUMsaUJBQWlCO2dCQVM2QyxTQUFTO3NCQUE3RSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBS0UsU0FBUztzQkFBN0UsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQVluQyxpQkFBaUI7c0JBQWhELEtBQUs7dUJBQUMsbUJBQW1CO2dCQVN0QixrQkFBa0I7c0JBRHJCLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVkvQixJQUFJO3NCQUF2QyxLQUFLO3VCQUFDLDJCQUEyQjtnQkFLZ0MsYUFBYTtzQkFBOUUsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQU81RCxVQUFVO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlLCBUaHlPdmVybGF5VHJpZ2dlciwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeVRvb2x0aXBDb250ZW50IH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGh5VG9vbHRpcFJlZiB9IGZyb20gJy4vdG9vbHRpcC1yZWYnO1xuaW1wb3J0IHsgVGh5VG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuL3Rvb2x0aXAuc2VydmljZSc7XG5cbi8qKlxuICogQG5hbWUgdGh5VG9vbHRpcFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlUb29sdGlwXSxbdGh5LXRvb2x0aXBdJyxcbiAgICBleHBvcnRBczogJ3RoeVRvb2x0aXAnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5VG9vbHRpcERpcmVjdGl2ZSBleHRlbmRzIFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHRvdWNoZW5kSGlkZURlbGF5ID0gMTUwMDtcblxuICAgIHByb3RlY3RlZCBpc0F1dG9DbG9zZU9uTW9iaWxlVG91Y2g6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSB0b29sdGlwQ2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgcHJpdmF0ZSB0b29sdGlwUmVmOiBUaHlUb29sdGlwUmVmO1xuXG4gICAgcHJpdmF0ZSBfY29udGVudDogVGh5VG9vbHRpcENvbnRlbnQ7XG5cbiAgICBnZXQgY29udGVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5o+Q56S65raI5oGv77yM5Y+v5Lul5piv5paH5pys77yM5Lmf5Y+v5Lul5piv5LiA5Liq5qih5p2/XG4gICAgICogQHR5cGUgc3RyaW5nIHwgVGVtcGxhdGVSZWY8VD5cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXAnKSBzZXQgY29udGVudCh2YWx1ZTogVGh5VG9vbHRpcENvbnRlbnQpIHtcbiAgICAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgbm90IGEgc3RyaW5nIChlLmcuIG51bWJlciksIGNvbnZlcnQgaXQgdG8gYSBzdHJpbmcgYW5kIHRyaW0gaXQuXG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSB2YWx1ZSAmJiBpc1N0cmluZyh2YWx1ZSkgPyBgJHt2YWx1ZX1gLnRyaW0oKSA6IHZhbHVlO1xuICAgICAgICBpZiAoIXRoaXMuX2NvbnRlbnQgJiYgdGhpcy50b29sdGlwUmVmPy5pc1Rvb2x0aXBWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5oaWRlKDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmPy51cGRhdGVUb29sdGlwQ29udGVudCh2YWx1ZSwgdGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaMh+WumuaPkOekuueahOS9jee9rlxuICAgICAqIEB0eXBlIFRoeVBsYWNlbWVudFxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcFBsYWNlbWVudCcpIHBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ3RvcCc7XG5cbiAgICAvKipcbiAgICAgKiDmj5DnpLrlhoXlrrnoh6rlrprkuYnmoLflvI9cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXBDbGFzcycpXG4gICAgc2V0IHRoeVRvb2x0aXBDbGFzcyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy50b29sdGlwQ2xhc3MgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmPy5zZXRUb29sdGlwQ2xhc3ModGhpcy50b29sdGlwQ2xhc3MpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYvuekuuaPkOekuuWGheWuueW7tui/n+avq+enklxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5VG9vbHRpcFNob3dEZWxheScsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHNob3dEZWxheTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6ZqQ6JeP5o+Q56S65YaF5a655bu26L+f5q+r56eSXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlUb29sdGlwSGlkZURlbGF5JywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgaGlkZURlbGF5OiBudW1iZXI7XG5cbiAgICBfdHJpZ2dlcjogVGh5T3ZlcmxheVRyaWdnZXIgPSAnaG92ZXInO1xuXG4gICAgLyoqXG4gICAgICog6Kem5Y+R5o+Q56S65pa55byPXG4gICAgICogPGJyLz5gaG92ZXJgIOm8oOagh+enu+WFpe+8jOaYvuekuuaPkOekuu+8m+m8oOagh+enu+WHuu+8jOmakOiXj+aPkOekuu+8m+aYvuekuuaPkOekuuaXtu+8jOa7muWKqOmhtemdou+8jOS8mumakOiXj+aPkOekuuOAglxuICAgICAqIDxici8+YGZvY3VzYCDlhYPntKDojrflj5bnhKbngrnvvIzmmL7npLrmj5DnpLrvvJvlhYPntKDlpLHljrvnhKbngrnvvIzpmpDol4/mj5DnpLrvvJvmmL7npLrlhYPntKDml7bvvIzmu5rliqjpobXpnaLvvIzmj5DnpLrkvJrot5/pmo/ogZrnhKbmupDkuIDotbfnp7vliqjjgIJcbiAgICAgKiA8YnIvPmBjbGlja2Ag54K55Ye75YWD57Sg77yM5pi+56S65o+Q56S677yb54K55Ye7YmFja2Ryb3DvvIzpmpDol4/mj5DnpLrvvJvmmL7npLrmj5DnpLrml7bvvIzpobXpnaLnmoTmu5rliqjooYzkuLrkvJrooqvpmLvmraLjgIJcbiAgICAgKlxuICAgICAqIEB0eXBlIGhvdmVyIHwgZm9jdXMgfCBjbGlja1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcFRyaWdnZXInKSBzZXQgdGh5VG9vbHRpcFRyaWdnZXIodmFsdWU6IFRoeU92ZXJsYXlUcmlnZ2VyKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlciA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruaYr+WQpuemgeeUqOaPkOekulxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlUb29sdGlwRGlzYWJsZWQnLCB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5VG9vbHRpcERpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgLy8gSWYgdG9vbHRpcCBpcyBkaXNhYmxlZCwgaGlkZSBpbW1lZGlhdGVseS5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOS8oOWFpSB0ZW1wbGF0ZSDml7bvvIzpnIDopoHms6jlhaXnu5kgdGVtcGxhdGUg55qE5LiK5LiL5paH5pWw5o2uXG4gICAgICovXG4gICAgQElucHV0KCd0aHlUb29sdGlwVGVtcGxhdGVDb250ZXh0JykgZGF0YTogU2FmZUFueTtcblxuICAgIC8qKlxuICAgICAqIOWBj+enu+mHj1xuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5VG9vbHRpcE9mZnNldCcsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRvb2x0aXBPZmZzZXQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIGhvdmVyIOinpuWPkeaWueW8j+S4iyDpvKDmoIfnp7vlhaVUb29sdGlw5piv5ZCm5Zu65a6aIFRvb2x0aXBcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5VG9vbHRpcFBpbicsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCB0b29sdGlwUGluKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVBpbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSB0aHlUb29sdGlwU2VydmljZTogVGh5VG9vbHRpcFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgbmdab25lKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgLyoqIFNob3dzIHRoZSB0b29sdGlwIGFmdGVyIHRoZSBkZWxheSBpbiBtcywgZGVmYXVsdHMgdG8gdG9vbHRpcC1kZWxheS1zaG93IDIwMG1zICovXG4gICAgc2hvdyhkZWxheTogbnVtYmVyID0gdGhpcy5zaG93RGVsYXkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMudG9vbHRpcFJlZikge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmID0gdGhpcy50aHlUb29sdGlwU2VydmljZS5jcmVhdGUodGhpcy5lbGVtZW50UmVmLCB7XG4gICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgY29udGVudENsYXNzOiB0aGlzLnRvb2x0aXBDbGFzcyxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMudG9vbHRpcE9mZnNldCxcbiAgICAgICAgICAgICAgICB0b29sdGlwUGluOiB0aGlzLnRvb2x0aXBQaW4sXG4gICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMudHJpZ2dlciA9PT0gJ2NsaWNrJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sdGlwUmVmLnNob3codGhpcy5jb250ZW50LCB0aGlzLmRhdGEsIGRlbGF5KTtcbiAgICB9XG5cbiAgICAvKiogSGlkZXMgdGhlIHRvb2x0aXAgYWZ0ZXIgdGhlIGRlbGF5IGluIG1zLCBkZWZhdWx0cyB0byB0b29sdGlwLWRlbGF5LWhpZGUgMTAwbXMgKi9cbiAgICBoaWRlKGRlbGF5OiBudW1iZXIgPSB0aGlzLmhpZGVEZWxheSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWY/LmhpZGUoZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWY/LmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
|