@fundamental-ngx/platform 0.49.0-rc.8 → 0.49.0
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/approval-flow/approval-flow.component.d.ts +7 -1
- package/button/button.component.d.ts +1 -4
- package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +4 -4
- package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +4 -4
- package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +4 -4
- package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow.component.mjs +27 -5
- package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
- package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
- package/esm2022/button/button.component.mjs +4 -6
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
- package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page.component.mjs +6 -6
- package/esm2022/dynamic-page/dynamic-page.config.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
- package/esm2022/feed-input/feed-input.component.mjs +5 -5
- package/esm2022/feed-input/feed-input.module.mjs +4 -4
- package/esm2022/form/auto-complete/auto-complete.directive.mjs +3 -3
- package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2022/form/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +3 -3
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
- package/esm2022/form/combobox/combobox/combobox.component.mjs +5 -5
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +4 -4
- package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
- package/esm2022/form/combobox/combobox.config.mjs +11 -11
- package/esm2022/form/combobox/combobox.module.mjs +4 -4
- package/esm2022/form/combobox/commons/base-combobox.mjs +5 -8
- package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
- package/esm2022/form/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/form/datetime-picker/datetime-picker.component.mjs +3 -3
- package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
- package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +3 -3
- package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +3 -3
- package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
- package/esm2022/form/form-generator/dynamic-form-control.mjs +1 -1
- package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +3 -3
- package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
- package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +3 -3
- package/esm2022/form/form-generator/form-generator.service.mjs +3 -3
- package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +3 -3
- package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
- package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
- package/esm2022/form/form-group/form-field/form-field.component.mjs +5 -5
- package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +3 -3
- package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +3 -3
- package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +3 -3
- package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
- package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +4 -4
- package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +3 -3
- package/esm2022/form/form-group/form-group.component.mjs +5 -5
- package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
- package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
- package/esm2022/form/input/fdp-input.module.mjs +4 -4
- package/esm2022/form/input/input.component.mjs +4 -4
- package/esm2022/form/input-group/addon-body.component.mjs +3 -3
- package/esm2022/form/input-group/addon.component.mjs +3 -3
- package/esm2022/form/input-group/input-group.component.mjs +3 -3
- package/esm2022/form/input-group/input-group.config.mjs +3 -3
- package/esm2022/form/input-group/input-group.module.mjs +4 -4
- package/esm2022/form/input-group/input.component.mjs +3 -3
- package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +4 -4
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +3 -3
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +6 -6
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +4 -4
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
- package/esm2022/form/multi-combobox/multi-combobox.config.mjs +3 -3
- package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
- package/esm2022/form/multi-input/base-multi-input.mjs +11 -5
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
- package/esm2022/form/multi-input/multi-input.component.mjs +5 -5
- package/esm2022/form/multi-input/multi-input.config.mjs +3 -3
- package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
- package/esm2022/form/radio-group/radio/radio.component.mjs +3 -3
- package/esm2022/form/radio-group/radio-group.component.mjs +3 -3
- package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
- package/esm2022/form/select/commons/base-select.mjs +4 -4
- package/esm2022/form/select/select/select.component.mjs +5 -5
- package/esm2022/form/select/select.config.mjs +3 -3
- package/esm2022/form/select/select.module.mjs +4 -4
- package/esm2022/form/step-input/base.step-input.mjs +3 -3
- package/esm2022/form/step-input/number/number-step-input.component.mjs +6 -6
- package/esm2022/form/step-input/step-input-action-button.mjs +3 -3
- package/esm2022/form/step-input/step-input-control.directive.mjs +3 -3
- package/esm2022/form/step-input/step-input-decrement.directive.mjs +3 -3
- package/esm2022/form/step-input/step-input-increment.directive.mjs +3 -3
- package/esm2022/form/step-input/step-input.config.mjs +3 -3
- package/esm2022/form/step-input/step-input.module.mjs +4 -4
- package/esm2022/form/switch/switch/switch.component.mjs +4 -4
- package/esm2022/form/switch/switch/switch.config.mjs +3 -3
- package/esm2022/form/switch/switch.module.mjs +4 -4
- package/esm2022/form/text-area/text-area.component.mjs +4 -6
- package/esm2022/form/text-area/text-area.config.mjs +3 -3
- package/esm2022/form/text-area/text-area.module.mjs +4 -4
- package/esm2022/form/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/fundamental-ngx-platform.mjs +1 -1
- package/esm2022/fundamental-ngx.module.mjs +5 -5
- package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +3 -3
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +6 -7
- package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +3 -3
- package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +3 -3
- package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +3 -3
- package/esm2022/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.mjs +6 -6
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +3 -3
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +4 -4
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +3 -3
- package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +4 -4
- package/esm2022/icon-tab-bar/components/text-type-tab-item/icon-tab-bar-text-type-tab-item.component.mjs +3 -3
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +3 -3
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +3 -3
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +3 -3
- package/esm2022/icon-tab-bar/directives/icon-tab-bar-free-content.directive.mjs +3 -3
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +6 -6
- package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +4 -4
- package/esm2022/index.mjs +1 -1
- package/esm2022/info-label/info-label.component.mjs +3 -3
- package/esm2022/info-label/info-label.module.mjs +4 -4
- package/esm2022/link/link.component.mjs +7 -7
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
- package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
- package/esm2022/list/base-list-item.mjs +6 -6
- package/esm2022/list/display-list-item/display-list-item.component.mjs +4 -4
- package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
- package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
- package/esm2022/list/list-group-footer.component.mjs +3 -3
- package/esm2022/list/list-group-header.component.mjs +3 -3
- package/esm2022/list/list.component.mjs +6 -6
- package/esm2022/list/list.config.mjs +3 -3
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/load-more-content.directive.mjs +3 -3
- package/esm2022/list/object-list-item/object-list-item-row.component.mjs +6 -6
- package/esm2022/list/object-list-item/object-list-item.component.mjs +5 -5
- package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
- package/esm2022/list/standard-list-item/standard-list-item.component.mjs +4 -4
- package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
- package/esm2022/menu/menu-item.component.mjs +5 -5
- package/esm2022/menu/menu-trigger.directive.mjs +3 -3
- package/esm2022/menu/menu.component.mjs +4 -4
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu-button/menu-button.component.mjs +3 -3
- package/esm2022/menu-button/menu-button.module.mjs +4 -4
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +3 -3
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +3 -3
- package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +3 -3
- package/esm2022/message-popover/message-popover.component.mjs +5 -5
- package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
- package/esm2022/object-marker/object-marker.component.mjs +3 -3
- package/esm2022/object-marker/object-marker.module.mjs +4 -4
- package/esm2022/object-status/object-status.component.mjs +6 -6
- package/esm2022/object-status/object-status.module.mjs +4 -4
- package/esm2022/page-footer/page-footer.component.mjs +5 -5
- package/esm2022/page-footer/page-footer.module.mjs +4 -4
- package/esm2022/panel/panel-actions.component.mjs +3 -3
- package/esm2022/panel/panel-content/panel-content.component.mjs +3 -3
- package/esm2022/panel/panel.component.mjs +4 -4
- package/esm2022/panel/panel.config.mjs +3 -3
- package/esm2022/panel/panel.module.mjs +4 -4
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +4 -4
- package/esm2022/search-field/search-field.component.mjs +33 -94
- package/esm2022/search-field/search-field.module.mjs +4 -4
- package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +6 -6
- package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +3 -3
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +3 -3
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +4 -4
- package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +3 -3
- package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
- package/esm2022/settings-generator/settings-generator.component.mjs +3 -3
- package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
- package/esm2022/settings-generator/settings-generator.service.mjs +3 -3
- package/esm2022/shared/base.mjs +3 -3
- package/esm2022/shared/form/base.input.mjs +4 -4
- package/esm2022/shared/form/collection-base.input.mjs +3 -3
- package/esm2022/shared/form/form-field.mjs +1 -1
- package/esm2022/shared/form/inline-layout-collection-base.input.mjs +9 -9
- package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
- package/esm2022/shared/pipes/pipe.module.mjs +4 -4
- package/esm2022/shared/platform.config.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +3 -3
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +3 -3
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +3 -3
- package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +4 -4
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +3 -3
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +3 -3
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +3 -3
- package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +14 -10
- package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
- package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +3 -3
- package/esm2022/split-menu-button/split-menu-button.component.mjs +4 -4
- package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
- package/esm2022/table/components/growing-button/table-growing-button.component.mjs +31 -0
- package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
- package/esm2022/table/components/reset-button/reset-button.component.mjs +3 -3
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +4 -4
- package/esm2022/table/components/table-column/table-column.component.mjs +3 -3
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +3 -3
- package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +3 -3
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +3 -3
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +3 -3
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +6 -6
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +8 -7
- package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +11 -7
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.model.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +5 -5
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +8 -8
- package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +9 -6
- package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +8 -7
- package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +3 -3
- package/esm2022/table/components/table-row/table-row.component.mjs +10 -9
- package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
- package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +10 -11
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +4 -4
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +4 -4
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +4 -4
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +4 -4
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +4 -4
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
- package/esm2022/table/index.mjs +2 -1
- package/esm2022/table/table.component.mjs +38 -12
- package/esm2022/table/table.module.mjs +14 -9
- package/esm2022/table-helpers/directives/index.mjs +1 -2
- package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell.directive.mjs +12 -12
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-header.directive.mjs +6 -6
- package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
- package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
- package/esm2022/table-helpers/services/table-column-resize.service.mjs +3 -3
- package/esm2022/table-helpers/services/table-responsive.service.mjs +3 -3
- package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
- package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
- package/esm2022/table-helpers/services/table.service.mjs +28 -5
- package/esm2022/table-helpers/table-helpers.module.mjs +6 -9
- package/esm2022/table-helpers/table.mjs +1 -1
- package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +3 -3
- package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +7 -6
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +4 -4
- package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +3 -3
- package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +3 -3
- package/esm2022/value-help-dialog/directives/value-help-column-def.directive.mjs +3 -3
- package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +6 -6
- package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +6 -6
- package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
- package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +4 -4
- package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +4 -4
- package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
- package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +3 -3
- package/esm2022/variant-management/variant-management.component.mjs +6 -6
- package/esm2022/variant-management/variant-management.module.mjs +4 -4
- package/esm2022/wizard-generator/base-wizard-generator.mjs +3 -3
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +4 -4
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +3 -3
- package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +3 -3
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +4 -4
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +4 -4
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
- package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +3 -3
- package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
- package/esm2022/wizard-generator/wizard-generator.service.mjs +3 -3
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +63 -41
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-button.mjs +7 -9
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +45 -45
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +331 -330
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +60 -60
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-info-label.mjs +7 -7
- package/fesm2022/fundamental-ngx-platform-link.mjs +10 -10
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +64 -64
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs +7 -7
- package/fesm2022/fundamental-ngx-platform-menu.mjs +15 -15
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +17 -17
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs +7 -7
- package/fesm2022/fundamental-ngx-platform-object-status.mjs +10 -10
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-panel.mjs +16 -16
- package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +40 -100
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +34 -34
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +28 -28
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs +7 -7
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +42 -37
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +110 -122
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +213 -150
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +34 -33
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +21 -21
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +43 -43
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform.mjs +4 -4
- package/fesm2022/fundamental-ngx-platform.mjs.map +1 -1
- package/form/combobox/combobox.config.d.ts +2 -2
- package/form/combobox/commons/base-combobox.d.ts +2 -4
- package/form/multi-input/base-multi-input.d.ts +4 -1
- package/form/text-area/text-area.component.d.ts +1 -5
- package/form/time-picker/time-picker.component.d.ts +1 -1
- package/link/link.component.d.ts +2 -2
- package/package.json +4 -4
- package/panel/panel.component.d.ts +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/schematics/utils/package-utils.d.ts +9 -1
- package/schematics/utils/package-utils.js +15 -17
- package/schematics/utils/package-utils.js.map +1 -1
- package/search-field/search-field.component.d.ts +5 -16
- package/shared/form/base.input.d.ts +0 -2
- package/shared/form/form-field.d.ts +1 -11
- package/smart-filter-bar/smart-filter-bar.component.d.ts +6 -3
- package/table/components/growing-button/table-growing-button.component.d.ts +16 -0
- package/table/components/table-p13-dialog/filtering/filtering.model.d.ts +1 -0
- package/table/components/table-p13-dialog/table-p13-dialog.component.d.ts +2 -2
- package/table/components/table-p13-dialog/table-p13-filter.component.d.ts +6 -2
- package/table/components/table-row/table-row.component.d.ts +1 -1
- package/table/components/table-toolbar/table-toolbar.component.d.ts +2 -3
- package/table/index.d.ts +1 -0
- package/table/table.component.d.ts +15 -2
- package/table/table.module.d.ts +3 -2
- package/table-helpers/directives/index.d.ts +0 -1
- package/table-helpers/services/table.service.d.ts +3 -1
- package/table-helpers/table-helpers.module.d.ts +10 -11
- package/table-helpers/table.d.ts +2 -1
- package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +3 -7
- package/value-help-dialog/models/vhd-filter.model.d.ts +8 -2
- package/approval-flow/README.md +0 -25
- package/button/README.md +0 -25
- package/dynamic-page/README.md +0 -25
- package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +0 -36
- package/feed-input/README.md +0 -25
- package/form/README.md +0 -25
- package/fundamental-ngx-platform-v0.49.0-rc.8.tgz +0 -0
- package/icon-tab-bar/README.md +0 -25
- package/info-label/README.md +0 -25
- package/link/README.md +0 -25
- package/list/README.md +0 -25
- package/menu/README.md +0 -25
- package/menu-button/README.md +0 -25
- package/message-popover/README.md +0 -7
- package/object-marker/README.md +0 -25
- package/object-status/README.md +0 -25
- package/page-footer/README.md +0 -25
- package/panel/README.md +0 -25
- package/search-field/README.md +0 -25
- package/settings-generator/README.md +0 -7
- package/shared/README.md +0 -25
- package/slider/README.md +0 -25
- package/smart-filter-bar/README.md +0 -29
- package/split-menu-button/README.md +0 -25
- package/table/README.md +0 -25
- package/table-helpers/README.md +0 -3
- package/table-helpers/directives/table-cell-selectable.directive.d.ts +0 -9
- package/value-help-dialog/README.md +0 -25
- package/variant-management/README.md +0 -7
- package/wizard-generator/README.md +0 -25
|
@@ -80,8 +80,12 @@ export class P13FilteringDialogComponent {
|
|
|
80
80
|
confirm() {
|
|
81
81
|
const includeFilters = this._getCollectionFiltersFromIncludeRules();
|
|
82
82
|
const excludeFilters = this._getCollectionFiltersFromExcludeRules();
|
|
83
|
-
const
|
|
84
|
-
|
|
83
|
+
const validator = this.dialogRef.data.validator;
|
|
84
|
+
const combinedFilters = [...includeFilters, ...excludeFilters];
|
|
85
|
+
if (!validator || validator(combinedFilters)) {
|
|
86
|
+
const result = { collectionFilter: combinedFilters };
|
|
87
|
+
this.dialogRef.close(result);
|
|
88
|
+
}
|
|
85
89
|
}
|
|
86
90
|
/** @hidden */
|
|
87
91
|
_removeRule(rule, rules) {
|
|
@@ -152,10 +156,10 @@ export class P13FilteringDialogComponent {
|
|
|
152
156
|
exclude: true
|
|
153
157
|
}));
|
|
154
158
|
}
|
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0
|
|
159
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: P13FilteringDialogComponent, deps: [{ token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
160
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: P13FilteringDialogComponent, isStandalone: true, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13FilteringDialogComponent }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-filtering-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13FilterDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n <!-- Include Rules -->\n <fd-panel [expanded]=\"_includePanelExpanded\">\n <div fd-panel-title>\n {{\n (_validIncludeRulesCount > 0\n ? 'platformTable.P13FilterDialogIncludePanelTitleWithCount'\n : 'platformTable.P13FilterDialogIncludePanelTitleWithoutCount'\n ) | fdTranslate: { count: _validIncludeRulesCount }\n }}\n </div>\n <div fd-panel-content>\n @for (rule of _includeRules; track rule) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <fdp-table-filter-rule\n [fdLayoutGridCol]=\"10\"\n [rule]=\"rule\"\n (ruleChange)=\"_recalculateResetAvailability()\"\n (ruleStateChange)=\"_onRuleStateChange()\"\n ></fdp-table-filter-rule>\n <!-- Actions buttons -->\n <div [fdLayoutGridCol]=\"2\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule, _includeRules)\"\n ></button>\n @if (_includeRules.length - 1 === $index) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\"\n (click)=\"_addNewRule(_includeRules)\"\n ></button>\n }\n </div>\n </div>\n </fd-layout-grid>\n }\n </div>\n </fd-panel>\n <!-- Exclude Rules -->\n <fd-panel [expanded]=\"_excludePanelExpanded\">\n <div fd-panel-title>\n {{\n (_validExcludeRulesCount > 0\n ? 'platformTable.P13FilterDialogExcludePanelTitleWithCount'\n : 'platformTable.P13FilterDialogExcludePanelTitleWithoutCount'\n ) | fdTranslate: { count: _validExcludeRulesCount }\n }}\n </div>\n <div fd-panel-content>\n @for (rule of _excludeRules; track rule) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <fdp-table-filter-rule\n [fdLayoutGridCol]=\"10\"\n [rule]=\"rule\"\n (ruleChange)=\"_recalculateResetAvailability()\"\n (ruleStateChange)=\"_onRuleStateChange()\"\n ></fdp-table-filter-rule>\n <!-- Actions buttons -->\n <div [fdLayoutGridCol]=\"2\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule, _excludeRules)\"\n ></button>\n @if (_excludeRules.length - 1 === $index) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\"\n (click)=\"_addNewRule(_excludeRules)\"\n ></button>\n }\n </div>\n </div>\n </fd-layout-grid>\n }\n </div>\n </fd-panel>\n </fd-dialog-body>\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13FilterDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n [label]=\"'platformTable.P13FilterDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-filtering-dialog .filter-row__input,.fdp-table-p13-filtering-dialog .filter-row__select{display:block;max-width:100%}.fdp-table-p13-filtering-dialog .fd-popover-custom{display:block}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "directive", type: PanelTitleDirective, selector: "[fd-panel-title]", inputs: ["id"] }, { kind: "directive", type: PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: FilterRuleComponent, selector: "fdp-table-filter-rule", inputs: ["rule"], outputs: ["ruleChange", "ruleStateChange"] }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
157
161
|
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: P13FilteringDialogComponent, decorators: [{
|
|
159
163
|
type: Component,
|
|
160
164
|
args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13FilteringDialogComponent }], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
161
165
|
DialogComponent,
|
|
@@ -180,6 +184,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
180
184
|
DialogFooterComponent,
|
|
181
185
|
ButtonBarComponent,
|
|
182
186
|
FdTranslatePipe
|
|
183
|
-
], template: "<fd-dialog class=\"fdp-table-p13-filtering-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13FilterDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n <!-- Include Rules -->\n <fd-panel [expanded]=\"_includePanelExpanded\">\n <div fd-panel-title>\n {{\n (_validIncludeRulesCount > 0\n ? 'platformTable.P13FilterDialogIncludePanelTitleWithCount'\n : 'platformTable.P13FilterDialogIncludePanelTitleWithoutCount'\n ) | fdTranslate: { count: _validIncludeRulesCount }\n }}\n </div>\n <div fd-panel-content>\n @for (rule of _includeRules; track rule) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <fdp-table-filter-rule\n [fdLayoutGridCol]=\"10\"\n [rule]=\"rule\"\n (ruleChange)=\"_recalculateResetAvailability()\"\n (ruleStateChange)=\"_onRuleStateChange()\"\n ></fdp-table-filter-rule>\n <!-- Actions buttons -->\n <div [fdLayoutGridCol]=\"2\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule, _includeRules)\"\n ></button>\n @if (_includeRules.length - 1 === $index) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\"\n (click)=\"_addNewRule(_includeRules)\"\n ></button>\n }\n </div>\n </div>\n </fd-layout-grid>\n }\n </div>\n </fd-panel>\n <!-- Exclude Rules -->\n <fd-panel [expanded]=\"_excludePanelExpanded\">\n <div fd-panel-title>\n {{\n (_validExcludeRulesCount > 0\n ? 'platformTable.P13FilterDialogExcludePanelTitleWithCount'\n : 'platformTable.P13FilterDialogExcludePanelTitleWithoutCount'\n ) | fdTranslate: { count: _validExcludeRulesCount }\n }}\n </div>\n <div fd-panel-content>\n @for (rule of _excludeRules; track rule) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <fdp-table-filter-rule\n [fdLayoutGridCol]=\"10\"\n [rule]=\"rule\"\n (ruleChange)=\"_recalculateResetAvailability()\"\n (ruleStateChange)=\"_onRuleStateChange()\"\n ></fdp-table-filter-rule>\n <!-- Actions buttons -->\n <div [fdLayoutGridCol]=\"2\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule, _excludeRules)\"\n ></button>\n @if (_excludeRules.length - 1 === $index) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\"\n (click)=\"_addNewRule(_excludeRules)\"\n ></button>\n }\n </div>\n </div>\n </fd-layout-grid>\n }\n </div>\n </fd-panel>\n </fd-dialog-body>\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13FilterDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n
|
|
187
|
+
], template: "<fd-dialog class=\"fdp-table-p13-filtering-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13FilterDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n <!-- Include Rules -->\n <fd-panel [expanded]=\"_includePanelExpanded\">\n <div fd-panel-title>\n {{\n (_validIncludeRulesCount > 0\n ? 'platformTable.P13FilterDialogIncludePanelTitleWithCount'\n : 'platformTable.P13FilterDialogIncludePanelTitleWithoutCount'\n ) | fdTranslate: { count: _validIncludeRulesCount }\n }}\n </div>\n <div fd-panel-content>\n @for (rule of _includeRules; track rule) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <fdp-table-filter-rule\n [fdLayoutGridCol]=\"10\"\n [rule]=\"rule\"\n (ruleChange)=\"_recalculateResetAvailability()\"\n (ruleStateChange)=\"_onRuleStateChange()\"\n ></fdp-table-filter-rule>\n <!-- Actions buttons -->\n <div [fdLayoutGridCol]=\"2\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule, _includeRules)\"\n ></button>\n @if (_includeRules.length - 1 === $index) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\"\n (click)=\"_addNewRule(_includeRules)\"\n ></button>\n }\n </div>\n </div>\n </fd-layout-grid>\n }\n </div>\n </fd-panel>\n <!-- Exclude Rules -->\n <fd-panel [expanded]=\"_excludePanelExpanded\">\n <div fd-panel-title>\n {{\n (_validExcludeRulesCount > 0\n ? 'platformTable.P13FilterDialogExcludePanelTitleWithCount'\n : 'platformTable.P13FilterDialogExcludePanelTitleWithoutCount'\n ) | fdTranslate: { count: _validExcludeRulesCount }\n }}\n </div>\n <div fd-panel-content>\n @for (rule of _excludeRules; track rule) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <fdp-table-filter-rule\n [fdLayoutGridCol]=\"10\"\n [rule]=\"rule\"\n (ruleChange)=\"_recalculateResetAvailability()\"\n (ruleStateChange)=\"_onRuleStateChange()\"\n ></fdp-table-filter-rule>\n <!-- Actions buttons -->\n <div [fdLayoutGridCol]=\"2\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogRemoveFilterBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule, _excludeRules)\"\n ></button>\n @if (_excludeRules.length - 1 === $index) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"\n 'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\n \"\n [title]=\"'platformTable.P13FilterDialogAddFilterBtnTitle' | fdTranslate\"\n (click)=\"_addNewRule(_excludeRules)\"\n ></button>\n }\n </div>\n </div>\n </fd-layout-grid>\n }\n </div>\n </fd-panel>\n </fd-dialog-body>\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13FilterDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n [label]=\"'platformTable.P13FilterDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-filtering-dialog .filter-row__input,.fdp-table-p13-filtering-dialog .filter-row__select{display:block;max-width:100%}.fdp-table-p13-filtering-dialog .fd-popover-custom{display:block}\n"] }]
|
|
184
188
|
}], ctorParameters: () => [{ type: i1.DialogRef }] });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL2ZpbHRlcmluZy9maWx0ZXJpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS9jb21wb25lbnRzL3RhYmxlLXAxMy1kaWFsb2cvZmlsdGVyaW5nL2ZpbHRlcmluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFjLE1BQU0sMkNBQTJDLENBQUM7QUFFL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDckIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUNILG1CQUFtQixFQUNuQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBNEMsVUFBVSxFQUFvQixNQUFNLG1CQUFtQixDQUFDOzs7QUFvQzNHLE1BQU0sT0FBTywyQkFBMkI7SUEyQ3BDLGNBQWM7SUFDZCxZQUFtQixTQUFzQztRQUF0QyxjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQTNDekQsZ0RBQWdEO1FBQ3ZDLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQyw0Q0FBNEM7UUFDbkMsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFFMUM7OztXQUdHO1FBQ0gsa0JBQWEsR0FBaUIsRUFBRSxDQUFDO1FBRWpDOzs7V0FHRztRQUNILGtCQUFhLEdBQWlCLEVBQUUsQ0FBQztRQUVqQzs7O1dBR0c7UUFDSCw0QkFBdUIsR0FBRyxDQUFDLENBQUM7UUFFNUI7OztXQUdHO1FBQ0gsNEJBQXVCLEdBQUcsQ0FBQyxDQUFDO1FBRTVCOzs7V0FHRztRQUNILDBCQUFxQixHQUFHLElBQUksQ0FBQztRQUU3Qjs7O1dBR0c7UUFDSCwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFtSTlCLGNBQWM7UUFDTiw4QkFBeUIsR0FBRyxHQUFTLEVBQUU7WUFDM0MsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDbkYsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdkYsQ0FBQyxDQUFDO1FBRUYsY0FBYztRQUNOLGlCQUFZLEdBQUcsQ0FBQyxJQUFnQixFQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO1FBdEloRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFFMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRW5FLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUVqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLEtBQUs7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLE1BQU07UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLE9BQU87UUFDSCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMscUNBQXFDLEVBQUUsQ0FBQztRQUNwRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMscUNBQXFDLEVBQUUsQ0FBQztRQUVwRSxNQUFNLE1BQU0sR0FBMkIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUVwRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVcsQ0FBQyxJQUFnQixFQUFFLEtBQW1CO1FBQzdDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDZCxPQUFPO1NBQ1Y7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV2QixxQ0FBcUM7UUFDckMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXLENBQUMsS0FBbUI7UUFDM0IsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxjQUFjO0lBQ2QsNkJBQTZCO1FBQ3pCLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDdEcsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN0RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsMEJBQTBCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDTixjQUFjLENBQUMsWUFBaUM7UUFDcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRXZGLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkQsaURBQWlEO1lBQ2pELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QyxxQ0FBcUM7WUFDckMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDcEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUM1QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWM7SUFDTixZQUFZLENBQUMsbUJBQXVDLEVBQUU7UUFDMUQsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQ3ZCLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBYyxFQUFFLENBQy9DLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQ25FLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztJQUNOLDhCQUE4QixDQUFDLEtBQW1CO1FBQ3RELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUN0QyxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQzNELEtBQUssRUFBRSxTQUFVO1lBQ2pCLEtBQUs7WUFDTCxNQUFNO1lBQ04sUUFBUSxFQUFFLFFBQVM7U0FDdEIsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztJQUNOLHFDQUFxQztRQUN6QyxPQUFPLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUM5RCxDQUFDLGdCQUFnQixFQUFvQixFQUFFLENBQUMsQ0FBQztZQUNyQyxHQUFHLGdCQUFnQjtZQUNuQixPQUFPLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjO0lBQ04scUNBQXFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQzlELENBQUMsZ0JBQWdCLEVBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLEdBQUcsZ0JBQWdCO1lBQ25CLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0ExS1EsMkJBQTJCO2tHQUEzQiwyQkFBMkIsMkRBNUJ6QixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLDBCQ3JDeEYsZ2dOQW1JQSxpUUQxRlEsZUFBZSxzR0FDZixxQkFBcUIsNkRBQ3JCLGlCQUFpQixtRkFDakIsZ0JBQWdCLDBEQUNoQixtQkFBbUIsa0ZBQ25CLGNBQWMsdU1BQ2QsaUJBQWlCLDJEQUNqQixvQkFBb0IsbUVBR3BCLG1CQUFtQiwyREFDbkIsY0FBYyx1TEFDZCxtQkFBbUIsNkVBQ25CLHFCQUFxQiwwSkFDckIsbUJBQW1CLDJJQUNuQixzQkFBc0Isb0ZBQ3RCLG1CQUFtQixnSUFDbkIsc0JBQXNCLDBOQUN0QixlQUFlLHdIQUNmLHFCQUFxQiw2REFDckIsa0JBQWtCLG9JQUNsQixlQUFlOzsyRkFHViwyQkFBMkI7a0JBaEN2QyxTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLDZCQUE2QixFQUFFLENBQUMsbUJBQ25FLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLGVBQWU7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkZpbHRlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUtaGVscGVycyc7XG5cbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuXG5pbXBvcnQgeyBSRVNFVFRBQkxFX1RPS0VOLCBSZXNldEJ1dHRvbkNvbXBvbmVudCwgUmVzZXR0YWJsZSB9IGZyb20gJy4uLy4uL3Jlc2V0LWJ1dHRvbi9yZXNldC1idXR0b24uY29tcG9uZW50JztcblxuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIEJhckVsZW1lbnREaXJlY3RpdmUsXG4gICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICBCYXJSaWdodERpcmVjdGl2ZSxcbiAgICBCdXR0b25CYXJDb21wb25lbnRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Jhcic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IExheW91dEdyaWRDb2xEaXJlY3RpdmUsIExheW91dEdyaWRDb21wb25lbnQsIExheW91dEdyaWRSb3dEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbGF5b3V0LWdyaWQnO1xuaW1wb3J0IHsgUGFuZWxDb21wb25lbnQsIFBhbmVsQ29udGVudERpcmVjdGl2ZSwgUGFuZWxUaXRsZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wYW5lbCc7XG5pbXBvcnQgeyBTY3JvbGxiYXJEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2Nyb2xsYmFyJztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RpdGxlJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBGaWx0ZXJSdWxlQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXItcnVsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRGlhbG9nRGF0YSwgRmlsdGVyRGlhbG9nUmVzdWx0RGF0YSwgRmlsdGVyUnVsZSwgRmlsdGVyYWJsZUNvbHVtbiB9IGZyb20gJy4vZmlsdGVyaW5nLm1vZGVsJztcblxuZXhwb3J0IHsgRmlsdGVyRGlhbG9nRGF0YSwgRmlsdGVyRGlhbG9nUmVzdWx0RGF0YSB9O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZmlsdGVyaW5nLmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUkVTRVRUQUJMRV9UT0tFTiwgdXNlRXhpc3Rpbmc6IFAxM0ZpbHRlcmluZ0RpYWxvZ0NvbXBvbmVudCB9XSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBCYXJMZWZ0RGlyZWN0aXZlLFxuICAgICAgICBCYXJFbGVtZW50RGlyZWN0aXZlLFxuICAgICAgICBUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgICAgIFJlc2V0QnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBDZGtTY3JvbGxhYmxlLFxuICAgICAgICBTY3JvbGxiYXJEaXJlY3RpdmUsXG4gICAgICAgIERpYWxvZ0JvZHlDb21wb25lbnQsXG4gICAgICAgIFBhbmVsQ29tcG9uZW50LFxuICAgICAgICBQYW5lbFRpdGxlRGlyZWN0aXZlLFxuICAgICAgICBQYW5lbENvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgIExheW91dEdyaWRDb21wb25lbnQsXG4gICAgICAgIExheW91dEdyaWRSb3dEaXJlY3RpdmUsXG4gICAgICAgIEZpbHRlclJ1bGVDb21wb25lbnQsXG4gICAgICAgIExheW91dEdyaWRDb2xEaXJlY3RpdmUsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25CYXJDb21wb25lbnQsXG4gICAgICAgIEZkVHJhbnNsYXRlUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUDEzRmlsdGVyaW5nRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgUmVzZXR0YWJsZSB7XG4gICAgLyoqIEluZGljYXRlcyB3aGVuIHJlc2V0IGNvbW1hbmQgaXMgYXZhaWxhYmxlICovXG4gICAgcmVhZG9ubHkgaXNSZXNldEF2YWlsYWJsZSQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgYXZhaWxhYmxlIGZvciBmaWx0ZXJpbmcgKi9cbiAgICByZWFkb25seSBjb2x1bW5zOiBGaWx0ZXJhYmxlQ29sdW1uW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBJbmNsdWRlIFJ1bGVzXG4gICAgICovXG4gICAgX2luY2x1ZGVSdWxlczogRmlsdGVyUnVsZVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRXhjbHVkZSBSdWxlc1xuICAgICAqL1xuICAgIF9leGNsdWRlUnVsZXM6IEZpbHRlclJ1bGVbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENvdW50IG9mIHZhbGlkIGluY2x1ZGVkIHJ1bGVzXG4gICAgICovXG4gICAgX3ZhbGlkSW5jbHVkZVJ1bGVzQ291bnQgPSAwO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENvdW50IG9mIHZhbGlkIGV4Y2x1ZGVkIHJ1bGVzXG4gICAgICovXG4gICAgX3ZhbGlkRXhjbHVkZVJ1bGVzQ291bnQgPSAwO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFBhbmVsIG9wZW5lZC9jbG9zZWQgZmxhZ1xuICAgICAqL1xuICAgIF9pbmNsdWRlUGFuZWxFeHBhbmRlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUGFuZWwgb3BlbmVkL2Nsb3NlZCBmbGFnXG4gICAgICovXG4gICAgX2V4Y2x1ZGVQYW5lbEV4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxGaWx0ZXJEaWFsb2dEYXRhPikge1xuICAgICAgICBjb25zdCB7IGNvbHVtbnMsIGNvbGxlY3Rpb25GaWx0ZXIgfSA9IHRoaXMuZGlhbG9nUmVmLmRhdGE7XG5cbiAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucy5maWx0ZXIoKGNvbHVtbikgPT4gY29sdW1uLmZpbHRlcmFibGUpIHx8IFtdO1xuXG4gICAgICAgIHRoaXMuX2luaXRpYXRlUnVsZXMoY29sbGVjdGlvbkZpbHRlcik7XG5cbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlVmFsaWRSdWxlc0NvdW50KCk7XG5cbiAgICAgICAgdGhpcy5fZXhjbHVkZVBhbmVsRXhwYW5kZWQgPSB0aGlzLl92YWxpZEV4Y2x1ZGVSdWxlc0NvdW50ID4gMDtcblxuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIFJlc2V0IGNoYW5nZXMgdG8gdGhlIGluaXRpYWwgc3RhdGUgKi9cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5pdGlhdGVSdWxlcygpO1xuICAgICAgICB0aGlzLmlzUmVzZXRBdmFpbGFibGUkLnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIENsb3NlIGRpYWxvZyAqL1xuICAgIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCk7XG4gICAgfVxuXG4gICAgLyoqIENvbmZpcm0gY2hhbmdlcyBhbmQgY2xvc2UgZGlhbG9nICovXG4gICAgY29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5jbHVkZUZpbHRlcnMgPSB0aGlzLl9nZXRDb2xsZWN0aW9uRmlsdGVyc0Zyb21JbmNsdWRlUnVsZXMoKTtcbiAgICAgICAgY29uc3QgZXhjbHVkZUZpbHRlcnMgPSB0aGlzLl9nZXRDb2xsZWN0aW9uRmlsdGVyc0Zyb21FeGNsdWRlUnVsZXMoKTtcblxuICAgICAgICBjb25zdCByZXN1bHQ6IEZpbHRlckRpYWxvZ1Jlc3VsdERhdGEgPSB7IGNvbGxlY3Rpb25GaWx0ZXI6IFsuLi5pbmNsdWRlRmlsdGVycywgLi4uZXhjbHVkZUZpbHRlcnNdIH07XG5cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9yZW1vdmVSdWxlKHJ1bGU6IEZpbHRlclJ1bGUsIHJ1bGVzOiBGaWx0ZXJSdWxlW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBydWxlcy5pbmRleE9mKHJ1bGUpO1xuXG4gICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJ1bGVzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgICAgLy8gS2VlcCBhdCBsZWFzdCBvbmUgaXRlbSBpbiB0aGUgbGlzdFxuICAgICAgICBpZiAocnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBydWxlcy5wdXNoKG5ldyBGaWx0ZXJSdWxlKHRoaXMuY29sdW1ucykpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuXG4gICAgICAgIHRoaXMuX2NhbGN1bGF0ZVZhbGlkUnVsZXNDb3VudCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZE5ld1J1bGUocnVsZXM6IEZpbHRlclJ1bGVbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYXN0UnVsZSA9IHJ1bGVzLnNsaWNlKC0xKVswXTtcbiAgICAgICAgcnVsZXMucHVzaChuZXcgRmlsdGVyUnVsZSh0aGlzLmNvbHVtbnMsIGxhc3RSdWxlPy5jb2x1bW5LZXksIGxhc3RSdWxlPy5zdHJhdGVneSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhhc09ubHlPbmVFbXB0eUluY2x1ZGVSdWxlID0gdGhpcy5faW5jbHVkZVJ1bGVzLmxlbmd0aCA9PT0gMSAmJiAhdGhpcy5faW5jbHVkZVJ1bGVzWzBdLmhhc1ZhbHVlO1xuICAgICAgICBjb25zdCBoYXNPbmx5T25lRW1wdHlFeGNsdWRlUnVsZSA9IHRoaXMuX2V4Y2x1ZGVSdWxlcy5sZW5ndGggPT09IDEgJiYgIXRoaXMuX2V4Y2x1ZGVSdWxlc1swXS5oYXNWYWx1ZTtcbiAgICAgICAgdGhpcy5pc1Jlc2V0QXZhaWxhYmxlJC5zZXQoIWhhc09ubHlPbmVFbXB0eUluY2x1ZGVSdWxlIHx8ICFoYXNPbmx5T25lRW1wdHlFeGNsdWRlUnVsZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25SdWxlU3RhdGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NhbGN1bGF0ZVZhbGlkUnVsZXNDb3VudCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5pdGlhdGVSdWxlcyhpbml0aWFsUnVsZXM/OiBDb2xsZWN0aW9uRmlsdGVyW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5jbHVkZVJ1bGVzID0gdGhpcy5fY3JlYXRlUnVsZXMoaW5pdGlhbFJ1bGVzPy5maWx0ZXIoKHsgZXhjbHVkZSB9KSA9PiAhZXhjbHVkZSkpO1xuICAgICAgICB0aGlzLl9leGNsdWRlUnVsZXMgPSB0aGlzLl9jcmVhdGVSdWxlcyhpbml0aWFsUnVsZXM/LmZpbHRlcigoeyBleGNsdWRlIH0pID0+IGV4Y2x1ZGUpKTtcblxuICAgICAgICBbdGhpcy5faW5jbHVkZVJ1bGVzLCB0aGlzLl9leGNsdWRlUnVsZXNdLmZvckVhY2goKHJ1bGVzKSA9PiB7XG4gICAgICAgICAgICAvLyBSdWxlcyBvbiBpbml0aWFsIHBoYXNlIGFyZSBjb25zaWRlcmVkIGFzIHZhbGlkXG4gICAgICAgICAgICBydWxlcy5mb3JFYWNoKChydWxlKSA9PiBydWxlLnNldFZhbGlkKHRydWUpKTtcbiAgICAgICAgICAgIC8vIEtlZXAgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGxpc3RcbiAgICAgICAgICAgIGlmIChydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBydWxlcy5wdXNoKG5ldyBGaWx0ZXJSdWxlKHRoaXMuY29sdW1ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZVJ1bGVzKGNvbGxlY3Rpb25GaWx0ZXI6IENvbGxlY3Rpb25GaWx0ZXJbXSA9IFtdKTogRmlsdGVyUnVsZVtdIHtcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25GaWx0ZXIubWFwKFxuICAgICAgICAgICAgKHsgZmllbGQsIHZhbHVlLCB2YWx1ZTIsIHN0cmF0ZWd5IH0pOiBGaWx0ZXJSdWxlID0+XG4gICAgICAgICAgICAgICAgbmV3IEZpbHRlclJ1bGUodGhpcy5jb2x1bW5zLCBmaWVsZCwgc3RyYXRlZ3ksIHZhbHVlLCB2YWx1ZTIpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDb2xsZWN0aW9uRmlsdGVyc0Zyb21SdWxlcyhydWxlczogRmlsdGVyUnVsZVtdKTogQ29sbGVjdGlvbkZpbHRlcltdIHtcbiAgICAgICAgcmV0dXJuIHJ1bGVzLmZpbHRlcih0aGlzLl9pc1J1bGVWYWxpZCkubWFwKFxuICAgICAgICAgICAgKHsgY29sdW1uS2V5LCBzdHJhdGVneSwgdmFsdWUsIHZhbHVlMiB9KTogQ29sbGVjdGlvbkZpbHRlciA9PiAoe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW5LZXkhLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHZhbHVlMixcbiAgICAgICAgICAgICAgICBzdHJhdGVneTogc3RyYXRlZ3khXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0Q29sbGVjdGlvbkZpbHRlcnNGcm9tSW5jbHVkZVJ1bGVzKCk6IENvbGxlY3Rpb25GaWx0ZXJbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDb2xsZWN0aW9uRmlsdGVyc0Zyb21SdWxlcyh0aGlzLl9pbmNsdWRlUnVsZXMpLm1hcChcbiAgICAgICAgICAgIChjb2xsZWN0aW9uRmlsdGVyKTogQ29sbGVjdGlvbkZpbHRlciA9PiAoe1xuICAgICAgICAgICAgICAgIC4uLmNvbGxlY3Rpb25GaWx0ZXIsXG4gICAgICAgICAgICAgICAgZXhjbHVkZTogZmFsc2VcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDb2xsZWN0aW9uRmlsdGVyc0Zyb21FeGNsdWRlUnVsZXMoKTogQ29sbGVjdGlvbkZpbHRlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldENvbGxlY3Rpb25GaWx0ZXJzRnJvbVJ1bGVzKHRoaXMuX2V4Y2x1ZGVSdWxlcykubWFwKFxuICAgICAgICAgICAgKGNvbGxlY3Rpb25GaWx0ZXIpOiBDb2xsZWN0aW9uRmlsdGVyID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uY29sbGVjdGlvbkZpbHRlcixcbiAgICAgICAgICAgICAgICBleGNsdWRlOiB0cnVlXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2FsY3VsYXRlVmFsaWRSdWxlc0NvdW50ID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLl92YWxpZEluY2x1ZGVSdWxlc0NvdW50ID0gdGhpcy5faW5jbHVkZVJ1bGVzLmZpbHRlcih0aGlzLl9pc1J1bGVWYWxpZCkubGVuZ3RoO1xuICAgICAgICB0aGlzLl92YWxpZEV4Y2x1ZGVSdWxlc0NvdW50ID0gdGhpcy5fZXhjbHVkZVJ1bGVzLmZpbHRlcih0aGlzLl9pc1J1bGVWYWxpZCkubGVuZ3RoO1xuICAgIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzUnVsZVZhbGlkID0gKHJ1bGU6IEZpbHRlclJ1bGUpOiBib29sZWFuID0+IHJ1bGU/LmlzVmFsaWQ7XG59XG4iLCI8ZmQtZGlhbG9nIGNsYXNzPVwiZmRwLXRhYmxlLXAxMy1maWx0ZXJpbmctZGlhbG9nXCI+XG4gICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBmZC10aXRsZSBbaGVhZGVyU2l6ZV09XCI0XCI+e3sgJ3BsYXRmb3JtVGFibGUuUDEzRmlsdGVyRGlhbG9nSGVhZGVyJyB8IGZkVHJhbnNsYXRlIH19PC9oND5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxmZHAtdGFibGUtcmVzZXQtYnV0dG9uPjwvZmRwLXRhYmxlLXJlc2V0LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgIDxmZC1kaWFsb2ctYm9keT5cbiAgICAgICAgPCEtLSBJbmNsdWRlIFJ1bGVzIC0tPlxuICAgICAgICA8ZmQtcGFuZWwgW2V4cGFuZGVkXT1cIl9pbmNsdWRlUGFuZWxFeHBhbmRlZFwiPlxuICAgICAgICAgICAgPGRpdiBmZC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAoX3ZhbGlkSW5jbHVkZVJ1bGVzQ291bnQgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ0luY2x1ZGVQYW5lbFRpdGxlV2l0aENvdW50J1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dJbmNsdWRlUGFuZWxUaXRsZVdpdGhvdXRDb3VudCdcbiAgICAgICAgICAgICAgICAgICAgKSB8IGZkVHJhbnNsYXRlOiB7IGNvdW50OiBfdmFsaWRJbmNsdWRlUnVsZXNDb3VudCB9XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmZC1wYW5lbC1jb250ZW50PlxuICAgICAgICAgICAgICAgIEBmb3IgKHJ1bGUgb2YgX2luY2x1ZGVSdWxlczsgdHJhY2sgcnVsZSkge1xuICAgICAgICAgICAgICAgICAgICA8ZmQtbGF5b3V0LWdyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLWZpbHRlci1ydWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZExheW91dEdyaWRDb2xdPVwiMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcnVsZV09XCJydWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJ1bGVDaGFuZ2UpPVwiX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChydWxlU3RhdGVDaGFuZ2UpPVwiX29uUnVsZVN0YXRlQ2hhbmdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC10YWJsZS1maWx0ZXItcnVsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFjdGlvbnMgYnV0dG9ucyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwic3lzLWNhbmNlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ1JlbW92ZUZpbHRlckJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ1JlbW92ZUZpbHRlckJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfcmVtb3ZlUnVsZShydWxlLCBfaW5jbHVkZVJ1bGVzKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChfaW5jbHVkZVJ1bGVzLmxlbmd0aCAtIDEgPT09ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImFkZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtVGFibGUuUDEzRmlsdGVyRGlhbG9nQWRkRmlsdGVyQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dBZGRGaWx0ZXJCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9hZGROZXdSdWxlKF9pbmNsdWRlUnVsZXMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtbGF5b3V0LWdyaWQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmQtcGFuZWw+XG4gICAgICAgIDwhLS0gRXhjbHVkZSBSdWxlcyAtLT5cbiAgICAgICAgPGZkLXBhbmVsIFtleHBhbmRlZF09XCJfZXhjbHVkZVBhbmVsRXhwYW5kZWRcIj5cbiAgICAgICAgICAgIDxkaXYgZmQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgKF92YWxpZEV4Y2x1ZGVSdWxlc0NvdW50ID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgPyAncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dFeGNsdWRlUGFuZWxUaXRsZVdpdGhDb3VudCdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJ3BsYXRmb3JtVGFibGUuUDEzRmlsdGVyRGlhbG9nRXhjbHVkZVBhbmVsVGl0bGVXaXRob3V0Q291bnQnXG4gICAgICAgICAgICAgICAgICAgICkgfCBmZFRyYW5zbGF0ZTogeyBjb3VudDogX3ZhbGlkRXhjbHVkZVJ1bGVzQ291bnQgfVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZmQtcGFuZWwtY29udGVudD5cbiAgICAgICAgICAgICAgICBAZm9yIChydWxlIG9mIF9leGNsdWRlUnVsZXM7IHRyYWNrIHJ1bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZExheW91dEdyaWRSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC10YWJsZS1maWx0ZXItcnVsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmRMYXlvdXRHcmlkQ29sXT1cIjEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3J1bGVdPVwicnVsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChydWxlQ2hhbmdlKT1cIl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocnVsZVN0YXRlQ2hhbmdlKT1cIl9vblJ1bGVTdGF0ZUNoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZHAtdGFibGUtZmlsdGVyLXJ1bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBY3Rpb25zIGJ1dHRvbnMgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cInN5cy1jYW5jZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dSZW1vdmVGaWx0ZXJCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dSZW1vdmVGaWx0ZXJCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3JlbW92ZVJ1bGUocnVsZSwgX2V4Y2x1ZGVSdWxlcylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoX2V4Y2x1ZGVSdWxlcy5sZW5ndGggLSAxID09PSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ0FkZEZpbHRlckJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUuUDEzRmlsdGVyRGlhbG9nQWRkRmlsdGVyQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfYWRkTmV3UnVsZShfZXhjbHVkZVJ1bGVzKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLXBhbmVsPlxuICAgIDwvZmQtZGlhbG9nLWJvZHk+XG4gICAgPGZkLWRpYWxvZy1mb290ZXI+XG4gICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dDb25maXJtYXRpb25CdG5MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY29uZmlybSgpXCJcbiAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGZka0luaXRpYWxGb2N1c1xuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ0NhbmNlbEJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuPC9mZC1kaWFsb2c+XG4iXX0=
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL2ZpbHRlcmluZy9maWx0ZXJpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS9jb21wb25lbnRzL3RhYmxlLXAxMy1kaWFsb2cvZmlsdGVyaW5nL2ZpbHRlcmluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFjLE1BQU0sMkNBQTJDLENBQUM7QUFFL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDckIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUNILG1CQUFtQixFQUNuQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVB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OUtRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDJEQTVCekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQywwQkNyQ3hGLG0rTUFrSUEsaVFEekZRLGVBQWUsc0dBQ2YscUJBQXFCLDZEQUNyQixpQkFBaUIsbUZBQ2pCLGdCQUFnQiwwREFDaEIsbUJBQW1CLGtGQUNuQixjQUFjLDBIQUNkLGlCQUFpQiwyREFDakIsb0JBQW9CLG1FQUdwQixtQkFBbUIsMkRBQ25CLGNBQWMsdUxBQ2QsbUJBQW1CLDZFQUNuQixxQkFBcUIsMEpBQ3JCLG1CQUFtQiwySUFDbkIsc0JBQXNCLG9GQUN0QixtQkFBbUIsZ0lBQ25CLHNCQUFzQiwwTkFDdEIsZUFBZSx3SEFDZixxQkFBcUIsNkRBQ3JCLGtCQUFrQix1SEFDbEIsZUFBZTs7MkZBR1YsMkJBQTJCO2tCQWhDdkMsU0FBUztvQ0FHUyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyw2QkFBNkIsRUFBRSxDQUFDLG1CQUNuRSx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbGxlY3Rpb25GaWx0ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcblxuaW1wb3J0IHsgUkVTRVRUQUJMRV9UT0tFTiwgUmVzZXRCdXR0b25Db21wb25lbnQsIFJlc2V0dGFibGUgfSBmcm9tICcuLi8uLi9yZXNldC1idXR0b24vcmVzZXQtYnV0dG9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBCYXJFbGVtZW50RGlyZWN0aXZlLFxuICAgIEJhckxlZnREaXJlY3RpdmUsXG4gICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgQnV0dG9uQmFyQ29tcG9uZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9iYXInO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQge1xuICAgIERpYWxvZ0JvZHlDb21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgICBEaWFsb2dIZWFkZXJDb21wb25lbnRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5pbXBvcnQgeyBMYXlvdXRHcmlkQ29sRGlyZWN0aXZlLCBMYXlvdXRHcmlkQ29tcG9uZW50LCBMYXlvdXRHcmlkUm93RGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2xheW91dC1ncmlkJztcbmltcG9ydCB7IFBhbmVsQ29tcG9uZW50LCBQYW5lbENvbnRlbnREaXJlY3RpdmUsIFBhbmVsVGl0bGVEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcGFuZWwnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Njcm9sbGJhcic7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90aXRsZSc7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgRmlsdGVyUnVsZUNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLXJ1bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckRpYWxvZ0RhdGEsIEZpbHRlckRpYWxvZ1Jlc3VsdERhdGEsIEZpbHRlclJ1bGUsIEZpbHRlcmFibGVDb2x1bW4gfSBmcm9tICcuL2ZpbHRlcmluZy5tb2RlbCc7XG5cbmV4cG9ydCB7IEZpbHRlckRpYWxvZ0RhdGEsIEZpbHRlckRpYWxvZ1Jlc3VsdERhdGEgfTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlcmluZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2ZpbHRlcmluZy5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJFU0VUVEFCTEVfVE9LRU4sIHVzZUV4aXN0aW5nOiBQMTNGaWx0ZXJpbmdEaWFsb2dDb21wb25lbnQgfV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICAgICAgQmFyRWxlbWVudERpcmVjdGl2ZSxcbiAgICAgICAgVGl0bGVDb21wb25lbnQsXG4gICAgICAgIEJhclJpZ2h0RGlyZWN0aXZlLFxuICAgICAgICBSZXNldEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQ2RrU2Nyb2xsYWJsZSxcbiAgICAgICAgU2Nyb2xsYmFyRGlyZWN0aXZlLFxuICAgICAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgICAgICBQYW5lbENvbXBvbmVudCxcbiAgICAgICAgUGFuZWxUaXRsZURpcmVjdGl2ZSxcbiAgICAgICAgUGFuZWxDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBMYXlvdXRHcmlkQ29tcG9uZW50LFxuICAgICAgICBMYXlvdXRHcmlkUm93RGlyZWN0aXZlLFxuICAgICAgICBGaWx0ZXJSdWxlQ29tcG9uZW50LFxuICAgICAgICBMYXlvdXRHcmlkQ29sRGlyZWN0aXZlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQmFyQ29tcG9uZW50LFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFAxM0ZpbHRlcmluZ0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIFJlc2V0dGFibGUge1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hlbiByZXNldCBjb21tYW5kIGlzIGF2YWlsYWJsZSAqL1xuICAgIHJlYWRvbmx5IGlzUmVzZXRBdmFpbGFibGUkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBUYWJsZSBjb2x1bW5zIGF2YWlsYWJsZSBmb3IgZmlsdGVyaW5nICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogRmlsdGVyYWJsZUNvbHVtbltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogSW5jbHVkZSBSdWxlc1xuICAgICAqL1xuICAgIF9pbmNsdWRlUnVsZXM6IEZpbHRlclJ1bGVbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEV4Y2x1ZGUgUnVsZXNcbiAgICAgKi9cbiAgICBfZXhjbHVkZVJ1bGVzOiBGaWx0ZXJSdWxlW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBDb3VudCBvZiB2YWxpZCBpbmNsdWRlZCBydWxlc1xuICAgICAqL1xuICAgIF92YWxpZEluY2x1ZGVSdWxlc0NvdW50ID0gMDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBDb3VudCBvZiB2YWxpZCBleGNsdWRlZCBydWxlc1xuICAgICAqL1xuICAgIF92YWxpZEV4Y2x1ZGVSdWxlc0NvdW50ID0gMDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBQYW5lbCBvcGVuZWQvY2xvc2VkIGZsYWdcbiAgICAgKi9cbiAgICBfaW5jbHVkZVBhbmVsRXhwYW5kZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFBhbmVsIG9wZW5lZC9jbG9zZWQgZmxhZ1xuICAgICAqL1xuICAgIF9leGNsdWRlUGFuZWxFeHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBEaWFsb2dSZWY8RmlsdGVyRGlhbG9nRGF0YT4pIHtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCBjb2xsZWN0aW9uRmlsdGVyIH0gPSB0aGlzLmRpYWxvZ1JlZi5kYXRhO1xuXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKChjb2x1bW4pID0+IGNvbHVtbi5maWx0ZXJhYmxlKSB8fCBbXTtcblxuICAgICAgICB0aGlzLl9pbml0aWF0ZVJ1bGVzKGNvbGxlY3Rpb25GaWx0ZXIpO1xuXG4gICAgICAgIHRoaXMuX2NhbGN1bGF0ZVZhbGlkUnVsZXNDb3VudCgpO1xuXG4gICAgICAgIHRoaXMuX2V4Y2x1ZGVQYW5lbEV4cGFuZGVkID0gdGhpcy5fdmFsaWRFeGNsdWRlUnVsZXNDb3VudCA+IDA7XG5cbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBSZXNldCBjaGFuZ2VzIHRvIHRoZSBpbml0aWFsIHN0YXRlICovXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luaXRpYXRlUnVsZXMoKTtcbiAgICAgICAgdGhpcy5pc1Jlc2V0QXZhaWxhYmxlJC5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZSBkaWFsb2cgKi9cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBDb25maXJtIGNoYW5nZXMgYW5kIGNsb3NlIGRpYWxvZyAqL1xuICAgIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVGaWx0ZXJzID0gdGhpcy5fZ2V0Q29sbGVjdGlvbkZpbHRlcnNGcm9tSW5jbHVkZVJ1bGVzKCk7XG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVGaWx0ZXJzID0gdGhpcy5fZ2V0Q29sbGVjdGlvbkZpbHRlcnNGcm9tRXhjbHVkZVJ1bGVzKCk7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuZGlhbG9nUmVmLmRhdGEudmFsaWRhdG9yO1xuICAgICAgICBjb25zdCBjb21iaW5lZEZpbHRlcnMgPSBbLi4uaW5jbHVkZUZpbHRlcnMsIC4uLmV4Y2x1ZGVGaWx0ZXJzXTtcblxuICAgICAgICBpZiAoIXZhbGlkYXRvciB8fCB2YWxpZGF0b3IoY29tYmluZWRGaWx0ZXJzKSkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBGaWx0ZXJEaWFsb2dSZXN1bHREYXRhID0geyBjb2xsZWN0aW9uRmlsdGVyOiBjb21iaW5lZEZpbHRlcnMgfTtcblxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JlbW92ZVJ1bGUocnVsZTogRmlsdGVyUnVsZSwgcnVsZXM6IEZpbHRlclJ1bGVbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHJ1bGVzLmluZGV4T2YocnVsZSk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcnVsZXMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgICAvLyBLZWVwIGF0IGxlYXN0IG9uZSBpdGVtIGluIHRoZSBsaXN0XG4gICAgICAgIGlmIChydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJ1bGVzLnB1c2gobmV3IEZpbHRlclJ1bGUodGhpcy5jb2x1bW5zKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG5cbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlVmFsaWRSdWxlc0NvdW50KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfYWRkTmV3UnVsZShydWxlczogRmlsdGVyUnVsZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxhc3RSdWxlID0gcnVsZXMuc2xpY2UoLTEpWzBdO1xuICAgICAgICBydWxlcy5wdXNoKG5ldyBGaWx0ZXJSdWxlKHRoaXMuY29sdW1ucywgbGFzdFJ1bGU/LmNvbHVtbktleSwgbGFzdFJ1bGU/LnN0cmF0ZWd5KSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzT25seU9uZUVtcHR5SW5jbHVkZVJ1bGUgPSB0aGlzLl9pbmNsdWRlUnVsZXMubGVuZ3RoID09PSAxICYmICF0aGlzLl9pbmNsdWRlUnVsZXNbMF0uaGFzVmFsdWU7XG4gICAgICAgIGNvbnN0IGhhc09ubHlPbmVFbXB0eUV4Y2x1ZGVSdWxlID0gdGhpcy5fZXhjbHVkZVJ1bGVzLmxlbmd0aCA9PT0gMSAmJiAhdGhpcy5fZXhjbHVkZVJ1bGVzWzBdLmhhc1ZhbHVlO1xuICAgICAgICB0aGlzLmlzUmVzZXRBdmFpbGFibGUkLnNldCghaGFzT25seU9uZUVtcHR5SW5jbHVkZVJ1bGUgfHwgIWhhc09ubHlPbmVFbXB0eUV4Y2x1ZGVSdWxlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblJ1bGVTdGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlVmFsaWRSdWxlc0NvdW50KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbml0aWF0ZVJ1bGVzKGluaXRpYWxSdWxlcz86IENvbGxlY3Rpb25GaWx0ZXJbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbmNsdWRlUnVsZXMgPSB0aGlzLl9jcmVhdGVSdWxlcyhpbml0aWFsUnVsZXM/LmZpbHRlcigoeyBleGNsdWRlIH0pID0+ICFleGNsdWRlKSk7XG4gICAgICAgIHRoaXMuX2V4Y2x1ZGVSdWxlcyA9IHRoaXMuX2NyZWF0ZVJ1bGVzKGluaXRpYWxSdWxlcz8uZmlsdGVyKCh7IGV4Y2x1ZGUgfSkgPT4gZXhjbHVkZSkpO1xuXG4gICAgICAgIFt0aGlzLl9pbmNsdWRlUnVsZXMsIHRoaXMuX2V4Y2x1ZGVSdWxlc10uZm9yRWFjaCgocnVsZXMpID0+IHtcbiAgICAgICAgICAgIC8vIFJ1bGVzIG9uIGluaXRpYWwgcGhhc2UgYXJlIGNvbnNpZGVyZWQgYXMgdmFsaWRcbiAgICAgICAgICAgIHJ1bGVzLmZvckVhY2goKHJ1bGUpID0+IHJ1bGUuc2V0VmFsaWQodHJ1ZSkpO1xuICAgICAgICAgICAgLy8gS2VlcCBhdCBsZWFzdCBvbmUgaXRlbSBpbiB0aGUgbGlzdFxuICAgICAgICAgICAgaWYgKHJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJ1bGVzLnB1c2gobmV3IEZpbHRlclJ1bGUodGhpcy5jb2x1bW5zKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlUnVsZXMoY29sbGVjdGlvbkZpbHRlcjogQ29sbGVjdGlvbkZpbHRlcltdID0gW10pOiBGaWx0ZXJSdWxlW10ge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbkZpbHRlci5tYXAoXG4gICAgICAgICAgICAoeyBmaWVsZCwgdmFsdWUsIHZhbHVlMiwgc3RyYXRlZ3kgfSk6IEZpbHRlclJ1bGUgPT5cbiAgICAgICAgICAgICAgICBuZXcgRmlsdGVyUnVsZSh0aGlzLmNvbHVtbnMsIGZpZWxkLCBzdHJhdGVneSwgdmFsdWUsIHZhbHVlMilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENvbGxlY3Rpb25GaWx0ZXJzRnJvbVJ1bGVzKHJ1bGVzOiBGaWx0ZXJSdWxlW10pOiBDb2xsZWN0aW9uRmlsdGVyW10ge1xuICAgICAgICByZXR1cm4gcnVsZXMuZmlsdGVyKHRoaXMuX2lzUnVsZVZhbGlkKS5tYXAoXG4gICAgICAgICAgICAoeyBjb2x1bW5LZXksIHN0cmF0ZWd5LCB2YWx1ZSwgdmFsdWUyIH0pOiBDb2xsZWN0aW9uRmlsdGVyID0+ICh7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbktleSEsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgdmFsdWUyLFxuICAgICAgICAgICAgICAgIHN0cmF0ZWd5OiBzdHJhdGVneSFcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDb2xsZWN0aW9uRmlsdGVyc0Zyb21JbmNsdWRlUnVsZXMoKTogQ29sbGVjdGlvbkZpbHRlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldENvbGxlY3Rpb25GaWx0ZXJzRnJvbVJ1bGVzKHRoaXMuX2luY2x1ZGVSdWxlcykubWFwKFxuICAgICAgICAgICAgKGNvbGxlY3Rpb25GaWx0ZXIpOiBDb2xsZWN0aW9uRmlsdGVyID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uY29sbGVjdGlvbkZpbHRlcixcbiAgICAgICAgICAgICAgICBleGNsdWRlOiBmYWxzZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENvbGxlY3Rpb25GaWx0ZXJzRnJvbUV4Y2x1ZGVSdWxlcygpOiBDb2xsZWN0aW9uRmlsdGVyW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q29sbGVjdGlvbkZpbHRlcnNGcm9tUnVsZXModGhpcy5fZXhjbHVkZVJ1bGVzKS5tYXAoXG4gICAgICAgICAgICAoY29sbGVjdGlvbkZpbHRlcik6IENvbGxlY3Rpb25GaWx0ZXIgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5jb2xsZWN0aW9uRmlsdGVyLFxuICAgICAgICAgICAgICAgIGV4Y2x1ZGU6IHRydWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jYWxjdWxhdGVWYWxpZFJ1bGVzQ291bnQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuX3ZhbGlkSW5jbHVkZVJ1bGVzQ291bnQgPSB0aGlzLl9pbmNsdWRlUnVsZXMuZmlsdGVyKHRoaXMuX2lzUnVsZVZhbGlkKS5sZW5ndGg7XG4gICAgICAgIHRoaXMuX3ZhbGlkRXhjbHVkZVJ1bGVzQ291bnQgPSB0aGlzLl9leGNsdWRlUnVsZXMuZmlsdGVyKHRoaXMuX2lzUnVsZVZhbGlkKS5sZW5ndGg7XG4gICAgfTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNSdWxlVmFsaWQgPSAocnVsZTogRmlsdGVyUnVsZSk6IGJvb2xlYW4gPT4gcnVsZT8uaXNWYWxpZDtcbn1cbiIsIjxmZC1kaWFsb2cgY2xhc3M9XCJmZHAtdGFibGUtcDEzLWZpbHRlcmluZy1kaWFsb2dcIj5cbiAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGg0IGZkLXRpdGxlIFtoZWFkZXJTaXplXT1cIjRcIj57eyAncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dIZWFkZXInIHwgZmRUcmFuc2xhdGUgfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGZkcC10YWJsZS1yZXNldC1idXR0b24+PC9mZHAtdGFibGUtcmVzZXQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG4gICAgPGZkLWRpYWxvZy1ib2R5PlxuICAgICAgICA8IS0tIEluY2x1ZGUgUnVsZXMgLS0+XG4gICAgICAgIDxmZC1wYW5lbCBbZXhwYW5kZWRdPVwiX2luY2x1ZGVQYW5lbEV4cGFuZGVkXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIChfdmFsaWRJbmNsdWRlUnVsZXNDb3VudCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ3BsYXRmb3JtVGFibGUuUDEzRmlsdGVyRGlhbG9nSW5jbHVkZVBhbmVsVGl0bGVXaXRoQ291bnQnXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ0luY2x1ZGVQYW5lbFRpdGxlV2l0aG91dENvdW50J1xuICAgICAgICAgICAgICAgICAgICApIHwgZmRUcmFuc2xhdGU6IHsgY291bnQ6IF92YWxpZEluY2x1ZGVSdWxlc0NvdW50IH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZkLXBhbmVsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgQGZvciAocnVsZSBvZiBfaW5jbHVkZVJ1bGVzOyB0cmFjayBydWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZC1sYXlvdXQtZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmRMYXlvdXRHcmlkUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtdGFibGUtZmlsdGVyLXJ1bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkTGF5b3V0R3JpZENvbF09XCIxMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtydWxlXT1cInJ1bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocnVsZUNoYW5nZSk9XCJfcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJ1bGVTdGF0ZUNoYW5nZSk9XCJfb25SdWxlU3RhdGVDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLXRhYmxlLWZpbHRlci1ydWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWN0aW9ucyBidXR0b25zIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCIyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJzeXMtY2FuY2VsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtVGFibGUuUDEzRmlsdGVyRGlhbG9nUmVtb3ZlRmlsdGVyQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUuUDEzRmlsdGVyRGlhbG9nUmVtb3ZlRmlsdGVyQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9yZW1vdmVSdWxlKHJ1bGUsIF9pbmNsdWRlUnVsZXMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKF9pbmNsdWRlUnVsZXMubGVuZ3RoIC0gMSA9PT0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwiYWRkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dBZGRGaWx0ZXJCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ0FkZEZpbHRlckJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2FkZE5ld1J1bGUoX2luY2x1ZGVSdWxlcylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1sYXlvdXQtZ3JpZD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mZC1wYW5lbD5cbiAgICAgICAgPCEtLSBFeGNsdWRlIFJ1bGVzIC0tPlxuICAgICAgICA8ZmQtcGFuZWwgW2V4cGFuZGVkXT1cIl9leGNsdWRlUGFuZWxFeHBhbmRlZFwiPlxuICAgICAgICAgICAgPGRpdiBmZC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAoX3ZhbGlkRXhjbHVkZVJ1bGVzQ291bnQgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ0V4Y2x1ZGVQYW5lbFRpdGxlV2l0aENvdW50J1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dFeGNsdWRlUGFuZWxUaXRsZVdpdGhvdXRDb3VudCdcbiAgICAgICAgICAgICAgICAgICAgKSB8IGZkVHJhbnNsYXRlOiB7IGNvdW50OiBfdmFsaWRFeGNsdWRlUnVsZXNDb3VudCB9XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmZC1wYW5lbC1jb250ZW50PlxuICAgICAgICAgICAgICAgIEBmb3IgKHJ1bGUgb2YgX2V4Y2x1ZGVSdWxlczsgdHJhY2sgcnVsZSkge1xuICAgICAgICAgICAgICAgICAgICA8ZmQtbGF5b3V0LWdyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLWZpbHRlci1ydWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZExheW91dEdyaWRDb2xdPVwiMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcnVsZV09XCJydWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJ1bGVDaGFuZ2UpPVwiX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChydWxlU3RhdGVDaGFuZ2UpPVwiX29uUnVsZVN0YXRlQ2hhbmdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC10YWJsZS1maWx0ZXItcnVsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFjdGlvbnMgYnV0dG9ucyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwic3lzLWNhbmNlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ1JlbW92ZUZpbHRlckJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ1JlbW92ZUZpbHRlckJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfcmVtb3ZlUnVsZShydWxlLCBfZXhjbHVkZVJ1bGVzKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChfZXhjbHVkZVJ1bGVzLmxlbmd0aCAtIDEgPT09ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImFkZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtVGFibGUuUDEzRmlsdGVyRGlhbG9nQWRkRmlsdGVyQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS5QMTNGaWx0ZXJEaWFsb2dBZGRGaWx0ZXJCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9hZGROZXdSdWxlKF9leGNsdWRlUnVsZXMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtbGF5b3V0LWdyaWQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmQtcGFuZWw+XG4gICAgPC9mZC1kaWFsb2ctYm9keT5cbiAgICA8ZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ0NvbmZpcm1hdGlvbkJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjb25maXJtKClcIlxuICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0ZpbHRlckRpYWxvZ0NhbmNlbEJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuPC9mZC1kaWFsb2c+XG4iXX0=
|
|
@@ -96,4 +96,4 @@ export class FilterRule {
|
|
|
96
96
|
return !!value || value === 0 || typeof value === 'boolean';
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS9jb21wb25lbnRzL3RhYmxlLXAxMy1kaWFsb2cvZmlsdGVyaW5nL2ZpbHRlcmluZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsa0NBQWtDLEVBRXJDLE1BQU0seUNBQXlDLENBQUM7QUFtQmpEOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sVUFBVTtJQVVuQiw0Q0FBNEM7SUFDNUMsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsY0FBYztJQUNkLFlBQ2EsT0FBd0M7SUFDakQscUNBQXFDO0lBQzlCLFNBQWtCO0lBQ3pCLGdCQUFnQjtJQUNULFFBQXlCO0lBQ2hDLHdCQUF3QjtJQUNqQixLQUFnQjtJQUN2Qiw4QkFBOEI7SUFDdkIsTUFBaUI7UUFSZixZQUFPLEdBQVAsT0FBTyxDQUFpQztRQUUxQyxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBRWxCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBRXpCLFVBQUssR0FBTCxLQUFLLENBQVc7UUFFaEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQXhCNUIscUJBQXFCO1FBQ3JCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsbUNBQW1DO1FBQ25DLGVBQVUsR0FBa0MsRUFBRSxDQUFDO1FBc0IzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxRQUFRLENBQUMsT0FBZ0I7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWM7SUFDZCxRQUFRLENBQUMsS0FBZTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsY0FBYztJQUNkLFNBQVMsQ0FBQyxLQUFlO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVyxDQUFDLFFBQXdCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO0lBQ2Qsd0JBQXdCLENBQUMsU0FBa0I7UUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDWCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLFVBQVUsR0FBRyxrQ0FBa0MsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoRSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1lBQ2hDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBRTdCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFBWSxDQUFDLFNBQWlCO1FBQzFCLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDOUIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFM0IsZUFBZTtRQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQixtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZDLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWM7SUFDZCxzQkFBc0IsQ0FBQyxTQUFrQjtRQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsRUFBRSxRQUFRLENBQUM7UUFFbkYsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM1QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztJQUNOLFdBQVcsQ0FBQyxLQUFVO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUNoRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbGxlY3Rpb25GaWx0ZXIsXG4gICAgRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlLFxuICAgIEZpbHRlclN0cmF0ZWd5LFxuICAgIGdldEZpbHRlclN0cmF0ZWdpZXNCYXNlZE9uRGF0YVR5cGUsXG4gICAgVGFibGVEaWFsb2dDb21tb25EYXRhXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUtaGVscGVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyYWJsZUNvbHVtbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbiAgICBkYXRhVHlwZTogRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlO1xuICAgIGZpbHRlcmFibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckRpYWxvZ0RhdGEgZXh0ZW5kcyBUYWJsZURpYWxvZ0NvbW1vbkRhdGEge1xuICAgIGNvbGxlY3Rpb25GaWx0ZXI6IENvbGxlY3Rpb25GaWx0ZXJbXTtcbiAgICBjb2x1bW5zOiBGaWx0ZXJhYmxlQ29sdW1uW107XG4gICAgdmFsaWRhdG9yPzogKChydWxlczogQ29sbGVjdGlvbkZpbHRlcltdKSA9PiBib29sZWFuKSB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJEaWFsb2dSZXN1bHREYXRhIHtcbiAgICBjb2xsZWN0aW9uRmlsdGVyOiBDb2xsZWN0aW9uRmlsdGVyW107XG59XG5cbi8qKlxuICogRmlsdGVyIFJ1bGVcbiAqXG4gKiByZXByZXNlbnRzIG9uZSBydWxlIHBlciByb3dcbiAqL1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyUnVsZTxUID0gYW55PiB7XG4gICAgLyoqIFZhbGlkYXRpb24gZmxnICovXG4gICAgaXNWYWxpZCA9IGZhbHNlO1xuXG4gICAgLyoqIEF2YWlsYWJsZSBzdHJhdGVnaWVzIG9wdGlvbnMgKi9cbiAgICBzdHJhdGVnaWVzOiBSZWFkb25seUFycmF5PEZpbHRlclN0cmF0ZWd5PiA9IFtdO1xuXG4gICAgLyoqIERhdGEgdHlwZSAqL1xuICAgIGRhdGFUeXBlPzogRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlO1xuXG4gICAgLyoqIHJldHVybnMgd2hldGhlciBmaWx0ZXIgcnVsZSBoYXMgdmFsdWUgKi9cbiAgICBnZXQgaGFzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlRXhpc3RzKHRoaXMudmFsdWUpIHx8IHRoaXMudmFsdWVFeGlzdHModGhpcy52YWx1ZTIpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGNvbHVtbnM6IFJlYWRvbmx5QXJyYXk8RmlsdGVyYWJsZUNvbHVtbj4sXG4gICAgICAgIC8qKiBDb2x1bW4ga2V5IHRoZSBydWxlIGJlbG9uZ3MgdG8gKi9cbiAgICAgICAgcHVibGljIGNvbHVtbktleT86IHN0cmluZyxcbiAgICAgICAgLyoqIERhdGEgdHlwZSAqL1xuICAgICAgICBwdWJsaWMgc3RyYXRlZ3k/OiBGaWx0ZXJTdHJhdGVneSxcbiAgICAgICAgLyoqIE1haW4gZmlsdGVyIHZhbHVlICovXG4gICAgICAgIHB1YmxpYyB2YWx1ZT86IFQgfCBudWxsLFxuICAgICAgICAvKiogQWRkaXRpb25hbCBmaWx0ZXIgdmFsdWUgKi9cbiAgICAgICAgcHVibGljIHZhbHVlMj86IFQgfCBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5jb2x1bW5LZXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29sdW1uS2V5KGNvbHVtbnNbMF0/LmtleSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmRhdGFUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLnNldERhdGFUeXBlQnlDb2x1bW5LZXkodGhpcy5jb2x1bW5LZXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnN0cmF0ZWdpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0cmF0ZWdpZXNCeUNvbHVtbktleSh0aGlzLmNvbHVtbktleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFZhbGlkKGlzVmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1ZhbGlkID0gaXNWYWxpZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRWYWx1ZTIodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUyID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRTdHJhdGVneShzdHJhdGVneTogRmlsdGVyU3RyYXRlZ3kpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdHJhdGVneSA9IHN0cmF0ZWd5O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0U3RyYXRlZ2llc0J5Q29sdW1uS2V5KGNvbHVtbktleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhVHlwZSA9IHRoaXMuY29sdW1ucy5maW5kKChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGNvbHVtbktleSk/LmRhdGFUeXBlO1xuICAgICAgICBpZiAoIWRhdGFUeXBlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdHJhdGVnaWVzID0gZ2V0RmlsdGVyU3RyYXRlZ2llc0Jhc2VkT25EYXRhVHlwZShkYXRhVHlwZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc3RyYXRlZ2llcyA9PT0gc3RyYXRlZ2llcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdHJhdGVnaWVzID0gc3RyYXRlZ2llcztcblxuICAgICAgICBpZiAoIXRoaXMuc3RyYXRlZ2llcy5pbmNsdWRlcyh0aGlzLnN0cmF0ZWd5ISkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RyYXRlZ3koc3RyYXRlZ2llc1swXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldENvbHVtbktleShjb2x1bW5LZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoY29sdW1uS2V5ID09PSB0aGlzLmNvbHVtbktleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29sdW1uS2V5ID0gY29sdW1uS2V5O1xuXG4gICAgICAgIC8vIHJlc2V0IHZhbHVlc1xuICAgICAgICB0aGlzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnNldFZhbHVlMihudWxsKTtcblxuICAgICAgICAvLyB1cGRhdGUgZGF0YSB0eXBlXG4gICAgICAgIHRoaXMuc2V0RGF0YVR5cGVCeUNvbHVtbktleShjb2x1bW5LZXkpO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBhdmFpbGFibGUgc3RyYXRlZ2llcyBsaXN0XG4gICAgICAgIHRoaXMuc2V0U3RyYXRlZ2llc0J5Q29sdW1uS2V5KGNvbHVtbktleSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXREYXRhVHlwZUJ5Q29sdW1uS2V5KGNvbHVtbktleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhVHlwZSA9IHRoaXMuY29sdW1ucy5maW5kKChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGNvbHVtbktleSk/LmRhdGFUeXBlO1xuXG4gICAgICAgIGlmIChkYXRhVHlwZSA9PT0gdGhpcy5kYXRhVHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhVHlwZSA9IGRhdGFUeXBlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSB2YWx1ZUV4aXN0cyh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXZhbHVlIHx8IHZhbHVlID09PSAwIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -114,10 +114,10 @@ export class P13GroupingDialogComponent {
|
|
|
114
114
|
_getUniqueRules(rules) {
|
|
115
115
|
return getUniqueListValuesByKey(rules, 'columnKey');
|
|
116
116
|
}
|
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0
|
|
117
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: P13GroupingDialogComponent, deps: [{ token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: P13GroupingDialogComponent, isStandalone: true, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13GroupingDialogComponent }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-grouping-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13GroupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n @for (rule of rules; track rule) {\n <div class=\"group-row\">\n <fd-select\n class=\"group-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13GroupDialogNoneSelectedColumnSelectPlaceholder' | fdTranslate\"\n >\n @for (column of columns; track column) {\n <li fd-option [value]=\"column.key\">\n {{ column.label }}\n </li>\n }\n </fd-select>\n\n <fd-checkbox\n class=\"group-row__checkbox\"\n [ngModel]=\"rule.showAsColumn\"\n (ngModelChange)=\"_onRuleShowAsColumnChange(rule, $event)\"\n [label]=\"'platformTable.P13GroupDialogShowFieldAsColumnCheckboxLabel' | fdTranslate\"\n ></fd-checkbox>\n\n <div class=\"group-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n (click)=\"_addNew($index)\"\n ></button>\n </div>\n </div>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13GroupDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n [label]=\"'platformTable.P13GroupDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-grouping-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-grouping-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-grouping-dialog .group-row__checkbox,.fdp-table-p13-grouping-dialog .group-row__actions,.fdp-table-p13-grouping-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-grouping-dialog .group-row__select{flex:1 1 0}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "glyphFont", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
119
119
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: P13GroupingDialogComponent, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13GroupingDialogComponent }], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
123
123
|
DialogComponent,
|
|
@@ -139,6 +139,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
139
139
|
DialogFooterComponent,
|
|
140
140
|
ButtonBarComponent,
|
|
141
141
|
FdTranslatePipe
|
|
142
|
-
], template: "<fd-dialog class=\"fdp-table-p13-grouping-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13GroupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n @for (rule of rules; track rule) {\n <div class=\"group-row\">\n <fd-select\n class=\"group-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13GroupDialogNoneSelectedColumnSelectPlaceholder' | fdTranslate\"\n >\n @for (column of columns; track column) {\n <li fd-option [value]=\"column.key\">\n {{ column.label }}\n </li>\n }\n </fd-select>\n\n <fd-checkbox\n class=\"group-row__checkbox\"\n [ngModel]=\"rule.showAsColumn\"\n (ngModelChange)=\"_onRuleShowAsColumnChange(rule, $event)\"\n [label]=\"'platformTable.P13GroupDialogShowFieldAsColumnCheckboxLabel' | fdTranslate\"\n ></fd-checkbox>\n\n <div class=\"group-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n (click)=\"_addNew($index)\"\n ></button>\n </div>\n </div>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13GroupDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n
|
|
142
|
+
], template: "<fd-dialog class=\"fdp-table-p13-grouping-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13GroupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n @for (rule of rules; track rule) {\n <div class=\"group-row\">\n <fd-select\n class=\"group-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13GroupDialogNoneSelectedColumnSelectPlaceholder' | fdTranslate\"\n >\n @for (column of columns; track column) {\n <li fd-option [value]=\"column.key\">\n {{ column.label }}\n </li>\n }\n </fd-select>\n\n <fd-checkbox\n class=\"group-row__checkbox\"\n [ngModel]=\"rule.showAsColumn\"\n (ngModelChange)=\"_onRuleShowAsColumnChange(rule, $event)\"\n [label]=\"'platformTable.P13GroupDialogShowFieldAsColumnCheckboxLabel' | fdTranslate\"\n ></fd-checkbox>\n\n <div class=\"group-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n (click)=\"_addNew($index)\"\n ></button>\n </div>\n </div>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13GroupDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n [label]=\"'platformTable.P13GroupDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-grouping-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-grouping-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-grouping-dialog .group-row__checkbox,.fdp-table-p13-grouping-dialog .group-row__actions,.fdp-table-p13-grouping-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-grouping-dialog .group-row__select{flex:1 1 0}\n"] }]
|
|
143
143
|
}], ctorParameters: () => [{ type: i1.DialogRef }] });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS9jb21wb25lbnRzL3RhYmxlLXAxMy1kaWFsb2cvZ3JvdXBpbmcvZ3JvdXBpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS9jb21wb25lbnRzL3RhYmxlLXAxMy1kaWFsb2cvZ3JvdXBpbmcvZ3JvdXBpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUVILGFBQWEsRUFFYix3QkFBd0IsRUFDM0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ3JCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDeEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxp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QixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZUFBZTtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENvbGxlY3Rpb25Hcm91cCxcbiAgICBTb3J0RGlyZWN0aW9uLFxuICAgIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSxcbiAgICBnZXRVbmlxdWVMaXN0VmFsdWVzQnlLZXlcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcblxuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5cbmltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIEJhckVsZW1lbnREaXJlY3RpdmUsXG4gICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICBCYXJSaWdodERpcmVjdGl2ZSxcbiAgICBCdXR0b25CYXJDb21wb25lbnRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Jhcic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NoZWNrYm94JztcbmltcG9ydCB7XG4gICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IFNjcm9sbGJhckRpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zY3JvbGxiYXInO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50LCBTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2VsZWN0JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RpdGxlJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBSRVNFVFRBQkxFX1RPS0VOLCBSZXNldEJ1dHRvbkNvbXBvbmVudCwgUmVzZXR0YWJsZSB9IGZyb20gJy4uLy4uL3Jlc2V0LWJ1dHRvbi9yZXNldC1idXR0b24uY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBHcm91cERpYWxvZ0NvbHVtbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cERpYWxvZ0RhdGEgZXh0ZW5kcyBUYWJsZURpYWxvZ0NvbW1vbkRhdGEge1xuICAgIGNvbGxlY3Rpb25Hcm91cDogQ29sbGVjdGlvbkdyb3VwW107XG4gICAgY29sdW1uczogR3JvdXBEaWFsb2dDb2x1bW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cERpYWxvZ1Jlc3VsdERhdGEge1xuICAgIGNvbGxlY3Rpb25Hcm91cDogQ29sbGVjdGlvbkdyb3VwW107XG59XG5cbmNvbnN0IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUUgPSBudWxsO1xuXG5jbGFzcyBHcm91cFJ1bGUge1xuICAgIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5LZXkgIT09IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIC8qKiBDb2x1bW4ga2V5IHRoZSBydWxlIGJlbG9uZ3MgdG8gKi9cbiAgICAgICAgcHVibGljIGNvbHVtbktleTogc3RyaW5nIHwgbnVsbCA9IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUUsXG4gICAgICAgIC8qKiBTaG93IEZpZWxkIGFzIENvbHVtbiAqL1xuICAgICAgICBwdWJsaWMgc2hvd0FzQ29sdW1uID0gdHJ1ZVxuICAgICkge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2dyb3VwaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZ3JvdXBpbmcuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSRVNFVFRBQkxFX1RPS0VOLCB1c2VFeGlzdGluZzogUDEzR3JvdXBpbmdEaWFsb2dDb21wb25lbnQgfV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICAgICAgQmFyRWxlbWVudERpcmVjdGl2ZSxcbiAgICAgICAgVGl0bGVDb21wb25lbnQsXG4gICAgICAgIEJhclJpZ2h0RGlyZWN0aXZlLFxuICAgICAgICBSZXNldEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQ2RrU2Nyb2xsYWJsZSxcbiAgICAgICAgU2Nyb2xsYmFyRGlyZWN0aXZlLFxuICAgICAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgICAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQmFyQ29tcG9uZW50LFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFAxM0dyb3VwaW5nRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgUmVzZXR0YWJsZSB7XG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgYXZhaWxhYmxlIGZvciBncm91cGluZyAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IEdyb3VwRGlhbG9nQ29sdW1uW10gPSBbXTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZW4gcmVzZXQgY29tbWFuZCBpcyBhdmFpbGFibGUgKi9cbiAgICByZWFkb25seSBpc1Jlc2V0QXZhaWxhYmxlJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogR3JvdXAgcnVsZXMgdG8gcmVuZGVyICovXG4gICAgcnVsZXM6IEdyb3VwUnVsZVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxHcm91cERpYWxvZ0RhdGE+KSB7XG4gICAgICAgIGNvbnN0IHsgY29sdW1ucywgY29sbGVjdGlvbkdyb3VwIH0gPSB0aGlzLmRpYWxvZ1JlZi5kYXRhO1xuXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnMgfHwgW107XG5cbiAgICAgICAgdGhpcy5faW5pdGlhdGVSdWxlcyhjb2xsZWN0aW9uR3JvdXApO1xuICAgIH1cblxuICAgIC8qKiBSZXNldCBjaGFuZ2VzIHRvIHRoZSBpbml0aWFsIHN0YXRlICovXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luaXRpYXRlUnVsZXMoKTtcbiAgICAgICAgdGhpcy5pc1Jlc2V0QXZhaWxhYmxlJC5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZSBkaWFsb2cgKi9cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBDb25maXJtIGNoYW5nZXMgYW5kIGNsb3NlIGRpYWxvZyAqL1xuICAgIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb25Hcm91cCA9IHRoaXMuX2dldENvbGxlY3Rpb25Hcm91cEZyb21Hcm91cFJ1bGVzKHRoaXMuX2dldFVuaXF1ZVJ1bGVzKHRoaXMucnVsZXMpKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBHcm91cERpYWxvZ1Jlc3VsdERhdGEgPSB7IGNvbGxlY3Rpb25Hcm91cCB9O1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhhc09ubHlPbmVFbXB0eVJ1bGUgPSB0aGlzLnJ1bGVzLmxlbmd0aCA9PT0gMSAmJiAhdGhpcy5ydWxlc1swXS5pc1ZhbGlkO1xuICAgICAgICB0aGlzLmlzUmVzZXRBdmFpbGFibGUkLnNldCghaGFzT25seU9uZUVtcHR5UnVsZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVtb3ZlUnVsZShydWxlOiBHcm91cFJ1bGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ydWxlcyA9IHRoaXMucnVsZXMuZmlsdGVyKChfcnVsZSkgPT4gX3J1bGUgIT09IHJ1bGUpO1xuXG4gICAgICAgIC8vIEtlZXAgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGxpc3RcbiAgICAgICAgaWYgKHRoaXMucnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bGVzLnB1c2gobmV3IEdyb3VwUnVsZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hZGROZXcoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bGVzLnNwbGljZShpbmRleCArIDEsIDAsIG5ldyBHcm91cFJ1bGUoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25SdWxlQ29sdW1uS2V5Q2hhbmdlKHJ1bGU6IEdyb3VwUnVsZSwgY29sdW1uS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgcnVsZS5jb2x1bW5LZXkgPSBjb2x1bW5LZXk7XG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblJ1bGVTaG93QXNDb2x1bW5DaGFuZ2UocnVsZTogR3JvdXBSdWxlLCB2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBydWxlLnNob3dBc0NvbHVtbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbml0aWF0ZVJ1bGVzKGNvbGxlY3Rpb25Hcm91cD86IENvbGxlY3Rpb25Hcm91cFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVsZXMgPSB0aGlzLl9jcmVhdGVHcm91cFJ1bGVzKGNvbGxlY3Rpb25Hcm91cCk7XG5cbiAgICAgICAgLy8gS2VlcCBhdCBsZWFzdCBvbmUgaXRlbSBpbiB0aGUgbGlzdFxuICAgICAgICBpZiAodGhpcy5ydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMucnVsZXMucHVzaChuZXcgR3JvdXBSdWxlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlR3JvdXBSdWxlcyhjb2xsZWN0aW9uR3JvdXA6IENvbGxlY3Rpb25Hcm91cFtdID0gW10pOiBHcm91cFJ1bGVbXSB7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uR3JvdXAubWFwKCh7IGZpZWxkLCBzaG93QXNDb2x1bW4gfSk6IEdyb3VwUnVsZSA9PiBuZXcgR3JvdXBSdWxlKGZpZWxkLCBzaG93QXNDb2x1bW4pKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENvbGxlY3Rpb25Hcm91cEZyb21Hcm91cFJ1bGVzKHJ1bGVzID0gdGhpcy5ydWxlcyk6IENvbGxlY3Rpb25Hcm91cFtdIHtcbiAgICAgICAgcmV0dXJuIHJ1bGVzLmZpbHRlcih0aGlzLl9pc1J1bGVWYWxpZCkubWFwKFxuICAgICAgICAgICAgKHsgY29sdW1uS2V5LCBzaG93QXNDb2x1bW4gfSk6IENvbGxlY3Rpb25Hcm91cCA9PiAoe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW5LZXkhLFxuICAgICAgICAgICAgICAgIHNob3dBc0NvbHVtbixcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24uTk9ORVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFVuaXF1ZVJ1bGVzKHJ1bGVzOiBHcm91cFJ1bGVbXSk6IEdyb3VwUnVsZVtdIHtcbiAgICAgICAgcmV0dXJuIGdldFVuaXF1ZUxpc3RWYWx1ZXNCeUtleShydWxlcywgJ2NvbHVtbktleScpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNSdWxlVmFsaWQgPSAocnVsZTogR3JvdXBSdWxlKTogYm9vbGVhbiA9PiBydWxlPy5pc1ZhbGlkO1xufVxuIiwiPGZkLWRpYWxvZyBjbGFzcz1cImZkcC10YWJsZS1wMTMtZ3JvdXBpbmctZGlhbG9nXCI+XG4gICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBmZC10aXRsZSBbaGVhZGVyU2l6ZV09XCI0XCI+e3sgJ3BsYXRmb3JtVGFibGUuUDEzR3JvdXBEaWFsb2dIZWFkZXInIHwgZmRUcmFuc2xhdGUgfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGZkcC10YWJsZS1yZXNldC1idXR0b24+PC9mZHAtdGFibGUtcmVzZXQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgIEBmb3IgKHJ1bGUgb2YgcnVsZXM7IHRyYWNrIHJ1bGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1yb3dcIj5cbiAgICAgICAgICAgICAgICA8ZmQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAtcm93X19zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicnVsZS5jb2x1bW5LZXlcIlxuICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiX29uUnVsZUNvbHVtbktleUNoYW5nZShydWxlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nTm9uZVNlbGVjdGVkQ29sdW1uU2VsZWN0UGxhY2Vob2xkZXInIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrIGNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLW9wdGlvbiBbdmFsdWVdPVwiY29sdW1uLmtleVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZmQtc2VsZWN0PlxuXG4gICAgICAgICAgICAgICAgPGZkLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAtcm93X19jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJ1bGUuc2hvd0FzQ29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX29uUnVsZVNob3dBc0NvbHVtbkNoYW5nZShydWxlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nU2hvd0ZpZWxkQXNDb2x1bW5DaGVja2JveExhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1jaGVja2JveD5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1yb3dfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cInN5cy1jYW5jZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ1JlbW92ZUdyb3VwQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nUmVtb3ZlR3JvdXBCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3JlbW92ZVJ1bGUocnVsZSlcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImFkZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQWRkTmV3R3JvdXBCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUuUDEzR3JvdXBEaWFsb2dBZGROZXdHcm91cEJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfYWRkTmV3KCRpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZmQtZGlhbG9nLWJvZHk+XG5cbiAgICA8ZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQ29uZmlybWF0aW9uQnRuTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm0oKVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGZka0luaXRpYWxGb2N1c1xuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQ2FuY2VsQnRuTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cbiJdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS9jb21wb25lbnRzL3RhYmxlLXAxMy1kaWFsb2cvZ3JvdXBpbmcvZ3JvdXBpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS9jb21wb25lbnRzL3RhYmxlLXAxMy1kaWFsb2cvZ3JvdXBpbmcvZ3JvdXBpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUVILGFBQWEsRUFFYix3QkFBd0IsRUFDM0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ3JCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDeEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxp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QixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZUFBZTtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENvbGxlY3Rpb25Hcm91cCxcbiAgICBTb3J0RGlyZWN0aW9uLFxuICAgIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSxcbiAgICBnZXRVbmlxdWVMaXN0VmFsdWVzQnlLZXlcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcblxuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5cbmltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIEJhckVsZW1lbnREaXJlY3RpdmUsXG4gICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICBCYXJSaWdodERpcmVjdGl2ZSxcbiAgICBCdXR0b25CYXJDb21wb25lbnRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Jhcic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NoZWNrYm94JztcbmltcG9ydCB7XG4gICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IFNjcm9sbGJhckRpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zY3JvbGxiYXInO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50LCBTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2VsZWN0JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RpdGxlJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBSRVNFVFRBQkxFX1RPS0VOLCBSZXNldEJ1dHRvbkNvbXBvbmVudCwgUmVzZXR0YWJsZSB9IGZyb20gJy4uLy4uL3Jlc2V0LWJ1dHRvbi9yZXNldC1idXR0b24uY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBHcm91cERpYWxvZ0NvbHVtbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cERpYWxvZ0RhdGEgZXh0ZW5kcyBUYWJsZURpYWxvZ0NvbW1vbkRhdGEge1xuICAgIGNvbGxlY3Rpb25Hcm91cDogQ29sbGVjdGlvbkdyb3VwW107XG4gICAgY29sdW1uczogR3JvdXBEaWFsb2dDb2x1bW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cERpYWxvZ1Jlc3VsdERhdGEge1xuICAgIGNvbGxlY3Rpb25Hcm91cDogQ29sbGVjdGlvbkdyb3VwW107XG59XG5cbmNvbnN0IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUUgPSBudWxsO1xuXG5jbGFzcyBHcm91cFJ1bGUge1xuICAgIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5LZXkgIT09IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIC8qKiBDb2x1bW4ga2V5IHRoZSBydWxlIGJlbG9uZ3MgdG8gKi9cbiAgICAgICAgcHVibGljIGNvbHVtbktleTogc3RyaW5nIHwgbnVsbCA9IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUUsXG4gICAgICAgIC8qKiBTaG93IEZpZWxkIGFzIENvbHVtbiAqL1xuICAgICAgICBwdWJsaWMgc2hvd0FzQ29sdW1uID0gdHJ1ZVxuICAgICkge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2dyb3VwaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZ3JvdXBpbmcuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSRVNFVFRBQkxFX1RPS0VOLCB1c2VFeGlzdGluZzogUDEzR3JvdXBpbmdEaWFsb2dDb21wb25lbnQgfV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICAgICAgQmFyRWxlbWVudERpcmVjdGl2ZSxcbiAgICAgICAgVGl0bGVDb21wb25lbnQsXG4gICAgICAgIEJhclJpZ2h0RGlyZWN0aXZlLFxuICAgICAgICBSZXNldEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQ2RrU2Nyb2xsYWJsZSxcbiAgICAgICAgU2Nyb2xsYmFyRGlyZWN0aXZlLFxuICAgICAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgICAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQmFyQ29tcG9uZW50LFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFAxM0dyb3VwaW5nRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgUmVzZXR0YWJsZSB7XG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgYXZhaWxhYmxlIGZvciBncm91cGluZyAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IEdyb3VwRGlhbG9nQ29sdW1uW10gPSBbXTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZW4gcmVzZXQgY29tbWFuZCBpcyBhdmFpbGFibGUgKi9cbiAgICByZWFkb25seSBpc1Jlc2V0QXZhaWxhYmxlJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogR3JvdXAgcnVsZXMgdG8gcmVuZGVyICovXG4gICAgcnVsZXM6IEdyb3VwUnVsZVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxHcm91cERpYWxvZ0RhdGE+KSB7XG4gICAgICAgIGNvbnN0IHsgY29sdW1ucywgY29sbGVjdGlvbkdyb3VwIH0gPSB0aGlzLmRpYWxvZ1JlZi5kYXRhO1xuXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnMgfHwgW107XG5cbiAgICAgICAgdGhpcy5faW5pdGlhdGVSdWxlcyhjb2xsZWN0aW9uR3JvdXApO1xuICAgIH1cblxuICAgIC8qKiBSZXNldCBjaGFuZ2VzIHRvIHRoZSBpbml0aWFsIHN0YXRlICovXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luaXRpYXRlUnVsZXMoKTtcbiAgICAgICAgdGhpcy5pc1Jlc2V0QXZhaWxhYmxlJC5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZSBkaWFsb2cgKi9cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBDb25maXJtIGNoYW5nZXMgYW5kIGNsb3NlIGRpYWxvZyAqL1xuICAgIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb25Hcm91cCA9IHRoaXMuX2dldENvbGxlY3Rpb25Hcm91cEZyb21Hcm91cFJ1bGVzKHRoaXMuX2dldFVuaXF1ZVJ1bGVzKHRoaXMucnVsZXMpKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBHcm91cERpYWxvZ1Jlc3VsdERhdGEgPSB7IGNvbGxlY3Rpb25Hcm91cCB9O1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhhc09ubHlPbmVFbXB0eVJ1bGUgPSB0aGlzLnJ1bGVzLmxlbmd0aCA9PT0gMSAmJiAhdGhpcy5ydWxlc1swXS5pc1ZhbGlkO1xuICAgICAgICB0aGlzLmlzUmVzZXRBdmFpbGFibGUkLnNldCghaGFzT25seU9uZUVtcHR5UnVsZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVtb3ZlUnVsZShydWxlOiBHcm91cFJ1bGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ydWxlcyA9IHRoaXMucnVsZXMuZmlsdGVyKChfcnVsZSkgPT4gX3J1bGUgIT09IHJ1bGUpO1xuXG4gICAgICAgIC8vIEtlZXAgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGxpc3RcbiAgICAgICAgaWYgKHRoaXMucnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bGVzLnB1c2gobmV3IEdyb3VwUnVsZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hZGROZXcoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bGVzLnNwbGljZShpbmRleCArIDEsIDAsIG5ldyBHcm91cFJ1bGUoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25SdWxlQ29sdW1uS2V5Q2hhbmdlKHJ1bGU6IEdyb3VwUnVsZSwgY29sdW1uS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgcnVsZS5jb2x1bW5LZXkgPSBjb2x1bW5LZXk7XG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblJ1bGVTaG93QXNDb2x1bW5DaGFuZ2UocnVsZTogR3JvdXBSdWxlLCB2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBydWxlLnNob3dBc0NvbHVtbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbml0aWF0ZVJ1bGVzKGNvbGxlY3Rpb25Hcm91cD86IENvbGxlY3Rpb25Hcm91cFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVsZXMgPSB0aGlzLl9jcmVhdGVHcm91cFJ1bGVzKGNvbGxlY3Rpb25Hcm91cCk7XG5cbiAgICAgICAgLy8gS2VlcCBhdCBsZWFzdCBvbmUgaXRlbSBpbiB0aGUgbGlzdFxuICAgICAgICBpZiAodGhpcy5ydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMucnVsZXMucHVzaChuZXcgR3JvdXBSdWxlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlR3JvdXBSdWxlcyhjb2xsZWN0aW9uR3JvdXA6IENvbGxlY3Rpb25Hcm91cFtdID0gW10pOiBHcm91cFJ1bGVbXSB7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uR3JvdXAubWFwKCh7IGZpZWxkLCBzaG93QXNDb2x1bW4gfSk6IEdyb3VwUnVsZSA9PiBuZXcgR3JvdXBSdWxlKGZpZWxkLCBzaG93QXNDb2x1bW4pKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENvbGxlY3Rpb25Hcm91cEZyb21Hcm91cFJ1bGVzKHJ1bGVzID0gdGhpcy5ydWxlcyk6IENvbGxlY3Rpb25Hcm91cFtdIHtcbiAgICAgICAgcmV0dXJuIHJ1bGVzLmZpbHRlcih0aGlzLl9pc1J1bGVWYWxpZCkubWFwKFxuICAgICAgICAgICAgKHsgY29sdW1uS2V5LCBzaG93QXNDb2x1bW4gfSk6IENvbGxlY3Rpb25Hcm91cCA9PiAoe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW5LZXkhLFxuICAgICAgICAgICAgICAgIHNob3dBc0NvbHVtbixcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24uTk9ORVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFVuaXF1ZVJ1bGVzKHJ1bGVzOiBHcm91cFJ1bGVbXSk6IEdyb3VwUnVsZVtdIHtcbiAgICAgICAgcmV0dXJuIGdldFVuaXF1ZUxpc3RWYWx1ZXNCeUtleShydWxlcywgJ2NvbHVtbktleScpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNSdWxlVmFsaWQgPSAocnVsZTogR3JvdXBSdWxlKTogYm9vbGVhbiA9PiBydWxlPy5pc1ZhbGlkO1xufVxuIiwiPGZkLWRpYWxvZyBjbGFzcz1cImZkcC10YWJsZS1wMTMtZ3JvdXBpbmctZGlhbG9nXCI+XG4gICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBmZC10aXRsZSBbaGVhZGVyU2l6ZV09XCI0XCI+e3sgJ3BsYXRmb3JtVGFibGUuUDEzR3JvdXBEaWFsb2dIZWFkZXInIHwgZmRUcmFuc2xhdGUgfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGZkcC10YWJsZS1yZXNldC1idXR0b24+PC9mZHAtdGFibGUtcmVzZXQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgIEBmb3IgKHJ1bGUgb2YgcnVsZXM7IHRyYWNrIHJ1bGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1yb3dcIj5cbiAgICAgICAgICAgICAgICA8ZmQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAtcm93X19zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicnVsZS5jb2x1bW5LZXlcIlxuICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiX29uUnVsZUNvbHVtbktleUNoYW5nZShydWxlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nTm9uZVNlbGVjdGVkQ29sdW1uU2VsZWN0UGxhY2Vob2xkZXInIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrIGNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLW9wdGlvbiBbdmFsdWVdPVwiY29sdW1uLmtleVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZmQtc2VsZWN0PlxuXG4gICAgICAgICAgICAgICAgPGZkLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAtcm93X19jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJ1bGUuc2hvd0FzQ29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX29uUnVsZVNob3dBc0NvbHVtbkNoYW5nZShydWxlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nU2hvd0ZpZWxkQXNDb2x1bW5DaGVja2JveExhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1jaGVja2JveD5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1yb3dfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cInN5cy1jYW5jZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ1JlbW92ZUdyb3VwQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nUmVtb3ZlR3JvdXBCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3JlbW92ZVJ1bGUocnVsZSlcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImFkZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQWRkTmV3R3JvdXBCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUuUDEzR3JvdXBEaWFsb2dBZGROZXdHcm91cEJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfYWRkTmV3KCRpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZmQtZGlhbG9nLWJvZHk+XG5cbiAgICA8ZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQ29uZmlybWF0aW9uQnRuTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm0oKVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ0NhbmNlbEJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuPC9mZC1kaWFsb2c+XG4iXX0=
|