igniteui-angular 16.0.0-beta.2 → 16.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/accordion/accordion.component.mjs +4 -4
- package/esm2022/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/lib/action-strip/action-strip.component.mjs +7 -7
- package/esm2022/lib/action-strip/action-strip.module.mjs +5 -5
- package/esm2022/lib/action-strip/grid-actions/grid-action-button.component.mjs +4 -4
- package/esm2022/lib/action-strip/grid-actions/grid-actions-base.directive.mjs +4 -4
- package/esm2022/lib/action-strip/grid-actions/grid-editing-actions.component.mjs +4 -4
- package/esm2022/lib/action-strip/grid-actions/grid-pinning-actions.component.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +4 -4
- package/esm2022/lib/avatar/avatar.module.mjs +5 -5
- package/esm2022/lib/badge/badge.component.mjs +4 -4
- package/esm2022/lib/badge/badge.module.mjs +5 -5
- package/esm2022/lib/banner/banner.component.mjs +4 -4
- package/esm2022/lib/banner/banner.directives.mjs +4 -4
- package/esm2022/lib/banner/banner.module.mjs +5 -5
- package/esm2022/lib/buttonGroup/buttonGroup.component.mjs +4 -4
- package/esm2022/lib/buttonGroup/buttongroup.module.mjs +5 -5
- package/esm2022/lib/calendar/calendar-base.mjs +4 -4
- package/esm2022/lib/calendar/calendar.component.mjs +4 -4
- package/esm2022/lib/calendar/calendar.directives.mjs +16 -16
- package/esm2022/lib/calendar/calendar.module.mjs +5 -5
- package/esm2022/lib/calendar/days-view/day-item.component.mjs +4 -4
- package/esm2022/lib/calendar/days-view/days-view.component.mjs +4 -4
- package/esm2022/lib/calendar/days-view/daysview-navigation.service.mjs +4 -4
- package/esm2022/lib/calendar/month-picker/month-picker-base.mjs +4 -4
- package/esm2022/lib/calendar/month-picker/month-picker.component.mjs +4 -4
- package/esm2022/lib/calendar/months-view/months-view.component.mjs +4 -4
- package/esm2022/lib/calendar/months-view.pipe.mjs +7 -7
- package/esm2022/lib/calendar/years-view/years-view.component.mjs +7 -7
- package/esm2022/lib/card/card.component.mjs +28 -28
- package/esm2022/lib/card/card.module.mjs +5 -5
- package/esm2022/lib/carousel/carousel.component.mjs +7 -7
- package/esm2022/lib/carousel/carousel.directives.mjs +10 -10
- package/esm2022/lib/carousel/carousel.module.mjs +5 -5
- package/esm2022/lib/carousel/slide.component.mjs +4 -4
- package/esm2022/lib/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/lib/chips/chip.component.mjs +4 -4
- package/esm2022/lib/chips/chips-area.component.mjs +4 -4
- package/esm2022/lib/chips/chips.module.mjs +5 -5
- package/esm2022/lib/combo/combo-add-item.component.mjs +4 -4
- package/esm2022/lib/combo/combo-dropdown.component.mjs +4 -4
- package/esm2022/lib/combo/combo-item.component.mjs +4 -4
- package/esm2022/lib/combo/combo.api.mjs +4 -4
- package/esm2022/lib/combo/combo.common.mjs +4 -4
- package/esm2022/lib/combo/combo.component.mjs +4 -4
- package/esm2022/lib/combo/combo.directives.mjs +25 -25
- package/esm2022/lib/combo/combo.module.mjs +5 -5
- package/esm2022/lib/combo/combo.pipes.mjs +7 -7
- package/esm2022/lib/core/density.mjs +4 -4
- package/esm2022/lib/core/navigation/directives.mjs +7 -7
- package/esm2022/lib/core/navigation/nav.service.mjs +4 -4
- package/esm2022/lib/core/selection.mjs +4 -4
- package/esm2022/lib/core/touch.mjs +4 -4
- package/esm2022/lib/core/utils.mjs +4 -4
- package/esm2022/lib/date-common/calendar-container/calendar-container.component.mjs +4 -4
- package/esm2022/lib/date-common/picker-base.directive.mjs +4 -4
- package/esm2022/lib/date-common/picker-icons.common.mjs +10 -10
- package/esm2022/lib/date-picker/date-picker.component.mjs +4 -4
- package/esm2022/lib/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/lib/date-range-picker/date-range-picker-inputs.common.mjs +16 -16
- package/esm2022/lib/date-range-picker/date-range-picker.component.mjs +4 -4
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +5 -5
- package/esm2022/lib/dialog/dialog.component.mjs +4 -4
- package/esm2022/lib/dialog/dialog.directives.mjs +7 -7
- package/esm2022/lib/dialog/dialog.module.mjs +5 -5
- package/esm2022/lib/directives/autocomplete/autocomplete.directive.mjs +4 -4
- package/esm2022/lib/directives/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2022/lib/directives/button/button.directive.mjs +4 -4
- package/esm2022/lib/directives/button/button.module.mjs +5 -5
- package/esm2022/lib/directives/date-time-editor/date-time-editor.directive.mjs +4 -4
- package/esm2022/lib/directives/date-time-editor/date-time-editor.module.mjs +5 -5
- package/esm2022/lib/directives/divider/divider.directive.mjs +4 -4
- package/esm2022/lib/directives/divider/divider.module.mjs +5 -5
- package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +13 -13
- package/esm2022/lib/directives/drag-drop/drag-drop.module.mjs +5 -5
- package/esm2022/lib/directives/filter/filter.directive.mjs +7 -7
- package/esm2022/lib/directives/filter/filter.module.mjs +5 -5
- package/esm2022/lib/directives/focus/focus.directive.mjs +4 -4
- package/esm2022/lib/directives/focus/focus.module.mjs +5 -5
- package/esm2022/lib/directives/focus-trap/focus-trap.directive.mjs +4 -4
- package/esm2022/lib/directives/focus-trap/focus-trap.module.mjs +5 -5
- package/esm2022/lib/directives/for-of/base.helper.component.mjs +4 -4
- package/esm2022/lib/directives/for-of/display.container.mjs +4 -4
- package/esm2022/lib/directives/for-of/for_of.directive.mjs +7 -7
- package/esm2022/lib/directives/for-of/for_of.module.mjs +5 -5
- package/esm2022/lib/directives/for-of/for_of.sync.service.mjs +7 -7
- package/esm2022/lib/directives/for-of/horizontal.virtual.helper.component.mjs +4 -4
- package/esm2022/lib/directives/for-of/virtual.helper.component.mjs +4 -4
- package/esm2022/lib/directives/form-control/form-control.directive.mjs +4 -4
- package/esm2022/lib/directives/form-control/form-control.module.mjs +5 -5
- package/esm2022/lib/directives/hint/hint.directive.mjs +4 -4
- package/esm2022/lib/directives/input/input.directive.mjs +14 -4
- package/esm2022/lib/directives/label/label.directive.mjs +4 -4
- package/esm2022/lib/directives/layout/layout.directive.mjs +7 -7
- package/esm2022/lib/directives/layout/layout.module.mjs +5 -5
- package/esm2022/lib/directives/mask/mask-parsing.service.mjs +4 -4
- package/esm2022/lib/directives/mask/mask.directive.mjs +4 -4
- package/esm2022/lib/directives/mask/mask.module.mjs +5 -5
- package/esm2022/lib/directives/notification/notifications.directive.mjs +4 -4
- package/esm2022/lib/directives/prefix/prefix.directive.mjs +4 -4
- package/esm2022/lib/directives/radio/radio-group.directive.mjs +4 -4
- package/esm2022/lib/directives/radio/radio-group.module.mjs +5 -5
- package/esm2022/lib/directives/ripple/ripple.directive.mjs +4 -4
- package/esm2022/lib/directives/ripple/ripple.module.mjs +5 -5
- package/esm2022/lib/directives/scroll-inertia/scroll_inertia.directive.mjs +4 -4
- package/esm2022/lib/directives/scroll-inertia/scroll_inertia.module.mjs +5 -5
- package/esm2022/lib/directives/suffix/suffix.directive.mjs +4 -4
- package/esm2022/lib/directives/template-outlet/template_outlet.directive.mjs +4 -4
- package/esm2022/lib/directives/text-highlight/text-highlight.directive.mjs +4 -4
- package/esm2022/lib/directives/text-highlight/text-highlight.module.mjs +5 -5
- package/esm2022/lib/directives/text-selection/text-selection.directive.mjs +4 -4
- package/esm2022/lib/directives/text-selection/text-selection.module.mjs +5 -5
- package/esm2022/lib/directives/toggle/toggle.directive.mjs +10 -10
- package/esm2022/lib/directives/toggle/toggle.module.mjs +5 -5
- package/esm2022/lib/directives/tooltip/tooltip-target.directive.mjs +4 -4
- package/esm2022/lib/directives/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/lib/directives/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/lib/drop-down/drop-down-group.component.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down-item.base.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down-item.component.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down-navigation.directive.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down.base.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down.component.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down.module.mjs +5 -5
- package/esm2022/lib/expansion-panel/expansion-panel-body.component.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel-header.component.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel.common.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel.component.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel.directives.mjs +10 -10
- package/esm2022/lib/expansion-panel/expansion-panel.module.mjs +5 -5
- package/esm2022/lib/expansion-panel/toggle-animation-component.mjs +4 -4
- package/esm2022/lib/grids/api.service.mjs +4 -4
- package/esm2022/lib/grids/cell.component.mjs +4 -4
- package/esm2022/lib/grids/column-actions/column-actions-base.directive.mjs +4 -4
- package/esm2022/lib/grids/column-actions/column-actions.component.mjs +13 -13
- package/esm2022/lib/grids/column-actions/column-hiding.directive.mjs +4 -4
- package/esm2022/lib/grids/column-actions/column-pinning.directive.mjs +4 -4
- package/esm2022/lib/grids/column-actions/public_api.mjs +13 -0
- package/esm2022/lib/grids/columns/column-group.component.mjs +4 -4
- package/esm2022/lib/grids/columns/column-layout.component.mjs +4 -4
- package/esm2022/lib/grids/columns/column.component.mjs +4 -4
- package/esm2022/lib/grids/columns/templates.directive.mjs +25 -25
- package/esm2022/lib/grids/columns/validators.directive.mjs +22 -22
- package/esm2022/lib/grids/common/crud.service.mjs +4 -4
- package/esm2022/lib/grids/common/pipes.mjs +55 -55
- package/esm2022/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/base/grid-filtering-cell.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/base/grid-filtering-row.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/base-filtering.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-clear-filters.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-filtering.component.mjs +10 -10
- package/esm2022/lib/grids/filtering/excel-style/excel-style-header.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-hiding.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-pinning.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +7 -7
- package/esm2022/lib/grids/filtering/excel-style/excel-style-selecting.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/grid-filtering.service.mjs +4 -4
- package/esm2022/lib/grids/grid/expandable-cell.component.mjs +4 -4
- package/esm2022/lib/grids/grid/grid-api.service.mjs +4 -4
- package/esm2022/lib/grids/grid/grid-row.component.mjs +4 -4
- package/esm2022/lib/grids/grid/grid-validation.service.mjs +4 -4
- package/esm2022/lib/grids/grid/grid.component.mjs +5 -6
- package/esm2022/lib/grids/grid/grid.details.pipe.mjs +4 -4
- package/esm2022/lib/grids/grid/grid.directives.mjs +34 -34
- package/esm2022/lib/grids/grid/grid.module.mjs +27 -24
- package/esm2022/lib/grids/grid/grid.pipes.mjs +13 -13
- package/esm2022/lib/grids/grid/grid.summary.pipe.mjs +4 -4
- package/esm2022/lib/grids/grid/groupby-row.component.mjs +4 -4
- package/esm2022/lib/grids/grid-base.directive.mjs +4 -4
- package/esm2022/lib/grids/grid-footer/grid-footer.component.mjs +4 -4
- package/esm2022/lib/grids/grid-mrl-navigation.service.mjs +4 -4
- package/esm2022/lib/grids/grid-navigation.service.mjs +4 -4
- package/esm2022/lib/grids/grid.common.mjs +4 -4
- package/esm2022/lib/grids/grid.rowEdit.directive.mjs +16 -16
- package/esm2022/lib/grids/grouping/grid-group-by-area.component.mjs +4 -4
- package/esm2022/lib/grids/grouping/group-by-area.directive.mjs +7 -7
- package/esm2022/lib/grids/grouping/tree-grid-group-by-area.component.mjs +4 -4
- package/esm2022/lib/grids/headers/grid-header-group.component.mjs +4 -4
- package/esm2022/lib/grids/headers/grid-header-row.component.mjs +4 -4
- package/esm2022/lib/grids/headers/grid-header.component.mjs +4 -4
- package/esm2022/lib/grids/headers/pipes.mjs +10 -10
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-cell.component.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-api.service.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +7 -7
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.module.mjs +27 -24
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.pipes.mjs +7 -7
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-row.component.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/row-island-api.service.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/row-island.component.mjs +4 -4
- package/esm2022/lib/grids/moving/moving.drag.directive.mjs +4 -4
- package/esm2022/lib/grids/moving/moving.drop.directive.mjs +4 -4
- package/esm2022/lib/grids/moving/moving.service.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-data-selector.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-filtering.service.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid-navigation.service.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid.directives.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid.module.mjs +27 -24
- package/esm2022/lib/grids/pivot-grid/pivot-grid.pipes.mjs +31 -31
- package/esm2022/lib/grids/pivot-grid/pivot-header-row.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-content.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header-group.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-row.component.mjs +4 -4
- package/esm2022/lib/grids/public_api.mjs +5 -2
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resize-handle.directive.mjs +4 -4
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizer.component.mjs +4 -4
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizing.service.mjs +4 -4
- package/esm2022/lib/grids/resizing/resize-handle.directive.mjs +4 -4
- package/esm2022/lib/grids/resizing/resizer.component.mjs +4 -4
- package/esm2022/lib/grids/resizing/resizer.directive.mjs +4 -4
- package/esm2022/lib/grids/resizing/resizing.service.mjs +4 -4
- package/esm2022/lib/grids/row-drag.directive.mjs +10 -10
- package/esm2022/lib/grids/row.directive.mjs +4 -4
- package/esm2022/lib/grids/selection/drag-select.directive.mjs +4 -4
- package/esm2022/lib/grids/selection/row-selectors.mjs +10 -10
- package/esm2022/lib/grids/selection/selection.service.mjs +4 -4
- package/esm2022/lib/grids/state.directive.mjs +4 -4
- package/esm2022/lib/grids/summaries/grid-root-summary.pipe.mjs +4 -4
- package/esm2022/lib/grids/summaries/grid-summary.service.mjs +4 -4
- package/esm2022/lib/grids/summaries/summary-cell.component.mjs +4 -4
- package/esm2022/lib/grids/summaries/summary-row.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/common.mjs +16 -16
- package/esm2022/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/grid-toolbar-exporter.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/grid-toolbar-hiding.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/grid-toolbar-pinning.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/grid-toolbar.base.mjs +7 -7
- package/esm2022/lib/grids/toolbar/grid-toolbar.component.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/public_api.mjs +7 -1
- package/esm2022/lib/grids/tree-grid/tree-cell.component.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid-api.service.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid-row.component.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid-selection.service.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.component.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.directives.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.filtering.pipe.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.grouping.pipe.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.module.mjs +44 -39
- package/esm2022/lib/grids/tree-grid/tree-grid.pipes.mjs +22 -22
- package/esm2022/lib/grids/tree-grid/tree-grid.summary.pipe.mjs +4 -4
- package/esm2022/lib/icon/icon.component.mjs +4 -4
- package/esm2022/lib/icon/icon.module.mjs +5 -5
- package/esm2022/lib/icon/icon.service.mjs +4 -4
- package/esm2022/lib/input-group/input-group.component.mjs +4 -4
- package/esm2022/lib/input-group/input-group.module.mjs +5 -5
- package/esm2022/lib/list/list-item.component.mjs +4 -4
- package/esm2022/lib/list/list.common.mjs +16 -16
- package/esm2022/lib/list/list.component.mjs +19 -19
- package/esm2022/lib/list/list.module.mjs +5 -5
- package/esm2022/lib/navbar/navbar.component.mjs +10 -10
- package/esm2022/lib/navbar/navbar.module.mjs +5 -5
- package/esm2022/lib/navigation-drawer/navigation-drawer.component.mjs +4 -4
- package/esm2022/lib/navigation-drawer/navigation-drawer.directives.mjs +10 -10
- package/esm2022/lib/navigation-drawer/navigation-drawer.module.mjs +5 -5
- package/esm2022/lib/paginator/paginator-interfaces.mjs +4 -4
- package/esm2022/lib/paginator/paginator.component.mjs +13 -13
- package/esm2022/lib/paginator/paginator.module.mjs +5 -5
- package/esm2022/lib/progressbar/progressbar.common.mjs +7 -7
- package/esm2022/lib/progressbar/progressbar.component.mjs +10 -10
- package/esm2022/lib/progressbar/progressbar.module.mjs +5 -5
- package/esm2022/lib/query-builder/query-builder-header.component.mjs +4 -4
- package/esm2022/lib/query-builder/query-builder.component.mjs +7 -7
- package/esm2022/lib/query-builder/query-builder.module.mjs +5 -5
- package/esm2022/lib/radio/radio.component.mjs +4 -4
- package/esm2022/lib/select/select-group.component.mjs +4 -4
- package/esm2022/lib/select/select-item.component.mjs +4 -4
- package/esm2022/lib/select/select-navigation.directive.mjs +4 -4
- package/esm2022/lib/select/select.component.mjs +13 -13
- package/esm2022/lib/select/select.module.mjs +5 -5
- package/esm2022/lib/services/animation/angular-animation-service.mjs +4 -4
- package/esm2022/lib/services/csv/csv-exporter.mjs +4 -4
- package/esm2022/lib/services/direction/directionality.mjs +4 -4
- package/esm2022/lib/services/excel/excel-exporter.mjs +4 -4
- package/esm2022/lib/services/overlay/overlay.mjs +4 -4
- package/esm2022/lib/services/transaction/transaction-factory.service.mjs +7 -7
- package/esm2022/lib/simple-combo/simple-combo.component.mjs +4 -4
- package/esm2022/lib/simple-combo/simple-combo.module.mjs +5 -5
- package/esm2022/lib/slider/label/thumb-label.component.mjs +4 -4
- package/esm2022/lib/slider/slider.common.mjs +10 -10
- package/esm2022/lib/slider/slider.component.mjs +4 -4
- package/esm2022/lib/slider/slider.module.mjs +5 -5
- package/esm2022/lib/slider/thumb/thumb-slider.component.mjs +4 -4
- package/esm2022/lib/slider/ticks/tick.pipe.mjs +4 -4
- package/esm2022/lib/slider/ticks/ticks.component.mjs +4 -4
- package/esm2022/lib/snackbar/snackbar.component.mjs +4 -4
- package/esm2022/lib/snackbar/snackbar.module.mjs +5 -5
- package/esm2022/lib/splitter/splitter-pane/splitter-pane.component.mjs +4 -4
- package/esm2022/lib/splitter/splitter.component.mjs +7 -7
- package/esm2022/lib/splitter/splitter.module.mjs +5 -5
- package/esm2022/lib/stepper/step/step.component.mjs +4 -4
- package/esm2022/lib/stepper/stepper.component.mjs +4 -4
- package/esm2022/lib/stepper/stepper.directive.mjs +22 -22
- package/esm2022/lib/stepper/stepper.module.mjs +5 -5
- package/esm2022/lib/stepper/stepper.service.mjs +4 -4
- package/esm2022/lib/switch/switch.component.mjs +4 -4
- package/esm2022/lib/switch/switch.module.mjs +5 -5
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-content.component.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-header.component.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-item.component.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.component.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.directives.mjs +7 -7
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.module.mjs +5 -5
- package/esm2022/lib/tabs/tab-content.directive.mjs +4 -4
- package/esm2022/lib/tabs/tab-header.directive.mjs +4 -4
- package/esm2022/lib/tabs/tab-item.directive.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tab-content.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tab-header.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tab-item.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tabs.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tabs.directives.mjs +7 -7
- package/esm2022/lib/tabs/tabs/tabs.module.mjs +5 -5
- package/esm2022/lib/tabs/tabs.directive.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker.directives.mjs +7 -7
- package/esm2022/lib/time-picker/time-picker.module.mjs +5 -5
- package/esm2022/lib/time-picker/time-picker.pipes.mjs +7 -7
- package/esm2022/lib/toast/toast.component.mjs +4 -4
- package/esm2022/lib/toast/toast.module.mjs +5 -5
- package/esm2022/lib/tree/tree-navigation.service.mjs +4 -4
- package/esm2022/lib/tree/tree-node/tree-node.component.mjs +7 -7
- package/esm2022/lib/tree/tree-selection.service.mjs +4 -4
- package/esm2022/lib/tree/tree.component.mjs +10 -10
- package/esm2022/lib/tree/tree.module.mjs +5 -5
- package/esm2022/lib/tree/tree.service.mjs +4 -4
- package/fesm2022/igniteui-angular.mjs +3098 -3079
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/directives/input/input.directive.d.ts +3 -0
- package/lib/grids/column-actions/public_api.d.ts +7 -0
- package/lib/grids/grid/grid.module.d.ts +23 -20
- package/lib/grids/grid/public_api.d.ts +1 -1
- package/lib/grids/hierarchical-grid/hierarchical-grid.module.d.ts +23 -20
- package/lib/grids/hierarchical-grid/public_api.d.ts +1 -1
- package/lib/grids/pivot-grid/pivot-grid.module.d.ts +23 -20
- package/lib/grids/pivot-grid/public_api.d.ts +1 -1
- package/lib/grids/public_api.d.ts +2 -1
- package/lib/grids/tree-grid/public_api.d.ts +5 -1
- package/lib/grids/tree-grid/tree-grid.module.d.ts +40 -35
- package/package.json +6 -6
|
@@ -248,10 +248,10 @@ export class IgxDropDownItemBaseDirective {
|
|
|
248
248
|
focusedItem.element.nativeElement.focus({ preventScroll: true });
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
252
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0
|
|
251
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownItemBaseDirective, deps: [{ token: IGX_DROPDOWN_BASE }, { token: i0.ElementRef }, { token: i1.IgxDropDownGroupComponent, optional: true }, { token: IgxSelectionAPIService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
252
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxDropDownItemBaseDirective, isStandalone: true, selector: "[igxDropDownItemBase]", inputs: { id: "id", ariaLabel: "ariaLabel", index: "index", value: "value", selected: "selected", isHeader: "isHeader", disabled: "disabled", role: "role" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "click": "clicked($event)", "mousedown": "handleMousedown($event)" }, properties: { "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "class.igx-drop-down__item": "this.itemStyle", "class.igx-drop-down__item--cosy": "this.itemStyleCosy", "class.igx-drop-down__item--compact": "this.itemStyleCompact", "attr.aria-selected": "this.selected", "class.igx-drop-down__item--selected": "this.selected", "class.igx-drop-down__item--focused": "this.focused", "class.igx-drop-down__header": "this.isHeader", "class.igx-drop-down__header--cosy": "this.headerClassCosy", "class.igx-drop-down__header--compact": "this.headerClassCompact", "attr.aria-disabled": "this.disabled", "class.igx-drop-down__item--disabled": "this.disabled", "attr.role": "this.role" } }, ngImport: i0 }); }
|
|
253
253
|
}
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownItemBaseDirective, decorators: [{
|
|
255
255
|
type: Directive,
|
|
256
256
|
args: [{
|
|
257
257
|
selector: '[igxDropDownItemBase]',
|
|
@@ -334,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
334
334
|
type: HostListener,
|
|
335
335
|
args: ['mousedown', ['$event']]
|
|
336
336
|
}] } });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLWl0ZW0uYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLWl0ZW0uYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBYyxRQUFRLEVBQUUsTUFBTSxFQUFXLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFHM0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7SUFnQnJDLElBRVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELElBQVcsU0FBUyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUNXLEtBQUs7UUFDWixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN6QjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBc0JEOztPQUVHO0lBQ0gsSUFDVyxTQUFTO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxLQUFLLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxJQUdXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFRRDs7Ozs7O09BTUc7SUFDSCxJQUNXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxJQUFXLE9BQU8sQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUF1QkQ7O09BRUc7SUFDSCxJQUNXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxLQUFLLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLGtCQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEtBQUssU0FBUyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FpQkc7SUFDSCxJQUdXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQWFEOzs7O09BSUc7SUFDSCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQWMsUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO0lBQzdELENBQUM7SUFXRCxZQUN5QyxRQUF1QixFQUNsRCxVQUFzQixFQUNWLEtBQWdDLEVBQ0EsU0FBa0M7UUFIbkQsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQUNsRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ1YsVUFBSyxHQUFMLEtBQUssQ0FBMkI7UUFDQSxjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQXBSNUY7Ozs7Ozs7Ozs7V0FVRztRQUdJLE9BQUUsR0FBRyxzQkFBc0IsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQStHOUM7O1dBRUc7UUFFSSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUE2RnBEOzs7Ozs7V0FNRztRQUdJLFNBQUksR0FBRyxRQUFRLENBQUM7UUFpQ3ZCOztXQUVHO1FBQ08sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFPcEIsQ0FBQztJQUVMOzs7T0FHRztJQUVJLE9BQU8sQ0FBQyxLQUFLO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFFSSxlQUFlLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO1lBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFTSxTQUFTO1FBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDeEQsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQztpQkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRO2dCQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxvQkFBb0IsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0YsSUFBSSxLQUFLLG9CQUFvQixFQUFFO2dCQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQztTQUNKO0lBQ0wsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxJQUFjLFlBQVk7UUFDdEIsT0FBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGlGQUFpRjtJQUN2RSxlQUFlO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7WUFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDZCxPQUFPO2FBQ1Y7WUFDRCxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNwRTtJQUNMLENBQUM7bUhBdFVRLDRCQUE0QixrQkFrUnpCLGlCQUFpQixnR0FHTCxzQkFBc0I7dUdBclJyQyw0QkFBNEI7O2dHQUE1Qiw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFtUlEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUV4QixRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQjs0Q0F2UXZDLEVBQUU7c0JBRlIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFLSyxTQUFTO3NCQUZuQixXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLEtBQUs7Z0JBeUJLLEtBQUs7c0JBRGYsS0FBSztnQkE4QkMsS0FBSztzQkFEWCxLQUFLO2dCQU9LLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsMkJBQTJCO2dCQVM3QixhQUFhO3NCQUR2QixXQUFXO3VCQUFDLGlDQUFpQztnQkFTbkMsZ0JBQWdCO3NCQUQxQixXQUFXO3VCQUFDLG9DQUFvQztnQkFxQnRDLFFBQVE7c0JBSGxCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsb0JBQW9COztzQkFDaEMsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBaUIzQyxjQUFjO3NCQURwQixNQUFNO2dCQVdJLE9BQU87c0JBRGpCLFdBQVc7dUJBQUMsb0NBQW9DO2dCQXFDMUMsUUFBUTtzQkFGZCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLDZCQUE2QjtnQkFPL0IsZUFBZTtzQkFEekIsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBU3JDLGtCQUFrQjtzQkFENUIsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBMEJ4QyxRQUFRO3NCQUhsQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG9CQUFvQjs7c0JBQ2hDLFdBQVc7dUJBQUMscUNBQXFDO2dCQWtCM0MsSUFBSTtzQkFGVixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFdBQVc7Z0JBdURqQixPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVMxQixlQUFlO3NCQURyQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcm9wRG93bkJhc2UsIElHWF9EUk9QRE9XTl9CQVNFIH0gZnJvbSAnLi9kcm9wLWRvd24uY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE9wdGlvbmFsLCBJbmplY3QsIERvQ2hlY2ssIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hTZWxlY3Rpb25BUElTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZWxlY3Rpb24nO1xuaW1wb3J0IHsgSWd4RHJvcERvd25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vZHJvcC1kb3duLWdyb3VwLmNvbXBvbmVudCc7XG5cbmxldCBORVhUX0lEID0gMDtcblxuLyoqXG4gKiBBbiBhYnN0cmFjdCBjbGFzcyBkZWZpbmluZyBhIGRyb3AtZG93biBpdGVtOlxuICogV2l0aCBwcm9wZXJ0aWVzIC8gc3R5bGVzIGZvciBzZWxlY3Rpb24sIGhpZ2hsaWdodCwgaGVpZ2h0XG4gKiBCaW5kYWJsZSBwcm9wZXJ0eSBmb3IgcGFzc2luZyBkYXRhIChgdmFsdWU6IGFueWApXG4gKiBQYXJlbnQgY29tcG9uZW50IChoYXMgdG8gYmUgdXNlZCB1bmRlciBhIHBhcmVudCB3aXRoIHR5cGUgYElEcm9wRG93bkJhc2VgKVxuICogTWV0aG9kIGZvciBoYW5kbGluZyBjbGljayBvbiBIb3N0KClcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4RHJvcERvd25JdGVtQmFzZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgaXRlbS5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kcm9wLWRvd24taXRlbSBbaWRdID0gJ2lneC1kcm9wLWRvd24taXRlbS0wJz48L2lneC1kcm9wLWRvd24taXRlbT5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGl0ZW1JZCA9ICB0aGlzLml0ZW0uaWQ7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4U2VsZWN0SXRlbUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgaWd4LWRyb3AtZG93bi1pdGVtLSR7TkVYVF9JRCsrfWA7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFiZWwgPyB0aGlzLl9sYWJlbCA6IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogdGhpcy5pZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGFyaWFMYWJlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2xhYmVsID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGl0ZW1JRCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgaW5kZXggb2YgdGhlIGRyb3Bkb3duIGl0ZW0uXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0IHRoZSBkYXRhIGluZGV4IG9mIHRoZSBzZWxlY3RlZCBkcm9wZG93biBpdGVtXG4gICAgICogbGV0IHNlbGVjdGVkSXRlbUluZGV4ID0gdGhpcy5kcm9wZG93bi5zZWxlY3RlZEl0ZW0uaW5kZXhcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuX2luZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtSW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaW5kZXgodmFsdWUpIHtcbiAgICAgICAgdGhpcy5faW5kZXggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL3NldHMgdGhlIHZhbHVlIG9mIHRoZSBpdGVtIGlmIHRoZSBpdGVtIGlzIGRhdGFib3VuZFxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIHVzYWdlIGluIElneERyb3BEb3duSXRlbUNvbXBvbmVudFxuICAgICAqIC8vIGdldFxuICAgICAqIGxldCBteVNlbGVjdGVkSXRlbVZhbHVlID0gdGhpcy5kcm9wZG93bi5zZWxlY3RlZEl0ZW0udmFsdWU7XG4gICAgICpcbiAgICAgKiAvLyBzZXRcbiAgICAgKiBsZXQgbXlTZWxlY3RlZEl0ZW0gPSB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSXRlbTtcbiAgICAgKiBteVNlbGVjdGVkSXRlbS52YWx1ZSA9IHsgaWQ6IDEyMywgbmFtZTogJ0V4YW1wbGUgTmFtZScgfVxuICAgICAqXG4gICAgICogLy8gdXNhZ2UgaW4gSWd4Q29tYm9JdGVtQ29tcG9uZW50XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IG15Q29tYm9JdGVtVmFsdWUgPSB0aGlzLmNvbWJvLml0ZW1zWzBdLnZhbHVlO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZhbHVlOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtZG93bl9faXRlbScpXG4gICAgcHVibGljIGdldCBpdGVtU3R5bGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0hlYWRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtZG93bl9faXRlbS0tY29zeScpXG4gICAgcHVibGljIGdldCBpdGVtU3R5bGVDb3N5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wRG93bi5kaXNwbGF5RGVuc2l0eSA9PT0gJ2Nvc3knICYmICF0aGlzLmlzSGVhZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1kb3duX19pdGVtLS1jb21wYWN0JylcbiAgICBwdWJsaWMgZ2V0IGl0ZW1TdHlsZUNvbXBhY3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3BEb3duLmRpc3BsYXlEZW5zaXR5ID09PSAnY29tcGFjdCcgJiYgIXRoaXMuaXNIZWFkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cy9HZXRzIGlmIHRoZSBpdGVtIGlzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgb25lIGluIHRoZSBkcm9wZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICBsZXQgbXlTZWxlY3RlZEl0ZW0gPSB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSXRlbTtcbiAgICAgKiAgbGV0IGlzTXlJdGVtU2VsZWN0ZWQgPSBteVNlbGVjdGVkSXRlbS5zZWxlY3RlZDsgLy8gdHJ1ZVxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogVHdvLXdheSBkYXRhIGJpbmRpbmdcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kcm9wLWRvd24taXRlbSBbKHNlbGVjdGVkKV09J21vZGVsLmlzU2VsZWN0ZWQnPjwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtZG93bl9faXRlbS0tc2VsZWN0ZWQnKVxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmlzSGVhZGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIGlmIHRoZSBnaXZlbiBpdGVtIGlzIGZvY3VzZWRcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIGxldCBteVNlbGVjdGVkSXRlbSA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJdGVtO1xuICAgICAqICBsZXQgaXNNeUl0ZW1Gb2N1c2VkID0gbXlTZWxlY3RlZEl0ZW0uZm9jdXNlZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kcm9wLWRvd25fX2l0ZW0tLWZvY3VzZWQnKVxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RhYmxlICYmIHRoaXMuX2ZvY3VzZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYGBgaHRtbFxuICAgICAqICA8aWd4LWRyb3AtZG93bi1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgZm9jdXNlZD17eyFpdGVtLmZvY3VzZWR9fT5cbiAgICAgKiAgICAgIDxkaXY+XG4gICAgICogICAgICAgICAge3tpdGVtLmZpZWxkfX1cbiAgICAgKiAgICAgIDwvZGl2PlxuICAgICAqICA8L2lneC1kcm9wLWRvd24taXRlbT5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGZvY3VzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZm9jdXNlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyBpZiB0aGUgZ2l2ZW4gaXRlbSBpcyBoZWFkZXJcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIC8vIGdldFxuICAgICAqICBsZXQgbXlTZWxlY3RlZEl0ZW0gPSB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSXRlbTtcbiAgICAgKiAgbGV0IGlzTXlJdGVtSGVhZGVyID0gbXlTZWxlY3RlZEl0ZW0uaXNIZWFkZXI7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogIDwhLS1zZXQtLT5cbiAgICAgKiAgPGlneC1kcm9wLWRvd24taXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgICAqICAgICAgPGRpdiAqbmdJZj1cIml0ZW1zLmluZGV4T2YoaXRlbSkgPT09IDU7IHRoZW4gaXRlbS5pc0hlYWRlciA9IHRydWVcIj5cbiAgICAgKiAgICAgICAgICB7e2l0ZW0uZmllbGR9fVxuICAgICAqICAgICAgPC9kaXY+XG4gICAgICogIDwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1kb3duX19oZWFkZXInKVxuICAgIHB1YmxpYyBpc0hlYWRlcjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1kb3duX19oZWFkZXItLWNvc3knKVxuICAgIHB1YmxpYyBnZXQgaGVhZGVyQ2xhc3NDb3N5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0hlYWRlciAmJiB0aGlzLmRyb3BEb3duLmRpc3BsYXlEZW5zaXR5ID09PSAnY29zeSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kcm9wLWRvd25fX2hlYWRlci0tY29tcGFjdCcpXG4gICAgcHVibGljIGdldCBoZWFkZXJDbGFzc0NvbXBhY3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzSGVhZGVyICYmIHRoaXMuZHJvcERvd24uZGlzcGxheURlbnNpdHkgPT09ICdjb21wYWN0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgaWYgdGhlIGdpdmVuIGl0ZW0gaXMgZGlzYWJsZWRcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgLy8gZ2V0XG4gICAgICogIGxldCBteVNlbGVjdGVkSXRlbSA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJdGVtO1xuICAgICAqICBsZXQgbXlJdGVtSXNEaXNhYmxlZCA9IG15U2VsZWN0ZWRJdGVtLmRpc2FibGVkO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqICA8aWd4LWRyb3AtZG93bi1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgZGlzYWJsZWQ9e3shaXRlbS5kaXNhYmxlZH19PlxuICAgICAqICAgICAgPGRpdj5cbiAgICAgKiAgICAgICAgICB7e2l0ZW0uZmllbGR9fVxuICAgICAqICAgICAgPC9kaXY+XG4gICAgICogIDwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICAgICAqIGBgYFxuICAgICAqICoqTk9URToqKiBEcm9wLWRvd24gaXRlbXMgaW5zaWRlIG9mIGEgZGlzYWJsZWQgYElneERyb3BEb3duR3JvdXBgIHdpbGwgYWx3YXlzIGNvdW50IGFzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1kb3duX19pdGVtLS1kaXNhYmxlZCcpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAgPyB0aGlzLmdyb3VwLmRpc2FibGVkIHx8IHRoaXMuX2Rpc2FibGVkIDogdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMvc2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgaXRlbS4gRGVmYXVsdCBpcyAnb3B0aW9uJy5cbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiAgPGlneC1kcm9wLWRvd24taXRlbSBbcm9sZV09XCJjdXN0b21Sb2xlXCI+PC9pZ3gtZHJvcC1kb3duLWl0ZW0+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHVibGljIHJvbGUgPSAnb3B0aW9uJztcblxuICAgIC8qKlxuICAgICAqIEdldHMgaXRlbSBpbmRleFxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGl0ZW1JbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wRG93bi5pdGVtcy5pbmRleE9mKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgaXRlbSBlbGVtZW50IGhlaWdodFxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaXRlbSBodG1sIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGdldCBlbGVtZW50KCk6IEVsZW1lbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaGFzSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbmRleCAhPT0gbnVsbCAmJiB0aGlzLl9pbmRleCAhPT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2ZvY3VzZWQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIF9pbmRleCA9IG51bGw7XG4gICAgcHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfbGFiZWwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoSUdYX0RST1BET1dOX0JBU0UpIHByb3RlY3RlZCBkcm9wRG93bjogSURyb3BEb3duQmFzZSxcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBncm91cDogSWd4RHJvcERvd25Hcm91cENvbXBvbmVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChJZ3hTZWxlY3Rpb25BUElTZXJ2aWNlKSBwcm90ZWN0ZWQgc2VsZWN0aW9uPzogSWd4U2VsZWN0aW9uQVBJU2VydmljZVxuICAgICkgeyB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBjbGlja2VkKGV2ZW50KTogdm9pZCB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgaGFuZGxlTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kcm9wRG93bi5hbGxvd0l0ZW1zRm9jdXMpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGRyb3BEb3duU2VsZWN0ZWRJdGVtID0gdGhpcy5kcm9wRG93bi5zZWxlY3RlZEl0ZW07XG4gICAgICAgICAgICBpZiAoIWRyb3BEb3duU2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wRG93bi5zZWxlY3RJdGVtKHRoaXMpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc0luZGV4XG4gICAgICAgICAgICAgICAgPyB0aGlzLl9pbmRleCAhPT0gZHJvcERvd25TZWxlY3RlZEl0ZW0uaW5kZXggfHwgdGhpcy52YWx1ZSAhPT0gZHJvcERvd25TZWxlY3RlZEl0ZW0udmFsdWUgOlxuICAgICAgICAgICAgICAgIHRoaXMgIT09IGRyb3BEb3duU2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wRG93bi5zZWxlY3RJdGVtKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgaXRlbXMgaXMgbm90IGEgaGVhZGVyIG9yIGRpc2FibGVkICAqL1xuICAgIHByb3RlY3RlZCBnZXQgaXNTZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gICEodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzSGVhZGVyKTtcbiAgICB9XG5cbiAgICAvKiogSWYgYGFsbG93SXRlbXNGb2N1c2AgaXMgZW5hYmxlZCwga2VlcCB0aGUgYnJvd3NlciBmb2N1cyBvbiB0aGUgYWN0aXZlIGl0ZW0gKi9cbiAgICBwcm90ZWN0ZWQgZW5zdXJlSXRlbUZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy5kcm9wRG93bi5hbGxvd0l0ZW1zRm9jdXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzZWRJdGVtID0gdGhpcy5kcm9wRG93bi5pdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmZvY3VzZWQpO1xuICAgICAgICAgICAgaWYgKCFmb2N1c2VkSXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvY3VzZWRJdGVtLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLWl0ZW0uYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLWl0ZW0uYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBYyxRQUFRLEVBQUUsTUFBTSxFQUFXLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFHM0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7SUFnQnJDLElBRVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELElBQVcsU0FBUyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUNXLEtBQUs7UUFDWixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN6QjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJ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QUs7O3NCQUNMLFdBQVc7dUJBQUMsb0JBQW9COztzQkFDaEMsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBaUIzQyxjQUFjO3NCQURwQixNQUFNO2dCQVdJLE9BQU87c0JBRGpCLFdBQVc7dUJBQUMsb0NBQW9DO2dCQXFDMUMsUUFBUTtzQkFGZCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLDZCQUE2QjtnQkFPL0IsZUFBZTtzQkFEekIsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBU3JDLGtCQUFrQjtzQkFENUIsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBMEJ4QyxRQUFRO3NCQUhsQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG9CQUFvQjs7c0JBQ2hDLFdBQVc7dUJBQUMscUNBQXFDO2dCQWtCM0MsSUFBSTtzQkFGVixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFdBQVc7Z0JBdURqQixPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVMxQixlQUFlO3NCQURyQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcm9wRG93bkJhc2UsIElHWF9EUk9QRE9XTl9CQVNFIH0gZnJvbSAnLi9kcm9wLWRvd24uY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE9wdGlvbmFsLCBJbmplY3QsIERvQ2hlY2ssIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hTZWxlY3Rpb25BUElTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZWxlY3Rpb24nO1xuaW1wb3J0IHsgSWd4RHJvcERvd25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vZHJvcC1kb3duLWdyb3VwLmNvbXBvbmVudCc7XG5cbmxldCBORVhUX0lEID0gMDtcblxuLyoqXG4gKiBBbiBhYnN0cmFjdCBjbGFzcyBkZWZpbmluZyBhIGRyb3AtZG93biBpdGVtOlxuICogV2l0aCBwcm9wZXJ0aWVzIC8gc3R5bGVzIGZvciBzZWxlY3Rpb24sIGhpZ2hsaWdodCwgaGVpZ2h0XG4gKiBCaW5kYWJsZSBwcm9wZXJ0eSBmb3IgcGFzc2luZyBkYXRhIChgdmFsdWU6IGFueWApXG4gKiBQYXJlbnQgY29tcG9uZW50IChoYXMgdG8gYmUgdXNlZCB1bmRlciBhIHBhcmVudCB3aXRoIHR5cGUgYElEcm9wRG93bkJhc2VgKVxuICogTWV0aG9kIGZvciBoYW5kbGluZyBjbGljayBvbiBIb3N0KClcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4RHJvcERvd25JdGVtQmFzZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgaXRlbS5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kcm9wLWRvd24taXRlbSBbaWRdID0gJ2lneC1kcm9wLWRvd24taXRlbS0wJz48L2lneC1kcm9wLWRvd24taXRlbT5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGl0ZW1JZCA9ICB0aGlzLml0ZW0uaWQ7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4U2VsZWN0SXRlbUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgaWd4LWRyb3AtZG93bi1pdGVtLSR7TkVYVF9JRCsrfWA7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFiZWwgPyB0aGlzLl9sYWJlbCA6IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogdGhpcy5pZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGFyaWFMYWJlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2xhYmVsID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGl0ZW1JRCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgaW5kZXggb2YgdGhlIGRyb3Bkb3duIGl0ZW0uXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0IHRoZSBkYXRhIGluZGV4IG9mIHRoZSBzZWxlY3RlZCBkcm9wZG93biBpdGVtXG4gICAgICogbGV0IHNlbGVjdGVkSXRlbUluZGV4ID0gdGhpcy5kcm9wZG93bi5zZWxlY3RlZEl0ZW0uaW5kZXhcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuX2luZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtSW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaW5kZXgodmFsdWUpIHtcbiAgICAgICAgdGhpcy5faW5kZXggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL3NldHMgdGhlIHZhbHVlIG9mIHRoZSBpdGVtIGlmIHRoZSBpdGVtIGlzIGRhdGFib3VuZFxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIHVzYWdlIGluIElneERyb3BEb3duSXRlbUNvbXBvbmVudFxuICAgICAqIC8vIGdldFxuICAgICAqIGxldCBteVNlbGVjdGVkSXRlbVZhbHVlID0gdGhpcy5kcm9wZG93bi5zZWxlY3RlZEl0ZW0udmFsdWU7XG4gICAgICpcbiAgICAgKiAvLyBzZXRcbiAgICAgKiBsZXQgbXlTZWxlY3RlZEl0ZW0gPSB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSXRlbTtcbiAgICAgKiBteVNlbGVjdGVkSXRlbS52YWx1ZSA9IHsgaWQ6IDEyMywgbmFtZTogJ0V4YW1wbGUgTmFtZScgfVxuICAgICAqXG4gICAgICogLy8gdXNhZ2UgaW4gSWd4Q29tYm9JdGVtQ29tcG9uZW50XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IG15Q29tYm9JdGVtVmFsdWUgPSB0aGlzLmNvbWJvLml0ZW1zWzBdLnZhbHVlO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZhbHVlOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtZG93bl9faXRlbScpXG4gICAgcHVibGljIGdldCBpdGVtU3R5bGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0hlYWRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtZG93bl9faXRlbS0tY29zeScpXG4gICAgcHVibGljIGdldCBpdGVtU3R5bGVDb3N5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wRG93bi5kaXNwbGF5RGVuc2l0eSA9PT0gJ2Nvc3knICYmICF0aGlzLmlzSGVhZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1kb3duX19pdGVtLS1jb21wYWN0JylcbiAgICBwdWJsaWMgZ2V0IGl0ZW1TdHlsZUNvbXBhY3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3BEb3duLmRpc3BsYXlEZW5zaXR5ID09PSAnY29tcGFjdCcgJiYgIXRoaXMuaXNIZWFkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cy9HZXRzIGlmIHRoZSBpdGVtIGlzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgb25lIGluIHRoZSBkcm9wZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICBsZXQgbXlTZWxlY3RlZEl0ZW0gPSB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSXRlbTtcbiAgICAgKiAgbGV0IGlzTXlJdGVtU2VsZWN0ZWQgPSBteVNlbGVjdGVkSXRlbS5zZWxlY3RlZDsgLy8gdHJ1ZVxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogVHdvLXdheSBkYXRhIGJpbmRpbmdcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kcm9wLWRvd24taXRlbSBbKHNlbGVjdGVkKV09J21vZGVsLmlzU2VsZWN0ZWQnPjwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtZG93bl9faXRlbS0tc2VsZWN0ZWQnKVxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmlzSGVhZGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIGlmIHRoZSBnaXZlbiBpdGVtIGlzIGZvY3VzZWRcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIGxldCBteVNlbGVjdGVkSXRlbSA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJdGVtO1xuICAgICAqICBsZXQgaXNNeUl0ZW1Gb2N1c2VkID0gbXlTZWxlY3RlZEl0ZW0uZm9jdXNlZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kcm9wLWRvd25fX2l0ZW0tLWZvY3VzZWQnKVxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RhYmxlICYmIHRoaXMuX2ZvY3VzZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYGBgaHRtbFxuICAgICAqICA8aWd4LWRyb3AtZG93bi1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgZm9jdXNlZD17eyFpdGVtLmZvY3VzZWR9fT5cbiAgICAgKiAgICAgIDxkaXY+XG4gICAgICogICAgICAgICAge3tpdGVtLmZpZWxkfX1cbiAgICAgKiAgICAgIDwvZGl2PlxuICAgICAqICA8L2lneC1kcm9wLWRvd24taXRlbT5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGZvY3VzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZm9jdXNlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyBpZiB0aGUgZ2l2ZW4gaXRlbSBpcyBoZWFkZXJcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIC8vIGdldFxuICAgICAqICBsZXQgbXlTZWxlY3RlZEl0ZW0gPSB0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSXRlbTtcbiAgICAgKiAgbGV0IGlzTXlJdGVtSGVhZGVyID0gbXlTZWxlY3RlZEl0ZW0uaXNIZWFkZXI7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogIDwhLS1zZXQtLT5cbiAgICAgKiAgPGlneC1kcm9wLWRvd24taXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgICAqICAgICAgPGRpdiAqbmdJZj1cIml0ZW1zLmluZGV4T2YoaXRlbSkgPT09IDU7IHRoZW4gaXRlbS5pc0hlYWRlciA9IHRydWVcIj5cbiAgICAgKiAgICAgICAgICB7e2l0ZW0uZmllbGR9fVxuICAgICAqICAgICAgPC9kaXY+XG4gICAgICogIDwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1kb3duX19oZWFkZXInKVxuICAgIHB1YmxpYyBpc0hlYWRlcjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1kb3duX19oZWFkZXItLWNvc3knKVxuICAgIHB1YmxpYyBnZXQgaGVhZGVyQ2xhc3NDb3N5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0hlYWRlciAmJiB0aGlzLmRyb3BEb3duLmRpc3BsYXlEZW5zaXR5ID09PSAnY29zeSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kcm9wLWRvd25fX2hlYWRlci0tY29tcGFjdCcpXG4gICAgcHVibGljIGdldCBoZWFkZXJDbGFzc0NvbXBhY3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzSGVhZGVyICYmIHRoaXMuZHJvcERvd24uZGlzcGxheURlbnNpdHkgPT09ICdjb21wYWN0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgaWYgdGhlIGdpdmVuIGl0ZW0gaXMgZGlzYWJsZWRcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgLy8gZ2V0XG4gICAgICogIGxldCBteVNlbGVjdGVkSXRlbSA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJdGVtO1xuICAgICAqICBsZXQgbXlJdGVtSXNEaXNhYmxlZCA9IG15U2VsZWN0ZWRJdGVtLmRpc2FibGVkO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqICA8aWd4LWRyb3AtZG93bi1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgZGlzYWJsZWQ9e3shaXRlbS5kaXNhYmxlZH19PlxuICAgICAqICAgICAgPGRpdj5cbiAgICAgKiAgICAgICAgICB7e2l0ZW0uZmllbGR9fVxuICAgICAqICAgICAgPC9kaXY+XG4gICAgICogIDwvaWd4LWRyb3AtZG93bi1pdGVtPlxuICAgICAqIGBgYFxuICAgICAqICoqTk9URToqKiBEcm9wLWRvd24gaXRlbXMgaW5zaWRlIG9mIGEgZGlzYWJsZWQgYElneERyb3BEb3duR3JvdXBgIHdpbGwgYWx3YXlzIGNvdW50IGFzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZHJvcC1kb3duX19pdGVtLS1kaXNhYmxlZCcpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAgPyB0aGlzLmdyb3VwLmRpc2FibGVkIHx8IHRoaXMuX2Rpc2FibGVkIDogdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMvc2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgaXRlbS4gRGVmYXVsdCBpcyAnb3B0aW9uJy5cbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiAgPGlneC1kcm9wLWRvd24taXRlbSBbcm9sZV09XCJjdXN0b21Sb2xlXCI+PC9pZ3gtZHJvcC1kb3duLWl0ZW0+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHVibGljIHJvbGUgPSAnb3B0aW9uJztcblxuICAgIC8qKlxuICAgICAqIEdldHMgaXRlbSBpbmRleFxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGl0ZW1JbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wRG93bi5pdGVtcy5pbmRleE9mKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgaXRlbSBlbGVtZW50IGhlaWdodFxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaXRlbSBodG1sIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGdldCBlbGVtZW50KCk6IEVsZW1lbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaGFzSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbmRleCAhPT0gbnVsbCAmJiB0aGlzLl9pbmRleCAhPT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2ZvY3VzZWQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIF9pbmRleCA9IG51bGw7XG4gICAgcHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfbGFiZWwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoSUdYX0RST1BET1dOX0JBU0UpIHByb3RlY3RlZCBkcm9wRG93bjogSURyb3BEb3duQmFzZSxcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBncm91cDogSWd4RHJvcERvd25Hcm91cENvbXBvbmVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChJZ3hTZWxlY3Rpb25BUElTZXJ2aWNlKSBwcm90ZWN0ZWQgc2VsZWN0aW9uPzogSWd4U2VsZWN0aW9uQVBJU2VydmljZVxuICAgICkgeyB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBjbGlja2VkKGV2ZW50KTogdm9pZCB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgaGFuZGxlTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kcm9wRG93bi5hbGxvd0l0ZW1zRm9jdXMpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGRyb3BEb3duU2VsZWN0ZWRJdGVtID0gdGhpcy5kcm9wRG93bi5zZWxlY3RlZEl0ZW07XG4gICAgICAgICAgICBpZiAoIWRyb3BEb3duU2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wRG93bi5zZWxlY3RJdGVtKHRoaXMpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc0luZGV4XG4gICAgICAgICAgICAgICAgPyB0aGlzLl9pbmRleCAhPT0gZHJvcERvd25TZWxlY3RlZEl0ZW0uaW5kZXggfHwgdGhpcy52YWx1ZSAhPT0gZHJvcERvd25TZWxlY3RlZEl0ZW0udmFsdWUgOlxuICAgICAgICAgICAgICAgIHRoaXMgIT09IGRyb3BEb3duU2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wRG93bi5zZWxlY3RJdGVtKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgaXRlbXMgaXMgbm90IGEgaGVhZGVyIG9yIGRpc2FibGVkICAqL1xuICAgIHByb3RlY3RlZCBnZXQgaXNTZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gICEodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzSGVhZGVyKTtcbiAgICB9XG5cbiAgICAvKiogSWYgYGFsbG93SXRlbXNGb2N1c2AgaXMgZW5hYmxlZCwga2VlcCB0aGUgYnJvd3NlciBmb2N1cyBvbiB0aGUgYWN0aXZlIGl0ZW0gKi9cbiAgICBwcm90ZWN0ZWQgZW5zdXJlSXRlbUZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy5kcm9wRG93bi5hbGxvd0l0ZW1zRm9jdXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvY3VzZWRJdGVtID0gdGhpcy5kcm9wRG93bi5pdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmZvY3VzZWQpO1xuICAgICAgICAgICAgaWYgKCFmb2N1c2VkSXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvY3VzZWRJdGVtLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -84,14 +84,14 @@ export class IgxDropDownItemComponent extends IgxDropDownItemBaseDirective {
|
|
|
84
84
|
this.dropDown.selectItem(this, event);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: IgxDropDownItemComponent, isStandalone: true, selector: "igx-drop-down-item", host: { properties: { "attr.tabindex": "this.setTabIndex" } }, usesInheritance: true, ngImport: i0, template: "<span class=\"igx-drop-down__content\">\n <ng-content select=\"igx-prefix, [igxPrefix]\"></ng-content>\n <span class=\"igx-drop-down__inner\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"igx-suffix, [igxSuffix]\"></ng-content>\n <ng-content select=\"igx-divider\"></ng-content>\n</span>\n" }); }
|
|
89
89
|
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownItemComponent, decorators: [{
|
|
91
91
|
type: Component,
|
|
92
92
|
args: [{ selector: 'igx-drop-down-item', standalone: true, template: "<span class=\"igx-drop-down__content\">\n <ng-content select=\"igx-prefix, [igxPrefix]\"></ng-content>\n <span class=\"igx-drop-down__inner\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"igx-suffix, [igxSuffix]\"></ng-content>\n <ng-content select=\"igx-divider\"></ng-content>\n</span>\n" }]
|
|
93
93
|
}], propDecorators: { setTabIndex: [{
|
|
94
94
|
type: HostBinding,
|
|
95
95
|
args: ['attr.tabindex']
|
|
96
96
|
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2Ryb3AtZG93bi9kcm9wLWRvd24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZHJvcC1kb3duL2Ryb3AtZG93bi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUVyRTs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsNEJBQTRCO0lBQ3RFOzs7Ozs7T0FNRztJQUNILElBQW9CLE9BQU87UUFDdkIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RSxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFELFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQztTQUMvQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQW9CLE9BQU8sQ0FBQyxLQUFjO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxJQUFvQixRQUFRO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDakY7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQW9CLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxJQUNXLFdBQVc7UUFDbEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzdFLElBQUksaUJBQWlCLEVBQUU7WUFDbkIsT0FBTyxDQUFDLENBQUM7U0FDWjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFZSxPQUFPLENBQUMsS0FBSztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsT0FBTztTQUNWO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6QztJQUNMLENBQUM7OEdBakZRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9LQ2ZyQyx5VUFRQTs7MkZET2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLG9CQUFvQixjQUVsQixJQUFJOzhCQWtFTCxXQUFXO3NCQURyQixXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3AtZG93bi1pdGVtLmJhc2UnO1xuXG4vKipcbiAqIFRoZSBgPGlneC1kcm9wLWRvd24taXRlbT5gIGlzIGEgY29udGFpbmVyIGludGVuZGVkIGZvciByb3cgaXRlbXMgaW5cbiAqIGEgYDxpZ3gtZHJvcC1kb3duPmAgY29udGFpbmVyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1kcm9wLWRvd24taXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICdkcm9wLWRvd24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hEcm9wRG93bkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgaWYgdGhlIGdpdmVuIGl0ZW0gaXMgZm9jdXNlZFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgbGV0IG15U2VsZWN0ZWRJdGVtID0gdGhpcy5kcm9wZG93bi5zZWxlY3RlZEl0ZW07XG4gICAgICogIGxldCBpc015SXRlbUZvY3VzZWQgPSBteVNlbGVjdGVkSXRlbS5mb2N1c2VkO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGZvY3VzZWRTdGF0ZSA9IHRoaXMuX2ZvY3VzZWQ7XG4gICAgICAgIGlmICh0aGlzLmhhc0luZGV4KSB7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2VkSXRlbSA9IHRoaXMuc2VsZWN0aW9uLmZpcnN0X2l0ZW0oYCR7dGhpcy5kcm9wRG93bi5pZH0tYWN0aXZlYCk7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2VkSW5kZXggPSBmb2N1c2VkSXRlbSA/IGZvY3VzZWRJdGVtLmluZGV4IDogLTE7XG4gICAgICAgICAgICBmb2N1c2VkU3RhdGUgPSB0aGlzLl9pbmRleCA9PT0gZm9jdXNlZEluZGV4O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2VsZWN0YWJsZSAmJiBmb2N1c2VkU3RhdGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIGlmIHRoZSBnaXZlbiBpdGVtIGlzIGZvY3VzZWRcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIGxldCBteVNlbGVjdGVkSXRlbSA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJdGVtO1xuICAgICAqICBsZXQgaXNNeUl0ZW1Gb2N1c2VkID0gbXlTZWxlY3RlZEl0ZW0uZm9jdXNlZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZvY3VzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZm9jdXNlZCA9IHZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzL0dldHMgaWYgdGhlIGl0ZW0gaXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvbmUgaW4gdGhlIGRyb3Bkb3duXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIGxldCBteVNlbGVjdGVkSXRlbSA9IHRoaXMuZHJvcGRvd24uc2VsZWN0ZWRJdGVtO1xuICAgICAqICBsZXQgaXNNeUl0ZW1TZWxlY3RlZCA9IG15U2VsZWN0ZWRJdGVtLnNlbGVjdGVkOyAvLyB0cnVlXG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBUd28td2F5IGRhdGEgYmluZGluZ1xuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRyb3AtZG93bi1pdGVtIFsoc2VsZWN0ZWQpXT0nbW9kZWwuaXNTZWxlY3RlZCc+PC9pZ3gtZHJvcC1kb3duLWl0ZW0+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzSW5kZXgpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnNlbGVjdGlvbi5maXJzdF9pdGVtKGAke3RoaXMuZHJvcERvd24uaWR9YCk7XG4gICAgICAgICAgICByZXR1cm4gaXRlbSA/IGl0ZW0uaW5kZXggPT09IHRoaXMuX2luZGV4ICYmIGl0ZW0udmFsdWUgPT09IHRoaXMudmFsdWUgOiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cy9HZXRzIGlmIHRoZSBpdGVtIGlzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgb25lIGluIHRoZSBkcm9wZG93blxuICAgICAqXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5pc0hlYWRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgICBwdWJsaWMgZ2V0IHNldFRhYkluZGV4KCkge1xuICAgICAgICBjb25zdCBzaG91bGRTZXRUYWJJbmRleCA9IHRoaXMuZHJvcERvd24uYWxsb3dJdGVtc0ZvY3VzICYmIHRoaXMuaXNTZWxlY3RhYmxlO1xuICAgICAgICBpZiAoc2hvdWxkU2V0VGFiSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2xpY2tlZChldmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNTZWxlY3RhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmVuc3VyZUl0ZW1Gb2N1cygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5kcm9wRG93bi5zZWxlY3RJdGVtKHRoaXMsIGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwiaWd4LWRyb3AtZG93bl9fY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImlneC1wcmVmaXgsIFtpZ3hQcmVmaXhdXCI+PC9uZy1jb250ZW50PlxuICAgIDxzcGFuIGNsYXNzPVwiaWd4LWRyb3AtZG93bl9faW5uZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpZ3gtc3VmZml4LCBbaWd4U3VmZml4XVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpZ3gtZGl2aWRlclwiPjwvbmctY29udGVudD5cbjwvc3Bhbj5cbiJdfQ==
|
|
@@ -118,10 +118,10 @@ export class IgxDropDownItemNavigationDirective {
|
|
|
118
118
|
onHomeKeyDown() {
|
|
119
119
|
this.target.navigateFirst();
|
|
120
120
|
}
|
|
121
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
122
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownItemNavigationDirective, deps: [{ token: IGX_DROPDOWN_BASE, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
122
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxDropDownItemNavigationDirective, isStandalone: true, selector: "[igxDropDownItemNavigation]", inputs: { target: ["igxDropDownItemNavigation", "target"] }, host: { listeners: { "keydown": "handleKeyDown($event)" } }, ngImport: i0 }); }
|
|
123
123
|
}
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownItemNavigationDirective, decorators: [{
|
|
125
125
|
type: Directive,
|
|
126
126
|
args: [{
|
|
127
127
|
selector: '[igxDropDownItemNavigation]',
|
|
@@ -141,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
141
141
|
type: HostListener,
|
|
142
142
|
args: ['keydown', ['$event']]
|
|
143
143
|
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLW5hdmlnYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2Ryb3AtZG93bi9kcm9wLWRvd24tbmF2aWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFFdkQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0NBQWtDO0lBSTNDLFlBQWtFLFFBQWtDO1FBQWxDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBRjFGLFlBQU8sR0FBNkIsSUFBSSxDQUFDO0lBRXFELENBQUM7SUFFekc7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNGLElBQVcsTUFBTTtRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsSUFDVyxNQUFNLENBQUMsTUFBZ0M7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFFSSxhQUFhLENBQUMsS0FBb0I7UUFDckMsSUFBSSxLQUFLLEVBQUU7WUFDUCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLHdCQUF3QjtnQkFDbEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUc7b0JBQ3ZFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2pELElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLHdDQUF3QztvQkFDdkUsT0FBTztpQkFDVjtnQkFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUMzQjtpQkFBTSxFQUFFLG9DQUFvQztnQkFDekMsT0FBTzthQUNWO1lBQ0QsUUFBUSxHQUFHLEVBQUU7Z0JBQ1QsS0FBSyxLQUFLLENBQUM7Z0JBQ1gsS0FBSyxRQUFRO29CQUNULElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDN0QsTUFBTTtnQkFDVixLQUFLLE9BQU87b0JBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUM1RCxNQUFNO2dCQUNWLEtBQUssT0FBTyxDQUFDO2dCQUNiLEtBQUssVUFBVSxDQUFDO2dCQUNoQixLQUFLLEdBQUc7b0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUM1RCxNQUFNO2dCQUNWLEtBQUssU0FBUyxDQUFDO2dCQUNmLEtBQUssSUFBSTtvQkFDTCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDeEIsTUFBTTtnQkFDVixLQUFLLFdBQVcsQ0FBQztnQkFDakIsS0FBSyxNQUFNO29CQUNQLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO29CQUMxQixNQUFNO2dCQUNWLEtBQUssTUFBTTtvQkFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1YsS0FBSyxLQUFLO29CQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDcEIsTUFBTTtnQkFDVjtvQkFDSSxPQUFPO2FBQ2Q7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNLLFlBQVk7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0F2SFEsa0NBQWtDLGtCQUlILGlCQUFpQjtrR0FKaEQsa0NBQWtDOzsyRkFBbEMsa0NBQWtDO2tCQUo5QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBS2dCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzRDQWtDOUMsTUFBTTtzQkFEaEIsS0FBSzt1QkFBQywyQkFBMkI7Z0JBUzNCLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPcHRpb25hbCwgU2VsZiwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJR1hfRFJPUERPV05fQkFTRSB9IGZyb20gJy4vZHJvcC1kb3duLmNvbW1vbic7XG5pbXBvcnQgeyBJRHJvcERvd25OYXZpZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wLWRvd24uY29tbW9uJztcbmltcG9ydCB7IElneERyb3BEb3duQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcC1kb3duLmJhc2UnO1xuaW1wb3J0IHsgRHJvcERvd25BY3Rpb25LZXkgfSBmcm9tICcuL2Ryb3AtZG93bi5jb21tb24nO1xuXG4vKipcbiAqIE5hdmlnYXRpb24gRGlyZWN0aXZlIHRoYXQgaGFuZGxlcyBrZXlib2FyZCBldmVudHMgb24gaXRzIGhvc3QgYW5kIGNvbnRyb2xzIGEgdGFyZ2V0ZWQgSWd4RHJvcERvd25CYXNlRGlyZWN0aXZlIGNvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hEcm9wRG93bkl0ZW1OYXZpZ2F0aW9uXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hEcm9wRG93bkl0ZW1OYXZpZ2F0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgSURyb3BEb3duTmF2aWdhdGlvbkRpcmVjdGl2ZSB7XG5cbiAgICBwcm90ZWN0ZWQgX3RhcmdldDogSWd4RHJvcERvd25CYXNlRGlyZWN0aXZlID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKEBTZWxmKCkgQE9wdGlvbmFsKCkgQEluamVjdChJR1hfRFJPUERPV05fQkFTRSkgcHVibGljIGRyb3Bkb3duOiBJZ3hEcm9wRG93bkJhc2VEaXJlY3RpdmUpIHsgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdGFyZ2V0IG9mIHRoZSBuYXZpZ2F0aW9uIGRpcmVjdGl2ZTtcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAvLyBHZXRcbiAgICAgKiBleHBvcnQgY2xhc3MgTXlDb21wb25lbnQge1xuICAgICAqICAuLi5cbiAgICAgKiAgQENvbnRlbnRDaGlsZChJZ3hEcm9wRG93bk5hdmlnYXRpb25EaXJlY3RpdmUpXG4gICAgICogIG5hdkRpcmVjdGl2ZTogSWd4RHJvcERvd25OYXZpZ2F0aW9uRGlyZWN0aXZlID0gbnVsbFxuICAgICAqICAuLi5cbiAgICAgKiAgY29uc3QgbmF2VGFyZ2V0OiBJZ3hEcm9wRG93bkJhc2VEaXJlY3RpdmUgPSBuYXZEaXJlY3RpdmUubmF2VGFyZ2V0XG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBJZ3hEcm9wRG93bkJhc2VEaXJlY3RpdmUge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHRhcmdldCBvZiB0aGUgbmF2aWdhdGlvbiBkaXJlY3RpdmU7XG4gICAgICogSWYgbm8gdmFsaWQgdGFyZ2V0IGlzIHBhc3NlZCwgaXQgZmFsbHMgYmFjayB0byB0aGUgZHJvcCBkb3duIGNvbnRleHRcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tIFNldCAtLT5cbiAgICAgKiA8aW5wdXQgW2lneERyb3BEb3duSXRlbU5hdmlnYXRpb25dPVwiZHJvcGRvd25cIiAvPlxuICAgICAqIC4uLlxuICAgICAqIDxpZ3gtZHJvcC1kb3duICNkcm9wZG93bj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KCdpZ3hEcm9wRG93bkl0ZW1OYXZpZ2F0aW9uJylcbiAgICBwdWJsaWMgc2V0IHRhcmdldCh0YXJnZXQ6IElneERyb3BEb3duQmFzZURpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLl90YXJnZXQgPSB0YXJnZXQgPyB0YXJnZXQgOiB0aGlzLmRyb3Bkb3duO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhcHR1cmVzIGtleWRvd24gZXZlbnRzIGFuZCBjYWxscyB0aGUgYXBwcm9wcmlhdGUgaGFuZGxlcnMgb24gdGhlIHRhcmdldCBjb21wb25lbnRcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRhcmdldC5jb2xsYXBzZWQpIHsgLy8gSWYgZHJvcGRvd24gaXMgb3BlbmVkXG4gICAgICAgICAgICAgICAgY29uc3QgbmF2S2V5cyA9IFsnZXNjJywgJ2VzY2FwZScsICdlbnRlcicsICdzcGFjZScsICdzcGFjZWJhcicsICcgJyxcbiAgICAgICAgICAgICdhcnJvd3VwJywgJ3VwJywgJ2Fycm93ZG93bicsICdkb3duJywgJ2hvbWUnLCAnZW5kJ107XG4gICAgICAgICAgICAgICAgaWYgKG5hdktleXMuaW5kZXhPZihrZXkpID09PSAtMSkgeyAvLyBJZiBrZXkgaGFzIGFwcHJvcHJpYXRlIGZ1bmN0aW9uIGluIEREXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH0gZWxzZSB7IC8vIElmIGRyb3Bkb3duIGlzIGNsb3NlZCwgZG8gbm90aGluZ1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnZXNjJzpcbiAgICAgICAgICAgICAgICBjYXNlICdlc2NhcGUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhcmdldC5vbkl0ZW1BY3Rpb25LZXkoRHJvcERvd25BY3Rpb25LZXkuRVNDQVBFLCBldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2VudGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXJnZXQub25JdGVtQWN0aW9uS2V5KERyb3BEb3duQWN0aW9uS2V5LkVOVEVSLCBldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZWJhcic6XG4gICAgICAgICAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0Lm9uSXRlbUFjdGlvbktleShEcm9wRG93bkFjdGlvbktleS5TUEFDRSwgZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdhcnJvd3VwJzpcbiAgICAgICAgICAgICAgICBjYXNlICd1cCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25BcnJvd1VwS2V5RG93bigpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdhcnJvd2Rvd24nOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQXJyb3dEb3duS2V5RG93bigpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdob21lJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkhvbWVLZXlEb3duKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FbmRLZXlEb3duKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byBwcmV2aW91cyBpdGVtXG4gICAgICovXG4gICAgIHB1YmxpYyBvbkFycm93RG93bktleURvd24oKSB7XG4gICAgICAgIHRoaXMudGFyZ2V0Lm5hdmlnYXRlTmV4dCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byBwcmV2aW91cyBpdGVtXG4gICAgICovXG4gICAgIHB1YmxpYyBvbkFycm93VXBLZXlEb3duKCkge1xuICAgICAgICB0aGlzLnRhcmdldC5uYXZpZ2F0ZVByZXYoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYXZpZ2F0ZXMgdG8gdGFyZ2V0J3MgbGFzdCBpdGVtXG4gICAgICovXG4gICAgIHB1YmxpYyBvbkVuZEtleURvd24oKSB7XG4gICAgICAgIHRoaXMudGFyZ2V0Lm5hdmlnYXRlTGFzdCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byB0YXJnZXQncyBmaXJzdCBpdGVtXG4gICAgICovXG4gICAgIHB1YmxpYyBvbkhvbWVLZXlEb3duKCkge1xuICAgICAgICB0aGlzLnRhcmdldC5uYXZpZ2F0ZUZpcnN0KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -225,10 +225,10 @@ export class IgxDropDownBaseDirective extends DisplayDensityBase {
|
|
|
225
225
|
return -1;
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
229
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0
|
|
228
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
229
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxDropDownBaseDirective, inputs: { width: "width", height: "height", id: "id", maxHeight: "maxHeight" }, outputs: { selectionChanging: "selectionChanging" }, host: { properties: { "style.maxHeight": "this.maxHeight", "class.igx-drop-down": "this.cssClass" } }, usesInheritance: true, ngImport: i0 }); }
|
|
230
230
|
}
|
|
231
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownBaseDirective, decorators: [{
|
|
232
232
|
type: Directive
|
|
233
233
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
234
234
|
type: Optional
|
|
@@ -252,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
252
252
|
type: HostBinding,
|
|
253
253
|
args: ['class.igx-drop-down']
|
|
254
254
|
}] } });
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZHJvcC1kb3duL2Ryb3AtZG93bi5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQUUsV0FBVyxFQUF5QixNQUFNLEVBQUUsWUFBWSxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFDbEgsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7O0FBRWxHLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7Ozs7O0dBTUc7QUFFSCxNQUFNLE9BQWdCLHdCQUF5QixTQUFRLGtCQUFrQjtJQXlDckU7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxJQUNXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsRUFBRSxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQXdCRDs7Ozs7O09BTUc7SUFDSCxJQUFXLEtBQUs7UUFDWixNQUFNLEtBQUssR0FBbUMsRUFBRSxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDN0IsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtvQkFDakIsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFD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ZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW5wdXQsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgT3B0aW9uYWwsIEluamVjdCwgRGlyZWN0aXZlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0ZSwgSVNlbGVjdGlvbkV2ZW50QXJncyB9IGZyb20gJy4vZHJvcC1kb3duLmNvbW1vbic7XG5pbXBvcnQgeyBJRHJvcERvd25MaXN0IH0gZnJvbSAnLi9kcm9wLWRvd24uY29tbW9uJztcbmltcG9ydCB7IERyb3BEb3duQWN0aW9uS2V5IH0gZnJvbSAnLi9kcm9wLWRvd24uY29tbW9uJztcbmltcG9ydCB7IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3AtZG93bi1pdGVtLmJhc2UnO1xuaW1wb3J0IHsgRGlzcGxheURlbnNpdHlCYXNlLCBEaXNwbGF5RGVuc2l0eVRva2VuLCBJRGlzcGxheURlbnNpdHlPcHRpb25zIH0gZnJvbSAnLi4vY29yZS9kZW5zaXR5JztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG4vKipcbiAqIEFuIGFic3RyYWN0IGNsYXNzLCBkZWZpbmluZyBhIGRyb3AtZG93biBjb21wb25lbnQsIHdpdGg6XG4gKiBQcm9wZXJ0aWVzIGZvciBkaXNwbGF5IHN0eWxlcyBhbmQgY2xhc3Nlc1xuICogQSBjb2xsZWN0aW9uIGl0ZW1zIG9mIHR5cGUgYElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmVgXG4gKiBQcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGZvciBuYXZpZ2F0aW5nIChoaWdobGlnaHRpbmcvZm9jdXNpbmcpIGl0ZW1zIGZyb20gdGhlIGNvbGxlY3Rpb25cbiAqIFByb3BlcnRpZXMgYW5kIG1ldGhvZHMgZm9yIHNlbGVjdGluZyBpdGVtcyBmcm9tIHRoZSBjb2xsZWN0aW9uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElneERyb3BEb3duQmFzZURpcmVjdGl2ZSBleHRlbmRzIERpc3BsYXlEZW5zaXR5QmFzZSBpbXBsZW1lbnRzIElEcm9wRG93bkxpc3Qge1xuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBpdGVtIHNlbGVjdGlvbiBpcyBjaGFuZ2luZywgYmVmb3JlIHRoZSBzZWxlY3Rpb24gY29tcGxldGVzXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kcm9wLWRvd24gKHNlbGVjdGlvbkNoYW5naW5nKT0naGFuZGxlU2VsZWN0aW9uKCknPjwvaWd4LWRyb3AtZG93bj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPElTZWxlY3Rpb25FdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiAgR2V0cy9TZXRzIHRoZSB3aWR0aCBvZiB0aGUgZHJvcCBkb3duXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IG15RHJvcERvd25DdXJyZW50V2lkdGggPSB0aGlzLmRyb3Bkb3duLndpZHRoO1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlneC1kcm9wLWRvd24gW3dpZHRoXT0nMTYwcHgnPjwvaWd4LWRyb3AtZG93bj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB3aWR0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9TZXRzIHRoZSBoZWlnaHQgb2YgdGhlIGRyb3AgZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIGdldFxuICAgICAqIGxldCBteURyb3BEb3duQ3VycmVudEhlaWdodCA9IHRoaXMuZHJvcGRvd24uaGVpZ2h0O1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlneC1kcm9wLWRvd24gW2hlaWdodF09JzQwMHB4Jz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIGRyb3AgZG93bidzIGlkXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IG15RHJvcERvd25DdXJyZW50SWQgPSB0aGlzLmRyb3Bkb3duLmlkO1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlneC1kcm9wLWRvd24gW2lkXT0nbmV3RHJvcERvd25JZCc+PC9pZ3gtZHJvcC1kb3duPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMvU2V0cyB0aGUgZHJvcCBkb3duJ3MgY29udGFpbmVyIG1heCBoZWlnaHQuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IG1heEhlaWdodCA9IHRoaXMuZHJvcGRvd24ubWF4SGVpZ2h0O1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlneC1kcm9wLWRvd24gW21heEhlaWdodF09JzIwMHB4Jz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heEhlaWdodCcpXG4gICAgcHVibGljIG1heEhlaWdodCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtZG93bicpXG4gICAgcHVibGljIGNzc0NsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgbm9uLWhlYWRlciBpdGVtc1xuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBteURyb3BEb3duSXRlbXMgPSB0aGlzLmRyb3Bkb3duLml0ZW1zO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXRlbXMoKTogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZVtdIHtcbiAgICAgICAgY29uc3QgaXRlbXM6IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmVbXSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5jaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4udG9BcnJheSgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5pc0hlYWRlcikge1xuICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGFsbCBoZWFkZXIgaXRlbXNcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbXlEcm9wRG93bkhlYWRlckl0ZW1zID0gdGhpcy5kcm9wZG93bi5oZWFkZXJzO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaGVhZGVycygpOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlW10ge1xuICAgICAgICBjb25zdCBoZWFkZXJzOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlW10gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmNoaWxkcmVuLnRvQXJyYXkoKSkge1xuICAgICAgICAgICAgICAgIGlmIChjaGlsZC5pc0hlYWRlcikge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoZWFkZXJzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBkcm9wZG93biBodG1sIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbXlEcm9wRG93bkVsZW1lbnQgPSB0aGlzLmRyb3Bkb3duLmVsZW1lbnQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBlbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICogR2V0IGRyb3Bkb3duJ3MgaHRtbCBlbGVtZW50IG9mIGl0cyBzY3JvbGwgY29udGFpbmVyXG4gICAgICovXG4gICAgcHVibGljIGdldCBzY3JvbGxDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgY2hpbGRyZW46IFF1ZXJ5TGlzdDxJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlPjtcblxuICAgIHByb3RlY3RlZCBfd2lkdGg7XG4gICAgcHJvdGVjdGVkIF9oZWlnaHQ7XG4gICAgcHJvdGVjdGVkIF9mb2N1c2VkSXRlbTogYW55ID0gbnVsbDtcbiAgICBwcm90ZWN0ZWQgX2lkID0gYGlneC1kcm9wLWRvd24tJHtORVhUX0lEKyt9YDtcblxuICAgIC8qKlxuICAgICAqIEdldHMgaWYgdGhlIGRyb3Bkb3duIGlzIGNvbGxhcHNlZFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjb2xsYXBzZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERpc3BsYXlEZW5zaXR5VG9rZW4pIHByb3RlY3RlZCBfZGlzcGxheURlbnNpdHlPcHRpb25zOiBJRGlzcGxheURlbnNpdHlPcHRpb25zKSB7XG4gICAgICAgICAgICBzdXBlcihfZGlzcGxheURlbnNpdHlPcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgLyoqIEtleWRvd24gSGFuZGxlciAqL1xuICAgIHB1YmxpYyBvbkl0ZW1BY3Rpb25LZXkoa2V5OiBEcm9wRG93bkFjdGlvbktleSwgZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgICAgY2FzZSBEcm9wRG93bkFjdGlvbktleS5FTlRFUjpcbiAgICAgICAgICAgIGNhc2UgRHJvcERvd25BY3Rpb25LZXkuU1BBQ0U6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RJdGVtKHRoaXMuZm9jdXNlZEl0ZW0sIGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRHJvcERvd25BY3Rpb25LZXkuRVNDQVBFOlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdHMgc2VsZWN0aW9uQ2hhbmdpbmcgd2l0aCB0aGUgdGFyZ2V0IGl0ZW0gJiBldmVudFxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKiBAcGFyYW0gbmV3U2VsZWN0aW9uIHRoZSBpdGVtIHNlbGVjdGVkXG4gICAgICogQHBhcmFtIGV2ZW50IHRoZSBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgY2FsbFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3RJdGVtKG5ld1NlbGVjdGlvbj86IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUsIGV2ZW50PzogRXZlbnQpIHsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2luZy5lbWl0KHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbixcbiAgICAgICAgICAgIG9sZFNlbGVjdGlvbjogbnVsbCxcbiAgICAgICAgICAgIGNhbmNlbDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWRJdGVtKCk6IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNlZEl0ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGZvY3VzZWRJdGVtKGl0ZW06IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5fZm9jdXNlZEl0ZW0gPSBpdGVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byB0aGUgaXRlbSBvbiB0aGUgc3BlY2lmaWVkIGluZGV4XG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3SW5kZXggbnVtYmVyIC0gdGhlIGluZGV4IG9mIHRoZSBpdGVtIGluIHRoZSBgaXRlbXNgIGNvbGxlY3Rpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2aWdhdGVJdGVtKG5ld0luZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKG5ld0luZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgY29uc3Qgb2xkSXRlbSA9IHRoaXMuX2ZvY3VzZWRJdGVtO1xuICAgICAgICAgICAgY29uc3QgbmV3SXRlbSA9IHRoaXMuaXRlbXNbbmV3SW5kZXhdO1xuICAgICAgICAgICAgaWYgKG9sZEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBvbGRJdGVtLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZEl0ZW0gPSBuZXdJdGVtO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0hpZGRlbkl0ZW0obmV3SXRlbSk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRJdGVtLmZvY3VzZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2aWdhdGVGaXJzdCgpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZShOYXZpZ2F0ZS5Eb3duLCAtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2aWdhdGVMYXN0KCkge1xuICAgICAgICB0aGlzLm5hdmlnYXRlKE5hdmlnYXRlLlVwLCB0aGlzLml0ZW1zLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2aWdhdGVOZXh0KCkge1xuICAgICAgICB0aGlzLm5hdmlnYXRlKE5hdmlnYXRlLkRvd24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5hdmlnYXRlUHJldigpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZShOYXZpZ2F0ZS5VcCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNjcm9sbFRvSGlkZGVuSXRlbShuZXdJdGVtOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gbmV3SXRlbS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKHBhcmVudFJlY3QudG9wID4gZWxlbWVudFJlY3QudG9wKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3AgLT0gKHBhcmVudFJlY3QudG9wIC0gZWxlbWVudFJlY3QudG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJlbnRSZWN0LmJvdHRvbSA8IGVsZW1lbnRSZWN0LmJvdHRvbSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wICs9IChlbGVtZW50UmVjdC5ib3R0b20gLSBwYXJlbnRSZWN0LmJvdHRvbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGUoZGlyZWN0aW9uOiBOYXZpZ2F0ZSwgY3VycmVudEluZGV4PzogbnVtYmVyKSB7XG4gICAgICAgIGxldCBpbmRleCA9IC0xO1xuICAgICAgICBpZiAodGhpcy5fZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIGluZGV4ID0gY3VycmVudEluZGV4ID8gY3VycmVudEluZGV4IDogdGhpcy5mb2N1c2VkSXRlbS5pdGVtSW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmdldE5lYXJlc3RTaWJsaW5nRm9jdXNhYmxlSXRlbUluZGV4KGluZGV4LCBkaXJlY3Rpb24pO1xuICAgICAgICB0aGlzLm5hdmlnYXRlSXRlbShuZXdJbmRleCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE5lYXJlc3RTaWJsaW5nRm9jdXNhYmxlSXRlbUluZGV4KHN0YXJ0SW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiBOYXZpZ2F0ZSk6IG51bWJlciB7XG4gICAgICAgIGxldCBpbmRleCA9IHN0YXJ0SW5kZXg7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgd2hpbGUgKGl0ZW1zW2luZGV4ICsgZGlyZWN0aW9uXSAmJiBpdGVtc1tpbmRleCArIGRpcmVjdGlvbl0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGluZGV4ICs9IGRpcmVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGluZGV4ICs9IGRpcmVjdGlvbjtcbiAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCBpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZHJvcC1kb3duL2Ryb3AtZG93bi5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQUUsV0FBVyxFQUF5QixNQUFNLEVBQUUsWUFBWSxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFDbEgsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7O0FBRWxHLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7Ozs7O0dBTUc7QUFFSCxNQUFNLE9BQWdCLHdCQUF5QixTQUFRLGtCQUFrQjtJQXlDckU7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxJQUNXLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsRUFBRSxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQXdCRDs7Ozs7O09BTUc7SUFDSCxJQUFXLEtBQUs7UUFDWixNQUFNLEtBQUssR0FBbUMsRUFBRSxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDN0IsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtvQkFDakIsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFD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ZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW5wdXQsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgT3B0aW9uYWwsIEluamVjdCwgRGlyZWN0aXZlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0ZSwgSVNlbGVjdGlvbkV2ZW50QXJncyB9IGZyb20gJy4vZHJvcC1kb3duLmNvbW1vbic7XG5pbXBvcnQgeyBJRHJvcERvd25MaXN0IH0gZnJvbSAnLi9kcm9wLWRvd24uY29tbW9uJztcbmltcG9ydCB7IERyb3BEb3duQWN0aW9uS2V5IH0gZnJvbSAnLi9kcm9wLWRvd24uY29tbW9uJztcbmltcG9ydCB7IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3AtZG93bi1pdGVtLmJhc2UnO1xuaW1wb3J0IHsgRGlzcGxheURlbnNpdHlCYXNlLCBEaXNwbGF5RGVuc2l0eVRva2VuLCBJRGlzcGxheURlbnNpdHlPcHRpb25zIH0gZnJvbSAnLi4vY29yZS9kZW5zaXR5JztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG4vKipcbiAqIEFuIGFic3RyYWN0IGNsYXNzLCBkZWZpbmluZyBhIGRyb3AtZG93biBjb21wb25lbnQsIHdpdGg6XG4gKiBQcm9wZXJ0aWVzIGZvciBkaXNwbGF5IHN0eWxlcyBhbmQgY2xhc3Nlc1xuICogQSBjb2xsZWN0aW9uIGl0ZW1zIG9mIHR5cGUgYElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmVgXG4gKiBQcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGZvciBuYXZpZ2F0aW5nIChoaWdobGlnaHRpbmcvZm9jdXNpbmcpIGl0ZW1zIGZyb20gdGhlIGNvbGxlY3Rpb25cbiAqIFByb3BlcnRpZXMgYW5kIG1ldGhvZHMgZm9yIHNlbGVjdGluZyBpdGVtcyBmcm9tIHRoZSBjb2xsZWN0aW9uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElneERyb3BEb3duQmFzZURpcmVjdGl2ZSBleHRlbmRzIERpc3BsYXlEZW5zaXR5QmFzZSBpbXBsZW1lbnRzIElEcm9wRG93bkxpc3Qge1xuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBpdGVtIHNlbGVjdGlvbiBpcyBjaGFuZ2luZywgYmVmb3JlIHRoZSBzZWxlY3Rpb24gY29tcGxldGVzXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kcm9wLWRvd24gKHNlbGVjdGlvbkNoYW5naW5nKT0naGFuZGxlU2VsZWN0aW9uKCknPjwvaWd4LWRyb3AtZG93bj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPElTZWxlY3Rpb25FdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiAgR2V0cy9TZXRzIHRoZSB3aWR0aCBvZiB0aGUgZHJvcCBkb3duXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IG15RHJvcERvd25DdXJyZW50V2lkdGggPSB0aGlzLmRyb3Bkb3duLndpZHRoO1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlneC1kcm9wLWRvd24gW3dpZHRoXT0nMTYwcHgnPjwvaWd4LWRyb3AtZG93bj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB3aWR0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9TZXRzIHRoZSBoZWlnaHQgb2YgdGhlIGRyb3AgZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIGdldFxuICAgICAqIGxldCBteURyb3BEb3duQ3VycmVudEhlaWdodCA9IHRoaXMuZHJvcGRvd24uaGVpZ2h0O1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlneC1kcm9wLWRvd24gW2hlaWdodF09JzQwMHB4Jz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIGRyb3AgZG93bidzIGlkXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IG15RHJvcERvd25DdXJyZW50SWQgPSB0aGlzLmRyb3Bkb3duLmlkO1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlneC1kcm9wLWRvd24gW2lkXT0nbmV3RHJvcERvd25JZCc+PC9pZ3gtZHJvcC1kb3duPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMvU2V0cyB0aGUgZHJvcCBkb3duJ3MgY29udGFpbmVyIG1heCBoZWlnaHQuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IG1heEhlaWdodCA9IHRoaXMuZHJvcGRvd24ubWF4SGVpZ2h0O1xuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8IS0tc2V0LS0+XG4gICAgICogPGlneC1kcm9wLWRvd24gW21heEhlaWdodF09JzIwMHB4Jz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heEhlaWdodCcpXG4gICAgcHVibGljIG1heEhlaWdodCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtZG93bicpXG4gICAgcHVibGljIGNzc0NsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgbm9uLWhlYWRlciBpdGVtc1xuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBteURyb3BEb3duSXRlbXMgPSB0aGlzLmRyb3Bkb3duLml0ZW1zO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXRlbXMoKTogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZVtdIHtcbiAgICAgICAgY29uc3QgaXRlbXM6IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmVbXSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5jaGlsZHJlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4udG9BcnJheSgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5pc0hlYWRlcikge1xuICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGFsbCBoZWFkZXIgaXRlbXNcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbXlEcm9wRG93bkhlYWRlckl0ZW1zID0gdGhpcy5kcm9wZG93bi5oZWFkZXJzO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaGVhZGVycygpOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlW10ge1xuICAgICAgICBjb25zdCBoZWFkZXJzOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlW10gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmNoaWxkcmVuLnRvQXJyYXkoKSkge1xuICAgICAgICAgICAgICAgIGlmIChjaGlsZC5pc0hlYWRlcikge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoZWFkZXJzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBkcm9wZG93biBodG1sIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbXlEcm9wRG93bkVsZW1lbnQgPSB0aGlzLmRyb3Bkb3duLmVsZW1lbnQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBlbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICogR2V0IGRyb3Bkb3duJ3MgaHRtbCBlbGVtZW50IG9mIGl0cyBzY3JvbGwgY29udGFpbmVyXG4gICAgICovXG4gICAgcHVibGljIGdldCBzY3JvbGxDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgY2hpbGRyZW46IFF1ZXJ5TGlzdDxJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlPjtcblxuICAgIHByb3RlY3RlZCBfd2lkdGg7XG4gICAgcHJvdGVjdGVkIF9oZWlnaHQ7XG4gICAgcHJvdGVjdGVkIF9mb2N1c2VkSXRlbTogYW55ID0gbnVsbDtcbiAgICBwcm90ZWN0ZWQgX2lkID0gYGlneC1kcm9wLWRvd24tJHtORVhUX0lEKyt9YDtcblxuICAgIC8qKlxuICAgICAqIEdldHMgaWYgdGhlIGRyb3Bkb3duIGlzIGNvbGxhcHNlZFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjb2xsYXBzZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERpc3BsYXlEZW5zaXR5VG9rZW4pIHByb3RlY3RlZCBfZGlzcGxheURlbnNpdHlPcHRpb25zOiBJRGlzcGxheURlbnNpdHlPcHRpb25zKSB7XG4gICAgICAgICAgICBzdXBlcihfZGlzcGxheURlbnNpdHlPcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgLyoqIEtleWRvd24gSGFuZGxlciAqL1xuICAgIHB1YmxpYyBvbkl0ZW1BY3Rpb25LZXkoa2V5OiBEcm9wRG93bkFjdGlvbktleSwgZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgICAgY2FzZSBEcm9wRG93bkFjdGlvbktleS5FTlRFUjpcbiAgICAgICAgICAgIGNhc2UgRHJvcERvd25BY3Rpb25LZXkuU1BBQ0U6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RJdGVtKHRoaXMuZm9jdXNlZEl0ZW0sIGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRHJvcERvd25BY3Rpb25LZXkuRVNDQVBFOlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdHMgc2VsZWN0aW9uQ2hhbmdpbmcgd2l0aCB0aGUgdGFyZ2V0IGl0ZW0gJiBldmVudFxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKiBAcGFyYW0gbmV3U2VsZWN0aW9uIHRoZSBpdGVtIHNlbGVjdGVkXG4gICAgICogQHBhcmFtIGV2ZW50IHRoZSBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgY2FsbFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3RJdGVtKG5ld1NlbGVjdGlvbj86IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUsIGV2ZW50PzogRXZlbnQpIHsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2luZy5lbWl0KHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbixcbiAgICAgICAgICAgIG9sZFNlbGVjdGlvbjogbnVsbCxcbiAgICAgICAgICAgIGNhbmNlbDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWRJdGVtKCk6IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNlZEl0ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGZvY3VzZWRJdGVtKGl0ZW06IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5fZm9jdXNlZEl0ZW0gPSBpdGVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byB0aGUgaXRlbSBvbiB0aGUgc3BlY2lmaWVkIGluZGV4XG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3SW5kZXggbnVtYmVyIC0gdGhlIGluZGV4IG9mIHRoZSBpdGVtIGluIHRoZSBgaXRlbXNgIGNvbGxlY3Rpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2aWdhdGVJdGVtKG5ld0luZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKG5ld0luZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgY29uc3Qgb2xkSXRlbSA9IHRoaXMuX2ZvY3VzZWRJdGVtO1xuICAgICAgICAgICAgY29uc3QgbmV3SXRlbSA9IHRoaXMuaXRlbXNbbmV3SW5kZXhdO1xuICAgICAgICAgICAgaWYgKG9sZEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBvbGRJdGVtLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZEl0ZW0gPSBuZXdJdGVtO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0hpZGRlbkl0ZW0obmV3SXRlbSk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRJdGVtLmZvY3VzZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2aWdhdGVGaXJzdCgpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZShOYXZpZ2F0ZS5Eb3duLCAtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2aWdhdGVMYXN0KCkge1xuICAgICAgICB0aGlzLm5hdmlnYXRlKE5hdmlnYXRlLlVwLCB0aGlzLml0ZW1zLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2aWdhdGVOZXh0KCkge1xuICAgICAgICB0aGlzLm5hdmlnYXRlKE5hdmlnYXRlLkRvd24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5hdmlnYXRlUHJldigpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZShOYXZpZ2F0ZS5VcCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNjcm9sbFRvSGlkZGVuSXRlbShuZXdJdGVtOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gbmV3SXRlbS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKHBhcmVudFJlY3QudG9wID4gZWxlbWVudFJlY3QudG9wKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3AgLT0gKHBhcmVudFJlY3QudG9wIC0gZWxlbWVudFJlY3QudG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJlbnRSZWN0LmJvdHRvbSA8IGVsZW1lbnRSZWN0LmJvdHRvbSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wICs9IChlbGVtZW50UmVjdC5ib3R0b20gLSBwYXJlbnRSZWN0LmJvdHRvbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGUoZGlyZWN0aW9uOiBOYXZpZ2F0ZSwgY3VycmVudEluZGV4PzogbnVtYmVyKSB7XG4gICAgICAgIGxldCBpbmRleCA9IC0xO1xuICAgICAgICBpZiAodGhpcy5fZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIGluZGV4ID0gY3VycmVudEluZGV4ID8gY3VycmVudEluZGV4IDogdGhpcy5mb2N1c2VkSXRlbS5pdGVtSW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmdldE5lYXJlc3RTaWJsaW5nRm9jdXNhYmxlSXRlbUluZGV4KGluZGV4LCBkaXJlY3Rpb24pO1xuICAgICAgICB0aGlzLm5hdmlnYXRlSXRlbShuZXdJbmRleCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE5lYXJlc3RTaWJsaW5nRm9jdXNhYmxlSXRlbUluZGV4KHN0YXJ0SW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiBOYXZpZ2F0ZSk6IG51bWJlciB7XG4gICAgICAgIGxldCBpbmRleCA9IHN0YXJ0SW5kZXg7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgd2hpbGUgKGl0ZW1zW2luZGV4ICsgZGlyZWN0aW9uXSAmJiBpdGVtc1tpbmRleCArIGRpcmVjdGlvbl0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGluZGV4ICs9IGRpcmVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGluZGV4ICs9IGRpcmVjdGlvbjtcbiAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCBpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -519,10 +519,10 @@ export class IgxDropDownComponent extends IgxDropDownBaseDirective {
|
|
|
519
519
|
const subRequired = indexOutOfChunk || scrollNeeded;
|
|
520
520
|
return subRequired;
|
|
521
521
|
}
|
|
522
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
523
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0
|
|
522
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.IgxSelectionAPIService }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
523
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: IgxDropDownComponent, isStandalone: true, selector: "igx-drop-down", inputs: { allowItemsFocus: "allowItemsFocus", labelledBy: "labelledBy" }, outputs: { opening: "opening", opened: "opened", closing: "closing", closed: "closed" }, providers: [{ provide: IGX_DROPDOWN_BASE, useExisting: IgxDropDownComponent }], queries: [{ propertyName: "virtDir", first: true, predicate: IgxForOfDirective, descendants: true, read: IgxForOfDirective }, { propertyName: "children", predicate: i0.forwardRef(function () { return IgxDropDownItemComponent; }), descendants: true }], viewQueries: [{ propertyName: "toggleDirective", first: true, predicate: IgxToggleDirective, descendants: true, static: true }, { propertyName: "scrollContainerRef", first: true, predicate: ["scrollContainer"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"igx-drop-down__list\" [style.width]=\"width\"\n igxToggle\n (appended)=\"onToggleContentAppended($event)\"\n (opening)=\"onToggleOpening($event)\" (opened)=\"onToggleOpened()\"\n (closing)=\"onToggleClosing($event)\" (closed)=\"onToggleClosed()\">\n <div class=\"igx-drop-down__list-scroll\" #scrollContainer [attr.id]=\"this.listId\" role=\"listbox\" [attr.aria-labelledby]=\"this.labelledBy\"\n [style.height]=\"height\"\n [style.maxHeight]=\"maxHeight\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-content></ng-content>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
524
524
|
}
|
|
525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxDropDownComponent, decorators: [{
|
|
526
526
|
type: Component,
|
|
527
527
|
args: [{ selector: 'igx-drop-down', providers: [{ provide: IGX_DROPDOWN_BASE, useExisting: IgxDropDownComponent }], standalone: true, imports: [IgxToggleDirective, NgIf], template: "<div class=\"igx-drop-down__list\" [style.width]=\"width\"\n igxToggle\n (appended)=\"onToggleContentAppended($event)\"\n (opening)=\"onToggleOpening($event)\" (opened)=\"onToggleOpened()\"\n (closing)=\"onToggleClosing($event)\" (closed)=\"onToggleClosed()\">\n <div class=\"igx-drop-down__list-scroll\" #scrollContainer [attr.id]=\"this.listId\" role=\"listbox\" [attr.aria-labelledby]=\"this.labelledBy\"\n [style.height]=\"height\"\n [style.maxHeight]=\"maxHeight\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-content></ng-content>\n </ng-container>\n </div>\n</div>\n" }]
|
|
528
528
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.IgxSelectionAPIService }, { type: undefined, decorators: [{
|
|
@@ -555,4 +555,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
555
555
|
type: ViewChild,
|
|
556
556
|
args: ['scrollContainer', { static: true }]
|
|
557
557
|
}] } });
|
|
558
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFVBQVUsRUFHVixLQUFLLEVBRUwsU0FBUyxFQUNULFlBQVksRUFFWixNQUFNLEVBQ04sWUFBWSxFQUNaLFFBQVEsRUFDUixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUF1QixNQUFNLHVDQUF1QyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBcUIsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBSXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxpQkFBaUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUV2Qzs7Ozs7Ozs7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a0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlyQyxrQkFBa0I7c0JBRDNCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBRdWVyeUxpc3QsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPcHRpb25hbCxcbiAgICBJbmplY3QsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneFRvZ2dsZURpcmVjdGl2ZSwgVG9nZ2xlVmlld0V2ZW50QXJncyB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdG9nZ2xlL3RvZ2dsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4RHJvcERvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wLWRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4RHJvcERvd25CYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wLWRvd24uYmFzZSc7XG5pbXBvcnQgeyBEcm9wRG93bkFjdGlvbktleSwgTmF2aWdhdGUgfSBmcm9tICcuL2Ryb3AtZG93bi5jb21tb24nO1xuaW1wb3J0IHsgSUdYX0RST1BET1dOX0JBU0UsIElEcm9wRG93bkJhc2UgfSBmcm9tICcuL2Ryb3AtZG93bi5jb21tb24nO1xuaW1wb3J0IHsgSVNlbGVjdGlvbkV2ZW50QXJncyB9IGZyb20gJy4vZHJvcC1kb3duLmNvbW1vbic7XG5pbXBvcnQgeyBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzLCBJQmFzZUV2ZW50QXJncyB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgSWd4U2VsZWN0aW9uQVBJU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VsZWN0aW9uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3AtZG93bi1pdGVtLmJhc2UnO1xuaW1wb3J0IHsgSWd4Rm9yT2ZEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2YuZGlyZWN0aXZlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEaXNwbGF5RGVuc2l0eVRva2VuLCBJRGlzcGxheURlbnNpdHlPcHRpb25zIH0gZnJvbSAnLi4vY29yZS9kZW5zaXR5JztcbmltcG9ydCB7IE92ZXJsYXlTZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL292ZXJsYXkvdXRpbGl0aWVzJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqICoqSWduaXRlIFVJIGZvciBBbmd1bGFyIERyb3BEb3duKiogLVxuICogW0RvY3VtZW50YXRpb25dKGh0dHBzOi8vd3d3LmluZnJhZ2lzdGljcy5jb20vcHJvZHVjdHMvaWduaXRlLXVpLWFuZ3VsYXIvYW5ndWxhci9jb21wb25lbnRzL2Ryb3AtZG93bilcbiAqXG4gKiBUaGUgSWduaXRlIFVJIGZvciBBbmd1bGFyIERyb3AgRG93biBkaXNwbGF5cyBhIHNjcm9sbGFibGUgbGlzdCBvZiBpdGVtcyB3aGljaCBtYXkgYmUgdmlzdWFsbHkgZ3JvdXBlZCBhbmRcbiAqIHN1cHBvcnRzIHNlbGVjdGlvbiBvZiBhIHNpbmdsZSBpdGVtLiBDbGlja2luZyBvciB0YXBwaW5nIGFuIGl0ZW0gc2VsZWN0cyBpdCBhbmQgY2xvc2VzIHRoZSBEcm9wIERvd25cbiAqXG4gKiBFeGFtcGxlOlxuICogYGBgaHRtbFxuICogPGlneC1kcm9wLWRvd24+XG4gKiAgIDxpZ3gtZHJvcC1kb3duLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBkaXNhYmxlZD17e2l0ZW0uZGlzYWJsZWR9fSBpc0hlYWRlcj17e2l0ZW0uaGVhZGVyfX0+XG4gKiAgICAge3sgaXRlbS52YWx1ZSB9fVxuICogICA8L2lneC1kcm9wLWRvd24taXRlbT5cbiAqIDwvaWd4LWRyb3AtZG93bj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1kcm9wLWRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wLWRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSUdYX0RST1BET1dOX0JBU0UsIHVzZUV4aXN0aW5nOiBJZ3hEcm9wRG93bkNvbXBvbmVudCB9XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtJZ3hUb2dnbGVEaXJlY3RpdmUsIE5nSWZdXG59KVxuZXhwb3J0IGNsYXNzIElneERyb3BEb3duQ29tcG9uZW50IGV4dGVuZHMgSWd4RHJvcERvd25CYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgSURyb3BEb3duQmFzZSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gSWd4RHJvcERvd25JdGVtQ29tcG9uZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHB1YmxpYyBvdmVycmlkZSBjaGlsZHJlbjogUXVlcnlMaXN0PElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCBiZWZvcmUgdGhlIGRyb3Bkb3duIGlzIG9wZW5lZFxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtZHJvcC1kb3duIChvcGVuaW5nKT0naGFuZGxlT3BlbmluZygkZXZlbnQpJz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9wZW5pbmcgPSBuZXcgRXZlbnRFbWl0dGVyPElCYXNlQ2FuY2VsYWJsZUJyb3dzZXJFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBkcm9wZG93biBpcyBvcGVuZWRcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRyb3AtZG93biAob3BlbmVkKT0naGFuZGxlT3BlbmVkKCRldmVudCknPjwvaWd4LWRyb3AtZG93bj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxJQmFzZUV2ZW50QXJncz4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgYmVmb3JlIHRoZSBkcm9wZG93biBpcyBjbG9zZWRcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRyb3AtZG93biAoY2xvc2luZyk9J2hhbmRsZUNsb3NpbmcoJGV2ZW50KSc+PC9pZ3gtZHJvcC1kb3duPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbG9zaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCBhZnRlciB0aGUgZHJvcGRvd24gaXMgY2xvc2VkXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kcm9wLWRvd24gKGNsb3NlZCk9J2hhbmRsZUNsb3NlZCgkZXZlbnQpJz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUJhc2VFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL3NldHMgd2hldGhlciBpdGVtcyB0YWtlIGZvY3VzLiBEaXNhYmxlZCBieSBkZWZhdWx0LlxuICAgICAqIFdoZW4gZW5hYmxlZCwgZHJvcCBkb3duIGl0ZW1zIGdhaW4gdGFiIGluZGV4IGFuZCBhcmUgZm9jdXNlZCB3aGVuIGFjdGl2ZSAtXG4gICAgICogdGhpcyBpbmNsdWRlcyBhY3RpdmF0aW5nIHRoZSBzZWxlY3RlZCBpdGVtIHdoZW4gb3BlbmluZyB0aGUgZHJvcCBkb3duIGFuZCBtb3Zpbmcgd2l0aCBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuICAgICAqXG4gICAgICogTm90ZTogS2VlcCB0aGF0IGZvY3VzIHNoaWZ0IGluIG1pbmQgd2hlbiB1c2luZyB0aGUgaWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbiBkaXJlY3RpdmVcbiAgICAgKiBhbmQgZW5zdXJlIGl0J3MgcGxhY2VkIGVpdGhlciBvbiBlYWNoIGZvY3VzYWJsZSBpdGVtIG9yIGEgY29tbW9uIGFuY2VzdG9yIHRvIGFsbG93IGl0IHRvIGhhbmRsZSBrZXlib2FyZCBldmVudHMuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IGRyb3BEb3duQWxsb3dzSXRlbUZvY3VzID0gdGhpcy5kcm9wZG93bi5hbGxvd0l0ZW1zRm9jdXM7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPCEtLXNldC0tPlxuICAgICAqIDxpZ3gtZHJvcC1kb3duIFthbGxvd0l0ZW1zRm9jdXNdPSd0cnVlJz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxsb3dJdGVtc0ZvY3VzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXQgYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRyb3AtZG93biBbbGFiZWxsZWRieV09XCJsYWJlbElkXCI+PC9pZ3gtZHJvcC1kb3duPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxhYmVsbGVkQnk6IHN0cmluZztcblxuICAgIEBDb250ZW50Q2hpbGQoSWd4Rm9yT2ZEaXJlY3RpdmUsIHsgcmVhZDogSWd4Rm9yT2ZEaXJlY3RpdmUgfSlcbiAgICBwcm90ZWN0ZWQgdmlydERpcjogSWd4Rm9yT2ZEaXJlY3RpdmU8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoSWd4VG9nZ2xlRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHByb3RlY3RlZCB0b2dnbGVEaXJlY3RpdmU6IElneFRvZ2dsZURpcmVjdGl2ZTtcblxuICAgIEBWaWV3Q2hpbGQoJ3Njcm9sbENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHJvdGVjdGVkIHNjcm9sbENvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCBmb2N1c2VkSXRlbSgpOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlIHtcbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWRJdGVtICYmIHRoaXMuX2ZvY3VzZWRJdGVtLmluZGV4ICE9PSAtMSA/XG4gICAgICAgICAgICAgICAgKHRoaXMuY2hpbGRyZW4uZmluZChlID0+IGUuaW5kZXggPT09IHRoaXMuX2ZvY3VzZWRJdGVtLmluZGV4KSB8fCBudWxsKSA6XG4gICAgICAgICAgICAgICAgbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNlZEl0ZW07XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBmb2N1c2VkSXRlbSh2YWx1ZTogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcihgJHt0aGlzLmlkfS1hY3RpdmVgKTtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRJdGVtID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9mb2N1c2VkSXRlbSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy52aXJ0RGlyKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c2VkSXRlbSA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUudmFsdWUsXG4gICAgICAgICAgICAgICAgaW5kZXg6IHZhbHVlLmluZGV4XG4gICAgICAgICAgICB9IGFzIElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0KGAke3RoaXMuaWR9LWFjdGl2ZWAsIG5ldyBTZXQoW3RoaXMuX2ZvY3VzZWRJdGVtXSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkO1xuICAgIH1cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0KHZhbHVlLCB0aGlzLnNlbGVjdGlvbi5nZXQodGhpcy5pZCkpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcih0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0KHZhbHVlLCB0aGlzLnNlbGVjdGlvbi5nZXQoYCR7dGhpcy5pZH0tYWN0aXZlYCkpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcihgJHt0aGlzLmlkfS1hY3RpdmVgKTtcbiAgICAgICAgdGhpcy5faWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogSWQgb2YgdGhlIGludGVybmFsIGxpc3Rib3ggb2YgdGhlIGRyb3AgZG93biAqL1xuICAgIHB1YmxpYyBnZXQgbGlzdElkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICctbGlzdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGN1cnJlbnRJdGVtID0gdGhpcy5kcm9wZG93bi5zZWxlY3RlZEl0ZW07XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBzZWxlY3RlZEl0ZW0oKTogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMuc2VsZWN0aW9uLmZpcnN0X2l0ZW0odGhpcy5pZCk7XG4gICAgICAgIGlmIChzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEl0ZW07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBpZiB0aGUgZHJvcGRvd24gaXMgY29sbGFwc2VkXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGlzQ29sbGFwc2VkID0gdGhpcy5kcm9wZG93bi5jb2xsYXBzZWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBjb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZURpcmVjdGl2ZS5jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCBzY3JvbGxDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxDb250YWluZXJSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbGxlY3Rpb25MZW5ndGgoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpcnREaXIudG90YWxJdGVtQ291bnQgfHwgdGhpcy52aXJ0RGlyLmlneEZvck9mLmxlbmd0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJvdGVjdGVkIF9zY3JvbGxQb3NpdGlvbjogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBzZWxlY3Rpb246IElneFNlbGVjdGlvbkFQSVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRGlzcGxheURlbnNpdHlUb2tlbikgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucykge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIsIF9kaXNwbGF5RGVuc2l0eU9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHRoZSBkcm9wZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuZHJvcGRvd24ub3BlbigpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKG92ZXJsYXlTZXR0aW5ncz86IE92ZXJsYXlTZXR0aW5ncykge1xuICAgICAgICB0aGlzLnRvZ2dsZURpcmVjdGl2ZS5vcGVuKG92ZXJsYXlTZXR0aW5ncyk7XG4gICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsUG9zaXRpb24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgdGhlIGRyb3Bkb3duXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZShldmVudD86IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudG9nZ2xlRGlyZWN0aXZlLmNsb3NlKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIHRoZSBkcm9wZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuZHJvcGRvd24udG9nZ2xlKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZShvdmVybGF5U2V0dGluZ3M/OiBPdmVybGF5U2V0dGluZ3MpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkIHx8IHRoaXMudG9nZ2xlRGlyZWN0aXZlLmlzQ2xvc2luZykge1xuICAgICAgICAgICAgdGhpcy5vcGVuKG92ZXJsYXlTZXR0aW5ncyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYW4gaXRlbSBieSBpbmRleFxuICAgICAqXG4gICAgICogQHBhcmFtIGluZGV4IG9mIHRoZSBpdGVtIHRvIHNlbGVjdDsgSWYgdGhlIGRyb3AgZG93biB1c2VzICppZ3hGb3IsIHBhc3MgdGhlIGluZGV4IGluIGRhdGFcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U2VsZWN0ZWRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBuZXdTZWxlY3Rpb246IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52aXJ0RGlyLmlneEZvck9mW2luZGV4XSxcbiAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgfSBhcyBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3U2VsZWN0aW9uID0gdGhpcy5pdGVtc1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtKG5ld1NlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmF2aWdhdGVzIHRvIHRoZSBpdGVtIG9uIHRoZSBzcGVjaWZpZWQgaW5kZXhcbiAgICAgKiBJZiB0aGUgZGF0YSBpbiB0aGUgZHJvcC1kb3duIGlzIHZpcnR1YWxpemVkLCBwYXNzIHRoZSBpbmRleCBvZiB0aGUgaXRlbSBpbiB0aGUgdmlydHVhbGl6ZWQgZGF0YS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdJbmRleCBudW1iZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmF2aWdhdGVJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSB8fCBpbmRleCA+PSB0aGlzLmNvbGxlY3Rpb25MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBpbmRleCA+ICh0aGlzLmZvY3VzZWRJdGVtID8gdGhpcy5mb2N1c2VkSXRlbS5pbmRleCA6IC0xKSA/IE5hdmlnYXRlLkRvd24gOiBOYXZpZ2F0ZS5VcDtcbiAgICAgICAgICAgIGNvbnN0IHN1YlJlcXVpcmVkID0gdGhpcy5pc0luZGV4T3V0T2ZCb3VuZHMoaW5kZXgsIGRpcmVjdGlvbik7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRJdGVtID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZpcnREaXIuaWd4Rm9yT2ZbaW5kZXhdLFxuICAgICAgICAgICAgICAgIGluZGV4XG4gICAgICAgICAgICB9IGFzIElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG4gICAgICAgICAgICBpZiAoc3ViUmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpcnREaXIuc2Nyb2xsVG8oaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN1YlJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52aXJ0RGlyLmNodW5rTG9hZC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2tpcEhlYWRlcihkaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNraXBIZWFkZXIoZGlyZWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm5hdmlnYXRlSXRlbShpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWxsb3dJdGVtc0ZvY3VzICYmIHRoaXMuZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZEl0ZW0uZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVNjcm9sbFBvc2l0aW9uKCkge1xuICAgICAgICBpZiAoIXRoaXMudmlydERpcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudmlydERpci5zY3JvbGxUbygwKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdGFyZ2V0U2Nyb2xsID0gdGhpcy52aXJ0RGlyLmdldFNjcm9sbEZvckluZGV4KHRoaXMuc2VsZWN0ZWRJdGVtLmluZGV4KTtcbiAgICAgICAgY29uc3QgaXRlbXNJblZpZXcgPSB0aGlzLnZpcnREaXIuaWd4Rm9yQ29udGFpbmVyU2l6ZSAvIHRoaXMudmlydERpci5pZ3hGb3JJdGVtU2l6ZTtcbiAgICAgICAgdGFyZ2V0U2Nyb2xsIC09IChpdGVtc0luVmlldyAvIDIgLSAxKSAqIHRoaXMudmlydERpci5pZ3hGb3JJdGVtU2l6ZTtcbiAgICAgICAgdGhpcy52aXJ0RGlyLmdldFNjcm9sbCgpLnNjcm9sbFRvcCA9IHRhcmdldFNjcm9sbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvblRvZ2dsZU9wZW5pbmcoZTogSUJhc2VDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncykge1xuICAgICAgICBjb25zdCBhcmdzOiBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgZXZlbnQ6IGUuZXZlbnQsIGNhbmNlbDogZmFsc2UgfTtcbiAgICAgICAgdGhpcy5vcGVuaW5nLmVtaXQoYXJncyk7XG4gICAgICAgIGUuY2FuY2VsID0gYXJncy5jYW5jZWw7XG4gICAgICAgIGlmIChlLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgdGhpcy52aXJ0RGlyLnNjcm9sbFBvc2l0aW9uID0gdGhpcy5fc2Nyb2xsUG9zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvblRvZ2dsZUNvbnRlbnRBcHBlbmRlZChfZXZlbnQ6IFRvZ2dsZVZpZXdFdmVudEFyZ3MpIHtcbiAgICAgICAgaWYgKCF0aGlzLnZpcnREaXIgJiYgdGhpcy5zZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgdGhpcy5zY3JvbGxUb0l0ZW0odGhpcy5zZWxlY3RlZEl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb25Ub2dnbGVPcGVuZWQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSXRlbUZvY3VzKCk7XG4gICAgICAgIHRoaXMub3BlbmVkLmVtaXQoeyBvd25lcjogdGhpcyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvblRvZ2dsZUNsb3NpbmcoZTogSUJhc2VDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncykge1xuICAgICAgICBjb25zdCBhcmdzOiBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgZXZlbnQ6IGUuZXZlbnQsIGNhbmNlbDogZmFsc2UgfTtcbiAgICAgICAgdGhpcy5jbG9zaW5nLmVtaXQoYXJncyk7XG4gICAgICAgIGUuY2FuY2VsID0gYXJncy5jYW5jZWw7XG4gICAgICAgIGlmIChlLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbFBvc2l0aW9uID0gdGhpcy52aXJ0RGlyLnNjcm9sbFBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb25Ub2dnbGVDbG9zZWQoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJdGVtKGZhbHNlKTtcbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCh7IG93bmVyOiB0aGlzIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIodGhpcy5pZCk7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKGAke3RoaXMuaWR9LWFjdGl2ZWApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBjYWxjdWxhdGVTY3JvbGxQb3NpdGlvbihpdGVtOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gaXRlbS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsRGVsdGEgPSBwYXJlbnRSZWN0LnRvcCAtIGVsZW1lbnRSZWN0LnRvcDtcbiAgICAgICAgbGV0IHNjcm9sbFBvc2l0aW9uID0gdGhpcy5zY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wIC0gc2Nyb2xsRGVsdGE7XG5cbiAgICAgICAgY29uc3QgZHJvcERvd25IZWlnaHQgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG4gICAgICAgIHNjcm9sbFBvc2l0aW9uIC09IGRyb3BEb3duSGVpZ2h0IC8gMjtcbiAgICAgICAgc2Nyb2xsUG9zaXRpb24gKz0gaXRlbS5lbGVtZW50SGVpZ2h0IC8gMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihzY3JvbGxQb3NpdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5pZCkge1xuICAgICAgICAgICAgLy8gdGVtcCB3b3JrYXJvdW5kIHVudGlsIGZpeCAtLT4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzQ5OTJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRGlyZWN0aXZlLmlkID0gY2hhbmdlcy5pZC5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy52aXJ0RGlyKSB7XG4gICAgICAgICAgICB0aGlzLnZpcnREaXIuaWd4Rm9ySXRlbVNpemUgPSAyODtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBLZXlkb3duIEhhbmRsZXIgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgb25JdGVtQWN0aW9uS2V5KGtleTogRHJvcERvd25BY3Rpb25LZXksIGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgc3VwZXIub25JdGVtQWN0aW9uS2V5KGtleSwgZXZlbnQpO1xuICAgICAgICB0aGlzLmNsb3NlKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWaXJ0dWFsIHNjcm9sbCBpbXBsZW1lbnRhdGlvblxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmF2aWdhdGVGaXJzdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUl0ZW0oMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5uYXZpZ2F0ZUZpcnN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBuYXZpZ2F0ZUxhc3QoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVJdGVtKHRoaXMudmlydERpci50b3RhbEl0ZW1Db3VudCA/IHRoaXMudmlydERpci50b3RhbEl0ZW1Db3VudCAtIDEgOiB0aGlzLnZpcnREaXIuaWd4Rm9yT2YubGVuZ3RoIC0gMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5uYXZpZ2F0ZUxhc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIG5hdmlnYXRlTmV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUl0ZW0odGhpcy5fZm9jdXNlZEl0ZW0gPyB0aGlzLl9mb2N1c2VkSXRlbS5pbmRleCArIDEgOiAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm5hdmlnYXRlTmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmF2aWdhdGVQcmV2KCkge1xuICAgICAgICBpZiAodGhpcy52aXJ0RGlyKSB7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlSXRlbSh0aGlzLl9mb2N1c2VkSXRlbSA/IHRoaXMuX2ZvY3VzZWRJdGVtLmluZGV4IC0gMSA6IDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIubmF2aWdhdGVQcmV2KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIHRoZSBgc2VsZWN0aW9uQ2hhbmdpbmdgIGVtaXQgYW5kIHRoZSBkcm9wIGRvd24gdG9nZ2xlIHdoZW4gc2VsZWN0aW9uIGNoYW5nZXNcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBAcGFyYW0gbmV3U2VsZWN0aW9uXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIHNlbGVjdEl0ZW0obmV3U2VsZWN0aW9uPzogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSwgZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICBjb25zdCBvbGRTZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGVkSXRlbTtcbiAgICAgICAgaWYgKCFuZXdTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbiA9IHRoaXMuZm9jdXNlZEl0ZW07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld1NlbGVjdGlvbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZXdTZWxlY3Rpb24gaW5zdGFuY2VvZiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlICYmIG5ld1NlbGVjdGlvbi5pc0hlYWRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogbmV3U2VsZWN0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgIGluZGV4OiBuZXdTZWxlY3Rpb24uaW5kZXhcbiAgICAgICAgICAgIH0gYXMgSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcmdzOiBJU2VsZWN0aW9uRXZlbnRBcmdzID0geyBvbGRTZWxlY3Rpb24sIG5ld1NlbGVjdGlvbiwgY2FuY2VsOiBmYWxzZSwgb3duZXI6dGhpcyB9O1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5naW5nLmVtaXQoYXJncyk7XG5cbiAgICAgICAgaWYgKCFhcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3Rpb25WYWxpZChhcmdzLm5ld1NlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZXQodGhpcy5pZCwgbmV3IFNldChbYXJncy5uZXdTZWxlY3Rpb25dKSk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9sZFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2xkU2VsZWN0aW9uLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFyZ3MubmV3U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzLm5ld1NlbGVjdGlvbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlRGlyZWN0aXZlLmNsb3NlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBkcm9wLWRvd24gaXRlbSBmb3IgdGhlIHNlbGVjdGlvbiEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgc2VsZWN0aW9uIG9mIHRoZSBkcm9wZG93blxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLmRyb3Bkb3duLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCkge1xuICAgICAgICBjb25zdCBvbGRTZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGVkSXRlbTtcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlID0gbnVsbDtcbiAgICAgICAgY29uc3QgYXJnczogSVNlbGVjdGlvbkV2ZW50QXJncyA9IHsgb2xkU2VsZWN0aW9uLCBuZXdTZWxlY3Rpb24sIGNhbmNlbDogZmFsc2UsIG93bmVyOiB0aGlzIH07XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdpbmcuZW1pdChhcmdzKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtICYmICFhcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKHRoaXMuaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIHNlbGVjdGlvbiBpcyB2YWxpZFxuICAgICAqIGBudWxsYCAtIHRoZSBzZWxlY3Rpb24gc2hvdWxkIGJlIGVtcHRpZWRcbiAgICAgKiBWaXJ0dWFsPyAtIHRoZSBzZWxlY3Rpb24gc2hvdWxkIGF0IGxlYXN0IGhhdmUgYW5kIGBpbmRleGAgYW5kIGB2YWx1ZWAgcHJvcGVydHlcbiAgICAgKiBOb24tdmlydHVhbD8gLSB0aGUgc2VsZWN0aW9uIHNob3VsZCBiZSBhIHZhbGlkIGRyb3AtZG93biBpdGVtIGFuZCAqKm5vdCoqIGJlIGEgaGVhZGVyXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzU2VsZWN0aW9uVmFsaWQoc2VsZWN0aW9uOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGlvbiA9PT0gbnVsbFxuICAgICAgICB8fCAodGhpcy52aXJ0RGlyICYmIHNlbGVjdGlvbi5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSAmJiBzZWxlY3Rpb24uaGFzT3duUHJvcGVydHkoJ2luZGV4JykpXG4gICAgICAgIHx8IChzZWxlY3Rpb24gaW5zdGFuY2VvZiBJZ3hEcm9wRG93bkl0ZW1Db21wb25lbnQgJiYgIXNlbGVjdGlvbi5pc0hlYWRlcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNjcm9sbFRvSXRlbShpdGVtOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcCA9IHRoaXMuY2FsY3VsYXRlU2Nyb2xsUG9zaXRpb24oaXRlbSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZvY3VzSXRlbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgfHwgdGhpcy5fZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRJdGVtLmZvY3VzZWQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVJdGVtRm9jdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkSXRlbSA9IHRoaXMuc2VsZWN0ZWRJdGVtO1xuICAgICAgICAgICAgdGhpcy5mb2N1c0l0ZW0odHJ1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hbGxvd0l0ZW1zRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVGaXJzdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNraXBIZWFkZXIoZGlyZWN0aW9uOiBOYXZpZ2F0ZSkge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkSXRlbS5pc0hlYWRlciB8fCB0aGlzLmZvY3VzZWRJdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBpZiAoZGlyZWN0aW9uID09PSBOYXZpZ2F0ZS5VcCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVQcmV2KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVOZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzSW5kZXhPdXRPZkJvdW5kcyhpbmRleDogbnVtYmVyLCBkaXJlY3Rpb246IE5hdmlnYXRlKSB7XG4gICAgICAgIGNvbnN0IHZpcnRTdGF0ZSA9IHRoaXMudmlydERpci5zdGF0ZTtcbiAgICAgICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gdGhpcy52aXJ0RGlyLmdldFNjcm9sbCgpLnNjcm9sbFRvcDtcbiAgICAgICAgY29uc3QgaXRlbVBvc2l0aW9uID0gdGhpcy52aXJ0RGlyLmdldFNjcm9sbEZvckluZGV4KGluZGV4LCBkaXJlY3Rpb24gPT09IE5hdmlnYXRlLkRvd24pO1xuICAgICAgICBjb25zdCBpbmRleE91dE9mQ2h1bmsgPSBpbmRleCA8IHZpcnRTdGF0ZS5zdGFydEluZGV4IHx8IGluZGV4ID4gdmlydFN0YXRlLmNodW5rU2l6ZSArIHZpcnRTdGF0ZS5zdGFydEluZGV4O1xuICAgICAgICBjb25zdCBzY3JvbGxOZWVkZWQgPSBkaXJlY3Rpb24gPT09IE5hdmlnYXRlLkRvd24gPyBjdXJyZW50UG9zaXRpb24gPCBpdGVtUG9zaXRpb24gOiBjdXJyZW50UG9zaXRpb24gPiBpdGVtUG9zaXRpb247XG4gICAgICAgIGNvbnN0IHN1YlJlcXVpcmVkID0gaW5kZXhPdXRPZkNodW5rIHx8IHNjcm9sbE5lZWRlZDtcbiAgICAgICAgcmV0dXJuIHN1YlJlcXVpcmVkO1xuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImlneC1kcm9wLWRvd25fX2xpc3RcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIlxuICAgIGlneFRvZ2dsZVxuICAgIChhcHBlbmRlZCk9XCJvblRvZ2dsZUNvbnRlbnRBcHBlbmRlZCgkZXZlbnQpXCJcbiAgICAob3BlbmluZyk9XCJvblRvZ2dsZU9wZW5pbmcoJGV2ZW50KVwiIChvcGVuZWQpPVwib25Ub2dnbGVPcGVuZWQoKVwiXG4gICAgKGNsb3NpbmcpPVwib25Ub2dnbGVDbG9zaW5nKCRldmVudClcIiAoY2xvc2VkKT1cIm9uVG9nZ2xlQ2xvc2VkKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWd4LWRyb3AtZG93bl9fbGlzdC1zY3JvbGxcIiAjc2Nyb2xsQ29udGFpbmVyIFthdHRyLmlkXT1cInRoaXMubGlzdElkXCIgcm9sZT1cImxpc3Rib3hcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidGhpcy5sYWJlbGxlZEJ5XCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgW3N0eWxlLm1heEhlaWdodF09XCJtYXhIZWlnaHRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2xsYXBzZWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
558
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wLWRvd24vZHJvcC1kb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFVBQVUsRUFHVixLQUFLLEVBRUwsU0FBUyxFQUNULFlBQVksRUFFWixNQUFNLEVBQ04sWUFBWSxFQUNaLFFBQVEsRUFDUixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUF1QixNQUFNLHVDQUF1QyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBcUIsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBSXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxpQkFBaUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUV2Qzs7Ozs7Ozs7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a0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlyQyxrQkFBa0I7c0JBRDNCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBRdWVyeUxpc3QsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPcHRpb25hbCxcbiAgICBJbmplY3QsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneFRvZ2dsZURpcmVjdGl2ZSwgVG9nZ2xlVmlld0V2ZW50QXJncyB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdG9nZ2xlL3RvZ2dsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4RHJvcERvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wLWRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4RHJvcERvd25CYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wLWRvd24uYmFzZSc7XG5pbXBvcnQgeyBEcm9wRG93bkFjdGlvbktleSwgTmF2aWdhdGUgfSBmcm9tICcuL2Ryb3AtZG93bi5jb21tb24nO1xuaW1wb3J0IHsgSUdYX0RST1BET1dOX0JBU0UsIElEcm9wRG93bkJhc2UgfSBmcm9tICcuL2Ryb3AtZG93bi5jb21tb24nO1xuaW1wb3J0IHsgSVNlbGVjdGlvbkV2ZW50QXJncyB9IGZyb20gJy4vZHJvcC1kb3duLmNvbW1vbic7XG5pbXBvcnQgeyBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzLCBJQmFzZUV2ZW50QXJncyB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgSWd4U2VsZWN0aW9uQVBJU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VsZWN0aW9uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3AtZG93bi1pdGVtLmJhc2UnO1xuaW1wb3J0IHsgSWd4Rm9yT2ZEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2YuZGlyZWN0aXZlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEaXNwbGF5RGVuc2l0eVRva2VuLCBJRGlzcGxheURlbnNpdHlPcHRpb25zIH0gZnJvbSAnLi4vY29yZS9kZW5zaXR5JztcbmltcG9ydCB7IE92ZXJsYXlTZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL292ZXJsYXkvdXRpbGl0aWVzJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqICoqSWduaXRlIFVJIGZvciBBbmd1bGFyIERyb3BEb3duKiogLVxuICogW0RvY3VtZW50YXRpb25dKGh0dHBzOi8vd3d3LmluZnJhZ2lzdGljcy5jb20vcHJvZHVjdHMvaWduaXRlLXVpLWFuZ3VsYXIvYW5ndWxhci9jb21wb25lbnRzL2Ryb3AtZG93bilcbiAqXG4gKiBUaGUgSWduaXRlIFVJIGZvciBBbmd1bGFyIERyb3AgRG93biBkaXNwbGF5cyBhIHNjcm9sbGFibGUgbGlzdCBvZiBpdGVtcyB3aGljaCBtYXkgYmUgdmlzdWFsbHkgZ3JvdXBlZCBhbmRcbiAqIHN1cHBvcnRzIHNlbGVjdGlvbiBvZiBhIHNpbmdsZSBpdGVtLiBDbGlja2luZyBvciB0YXBwaW5nIGFuIGl0ZW0gc2VsZWN0cyBpdCBhbmQgY2xvc2VzIHRoZSBEcm9wIERvd25cbiAqXG4gKiBFeGFtcGxlOlxuICogYGBgaHRtbFxuICogPGlneC1kcm9wLWRvd24+XG4gKiAgIDxpZ3gtZHJvcC1kb3duLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBkaXNhYmxlZD17e2l0ZW0uZGlzYWJsZWR9fSBpc0hlYWRlcj17e2l0ZW0uaGVhZGVyfX0+XG4gKiAgICAge3sgaXRlbS52YWx1ZSB9fVxuICogICA8L2lneC1kcm9wLWRvd24taXRlbT5cbiAqIDwvaWd4LWRyb3AtZG93bj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1kcm9wLWRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wLWRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSUdYX0RST1BET1dOX0JBU0UsIHVzZUV4aXN0aW5nOiBJZ3hEcm9wRG93bkNvbXBvbmVudCB9XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtJZ3hUb2dnbGVEaXJlY3RpdmUsIE5nSWZdXG59KVxuZXhwb3J0IGNsYXNzIElneERyb3BEb3duQ29tcG9uZW50IGV4dGVuZHMgSWd4RHJvcERvd25CYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgSURyb3BEb3duQmFzZSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gSWd4RHJvcERvd25JdGVtQ29tcG9uZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHB1YmxpYyBvdmVycmlkZSBjaGlsZHJlbjogUXVlcnlMaXN0PElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCBiZWZvcmUgdGhlIGRyb3Bkb3duIGlzIG9wZW5lZFxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtZHJvcC1kb3duIChvcGVuaW5nKT0naGFuZGxlT3BlbmluZygkZXZlbnQpJz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9wZW5pbmcgPSBuZXcgRXZlbnRFbWl0dGVyPElCYXNlQ2FuY2VsYWJsZUJyb3dzZXJFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBkcm9wZG93biBpcyBvcGVuZWRcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRyb3AtZG93biAob3BlbmVkKT0naGFuZGxlT3BlbmVkKCRldmVudCknPjwvaWd4LWRyb3AtZG93bj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxJQmFzZUV2ZW50QXJncz4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgYmVmb3JlIHRoZSBkcm9wZG93biBpcyBjbG9zZWRcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRyb3AtZG93biAoY2xvc2luZyk9J2hhbmRsZUNsb3NpbmcoJGV2ZW50KSc+PC9pZ3gtZHJvcC1kb3duPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbG9zaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCBhZnRlciB0aGUgZHJvcGRvd24gaXMgY2xvc2VkXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kcm9wLWRvd24gKGNsb3NlZCk9J2hhbmRsZUNsb3NlZCgkZXZlbnQpJz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUJhc2VFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL3NldHMgd2hldGhlciBpdGVtcyB0YWtlIGZvY3VzLiBEaXNhYmxlZCBieSBkZWZhdWx0LlxuICAgICAqIFdoZW4gZW5hYmxlZCwgZHJvcCBkb3duIGl0ZW1zIGdhaW4gdGFiIGluZGV4IGFuZCBhcmUgZm9jdXNlZCB3aGVuIGFjdGl2ZSAtXG4gICAgICogdGhpcyBpbmNsdWRlcyBhY3RpdmF0aW5nIHRoZSBzZWxlY3RlZCBpdGVtIHdoZW4gb3BlbmluZyB0aGUgZHJvcCBkb3duIGFuZCBtb3Zpbmcgd2l0aCBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuICAgICAqXG4gICAgICogTm90ZTogS2VlcCB0aGF0IGZvY3VzIHNoaWZ0IGluIG1pbmQgd2hlbiB1c2luZyB0aGUgaWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbiBkaXJlY3RpdmVcbiAgICAgKiBhbmQgZW5zdXJlIGl0J3MgcGxhY2VkIGVpdGhlciBvbiBlYWNoIGZvY3VzYWJsZSBpdGVtIG9yIGEgY29tbW9uIGFuY2VzdG9yIHRvIGFsbG93IGl0IHRvIGhhbmRsZSBrZXlib2FyZCBldmVudHMuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogLy8gZ2V0XG4gICAgICogbGV0IGRyb3BEb3duQWxsb3dzSXRlbUZvY3VzID0gdGhpcy5kcm9wZG93bi5hbGxvd0l0ZW1zRm9jdXM7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPCEtLXNldC0tPlxuICAgICAqIDxpZ3gtZHJvcC1kb3duIFthbGxvd0l0ZW1zRm9jdXNdPSd0cnVlJz48L2lneC1kcm9wLWRvd24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxsb3dJdGVtc0ZvY3VzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXQgYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRyb3AtZG93biBbbGFiZWxsZWRieV09XCJsYWJlbElkXCI+PC9pZ3gtZHJvcC1kb3duPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxhYmVsbGVkQnk6IHN0cmluZztcblxuICAgIEBDb250ZW50Q2hpbGQoSWd4Rm9yT2ZEaXJlY3RpdmUsIHsgcmVhZDogSWd4Rm9yT2ZEaXJlY3RpdmUgfSlcbiAgICBwcm90ZWN0ZWQgdmlydERpcjogSWd4Rm9yT2ZEaXJlY3RpdmU8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoSWd4VG9nZ2xlRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHByb3RlY3RlZCB0b2dnbGVEaXJlY3RpdmU6IElneFRvZ2dsZURpcmVjdGl2ZTtcblxuICAgIEBWaWV3Q2hpbGQoJ3Njcm9sbENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHJvdGVjdGVkIHNjcm9sbENvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCBmb2N1c2VkSXRlbSgpOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlIHtcbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWRJdGVtICYmIHRoaXMuX2ZvY3VzZWRJdGVtLmluZGV4ICE9PSAtMSA/XG4gICAgICAgICAgICAgICAgKHRoaXMuY2hpbGRyZW4uZmluZChlID0+IGUuaW5kZXggPT09IHRoaXMuX2ZvY3VzZWRJdGVtLmluZGV4KSB8fCBudWxsKSA6XG4gICAgICAgICAgICAgICAgbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNlZEl0ZW07XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBmb2N1c2VkSXRlbSh2YWx1ZTogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcihgJHt0aGlzLmlkfS1hY3RpdmVgKTtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRJdGVtID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9mb2N1c2VkSXRlbSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy52aXJ0RGlyKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c2VkSXRlbSA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUudmFsdWUsXG4gICAgICAgICAgICAgICAgaW5kZXg6IHZhbHVlLmluZGV4XG4gICAgICAgICAgICB9IGFzIElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0KGAke3RoaXMuaWR9LWFjdGl2ZWAsIG5ldyBTZXQoW3RoaXMuX2ZvY3VzZWRJdGVtXSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkO1xuICAgIH1cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0KHZhbHVlLCB0aGlzLnNlbGVjdGlvbi5nZXQodGhpcy5pZCkpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcih0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0KHZhbHVlLCB0aGlzLnNlbGVjdGlvbi5nZXQoYCR7dGhpcy5pZH0tYWN0aXZlYCkpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcihgJHt0aGlzLmlkfS1hY3RpdmVgKTtcbiAgICAgICAgdGhpcy5faWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogSWQgb2YgdGhlIGludGVybmFsIGxpc3Rib3ggb2YgdGhlIGRyb3AgZG93biAqL1xuICAgIHB1YmxpYyBnZXQgbGlzdElkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICctbGlzdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGN1cnJlbnRJdGVtID0gdGhpcy5kcm9wZG93bi5zZWxlY3RlZEl0ZW07XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBzZWxlY3RlZEl0ZW0oKTogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMuc2VsZWN0aW9uLmZpcnN0X2l0ZW0odGhpcy5pZCk7XG4gICAgICAgIGlmIChzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEl0ZW07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBpZiB0aGUgZHJvcGRvd24gaXMgY29sbGFwc2VkXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGlzQ29sbGFwc2VkID0gdGhpcy5kcm9wZG93bi5jb2xsYXBzZWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBjb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZURpcmVjdGl2ZS5jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCBzY3JvbGxDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxDb250YWluZXJSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbGxlY3Rpb25MZW5ndGgoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpcnREaXIudG90YWxJdGVtQ291bnQgfHwgdGhpcy52aXJ0RGlyLmlneEZvck9mLmxlbmd0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJvdGVjdGVkIF9zY3JvbGxQb3NpdGlvbjogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBzZWxlY3Rpb246IElneFNlbGVjdGlvbkFQSVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRGlzcGxheURlbnNpdHlUb2tlbikgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucykge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIsIF9kaXNwbGF5RGVuc2l0eU9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHRoZSBkcm9wZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuZHJvcGRvd24ub3BlbigpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKG92ZXJsYXlTZXR0aW5ncz86IE92ZXJsYXlTZXR0aW5ncykge1xuICAgICAgICB0aGlzLnRvZ2dsZURpcmVjdGl2ZS5vcGVuKG92ZXJsYXlTZXR0aW5ncyk7XG4gICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsUG9zaXRpb24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgdGhlIGRyb3Bkb3duXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZShldmVudD86IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudG9nZ2xlRGlyZWN0aXZlLmNsb3NlKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIHRoZSBkcm9wZG93blxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuZHJvcGRvd24udG9nZ2xlKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZShvdmVybGF5U2V0dGluZ3M/OiBPdmVybGF5U2V0dGluZ3MpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkIHx8IHRoaXMudG9nZ2xlRGlyZWN0aXZlLmlzQ2xvc2luZykge1xuICAgICAgICAgICAgdGhpcy5vcGVuKG92ZXJsYXlTZXR0aW5ncyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYW4gaXRlbSBieSBpbmRleFxuICAgICAqXG4gICAgICogQHBhcmFtIGluZGV4IG9mIHRoZSBpdGVtIHRvIHNlbGVjdDsgSWYgdGhlIGRyb3AgZG93biB1c2VzICppZ3hGb3IsIHBhc3MgdGhlIGluZGV4IGluIGRhdGFcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U2VsZWN0ZWRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBuZXdTZWxlY3Rpb246IElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52aXJ0RGlyLmlneEZvck9mW2luZGV4XSxcbiAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgfSBhcyBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3U2VsZWN0aW9uID0gdGhpcy5pdGVtc1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtKG5ld1NlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmF2aWdhdGVzIHRvIHRoZSBpdGVtIG9uIHRoZSBzcGVjaWZpZWQgaW5kZXhcbiAgICAgKiBJZiB0aGUgZGF0YSBpbiB0aGUgZHJvcC1kb3duIGlzIHZpcnR1YWxpemVkLCBwYXNzIHRoZSBpbmRleCBvZiB0aGUgaXRlbSBpbiB0aGUgdmlydHVhbGl6ZWQgZGF0YS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdJbmRleCBudW1iZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmF2aWdhdGVJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSB8fCBpbmRleCA+PSB0aGlzLmNvbGxlY3Rpb25MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBpbmRleCA+ICh0aGlzLmZvY3VzZWRJdGVtID8gdGhpcy5mb2N1c2VkSXRlbS5pbmRleCA6IC0xKSA/IE5hdmlnYXRlLkRvd24gOiBOYXZpZ2F0ZS5VcDtcbiAgICAgICAgICAgIGNvbnN0IHN1YlJlcXVpcmVkID0gdGhpcy5pc0luZGV4T3V0T2ZCb3VuZHMoaW5kZXgsIGRpcmVjdGlvbik7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRJdGVtID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZpcnREaXIuaWd4Rm9yT2ZbaW5kZXhdLFxuICAgICAgICAgICAgICAgIGluZGV4XG4gICAgICAgICAgICB9IGFzIElneERyb3BEb3duSXRlbUJhc2VEaXJlY3RpdmU7XG4gICAgICAgICAgICBpZiAoc3ViUmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpcnREaXIuc2Nyb2xsVG8oaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN1YlJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52aXJ0RGlyLmNodW5rTG9hZC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2tpcEhlYWRlcihkaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNraXBIZWFkZXIoZGlyZWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm5hdmlnYXRlSXRlbShpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWxsb3dJdGVtc0ZvY3VzICYmIHRoaXMuZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZEl0ZW0uZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVNjcm9sbFBvc2l0aW9uKCkge1xuICAgICAgICBpZiAoIXRoaXMudmlydERpcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudmlydERpci5zY3JvbGxUbygwKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdGFyZ2V0U2Nyb2xsID0gdGhpcy52aXJ0RGlyLmdldFNjcm9sbEZvckluZGV4KHRoaXMuc2VsZWN0ZWRJdGVtLmluZGV4KTtcbiAgICAgICAgY29uc3QgaXRlbXNJblZpZXcgPSB0aGlzLnZpcnREaXIuaWd4Rm9yQ29udGFpbmVyU2l6ZSAvIHRoaXMudmlydERpci5pZ3hGb3JJdGVtU2l6ZTtcbiAgICAgICAgdGFyZ2V0U2Nyb2xsIC09IChpdGVtc0luVmlldyAvIDIgLSAxKSAqIHRoaXMudmlydERpci5pZ3hGb3JJdGVtU2l6ZTtcbiAgICAgICAgdGhpcy52aXJ0RGlyLmdldFNjcm9sbCgpLnNjcm9sbFRvcCA9IHRhcmdldFNjcm9sbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvblRvZ2dsZU9wZW5pbmcoZTogSUJhc2VDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncykge1xuICAgICAgICBjb25zdCBhcmdzOiBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgZXZlbnQ6IGUuZXZlbnQsIGNhbmNlbDogZmFsc2UgfTtcbiAgICAgICAgdGhpcy5vcGVuaW5nLmVtaXQoYXJncyk7XG4gICAgICAgIGUuY2FuY2VsID0gYXJncy5jYW5jZWw7XG4gICAgICAgIGlmIChlLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgdGhpcy52aXJ0RGlyLnNjcm9sbFBvc2l0aW9uID0gdGhpcy5fc2Nyb2xsUG9zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvblRvZ2dsZUNvbnRlbnRBcHBlbmRlZChfZXZlbnQ6IFRvZ2dsZVZpZXdFdmVudEFyZ3MpIHtcbiAgICAgICAgaWYgKCF0aGlzLnZpcnREaXIgJiYgdGhpcy5zZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgdGhpcy5zY3JvbGxUb0l0ZW0odGhpcy5zZWxlY3RlZEl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb25Ub2dnbGVPcGVuZWQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSXRlbUZvY3VzKCk7XG4gICAgICAgIHRoaXMub3BlbmVkLmVtaXQoeyBvd25lcjogdGhpcyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvblRvZ2dsZUNsb3NpbmcoZTogSUJhc2VDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncykge1xuICAgICAgICBjb25zdCBhcmdzOiBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgZXZlbnQ6IGUuZXZlbnQsIGNhbmNlbDogZmFsc2UgfTtcbiAgICAgICAgdGhpcy5jbG9zaW5nLmVtaXQoYXJncyk7XG4gICAgICAgIGUuY2FuY2VsID0gYXJncy5jYW5jZWw7XG4gICAgICAgIGlmIChlLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbFBvc2l0aW9uID0gdGhpcy52aXJ0RGlyLnNjcm9sbFBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb25Ub2dnbGVDbG9zZWQoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJdGVtKGZhbHNlKTtcbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCh7IG93bmVyOiB0aGlzIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIodGhpcy5pZCk7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKGAke3RoaXMuaWR9LWFjdGl2ZWApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBjYWxjdWxhdGVTY3JvbGxQb3NpdGlvbihpdGVtOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gaXRlbS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsRGVsdGEgPSBwYXJlbnRSZWN0LnRvcCAtIGVsZW1lbnRSZWN0LnRvcDtcbiAgICAgICAgbGV0IHNjcm9sbFBvc2l0aW9uID0gdGhpcy5zY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wIC0gc2Nyb2xsRGVsdGE7XG5cbiAgICAgICAgY29uc3QgZHJvcERvd25IZWlnaHQgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG4gICAgICAgIHNjcm9sbFBvc2l0aW9uIC09IGRyb3BEb3duSGVpZ2h0IC8gMjtcbiAgICAgICAgc2Nyb2xsUG9zaXRpb24gKz0gaXRlbS5lbGVtZW50SGVpZ2h0IC8gMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihzY3JvbGxQb3NpdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5pZCkge1xuICAgICAgICAgICAgLy8gdGVtcCB3b3JrYXJvdW5kIHVudGlsIGZpeCAtLT4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzQ5OTJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRGlyZWN0aXZlLmlkID0gY2hhbmdlcy5pZC5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy52aXJ0RGlyKSB7XG4gICAgICAgICAgICB0aGlzLnZpcnREaXIuaWd4Rm9ySXRlbVNpemUgPSAyODtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBLZXlkb3duIEhhbmRsZXIgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgb25JdGVtQWN0aW9uS2V5KGtleTogRHJvcERvd25BY3Rpb25LZXksIGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgc3VwZXIub25JdGVtQWN0aW9uS2V5KGtleSwgZXZlbnQpO1xuICAgICAgICB0aGlzLmNsb3NlKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWaXJ0dWFsIHNjcm9sbCBpbXBsZW1lbnRhdGlvblxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmF2aWdhdGVGaXJzdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUl0ZW0oMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5uYXZpZ2F0ZUZpcnN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBuYXZpZ2F0ZUxhc3QoKSB7XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVJdGVtKHRoaXMudmlydERpci50b3RhbEl0ZW1Db3VudCA/IHRoaXMudmlydERpci50b3RhbEl0ZW1Db3VudCAtIDEgOiB0aGlzLnZpcnREaXIuaWd4Rm9yT2YubGVuZ3RoIC0gMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5uYXZpZ2F0ZUxhc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIG5hdmlnYXRlTmV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMudmlydERpcikge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUl0ZW0odGhpcy5fZm9jdXNlZEl0ZW0gPyB0aGlzLl9mb2N1c2VkSXRlbS5pbmRleCArIDEgOiAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm5hdmlnYXRlTmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmF2aWdhdGVQcmV2KCkge1xuICAgICAgICBpZiAodGhpcy52aXJ0RGlyKSB7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlSXRlbSh0aGlzLl9mb2N1c2VkSXRlbSA/IHRoaXMuX2ZvY3VzZWRJdGVtLmluZGV4IC0gMSA6IDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIubmF2aWdhdGVQcmV2KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIHRoZSBgc2VsZWN0aW9uQ2hhbmdpbmdgIGVtaXQgYW5kIHRoZSBkcm9wIGRvd24gdG9nZ2xlIHdoZW4gc2VsZWN0aW9uIGNoYW5nZXNcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBAcGFyYW0gbmV3U2VsZWN0aW9uXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIHNlbGVjdEl0ZW0obmV3U2VsZWN0aW9uPzogSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZSwgZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICBjb25zdCBvbGRTZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGVkSXRlbTtcbiAgICAgICAgaWYgKCFuZXdTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbiA9IHRoaXMuZm9jdXNlZEl0ZW07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld1NlbGVjdGlvbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZXdTZWxlY3Rpb24gaW5zdGFuY2VvZiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlICYmIG5ld1NlbGVjdGlvbi5pc0hlYWRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogbmV3U2VsZWN0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgIGluZGV4OiBuZXdTZWxlY3Rpb24uaW5kZXhcbiAgICAgICAgICAgIH0gYXMgSWd4RHJvcERvd25JdGVtQmFzZURpcmVjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcmdzOiBJU2VsZWN0aW9uRXZlbnRBcmdzID0geyBvbGRTZWxlY3Rpb24sIG5ld1NlbGVjdGlvbiwgY2FuY2VsOiBmYWxzZSwgb3duZXI6dGhpcyB9O1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5naW5nLmVtaXQoYXJncyk7XG5cbiAgICAgICAgaWYgKCFhcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3Rpb25WYWxpZChhcmdzLm5ld1NlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZXQodGhpcy5pZCwgbmV3IFNldChbYXJncy5uZXdTZWxlY3Rpb25dKSk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnZpcnREaXIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9sZFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2xkU2VsZWN0aW9uLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFyZ3MubmV3U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzLm5ld1NlbGVjdGlvbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlRGlyZWN0aXZlLmNsb3NlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBkcm9wLWRvd24gaXRlbSBmb3IgdGhlIHNlbGVjdGlvbiEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgc2VsZWN0aW9uIG9mIHRoZSBkcm9wZG93blxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLmRyb3Bkb3duLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCkge1xuICAgICAgICBjb25zdCBvbGRTZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGVkSXRlbTtcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlID0gbnVsbDtcbiAgICAgICAgY29uc3QgYXJnczogSVNlbGVjdGlvbkV2ZW50QXJncyA9IHsgb2xkU2VsZWN0aW9uLCBuZXdTZWxlY3Rpb24sIGNhbmNlbDogZmFsc2UsIG93bmVyOiB0aGlzIH07XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdpbmcuZW1pdChhcmdzKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtICYmICFhcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKHRoaXMuaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIHNlbGVjdGlvbiBpcyB2YWxpZFxuICAgICAqIGBudWxsYCAtIHRoZSBzZWxlY3Rpb24gc2hvdWxkIGJlIGVtcHRpZWRcbiAgICAgKiBWaXJ0dWFsPyAtIHRoZSBzZWxlY3Rpb24gc2hvdWxkIGF0IGxlYXN0IGhhdmUgYW5kIGBpbmRleGAgYW5kIGB2YWx1ZWAgcHJvcGVydHlcbiAgICAgKiBOb24tdmlydHVhbD8gLSB0aGUgc2VsZWN0aW9uIHNob3VsZCBiZSBhIHZhbGlkIGRyb3AtZG93biBpdGVtIGFuZCAqKm5vdCoqIGJlIGEgaGVhZGVyXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzU2VsZWN0aW9uVmFsaWQoc2VsZWN0aW9uOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGlvbiA9PT0gbnVsbFxuICAgICAgICB8fCAodGhpcy52aXJ0RGlyICYmIHNlbGVjdGlvbi5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSAmJiBzZWxlY3Rpb24uaGFzT3duUHJvcGVydHkoJ2luZGV4JykpXG4gICAgICAgIHx8IChzZWxlY3Rpb24gaW5zdGFuY2VvZiBJZ3hEcm9wRG93bkl0ZW1Db21wb25lbnQgJiYgIXNlbGVjdGlvbi5pc0hlYWRlcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNjcm9sbFRvSXRlbShpdGVtOiBJZ3hEcm9wRG93bkl0ZW1CYXNlRGlyZWN0aXZlKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcCA9IHRoaXMuY2FsY3VsYXRlU2Nyb2xsUG9zaXRpb24oaXRlbSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZvY3VzSXRlbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgfHwgdGhpcy5fZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRJdGVtLmZvY3VzZWQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVJdGVtRm9jdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkSXRlbSA9IHRoaXMuc2VsZWN0ZWRJdGVtO1xuICAgICAgICAgICAgdGhpcy5mb2N1c0l0ZW0odHJ1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hbGxvd0l0ZW1zRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVGaXJzdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNraXBIZWFkZXIoZGlyZWN0aW9uOiBOYXZpZ2F0ZSkge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkSXRlbS5pc0hlYWRlciB8fCB0aGlzLmZvY3VzZWRJdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBpZiAoZGlyZWN0aW9uID09PSBOYXZpZ2F0ZS5VcCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVQcmV2KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVOZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzSW5kZXhPdXRPZkJvdW5kcyhpbmRleDogbnVtYmVyLCBkaXJlY3Rpb246IE5hdmlnYXRlKSB7XG4gICAgICAgIGNvbnN0IHZpcnRTdGF0ZSA9IHRoaXMudmlydERpci5zdGF0ZTtcbiAgICAgICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gdGhpcy52aXJ0RGlyLmdldFNjcm9sbCgpLnNjcm9sbFRvcDtcbiAgICAgICAgY29uc3QgaXRlbVBvc2l0aW9uID0gdGhpcy52aXJ0RGlyLmdldFNjcm9sbEZvckluZGV4KGluZGV4LCBkaXJlY3Rpb24gPT09IE5hdmlnYXRlLkRvd24pO1xuICAgICAgICBjb25zdCBpbmRleE91dE9mQ2h1bmsgPSBpbmRleCA8IHZpcnRTdGF0ZS5zdGFydEluZGV4IHx8IGluZGV4ID4gdmlydFN0YXRlLmNodW5rU2l6ZSArIHZpcnRTdGF0ZS5zdGFydEluZGV4O1xuICAgICAgICBjb25zdCBzY3JvbGxOZWVkZWQgPSBkaXJlY3Rpb24gPT09IE5hdmlnYXRlLkRvd24gPyBjdXJyZW50UG9zaXRpb24gPCBpdGVtUG9zaXRpb24gOiBjdXJyZW50UG9zaXRpb24gPiBpdGVtUG9zaXRpb247XG4gICAgICAgIGNvbnN0IHN1YlJlcXVpcmVkID0gaW5kZXhPdXRPZkNodW5rIHx8IHNjcm9sbE5lZWRlZDtcbiAgICAgICAgcmV0dXJuIHN1YlJlcXVpcmVkO1xuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImlneC1kcm9wLWRvd25fX2xpc3RcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIlxuICAgIGlneFRvZ2dsZVxuICAgIChhcHBlbmRlZCk9XCJvblRvZ2dsZUNvbnRlbnRBcHBlbmRlZCgkZXZlbnQpXCJcbiAgICAob3BlbmluZyk9XCJvblRvZ2dsZU9wZW5pbmcoJGV2ZW50KVwiIChvcGVuZWQpPVwib25Ub2dnbGVPcGVuZWQoKVwiXG4gICAgKGNsb3NpbmcpPVwib25Ub2dnbGVDbG9zaW5nKCRldmVudClcIiAoY2xvc2VkKT1cIm9uVG9nZ2xlQ2xvc2VkKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWd4LWRyb3AtZG93bl9fbGlzdC1zY3JvbGxcIiAjc2Nyb2xsQ29udGFpbmVyIFthdHRyLmlkXT1cInRoaXMubGlzdElkXCIgcm9sZT1cImxpc3Rib3hcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidGhpcy5sYWJlbGxlZEJ5XCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgW3N0eWxlLm1heEhlaWdodF09XCJtYXhIZWlnaHRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2xsYXBzZWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|