@fundamental-ngx/platform 0.48.0-rc.8 → 0.48.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-node/approval-flow-node.component.d.ts +0 -2
- package/button/button.component.d.ts +7 -8
- package/dynamic-page/dynamic-page.component.d.ts +24 -15
- package/dynamic-page/dynamic-page.tokens.d.ts +3 -0
- package/dynamic-page/index.d.ts +2 -1
- package/dynamic-page/platform-dynamic-page.interface.d.ts +22 -0
- 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 +5 -7
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +3 -3
- 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 +5 -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 +14 -15
- 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 +48 -35
- package/esm2022/dynamic-page/dynamic-page.config.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
- package/esm2022/dynamic-page/dynamic-page.tokens.mjs +3 -0
- package/esm2022/dynamic-page/index.mjs +3 -2
- package/esm2022/dynamic-page/platform-dynamic-page.interface.mjs +2 -0
- package/esm2022/feed-input/feed-input.component.mjs +6 -6
- 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 +11 -43
- package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +21 -63
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
- package/esm2022/form/combobox/combobox/combobox.component.mjs +33 -63
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +15 -22
- package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
- package/esm2022/form/combobox/combobox.config.mjs +3 -3
- package/esm2022/form/combobox/combobox.module.mjs +4 -4
- package/esm2022/form/combobox/commons/base-combobox.mjs +24 -58
- package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
- package/esm2022/form/date-picker/date-picker.component.mjs +21 -57
- package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/form/datetime-picker/datetime-picker.component.mjs +22 -60
- 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 +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +5 -9
- 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/fdp-form-generator.module.mjs +4 -4
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +27 -13
- 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 +11 -16
- package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
- 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 +40 -47
- 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 +40 -50
- 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 +16 -48
- package/esm2022/form/input-group/addon-body.component.mjs +4 -5
- package/esm2022/form/input-group/addon.component.mjs +3 -3
- package/esm2022/form/input-group/input-group.component.mjs +13 -46
- 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 +3 -3
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +64 -102
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +25 -71
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +18 -26
- 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.interface.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
- package/esm2022/form/multi-input/base-multi-input.mjs +43 -83
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +13 -21
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
- package/esm2022/form/multi-input/multi-input.component.mjs +32 -91
- 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 +12 -44
- package/esm2022/form/radio-group/radio-group.component.mjs +32 -74
- package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
- package/esm2022/form/select/commons/base-select.mjs +59 -101
- package/esm2022/form/select/select/select.component.mjs +17 -60
- 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 +72 -85
- package/esm2022/form/step-input/number/number-step-input.component.mjs +14 -53
- package/esm2022/form/step-input/step-input-action-button.mjs +9 -13
- package/esm2022/form/step-input/step-input-control.directive.mjs +3 -3
- package/esm2022/form/step-input/step-input-decrement.directive.mjs +9 -13
- package/esm2022/form/step-input/step-input-increment.directive.mjs +9 -13
- 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 +12 -49
- 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 +14 -45
- 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 +11 -42
- package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/fundamental-ngx.module.mjs +4 -4
- package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +6 -6
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +85 -90
- package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +21 -9
- package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +26 -9
- package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +40 -26
- package/esm2022/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.mjs +76 -0
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +28 -16
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +14 -5
- 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 +5 -5
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +12 -21
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +10 -12
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +10 -11
- package/esm2022/icon-tab-bar/directives/icon-tab-bar-free-content.directive.mjs +14 -0
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +208 -27
- package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +19 -9
- package/esm2022/icon-tab-bar/index.mjs +3 -1
- package/esm2022/icon-tab-bar/interfaces/tab-config.interface.mjs +1 -1
- package/esm2022/info-label/info-label.component.mjs +6 -4
- package/esm2022/info-label/info-label.module.mjs +4 -4
- package/esm2022/link/link.component.mjs +15 -23
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/list/action-list-item/action-list-item.component.mjs +5 -5
- package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
- package/esm2022/list/base-list-item.mjs +20 -22
- package/esm2022/list/display-list-item/display-list-item.component.mjs +5 -5
- 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 +5 -5
- package/esm2022/list/list-group-footer.component.mjs +5 -5
- package/esm2022/list/list-group-header.component.mjs +7 -7
- package/esm2022/list/list.component.mjs +25 -66
- 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 +5 -5
- 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 +5 -6
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu-button/menu-button.component.mjs +14 -9
- 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 +11 -14
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +4 -4
- package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +3 -3
- package/esm2022/message-popover/message-popover.component.mjs +53 -54
- package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
- package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
- package/esm2022/object-marker/object-marker.component.mjs +10 -5
- package/esm2022/object-marker/object-marker.module.mjs +4 -4
- package/esm2022/object-status/object-status.component.mjs +13 -8
- package/esm2022/object-status/object-status.module.mjs +4 -4
- package/esm2022/page-footer/page-footer.component.mjs +8 -10
- 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 +8 -9
- 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 +12 -22
- package/esm2022/search-field/search-field.component.mjs +36 -42
- 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/default-config.mjs +2 -2
- 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/models/settings.model.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +34 -28
- package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +4 -5
- package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
- package/esm2022/settings-generator/settings-generator.component.mjs +6 -6
- package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
- package/esm2022/settings-generator/settings-generator.service.mjs +12 -13
- package/esm2022/shared/base.mjs +30 -18
- package/esm2022/shared/form/base.input.mjs +70 -69
- package/esm2022/shared/form/collection-base.input.mjs +7 -49
- package/esm2022/shared/form/inline-layout-collection-base.input.mjs +25 -66
- 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 +11 -43
- 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 +11 -14
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +8 -16
- package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -6
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +13 -18
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +22 -47
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +12 -10
- 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 +73 -57
- 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 +17 -24
- package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
- package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
- package/esm2022/table/components/reset-button/reset-button.component.mjs +8 -9
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +10 -9
- package/esm2022/table/components/table-column/table-column.component.mjs +3 -3
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +11 -14
- package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +4 -4
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +6 -10
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +31 -15
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +19 -24
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +9 -11
- package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +4 -4
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +8 -11
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +8 -11
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +11 -14
- 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 +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
- 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 +7 -8
- package/esm2022/table/components/table-row/table-row.component.mjs +12 -17
- 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 +38 -23
- 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 +8 -11
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +9 -12
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +9 -12
- 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/table.component.mjs +138 -62
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +20 -23
- package/esm2022/table-helpers/directives/table-cell-selectable.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 +10 -9
- 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 +5 -5
- 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 +22 -20
- package/esm2022/table-helpers/services/table-responsive.service.mjs +9 -14
- 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 +23 -21
- package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
- 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 +4 -4
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +28 -8
- package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +9 -5
- 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 +24 -0
- package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +22 -0
- package/esm2022/value-help-dialog/index.mjs +3 -1
- package/esm2022/value-help-dialog/models/vhd-component.model.mjs +3 -0
- 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 +59 -32
- 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 +6 -6
- 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 +47 -13
- package/esm2022/variant-management/variant-management.module.mjs +4 -4
- package/esm2022/wizard-generator/base-wizard-generator.mjs +21 -28
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +19 -19
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +12 -18
- package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +7 -12
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +11 -10
- 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 +42 -44
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-button.mjs +16 -17
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +88 -130
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +853 -1636
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +532 -220
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-info-label.mjs +9 -7
- package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-link.mjs +18 -26
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +104 -143
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs +16 -11
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +16 -16
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +71 -74
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs +13 -8
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-status.mjs +16 -11
- package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs +10 -12
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -20
- package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +49 -77
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +75 -72
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +162 -218
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs +12 -44
- package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +144 -162
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +20 -27
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +143 -148
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +366 -291
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +144 -53
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +63 -30
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +82 -98
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform.mjs +4 -4
- package/form/checkbox/checkbox.component.d.ts +4 -6
- package/form/checkbox-group/checkbox-group.component.d.ts +3 -8
- package/form/combobox/combobox/combobox.component.d.ts +4 -12
- package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +5 -8
- package/form/combobox/commons/base-combobox.d.ts +4 -9
- package/form/date-picker/date-picker.component.d.ts +8 -11
- package/form/datetime-picker/datetime-picker.component.d.ts +9 -11
- package/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.d.ts +0 -2
- package/form/form-generator/form-generator/form-generator.component.d.ts +3 -1
- package/form/form-generator/form-generator.service.d.ts +3 -7
- package/form/form-generator/interfaces/dynamic-form-item.d.ts +5 -5
- package/form/form-group/form-field/form-field.component.d.ts +16 -20
- package/form/form-group/form-group.component.d.ts +36 -35
- package/form/input/input.component.d.ts +3 -6
- package/form/input-group/addon-body.component.d.ts +0 -1
- package/form/input-group/input-group.component.d.ts +4 -5
- package/form/multi-combobox/commons/base-multi-combobox.d.ts +13 -16
- package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +4 -12
- package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +6 -9
- package/form/multi-combobox/multi-combobox.interface.d.ts +3 -3
- package/form/multi-input/base-multi-input.d.ts +10 -15
- package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +5 -8
- package/form/multi-input/multi-input.component.d.ts +7 -37
- package/form/radio-group/radio/radio.component.d.ts +4 -5
- package/form/radio-group/radio-group.component.d.ts +7 -11
- package/form/select/commons/base-select.d.ts +11 -18
- package/form/select/select/select.component.d.ts +2 -15
- package/form/step-input/base.step-input.d.ts +13 -14
- package/form/step-input/number/number-step-input.component.d.ts +2 -7
- package/form/step-input/step-input-action-button.d.ts +4 -7
- package/form/step-input/step-input-decrement.directive.d.ts +2 -5
- package/form/step-input/step-input-increment.directive.d.ts +2 -5
- package/form/switch/switch/switch.component.d.ts +5 -8
- package/form/text-area/text-area.component.d.ts +4 -5
- package/form/time-picker/time-picker.component.d.ts +4 -5
- package/fundamental-ngx-platform-v0.48.0.tgz +0 -0
- package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +19 -20
- package/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.d.ts +2 -0
- package/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.d.ts +45 -0
- package/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.d.ts +1 -3
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.d.ts +5 -8
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.d.ts +1 -1
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.d.ts +1 -1
- package/icon-tab-bar/directives/icon-tab-bar-free-content.directive.d.ts +5 -0
- package/icon-tab-bar/icon-tab-bar.component.d.ts +82 -8
- package/icon-tab-bar/icon-tab-bar.module.d.ts +7 -1
- package/icon-tab-bar/index.d.ts +2 -0
- package/icon-tab-bar/interfaces/tab-config.interface.d.ts +13 -5
- package/info-label/info-label.component.d.ts +2 -2
- package/link/link.component.d.ts +4 -7
- package/list/base-list-item.d.ts +4 -6
- package/list/list.component.d.ts +6 -15
- package/menu-button/menu-button.component.d.ts +7 -4
- package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +2 -4
- package/message-popover/message-popover.component.d.ts +13 -20
- package/message-popover/models/message-popover-wrapper.interface.d.ts +2 -2
- package/object-marker/object-marker.component.d.ts +4 -1
- package/object-status/object-status.component.d.ts +4 -1
- package/package.json +4 -4
- package/page-footer/page-footer.component.d.ts +2 -4
- package/panel/panel.component.d.ts +2 -3
- package/search-field/search-field-mobile/search-field/search-field-mobile.component.d.ts +7 -10
- package/search-field/search-field.component.d.ts +10 -19
- package/settings-generator/models/settings.model.d.ts +7 -6
- package/settings-generator/settings-generator-content/settings-generator-content.component.d.ts +31 -12
- package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +0 -2
- package/settings-generator/settings-generator.component.d.ts +3 -3
- package/settings-generator/settings-generator.service.d.ts +1 -1
- package/shared/base.d.ts +11 -4
- package/shared/form/base.input.d.ts +24 -16
- package/shared/form/collection-base.input.d.ts +1 -9
- package/shared/form/inline-layout-collection-base.input.d.ts +5 -12
- package/slider/slider.component.d.ts +3 -6
- package/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.d.ts +3 -5
- package/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.d.ts +0 -5
- package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +4 -8
- package/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.d.ts +8 -17
- package/smart-filter-bar/directives/smart-filter-bar-subject.directive.d.ts +2 -0
- package/smart-filter-bar/smart-filter-bar.component.d.ts +28 -22
- package/split-menu-button/split-menu-button.component.d.ts +11 -14
- package/table/components/reset-button/reset-button.component.d.ts +2 -3
- package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +4 -3
- package/table/components/table-column-resizer/table-column-resizer.component.d.ts +4 -5
- package/table/components/table-group-row/table-group-row.component.d.ts +2 -5
- package/table/components/table-header-cell-content/table-header-cell-content.component.d.ts +11 -6
- package/table/components/table-header-row/table-header-row.component.d.ts +1 -3
- package/table/components/table-p13-dialog/columns/columns.component.d.ts +2 -4
- package/table/components/table-p13-dialog/filtering/filtering.component.d.ts +1 -4
- package/table/components/table-p13-dialog/grouping/grouping.component.d.ts +1 -4
- package/table/components/table-p13-dialog/sorting/sorting.component.d.ts +1 -4
- package/table/components/table-row/table-row.component.d.ts +2 -2
- package/table/components/table-toolbar/table-toolbar.component.d.ts +24 -8
- package/table/components/table-view-settings-dialog/filtering/filters.component.d.ts +1 -4
- package/table/components/table-view-settings-dialog/grouping/grouping.component.d.ts +1 -4
- package/table/components/table-view-settings-dialog/sorting/sorting.component.d.ts +1 -4
- package/table/table.component.d.ts +29 -19
- package/table-helpers/directives/table-cell-header-popover.directive.d.ts +2 -3
- package/table-helpers/directives/table-cell-resizable.directive.d.ts +1 -3
- package/table-helpers/directives/table-data-source.directive.d.ts +1 -1
- package/table-helpers/services/table-column-resize.service.d.ts +4 -2
- package/table-helpers/services/table-responsive.service.d.ts +3 -5
- package/table-helpers/services/table.service.d.ts +12 -10
- package/table-helpers/table.d.ts +1 -0
- package/value-help-dialog/components/select-tab/select-tab.component.d.ts +9 -2
- package/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.d.ts +5 -1
- package/value-help-dialog/directives/value-help-column-def.directive.d.ts +17 -0
- package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +15 -0
- package/value-help-dialog/index.d.ts +2 -0
- package/value-help-dialog/models/vhd-component.model.d.ts +5 -0
- package/value-help-dialog/models/vhd-filter.model.d.ts +3 -0
- package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +14 -7
- package/variant-management/variant-management.component.d.ts +19 -6
- package/wizard-generator/base-wizard-generator.d.ts +9 -12
- package/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.d.ts +2 -3
- package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +3 -7
- package/wizard-generator/components/wizard-generator/wizard-generator.component.d.ts +1 -4
- package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
- package/dynamic-page/dynamic-page.service.d.ts +0 -35
- package/esm2022/dynamic-page/dynamic-page.service.mjs +0 -58
- package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +0 -16
- package/fundamental-ngx-platform-v0.48.0-rc.8.tgz +0 -0
- package/search-field/search-field-mobile/search-field-mobile.module.d.ts +0 -7
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, TemplateRef, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { debounceTime
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, EventEmitter, Input, Output, TemplateRef, ViewEncapsulation, inject } from '@angular/core';
|
|
2
|
+
import { firstValueFrom } from 'rxjs';
|
|
3
|
+
import { debounceTime } from 'rxjs/operators';
|
|
4
4
|
import { WizardModule } from '@fundamental-ngx/core/wizard';
|
|
5
5
|
import { NgTemplateOutlet } from '@angular/common';
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
|
+
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
6
8
|
import { ContentDensityDirective } from '@fundamental-ngx/core/content-density';
|
|
7
|
-
import { ButtonComponent } from '@fundamental-ngx/platform/button';
|
|
8
9
|
import { WizardGeneratorService } from '../../wizard-generator.service';
|
|
9
10
|
import { WizardGeneratorStepComponent } from '../wizard-generator-step/wizard-generator-step.component';
|
|
10
11
|
import { WizardSummaryStepComponent } from '../wizard-summary-step/wizard-summary-step.component';
|
|
@@ -83,7 +84,7 @@ export class WizardBodyComponent {
|
|
|
83
84
|
* @hidden
|
|
84
85
|
* An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)
|
|
85
86
|
*/
|
|
86
|
-
this.
|
|
87
|
+
this._destroyRef = inject(DestroyRef);
|
|
87
88
|
/**
|
|
88
89
|
* @hidden
|
|
89
90
|
*/
|
|
@@ -117,19 +118,12 @@ export class WizardBodyComponent {
|
|
|
117
118
|
ngOnInit() {
|
|
118
119
|
this._wizardGeneratorService
|
|
119
120
|
.getVisibleSteps()
|
|
120
|
-
.pipe(debounceTime(50),
|
|
121
|
+
.pipe(debounceTime(50), takeUntilDestroyed(this._destroyRef))
|
|
121
122
|
.subscribe((visibleSteps) => {
|
|
122
123
|
this._visibleItems = visibleSteps;
|
|
123
124
|
this._cd.detectChanges();
|
|
124
125
|
});
|
|
125
126
|
}
|
|
126
|
-
/**
|
|
127
|
-
* @hidden
|
|
128
|
-
*/
|
|
129
|
-
ngOnDestroy() {
|
|
130
|
-
this._onDestroy$.next();
|
|
131
|
-
this._onDestroy$.complete();
|
|
132
|
-
}
|
|
133
127
|
/**
|
|
134
128
|
* @description Callback function for status change.
|
|
135
129
|
* @param id step ID.
|
|
@@ -155,10 +149,10 @@ export class WizardBodyComponent {
|
|
|
155
149
|
_trackFn(_index, item) {
|
|
156
150
|
return item.id;
|
|
157
151
|
}
|
|
158
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
159
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: WizardBodyComponent, deps: [{ token: i1.WizardGeneratorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: WizardBodyComponent, isStandalone: true, selector: "fdp-wizard-body", inputs: { responsivePaddings: "responsivePaddings", navigationButtonLabels: "navigationButtonLabels", appendToWizard: "appendToWizard", contentHeight: "contentHeight", isFirstStep: "isFirstStep", isLastStep: "isLastStep", isNextStepSummary: "isNextStepSummary", displaySummaryStep: "displaySummaryStep", goNextButtonTemplate: "goNextButtonTemplate", finishButtonTemplate: "finishButtonTemplate", customSummaryStepTemplate: "customSummaryStepTemplate", reviewButtonTemplate: "reviewButtonTemplate", isSummaryStep: "isSummaryStep", navigationButtons: "navigationButtons", unifiedLayout: "unifiedLayout", isBranchingStep: "isBranchingStep", isCurrentStepCompleted: "isCurrentStepCompleted", stepsOrderChanged: "stepsOrderChanged" }, outputs: { statusChange: "statusChange", goNext: "goNext", finish: "finish" }, ngImport: i0, template: "@if (visibleItems) {\n <fd-wizard\n [displaySummaryStep]=\"displaySummaryStep\"\n [responsivePaddings]=\"responsivePaddings\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n >\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar>\n @for (step of visibleItems; track _trackFn(i, step); let i = $index) {\n <li\n fd-wizard-step\n [label]=\"step.name\"\n [status]=\"step.status\"\n [optionalText]=\"step.optionalText\"\n [branching]=\"!!step.branching\"\n [stepClickValidator]=\"stepClickValidatorFn(i)\"\n [isSummary]=\"!!step.summary\"\n (statusChange)=\"stepStatusChanged(step.id, $event)\"\n (stepClicked)=\"stepClicked(step.id)\"\n >\n <fd-wizard-step-indicator [glyph]=\"step.icon || null\">\n @if (!step.icon) {\n {{ i + 1 }}\n }\n </fd-wizard-step-indicator>\n <fd-wizard-content>\n @if (!step.summary) {\n <fdp-wizard-generator-step\n [unifiedLayout]=\"unifiedLayout\"\n [item]=\"step\"\n [stepStatus]=\"step.status\"\n ></fdp-wizard-generator-step>\n } @else {\n <fdp-wizard-summary-step\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [status]=\"step.status\"\n ></fdp-wizard-summary-step>\n }\n @if (navigationButtons) {\n <fd-wizard-next-step [canHide]=\"appendToWizard\">\n @if (!isLastStep) {\n <ng-template #defaultGoNextButtonTemplate>\n <button\n fd-button\n [fdContentDensity]=\"navigationButtonLabels.goNext.contentDensity\"\n [fdType]=\"navigationButtonLabels.goNext.type\"\n [label]=\"navigationButtonLabels.goNext.label\"\n (click)=\"goNext.emit()\"\n ></button>\n </ng-template>\n <ng-template #defaultReviewButtonTemplate>\n <button\n fd-button\n [fdContentDensity]=\"navigationButtonLabels.review.contentDensity\"\n [fdType]=\"navigationButtonLabels.review.type\"\n [label]=\"navigationButtonLabels.review.label\"\n (click)=\"goNext.emit()\"\n ></button>\n </ng-template>\n @if (\n (isBranchingStep && (!isCurrentStepCompleted || stepsOrderChanged)) ||\n !isNextStepSummary\n ) {\n <ng-template\n [ngTemplateOutlet]=\"goNextButtonTemplate || defaultGoNextButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"reviewButtonTemplate || defaultReviewButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n }\n } @else {\n <ng-template #defaultFinishButtonTemplate>\n <button\n fd-button\n [fdContentDensity]=\"navigationButtonLabels.finish.contentDensity\"\n [fdType]=\"navigationButtonLabels.finish.type\"\n [label]=\"navigationButtonLabels.finish.label\"\n (click)=\"finish.emit()\"\n ></button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"finishButtonTemplate || defaultFinishButtonTemplate\"\n [ngTemplateOutletContext]=\"{ finish: _finishFn }\"\n ></ng-template>\n }\n </fd-wizard-next-step>\n }\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n", dependencies: [{ kind: "ngmodule", type: WizardModule }, { kind: "component", type: i2.WizardComponent, selector: "fd-wizard", inputs: ["appendToWizard", "contentHeight", "responsivePaddings", "displaySummaryStep", "ariaLabel"] }, { kind: "component", type: i2.WizardNavigationComponent, selector: "fd-wizard-navigation", inputs: ["ariaLabel"] }, { kind: "directive", type: i2.WizardProgressBarDirective, selector: "[fd-wizard-progress-bar]", inputs: ["size"] }, { kind: "component", type: i2.WizardStepComponent, selector: "[fd-wizard-step]", inputs: ["ariaLabel", "ariaRoleDecription", "status", "branching", "label", "optionalText", "isSummary", "stepClickValidator"], outputs: ["statusChange", "stepClicked", "stepIndicatorItemClicked"] }, { kind: "component", type: i2.WizardStepIndicatorComponent, selector: "fd-wizard-step-indicator", inputs: ["glyph", "glyphFont"], outputs: ["stepIndicatorItemClicked"] }, { kind: "component", type: i2.WizardContentComponent, selector: "fd-wizard-content", inputs: ["contentBackground", "size"] }, { kind: "component", type: i2.WizardNextStepComponent, selector: "fd-wizard-next-step", inputs: ["floating", "canHide"] }, { kind: "component", type: WizardGeneratorStepComponent, selector: "fdp-wizard-generator-step", inputs: ["item", "stepStatus", "unifiedLayout"], outputs: ["formsSubmitted", "formsCreated"] }, { kind: "component", type: WizardSummaryStepComponent, selector: "fdp-wizard-summary-step", inputs: ["status", "customSummaryStepTemplate"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
160
154
|
}
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: WizardBodyComponent, decorators: [{
|
|
162
156
|
type: Component,
|
|
163
157
|
args: [{ selector: 'fdp-wizard-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
164
158
|
WizardModule,
|
|
@@ -167,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
167
161
|
ButtonComponent,
|
|
168
162
|
ContentDensityDirective,
|
|
169
163
|
NgTemplateOutlet
|
|
170
|
-
], template: "@if (visibleItems) {\n <fd-wizard\n [displaySummaryStep]=\"displaySummaryStep\"\n [responsivePaddings]=\"responsivePaddings\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n >\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar>\n @for (step of visibleItems; track _trackFn(i, step); let i = $index) {\n <li\n fd-wizard-step\n [label]=\"step.name\"\n [status]=\"step.status\"\n [optionalText]=\"step.optionalText\"\n [branching]=\"!!step.branching\"\n [stepClickValidator]=\"stepClickValidatorFn(i)\"\n [isSummary]=\"!!step.summary\"\n (statusChange)=\"stepStatusChanged(step.id, $event)\"\n (stepClicked)=\"stepClicked(step.id)\"\n >\n <fd-wizard-step-indicator [glyph]=\"step.icon || null\">\n @if (!step.icon) {\n {{ i + 1 }}\n }\n </fd-wizard-step-indicator>\n <fd-wizard-content>\n @if (!step.summary) {\n <fdp-wizard-generator-step\n [unifiedLayout]=\"unifiedLayout\"\n [item]=\"step\"\n [stepStatus]=\"step.status\"\n ></fdp-wizard-generator-step>\n } @else {\n <fdp-wizard-summary-step\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [status]=\"step.status\"\n ></fdp-wizard-summary-step>\n }\n @if (navigationButtons) {\n <fd-wizard-next-step [canHide]=\"appendToWizard\">\n @if (!isLastStep) {\n <ng-template #defaultGoNextButtonTemplate>\n <
|
|
164
|
+
], template: "@if (visibleItems) {\n <fd-wizard\n [displaySummaryStep]=\"displaySummaryStep\"\n [responsivePaddings]=\"responsivePaddings\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n >\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar>\n @for (step of visibleItems; track _trackFn(i, step); let i = $index) {\n <li\n fd-wizard-step\n [label]=\"step.name\"\n [status]=\"step.status\"\n [optionalText]=\"step.optionalText\"\n [branching]=\"!!step.branching\"\n [stepClickValidator]=\"stepClickValidatorFn(i)\"\n [isSummary]=\"!!step.summary\"\n (statusChange)=\"stepStatusChanged(step.id, $event)\"\n (stepClicked)=\"stepClicked(step.id)\"\n >\n <fd-wizard-step-indicator [glyph]=\"step.icon || null\">\n @if (!step.icon) {\n {{ i + 1 }}\n }\n </fd-wizard-step-indicator>\n <fd-wizard-content>\n @if (!step.summary) {\n <fdp-wizard-generator-step\n [unifiedLayout]=\"unifiedLayout\"\n [item]=\"step\"\n [stepStatus]=\"step.status\"\n ></fdp-wizard-generator-step>\n } @else {\n <fdp-wizard-summary-step\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [status]=\"step.status\"\n ></fdp-wizard-summary-step>\n }\n @if (navigationButtons) {\n <fd-wizard-next-step [canHide]=\"appendToWizard\">\n @if (!isLastStep) {\n <ng-template #defaultGoNextButtonTemplate>\n <button\n fd-button\n [fdContentDensity]=\"navigationButtonLabels.goNext.contentDensity\"\n [fdType]=\"navigationButtonLabels.goNext.type\"\n [label]=\"navigationButtonLabels.goNext.label\"\n (click)=\"goNext.emit()\"\n ></button>\n </ng-template>\n <ng-template #defaultReviewButtonTemplate>\n <button\n fd-button\n [fdContentDensity]=\"navigationButtonLabels.review.contentDensity\"\n [fdType]=\"navigationButtonLabels.review.type\"\n [label]=\"navigationButtonLabels.review.label\"\n (click)=\"goNext.emit()\"\n ></button>\n </ng-template>\n @if (\n (isBranchingStep && (!isCurrentStepCompleted || stepsOrderChanged)) ||\n !isNextStepSummary\n ) {\n <ng-template\n [ngTemplateOutlet]=\"goNextButtonTemplate || defaultGoNextButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"reviewButtonTemplate || defaultReviewButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n }\n } @else {\n <ng-template #defaultFinishButtonTemplate>\n <button\n fd-button\n [fdContentDensity]=\"navigationButtonLabels.finish.contentDensity\"\n [fdType]=\"navigationButtonLabels.finish.type\"\n [label]=\"navigationButtonLabels.finish.label\"\n (click)=\"finish.emit()\"\n ></button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"finishButtonTemplate || defaultFinishButtonTemplate\"\n [ngTemplateOutletContext]=\"{ finish: _finishFn }\"\n ></ng-template>\n }\n </fd-wizard-next-step>\n }\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n" }]
|
|
171
165
|
}], ctorParameters: () => [{ type: i1.WizardGeneratorService }, { type: i0.ChangeDetectorRef }], propDecorators: { responsivePaddings: [{
|
|
172
166
|
type: Input
|
|
173
167
|
}], navigationButtonLabels: [{
|
|
@@ -211,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
211
205
|
}], finish: [{
|
|
212
206
|
type: Output
|
|
213
207
|
}] } });
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aXphcmQtZ2VuZXJhdG9yL2NvbXBvbmVudHMvd2l6YXJkLWJvZHkvd2l6YXJkLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aXphcmQtZ2VuZXJhdG9yL2NvbXBvbmVudHMvd2l6YXJkLWJvZHkvd2l6YXJkLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsWUFBWSxFQUFvQixNQUFNLDhCQUE4QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUduRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7OztBQXNCbEcsTUFBTSxPQUFPLG1CQUFtQjtJQWdJNUI7O09BRUc7SUFDSCw4REFBOEQ7SUFDOUQsSUFB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QkFDNUIsMEJBQTBCO3dCQUMxQixlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3FCQUNuQjsySEFPRCxrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBT04sc0JBQXNCO3NCQURyQixLQUFLO2dCQVFOLGNBQWM7c0JBRGIsS0FBSztnQkFRTixhQUFhO3NCQURaLEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSztnQkFPTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT04sa0JBQWtCO3NCQURqQixLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFPTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBT04seUJBQXlCO3NCQUR4QixLQUFLO2dCQUtOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFPTixhQUFhO3NCQURaLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sc0JBQXNCO3NCQURyQixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFPTixZQUFZO3NCQURYLE1BQU07Z0JBT1AsTUFBTTtzQkFETCxNQUFNO2dCQU9QLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBXaXphcmRNb2R1bGUsIFdpemFyZFN0ZXBTdGF0dXMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvd2l6YXJkJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9idXR0b24nO1xuaW1wb3J0IHsgUHJlcGFyZWRXaXphcmRHZW5lcmF0b3JJdGVtLCBXaXphcmRHZW5lcmF0b3JJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93aXphcmQtZ2VuZXJhdG9yLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFdpemFyZE5hdmlnYXRpb25CdXR0b25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93aXphcmQtbmF2aWdhdGlvbi1idXR0b25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXaXphcmRHZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd2l6YXJkLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFdpemFyZEdlbmVyYXRvclN0ZXBDb21wb25lbnQgfSBmcm9tICcuLi93aXphcmQtZ2VuZXJhdG9yLXN0ZXAvd2l6YXJkLWdlbmVyYXRvci1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaXphcmRTdW1tYXJ5U3RlcENvbXBvbmVudCB9IGZyb20gJy4uL3dpemFyZC1zdW1tYXJ5LXN0ZXAvd2l6YXJkLXN1bW1hcnktc3RlcC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpemFyZFN0ZXBDaGFuZ2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc3RhdHVzOiBXaXphcmRTdGVwU3RhdHVzO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC13aXphcmQtYm9keScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC1ib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBXaXphcmRNb2R1bGUsXG4gICAgICAgIFdpemFyZEdlbmVyYXRvclN0ZXBDb21wb25lbnQsXG4gICAgICAgIFdpemFyZFN1bW1hcnlTdGVwQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIENvbnRlbnREZW5zaXR5RGlyZWN0aXZlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBXaXphcmRCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIG9yIG5vdCBhcHBseSByZXNwb25zaXZlIHBhZGRpbmdzIHN0eWxpbmcuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByZXNwb25zaXZlUGFkZGluZ3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEJ1dHRvbiBsYWJlbHMgdG8gYmUgdXNlZCBpbiBXaXphcmQgbmF2aWdhdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmF2aWdhdGlvbkJ1dHRvbkxhYmVsczogUmVxdWlyZWQ8V2l6YXJkTmF2aWdhdGlvbkJ1dHRvbnM+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgb3Igbm90IHRvIGFwcGVuZCB0aGUgc3RlcCB0byB0aGUgd2l6YXJkLiBJZiBmYWxzZSwgZWFjaCBzdGVwIHdpbGwgYmUgZGlzcGxheWVkIG9uIGEgZGlmZmVyZW50IHBhZ2UuXG4gICAgICogRGVmYXVsdCBpcyB0cnVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXBwZW5kVG9XaXphcmQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEN1c3RvbSBoZWlnaHQgdG8gdXNlIGZvciB0aGUgd2l6YXJkJ3MgY29udGVudCBwYW5lLiBCeSBkZWZhdWx0LCB0aGlzIHZhbHVlIGlzIGNhbGMoMTAwdmggLSAxNDRweCksIHdoZXJlIDE0NHB4XG4gICAgICogaXMgdGhlIGNvbWJpbmVkIGhlaWdodCBvZiB0aGUgU2hlbGxiYXIsIHdpemFyZCBoZWFkZXIgYW5kIHdpemFyZCBmb290ZXIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb250ZW50SGVpZ2h0OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgb3Igbm90IFdpemFyZCBpcyBjdXJyZW50bHkgb24gdGhlIGZpcnN0IHN0ZXBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlzRmlyc3RTdGVwID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciBXaXphcmQgaXMgY3VycmVudGx5IG9uIHRoZSBsYXN0IHN0ZXAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc0xhc3RTdGVwID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG5leHQgc3RlcCBpcyBhIFN1bW1hcnkgc3RlcC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlzTmV4dFN0ZXBTdW1tYXJ5ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQm9vbGVhbiBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0byBkaXNwbGF5IFN1bW1hcnkgc3RlcCBpbiBXaXphcmQgcHJvZ3Jlc3MgYmFyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheVN1bW1hcnlTdGVwID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyLWRlZmluZWQgdGVtcGxhdGUgZm9yIFwiR28gTmV4dFwiIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdvTmV4dEJ1dHRvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogVXNlci1kZWZpbmVkIHRlbXBsYXRlIGZvciBcIkZpbmlzaFwiIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbmlzaEJ1dHRvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogVXNlci1kZWZpbmVkIHRlbXBsYXRlIGZvciBzdW1tYXJ5IHN0ZXAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjdXN0b21TdW1tYXJ5U3RlcFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIFVzZXItZGVmaW5lZCB0ZW1wbGF0ZSBmb3IgXCJSZXZpZXdcIiBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIHJldmlld0J1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIElzIGN1cnJlbnQgc3RlcCBpcyBzdW1tYXJ5IHN0ZXAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc1N1bW1hcnlTdGVwID0gZmFsc2U7XG5cbiAgICAvKiogSWYgbmF2aWdhdGlvbiBidXR0b25zIHNob3VsZCBiZSB2aXNpYmxlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmF2aWdhdGlvbkJ1dHRvbnMgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IGFsbCBmb3JtIGl0ZW1zIHNob3VsZCBoYXZlIGlkZW50aWNhbCBsYXlvdXQgcHJvdmlkZWQgZm9yIGZvcm0gZ3JvdXAuICovXG4gICAgQElucHV0KClcbiAgICB1bmlmaWVkTGF5b3V0ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIGN1cnJlbnQgc3RlcCBpcyBhIGJyYW5jaGluZyBzdGVwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNCcmFuY2hpbmdTdGVwID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBjdXJyZW50IHN0ZXAgaXMgY29tcGxldGVkICovXG4gICAgQElucHV0KClcbiAgICBpc0N1cnJlbnRTdGVwQ29tcGxldGVkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvcmRlciBvZiBzdGVwcyB3YXMgY2hhbmdlZCAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0ZXBzT3JkZXJDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBzb21lIHN0ZXAgc3RhdHVzIGhhcyBiZWVuIGNoYW5nZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgc3RhdHVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxXaXphcmRTdGVwQ2hhbmdlPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRzIHdoZW4gXCJHbyBuZXh0XCIgYnV0dG9uIGhhcyBiZWVuIGNsaWNrZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBnb05leHQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBcIkZpbmlzaFwiIGJ1dHRvbiBoYXMgYmVlbiBjbGlja2VkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZmluaXNoID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZylcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF92aXNpYmxlSXRlbXM6IFByZXBhcmVkV2l6YXJkR2VuZXJhdG9ySXRlbVtdO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEFycmF5IG9mIHZpc2libGUgV2l6YXJkIFN0ZXBzLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgc2V0IHZpc2libGVJdGVtcyhpdGVtczogUHJlcGFyZWRXaXphcmRHZW5lcmF0b3JJdGVtW10pIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZUl0ZW1zID0gaXRlbXM7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IHZpc2libGVJdGVtcygpOiBQcmVwYXJlZFdpemFyZEdlbmVyYXRvckl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlSXRlbXMgfHwgdGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS5pdGVtcztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3dpemFyZEdlbmVyYXRvclNlcnZpY2U6IFdpemFyZEdlbmVyYXRvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBfZ29OZXh0Rm46ICgpID0+IHZvaWQgPSAoKSA9PiB0aGlzLmdvTmV4dC5lbWl0KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgX2ZpbmlzaEZuOiAoKSA9PiB2b2lkID0gKCkgPT4gdGhpcy5maW5pc2guZW1pdCgpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEN1c3RvbSBzdGVwIHN0YXR1cyBjaGFuZ2UgdmFsaWRhdG9yIGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSBpbmRleCBDdXJyZW50IHN0ZXAgaW5kZXguXG4gICAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IElmIHRoaXMgc3RlcCBzdGF0dXMgY2FuIGJlIGNoYW5nZWQuXG4gICAgICovXG4gICAgc3RlcENsaWNrVmFsaWRhdG9yRm4oaW5kZXg6IG51bWJlcik6ICgpID0+IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFN0ZXBJbmRleCA9IHRoaXMuX3dpemFyZEdlbmVyYXRvclNlcnZpY2UuZ2V0Q3VycmVudFN0ZXBJbmRleCgpO1xuICAgICAgICAgICAgY29uc3QgaXNTdW1tYXJ5U3RlcCA9IHRoaXMuX3Zpc2libGVJdGVtc1tjdXJyZW50U3RlcEluZGV4XT8uc3VtbWFyeSA9PT0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKGluZGV4ID09PSBjdXJyZW50U3RlcEluZGV4IHx8IGlzU3VtbWFyeVN0ZXApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX3Zpc2libGVJdGVtcy5zbGljZSgwLCBpbmRleCkuZmluZCgoaSkgPT4gIWkuY29tcGxldGVkICYmICFpLnN1bW1hcnkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS52YWxpZGF0ZVN0ZXBGb3Jtcyh0cnVlKSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VmlzaWJsZVN0ZXBzKClcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZpc2libGVTdGVwcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Zpc2libGVJdGVtcyA9IHZpc2libGVTdGVwcztcbiAgICAgICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBzdGF0dXMgY2hhbmdlLlxuICAgICAqIEBwYXJhbSBpZCBzdGVwIElELlxuICAgICAqIEBwYXJhbSBzdGF0dXMgbmV3IHN0ZXAgc3RhdHVzLlxuICAgICAqL1xuICAgIHN0ZXBTdGF0dXNDaGFuZ2VkKGlkOiBzdHJpbmcsIHN0YXR1czogV2l6YXJkU3RlcFN0YXR1cyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXR1c0NoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgc3RhdHVzXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RlcENsaWNrZWQoc3RlcElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RlcEluZGV4ID0gdGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS5nZXRTdGVwSW5kZXgoc3RlcElkKTtcbiAgICAgICAgdGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS5zZXROZXh0U3RlcEluZGV4KHN0ZXBJbmRleCArIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gX2luZGV4XG4gICAgICogQHBhcmFtIGl0ZW1cbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIF90cmFja0ZuKF9pbmRleDogbnVtYmVyLCBpdGVtOiBXaXphcmRHZW5lcmF0b3JJdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxufVxuIiwiQGlmICh2aXNpYmxlSXRlbXMpIHtcbiAgICA8ZmQtd2l6YXJkXG4gICAgICAgIFtkaXNwbGF5U3VtbWFyeVN0ZXBdPVwiZGlzcGxheVN1bW1hcnlTdGVwXCJcbiAgICAgICAgW3Jlc3BvbnNpdmVQYWRkaW5nc109XCJyZXNwb25zaXZlUGFkZGluZ3NcIlxuICAgICAgICBbYXBwZW5kVG9XaXphcmRdPVwiYXBwZW5kVG9XaXphcmRcIlxuICAgICAgICBbY29udGVudEhlaWdodF09XCJjb250ZW50SGVpZ2h0XCJcbiAgICA+XG4gICAgICAgIDxmZC13aXphcmQtbmF2aWdhdGlvbj5cbiAgICAgICAgICAgIDx1bCBmZC13aXphcmQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgICAgICAgIEBmb3IgKHN0ZXAgb2YgdmlzaWJsZUl0ZW1zOyB0cmFjayBfdHJhY2tGbihpLCBzdGVwKTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC13aXphcmQtc3RlcFxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInN0ZXAubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3RhdHVzXT1cInN0ZXAuc3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtvcHRpb25hbFRleHRdPVwic3RlcC5vcHRpb25hbFRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2JyYW5jaGluZ109XCIhIXN0ZXAuYnJhbmNoaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwQ2xpY2tWYWxpZGF0b3JdPVwic3RlcENsaWNrVmFsaWRhdG9yRm4oaSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzU3VtbWFyeV09XCIhIXN0ZXAuc3VtbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoc3RhdHVzQ2hhbmdlKT1cInN0ZXBTdGF0dXNDaGFuZ2VkKHN0ZXAuaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHN0ZXBDbGlja2VkKT1cInN0ZXBDbGlja2VkKHN0ZXAuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXdpemFyZC1zdGVwLWluZGljYXRvciBbZ2x5cGhdPVwic3RlcC5pY29uIHx8IG51bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFzdGVwLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXdpemFyZC1zdGVwLWluZGljYXRvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC13aXphcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFzdGVwLnN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC13aXphcmQtZ2VuZXJhdG9yLXN0ZXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1bmlmaWVkTGF5b3V0XT1cInVuaWZpZWRMYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwic3RlcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcFN0YXR1c109XCJzdGVwLnN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC13aXphcmQtZ2VuZXJhdG9yLXN0ZXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtd2l6YXJkLXN1bW1hcnktc3RlcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVN1bW1hcnlTdGVwVGVtcGxhdGVdPVwiY3VzdG9tU3VtbWFyeVN0ZXBUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdHVzXT1cInN0ZXAuc3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLXdpemFyZC1zdW1tYXJ5LXN0ZXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2aWdhdGlvbkJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXdpemFyZC1uZXh0LXN0ZXAgW2NhbkhpZGVdPVwiYXBwZW5kVG9XaXphcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWlzTGFzdFN0ZXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRHb05leHRCdXR0b25UZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZENvbnRlbnREZW5zaXR5XT1cIm5hdmlnYXRpb25CdXR0b25MYWJlbHMuZ29OZXh0LmNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtidXR0b25UeXBlXT1cIm5hdmlnYXRpb25CdXR0b25MYWJlbHMuZ29OZXh0LnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIm5hdmlnYXRpb25CdXR0b25MYWJlbHMuZ29OZXh0LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb05leHQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJldmlld0J1dHRvblRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkQ29udGVudERlbnNpdHldPVwibmF2aWdhdGlvbkJ1dHRvbkxhYmVscy5yZXZpZXcuY29udGVudERlbnNpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1dHRvblR5cGVdPVwibmF2aWdhdGlvbkJ1dHRvbkxhYmVscy5yZXZpZXcudHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwibmF2aWdhdGlvbkJ1dHRvbkxhYmVscy5yZXZpZXcubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvTmV4dC5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZHAtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlzQnJhbmNoaW5nU3RlcCAmJiAoIWlzQ3VycmVudFN0ZXBDb21wbGV0ZWQgfHwgc3RlcHNPcmRlckNoYW5nZWQpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNOZXh0U3RlcFN1bW1hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJnb05leHRCdXR0b25UZW1wbGF0ZSB8fCBkZWZhdWx0R29OZXh0QnV0dG9uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZ29OZXh0OiBfZ29OZXh0Rm4gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJldmlld0J1dHRvblRlbXBsYXRlIHx8IGRlZmF1bHRSZXZpZXdCdXR0b25UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBnb05leHQ6IF9nb05leHRGbiB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RmluaXNoQnV0dG9uVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmRDb250ZW50RGVuc2l0eV09XCJuYXZpZ2F0aW9uQnV0dG9uTGFiZWxzLmZpbmlzaC5jb250ZW50RGVuc2l0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uVHlwZV09XCJuYXZpZ2F0aW9uQnV0dG9uTGFiZWxzLmZpbmlzaC50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJuYXZpZ2F0aW9uQnV0dG9uTGFiZWxzLmZpbmlzaC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmluaXNoLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmluaXNoQnV0dG9uVGVtcGxhdGUgfHwgZGVmYXVsdEZpbmlzaEJ1dHRvblRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmluaXNoOiBfZmluaXNoRm4gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtd2l6YXJkLW5leHQtc3RlcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXdpemFyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZmQtd2l6YXJkLW5hdmlnYXRpb24+XG4gICAgPC9mZC13aXphcmQ+XG59XG4iXX0=
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aXphcmQtZ2VuZXJhdG9yL2NvbXBvbmVudHMvd2l6YXJkLWJvZHkvd2l6YXJkLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aXphcmQtZ2VuZXJhdG9yL2NvbXBvbmVudHMvd2l6YXJkLWJvZHkvd2l6YXJkLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5QyxPQUFPLEVBQUUsWUFBWSxFQUFvQixNQUFNLDhCQUE4QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUdoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7OztBQXNCbEcsTUFBTSxP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T0Qsa0JBQWtCO3NCQURqQixLQUFLO2dCQU9OLHNCQUFzQjtzQkFEckIsS0FBSztnQkFRTixjQUFjO3NCQURiLEtBQUs7Z0JBUU4sYUFBYTtzQkFEWixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFPTixVQUFVO3NCQURULEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQU9OLGtCQUFrQjtzQkFEakIsS0FBSztnQkFPTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBT04sb0JBQW9CO3NCQURuQixLQUFLO2dCQU9OLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFLTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBT04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxNQUFNO2dCQU9QLE1BQU07c0JBREwsTUFBTTtnQkFPUCxNQUFNO3NCQURMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgV2l6YXJkTW9kdWxlLCBXaXphcmRTdGVwU3RhdHVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3dpemFyZCc7XG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgUHJlcGFyZWRXaXphcmRHZW5lcmF0b3JJdGVtLCBXaXphcmRHZW5lcmF0b3JJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93aXphcmQtZ2VuZXJhdG9yLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFdpemFyZE5hdmlnYXRpb25CdXR0b25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93aXphcmQtbmF2aWdhdGlvbi1idXR0b25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXaXphcmRHZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd2l6YXJkLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFdpemFyZEdlbmVyYXRvclN0ZXBDb21wb25lbnQgfSBmcm9tICcuLi93aXphcmQtZ2VuZXJhdG9yLXN0ZXAvd2l6YXJkLWdlbmVyYXRvci1zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaXphcmRTdW1tYXJ5U3RlcENvbXBvbmVudCB9IGZyb20gJy4uL3dpemFyZC1zdW1tYXJ5LXN0ZXAvd2l6YXJkLXN1bW1hcnktc3RlcC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpemFyZFN0ZXBDaGFuZ2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc3RhdHVzOiBXaXphcmRTdGVwU3RhdHVzO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC13aXphcmQtYm9keScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC1ib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBXaXphcmRNb2R1bGUsXG4gICAgICAgIFdpemFyZEdlbmVyYXRvclN0ZXBDb21wb25lbnQsXG4gICAgICAgIFdpemFyZFN1bW1hcnlTdGVwQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIENvbnRlbnREZW5zaXR5RGlyZWN0aXZlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBXaXphcmRCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciBvciBub3QgYXBwbHkgcmVzcG9uc2l2ZSBwYWRkaW5ncyBzdHlsaW5nLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVzcG9uc2l2ZVBhZGRpbmdzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBCdXR0b24gbGFiZWxzIHRvIGJlIHVzZWQgaW4gV2l6YXJkIG5hdmlnYXRpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG5hdmlnYXRpb25CdXR0b25MYWJlbHM6IFJlcXVpcmVkPFdpemFyZE5hdmlnYXRpb25CdXR0b25zPjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIG9yIG5vdCB0byBhcHBlbmQgdGhlIHN0ZXAgdG8gdGhlIHdpemFyZC4gSWYgZmFsc2UsIGVhY2ggc3RlcCB3aWxsIGJlIGRpc3BsYXllZCBvbiBhIGRpZmZlcmVudCBwYWdlLlxuICAgICAqIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcGVuZFRvV2l6YXJkID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDdXN0b20gaGVpZ2h0IHRvIHVzZSBmb3IgdGhlIHdpemFyZCdzIGNvbnRlbnQgcGFuZS4gQnkgZGVmYXVsdCwgdGhpcyB2YWx1ZSBpcyBjYWxjKDEwMHZoIC0gMTQ0cHgpLCB3aGVyZSAxNDRweFxuICAgICAqIGlzIHRoZSBjb21iaW5lZCBoZWlnaHQgb2YgdGhlIFNoZWxsYmFyLCB3aXphcmQgaGVhZGVyIGFuZCB3aXphcmQgZm9vdGVyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29udGVudEhlaWdodDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIG9yIG5vdCBXaXphcmQgaXMgY3VycmVudGx5IG9uIHRoZSBmaXJzdCBzdGVwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc0ZpcnN0U3RlcCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgV2l6YXJkIGlzIGN1cnJlbnRseSBvbiB0aGUgbGFzdCBzdGVwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNMYXN0U3RlcCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBuZXh0IHN0ZXAgaXMgYSBTdW1tYXJ5IHN0ZXAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc05leHRTdGVwU3VtbWFyeSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gZGlzcGxheSBTdW1tYXJ5IHN0ZXAgaW4gV2l6YXJkIHByb2dyZXNzIGJhci5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlTdW1tYXJ5U3RlcCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVXNlci1kZWZpbmVkIHRlbXBsYXRlIGZvciBcIkdvIE5leHRcIiBidXR0b24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnb05leHRCdXR0b25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFVzZXItZGVmaW5lZCB0ZW1wbGF0ZSBmb3IgXCJGaW5pc2hcIiBidXR0b24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmaW5pc2hCdXR0b25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFVzZXItZGVmaW5lZCB0ZW1wbGF0ZSBmb3Igc3VtbWFyeSBzdGVwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY3VzdG9tU3VtbWFyeVN0ZXBUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBVc2VyLWRlZmluZWQgdGVtcGxhdGUgZm9yIFwiUmV2aWV3XCIgYnV0dG9uICovXG4gICAgQElucHV0KClcbiAgICByZXZpZXdCdXR0b25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBJcyBjdXJyZW50IHN0ZXAgaXMgc3VtbWFyeSBzdGVwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNTdW1tYXJ5U3RlcCA9IGZhbHNlO1xuXG4gICAgLyoqIElmIG5hdmlnYXRpb24gYnV0dG9ucyBzaG91bGQgYmUgdmlzaWJsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIG5hdmlnYXRpb25CdXR0b25zID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCBhbGwgZm9ybSBpdGVtcyBzaG91bGQgaGF2ZSBpZGVudGljYWwgbGF5b3V0IHByb3ZpZGVkIGZvciBmb3JtIGdyb3VwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5pZmllZExheW91dCA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciBjdXJyZW50IHN0ZXAgaXMgYSBicmFuY2hpbmcgc3RlcC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlzQnJhbmNoaW5nU3RlcCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgY3VycmVudCBzdGVwIGlzIGNvbXBsZXRlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNDdXJyZW50U3RlcENvbXBsZXRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3JkZXIgb2Ygc3RlcHMgd2FzIGNoYW5nZWQgICovXG4gICAgQElucHV0KClcbiAgICBzdGVwc09yZGVyQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRzIHdoZW4gc29tZSBzdGVwIHN0YXR1cyBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN0YXR1c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8V2l6YXJkU3RlcENoYW5nZT4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0cyB3aGVuIFwiR28gbmV4dFwiIGJ1dHRvbiBoYXMgYmVlbiBjbGlja2VkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZ29OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRzIHdoZW4gXCJGaW5pc2hcIiBidXR0b24gaGFzIGJlZW4gY2xpY2tlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZpbmlzaCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF92aXNpYmxlSXRlbXM6IFByZXBhcmVkV2l6YXJkR2VuZXJhdG9ySXRlbVtdO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEFycmF5IG9mIHZpc2libGUgV2l6YXJkIFN0ZXBzLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgc2V0IHZpc2libGVJdGVtcyhpdGVtczogUHJlcGFyZWRXaXphcmRHZW5lcmF0b3JJdGVtW10pIHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZUl0ZW1zID0gaXRlbXM7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgZ2V0IHZpc2libGVJdGVtcygpOiBQcmVwYXJlZFdpemFyZEdlbmVyYXRvckl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlSXRlbXMgfHwgdGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS5pdGVtcztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3dpemFyZEdlbmVyYXRvclNlcnZpY2U6IFdpemFyZEdlbmVyYXRvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBfZ29OZXh0Rm46ICgpID0+IHZvaWQgPSAoKSA9PiB0aGlzLmdvTmV4dC5lbWl0KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgX2ZpbmlzaEZuOiAoKSA9PiB2b2lkID0gKCkgPT4gdGhpcy5maW5pc2guZW1pdCgpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEN1c3RvbSBzdGVwIHN0YXR1cyBjaGFuZ2UgdmFsaWRhdG9yIGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSBpbmRleCBDdXJyZW50IHN0ZXAgaW5kZXguXG4gICAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IElmIHRoaXMgc3RlcCBzdGF0dXMgY2FuIGJlIGNoYW5nZWQuXG4gICAgICovXG4gICAgc3RlcENsaWNrVmFsaWRhdG9yRm4oaW5kZXg6IG51bWJlcik6ICgpID0+IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFN0ZXBJbmRleCA9IHRoaXMuX3dpemFyZEdlbmVyYXRvclNlcnZpY2UuZ2V0Q3VycmVudFN0ZXBJbmRleCgpO1xuICAgICAgICAgICAgY29uc3QgaXNTdW1tYXJ5U3RlcCA9IHRoaXMuX3Zpc2libGVJdGVtc1tjdXJyZW50U3RlcEluZGV4XT8uc3VtbWFyeSA9PT0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKGluZGV4ID09PSBjdXJyZW50U3RlcEluZGV4IHx8IGlzU3VtbWFyeVN0ZXApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX3Zpc2libGVJdGVtcy5zbGljZSgwLCBpbmRleCkuZmluZCgoaSkgPT4gIWkuY29tcGxldGVkICYmICFpLnN1bW1hcnkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS52YWxpZGF0ZVN0ZXBGb3Jtcyh0cnVlKSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VmlzaWJsZVN0ZXBzKClcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZpc2libGVTdGVwcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Zpc2libGVJdGVtcyA9IHZpc2libGVTdGVwcztcbiAgICAgICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHN0YXR1cyBjaGFuZ2UuXG4gICAgICogQHBhcmFtIGlkIHN0ZXAgSUQuXG4gICAgICogQHBhcmFtIHN0YXR1cyBuZXcgc3RlcCBzdGF0dXMuXG4gICAgICovXG4gICAgc3RlcFN0YXR1c0NoYW5nZWQoaWQ6IHN0cmluZywgc3RhdHVzOiBXaXphcmRTdGVwU3RhdHVzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdGF0dXNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGVwQ2xpY2tlZChzdGVwSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGVwSW5kZXggPSB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLmdldFN0ZXBJbmRleChzdGVwSWQpO1xuICAgICAgICB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLnNldE5leHRTdGVwSW5kZXgoc3RlcEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBfaW5kZXhcbiAgICAgKiBAcGFyYW0gaXRlbVxuICAgICAqIEByZXR1cm5zXG4gICAgICovXG4gICAgX3RyYWNrRm4oX2luZGV4OiBudW1iZXIsIGl0ZW06IFdpemFyZEdlbmVyYXRvckl0ZW0pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICB9XG59XG4iLCJAaWYgKHZpc2libGVJdGVtcykge1xuICAgIDxmZC13aXphcmRcbiAgICAgICAgW2Rpc3BsYXlTdW1tYXJ5U3RlcF09XCJkaXNwbGF5U3VtbWFyeVN0ZXBcIlxuICAgICAgICBbcmVzcG9uc2l2ZVBhZGRpbmdzXT1cInJlc3BvbnNpdmVQYWRkaW5nc1wiXG4gICAgICAgIFthcHBlbmRUb1dpemFyZF09XCJhcHBlbmRUb1dpemFyZFwiXG4gICAgICAgIFtjb250ZW50SGVpZ2h0XT1cImNvbnRlbnRIZWlnaHRcIlxuICAgID5cbiAgICAgICAgPGZkLXdpemFyZC1uYXZpZ2F0aW9uPlxuICAgICAgICAgICAgPHVsIGZkLXdpemFyZC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgICAgICAgQGZvciAoc3RlcCBvZiB2aXNpYmxlSXRlbXM7IHRyYWNrIF90cmFja0ZuKGksIHN0ZXApOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLXdpemFyZC1zdGVwXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwic3RlcC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwic3RlcC5zdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbmFsVGV4dF09XCJzdGVwLm9wdGlvbmFsVGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnJhbmNoaW5nXT1cIiEhc3RlcC5icmFuY2hpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBDbGlja1ZhbGlkYXRvcl09XCJzdGVwQ2xpY2tWYWxpZGF0b3JGbihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNTdW1tYXJ5XT1cIiEhc3RlcC5zdW1tYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzdGF0dXNDaGFuZ2UpPVwic3RlcFN0YXR1c0NoYW5nZWQoc3RlcC5pZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoc3RlcENsaWNrZWQpPVwic3RlcENsaWNrZWQoc3RlcC5pZClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtd2l6YXJkLXN0ZXAtaW5kaWNhdG9yIFtnbHlwaF09XCJzdGVwLmljb24gfHwgbnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIXN0ZXAuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtd2l6YXJkLXN0ZXAtaW5kaWNhdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXdpemFyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIXN0ZXAuc3VtbWFyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmRwLXdpemFyZC1nZW5lcmF0b3Itc3RlcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuaWZpZWRMYXlvdXRdPVwidW5pZmllZExheW91dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJzdGVwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwU3RhdHVzXT1cInN0ZXAuc3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLXdpemFyZC1nZW5lcmF0b3Itc3RlcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC13aXphcmQtc3VtbWFyeS1zdGVwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tU3VtbWFyeVN0ZXBUZW1wbGF0ZV09XCJjdXN0b21TdW1tYXJ5U3RlcFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwic3RlcC5zdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZHAtd2l6YXJkLXN1bW1hcnktc3RlcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChuYXZpZ2F0aW9uQnV0dG9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtd2l6YXJkLW5leHQtc3RlcCBbY2FuSGlkZV09XCJhcHBlbmRUb1dpemFyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghaXNMYXN0U3RlcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEdvTmV4dEJ1dHRvblRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZENvbnRlbnREZW5zaXR5XT1cIm5hdmlnYXRpb25CdXR0b25MYWJlbHMuZ29OZXh0LmNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwibmF2aWdhdGlvbkJ1dHRvbkxhYmVscy5nb05leHQudHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwibmF2aWdhdGlvbkJ1dHRvbkxhYmVscy5nb05leHQubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvTmV4dC5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRSZXZpZXdCdXR0b25UZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmRDb250ZW50RGVuc2l0eV09XCJuYXZpZ2F0aW9uQnV0dG9uTGFiZWxzLnJldmlldy5jb250ZW50RGVuc2l0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIm5hdmlnYXRpb25CdXR0b25MYWJlbHMucmV2aWV3LnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIm5hdmlnYXRpb25CdXR0b25MYWJlbHMucmV2aWV3LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb05leHQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlzQnJhbmNoaW5nU3RlcCAmJiAoIWlzQ3VycmVudFN0ZXBDb21wbGV0ZWQgfHwgc3RlcHNPcmRlckNoYW5nZWQpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNOZXh0U3RlcFN1bW1hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJnb05leHRCdXR0b25UZW1wbGF0ZSB8fCBkZWZhdWx0R29OZXh0QnV0dG9uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZ29OZXh0OiBfZ29OZXh0Rm4gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJldmlld0J1dHRvblRlbXBsYXRlIHx8IGRlZmF1bHRSZXZpZXdCdXR0b25UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBnb05leHQ6IF9nb05leHRGbiB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RmluaXNoQnV0dG9uVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkQ29udGVudERlbnNpdHldPVwibmF2aWdhdGlvbkJ1dHRvbkxhYmVscy5maW5pc2guY29udGVudERlbnNpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCJuYXZpZ2F0aW9uQnV0dG9uTGFiZWxzLmZpbmlzaC50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJuYXZpZ2F0aW9uQnV0dG9uTGFiZWxzLmZpbmlzaC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmluaXNoLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaW5pc2hCdXR0b25UZW1wbGF0ZSB8fCBkZWZhdWx0RmluaXNoQnV0dG9uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaW5pc2g6IF9maW5pc2hGbiB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC13aXphcmQtbmV4dC1zdGVwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtd2l6YXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9mZC13aXphcmQtbmF2aWdhdGlvbj5cbiAgICA8L2ZkLXdpemFyZD5cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, TemplateRef, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { FormGeneratorService } from '@fundamental-ngx/platform/form';
|
|
3
3
|
import { RepeatDirective } from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
import { SkeletonComponent } from '@fundamental-ngx/core/skeleton';
|
|
@@ -11,20 +11,15 @@ import { WizardGeneratorSummaryStepDirective } from '../../directives/wizard-gen
|
|
|
11
11
|
import { WizardGeneratorService } from '../../wizard-generator.service';
|
|
12
12
|
import { WizardBodyComponent } from '../wizard-body/wizard-body.component';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "
|
|
15
|
-
import * as i2 from "@fundamental-ngx/core/wizard";
|
|
14
|
+
import * as i1 from "@fundamental-ngx/core/wizard";
|
|
16
15
|
export class WizardGeneratorComponent extends BaseWizardGenerator {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
super(_wizardGeneratorService, _cd);
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: WizardGeneratorComponent, deps: [{ token: i1.WizardGeneratorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: WizardGeneratorComponent, isStandalone: true, selector: "fdp-wizard-generator", providers: [WizardGeneratorService, FormGeneratorService], queries: [{ propertyName: "finishButtonTemplate", first: true, predicate: WizardGeneratorFinishButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "goNextButtonTemplate", first: true, predicate: WizardGeneratorGoNextButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "customSummaryStepTemplate", first: true, predicate: WizardGeneratorSummaryStepDirective, descendants: true, read: TemplateRef }, { propertyName: "reviewButtonTemplate", first: true, predicate: WizardGeneratorReviewButtonDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar size=\"lg\" role=\"list\" aria-label=\"Wizard Steps\">\n <li *fdkRepeat=\"3; let i = index\" fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n", dependencies: [{ kind: "component", type: WizardBodyComponent, selector: "fdp-wizard-body", inputs: ["responsivePaddings", "navigationButtonLabels", "appendToWizard", "contentHeight", "isFirstStep", "isLastStep", "isNextStepSummary", "displaySummaryStep", "goNextButtonTemplate", "finishButtonTemplate", "customSummaryStepTemplate", "reviewButtonTemplate", "isSummaryStep", "navigationButtons", "unifiedLayout", "isBranchingStep", "isCurrentStepCompleted", "stepsOrderChanged"], outputs: ["statusChange", "goNext", "finish"] }, { kind: "ngmodule", type: WizardModule }, { kind: "component", type: i2.WizardComponent, selector: "fd-wizard", inputs: ["appendToWizard", "contentHeight", "responsivePaddings", "displaySummaryStep", "ariaLabel"] }, { kind: "component", type: i2.WizardNavigationComponent, selector: "fd-wizard-navigation", inputs: ["ariaLabel"] }, { kind: "directive", type: i2.WizardProgressBarDirective, selector: "[fd-wizard-progress-bar]", inputs: ["size"] }, { kind: "component", type: i2.WizardStepComponent, selector: "[fd-wizard-step]", inputs: ["ariaLabel", "ariaRoleDecription", "status", "branching", "label", "optionalText", "isSummary", "stepClickValidator"], outputs: ["statusChange", "stepClicked", "stepIndicatorItemClicked"] }, { kind: "component", type: i2.WizardContentComponent, selector: "fd-wizard-content", inputs: ["contentBackground", "size"] }, { kind: "directive", type: RepeatDirective, selector: "[fdkRepeat]", inputs: ["fdkRepeat"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: WizardGeneratorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: WizardGeneratorComponent, isStandalone: true, selector: "fdp-wizard-generator", providers: [WizardGeneratorService, FormGeneratorService], queries: [{ propertyName: "finishButtonTemplate", first: true, predicate: WizardGeneratorFinishButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "goNextButtonTemplate", first: true, predicate: WizardGeneratorGoNextButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "customSummaryStepTemplate", first: true, predicate: WizardGeneratorSummaryStepDirective, descendants: true, read: TemplateRef }, { propertyName: "reviewButtonTemplate", first: true, predicate: WizardGeneratorReviewButtonDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar size=\"lg\" role=\"list\" aria-label=\"Wizard Steps\">\n <li *fdkRepeat=\"3; let i = index\" fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n", dependencies: [{ kind: "component", type: WizardBodyComponent, selector: "fdp-wizard-body", inputs: ["responsivePaddings", "navigationButtonLabels", "appendToWizard", "contentHeight", "isFirstStep", "isLastStep", "isNextStepSummary", "displaySummaryStep", "goNextButtonTemplate", "finishButtonTemplate", "customSummaryStepTemplate", "reviewButtonTemplate", "isSummaryStep", "navigationButtons", "unifiedLayout", "isBranchingStep", "isCurrentStepCompleted", "stepsOrderChanged"], outputs: ["statusChange", "goNext", "finish"] }, { kind: "ngmodule", type: WizardModule }, { kind: "component", type: i1.WizardComponent, selector: "fd-wizard", inputs: ["appendToWizard", "contentHeight", "responsivePaddings", "displaySummaryStep", "ariaLabel"] }, { kind: "component", type: i1.WizardNavigationComponent, selector: "fd-wizard-navigation", inputs: ["ariaLabel"] }, { kind: "directive", type: i1.WizardProgressBarDirective, selector: "[fd-wizard-progress-bar]", inputs: ["size"] }, { kind: "component", type: i1.WizardStepComponent, selector: "[fd-wizard-step]", inputs: ["ariaLabel", "ariaRoleDecription", "status", "branching", "label", "optionalText", "isSummary", "stepClickValidator"], outputs: ["statusChange", "stepClicked", "stepIndicatorItemClicked"] }, { kind: "component", type: i1.WizardContentComponent, selector: "fd-wizard-content", inputs: ["contentBackground", "size"] }, { kind: "directive", type: RepeatDirective, selector: "[fdkRepeat]", inputs: ["fdkRepeat"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
23
18
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: WizardGeneratorComponent, decorators: [{
|
|
25
20
|
type: Component,
|
|
26
21
|
args: [{ selector: 'fdp-wizard-generator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [WizardGeneratorService, FormGeneratorService], standalone: true, imports: [WizardBodyComponent, WizardModule, RepeatDirective, SkeletonComponent], template: "@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar size=\"lg\" role=\"list\" aria-label=\"Wizard Steps\">\n <li *fdkRepeat=\"3; let i = index\" fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n" }]
|
|
27
|
-
}],
|
|
22
|
+
}], propDecorators: { finishButtonTemplate: [{
|
|
28
23
|
type: ContentChild,
|
|
29
24
|
args: [WizardGeneratorFinishButtonDirective, { read: TemplateRef }]
|
|
30
25
|
}], goNextButtonTemplate: [{
|
|
@@ -37,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
37
32
|
type: ContentChild,
|
|
38
33
|
args: [WizardGeneratorReviewButtonDirective, { read: TemplateRef }]
|
|
39
34
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLWdlbmVyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dpemFyZC1nZW5lcmF0b3IvY29tcG9uZW50cy93aXphcmQtZ2VuZXJhdG9yL3dpemFyZC1nZW5lcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aXphcmQtZ2VuZXJhdG9yL2NvbXBvbmVudHMvd2l6YXJkLWdlbmVyYXRvci93aXphcmQtZ2VuZXJhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pILE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ2xILE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFXM0UsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFtQjs4R0FBcEQsd0JBQXdCO2tHQUF4Qix3QkFBd0IsbUVBSnRCLENBQUMsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUMsNEVBUTNDLG9DQUFvQywyQkFBVSxXQUFXLG9FQU16RCxvQ0FBb0MsMkJBQVUsV0FBVyx5RUFNekQsbUNBQW1DLDJCQUFVLFdBQVcsb0VBTXhELG9DQUFvQywyQkFBVSxXQUFXLG9EQzdDM0UsK3hEQXdDQSw0Q0RuQmMsbUJBQW1CLDZlQUFFLFlBQVksNDBCQUFFLGVBQWUsK0VBQUUsaUJBQWlCOzsyRkFFdEUsd0JBQXdCO2tCQVRwQyxTQUFTOytCQUNJLHNCQUFzQixpQkFFakIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHNCQUFzQixFQUFFLG9CQUFvQixDQUFDLGNBQzdDLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7OEJBT2hGLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyxvQ0FBb0MsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBT3pFLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyxvQ0FBb0MsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBT3pFLHlCQUF5QjtzQkFEeEIsWUFBWTt1QkFBQyxtQ0FBbUMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBT3hFLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyxvQ0FBb0MsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL2Zvcm0nO1xuXG5pbXBvcnQgeyBSZXBlYXREaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBTa2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9za2VsZXRvbic7XG5pbXBvcnQgeyBXaXphcmRNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvd2l6YXJkJztcbmltcG9ydCB7IEJhc2VXaXphcmRHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi9iYXNlLXdpemFyZC1nZW5lcmF0b3InO1xuaW1wb3J0IHsgV2l6YXJkR2VuZXJhdG9yRmluaXNoQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy93aXphcmQtZ2VuZXJhdG9yLWZpbmlzaC1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFdpemFyZEdlbmVyYXRvckdvTmV4dEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvd2l6YXJkLWdlbmVyYXRvci1nby1uZXh0LWJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2l6YXJkR2VuZXJhdG9yUmV2aWV3QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy93aXphcmQtZ2VuZXJhdG9yLXJldmlldy1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFdpemFyZEdlbmVyYXRvclN1bW1hcnlTdGVwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy93aXphcmQtZ2VuZXJhdG9yLXN1bW1hcnktc3RlcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2l6YXJkR2VuZXJhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3dpemFyZC1nZW5lcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBXaXphcmRCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi4vd2l6YXJkLWJvZHkvd2l6YXJkLWJvZHkuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtd2l6YXJkLWdlbmVyYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbV2l6YXJkR2VuZXJhdG9yU2VydmljZSwgRm9ybUdlbmVyYXRvclNlcnZpY2VdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1dpemFyZEJvZHlDb21wb25lbnQsIFdpemFyZE1vZHVsZSwgUmVwZWF0RGlyZWN0aXZlLCBTa2VsZXRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgV2l6YXJkR2VuZXJhdG9yQ29tcG9uZW50IGV4dGVuZHMgQmFzZVdpemFyZEdlbmVyYXRvciB7XG4gICAgLyoqXG4gICAgICogVXNlci1kZWZpbmVkIHRlbXBsYXRlIGZvciBcIkZpbmlzaFwiIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKFdpemFyZEdlbmVyYXRvckZpbmlzaEJ1dHRvbkRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGZpbmlzaEJ1dHRvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBVc2VyLWRlZmluZWQgdGVtcGxhdGUgZm9yIFwiR28gTmV4dFwiIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKFdpemFyZEdlbmVyYXRvckdvTmV4dEJ1dHRvbkRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGdvTmV4dEJ1dHRvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBVc2VyLWRlZmluZWQgdGVtcGxhdGUgZm9yIFN1bW1hcnkgc3RlcC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKFdpemFyZEdlbmVyYXRvclN1bW1hcnlTdGVwRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgY3VzdG9tU3VtbWFyeVN0ZXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogVXNlci1kZWZpbmVkIHRlbXBsYXRlIGZvciBcIlJldmlld1wiIGJ1dHRvblxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoV2l6YXJkR2VuZXJhdG9yUmV2aWV3QnV0dG9uRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgcmV2aWV3QnV0dG9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pjtcbn1cbiIsIkBpZiAod2l6YXJkQ3JlYXRlZCkge1xuICAgIDxmZHAtd2l6YXJkLWJvZHlcbiAgICAgICAgW25hdmlnYXRpb25CdXR0b25MYWJlbHNdPVwiX25hdmlnYXRpb25CdXR0b25MYWJlbHNcIlxuICAgICAgICBbZ29OZXh0QnV0dG9uVGVtcGxhdGVdPVwiZ29OZXh0QnV0dG9uVGVtcGxhdGVcIlxuICAgICAgICBbZmluaXNoQnV0dG9uVGVtcGxhdGVdPVwiZmluaXNoQnV0dG9uVGVtcGxhdGVcIlxuICAgICAgICBbY3VzdG9tU3VtbWFyeVN0ZXBUZW1wbGF0ZV09XCJjdXN0b21TdW1tYXJ5U3RlcFRlbXBsYXRlXCJcbiAgICAgICAgW3Jldmlld0J1dHRvblRlbXBsYXRlXT1cInJldmlld0J1dHRvblRlbXBsYXRlXCJcbiAgICAgICAgW3Jlc3BvbnNpdmVQYWRkaW5nc109XCJyZXNwb25zaXZlUGFkZGluZ3NcIlxuICAgICAgICBbaGlkZGVuXT1cIiF3aXphcmRDcmVhdGVkXCJcbiAgICAgICAgW2FwcGVuZFRvV2l6YXJkXT1cImFwcGVuZFRvV2l6YXJkXCJcbiAgICAgICAgW2NvbnRlbnRIZWlnaHRdPVwiY29udGVudEhlaWdodFwiXG4gICAgICAgIFtpc0ZpcnN0U3RlcF09XCJpc0ZpcnN0U3RlcFwiXG4gICAgICAgIFtpc0xhc3RTdGVwXT1cImlzTGFzdFN0ZXBcIlxuICAgICAgICBbaXNOZXh0U3RlcFN1bW1hcnldPVwiaXNOZXh0U3RlcFN1bW1hcnlcIlxuICAgICAgICBbaXNTdW1tYXJ5U3RlcF09XCJpc1N1bW1hcnlTdGVwXCJcbiAgICAgICAgW2Rpc3BsYXlTdW1tYXJ5U3RlcF09XCJkaXNwbGF5U3VtbWFyeVN0ZXBcIlxuICAgICAgICBbbmF2aWdhdGlvbkJ1dHRvbnNdPVwibmF2aWdhdGlvbkJ1dHRvbnNcIlxuICAgICAgICBbdW5pZmllZExheW91dF09XCJ1bmlmaWVkTGF5b3V0XCJcbiAgICAgICAgW2lzQnJhbmNoaW5nU3RlcF09XCJpc0JyYW5jaGluZ1N0ZXBcIlxuICAgICAgICBbaXNDdXJyZW50U3RlcENvbXBsZXRlZF09XCJpc0N1cnJlbnRTdGVwQ29tcGxldGVkXCJcbiAgICAgICAgW3N0ZXBzT3JkZXJDaGFuZ2VkXT1cIl9zdGVwc09yZGVyQ2hhbmdlZFwiXG4gICAgICAgIChzdGF0dXNDaGFuZ2UpPVwic3RlcFN0YXR1c0NoYW5nZWQoJGV2ZW50LmlkLCAkZXZlbnQuc3RhdHVzKVwiXG4gICAgICAgIChnb05leHQpPVwiZ29OZXh0KClcIlxuICAgICAgICAoZmluaXNoKT1cImZpbmlzaCgpXCJcbiAgICA+PC9mZHAtd2l6YXJkLWJvZHk+XG59IEBlbHNlIHtcbiAgICA8ZmQtd2l6YXJkPlxuICAgICAgICA8ZmQtd2l6YXJkLW5hdmlnYXRpb24+XG4gICAgICAgICAgICA8dWwgZmQtd2l6YXJkLXByb2dyZXNzLWJhciBzaXplPVwibGdcIiByb2xlPVwibGlzdFwiIGFyaWEtbGFiZWw9XCJXaXphcmQgU3RlcHNcIj5cbiAgICAgICAgICAgICAgICA8bGkgKmZka1JlcGVhdD1cIjM7IGxldCBpID0gaW5kZXhcIiBmZC13aXphcmQtc3RlcCBbc3RhdHVzXT1cImkgPT09IDAgPyAnY3VycmVudCcgOiAndXBjb21pbmcnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1za2VsZXRvbiB0eXBlPVwicmVjdGFuZ2xlXCIgd2lkdGg9XCIzMnB4XCIgaGVpZ2h0PVwiMzJweFwiPjwvZmQtc2tlbGV0b24+XG4gICAgICAgICAgICAgICAgICAgIDxmZC13aXphcmQtY29udGVudCBzaXplPVwibGdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1za2VsZXRvbiB0eXBlPVwidGV4dFwiIHdpZHRoPVwiNjAlXCI+PC9mZC1za2VsZXRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC13aXphcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9mZC13aXphcmQtbmF2aWdhdGlvbj5cbiAgICA8L2ZkLXdpemFyZD5cbn1cbjwhLS0gVGhlIFdpemFyZCAtLT5cbiJdfQ==
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, EventEmitter, Input, Output, QueryList, ViewChildren, ViewEncapsulation, inject } from '@angular/core';
|
|
2
2
|
import { FormGeneratorComponent, FormGeneratorService } from '@fundamental-ngx/platform/form';
|
|
3
3
|
import { isFunction } from '@fundamental-ngx/platform/shared';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
|
-
import { debounceTime
|
|
5
|
+
import { debounceTime } from 'rxjs/operators';
|
|
6
6
|
import { WizardGeneratorRefreshStrategy, WizardGeneratorService } from '../../wizard-generator.service';
|
|
7
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
8
|
import { TitleComponent } from '@fundamental-ngx/core/title';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "../../wizard-generator.service";
|
|
@@ -44,7 +45,7 @@ export class WizardGeneratorStepComponent {
|
|
|
44
45
|
* @hidden
|
|
45
46
|
* An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)
|
|
46
47
|
*/
|
|
47
|
-
this.
|
|
48
|
+
this._destroyRef = inject(DestroyRef);
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
51
|
* @hidden
|
|
@@ -57,8 +58,6 @@ export class WizardGeneratorStepComponent {
|
|
|
57
58
|
*/
|
|
58
59
|
ngOnDestroy() {
|
|
59
60
|
this._wizardGeneratorService.removeWizardStepComponent(this.item.id);
|
|
60
|
-
this._onDestroy$.next();
|
|
61
|
-
this._onDestroy$.complete();
|
|
62
61
|
}
|
|
63
62
|
/** @hidden */
|
|
64
63
|
async ngOnChanges(changes) {
|
|
@@ -149,7 +148,9 @@ export class WizardGeneratorStepComponent {
|
|
|
149
148
|
const refreshSteps = strategies[WizardGeneratorRefreshStrategy.REFRESH_STEP_VISIBILITY] !== undefined;
|
|
150
149
|
const revalidateForms = strategies[WizardGeneratorRefreshStrategy.REVALIDATE_STEP_FORMS];
|
|
151
150
|
const refreshFormVisibility = strategies[WizardGeneratorRefreshStrategy.REFRESH_FORM_VISIBILITY];
|
|
152
|
-
control?.valueChanges
|
|
151
|
+
control?.valueChanges
|
|
152
|
+
.pipe(debounceTime(50), takeUntilDestroyed(this._destroyRef))
|
|
153
|
+
.subscribe(async () => {
|
|
153
154
|
if (refreshSteps) {
|
|
154
155
|
await this._wizardGeneratorService.refreshStepVisibility();
|
|
155
156
|
}
|
|
@@ -194,10 +195,10 @@ export class WizardGeneratorStepComponent {
|
|
|
194
195
|
this._visibleFormGroupIds[formGroup.id] = result;
|
|
195
196
|
}
|
|
196
197
|
}
|
|
197
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
198
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.
|
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: WizardGeneratorStepComponent, deps: [{ token: i1.WizardGeneratorService }, { token: i2.FormGeneratorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: WizardGeneratorStepComponent, isStandalone: true, selector: "fdp-wizard-generator-step", inputs: { item: "item", stepStatus: "stepStatus", unifiedLayout: "unifiedLayout" }, outputs: { formsSubmitted: "formsSubmitted", formsCreated: "formsCreated" }, viewQueries: [{ propertyName: "formGenerators", predicate: FormGeneratorComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (item.title) {\n <h3 fd-title>{{ item.title }}</h3>\n}\n@for (form of item.formGroups; track form; let i = $index) {\n @if (_visibleFormGroupIds[form.id] !== false) {\n <fdp-form-generator\n [mainTitle]=\"form.title\"\n [columnLayout]=\"form.columnLayout\"\n [noAdditionalContent]=\"true\"\n [formName]=\"form.id\"\n [formItems]=\"$any(form.formItems)\"\n [hint]=\"form.guiOptions?.hint!\"\n [unifiedLayout]=\"unifiedLayout\"\n (formCreated)=\"onFormCreated($event, form.id)\"\n (formSubmittedStatus)=\"onFormSubmitted($event, form.id)\"\n ></fdp-form-generator>\n }\n}\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: FormGeneratorComponent, selector: "fdp-form-generator", inputs: ["formName", "formItems", "mainTitle", "hideMainTItle", "hint", "columnLayout", "labelColumnLayout", "fieldColumnLayout", "gapColumnLayout", "unifiedLayout", "inlineColumnLayout", "noAdditionalContent"], outputs: ["formCreated", "formSubmitted", "formSubmittedStatus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
199
200
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: WizardGeneratorStepComponent, decorators: [{
|
|
201
202
|
type: Component,
|
|
202
203
|
args: [{ selector: 'fdp-wizard-generator-step', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TitleComponent, FormGeneratorComponent], template: "@if (item.title) {\n <h3 fd-title>{{ item.title }}</h3>\n}\n@for (form of item.formGroups; track form; let i = $index) {\n @if (_visibleFormGroupIds[form.id] !== false) {\n <fdp-form-generator\n [mainTitle]=\"form.title\"\n [columnLayout]=\"form.columnLayout\"\n [noAdditionalContent]=\"true\"\n [formName]=\"form.id\"\n [formItems]=\"$any(form.formItems)\"\n [hint]=\"form.guiOptions?.hint!\"\n [unifiedLayout]=\"unifiedLayout\"\n (formCreated)=\"onFormCreated($event, form.id)\"\n (formSubmittedStatus)=\"onFormSubmitted($event, form.id)\"\n ></fdp-form-generator>\n }\n}\n" }]
|
|
203
204
|
}], ctorParameters: () => [{ type: i1.WizardGeneratorService }, { type: i2.FormGeneratorService }], propDecorators: { formGenerators: [{
|
|
@@ -214,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
214
215
|
}], formsCreated: [{
|
|
215
216
|
type: Output
|
|
216
217
|
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLWdlbmVyYXRvci1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd2l6YXJkLWdlbmVyYXRvci9jb21wb25lbnRzL3dpemFyZC1nZW5lcmF0b3Itc3RlcC93aXphcmQtZ2VuZXJhdG9yLXN0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aXphcmQtZ2VuZXJhdG9yL2NvbXBvbmVudHMvd2l6YXJkLWdlbmVyYXRvci1zdGVwL3dpemFyZC1nZW5lcmF0b3Itc3RlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBR0gsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUV2QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJekQsT0FBTyxFQUVILDhCQUE4QixFQUM5QixzQkFBc0IsRUFDekIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFVN0QsTUFBTSxPQUFPLDRCQUE0QjtJQXlFckMsY0FBYztJQUNkLFlBQ1ksdUJBQStDLEVBQy9DLHFCQUEyQztRQUQzQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQy9DLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7UUExRHZELG1GQUFtRjtRQUVuRixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQjs7V0FFRztRQUVILG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFFeEQ7O1dBRUc7UUFFSCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRW5EOztXQUVHO1FBQ0ssb0JBQWUsR0FBNkIsRUFBRSxDQUFDO1FBRXZEOztXQUVHO1FBQ0ssb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBbUMsQ0FBQztRQUV6RTs7V0FFRztRQUNLLFdBQU0sR0FBb0IsRUFBRSxDQUFDO1FBWXJDOzs7V0FHRztRQUNLLDJCQUFzQixHQUUxQixFQUFFLENBQUM7UUFFUDs7O1dBR0c7UUFDYyxnQkFBVyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBTS9ELENBQUM7SUFFSjs7T0FFRztJQUNILFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjO0lBQ2QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFzQjtRQUNwQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4RyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLElBQXNCLEVBQUUsR0FBVztRQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNuRSxJQUFJO1NBQ1AsQ0FBQztRQUVGLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFM0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFO1lBQ2xFLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0RDtRQUVELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLG9CQUFvQjtRQUN0QixJQUFJLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsTUFBNkIsRUFBRSxLQUFhO1FBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBRXJDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQ3pFLGdFQUFnRTtZQUNoRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDaEYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDL0I7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsZUFBZSxHQUFHLEtBQUs7UUFDL0IsSUFBSSxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDOUUsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUMvQjtRQUVELG1FQUFtRTtRQUNuRSxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUUxQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDMUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssNkJBQTZCLENBQUMsSUFBc0IsRUFBRSxHQUFXO1FBQ3JFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFekYsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtnQkFDdkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRXpFLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLFNBQVMsQ0FBQztnQkFDdEcsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLDhCQUE4QixDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQ3pGLE1BQU0scUJBQXFCLEdBQUcsVUFBVSxDQUFDLDhCQUE4QixDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBRWpHLE9BQU8sRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO29CQUMzRixJQUFJLFlBQVksRUFBRTt3QkFDZCxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO3FCQUM5RDtvQkFFRCxJQUFJLGVBQWUsRUFBRSxNQUFNLEVBQUU7d0JBQ3pCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztxQkFDOUU7b0JBRUQsSUFBSSxxQkFBcUIsRUFBRSxNQUFNLEVBQUU7d0JBQy9CLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUM7cUJBQ3BGO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxnQkFBZ0I7UUFDbEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdkQsTUFBTSxhQUFhLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUNoRDtTQUNKO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLHNCQUFzQjtRQUN4QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN2QixPQUFPO1NBQ1Y7UUFFRCxLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQzlFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRW5GLElBQUksTUFBTSxLQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3BELE9BQU87YUFDVjtZQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUU3QyxrREFBa0Q7WUFDbEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDVCxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUM7YUFDM0Q7WUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztTQUNwRDtJQUNMLENBQUM7OEdBL1BRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHlSQUl2QixzQkFBc0IscUVDakR4QywyckJBa0JBLDRDRHlCYyxjQUFjLHVMQUFFLHNCQUFzQjs7MkZBRXZDLDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDSSwyQkFBMkIsaUJBRXRCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDOzhIQU1YLGNBQWM7c0JBQW5ELFlBQVk7dUJBQUMsc0JBQXNCO2dCQU1wQyxJQUFJO3NCQURILEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSztnQkFPTixjQUFjO3NCQURiLE1BQU07Z0JBT1AsWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaXphcmRTdGVwU3RhdHVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3dpemFyZCc7XG5cbmltcG9ydCB7XG4gICAgRHluYW1pY0Zvcm1Hcm91cCxcbiAgICBEeW5hbWljRm9ybVZhbHVlLFxuICAgIEZvcm1HZW5lcmF0b3JDb21wb25lbnQsXG4gICAgRm9ybUdlbmVyYXRvclNlcnZpY2UsXG4gICAgU3VibWl0Rm9ybUV2ZW50UmVzdWx0XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vZm9ybSc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBXaXphcmRTdGVwRm9ybXMsIFdpemFyZFN0ZXBTdWJtaXR0ZWRGb3JtcyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvd2l6YXJkLWdlbmVyYXRvci1mb3Jtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2l6YXJkR2VuZXJhdG9ySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvd2l6YXJkLWdlbmVyYXRvci1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXaXphcmRHZW5lcmF0b3JTdGVwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93aXphcmQtc3RlcC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgICBEZXBlbmRlbmN5U3RlcHMsXG4gICAgV2l6YXJkR2VuZXJhdG9yUmVmcmVzaFN0cmF0ZWd5LFxuICAgIFdpemFyZEdlbmVyYXRvclNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vd2l6YXJkLWdlbmVyYXRvci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGl0bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC13aXphcmQtZ2VuZXJhdG9yLXN0ZXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi93aXphcmQtZ2VuZXJhdG9yLXN0ZXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGl0bGVDb21wb25lbnQsIEZvcm1HZW5lcmF0b3JDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFdpemFyZEdlbmVyYXRvclN0ZXBDb21wb25lbnQgaW1wbGVtZW50cyBXaXphcmRHZW5lcmF0b3JTdGVwLCBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gU3RlcCBGb3JtIEdlbmVyYXRvciBjb21wb25lbnRzLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oRm9ybUdlbmVyYXRvckNvbXBvbmVudCkgZm9ybUdlbmVyYXRvcnM6IFF1ZXJ5TGlzdDxGb3JtR2VuZXJhdG9yQ29tcG9uZW50PjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDdXJyZW50IHN0ZXAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpdGVtOiBXaXphcmRHZW5lcmF0b3JJdGVtO1xuXG4gICAgLyoqXG4gICAgICogV2l6YXJkIHN0ZXAgc3RhdHVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RlcFN0YXR1czogV2l6YXJkU3RlcFN0YXR1cztcblxuICAgIC8qKiBXaGV0aGVyIGFsbCBmb3JtIGl0ZW1zIHNob3VsZCBoYXZlIGlkZW50aWNhbCBsYXlvdXQgcHJvdmlkZWQgZm9yIGZvcm0gZ3JvdXAuICovXG4gICAgQElucHV0KClcbiAgICB1bmlmaWVkTGF5b3V0ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0cyB3aGVuIGFsbCBmb3JtcyBpbiB0aGUgc3RlcCBoYXMgYmVlbiBzdWJtaXRlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1zU3VibWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEeW5hbWljRm9ybVZhbHVlW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBhbGwgZm9ybXMgaW4gdGhlIHN0ZXAgaGFzIGJlZW4gY3JlYXRlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1zQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8V2l6YXJkU3RlcEZvcm1zPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX3N1Ym1pdHRlZEZvcm1zOiBXaXphcmRTdGVwU3VibWl0dGVkRm9ybXMgPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9mb3JtU3VibWl0dGVkJCA9IG5ldyBTdWJqZWN0PFdpemFyZFN0ZXBTdWJtaXR0ZWRGb3JtcyB8IG51bGw+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZm9ybXM6IFdpemFyZFN0ZXBGb3JtcyA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX3RyYWNrZWRGaWVsZHM6IERlcGVuZGVuY3lTdGVwcztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBfdmlzaWJsZUZvcm1Hcm91cElkczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9oaWRkZW5Gb3JtR3JvdXBWYWx1ZXM6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH0gPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF93aXphcmRHZW5lcmF0b3JTZXJ2aWNlOiBXaXphcmRHZW5lcmF0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9mb3JtR2VuZXJhdG9yU2VydmljZTogRm9ybUdlbmVyYXRvclNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaEZvcm1zVmlzaWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS5yZW1vdmVXaXphcmRTdGVwQ29tcG9uZW50KHRoaXMuaXRlbS5pZCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnN0ZXBTdGF0dXMgJiYgY2hhbmdlcy5zdGVwU3RhdHVzLmN1cnJlbnRWYWx1ZSA9PT0gJ2N1cnJlbnQnICYmIHRoaXMuZm9ybUdlbmVyYXRvcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlRm9ybXNTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEFkZHMgY3JlYXRlZCBmb3JtIGluc3RhbmNlIHRvIHRoZSBvYmplY3Qgb2YgdGhlIGZvcm1zLlxuICAgICAqIEBwYXJhbSBmb3JtIEZvcm0gaW5zdGFuY2VcbiAgICAgKiBAcGFyYW0ga2V5IEZvcm0gSUQgZnJvbSBAc2VlIGl0ZW1cbiAgICAgKi9cbiAgICBhc3luYyBvbkZvcm1DcmVhdGVkKGZvcm06IER5bmFtaWNGb3JtR3JvdXAsIGtleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuX2Zvcm1zW2tleV0gPSB7XG4gICAgICAgICAgICB0aXRsZTogdGhpcy5pdGVtLmZvcm1Hcm91cHM/LmZpbmQoKGcpID0+IGcuaWQgPT09IGtleSk/LnRpdGxlID8/ICcnLFxuICAgICAgICAgICAgZm9ybVxuICAgICAgICB9O1xuXG4gICAgICAgIGF3YWl0IHRoaXMuX3dpemFyZEdlbmVyYXRvclNlcnZpY2UucmVmcmVzaFN0ZXBWaXNpYmlsaXR5KCk7XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuX2Zvcm1zKS5sZW5ndGggPT09IHRoaXMuaXRlbS5mb3JtR3JvdXBzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuYWRkQ29tcG9uZW50VG9QYXJlbnQoKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybXNDcmVhdGVkLmVtaXQodGhpcy5fZm9ybXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2hpZGRlbkZvcm1Hcm91cFZhbHVlc1trZXldKSB7XG4gICAgICAgICAgICBmb3JtPy5wYXRjaFZhbHVlKHRoaXMuX2hpZGRlbkZvcm1Hcm91cFZhbHVlc1trZXldKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3RyYWNrRGVwZW5kZW5jeUZpZWxkc0NoYW5nZXMoZm9ybSwga2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQWRkcyBjb21wb25lbnQgdG8gdGhlIHNlcnZpY2UgZm9yIGZ1cnRoZXIgdXNhZ2UuXG4gICAgICovXG4gICAgYXN5bmMgYWRkQ29tcG9uZW50VG9QYXJlbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuX3dpemFyZEdlbmVyYXRvclNlcnZpY2UuYWRkV2l6YXJkU3RlcENvbXBvbmVudCh0aGlzLCB0aGlzLml0ZW0uaWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDYWxsYmFjayBmdW5jdGlvbiB3aGVuIGZvcm0gaGFzIGJlZW4gc3VibWl0dGVkLlxuICAgICAqIEBwYXJhbSByZXN1bHQgRm9ybSBzdWJtaXNzaW9uIHJlc3VsdC5cbiAgICAgKiBAcGFyYW0gaW5kZXggRm9ybSBpbmRleCBpbiB0aGUgc3RlcC5cbiAgICAgKi9cbiAgICBvbkZvcm1TdWJtaXR0ZWQocmVzdWx0OiBTdWJtaXRGb3JtRXZlbnRSZXN1bHQsIGluZGV4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkRm9ybXNbaW5kZXhdID0gcmVzdWx0O1xuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLl9zdWJtaXR0ZWRGb3JtcykubGVuZ3RoID09PSB0aGlzLmZvcm1HZW5lcmF0b3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gTGFzdCBmb3JtIHN1Ym1pc3Npb24uIFNlbmQgZGF0YSBiYWNrIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50LlxuICAgICAgICAgICAgdGhpcy5fZm9ybVN1Ym1pdHRlZCQubmV4dCh0aGlzLl9zdWJtaXR0ZWRGb3Jtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHZpc2libGUgZm9ybXMgaW4gdGhlIHN0ZXAuXG4gICAgICovXG4gICAgZ2V0VmlzaWJsZUZvcm1zKCk6IFdpemFyZFN0ZXBGb3JtcyB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLl9mb3JtcykucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3Zpc2libGVGb3JtR3JvdXBJZHNba2V5XSB8fCB0aGlzLl92aXNpYmxlRm9ybUdyb3VwSWRzW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGFjY1trZXldID0gdGhpcy5fZm9ybXNba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ2xlYXJzIHByZXZpb3VzbHkgc3VibWl0dGVkIGZvcm0gdmFsdWVzIGFuZCByZS1zdWJtaXQgdGhlbSBhZ2Fpbi5cbiAgICAgKiBAcmV0dXJucyBTdWJqZWN0LCB3aGljaCB3aWxsIHJldHVybiBmb3JtcyB2YWx1ZS5cbiAgICAgKi9cbiAgICBzdWJtaXRGb3Jtcyhza2lwSWZVbnRvdWNoZWQgPSBmYWxzZSk6IFN1YmplY3Q8V2l6YXJkU3RlcFN1Ym1pdHRlZEZvcm1zIHwgbnVsbD4ge1xuICAgICAgICBpZiAoc2tpcElmVW50b3VjaGVkICYmICF0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLnN0ZXBTdWJtaXR0ZWQodGhpcy5pdGVtLmlkKSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZm9ybVN1Ym1pdHRlZCQubmV4dChudWxsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1TdWJtaXR0ZWQkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2xlYXIgcHJldmlvdXNseSBzdWJtaXR0ZWQgZm9ybSB2YWx1ZXMgYW5kIHJlLXN1Ym1pdCB0aGVtIGFnYWluLlxuICAgICAgICB0aGlzLl9zdWJtaXR0ZWRGb3JtcyA9IHt9O1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtR2VuZXJhdG9ycy5mb3JFYWNoKChmb3JtQ29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZm9ybUNvbXBvbmVudC5zdWJtaXQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybVN1Ym1pdHRlZCQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBkZXNjcmlwdGlvbiBLZWVwcyB0cmFjayBvbiBkZXBlbmRlbmN5IGZpZWxkcyBmb3Igb3RoZXIgc3RlcHMgYW5kIHJlZnJlc2hlcyB0aGUgdmlldyB3aGVuIHRoZXkgY2hhbmdlZC5cbiAgICAgKiBAcGFyYW0gZm9ybVxuICAgICAqIEBwYXJhbSBrZXlcbiAgICAgKi9cbiAgICBwcml2YXRlIF90cmFja0RlcGVuZGVuY3lGaWVsZHNDaGFuZ2VzKGZvcm06IER5bmFtaWNGb3JtR3JvdXAsIGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RyYWNrZWRGaWVsZHMgPSB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLmdldFN0ZXBEZXBlbmRlbmN5RmllbGRzKHRoaXMuaXRlbS5pZCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3RyYWNrZWRGaWVsZHMgJiYgdGhpcy5fdHJhY2tlZEZpZWxkc1trZXldKSB7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyh0aGlzLl90cmFja2VkRmllbGRzW2tleV0pLmZvckVhY2goKFtmaWVsZElkLCBzdHJhdGVnaWVzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9mb3JtR2VuZXJhdG9yU2VydmljZS5nZXRGb3JtQ29udHJvbChmb3JtLCBmaWVsZElkKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hTdGVwcyA9IHN0cmF0ZWdpZXNbV2l6YXJkR2VuZXJhdG9yUmVmcmVzaFN0cmF0ZWd5LlJFRlJFU0hfU1RFUF9WSVNJQklMSVRZXSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJldmFsaWRhdGVGb3JtcyA9IHN0cmF0ZWdpZXNbV2l6YXJkR2VuZXJhdG9yUmVmcmVzaFN0cmF0ZWd5LlJFVkFMSURBVEVfU1RFUF9GT1JNU107XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmcmVzaEZvcm1WaXNpYmlsaXR5ID0gc3RyYXRlZ2llc1tXaXphcmRHZW5lcmF0b3JSZWZyZXNoU3RyYXRlZ3kuUkVGUkVTSF9GT1JNX1ZJU0lCSUxJVFldO1xuXG4gICAgICAgICAgICAgICAgY29udHJvbD8udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDUwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVmcmVzaFN0ZXBzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLnJlZnJlc2hTdGVwVmlzaWJpbGl0eSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJldmFsaWRhdGVGb3Jtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLm5vdGlmeVN0ZXBzVG9SZXZhbGlkYXRlRm9ybXMocmV2YWxpZGF0ZUZvcm1zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWZyZXNoRm9ybVZpc2liaWxpdHk/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS5yZWZyZXNoRm9ybXNWaXNpYmlsaXR5KHJlZnJlc2hGb3JtVmlzaWJpbGl0eSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlcnMgZm9ybSB2YWx1ZSByZXZhbGlkYXRpb24gYW5kIGNoZWNrcyBpZiBmaWVsZCBpbiBmb3JtIHNob3VsZCBiZSB2aXNpYmxlLlxuICAgICAqL1xuICAgIGFzeW5jIHVwZGF0ZUZvcm1zU3RhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmZvcm1HZW5lcmF0b3JzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZvcm1HZW5lcmF0b3Igb2YgdGhpcy5mb3JtR2VuZXJhdG9ycy50b0FycmF5KCkpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBmb3JtR2VuZXJhdG9yLnJlZnJlc2hTdGVwc1Zpc2liaWxpdHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZnJlc2hlcyBzdGVwIGZvcm0gZ3JvdXAgdmlzaWJpbGl0eS5cbiAgICAgKi9cbiAgICBhc3luYyByZWZyZXNoRm9ybXNWaXNpYmlsaXR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLl92aXNpYmxlRm9ybUdyb3VwSWRzID0ge307XG5cbiAgICAgICAgaWYgKCF0aGlzLml0ZW0uZm9ybUdyb3Vwcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBmb3JtR3JvdXAgb2YgdGhpcy5pdGVtLmZvcm1Hcm91cHMuZmlsdGVyKChmZykgPT4gaXNGdW5jdGlvbihmZy53aGVuKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuX3dpemFyZEdlbmVyYXRvclNlcnZpY2UucmVmcmVzaEZvcm1WaXNpYmlsaXR5KGZvcm1Hcm91cCk7XG5cbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHRoaXMuX3Zpc2libGVGb3JtR3JvdXBJZHNbZm9ybUdyb3VwLmlkXSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuX2Zvcm1zW2Zvcm1Hcm91cC5pZF0/LmZvcm07XG5cbiAgICAgICAgICAgIC8vIFN0b3JlIGZvcm0gdmFsdWUgc28gaXQgY291bGQgYmUgcmVzdG9yZWQgbGF0ZXIuXG4gICAgICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hpZGRlbkZvcm1Hcm91cFZhbHVlc1tmb3JtR3JvdXAuaWRdID0gZm9ybT8udmFsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGVGb3JtR3JvdXBJZHNbZm9ybUdyb3VwLmlkXSA9IHJlc3VsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoaXRlbS50aXRsZSkge1xuICAgIDxoMyBmZC10aXRsZT57eyBpdGVtLnRpdGxlIH19PC9oMz5cbn1cbkBmb3IgKGZvcm0gb2YgaXRlbS5mb3JtR3JvdXBzOyB0cmFjayBmb3JtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgIEBpZiAoX3Zpc2libGVGb3JtR3JvdXBJZHNbZm9ybS5pZF0gIT09IGZhbHNlKSB7XG4gICAgICAgIDxmZHAtZm9ybS1nZW5lcmF0b3JcbiAgICAgICAgICAgIFttYWluVGl0bGVdPVwiZm9ybS50aXRsZVwiXG4gICAgICAgICAgICBbY29sdW1uTGF5b3V0XT1cImZvcm0uY29sdW1uTGF5b3V0XCJcbiAgICAgICAgICAgIFtub0FkZGl0aW9uYWxDb250ZW50XT1cInRydWVcIlxuICAgICAgICAgICAgW2Zvcm1OYW1lXT1cImZvcm0uaWRcIlxuICAgICAgICAgICAgW2Zvcm1JdGVtc109XCIkYW55KGZvcm0uZm9ybUl0ZW1zKVwiXG4gICAgICAgICAgICBbaGludF09XCJmb3JtLmd1aU9wdGlvbnM/LmhpbnQhXCJcbiAgICAgICAgICAgIFt1bmlmaWVkTGF5b3V0XT1cInVuaWZpZWRMYXlvdXRcIlxuICAgICAgICAgICAgKGZvcm1DcmVhdGVkKT1cIm9uRm9ybUNyZWF0ZWQoJGV2ZW50LCBmb3JtLmlkKVwiXG4gICAgICAgICAgICAoZm9ybVN1Ym1pdHRlZFN0YXR1cyk9XCJvbkZvcm1TdWJtaXR0ZWQoJGV2ZW50LCBmb3JtLmlkKVwiXG4gICAgICAgID48L2ZkcC1mb3JtLWdlbmVyYXRvcj5cbiAgICB9XG59XG4iXX0=
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLWdlbmVyYXRvci1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd2l6YXJkLWdlbmVyYXRvci9jb21wb25lbnRzL3dpemFyZC1nZW5lcmF0b3Itc3RlcC93aXphcmQtZ2VuZXJhdG9yLXN0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aXphcmQtZ2VuZXJhdG9yL2NvbXBvbmVudHMvd2l6YXJkLWdlbmVyYXRvci1zdGVwL3dpemFyZC1nZW5lcmF0b3Itc3RlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxFQUVULFlBQVksRUFDWixpQkFBaUIsRUFDakIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFHSCxzQkFBc0IsRUFDdEIsb0JBQW9CLEVBRXZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTlDLE9BQU8sRUFFSCw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBQ3pCLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBVTdELE1BQU0sT0FBTyw0QkFBNEI7SUF5RXJDLGNBQWM7SUFDZCxZQUNZLHVCQUErQyxFQUMvQyxxQkFBMkM7UUFEM0MsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF3QjtRQUMvQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBMUR2RCxtRkFBbUY7UUFFbkYsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFckI7O1dBRUc7UUFFSCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBRXhEOztXQUVHO1FBRUgsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVuRDs7V0FFRztRQUNLLG9CQUFlLEdBQTZCLEVBQUUsQ0FBQztRQUV2RDs7V0FFRztRQUNLLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQW1DLENBQUM7UUFFekU7O1dBRUc7UUFDSyxXQUFNLEdBQW9CLEVBQUUsQ0FBQztRQVlyQzs7O1dBR0c7UUFDSywyQkFBc0IsR0FFMUIsRUFBRSxDQUFDO1FBRVA7OztXQUdHO1FBQ2MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFNL0MsQ0FBQztJQUVKOztPQUVHO0lBQ0gsUUFBUTtRQUNKLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxJQUFJLENBQUMsdUJBQXVCLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsY0FBYztJQUNkLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBc0I7UUFDcEMsSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUNqQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFzQixFQUFFLEdBQVc7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRztZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDbkUsSUFBSTtTQUNQLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTNELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRTtZQUNsRSxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QztRQUVELElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxvQkFBb0I7UUFDdEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLE1BQTZCLEVBQUUsS0FBYTtRQUN4RCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUVyQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUN6RSxnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNYLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2hELElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ2hGLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLGVBQWUsR0FBRyxLQUFLO1FBQy9CLElBQUksZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzlFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDL0I7UUFFRCxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFFMUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQzFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLDZCQUE2QixDQUFDLElBQXNCLEVBQUUsR0FBVztRQUNyRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUV6RSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsOEJBQThCLENBQUMsdUJBQXVCLENBQUMsS0FBSyxTQUFTLENBQUM7Z0JBQ3RHLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUN6RixNQUFNLHFCQUFxQixHQUFHLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUVqRyxPQUFPLEVBQUUsWUFBWTtxQkFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7cUJBQzVELFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDbEIsSUFBSSxZQUFZLEVBQUU7d0JBQ2QsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztxQkFDOUQ7b0JBRUQsSUFBSSxlQUFlLEVBQUUsTUFBTSxFQUFFO3dCQUN6QixJQUFJLENBQUMsdUJBQXVCLENBQUMsNEJBQTRCLENBQUMsZUFBZSxDQUFDLENBQUM7cUJBQzlFO29CQUVELElBQUkscUJBQXFCLEVBQUUsTUFBTSxFQUFFO3dCQUMvQixNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO3FCQUNwRjtnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCO1FBQ2xCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3ZELE1BQU0sYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUM7YUFDaEQ7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxzQkFBc0I7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdkIsT0FBTztTQUNWO1FBRUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUM5RSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVuRixJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNwRCxPQUFPO2FBQ1Y7WUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUM7WUFFN0Msa0RBQWtEO1lBQ2xELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDO2FBQzNEO1lBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDcEQ7SUFDTCxDQUFDOzhHQS9QUSw0QkFBNEI7a0dBQTVCLDRCQUE0Qix5UkFJdkIsc0JBQXNCLHFFQ3BEeEMsMnJCQWtCQSw0Q0Q0QmMsY0FBYyx1TUFBRSxzQkFBc0I7OzJGQUV2Qyw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0ksMkJBQTJCLGlCQUV0QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQzs4SEFNWCxjQUFjO3NCQUFuRCxZQUFZO3VCQUFDLHNCQUFzQjtnQkFNcEMsSUFBSTtzQkFESCxLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBT04sY0FBYztzQkFEYixNQUFNO2dCQU9QLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2l6YXJkU3RlcFN0YXR1cyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS93aXphcmQnO1xuXG5pbXBvcnQge1xuICAgIER5bmFtaWNGb3JtR3JvdXAsXG4gICAgRHluYW1pY0Zvcm1WYWx1ZSxcbiAgICBGb3JtR2VuZXJhdG9yQ29tcG9uZW50LFxuICAgIEZvcm1HZW5lcmF0b3JTZXJ2aWNlLFxuICAgIFN1Ym1pdEZvcm1FdmVudFJlc3VsdFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL2Zvcm0nO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdpemFyZFN0ZXBGb3JtcywgV2l6YXJkU3RlcFN1Ym1pdHRlZEZvcm1zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93aXphcmQtZ2VuZXJhdG9yLWZvcm1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXaXphcmRHZW5lcmF0b3JJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93aXphcmQtZ2VuZXJhdG9yLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFdpemFyZEdlbmVyYXRvclN0ZXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3dpemFyZC1zdGVwLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICAgIERlcGVuZGVuY3lTdGVwcyxcbiAgICBXaXphcmRHZW5lcmF0b3JSZWZyZXNoU3RyYXRlZ3ksXG4gICAgV2l6YXJkR2VuZXJhdG9yU2VydmljZVxufSBmcm9tICcuLi8uLi93aXphcmQtZ2VuZXJhdG9yLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90aXRsZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXdpemFyZC1nZW5lcmF0b3Itc3RlcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC1nZW5lcmF0b3Itc3RlcC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaXRsZUNvbXBvbmVudCwgRm9ybUdlbmVyYXRvckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgV2l6YXJkR2VuZXJhdG9yU3RlcENvbXBvbmVudCBpbXBsZW1lbnRzIFdpemFyZEdlbmVyYXRvclN0ZXAsIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTdGVwIEZvcm0gR2VuZXJhdG9yIGNvbXBvbmVudHMuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZHJlbihGb3JtR2VuZXJhdG9yQ29tcG9uZW50KSBmb3JtR2VuZXJhdG9yczogUXVlcnlMaXN0PEZvcm1HZW5lcmF0b3JDb21wb25lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEN1cnJlbnQgc3RlcC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGl0ZW06IFdpemFyZEdlbmVyYXRvckl0ZW07XG5cbiAgICAvKipcbiAgICAgKiBXaXphcmQgc3RlcCBzdGF0dXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGVwU3RhdHVzOiBXaXphcmRTdGVwU3RhdHVzO1xuXG4gICAgLyoqIFdoZXRoZXIgYWxsIGZvcm0gaXRlbXMgc2hvdWxkIGhhdmUgaWRlbnRpY2FsIGxheW91dCBwcm92aWRlZCBmb3IgZm9ybSBncm91cC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHVuaWZpZWRMYXlvdXQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRzIHdoZW4gYWxsIGZvcm1zIGluIHRoZSBzdGVwIGhhcyBiZWVuIHN1Ym1pdGVkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybXNTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPER5bmFtaWNGb3JtVmFsdWVbXT4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0cyB3aGVuIGFsbCBmb3JtcyBpbiB0aGUgc3RlcCBoYXMgYmVlbiBjcmVhdGVkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybXNDcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxXaXphcmRTdGVwRm9ybXM+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc3VibWl0dGVkRm9ybXM6IFdpemFyZFN0ZXBTdWJtaXR0ZWRGb3JtcyA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX2Zvcm1TdWJtaXR0ZWQkID0gbmV3IFN1YmplY3Q8V2l6YXJkU3RlcFN1Ym1pdHRlZEZvcm1zIHwgbnVsbD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9mb3JtczogV2l6YXJkU3RlcEZvcm1zID0ge307XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdHJhY2tlZEZpZWxkczogRGVwZW5kZW5jeVN0ZXBzO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIF92aXNpYmxlRm9ybUdyb3VwSWRzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2hpZGRlbkZvcm1Hcm91cFZhbHVlczoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgfSA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZylcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfd2l6YXJkR2VuZXJhdG9yU2VydmljZTogV2l6YXJkR2VuZXJhdG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfZm9ybUdlbmVyYXRvclNlcnZpY2U6IEZvcm1HZW5lcmF0b3JTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZnJlc2hGb3Jtc1Zpc2liaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3dpemFyZEdlbmVyYXRvclNlcnZpY2UucmVtb3ZlV2l6YXJkU3RlcENvbXBvbmVudCh0aGlzLml0ZW0uaWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoY2hhbmdlcy5zdGVwU3RhdHVzICYmIGNoYW5nZXMuc3RlcFN0YXR1cy5jdXJyZW50VmFsdWUgPT09ICdjdXJyZW50JyAmJiB0aGlzLmZvcm1HZW5lcmF0b3JzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZUZvcm1zU3RhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBZGRzIGNyZWF0ZWQgZm9ybSBpbnN0YW5jZSB0byB0aGUgb2JqZWN0IG9mIHRoZSBmb3Jtcy5cbiAgICAgKiBAcGFyYW0gZm9ybSBGb3JtIGluc3RhbmNlXG4gICAgICogQHBhcmFtIGtleSBGb3JtIElEIGZyb20gQHNlZSBpdGVtXG4gICAgICovXG4gICAgYXN5bmMgb25Gb3JtQ3JlYXRlZChmb3JtOiBEeW5hbWljRm9ybUdyb3VwLCBrZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLl9mb3Jtc1trZXldID0ge1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMuaXRlbS5mb3JtR3JvdXBzPy5maW5kKChnKSA9PiBnLmlkID09PSBrZXkpPy50aXRsZSA/PyAnJyxcbiAgICAgICAgICAgIGZvcm1cbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLnJlZnJlc2hTdGVwVmlzaWJpbGl0eSgpO1xuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLl9mb3JtcykubGVuZ3RoID09PSB0aGlzLml0ZW0uZm9ybUdyb3Vwcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmFkZENvbXBvbmVudFRvUGFyZW50KCk7XG4gICAgICAgICAgICB0aGlzLmZvcm1zQ3JlYXRlZC5lbWl0KHRoaXMuX2Zvcm1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9oaWRkZW5Gb3JtR3JvdXBWYWx1ZXNba2V5XSkge1xuICAgICAgICAgICAgZm9ybT8ucGF0Y2hWYWx1ZSh0aGlzLl9oaWRkZW5Gb3JtR3JvdXBWYWx1ZXNba2V5XSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl90cmFja0RlcGVuZGVuY3lGaWVsZHNDaGFuZ2VzKGZvcm0sIGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEFkZHMgY29tcG9uZW50IHRvIHRoZSBzZXJ2aWNlIGZvciBmdXJ0aGVyIHVzYWdlLlxuICAgICAqL1xuICAgIGFzeW5jIGFkZENvbXBvbmVudFRvUGFyZW50KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLmFkZFdpemFyZFN0ZXBDb21wb25lbnQodGhpcywgdGhpcy5pdGVtLmlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBmb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZC5cbiAgICAgKiBAcGFyYW0gcmVzdWx0IEZvcm0gc3VibWlzc2lvbiByZXN1bHQuXG4gICAgICogQHBhcmFtIGluZGV4IEZvcm0gaW5kZXggaW4gdGhlIHN0ZXAuXG4gICAgICovXG4gICAgb25Gb3JtU3VibWl0dGVkKHJlc3VsdDogU3VibWl0Rm9ybUV2ZW50UmVzdWx0LCBpbmRleDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1Ym1pdHRlZEZvcm1zW2luZGV4XSA9IHJlc3VsdDtcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5fc3VibWl0dGVkRm9ybXMpLmxlbmd0aCA9PT0gdGhpcy5mb3JtR2VuZXJhdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIExhc3QgZm9ybSBzdWJtaXNzaW9uLiBTZW5kIGRhdGEgYmFjayB0byB0aGUgcGFyZW50IGNvbXBvbmVudC5cbiAgICAgICAgICAgIHRoaXMuX2Zvcm1TdWJtaXR0ZWQkLm5leHQodGhpcy5fc3VibWl0dGVkRm9ybXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB2aXNpYmxlIGZvcm1zIGluIHRoZSBzdGVwLlxuICAgICAqL1xuICAgIGdldFZpc2libGVGb3JtcygpOiBXaXphcmRTdGVwRm9ybXMge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5fZm9ybXMpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl92aXNpYmxlRm9ybUdyb3VwSWRzW2tleV0gfHwgdGhpcy5fdmlzaWJsZUZvcm1Hcm91cElkc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBhY2Nba2V5XSA9IHRoaXMuX2Zvcm1zW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENsZWFycyBwcmV2aW91c2x5IHN1Ym1pdHRlZCBmb3JtIHZhbHVlcyBhbmQgcmUtc3VibWl0IHRoZW0gYWdhaW4uXG4gICAgICogQHJldHVybnMgU3ViamVjdCwgd2hpY2ggd2lsbCByZXR1cm4gZm9ybXMgdmFsdWUuXG4gICAgICovXG4gICAgc3VibWl0Rm9ybXMoc2tpcElmVW50b3VjaGVkID0gZmFsc2UpOiBTdWJqZWN0PFdpemFyZFN0ZXBTdWJtaXR0ZWRGb3JtcyB8IG51bGw+IHtcbiAgICAgICAgaWYgKHNraXBJZlVudG91Y2hlZCAmJiAhdGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS5zdGVwU3VibWl0dGVkKHRoaXMuaXRlbS5pZCkpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1TdWJtaXR0ZWQkLm5leHQobnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3JtU3VibWl0dGVkJDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENsZWFyIHByZXZpb3VzbHkgc3VibWl0dGVkIGZvcm0gdmFsdWVzIGFuZCByZS1zdWJtaXQgdGhlbSBhZ2Fpbi5cbiAgICAgICAgdGhpcy5fc3VibWl0dGVkRm9ybXMgPSB7fTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdlbmVyYXRvcnMuZm9yRWFjaCgoZm9ybUNvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGZvcm1Db21wb25lbnQuc3VibWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1TdWJtaXR0ZWQkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAZGVzY3JpcHRpb24gS2VlcHMgdHJhY2sgb24gZGVwZW5kZW5jeSBmaWVsZHMgZm9yIG90aGVyIHN0ZXBzIGFuZCByZWZyZXNoZXMgdGhlIHZpZXcgd2hlbiB0aGV5IGNoYW5nZWQuXG4gICAgICogQHBhcmFtIGZvcm1cbiAgICAgKiBAcGFyYW0ga2V5XG4gICAgICovXG4gICAgcHJpdmF0ZSBfdHJhY2tEZXBlbmRlbmN5RmllbGRzQ2hhbmdlcyhmb3JtOiBEeW5hbWljRm9ybUdyb3VwLCBrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmFja2VkRmllbGRzID0gdGhpcy5fd2l6YXJkR2VuZXJhdG9yU2VydmljZS5nZXRTdGVwRGVwZW5kZW5jeUZpZWxkcyh0aGlzLml0ZW0uaWQpO1xuXG4gICAgICAgIGlmICh0aGlzLl90cmFja2VkRmllbGRzICYmIHRoaXMuX3RyYWNrZWRGaWVsZHNba2V5XSkge1xuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5fdHJhY2tlZEZpZWxkc1trZXldKS5mb3JFYWNoKChbZmllbGRJZCwgc3RyYXRlZ2llc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5fZm9ybUdlbmVyYXRvclNlcnZpY2UuZ2V0Rm9ybUNvbnRyb2woZm9ybSwgZmllbGRJZCk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZWZyZXNoU3RlcHMgPSBzdHJhdGVnaWVzW1dpemFyZEdlbmVyYXRvclJlZnJlc2hTdHJhdGVneS5SRUZSRVNIX1NURVBfVklTSUJJTElUWV0gIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBjb25zdCByZXZhbGlkYXRlRm9ybXMgPSBzdHJhdGVnaWVzW1dpemFyZEdlbmVyYXRvclJlZnJlc2hTdHJhdGVneS5SRVZBTElEQVRFX1NURVBfRk9STVNdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hGb3JtVmlzaWJpbGl0eSA9IHN0cmF0ZWdpZXNbV2l6YXJkR2VuZXJhdG9yUmVmcmVzaFN0cmF0ZWd5LlJFRlJFU0hfRk9STV9WSVNJQklMSVRZXTtcblxuICAgICAgICAgICAgICAgIGNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTApLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlZnJlc2hTdGVwcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX3dpemFyZEdlbmVyYXRvclNlcnZpY2UucmVmcmVzaFN0ZXBWaXNpYmlsaXR5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXZhbGlkYXRlRm9ybXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3dpemFyZEdlbmVyYXRvclNlcnZpY2Uubm90aWZ5U3RlcHNUb1JldmFsaWRhdGVGb3JtcyhyZXZhbGlkYXRlRm9ybXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVmcmVzaEZvcm1WaXNpYmlsaXR5Py5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLnJlZnJlc2hGb3Jtc1Zpc2liaWxpdHkocmVmcmVzaEZvcm1WaXNpYmlsaXR5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIGZvcm0gdmFsdWUgcmV2YWxpZGF0aW9uIGFuZCBjaGVja3MgaWYgZmllbGQgaW4gZm9ybSBzaG91bGQgYmUgdmlzaWJsZS5cbiAgICAgKi9cbiAgICBhc3luYyB1cGRhdGVGb3Jtc1N0YXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5mb3JtR2VuZXJhdG9ycykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmb3JtR2VuZXJhdG9yIG9mIHRoaXMuZm9ybUdlbmVyYXRvcnMudG9BcnJheSgpKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgZm9ybUdlbmVyYXRvci5yZWZyZXNoU3RlcHNWaXNpYmlsaXR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZyZXNoZXMgc3RlcCBmb3JtIGdyb3VwIHZpc2liaWxpdHkuXG4gICAgICovXG4gICAgYXN5bmMgcmVmcmVzaEZvcm1zVmlzaWJpbGl0eSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5fdmlzaWJsZUZvcm1Hcm91cElkcyA9IHt9O1xuXG4gICAgICAgIGlmICghdGhpcy5pdGVtLmZvcm1Hcm91cHMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgZm9ybUdyb3VwIG9mIHRoaXMuaXRlbS5mb3JtR3JvdXBzLmZpbHRlcigoZmcpID0+IGlzRnVuY3Rpb24oZmcud2hlbikpKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLl93aXphcmRHZW5lcmF0b3JTZXJ2aWNlLnJlZnJlc2hGb3JtVmlzaWJpbGl0eShmb3JtR3JvdXApO1xuXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSB0aGlzLl92aXNpYmxlRm9ybUdyb3VwSWRzW2Zvcm1Hcm91cC5pZF0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLl9mb3Jtc1tmb3JtR3JvdXAuaWRdPy5mb3JtO1xuXG4gICAgICAgICAgICAvLyBTdG9yZSBmb3JtIHZhbHVlIHNvIGl0IGNvdWxkIGJlIHJlc3RvcmVkIGxhdGVyLlxuICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9oaWRkZW5Gb3JtR3JvdXBWYWx1ZXNbZm9ybUdyb3VwLmlkXSA9IGZvcm0/LnZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlRm9ybUdyb3VwSWRzW2Zvcm1Hcm91cC5pZF0gPSByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICA8aDMgZmQtdGl0bGU+e3sgaXRlbS50aXRsZSB9fTwvaDM+XG59XG5AZm9yIChmb3JtIG9mIGl0ZW0uZm9ybUdyb3VwczsgdHJhY2sgZm9ybTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICBAaWYgKF92aXNpYmxlRm9ybUdyb3VwSWRzW2Zvcm0uaWRdICE9PSBmYWxzZSkge1xuICAgICAgICA8ZmRwLWZvcm0tZ2VuZXJhdG9yXG4gICAgICAgICAgICBbbWFpblRpdGxlXT1cImZvcm0udGl0bGVcIlxuICAgICAgICAgICAgW2NvbHVtbkxheW91dF09XCJmb3JtLmNvbHVtbkxheW91dFwiXG4gICAgICAgICAgICBbbm9BZGRpdGlvbmFsQ29udGVudF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtmb3JtTmFtZV09XCJmb3JtLmlkXCJcbiAgICAgICAgICAgIFtmb3JtSXRlbXNdPVwiJGFueShmb3JtLmZvcm1JdGVtcylcIlxuICAgICAgICAgICAgW2hpbnRdPVwiZm9ybS5ndWlPcHRpb25zPy5oaW50IVwiXG4gICAgICAgICAgICBbdW5pZmllZExheW91dF09XCJ1bmlmaWVkTGF5b3V0XCJcbiAgICAgICAgICAgIChmb3JtQ3JlYXRlZCk9XCJvbkZvcm1DcmVhdGVkKCRldmVudCwgZm9ybS5pZClcIlxuICAgICAgICAgICAgKGZvcm1TdWJtaXR0ZWRTdGF0dXMpPVwib25Gb3JtU3VibWl0dGVkKCRldmVudCwgZm9ybS5pZClcIlxuICAgICAgICA+PC9mZHAtZm9ybS1nZW5lcmF0b3I+XG4gICAgfVxufVxuIl19
|