@fundamental-ngx/platform 0.48.0-rc.2 → 0.48.0-rc.21
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/helpers/index.d.ts +1 -1
- package/approval-flow/index.d.ts +2 -2
- package/approval-flow/interfaces/approval-process.d.ts +1 -1
- package/approval-flow/interfaces/index.d.ts +1 -1
- package/approval-flow/interfaces/send-reminders-data.d.ts +1 -1
- package/button/button.component.d.ts +4 -1
- package/button/index.d.ts +1 -1
- package/dynamic-page/index.d.ts +5 -5
- package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +2 -2
- package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-graph.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +2 -2
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow.component.mjs +2 -2
- package/esm2022/approval-flow/approval-flow.module.mjs +1 -1
- package/esm2022/approval-flow/fundamental-ngx-platform-approval-flow.mjs +1 -1
- package/esm2022/approval-flow/helpers/index.mjs +1 -1
- package/esm2022/approval-flow/index.mjs +3 -3
- package/esm2022/approval-flow/interfaces/approval-node.mjs +1 -1
- package/esm2022/approval-flow/interfaces/approval-process.mjs +1 -1
- package/esm2022/approval-flow/interfaces/approval-status.mjs +1 -1
- package/esm2022/approval-flow/interfaces/approval-team.mjs +1 -1
- package/esm2022/approval-flow/interfaces/approval-user.mjs +1 -1
- package/esm2022/approval-flow/interfaces/index.mjs +2 -2
- package/esm2022/approval-flow/interfaces/send-reminders-data.mjs +1 -1
- package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +1 -1
- package/esm2022/button/button.component.mjs +8 -3
- package/esm2022/button/button.module.mjs +1 -1
- package/esm2022/button/fundamental-ngx-platform-button.mjs +1 -1
- package/esm2022/button/index.mjs +2 -2
- package/esm2022/dynamic-page/constants.mjs +1 -1
- package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +1 -1
- package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page.config.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page.module.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page.service.mjs +1 -1
- package/esm2022/dynamic-page/fundamental-ngx-platform-dynamic-page.mjs +1 -1
- package/esm2022/dynamic-page/index.mjs +6 -6
- package/esm2022/dynamic-page/utils.mjs +1 -1
- package/esm2022/feed-input/feed-input.component.mjs +2 -2
- package/esm2022/feed-input/feed-input.module.mjs +1 -1
- package/esm2022/feed-input/fundamental-ngx-platform-feed-input.mjs +1 -1
- package/esm2022/feed-input/index.mjs +2 -2
- package/esm2022/form/auto-complete/auto-complete.directive.mjs +2 -2
- package/esm2022/form/auto-complete/auto-complete.module.mjs +1 -1
- package/esm2022/form/checkbox/checkbox.component.mjs +1 -1
- package/esm2022/form/checkbox/checkbox.module.mjs +1 -1
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +1 -1
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +1 -1
- package/esm2022/form/combobox/combobox/combobox.component.mjs +13 -4
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +1 -1
- package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +1 -1
- package/esm2022/form/combobox/combobox.config.mjs +2 -2
- package/esm2022/form/combobox/combobox.interface.mjs +1 -1
- package/esm2022/form/combobox/combobox.module.mjs +1 -1
- package/esm2022/form/combobox/commons/base-combobox.mjs +1 -1
- package/esm2022/form/combobox/directives/combobox-item.directive.mjs +1 -1
- package/esm2022/form/combobox/index.mjs +1 -1
- package/esm2022/form/date-picker/date-picker.component.mjs +4 -5
- package/esm2022/form/date-picker/date-picker.module.mjs +1 -1
- package/esm2022/form/datetime-picker/datetime-picker.component.mjs +3 -3
- package/esm2022/form/datetime-picker/datetime-picker.module.mjs +1 -1
- package/esm2022/form/datetime-picker/errors.mjs +1 -1
- package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +1 -1
- package/esm2022/form/form-generator/config/default-components-list.mjs +6 -6
- package/esm2022/form/form-generator/config/default-form-generator-hint-options.mjs +1 -1
- package/esm2022/form/form-generator/config/default-validation-errors.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +2 -2
- package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +1 -1
- package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +1 -1
- package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
- package/esm2022/form/form-generator/dynamic-form-control.mjs +1 -1
- package/esm2022/form/form-generator/fdp-form-generator.module.mjs +14 -14
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +1 -1
- package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +1 -1
- package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +1 -1
- package/esm2022/form/form-generator/form-generator.service.mjs +3 -3
- package/esm2022/form/form-generator/form-generator.tokens.mjs +1 -1
- package/esm2022/form/form-generator/helpers.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/dynamic-abstract-control.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/dynamic-form-group.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/form-component-definition.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/form-generator-module-config.mjs +1 -1
- package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +2 -2
- package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +1 -1
- package/esm2022/form/form-generator/providers/providers.mjs +1 -1
- package/esm2022/form/form-group/config/default-form-field-hint-options.mjs +1 -1
- package/esm2022/form/form-group/constants.mjs +1 -1
- package/esm2022/form/form-group/fdp-form.module.mjs +7 -7
- package/esm2022/form/form-group/fdp-form.tokens.mjs +1 -1
- package/esm2022/form/form-group/form-field/form-field.component.mjs +1 -1
- package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +1 -1
- package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +1 -1
- package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +1 -1
- package/esm2022/form/form-group/form-field-error/tokens.mjs +1 -1
- package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +1 -1
- package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +1 -1
- package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +1 -1
- package/esm2022/form/form-group/form-group.component.mjs +1 -1
- package/esm2022/form/form-group/helpers.mjs +1 -1
- package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +1 -1
- package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
- package/esm2022/form/form-helpers.mjs +3 -3
- package/esm2022/form/fundamental-ngx-platform-form.mjs +1 -1
- package/esm2022/form/helpers.mjs +1 -1
- package/esm2022/form/index.mjs +1 -1
- package/esm2022/form/input/fdp-input.module.mjs +1 -1
- package/esm2022/form/input/input.component.mjs +1 -1
- package/esm2022/form/input-group/addon-body.component.mjs +2 -2
- package/esm2022/form/input-group/addon.component.mjs +2 -2
- package/esm2022/form/input-group/constants.mjs +1 -1
- package/esm2022/form/input-group/input-group.component.mjs +1 -1
- package/esm2022/form/input-group/input-group.config.mjs +1 -1
- package/esm2022/form/input-group/input-group.module.mjs +3 -3
- package/esm2022/form/input-group/input.component.mjs +2 -2
- package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +1 -1
- package/esm2022/form/models/field.model.mjs +1 -1
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +2 -2
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox.config.mjs +2 -2
- package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox.module.mjs +1 -1
- package/esm2022/form/multi-input/base-multi-input.mjs +1 -1
- package/esm2022/form/multi-input/index.mjs +2 -2
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +1 -1
- package/esm2022/form/multi-input/multi-input.component.mjs +2 -2
- package/esm2022/form/multi-input/multi-input.config.mjs +2 -2
- package/esm2022/form/multi-input/multi-input.interface.mjs +1 -1
- package/esm2022/form/multi-input/multi-input.module.mjs +1 -1
- package/esm2022/form/radio-group/radio/radio.component.mjs +1 -1
- package/esm2022/form/radio-group/radio-group.component.mjs +1 -1
- package/esm2022/form/radio-group/radio-group.module.mjs +1 -1
- package/esm2022/form/select/commons/base-select.mjs +7 -2
- package/esm2022/form/select/models/select.models.mjs +1 -1
- package/esm2022/form/select/select/select.component.mjs +3 -3
- package/esm2022/form/select/select.config.mjs +1 -1
- package/esm2022/form/select/select.module.mjs +1 -1
- package/esm2022/form/step-input/base.step-input.mjs +5 -5
- package/esm2022/form/step-input/number/number-step-input.component.mjs +1 -1
- package/esm2022/form/step-input/step-input-action-button.mjs +2 -2
- package/esm2022/form/step-input/step-input-control.directive.mjs +2 -2
- package/esm2022/form/step-input/step-input-decrement.directive.mjs +1 -1
- package/esm2022/form/step-input/step-input-increment.directive.mjs +1 -1
- package/esm2022/form/step-input/step-input.config.mjs +1 -1
- package/esm2022/form/step-input/step-input.module.mjs +3 -3
- package/esm2022/form/step-input/step-input.util.mjs +1 -1
- package/esm2022/form/switch/switch/index.mjs +1 -1
- package/esm2022/form/switch/switch/switch.component.mjs +1 -1
- package/esm2022/form/switch/switch/switch.config.mjs +1 -1
- package/esm2022/form/switch/switch.module.mjs +1 -1
- package/esm2022/form/text-area/text-area.component.mjs +1 -1
- package/esm2022/form/text-area/text-area.config.mjs +1 -1
- package/esm2022/form/text-area/text-area.module.mjs +1 -1
- package/esm2022/form/time-picker/time-picker.component.mjs +1 -1
- package/esm2022/form/time-picker/time-picker.module.mjs +1 -1
- package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/index.mjs +1 -1
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +3 -3
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +1 -1
- package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +3 -3
- package/esm2022/icon-tab-bar/constants.mjs +1 -1
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +1 -1
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +1 -1
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +1 -1
- package/esm2022/icon-tab-bar/fundamental-ngx-platform-icon-tab-bar.mjs +1 -1
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +1 -1
- package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +1 -1
- package/esm2022/icon-tab-bar/index.mjs +8 -8
- package/esm2022/icon-tab-bar/interfaces/icon-tab-bar-item.interface.mjs +1 -1
- package/esm2022/icon-tab-bar/interfaces/tab-color-associations.interface.mjs +1 -1
- package/esm2022/icon-tab-bar/interfaces/tab-config.interface.mjs +1 -1
- package/esm2022/icon-tab-bar/types.mjs +1 -1
- package/esm2022/info-label/fundamental-ngx-platform-info-label.mjs +1 -1
- package/esm2022/info-label/index.mjs +1 -1
- package/esm2022/info-label/info-label.component.mjs +1 -1
- package/esm2022/info-label/info-label.module.mjs +1 -1
- package/esm2022/link/fundamental-ngx-platform-link.mjs +1 -1
- package/esm2022/link/index.mjs +1 -1
- package/esm2022/link/link.component.mjs +3 -3
- package/esm2022/link/link.module.mjs +1 -1
- package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
- package/esm2022/list/action-list-item/action-list-item.module.mjs +1 -1
- package/esm2022/list/base-list-item.mjs +2 -2
- package/esm2022/list/display-list-item/display-list-item.component.mjs +3 -3
- package/esm2022/list/display-list-item/display-list-item.module.mjs +1 -1
- package/esm2022/list/fdpListComponent.token.mjs +1 -1
- package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
- package/esm2022/list/fundamental-ngx-platform-list.mjs +1 -1
- package/esm2022/list/index.mjs +13 -13
- package/esm2022/list/list-group-footer.component.mjs +3 -3
- package/esm2022/list/list-group-header.component.mjs +5 -5
- package/esm2022/list/list.component.mjs +5 -5
- package/esm2022/list/list.config.mjs +1 -1
- package/esm2022/list/list.module.mjs +1 -1
- package/esm2022/list/load-more-content.directive.mjs +1 -1
- package/esm2022/list/models/list.mjs +1 -1
- package/esm2022/list/object-list-item/object-list-item-row.component.mjs +1 -1
- package/esm2022/list/object-list-item/object-list-item.component.mjs +3 -3
- package/esm2022/list/object-list-item/object-list-item.module.mjs +1 -1
- package/esm2022/list/standard-list-item/standard-list-item.component.mjs +3 -3
- package/esm2022/list/standard-list-item/standard-list-item.module.mjs +1 -1
- package/esm2022/menu/fundamental-ngx-platform-menu.mjs +1 -1
- package/esm2022/menu/index.mjs +3 -3
- package/esm2022/menu/menu-item.component.mjs +1 -1
- package/esm2022/menu/menu-trigger.directive.mjs +1 -1
- package/esm2022/menu/menu.component.mjs +1 -1
- package/esm2022/menu/menu.module.mjs +1 -1
- package/esm2022/menu-button/fundamental-ngx-platform-menu-button.mjs +1 -1
- package/esm2022/menu-button/index.mjs +2 -2
- package/esm2022/menu-button/menu-button.component.mjs +8 -3
- package/esm2022/menu-button/menu-button.module.mjs +1 -1
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +1 -1
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +2 -2
- package/esm2022/message-popover/default-config.mjs +1 -1
- package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +1 -1
- package/esm2022/message-popover/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/esm2022/message-popover/index.mjs +5 -5
- package/esm2022/message-popover/message-popover.component.mjs +2 -2
- package/esm2022/message-popover/models/message-popover-entry.interface.mjs +1 -1
- package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
- package/esm2022/message-popover/models/message-popover.interface.mjs +1 -1
- package/esm2022/message-popover/platform-message-popover.module.mjs +3 -3
- package/esm2022/message-popover/utils.mjs +1 -1
- package/esm2022/object-attribute/fundamental-ngx-platform-object-attribute.mjs +1 -1
- package/esm2022/object-attribute/index.mjs +1 -1
- package/esm2022/object-marker/fundamental-ngx-platform-object-marker.mjs +1 -1
- package/esm2022/object-marker/index.mjs +1 -1
- package/esm2022/object-marker/object-marker.component.mjs +8 -3
- package/esm2022/object-marker/object-marker.module.mjs +1 -1
- package/esm2022/object-status/fundamental-ngx-platform-object-status.mjs +1 -1
- package/esm2022/object-status/index.mjs +1 -1
- package/esm2022/object-status/object-status.component.mjs +8 -3
- package/esm2022/object-status/object-status.module.mjs +1 -1
- package/esm2022/page-footer/fundamental-ngx-platform-page-footer.mjs +1 -1
- package/esm2022/page-footer/index.mjs +1 -1
- package/esm2022/page-footer/page-footer.component.mjs +1 -1
- package/esm2022/page-footer/page-footer.module.mjs +1 -1
- package/esm2022/panel/fundamental-ngx-platform-panel.mjs +1 -1
- package/esm2022/panel/index.mjs +3 -3
- package/esm2022/panel/panel-actions.component.mjs +1 -1
- package/esm2022/panel/panel-content/panel-content.component.mjs +1 -1
- package/esm2022/panel/panel.component.mjs +1 -1
- package/esm2022/panel/panel.config.mjs +1 -1
- package/esm2022/panel/panel.module.mjs +1 -1
- package/esm2022/search-field/fundamental-ngx-platform-search-field.mjs +1 -1
- package/esm2022/search-field/index.mjs +2 -2
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +1 -1
- package/esm2022/search-field/search-field-mobile/search-field-mobile.interface.mjs +1 -1
- package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +1 -1
- package/esm2022/search-field/search-field.component.mjs +2 -2
- package/esm2022/search-field/search-field.module.mjs +1 -1
- package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +1 -1
- package/esm2022/settings-generator/default-config.mjs +1 -1
- package/esm2022/settings-generator/fundamental-ngx-platform-settings-generator.mjs +1 -1
- package/esm2022/settings-generator/index.mjs +5 -5
- package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +2 -2
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +1 -1
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
- package/esm2022/settings-generator/models/settings-config.model.mjs +1 -1
- package/esm2022/settings-generator/models/settings-generator.model.mjs +1 -1
- package/esm2022/settings-generator/models/settings.model.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +1 -1
- package/esm2022/settings-generator/settings-generator.component.mjs +1 -1
- package/esm2022/settings-generator/settings-generator.module.mjs +1 -1
- package/esm2022/settings-generator/settings-generator.service.mjs +2 -2
- package/esm2022/settings-generator/tokens.mjs +1 -1
- package/esm2022/shared/base.mjs +1 -1
- package/esm2022/shared/domain/array-data-source.mjs +2 -2
- package/esm2022/shared/domain/base-data-provider.mjs +3 -3
- package/esm2022/shared/domain/data-model.mjs +1 -1
- package/esm2022/shared/domain/data-source.mjs +1 -1
- package/esm2022/shared/domain/observable-data-source.mjs +2 -2
- package/esm2022/shared/form/base.input.mjs +1 -1
- package/esm2022/shared/form/collection-base.input.mjs +4 -4
- package/esm2022/shared/form/form-error.mjs +1 -1
- package/esm2022/shared/form/form-field.mjs +1 -1
- package/esm2022/shared/form/form-options.mjs +1 -1
- package/esm2022/shared/form/hint-options.mjs +1 -1
- package/esm2022/shared/form/inline-layout-collection-base.input.mjs +3 -3
- package/esm2022/shared/fundamental-ngx-platform-shared.mjs +1 -1
- package/esm2022/shared/index.mjs +4 -4
- package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +1 -1
- package/esm2022/shared/pipes/pipe.module.mjs +1 -1
- package/esm2022/shared/platform.config.mjs +1 -1
- package/esm2022/shared/preset-management/preset-managed-component.interface.mjs +1 -1
- package/esm2022/shared/preset-management/preset-management.token.mjs +1 -1
- package/esm2022/shared/testing/event-objects.mjs +1 -1
- package/esm2022/shared/utils/lang.mjs +1 -1
- package/esm2022/slider/fundamental-ngx-platform-slider.mjs +1 -1
- package/esm2022/slider/index.mjs +1 -1
- package/esm2022/slider/slider.component.mjs +2 -2
- package/esm2022/slider/slider.module.mjs +1 -1
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +1 -1
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +1 -1
- package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +2 -2
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/data-provider.mjs +1 -1
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +1 -1
- package/esm2022/smart-filter-bar/constants.mjs +1 -1
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +1 -1
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +1 -1
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +1 -1
- package/esm2022/smart-filter-bar/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
- package/esm2022/smart-filter-bar/helpers.mjs +1 -1
- package/esm2022/smart-filter-bar/index.mjs +8 -8
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-change.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-condition.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-custom-filter-config.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-field-definition.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-field-filter-item.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-visibility-category.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-dynamic-form-item.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/strategy-labels.type.mjs +1 -1
- package/esm2022/smart-filter-bar/providers/smart-filter-bar.provider.mjs +1 -1
- package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +1 -1
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +2 -2
- package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +1 -1
- package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +2 -2
- package/esm2022/split-menu-button/fundamental-ngx-platform-split-menu-button.mjs +1 -1
- package/esm2022/split-menu-button/index.mjs +1 -1
- package/esm2022/split-menu-button/split-menu-button.component.mjs +8 -3
- package/esm2022/split-menu-button/split-menu-button.module.mjs +1 -1
- package/esm2022/table/components/index.mjs +9 -9
- package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +1 -1
- package/esm2022/table/components/reset-button/reset-button.component.mjs +1 -1
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +2 -2
- package/esm2022/table/components/table-column/table-column.component.mjs +1 -1
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +1 -1
- package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +1 -1
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +1 -1
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +2 -2
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +2 -2
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.model.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +2 -2
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +2 -2
- package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +1 -1
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +1 -1
- package/esm2022/table/components/table-row/table-row.component.mjs +6 -4
- package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +1 -1
- package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +1 -1
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +2 -2
- package/esm2022/table/components/table-toolbar/table-toolbar.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/constants.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-active-step.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/index.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +1 -1
- package/esm2022/table/fundamental-ngx-platform-table.mjs +1 -1
- package/esm2022/table/index.mjs +15 -15
- package/esm2022/table/table.component.mjs +14 -10
- package/esm2022/table/table.module.mjs +1 -1
- package/esm2022/table-helpers/constants/index.mjs +1 -1
- package/esm2022/table-helpers/constants/tokens.mjs +1 -1
- package/esm2022/table-helpers/directives/index.mjs +7 -7
- package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +2 -2
- package/esm2022/table-helpers/directives/table-cell.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -2
- package/esm2022/table-helpers/directives/table-draggable.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +2 -2
- package/esm2022/table-helpers/directives/table-header.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +2 -2
- package/esm2022/table-helpers/domain/array-data-source.mjs +3 -3
- package/esm2022/table-helpers/domain/data-source-parser.class.mjs +1 -1
- package/esm2022/table-helpers/domain/index.mjs +4 -4
- package/esm2022/table-helpers/domain/observable-data-source.mjs +3 -3
- package/esm2022/table-helpers/domain/table-data-provider.mjs +1 -1
- package/esm2022/table-helpers/domain/table-data-source.mjs +1 -1
- package/esm2022/table-helpers/enums/collection-filter.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/column-align.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/filter-type.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/index.mjs +4 -4
- package/esm2022/table-helpers/enums/row-type.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/selection-mode.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/sort-direction.enum.mjs +1 -1
- package/esm2022/table-helpers/fundamental-ngx-platform-table-helpers.mjs +1 -1
- package/esm2022/table-helpers/helpers.mjs +6 -3
- package/esm2022/table-helpers/index.mjs +9 -9
- package/esm2022/table-helpers/interfaces/collection-filter.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/collection-group.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/collection-page.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/collection-sort.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/collection-state.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/column-responsive-state.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/index.mjs +3 -4
- package/esm2022/table-helpers/interfaces/selection-value.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/table-state.interface.mjs +1 -1
- package/esm2022/table-helpers/models/column-freeze-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/columns-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/data-source.type.mjs +1 -1
- package/esm2022/table-helpers/models/directives.mjs +1 -1
- package/esm2022/table-helpers/models/dnd.mjs +1 -1
- package/esm2022/table-helpers/models/filter-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/group-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/index.mjs +15 -15
- package/esm2022/table-helpers/models/page-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/row-comparator.model.mjs +1 -1
- package/esm2022/table-helpers/models/save-rows-event.interface.mjs +1 -1
- package/esm2022/table-helpers/models/search-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/selection-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/sort-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-dialog-common-data.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-item.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-managed-preset.mjs +1 -1
- package/esm2022/table-helpers/models/table-row-activate-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-row-toggle-open-state-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-row.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-rows-rearrange-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/tree-table.model.mjs +1 -1
- package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +1 -1
- package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +1 -1
- package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +1 -1
- package/esm2022/table-helpers/pipes/index.mjs +1 -1
- package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +1 -1
- package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +1 -1
- package/esm2022/table-helpers/services/table-column-resize.service.mjs +3 -4
- package/esm2022/table-helpers/services/table-responsive.service.mjs +1 -1
- package/esm2022/table-helpers/services/table-row.service.mjs +1 -1
- package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +1 -1
- package/esm2022/table-helpers/services/table.service.mjs +1 -1
- package/esm2022/table-helpers/table-cell.class.mjs +1 -1
- package/esm2022/table-helpers/table-column.mjs +1 -1
- package/esm2022/table-helpers/table-helpers.module.mjs +2 -2
- package/esm2022/table-helpers/table.mjs +1 -1
- package/esm2022/table-helpers/utils.mjs +1 -1
- package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +1 -1
- package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +2 -2
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +26 -6
- package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +7 -3
- package/esm2022/value-help-dialog/constans/condition-display.function.mjs +2 -2
- package/esm2022/value-help-dialog/constans/index.mjs +1 -1
- package/esm2022/value-help-dialog/constans/variables.mjs +1 -1
- package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +1 -1
- 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/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
- package/esm2022/value-help-dialog/index.mjs +4 -3
- package/esm2022/value-help-dialog/models/index.mjs +2 -2
- package/esm2022/value-help-dialog/models/vhd-component.model.mjs +3 -0
- package/esm2022/value-help-dialog/models/vhd-data.source.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-filter-rule.model.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-strategy.enum.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-tab-type.enum.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-table-selection.type.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-type-condition.enum.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-value.model.mjs +1 -1
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +26 -6
- package/esm2022/value-help-dialog/value-help-dialog.module.mjs +1 -1
- package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +1 -1
- package/esm2022/variant-management/components/manage-variants-dialog/data-provider.mjs +1 -1
- package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +2 -2
- package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +1 -1
- package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +1 -1
- package/esm2022/variant-management/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/esm2022/variant-management/index.mjs +4 -4
- package/esm2022/variant-management/models/save-dialog.model.mjs +1 -1
- package/esm2022/variant-management/models/variant-management.mjs +1 -1
- package/esm2022/variant-management/models/variant.interface.mjs +1 -1
- package/esm2022/variant-management/tokens.mjs +1 -1
- package/esm2022/variant-management/variant-item.class.mjs +1 -1
- package/esm2022/variant-management/variant-management.component.mjs +2 -2
- package/esm2022/variant-management/variant-management.module.mjs +1 -1
- package/esm2022/wizard-generator/base-wizard-generator.mjs +2 -2
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +2 -2
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +2 -2
- package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +1 -1
- package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +1 -1
- package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +1 -1
- package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +1 -1
- package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +1 -1
- package/esm2022/wizard-generator/fundamental-ngx-platform-wizard-generator.mjs +1 -1
- package/esm2022/wizard-generator/index.mjs +10 -10
- package/esm2022/wizard-generator/interfaces/wizard-dialog-data.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-generator-form-group.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-generator-forms.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-generator-item.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-generator-summary-item.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-navigation-buttons.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-step.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-title.interface.mjs +1 -1
- package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +1 -1
- package/esm2022/wizard-generator/wizard-generator.module.mjs +8 -8
- package/esm2022/wizard-generator/wizard-generator.service.mjs +4 -4
- package/feed-input/index.d.ts +1 -1
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +889 -889
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-button.mjs +8 -3
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +2729 -2716
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +23 -23
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs +8 -3
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +3 -3
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +353 -353
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-attribute.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs +7 -2
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-status.mjs +7 -2
- package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-panel.mjs +10 -10
- package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +13 -13
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +62 -62
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +20 -20
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +7 -2
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +2925 -2922
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +365 -360
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +182 -98
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +177 -177
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +41 -41
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/form/combobox/combobox.config.d.ts +1 -1
- package/form/date-picker/date-picker.component.d.ts +5 -5
- package/form/datetime-picker/datetime-picker.component.d.ts +3 -3
- package/form/form-generator/dynamic-form-control.directive.d.ts +3 -3
- package/form/form-generator/form-generator.service.d.ts +2 -2
- package/form/form-group/pipes/field-group-row-value.pipe.d.ts +1 -1
- package/form/form-group/services/form-field-layout.service.d.ts +1 -1
- package/form/form-helpers.d.ts +1 -1
- package/form/input-group/addon.component.d.ts +1 -1
- package/form/multi-combobox/multi-combobox.config.d.ts +1 -1
- package/form/multi-input/index.d.ts +1 -1
- package/form/multi-input/multi-input.config.d.ts +1 -1
- package/form/select/commons/base-select.d.ts +4 -1
- package/form/step-input/base.step-input.d.ts +4 -5
- package/fundamental-ngx-platform-v0.48.0-rc.21.tgz +0 -0
- package/icon-tab-bar/index.d.ts +7 -7
- package/icon-tab-bar/interfaces/icon-tab-bar-item.interface.d.ts +1 -1
- package/list/index.d.ts +12 -12
- package/menu/index.d.ts +2 -2
- package/menu-button/index.d.ts +1 -1
- package/menu-button/menu-button.component.d.ts +5 -2
- package/message-popover/index.d.ts +4 -4
- package/message-popover/models/message-popover-entry.interface.d.ts +1 -1
- package/message-popover/models/message-popover.interface.d.ts +1 -1
- package/message-popover/utils.d.ts +1 -1
- 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/panel/index.d.ts +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/search-field/index.d.ts +1 -1
- package/settings-generator/index.d.ts +4 -4
- package/settings-generator/layouts/base-settings-generator-layout.d.ts +1 -1
- package/settings-generator/settings-generator.service.d.ts +2 -2
- package/shared/domain/array-data-source.d.ts +0 -3
- package/shared/form/collection-base.input.d.ts +1 -1
- package/shared/form/form-field.d.ts +2 -2
- package/shared/form/hint-options.d.ts +2 -2
- package/shared/form/inline-layout-collection-base.input.d.ts +1 -1
- package/shared/index.d.ts +3 -3
- package/smart-filter-bar/index.d.ts +7 -7
- package/smart-filter-bar/interfaces/smart-filter-bar-condition.d.ts +2 -2
- package/smart-filter-bar/interfaces/smart-filter-bar-custom-filter-config.d.ts +1 -1
- package/smart-filter-bar/interfaces/smart-filter-bar-field-definition.d.ts +1 -1
- package/smart-filter-bar/interfaces/smart-filter-dynamic-form-item.d.ts +1 -1
- package/smart-filter-bar/smart-filter-bar.service.d.ts +2 -2
- package/split-menu-button/split-menu-button.component.d.ts +5 -2
- package/table/components/index.d.ts +8 -8
- package/table/components/table-view-settings-dialog/index.d.ts +2 -2
- package/table/index.d.ts +14 -14
- package/table/table.component.d.ts +4 -0
- package/table-helpers/constants/index.d.ts +1 -1
- package/table-helpers/directives/index.d.ts +6 -6
- package/table-helpers/directives/platform-table-column-responsive.directive.d.ts +1 -1
- package/table-helpers/directives/table-scrollable.directive.d.ts +1 -1
- package/table-helpers/domain/array-data-source.d.ts +3 -3
- package/table-helpers/domain/index.d.ts +3 -3
- package/table-helpers/domain/observable-data-source.d.ts +3 -3
- package/table-helpers/enums/index.d.ts +3 -3
- package/table-helpers/helpers.d.ts +1 -1
- package/table-helpers/index.d.ts +8 -8
- package/table-helpers/interfaces/collection-filter.interface.d.ts +1 -1
- package/table-helpers/interfaces/collection-state.interface.d.ts +1 -1
- package/table-helpers/interfaces/index.d.ts +2 -3
- package/table-helpers/models/filter-change-event.model.d.ts +1 -1
- package/table-helpers/models/group-change-event.model.d.ts +1 -1
- package/table-helpers/models/index.d.ts +14 -14
- package/table-helpers/models/sort-change-event.model.d.ts +1 -1
- package/table-helpers/pipes/selection-cell-styles.pipe.d.ts +1 -1
- 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/constans/condition-display.function.d.ts +1 -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 +3 -2
- package/value-help-dialog/models/index.d.ts +1 -1
- 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 +8 -6
- package/variant-management/index.d.ts +3 -3
- package/variant-management/models/variant-management.d.ts +1 -1
- package/wizard-generator/base-wizard-generator.d.ts +1 -1
- package/wizard-generator/index.d.ts +9 -9
- package/wizard-generator/interfaces/wizard-generator-form-group.interface.d.ts +1 -1
- package/wizard-generator/interfaces/wizard-generator-item.interface.d.ts +1 -1
- package/wizard-generator/interfaces/wizard-step.interface.d.ts +2 -2
- package/wizard-generator/wizard-generator.service.d.ts +1 -1
- package/fundamental-ngx-platform-v0.48.0-rc.2.tgz +0 -0
- package/schematics/ng-add/index.ts +0 -64
- package/schematics/ng-add/schema.ts +0 -3
- package/schematics/utils/package-utils.ts +0 -104
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Directive, Inject, Injector, Input, Optional, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
|
-
import { PlatformFormField } from '@fundamental-ngx/platform/shared';
|
|
4
|
-
import { FormGeneratorService } from './form-generator.service';
|
|
5
3
|
import { CONTENT_DENSITY_DIRECTIVE, ContentDensityGlobalKeyword } from '@fundamental-ngx/core/content-density';
|
|
4
|
+
import { PlatformFormField } from '@fundamental-ngx/platform/shared';
|
|
6
5
|
import { Observable, of } from 'rxjs';
|
|
6
|
+
import { FormGeneratorService } from './form-generator.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "./form-generator.service";
|
|
9
9
|
import * as i2 from "rxjs";
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
80
80
|
}], formField: [{
|
|
81
81
|
type: Input
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNvbnRyb2wuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9mb3JtL2Zvcm0tZ2VuZXJhdG9yL2R5bmFtaWMtZm9ybS1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUNILHlCQUF5QixFQUN6QiwyQkFBMkIsRUFFOUIsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQTRCLE1BQU0sa0NBQWtDLENBQUM7QUFDL0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFHaEU7OztHQUdHO0FBS0gsTUFBTSxPQUFPLDJCQUEyQjtJQW1DcEMsY0FBYztJQUNkLFlBQ3FCLHFCQUEyQyxFQUMzQyxNQUF3QixFQUN4QixTQUFtQixFQUNtQix1QkFBdUQ7UUFIN0YsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUMzQyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ21CLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBZ0M7SUFDL0csQ0FBQztJQUVKLGNBQWM7SUFDZCxRQUFRO1FBQ0osTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkcsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXBCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFrQyxjQUFjLENBQUMsU0FBUyxFQUFFO1lBQ3hHLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN0QixTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLHlCQUF5Qjt3QkFDbEMsVUFBVSxFQUFFLEdBQUcsRUFBRTs0QkFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRTtnQ0FDM0MsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7NkJBQ3REOzRCQUNELElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO2dDQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQzs2QkFDdkM7NEJBQ0QsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQzt3QkFDM0MsQ0FBQztxQkFDSjtpQkFDSjtnQkFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDekIsQ0FBQztTQUNMLENBQUMsQ0FBQztRQUVILFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0MsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHdDQUF3QztRQUM1RSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqRCxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxRQUErQyxDQUFDO0lBQ3pGLENBQUM7OEdBakZRLDJCQUEyQiw4R0F3Q1oseUJBQXlCO2tHQXhDeEMsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBeUNRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCO3lDQXBDeEMsUUFBUTtzQkFBaEIsS0FBSztnQkFNTixFQUFFO3NCQURELEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgICBDT05URU5UX0RFTlNJVFlfRElSRUNUSVZFLFxuICAgIENvbnRlbnREZW5zaXR5R2xvYmFsS2V5d29yZCxcbiAgICBDb250ZW50RGVuc2l0eU1vZGVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBQbGF0Zm9ybUZvcm1GaWVsZCwgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2VEeW5hbWljRm9ybUdlbmVyYXRvckNvbnRyb2wgfSBmcm9tICcuL2Jhc2UtZHluYW1pYy1mb3JtLWdlbmVyYXRvci1jb250cm9sJztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXBhcmVkRHluYW1pY0Zvcm1GaWVsZEl0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWl0ZW0nO1xuXG4vKipcbiAqIER5bmFtaWMgZm9ybSBjb250cm9sIGRpcmVjdGl2ZSByZXByZXNlbnRzIGEgcmVuZGVyZXIgb2YgdGhlIGR5bmFtaWMgY29tcG9uZW50c1xuICogYmFzZWQgb24gdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGluIGBmb3JtSXRlbWAgaW5wdXRcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRwRHluYW1pY0Zvcm1Db250cm9sXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUNvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBAc2VlIER5bmFtaWNGb3JtSXRlbVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGZvcm1JdGVtOiBQcmVwYXJlZER5bmFtaWNGb3JtRmllbGRJdGVtO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgZm9ybSBjb250cm9sIGlkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGZvcm0gY29udHJvbCBuYW1lLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2UgdG8gdGhlIEBzZWUgRm9ybUdyb3VwIGNsYXNzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcblxuICAgIC8qKiBGb3JtIGdyb3VwIG5hbWUgcGF0aCAqL1xuICAgIEBJbnB1dCgpIGZvcm1Hcm91cE5hbWVQYXRoOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNlIHRvIHRoZSBAc2VlIEZvcm1GaWVsZENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGZvcm1GaWVsZDogUGxhdGZvcm1Gb3JtRmllbGQ7XG5cbiAgICAvKipcbiAgICAgKiBDb250cm9sIGZpZWxkIGluc3RhbmNlLlxuICAgICAqL1xuICAgIGZvcm1GaWVsZENvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1HZW5lcmF0b3JTZXJ2aWNlOiBGb3JtR2VuZXJhdG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdmNSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChDT05URU5UX0RFTlNJVFlfRElSRUNUSVZFKSBwcml2YXRlIGNvbnRlbnREZW5zaXR5RGlyZWN0aXZlOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5TW9kZT5cbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmb3VuZENvbXBvbmVudCA9IHRoaXMuX2Zvcm1HZW5lcmF0b3JTZXJ2aWNlLmdldENvbXBvbmVudERlZmluaXRpb25CeVR5cGUodGhpcy5mb3JtSXRlbS50eXBlKTtcblxuICAgICAgICBpZiAoIWZvdW5kQ29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl92Y1JlZi5jbGVhcigpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX3ZjUmVmLmNyZWF0ZUNvbXBvbmVudDxCYXNlRHluYW1pY0Zvcm1HZW5lcmF0b3JDb250cm9sPihmb3VuZENvbXBvbmVudC5jb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluamVjdG9yOiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBDT05URU5UX0RFTlNJVFlfRElSRUNUSVZFLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvcm1JdGVtPy5ndWlPcHRpb25zPy5jb250ZW50RGVuc2l0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5mb3JtSXRlbS5ndWlPcHRpb25zLmNvbnRlbnREZW5zaXR5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudERlbnNpdHlEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudERlbnNpdHlEaXJlY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihDb250ZW50RGVuc2l0eUdsb2JhbEtleXdvcmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcblxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZm9ybUl0ZW0gPSB0aGlzLmZvcm1JdGVtO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuaWQgPSB0aGlzLmlkOyAvLyBUaGlzIGlzIGFsc28gZG9uZSBmcm9tIGZkcC1mb3JtLWZpZWxkXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5uYW1lID0gdGhpcy5uYW1lO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZm9ybSA9IHRoaXMuZm9ybTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmZvcm1GaWVsZCA9IHRoaXMuZm9ybUZpZWxkO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZm9ybUdyb3VwTmFtZSA9IHRoaXMuZm9ybUdyb3VwTmFtZVBhdGg7XG5cbiAgICAgICAgdGhpcy5mb3JtRmllbGRDb250cm9sID0gY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIHVua25vd24gYXMgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -31,4 +31,4 @@ export class DynamicFormControl extends FormControl {
|
|
|
31
31
|
this.formItem = validatorOrOpts.dynamicFormItem;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2Zvcm0vZm9ybS1nZW5lcmF0b3IvZHluYW1pYy1mb3JtLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxXQUFXLEVBQUUsU0FBUyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFXL0csTUFBTSxPQUFPLHVCQUF3QixTQUFRLFNBQVM7SUFRbEQsY0FBYztJQUNkLFlBQ0ksUUFBa0MsRUFDbEMsUUFBa0MsRUFDbEMsZUFBNkUsRUFDN0UsY0FBNkQ7UUFFN0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFackQsY0FBYztRQUNQLFNBQUksR0FBRyxPQUFPLENBQUM7UUFZbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFNL0M7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxZQUFZLFNBQWMsRUFBRSxlQUE4QztRQUN0RSxLQUFLLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBbkJ0QyxjQUFjO1FBQ1AsU0FBSSxHQUFHLE9BQU8sQ0FBQztRQW1CbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO0lBQ3BELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbE9wdGlvbnMsIEFzeW5jVmFsaWRhdG9yRm4sIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBEeW5hbWljQWJzdHJhY3RDb250cm9sT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWFic3RyYWN0LWNvbnRyb2wnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZEdyb3VwTWFwLCBQcmVwYXJlZER5bmFtaWNGb3JtRmllbGRJdGVtIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1pdGVtJztcblxuZXhwb3J0IHR5cGUgRHluYW1pY0Zvcm1Hcm91cENvbnRyb2wgPSBEeW5hbWljRm9ybUNvbnRyb2wgfCBEeW5hbWljRm9ybUNvbnRyb2xHcm91cDtcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRm9ybUdyb3VwQ29udHJvbHMge1xuICAgIFtrZXk6IHN0cmluZ106IER5bmFtaWNGb3JtR3JvdXBDb250cm9sO1xufVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Db250cm9sR3JvdXAgZXh0ZW5kcyBGb3JtR3JvdXAge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIGZvcm1JdGVtOiBEeW5hbWljRm9ybUZpZWxkR3JvdXBNYXA7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgdHlwZSA9ICdncm91cCc7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29udHJvbHM6IER5bmFtaWNGb3JtR3JvdXBDb250cm9scztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGZvcm1JdGVtOiBEeW5hbWljRm9ybUZpZWxkR3JvdXBNYXAsXG4gICAgICAgIGNvbnRyb2xzOiBEeW5hbWljRm9ybUdyb3VwQ29udHJvbHMsXG4gICAgICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCBudWxsLFxuICAgICAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgICAgICAgdGhpcy5mb3JtSXRlbSA9IGZvcm1JdGVtO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtQ29udHJvbCBleHRlbmRzIEZvcm1Db250cm9sIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBmb3JtSXRlbTogUHJlcGFyZWREeW5hbWljRm9ybUZpZWxkSXRlbTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyB0eXBlID0gJ2ZpZWxkJztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IGBEeW5hbWljRm9ybUNvbnRyb2xgIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1TdGF0ZSBJbml0aWFsaXplcyB0aGUgY29udHJvbCB3aXRoIGFuIGluaXRpYWwgdmFsdWUsXG4gICAgICogb3IgYW4gb2JqZWN0IHRoYXQgZGVmaW5lcyB0aGUgaW5pdGlhbCB2YWx1ZSBhbmQgZGlzYWJsZWQgc3RhdGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsaWRhdG9yT3JPcHRzIEEgc3luY2hyb25vdXMgdmFsaWRhdG9yIGZ1bmN0aW9uLCBvciBhbiBhcnJheSBvZlxuICAgICAqIHN1Y2ggZnVuY3Rpb25zLCBvciBhbiBgQWJzdHJhY3RDb250cm9sT3B0aW9uc2Agb2JqZWN0IHRoYXQgY29udGFpbnMgdmFsaWRhdGlvbiBmdW5jdGlvbnNcbiAgICAgKiBhbmQgYSB2YWxpZGF0aW9uIHRyaWdnZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXN5bmNWYWxpZGF0b3IgQSBzaW5nbGUgYXN5bmMgdmFsaWRhdG9yIG9yIGFycmF5IG9mIGFzeW5jIHZhbGlkYXRvciBmdW5jdGlvbnNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb3JtSXRlbSBgRHluYW1pY0Zvcm1JdGVtYCBvYmplY3RcbiAgICAgKlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGZvcm1TdGF0ZTogYW55LCB2YWxpZGF0b3JPck9wdHM6IER5bmFtaWNBYnN0cmFjdENvbnRyb2xPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKGZvcm1TdGF0ZSwgdmFsaWRhdG9yT3JPcHRzKTtcbiAgICAgICAgdGhpcy5mb3JtSXRlbSA9IHZhbGlkYXRvck9yT3B0cy5keW5hbWljRm9ybUl0ZW07XG4gICAgfVxufVxuIl19
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { FormGeneratorComponent } from './form-generator/form-generator.component';
|
|
4
|
-
import { DynamicFormControlFieldDirective } from './dynamic-form-control-field.directive';
|
|
5
|
-
import { DynamicFormControlDirective } from './dynamic-form-control.directive';
|
|
2
|
+
import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
|
|
6
3
|
import { DynamicFormGeneratorCheckboxComponent } from './controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component';
|
|
7
|
-
import {
|
|
4
|
+
import { DynamicFormGeneratorDatepickerComponent } from './controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component';
|
|
8
5
|
import { DynamicFormGeneratorEditorComponent } from './controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component';
|
|
9
|
-
import {
|
|
6
|
+
import { DynamicFormGeneratorInputComponent } from './controls/dynamic-form-generator-input/dynamic-form-generator-input.component';
|
|
7
|
+
import { DynamicFormGeneratorMultiInputComponent } from './controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component';
|
|
8
|
+
import { DynamicFormGeneratorObjectStatusComponent } from './controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component';
|
|
10
9
|
import { DynamicFormGeneratorRadioComponent } from './controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component';
|
|
11
|
-
import {
|
|
10
|
+
import { DynamicFormGeneratorSelectComponent } from './controls/dynamic-form-generator-select/dynamic-form-generator-select.component';
|
|
12
11
|
import { DynamicFormGeneratorSwitchComponent } from './controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component';
|
|
13
|
-
import {
|
|
12
|
+
import { DynamicFormControlFieldDirective } from './dynamic-form-control-field.directive';
|
|
13
|
+
import { DynamicFormControlDirective } from './dynamic-form-control.directive';
|
|
14
|
+
import { FormGeneratorComponentsAccessorService } from './form-generator-components-accessor.service';
|
|
14
15
|
import { FormGeneratorFieldComponent } from './form-generator-field/form-generator-field.component';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { defaultFormGeneratorConfigProvider, defaultFormGeneratorItemConfigProvider, FORM_GENERATOR_CONFIG, FORM_GENERATOR_ITEM_CONFIG } from './providers/providers';
|
|
18
|
-
import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
|
|
19
|
-
import { DynamicFormGeneratorObjectStatusComponent } from './controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component';
|
|
16
|
+
import { FormGeneratorService } from './form-generator.service';
|
|
17
|
+
import { FormGeneratorComponent } from './form-generator/form-generator.component';
|
|
20
18
|
import { GetHintOptionsPipe } from './pipes/get-hint-options.pipe';
|
|
19
|
+
import { GetOrderedFieldControlsPipe } from './pipes/get-ordered-form-controls.pipe';
|
|
20
|
+
import { FORM_GENERATOR_CONFIG, FORM_GENERATOR_ITEM_CONFIG, defaultFormGeneratorConfigProvider, defaultFormGeneratorItemConfigProvider } from './providers/providers';
|
|
21
21
|
import * as i0 from "@angular/core";
|
|
22
22
|
/**
|
|
23
23
|
* Adds Form Generator functionality to your application.
|
|
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
136
136
|
]
|
|
137
137
|
}]
|
|
138
138
|
}] });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmRwLWZvcm0tZ2VuZXJhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9mb3JtL2Zvcm0tZ2VuZXJhdG9yL2ZkcC1mb3JtLWdlbmVyYXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sc0ZBQXNGLENBQUM7QUFDN0ksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFDcEksT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDdkksT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDdkksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFDcEksT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sMEZBQTBGLENBQUM7QUFDbkosT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDdkksT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sNEZBQTRGLENBQUM7QUFFckosT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NB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Z3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR2VuZXJhdG9yQ29tcG9uZW50c0FjY2Vzc29yU2VydmljZSB9IGZyb20gJy4vZm9ybS1nZW5lcmF0b3ItY29tcG9uZW50cy1hY2Nlc3Nvci5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbnRyb2xGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWNvbnRyb2wtZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWNvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtR2VuZXJhdG9yQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2R5bmFtaWMtZm9ybS1nZW5lcmF0b3ItY2hlY2tib3gvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1HZW5lcmF0b3JJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1pbnB1dC9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUdlbmVyYXRvckVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1lZGl0b3IvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGb3JtR2VuZXJhdG9yU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLXNlbGVjdC9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1HZW5lcmF0b3JSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1yYWRpby9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLXJhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUdlbmVyYXRvckRhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2R5bmFtaWMtZm9ybS1nZW5lcmF0b3ItZGF0ZXBpY2tlci9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLWRhdGVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGb3JtR2VuZXJhdG9yU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLXN3aXRjaC9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLXN3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWdlbmVyYXRvci1maWVsZC9mb3JtLWdlbmVyYXRvci1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1HZW5lcmF0b3JNdWx0aUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLW11bHRpLWlucHV0L2R5bmFtaWMtZm9ybS1nZW5lcmF0b3ItbXVsdGktaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JNb2R1bGVDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvZm9ybS1nZW5lcmF0b3ItbW9kdWxlLWNvbmZpZyc7XG5pbXBvcnQgeyBHZXRPcmRlcmVkRmllbGRDb250cm9sc1BpcGUgfSBmcm9tICcuL3BpcGVzL2dldC1vcmRlcmVkLWZvcm0tY29udHJvbHMucGlwZSc7XG5pbXBvcnQge1xuICAgIGRlZmF1bHRGb3JtR2VuZXJhdG9yQ29uZmlnUHJvdmlkZXIsXG4gICAgZGVmYXVsdEZvcm1HZW5lcmF0b3JJdGVtQ29uZmlnUHJvdmlkZXIsXG4gICAgRk9STV9HRU5FUkFUT1JfQ09ORklHLFxuICAgIEZPUk1fR0VORVJBVE9SX0lURU1fQ09ORklHXG59IGZyb20gJy4vcHJvdmlkZXJzL3Byb3ZpZGVycyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1HZW5lcmF0b3JPYmplY3RTdGF0dXNDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2R5bmFtaWMtZm9ybS1nZW5lcmF0b3Itb2JqZWN0LXN0YXR1cy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLW9iamVjdC1zdGF0dXMuY29tcG9uZW50JztcbmltcG9ydCB7IEdldEhpbnRPcHRpb25zUGlwZSB9IGZyb20gJy4vcGlwZXMvZ2V0LWhpbnQtb3B0aW9ucy5waXBlJztcblxuLyoqXG4gKiBBZGRzIEZvcm0gR2VuZXJhdG9yIGZ1bmN0aW9uYWxpdHkgdG8geW91ciBhcHBsaWNhdGlvbi5cbiAqXG4gKiBDYW4gYmUgaW1wb3J0ZWQgaW4gdHdvIHdheXM6XG4gKiAqIFBsYWluIFBsYXRmb3JtRm9ybUdlbmVyYXRvck1vZHVsZSB3aXRoIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICogKiBXaXRoIGB3aXRoQ29uZmlnKClgIG1ldGhvZCB3aGljaCBhbGxvd3MgcGFzc2luZyBjdXN0b20gZGVmYXVsdCBjb25maWd1cmF0aW9uLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybUdlbmVyYXRvckNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1Db250cm9sRmllbGREaXJlY3RpdmUsXG4gICAgICAgIER5bmFtaWNGb3JtQ29udHJvbERpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JDaGVja2JveENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JJbnB1dENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvclJhZGlvQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvckRhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yU3dpdGNoQ29tcG9uZW50LFxuICAgICAgICBGb3JtR2VuZXJhdG9yRmllbGRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yTXVsdGlJbnB1dENvbXBvbmVudCxcbiAgICAgICAgR2V0T3JkZXJlZEZpZWxkQ29udHJvbHNQaXBlLFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvck9iamVjdFN0YXR1c0NvbXBvbmVudCxcbiAgICAgICAgR2V0SGludE9wdGlvbnNQaXBlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRm9ybUdlbmVyYXRvclNlcnZpY2UsXG4gICAgICAgIEZvcm1HZW5lcmF0b3JDb21wb25lbnRzQWNjZXNzb3JTZXJ2aWNlLFxuICAgICAgICBkZWZhdWx0Rm9ybUdlbmVyYXRvckl0ZW1Db25maWdQcm92aWRlcixcbiAgICAgICAgZGVmYXVsdEZvcm1HZW5lcmF0b3JDb25maWdQcm92aWRlclxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGb3JtR2VuZXJhdG9yQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUNvbnRyb2xGaWVsZERpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY0Zvcm1Db250cm9sRGlyZWN0aXZlLFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvckNoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvcklucHV0Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvckVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yUmFkaW9Db21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yRGF0ZXBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JTd2l0Y2hDb21wb25lbnQsXG4gICAgICAgIEZvcm1HZW5lcmF0b3JGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ29udGVudERlbnNpdHlNb2R1bGUsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yT2JqZWN0U3RhdHVzQ29tcG9uZW50LFxuICAgICAgICBHZXRIaW50T3B0aW9uc1BpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFBsYXRmb3JtRm9ybUdlbmVyYXRvck1vZHVsZSB7XG4gICAgLyoqXG4gICAgICogQWxsb3dzIGNvbmZpZ3VyaW5nIG1vZHVsZSBvbiBhIGdsb2JhbCBsZXZlbCB3aXRoIGN1c3RvbSBjb25maWd1cmF0aW9uLlxuICAgICAqIEBwYXJhbSBjb25maWcgVXNlcidzIGN1c3RvbSBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIHN0YXRpYyB3aXRoQ29uZmlnKGNvbmZpZzogUGFydGlhbDxGb3JtR2VuZXJhdG9yTW9kdWxlQ29uZmlnPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8UGxhdGZvcm1Gb3JtR2VuZXJhdG9yTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogUGxhdGZvcm1Gb3JtR2VuZXJhdG9yTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBGT1JNX0dFTkVSQVRPUl9JVEVNX0NPTkZJRyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZy5pdGVtQ29uZmlnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEZPUk1fR0VORVJBVE9SX0NPTkZJRyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZy5mb3JtQ29uZmlnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmRwLWZvcm0tZ2VuZXJhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZm9ybS9mb3JtLWdlbmVyYXRvci9mZHAtZm9ybS1nZW5lcmF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQzdJLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDBGQUEwRixDQUFDO0FBQ25KLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQ3BJLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDRGQUE0RixDQUFDO0FBQ3JKLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLGdHQUFnRyxDQUFDO0FBQzNKLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQ3BJLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JGLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLGtDQUFrQyxFQUNsQyxzQ0FBc0MsRUFDekMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFL0I7Ozs7OztHQU1HO0FBMENILE1BQU0sT0FBTywyQkFBMkI7SUFDcEM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUEwQztRQUN4RCxPQUFPO1lBQ0gsUUFBUSxFQUFFLDJCQUEyQjtZQUNyQyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxVQUFVO2lCQUM5QjtnQkFDRDtvQkFDSSxPQUFPLEVBQUUscUJBQXFCO29CQUM5QixRQUFRLEVBQUUsTUFBTSxDQUFDLFVBQVU7aUJBQzlCO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs4R0FuQlEsMkJBQTJCOytHQUEzQiwyQkFBMkIsWUF2Q2hDLHNCQUFzQjtZQUN0QixnQ0FBZ0M7WUFDaEMsMkJBQTJCO1lBQzNCLHFDQUFxQztZQUNyQyxrQ0FBa0M7WUFDbEMsbUNBQW1DO1lBQ25DLG1DQUFtQztZQUNuQyxrQ0FBa0M7WUFDbEMsdUNBQXVDO1lBQ3ZDLG1DQUFtQztZQUNuQywyQkFBMkI7WUFDM0IsdUNBQXVDO1lBQ3ZDLDJCQUEyQjtZQUMzQix5Q0FBeUM7WUFDekMsa0JBQWtCLGFBU2xCLHNCQUFzQjtZQUN0QixnQ0FBZ0M7WUFDaEMsMkJBQTJCO1lBQzNCLHFDQUFxQztZQUNyQyxrQ0FBa0M7WUFDbEMsbUNBQW1DO1lBQ25DLG1DQUFtQztZQUNuQyxrQ0FBa0M7WUFDbEMsdUNBQXVDO1lBQ3ZDLG1DQUFtQztZQUNuQywyQkFBMkI7WUFDM0Isb0JBQW9CO1lBQ3BCLHlDQUF5QztZQUN6QyxrQkFBa0I7K0dBR2IsMkJBQTJCLGFBdkJ6QjtZQUNQLG9CQUFvQjtZQUNwQixzQ0FBc0M7WUFDdEMsc0NBQXNDO1lBQ3RDLGtDQUFrQztTQUNyQyxZQXJCRyxzQkFBc0I7WUFHdEIscUNBQXFDO1lBQ3JDLGtDQUFrQztZQUNsQyxtQ0FBbUM7WUFDbkMsbUNBQW1DO1lBQ25DLGtDQUFrQztZQUNsQyx1Q0FBdUM7WUFDdkMsbUNBQW1DO1lBQ25DLDJCQUEyQjtZQUMzQix1Q0FBdUM7WUFFdkMseUNBQXlDLEVBcUJ6QyxvQkFBb0I7OzJGQUtmLDJCQUEyQjtrQkF6Q3ZDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLHNCQUFzQjt3QkFDdEIsZ0NBQWdDO3dCQUNoQywyQkFBMkI7d0JBQzNCLHFDQUFxQzt3QkFDckMsa0NBQWtDO3dCQUNsQyxtQ0FBbUM7d0JBQ25DLG1DQUFtQzt3QkFDbkMsa0NBQWtDO3dCQUNsQyx1Q0FBdUM7d0JBQ3ZDLG1DQUFtQzt3QkFDbkMsMkJBQTJCO3dCQUMzQix1Q0FBdUM7d0JBQ3ZDLDJCQUEyQjt3QkFDM0IseUNBQXlDO3dCQUN6QyxrQkFBa0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLHNDQUFzQzt3QkFDdEMsc0NBQXNDO3dCQUN0QyxrQ0FBa0M7cUJBQ3JDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxzQkFBc0I7d0JBQ3RCLGdDQUFnQzt3QkFDaEMsMkJBQTJCO3dCQUMzQixxQ0FBcUM7d0JBQ3JDLGtDQUFrQzt3QkFDbEMsbUNBQW1DO3dCQUNuQyxtQ0FBbUM7d0JBQ25DLGtDQUFrQzt3QkFDbEMsdUNBQXVDO3dCQUN2QyxtQ0FBbUM7d0JBQ25DLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3dCQUNwQix5Q0FBeUM7d0JBQ3pDLGtCQUFrQjtxQkFDckI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IER5bmFtaWNGb3JtR2VuZXJhdG9yQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2R5bmFtaWMtZm9ybS1nZW5lcmF0b3ItY2hlY2tib3gvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1HZW5lcmF0b3JEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLWRhdGVwaWNrZXIvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUdlbmVyYXRvckVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1lZGl0b3IvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGb3JtR2VuZXJhdG9ySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2R5bmFtaWMtZm9ybS1nZW5lcmF0b3ItaW5wdXQvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1HZW5lcmF0b3JNdWx0aUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLW11bHRpLWlucHV0L2R5bmFtaWMtZm9ybS1nZW5lcmF0b3ItbXVsdGktaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGb3JtR2VuZXJhdG9yT2JqZWN0U3RhdHVzQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLW9iamVjdC1zdGF0dXMvZHluYW1pYy1mb3JtLWdlbmVyYXRvci1vYmplY3Qtc3RhdHVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUdlbmVyYXRvclJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLXJhZGlvL2R5bmFtaWMtZm9ybS1nZW5lcmF0b3ItcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGb3JtR2VuZXJhdG9yU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLXNlbGVjdC9keW5hbWljLWZvcm0tZ2VuZXJhdG9yLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1HZW5lcmF0b3JTd2l0Y2hDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2R5bmFtaWMtZm9ybS1nZW5lcmF0b3Itc3dpdGNoL2R5bmFtaWMtZm9ybS1nZW5lcmF0b3Itc3dpdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbnRyb2xGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWNvbnRyb2wtZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWNvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JDb21wb25lbnRzQWNjZXNzb3JTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWdlbmVyYXRvci1jb21wb25lbnRzLWFjY2Vzc29yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWdlbmVyYXRvci1maWVsZC9mb3JtLWdlbmVyYXRvci1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JNb2R1bGVDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvZm9ybS1nZW5lcmF0b3ItbW9kdWxlLWNvbmZpZyc7XG5pbXBvcnQgeyBHZXRIaW50T3B0aW9uc1BpcGUgfSBmcm9tICcuL3BpcGVzL2dldC1oaW50LW9wdGlvbnMucGlwZSc7XG5pbXBvcnQgeyBHZXRPcmRlcmVkRmllbGRDb250cm9sc1BpcGUgfSBmcm9tICcuL3BpcGVzL2dldC1vcmRlcmVkLWZvcm0tY29udHJvbHMucGlwZSc7XG5pbXBvcnQge1xuICAgIEZPUk1fR0VORVJBVE9SX0NPTkZJRyxcbiAgICBGT1JNX0dFTkVSQVRPUl9JVEVNX0NPTkZJRyxcbiAgICBkZWZhdWx0Rm9ybUdlbmVyYXRvckNvbmZpZ1Byb3ZpZGVyLFxuICAgIGRlZmF1bHRGb3JtR2VuZXJhdG9ySXRlbUNvbmZpZ1Byb3ZpZGVyXG59IGZyb20gJy4vcHJvdmlkZXJzL3Byb3ZpZGVycyc7XG5cbi8qKlxuICogQWRkcyBGb3JtIEdlbmVyYXRvciBmdW5jdGlvbmFsaXR5IHRvIHlvdXIgYXBwbGljYXRpb24uXG4gKlxuICogQ2FuIGJlIGltcG9ydGVkIGluIHR3byB3YXlzOlxuICogKiBQbGFpbiBQbGF0Zm9ybUZvcm1HZW5lcmF0b3JNb2R1bGUgd2l0aCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAqICogV2l0aCBgd2l0aENvbmZpZygpYCBtZXRob2Qgd2hpY2ggYWxsb3dzIHBhc3NpbmcgY3VzdG9tIGRlZmF1bHQgY29uZmlndXJhdGlvbi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1HZW5lcmF0b3JDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtQ29udHJvbEZpZWxkRGlyZWN0aXZlLFxuICAgICAgICBEeW5hbWljRm9ybUNvbnRyb2xEaXJlY3RpdmUsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9ySW5wdXRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvclNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JSYWRpb0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JEYXRlcGlja2VyQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvclN3aXRjaENvbXBvbmVudCxcbiAgICAgICAgRm9ybUdlbmVyYXRvckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvck11bHRpSW5wdXRDb21wb25lbnQsXG4gICAgICAgIEdldE9yZGVyZWRGaWVsZENvbnRyb2xzUGlwZSxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JPYmplY3RTdGF0dXNDb21wb25lbnQsXG4gICAgICAgIEdldEhpbnRPcHRpb25zUGlwZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEZvcm1HZW5lcmF0b3JTZXJ2aWNlLFxuICAgICAgICBGb3JtR2VuZXJhdG9yQ29tcG9uZW50c0FjY2Vzc29yU2VydmljZSxcbiAgICAgICAgZGVmYXVsdEZvcm1HZW5lcmF0b3JJdGVtQ29uZmlnUHJvdmlkZXIsXG4gICAgICAgIGRlZmF1bHRGb3JtR2VuZXJhdG9yQ29uZmlnUHJvdmlkZXJcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRm9ybUdlbmVyYXRvckNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1Db250cm9sRmllbGREaXJlY3RpdmUsXG4gICAgICAgIER5bmFtaWNGb3JtQ29udHJvbERpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JDaGVja2JveENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JJbnB1dENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1HZW5lcmF0b3JFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvclJhZGlvQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvckRhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtR2VuZXJhdG9yU3dpdGNoQ29tcG9uZW50LFxuICAgICAgICBGb3JtR2VuZXJhdG9yRmllbGRDb21wb25lbnQsXG4gICAgICAgIENvbnRlbnREZW5zaXR5TW9kdWxlLFxuICAgICAgICBEeW5hbWljRm9ybUdlbmVyYXRvck9iamVjdFN0YXR1c0NvbXBvbmVudCxcbiAgICAgICAgR2V0SGludE9wdGlvbnNQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybUZvcm1HZW5lcmF0b3JNb2R1bGUge1xuICAgIC8qKlxuICAgICAqIEFsbG93cyBjb25maWd1cmluZyBtb2R1bGUgb24gYSBnbG9iYWwgbGV2ZWwgd2l0aCBjdXN0b20gY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFVzZXIncyBjdXN0b20gY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBzdGF0aWMgd2l0aENvbmZpZyhjb25maWc6IFBhcnRpYWw8Rm9ybUdlbmVyYXRvck1vZHVsZUNvbmZpZz4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBsYXRmb3JtRm9ybUdlbmVyYXRvck1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFBsYXRmb3JtRm9ybUdlbmVyYXRvck1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogRk9STV9HRU5FUkFUT1JfSVRFTV9DT05GSUcsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcuaXRlbUNvbmZpZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBGT1JNX0dFTkVSQVRPUl9DT05GSUcsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcuZm9ybUNvbmZpZ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -414,4 +414,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
414
414
|
type: ViewChildren,
|
|
415
415
|
args: [FormGeneratorFieldComponent]
|
|
416
416
|
}] } });
|
|
417
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBcUIsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpILE9BQU8sRUFFSCxZQUFZLEVBS2YsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFckcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NB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SztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLO2dCQVNOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFRTixXQUFXO3NCQURWLE1BQU07Z0JBUVAsYUFBYTtzQkFEWixNQUFNO2dCQU9QLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFPUCxNQUFNO3NCQURMLFNBQVM7dUJBQUMsTUFBTTtnQkFLakIsU0FBUztzQkFEUixTQUFTO3VCQUFDLGtCQUFrQjtnQkFLN0IsTUFBTTtzQkFETCxZQUFZO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sU3RhdHVzLCBGb3JtR3JvdXBEaXJlY3RpdmUsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0sIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQ29sdW1uTGF5b3V0LFxuICAgIEZEUF9ET19DSEVDSyxcbiAgICBGaWVsZEhpbnRPcHRpb25zLFxuICAgIEhpbnRJbnB1dCxcbiAgICBIaW50T3B0aW9ucyxcbiAgICBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGlzT2JzZXJ2YWJsZSwgbWVyZ2UsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZ2VuZXJhdG9yLWZpZWxkL2Zvcm0tZ2VuZXJhdG9yLWZpZWxkLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnVzeUluZGljYXRvck1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXN5LWluZGljYXRvcic7XG5pbXBvcnQgeyBTa2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9za2VsZXRvbic7XG5pbXBvcnQgeyBEZWZhdWx0R2FwTGF5b3V0LCBEZWZhdWx0VmVydGljYWxGaWVsZExheW91dCwgRGVmYXVsdFZlcnRpY2FsTGFiZWxMYXlvdXQgfSBmcm9tICcuLi8uLi9mb3JtLWdyb3VwL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGZHBGb3JtR3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtLWdyb3VwL2ZkcC1mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBkZWZhdWx0Rm9ybUdlbmVyYXRvckhpbnRPcHRpb25zIH0gZnJvbSAnLi4vY29uZmlnL2RlZmF1bHQtZm9ybS1nZW5lcmF0b3ItaGludC1vcHRpb25zJztcbmltcG9ydCB7XG4gICAgRHluYW1pY0Zvcm1Db250cm9sLFxuICAgIER5bmFtaWNGb3JtQ29udHJvbEdyb3VwLFxuICAgIER5bmFtaWNGb3JtR3JvdXBDb250cm9sLFxuICAgIER5bmFtaWNGb3JtR3JvdXBDb250cm9sc1xufSBmcm9tICcuLi9keW5hbWljLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbnRyb2xGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4uL2R5bmFtaWMtZm9ybS1jb250cm9sLWZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtR2VuZXJhdG9yU2VydmljZSB9IGZyb20gJy4uL2Zvcm0tZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRkRQX0ZPUk1fR0VORVJBVE9SX0RFRkFVTFRfSElOVF9PUFRJT05TIH0gZnJvbSAnLi4vZm9ybS1nZW5lcmF0b3IudG9rZW5zJztcbmltcG9ydCB7IGdldFBhcmVudEl0ZW0sIGlzRm9ybUZpZWxkSXRlbSwgbWFwRm9ybUl0ZW1zLCB0cmFuc2Zvcm1Gb3JtSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Hcm91cCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWdyb3VwJztcbmltcG9ydCB7XG4gICAgRHluYW1pY0Zvcm1JdGVtLFxuICAgIER5bmFtaWNGb3JtSXRlbU1hcCxcbiAgICBEeW5hbWljRm9ybUl0ZW1WYWxpZGF0aW9uT2JqZWN0LFxuICAgIER5bmFtaWNGb3JtVmFsdWVcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0taXRlbSc7XG5pbXBvcnQgeyBHZXRIaW50T3B0aW9uc1BpcGUgfSBmcm9tICcuLi9waXBlcy9nZXQtaGludC1vcHRpb25zLnBpcGUnO1xuaW1wb3J0IHsgR2V0T3JkZXJlZEZpZWxkQ29udHJvbHNQaXBlIH0gZnJvbSAnLi4vcGlwZXMvZ2V0LW9yZGVyZWQtZm9ybS1jb250cm9scy5waXBlJztcblxubGV0IGZvcm1VbmlxdWVJZCA9IDA7XG5cbmV4cG9ydCB0eXBlIEZvcm1HZW5lcmF0b3JBY2NlcHRhYmxlSXRlbXMgPSBEeW5hbWljRm9ybUl0ZW1bXSB8IE9ic2VydmFibGU8RHluYW1pY0Zvcm1JdGVtW10+O1xuXG5leHBvcnQgY29uc3QgRkRQX0ZPUk1fSUdOT1JFRF9TVEFUVVNFUzogRm9ybUNvbnRyb2xTdGF0dXNbXSA9IFsnSU5WQUxJRCcsICdQRU5ESU5HJywgJ0RJU0FCTEVEJ107XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWl0Rm9ybUV2ZW50UmVzdWx0IHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gSW5kaWNhdG9yIGlmIHZhbGlkYXRpb24gaGFzIGJlZW4gcGFzc2VkLlxuICAgICAqL1xuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZvcm1hdHRlZCBmb3JtIHZhbHVlLlxuICAgICAqL1xuICAgIHZhbHVlOiBEeW5hbWljRm9ybVZhbHVlIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRm9ybSBHZW5lcmF0b3IgY29tcG9uZW50IHJlcHJlc2VudHMgYSBoaWdoLWxldmVsIGNvbXBvbmVudFxuICogd2hpY2ggaW5jbHVkZXMgQHNlZSBGb3JtR3JvdXAgaW5zaWRlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1mb3JtLWdlbmVyYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRFBfRE9fQ0hFQ0ssXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoZm9ybUdlbmVyYXRvcjogRm9ybUdlbmVyYXRvckNvbXBvbmVudCkgPT4gZm9ybUdlbmVyYXRvci5kb0NoZWNrJCxcbiAgICAgICAgICAgIGRlcHM6IFtGb3JtR2VuZXJhdG9yQ29tcG9uZW50XVxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQnVzeUluZGljYXRvck1vZHVsZSxcbiAgICAgICAgRmRwRm9ybUdyb3VwTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgRHluYW1pY0Zvcm1Db250cm9sRmllbGREaXJlY3RpdmUsXG4gICAgICAgIEZvcm1HZW5lcmF0b3JGaWVsZENvbXBvbmVudCxcbiAgICAgICAgU2tlbGV0b25Db21wb25lbnQsXG4gICAgICAgIEdldE9yZGVyZWRGaWVsZENvbnRyb2xzUGlwZSxcbiAgICAgICAgR2V0SGludE9wdGlvbnNQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2VuZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIC8qKiBAZGVzY3JpcHRpb24gVW5pcXVlIGZvcm0gbmFtZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9ybU5hbWUgPSBgZmRwLWZvcm0tZ2VuZXJhdG9yLSR7Zm9ybVVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBMaXN0IG9mIEBzZWUgRHluYW1pY0Zvcm1JdGVtIHJlcHJlc2VudGluZyB0aGUgbGlzdCBvZiBpdGVtc1xuICAgICAqIHRvIGJlIHJlbmRlcmVkIGluIHRoZSBmb3JtLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZvcm1JdGVtcyhmb3JtSXRlbXM6IEZvcm1HZW5lcmF0b3JBY2NlcHRhYmxlSXRlbXMpIHtcbiAgICAgICAgaWYgKCFmb3JtSXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm1JdGVtcyA9IGlzT2JzZXJ2YWJsZShmb3JtSXRlbXMpID8gZm9ybUl0ZW1zIDogb2YoZm9ybUl0ZW1zKTtcblxuICAgICAgICB0aGlzLl9vbkZvcm1JdGVtc0NoYW5nZShmb3JtSXRlbXMpO1xuICAgIH1cbiAgICBnZXQgZm9ybUl0ZW1zKCk6IEZvcm1HZW5lcmF0b3JBY2NlcHRhYmxlSXRlbXMge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybUl0ZW1zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBGb3JtIG1haW4gdGl0bGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBtYWluVGl0bGU6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGhpZGUgbWFpbiB0aXRsZS4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGhpZGVNYWluVEl0bGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIEhpbnQgZm9yIHRoZSBtYWluIHRpdGxlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBoaW50OiBIaW50SW5wdXQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gU3BlY2lmeSB0aGUgY29sdW1uIGxheW91dCBpbiB0aGUgZm9ybWF0IGBYTG4tTG4tTW4tU25gXG4gICAgICogd2hlcmUgbiBpcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIGNhbiBiZSBkaWZmZXJlbnQgZm9yIGVhY2ggc2l6ZS5cbiAgICAgKiBlZzogWEwyLUwyLU0yLVMxIHdvdWxkIGNyZWF0ZSAyLWNvbHVtbiBsYXlvdXRzIGZvciBYTCwgTCxcbiAgICAgKiBhbmQgTSBzaXplcyBhbmQgc2luZ2xlLWNvbHVtbiBsYXlvdXQgZm9yIFMgc2l6ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbHVtbkxheW91dDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgbGFiZWwncyBjb2x1bW4gbGF5b3V0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWxDb2x1bW5MYXlvdXQ6IENvbHVtbkxheW91dCA9IERlZmF1bHRWZXJ0aWNhbExhYmVsTGF5b3V0O1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBmaWVsZCdzIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmaWVsZENvbHVtbkxheW91dDogQ29sdW1uTGF5b3V0ID0gRGVmYXVsdFZlcnRpY2FsRmllbGRMYXlvdXQ7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGdhcCBjb2x1bW4gbGF5b3V0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2FwQ29sdW1uTGF5b3V0OiBDb2x1bW5MYXlvdXQgPSBEZWZhdWx0R2FwTGF5b3V0O1xuXG4gICAgLyoqIFdoZXRoZXIgYWxsIGZvcm0gaXRlbXMgc2hvdWxkIGhhdmUgaWRlbnRpY2FsIGxheW91dCBwcm92aWRlZCBmb3IgZm9ybSBncm91cC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHVuaWZpZWRMYXlvdXQgPSB0cnVlO1xuXG4gICAgLyoqIElubGluZSBjb2x1bW4gbGF5b3V0ICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVDb2x1bW5MYXlvdXQ6IENvbHVtbkxheW91dCA9IERlZmF1bHRWZXJ0aWNhbEZpZWxkTGF5b3V0O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFJlbW92ZXMgZXh0cmEgZW1wdHkgcm93LlxuICAgICAqIFRPRE86IHJlbW92ZSBhZnRlciAjNzUzMyBoYXMgYmVlbiBmaXhlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG5vQWRkaXRpb25hbENvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFdmVudCB3aGljaCBub3RpZmllcyBwYXJlbnQgY29tcG9uZW50IHRoYXQgdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNyZWF0ZWRcbiAgICAgKiBhbmQgYWxsIGNvbnRyb2xzIGFyZSBpbiBwbGFjZS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RHluYW1pY0Zvcm1Hcm91cD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFdmVudCB3aGljaCBub3RpZmllcyBwYXJlbnQgY29tcG9uZW50IHRoYXQgdGhlIGZvcm0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHZhbGlkYXRlZFxuICAgICAqIGFuZCBzdWJtaXR0ZWQuIENvbnRhaW5zIGZvcm1cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtU3VibWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEeW5hbWljRm9ybVZhbHVlPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEV2ZW50IHdoaWNoIG5vdGlmaWVzIHBhcmVudCBjb21wb25lbnQgdGhhdCB0aGUgZm9ybSB3YXMgc3VibWl0dGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1TdWJtaXR0ZWRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Ym1pdEZvcm1FdmVudFJlc3VsdD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIHRoZSBmb3JtIGluc3RhbmNlLiBAc2VlIE5nRm9ybVxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoTmdGb3JtKVxuICAgIG5nRm9ybTogTmdGb3JtO1xuXG4gICAgLyoqIElubmVyIGZvcm0gZ3JvdXAgZGlyZWN0aXZlLiAqL1xuICAgIEBWaWV3Q2hpbGQoRm9ybUdyb3VwRGlyZWN0aXZlKVxuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlO1xuXG4gICAgLyoqIElubmVyIGZvcm0gZmllbGRzICovXG4gICAgQFZpZXdDaGlsZHJlbihGb3JtR2VuZXJhdG9yRmllbGRDb21wb25lbnQpXG4gICAgZmllbGRzOiBRdWVyeUxpc3Q8Rm9ybUdlbmVyYXRvckZpZWxkQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZG9DaGVjayQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEFycmF5IG9mIGZvcm0gZmllbGQgY29udHJvbHMuICovXG4gICAgZ2V0IGZvcm1GaWVsZHMoKTogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZHNcbiAgICAgICAgICAgID8udG9BcnJheSgpXG4gICAgICAgICAgICAuZmlsdGVyKChmaWVsZCkgPT4gISFmaWVsZC5maWVsZFJlbmRlcmVyPy5jb250cm9sKVxuICAgICAgICAgICAgLm1hcCgoZmllbGQpID0+IGZpZWxkLmZpZWxkUmVuZGVyZXIuY29udHJvbCEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEeW5hbWljYWxseSBnZW5lcmF0ZWQgZm9ybS4gQHNlZSBGb3JtR2VuZXJhdG9yU2VydmljZVxuICAgICAqL1xuICAgIGZvcm06IER5bmFtaWNGb3JtR3JvdXA7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIExpc3Qgb2YgdGhlIGZvcm0gY29udHJvbHMuXG4gICAgICovXG4gICAgZm9ybUNvbnRyb2xJdGVtczogRHluYW1pY0Zvcm1Hcm91cENvbnRyb2xbXTtcblxuICAgIC8qKlxuICAgICAqIFNldCBvZiBmbGFncyByZXByZXNlbnRpbmcgaWYgcGFydGljdWxhciBmb3JtIGl0ZW0gc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIHVzZXIuXG4gICAgICovXG4gICAgc2hvdWxkU2hvd0ZpZWxkczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEZsYWcgcmVwcmVzZW50aW5nIHRoYXQgZm9ybSBpcyBsb2FkaW5nXG4gICAgICovXG4gICAgZm9ybUxvYWRpbmcgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogU3RyZWFtIG9mIGZvcm0gbG9hZGluZyBzdGF0ZS5cbiAgICAgKi9cbiAgICBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5mb3JtTG9hZGluZyk7XG5cbiAgICAvKipcbiAgICAgKiBTdHJlYW0gb2YgbGFzdCBmb3JtIHN1Ym1pc3Npb24gc3RhdHVzLlxuICAgICAqL1xuICAgIGZvcm1TdWJtaXR0ZWRTdGF0dXMkID0gbmV3IFN1YmplY3Q8U3VibWl0Rm9ybUV2ZW50UmVzdWx0PigpO1xuXG4gICAgLyoqXG4gICAgICogU3RyZWFtIG9mIGxhc3QgZm9ybSBzdWJtaXNzaW9uIHZhbHVlLlxuICAgICAqL1xuICAgIGZvcm1WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PER5bmFtaWNGb3JtVmFsdWU+KHt9KTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUbyBkaWZmZXJlbnRpYXRlIGJldHdlZW4gZmlyc3QgbG9hZGluZyB3aGVuIHNrZWxldG9ucyBiZSBzaG93biBhbmQgc3Vic2VxdWVudCBsb2FkaW5ncyB3aGVuIGJ1c3kgaW5kaWNhdG9yIGJlIHNob3duXG4gICAgICovXG4gICAgX2ZpcnN0TG9hZGluZ0RvbmUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBoaW50T3B0aW9uczogSGludE9wdGlvbnM7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9lcnJvck1vZGVsczogeyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZm9ybUl0ZW1zOiBGb3JtR2VuZXJhdG9yQWNjZXB0YWJsZUl0ZW1zO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX2Zvcm1WYWx1ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKVxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0SGludE9wdGlvbnM6IEZpZWxkSGludE9wdGlvbnM7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25nU3VibWl0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21hcHBlZEZvcm1pdGVtczogTWFwPHN0cmluZywgRHluYW1pY0Zvcm1JdGVtTWFwPiA9IG5ldyBNYXAoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2ZnU2VydmljZTogRm9ybUdlbmVyYXRvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChGRFBfRk9STV9HRU5FUkFUT1JfREVGQVVMVF9ISU5UX09QVElPTlMpIF9wcm92aWRlZEhpbnRPcHRpb25zOiBGaWVsZEhpbnRPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRIaW50T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRGb3JtR2VuZXJhdG9ySGludE9wdGlvbnMsXG4gICAgICAgICAgICAuLi5fcHJvdmlkZWRIaW50T3B0aW9uc1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX2Vycm9yTW9kZWxzID0gdGhpcy5fZ2V0RXJyb3JzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmhpbnQpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5oaW50ID09PSAnc3RyaW5nJyB8fCB0aGlzLmhpbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuaGludE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuX2RlZmF1bHRIaW50T3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdGhpcy5oaW50XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaW50T3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5fZGVmYXVsdEhpbnRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmhpbnRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9uZ1N1Ym1pdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZyZXNoZXMgZm9ybSBpdGVtcyB2aXNpYmlsaXR5IHdpdGggJ3doZW4nIGNvbmRpdGlvbi5cbiAgICAgKi9cbiAgICBhc3luYyByZWZyZXNoU3RlcHNWaXNpYmlsaXR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnNob3VsZFNob3dGaWVsZHMgPSBhd2FpdCB0aGlzLl9mZ1NlcnZpY2UuY2hlY2tWaXNpYmxlRm9ybUl0ZW1zKHRoaXMuZm9ybSk7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBhc3luYyBfb25TdWJtaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5kb0NoZWNrJC5uZXh0KCk7XG5cbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gYXdhaXQgdGhpcy5fZmdTZXJ2aWNlLmdldEZvcm1WYWx1ZSh0aGlzLmZvcm0pO1xuXG4gICAgICAgIHRoaXMuZm9ybVN1Ym1pdHRlZFN0YXR1cy5lbWl0KHsgc3VjY2VzczogIXRoaXMuZm9ybS5pbnZhbGlkLCB2YWx1ZTogZm9ybVZhbHVlIH0pO1xuICAgICAgICB0aGlzLmZvcm1TdWJtaXR0ZWRTdGF0dXMkLm5leHQoeyBzdWNjZXNzOiAhdGhpcy5mb3JtLmludmFsaWQsIHZhbHVlOiBmb3JtVmFsdWUgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtU3VibWl0dGVkLmVtaXQoZm9ybVZhbHVlKTtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWUkLm5leHQoZm9ybVZhbHVlKTtcblxuICAgICAgICB0aGlzLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIG5ldyBjb250cm9sIHRvIGFuIGV4aXN0aW5nIGZvcm0uXG4gICAgICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBjb25maWd1cmF0aW9uIHRvIGFkZC5cbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqL1xuICAgIGFzeW5jIGFkZENvbnRyb2woY29udHJvbDogRHluYW1pY0Zvcm1JdGVtLCBwYXRoPzogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5fYWRkQ29udHJvbFRvRm9ybUl0ZW1zKGNvbnRyb2wsIHBhdGgpO1xuICAgICAgICB0aGlzLl9mZ1NlcnZpY2UuYWRkQ29udHJvbChjb250cm9sLCB0aGlzLmZvcm0sIHBhdGgpO1xuXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2xJdGVtcyA9IHRoaXMuX2dldE9yZGVyZWRDb250cm9scyh0aGlzLmZvcm0uY29udHJvbHMpO1xuXG4gICAgICAgIHRoaXMuc2hvdWxkU2hvd0ZpZWxkcyA9IGF3YWl0IHRoaXMuX2ZnU2VydmljZS5jaGVja1Zpc2libGVGb3JtSXRlbXModGhpcy5mb3JtKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIHRoZSBjb250cm9sIHdpdGggdGhlIGdpdmVuIG5hbWUgYnkgdGhlIGdpdmVuIHBhdGguXG4gICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgY29udHJvbC5cbiAgICAgKiBAcGFyYW0gcGF0aCBQYXRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqL1xuICAgIGFzeW5jIHJlbW92ZUNvbnRyb2wobmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLl9yZW1vdmVDb250cm9sRnJvbUl0ZW1zKG5hbWUsIHBhdGgpO1xuICAgICAgICB0aGlzLl9mZ1NlcnZpY2UucmVtb3ZlQ29udHJvbChuYW1lLCB0aGlzLmZvcm0sIHBhdGgpO1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sSXRlbXMgPSB0aGlzLl9nZXRPcmRlcmVkQ29udHJvbHModGhpcy5mb3JtLmNvbnRyb2xzKTtcblxuICAgICAgICB0aGlzLnNob3VsZFNob3dGaWVsZHMgPSBhd2FpdCB0aGlzLl9mZ1NlcnZpY2UuY2hlY2tWaXNpYmxlRm9ybUl0ZW1zKHRoaXMuZm9ybSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgX3RyYWNrRm4oaW5kZXg6IG51bWJlciwgdmFsdWU6IER5bmFtaWNGb3JtR3JvdXBDb250cm9sKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2luZGV4fV8ke3ZhbHVlLmZvcm1JdGVtLm5hbWV9YDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9ncm91cFRyYWNrRm4oaW5kZXg6IG51bWJlciwgdmFsdWU6IER5bmFtaWNGb3JtR3JvdXBDb250cm9sKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBEeW5hbWljRm9ybUNvbnRyb2xHcm91cCkuZm9ybUl0ZW0ubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBQcm9ncmFtbWF0aWNhbGx5IHN1Ym1pdCBmb3JtLlxuICAgICAqIFRoaXMgbWV0aG9kIGFsc28gY2FsbHMgdmFsaWRhdGlvbiBmb3IgdGhlIGZvcm0gaXRlbXMuXG4gICAgICovXG4gICAgc3VibWl0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5vblN1Ym1pdChuZXcgRXZlbnQoJ3N1Ym1pdCcpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pc0FkdmFuY2VkRXJyb3IoZXJyb3I6IGFueSk6IGVycm9yIGlzIER5bmFtaWNGb3JtSXRlbVZhbGlkYXRpb25PYmplY3Qge1xuICAgICAgICByZXR1cm4gZXJyb3IuaGVhZGluZyAmJiBlcnJvci5kZXNjcmlwdGlvbiAmJiBlcnJvci50eXBlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Vycm9yc1RyYWNrQnkoXzogbnVtYmVyLCBlcnJvcjogeyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlcnJvci50eXBlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGFzeW5jIF9nZW5lcmF0ZUZvcm0oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuZm9ybUxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQodGhpcy5mb3JtTG9hZGluZyk7XG5cbiAgICAgICAgY29uc3QgZm9ybSA9IGF3YWl0IHRoaXMuX2ZnU2VydmljZS5nZW5lcmF0ZUZvcm0odGhpcy5mb3JtTmFtZSwgdGhpcy5fbWFwcGVkRm9ybWl0ZW1zKTtcblxuICAgICAgICB0aGlzLl9mb3JtVmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcblxuICAgICAgICB0aGlzLmZvcm1Db250cm9sSXRlbXMgPSB0aGlzLl9nZXRPcmRlcmVkQ29udHJvbHMoZm9ybS5jb250cm9scyk7XG5cbiAgICAgICAgdGhpcy5zaG91bGRTaG93RmllbGRzID0gYXdhaXQgdGhpcy5fZmdTZXJ2aWNlLmNoZWNrVmlzaWJsZUZvcm1JdGVtcyh0aGlzLmZvcm0pO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1WYWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvdWxkU2hvd0ZpZWxkcyA9IGF3YWl0IHRoaXMuX2ZnU2VydmljZS5jaGVja1Zpc2libGVGb3JtSXRlbXModGhpcy5mb3JtKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9ybUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZmlyc3RMb2FkaW5nRG9uZSA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMuZm9ybUNyZWF0ZWQuZW1pdCh0aGlzLmZvcm0pO1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQodGhpcy5mb3JtTG9hZGluZyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbGlzdGVuVG9TdWJtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldE9yZGVyZWRDb250cm9scyhjb250cm9sczogRHluYW1pY0Zvcm1Hcm91cENvbnRyb2xzKTogKER5bmFtaWNGb3JtQ29udHJvbCB8IER5bmFtaWNGb3JtQ29udHJvbEdyb3VwKVtdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoY29udHJvbHMpLnNvcnQoXG4gICAgICAgICAgICAoYSwgYikgPT4gKGEuZm9ybUl0ZW0/LnJhbmsgPz8gLUluZmluaXR5KSAtIChiLmZvcm1JdGVtPy5yYW5rID8/IC1JbmZpbml0eSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEVycm9ycygpOiB7IHR5cGU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10ge1xuICAgICAgICBjb25zdCByZXR1cm5FcnJvcnM6IHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSA9IFtdO1xuICAgICAgICBjb25zdCByZWdpc3RlcmVkRXJyb3JzID0gdGhpcy5fZmdTZXJ2aWNlLnZhbGlkYXRpb25FcnJvckhpbnRzO1xuICAgICAgICBPYmplY3QuZW50cmllcyhyZWdpc3RlcmVkRXJyb3JzKS5mb3JFYWNoKCh0eXBlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBbZXJyb3JUeXBlLCBlcnJvclZhbHVlXSA9IHR5cGU7XG5cbiAgICAgICAgICAgIHJldHVybkVycm9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBlcnJvclR5cGUsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGVycm9yVmFsdWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmV0dXJuRXJyb3JzO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuVG9TdWJtaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX25nU3VibWl0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9uZ1N1Ym1pdFN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybUdyb3VwLm5nU3VibWl0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuc3RhdHVzQ2hhbmdlcyEucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLmZvcm1Hcm91cC5zdGF0dXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChzdGF0dXM6IEZvcm1Db250cm9sU3RhdHVzKSA9PiBzdGF0dXMgIT09ICdQRU5ESU5HJyksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9vblN1Ym1pdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2xpc3RlblRvU3VibWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uRm9ybUl0ZW1zQ2hhbmdlKGl0ZW1zOiBPYnNlcnZhYmxlPER5bmFtaWNGb3JtSXRlbVtdPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaCQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgICAgIGl0ZW1zLnBpcGUodGFrZVVudGlsKG1lcmdlKHRoaXMuX3JlZnJlc2gkLCB0aGlzLl9vbkRlc3Ryb3kkKSkpLnN1YnNjcmliZSgoZm9ybUl0ZW1zKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9tYXBwZWRGb3JtaXRlbXMgPSBtYXBGb3JtSXRlbXMoZm9ybUl0ZW1zKTtcbiAgICAgICAgICAgIHRoaXMuX2dlbmVyYXRlRm9ybSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FwcGx5UmFuayhpdGVtczogRHluYW1pY0Zvcm1JdGVtW10pOiBEeW5hbWljRm9ybUl0ZW1bXSB7XG4gICAgICAgIGl0ZW1zID0gaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaXRlbS5yYW5rID0gaXRlbS5yYW5rIHx8IGluZGV4O1xuICAgICAgICAgICAgaWYgKGl0ZW0uaXRlbXMpIHtcbiAgICAgICAgICAgICAgICBpdGVtLml0ZW1zID0gdGhpcy5fYXBwbHlSYW5rKGl0ZW0uaXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpdGVtcztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FkZENvbnRyb2xUb0Zvcm1JdGVtcyhpdGVtOiBEeW5hbWljRm9ybUl0ZW0sIHBhdGg/OiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuX21hcHBlZEZvcm1pdGVtcy5zZXQoaXRlbS5uYW1lLCB0cmFuc2Zvcm1Gb3JtSXRlbShpdGVtLCB0aGlzLl9tYXBwZWRGb3JtaXRlbXMuc2l6ZSkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50SXRlbSA9IGdldFBhcmVudEl0ZW0ocGF0aCwgdGhpcy5fbWFwcGVkRm9ybWl0ZW1zKTtcblxuICAgICAgICBpZiAoIXBhcmVudEl0ZW0gfHwgaXNGb3JtRmllbGRJdGVtKHBhcmVudEl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBwYXJlbnRJdGVtLml0ZW1zID0gcGFyZW50SXRlbS5pdGVtcyB8fCBuZXcgTWFwKCk7XG4gICAgICAgIHBhcmVudEl0ZW0uaXRlbXMuc2V0KGl0ZW0ubmFtZSwgdHJhbnNmb3JtRm9ybUl0ZW0oaXRlbSwgcGFyZW50SXRlbS5pdGVtcy5zaXplKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZW1vdmVDb250cm9sRnJvbUl0ZW1zKG5hbWU6IHN0cmluZywgcGF0aD86IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgdGhpcy5fbWFwcGVkRm9ybWl0ZW1zLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmVudEl0ZW0gPSBnZXRQYXJlbnRJdGVtKHBhdGgsIHRoaXMuX21hcHBlZEZvcm1pdGVtcyk7XG5cbiAgICAgICAgaWYgKCFwYXJlbnRJdGVtIHx8IGlzRm9ybUZpZWxkSXRlbShwYXJlbnRJdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyZW50SXRlbS5pdGVtcz8uZGVsZXRlKG5hbWUpO1xuICAgIH1cbn1cbiIsIkBpZiAoX2ZpcnN0TG9hZGluZ0RvbmUpIHtcbiAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwiZm9ybUxvYWRpbmdcIiBbYmxvY2tdPVwidHJ1ZVwiPlxuICAgICAgICBAaWYgKGZvcm0pIHtcbiAgICAgICAgICAgIDxmZHAtZm9ybS1ncm91cFxuICAgICAgICAgICAgICAgIFtoaW50XT1cImhpbnRcIlxuICAgICAgICAgICAgICAgIFttYWluVGl0bGVdPVwibWFpblRpdGxlXCJcbiAgICAgICAgICAgICAgICBbaGlkZU1haW5USXRsZV09XCJoaWRlTWFpblRJdGxlXCJcbiAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgIFtjb2x1bW5MYXlvdXRdPVwiY29sdW1uTGF5b3V0XCJcbiAgICAgICAgICAgICAgICBbbGFiZWxDb2x1bW5MYXlvdXRdPVwibGFiZWxDb2x1bW5MYXlvdXRcIlxuICAgICAgICAgICAgICAgIFtmaWVsZENvbHVtbkxheW91dF09XCJmaWVsZENvbHVtbkxheW91dFwiXG4gICAgICAgICAgICAgICAgW2dhcENvbHVtbkxheW91dF09XCJnYXBDb2x1bW5MYXlvdXRcIlxuICAgICAgICAgICAgICAgIFt1bmlmaWVkTGF5b3V0XT1cInVuaWZpZWRMYXlvdXRcIlxuICAgICAgICAgICAgICAgIFtpbmxpbmVDb2x1bW5MYXlvdXRdPVwiaW5saW5lQ29sdW1uTGF5b3V0XCJcbiAgICAgICAgICAgICAgICBbdXNlRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAZm9yIChlcnJvciBvZiBfZXJyb3JNb2RlbHM7IHRyYWNrIF9lcnJvcnNUcmFja0J5KCRpbmRleCwgZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpmZHBGb3JtRmllbGRFcnJvcj1cImVycm9yLnR5cGU7IGxldCBkaXJlY3RpdmVFcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChfaXNBZHZhbmNlZEVycm9yKGRpcmVjdGl2ZUVycm9yKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZGlyZWN0aXZlRXJyb3IuaGVhZGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqZmRwRm9ybUZpZWxkRXJyb3JIZWFkaW5nPVwibGV0IHZhbGlkYXRpb25FcnJvcjsgdHlwZTogZGlyZWN0aXZlRXJyb3IudHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsaWRhdGlvbkVycm9yLmhlYWRpbmcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGRpcmVjdGl2ZUVycm9yLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpmZHBGb3JtRmllbGRFcnJvckRlc2NyaXB0aW9uPVwibGV0IHZhbGlkYXRpb25FcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdmFsaWRhdGlvbkVycm9yLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqZmRwRm9ybUZpZWxkRXJyb3JIZWFkaW5nPVwibGV0IHZhbGlkYXRpb25FcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlcnJvci52YWx1ZSA/IGVycm9yLnZhbHVlIDogdmFsaWRhdGlvbkVycm9yIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBmb3IgKGZpZWxkIG9mIGZvcm1Db250cm9sSXRlbXM7IHRyYWNrIF90cmFja0ZuKCRpbmRleCwgZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmllbGQudHlwZSA9PT0gJ2ZpZWxkJyA/IGZpZWxkUmVuZGVyZXIgOiBncm91cFJlbmRlcmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1GaWVsZE5hbWU6IGZpZWxkLmZvcm1JdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuazogZmllbGQuZm9ybUl0ZW0/LnJhbmsgfHwgMFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICNmaWVsZFJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQtZmllbGQ9XCJmaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQtZm9ybUZpZWxkTmFtZT1cImZvcm1GaWVsZE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0LWZvcm1Hcm91cE5hbWU9XCJmb3JtR3JvdXBOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldC1yYW5rPVwicmFua1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqZmRwRHluYW1pY0Zvcm1Db250cm9sRmllbGQ9XCJmaWVsZDsgc2hvdzogc2hvdWxkU2hvd0ZpZWxkc1tmaWVsZC5mb3JtSXRlbS5uYW1lXSAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtZm9ybS1nZW5lcmF0b3ItZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpbnRPcHRpb25zXT1cImZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnMgfCBnZXRIaW50T3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdWxkU2hvd109XCJzaG91bGRTaG93RmllbGRzW2ZpZWxkLmZvcm1JdGVtLm5hbWVdICE9PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtRmllbGROYW1lXT1cImZvcm1GaWVsZE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZVBhdGhdPVwiZm9ybUdyb3VwTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyYW5rXT1cInJhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC1mb3JtLWdlbmVyYXRvci1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2dyb3VwUmVuZGVyZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmRwLWZvcm0tZmllbGQtZ3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGludE9wdGlvbnNdPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucyB8IGdldEhpbnRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQuZm9ybUl0ZW0ubWVzc2FnZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsQ29sdW1uTGF5b3V0XT1cImZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnM/LmxhYmVsQ29sdW1uTGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRDb2x1bW5MYXlvdXRdPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucz8uZmllbGRDb2x1bW5MYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnYXBDb2x1bW5MYXlvdXRdPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucz8uZ2FwQ29sdW1uTGF5b3V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybU5hbWVdPVwiZmllbGQuZm9ybUl0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwRmllbGQgb2YgZmllbGQgfCBnZXRPcmRlcmVkRmllbGRDb250cm9scztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgX2dyb3VwVHJhY2tGbigkaW5kZXgsIGdyb3VwRmllbGQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpmZHBEeW5hbWljRm9ybUNvbnRyb2xGaWVsZD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwRmllbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogc2hvdWxkU2hvd0ZpZWxkc1tncm91cEZpZWxkLmZvcm1JdGVtLm5hbWUhXSAhPT0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtZm9ybS1nZW5lcmF0b3ItZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGludE9wdGlvbnNdPVwiZ3JvdXBGaWVsZC5mb3JtSXRlbS5ndWlPcHRpb25zIHwgZ2V0SGludE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJncm91cEZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvdWxkU2hvd109XCJzaG91bGRTaG93RmllbGRzW2dyb3VwRmllbGQuZm9ybUl0ZW0ubmFtZSFdICE9PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1GaWVsZE5hbWVdPVwiZ3JvdXBGaWVsZC5mb3JtSXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZVBhdGhdPVwiZmllbGQuZm9ybUl0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JhbmtdPVwiZ3JvdXBGaWVsZC5mb3JtSXRlbS5yYW5rIHx8IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWZvcm0tZ2VuZXJhdG9yLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkcC1mb3JtLWZpZWxkLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKCFub0FkZGl0aW9uYWxDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZHAtZm9ybS1maWVsZCBbY29sdW1uXT1cIjFcIiBbcmFua109XCJmb3JtQ29udHJvbEl0ZW1zLmxlbmd0aCArIDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRm9yIHVzZXItZGVmaW5lZCBlbGVtZW50cywgbGlrZSBzdWJtaXQgYnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2ZkcC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZmRwLWZvcm0tZ3JvdXA+XG4gICAgICAgIH1cbiAgICA8L2ZkLWJ1c3ktaW5kaWNhdG9yPlxufSBAZWxzZSB7XG4gICAgPGZkLXNrZWxldG9uIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMHB4XCIgW3N0eWxlLnBhZGRpbmcucmVtXT1cIjFcIj5cbiAgICAgICAgPHN2ZzpyZWN0IHg9XCIwXCIgeT1cIjBcIiByeD1cIjRcIiB3aWR0aD1cIjE1JVwiIGhlaWdodD1cIjhcIiAvPlxuICAgICAgICA8c3ZnOnJlY3QgeD1cIjBcIiB5PVwiMjBcIiByeD1cIjRcIiB3aWR0aD1cIjI1JVwiIGhlaWdodD1cIjE2XCIgLz5cbiAgICAgICAgPHN2ZzpyZWN0IHg9XCIzNSVcIiB5PVwiMFwiIHJ4PVwiNFwiIHdpZHRoPVwiMTUlXCIgaGVpZ2h0PVwiOFwiIC8+XG4gICAgICAgIDxzdmc6cmVjdCB4PVwiMzUlXCIgeT1cIjIwXCIgcng9XCI0XCIgd2lkdGg9XCIyNSVcIiBoZWlnaHQ9XCIxNlwiIC8+XG4gICAgICAgIDxzdmc6cmVjdCB4PVwiMFwiIHk9XCI2MFwiIHJ4PVwiNFwiIHdpZHRoPVwiMTUlXCIgaGVpZ2h0PVwiOFwiIC8+XG4gICAgICAgIDxzdmc6cmVjdCB4PVwiMFwiIHk9XCI4MFwiIHJ4PVwiNFwiIHdpZHRoPVwiMjUlXCIgaGVpZ2h0PVwiMTZcIiAvPlxuICAgIDwvZmQtc2tlbGV0b24+XG59XG4iXX0=
|
|
417
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9mb3JtL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZm9ybS9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQixrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakgsT0FBTyxFQUVILFlBQVksRUFLZixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFnQixZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUVyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxP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RFosS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBU04sbUJBQW1CO3NCQURsQixLQUFLO2dCQVFOLFdBQVc7c0JBRFYsTUFBTTtnQkFRUCxhQUFhO3NCQURaLE1BQU07Z0JBT1AsbUJBQW1CO3NCQURsQixNQUFNO2dCQU9QLE1BQU07c0JBREwsU0FBUzt1QkFBQyxNQUFNO2dCQUtqQixTQUFTO3NCQURSLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUs3QixNQUFNO3NCQURMLFlBQVk7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTdGF0dXMsIEZvcm1Hcm91cERpcmVjdGl2ZSwgRm9ybXNNb2R1bGUsIE5nRm9ybSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBDb2x1bW5MYXlvdXQsXG4gICAgRkRQX0RPX0NIRUNLLFxuICAgIEZpZWxkSGludE9wdGlvbnMsXG4gICAgSGludElucHV0LFxuICAgIEhpbnRPcHRpb25zLFxuICAgIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgaXNPYnNlcnZhYmxlLCBtZXJnZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1nZW5lcmF0b3ItZmllbGQvZm9ybS1nZW5lcmF0b3ItZmllbGQuY29tcG9uZW50JztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCdXN5SW5kaWNhdG9yTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1c3ktaW5kaWNhdG9yJztcbmltcG9ydCB7IFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NrZWxldG9uJztcbmltcG9ydCB7IERlZmF1bHRHYXBMYXlvdXQsIERlZmF1bHRWZXJ0aWNhbEZpZWxkTGF5b3V0LCBEZWZhdWx0VmVydGljYWxMYWJlbExheW91dCB9IGZyb20gJy4uLy4uL2Zvcm0tZ3JvdXAvY29uc3RhbnRzJztcbmltcG9ydCB7IEZkcEZvcm1Hcm91cE1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tZ3JvdXAvZmRwLWZvcm0ubW9kdWxlJztcbmltcG9ydCB7IGRlZmF1bHRGb3JtR2VuZXJhdG9ySGludE9wdGlvbnMgfSBmcm9tICcuLi9jb25maWcvZGVmYXVsdC1mb3JtLWdlbmVyYXRvci1oaW50LW9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBEeW5hbWljRm9ybUNvbnRyb2wsXG4gICAgRHluYW1pY0Zvcm1Db250cm9sR3JvdXAsXG4gICAgRHluYW1pY0Zvcm1Hcm91cENvbnRyb2wsXG4gICAgRHluYW1pY0Zvcm1Hcm91cENvbnRyb2xzXG59IGZyb20gJy4uL2R5bmFtaWMtZm9ybS1jb250cm9sJztcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29udHJvbEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtLWNvbnRyb2wtZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vZm9ybS1nZW5lcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBGRFBfRk9STV9HRU5FUkFUT1JfREVGQVVMVF9ISU5UX09QVElPTlMgfSBmcm9tICcuLi9mb3JtLWdlbmVyYXRvci50b2tlbnMnO1xuaW1wb3J0IHsgZ2V0UGFyZW50SXRlbSwgaXNGb3JtRmllbGRJdGVtLCBtYXBGb3JtSXRlbXMsIHRyYW5zZm9ybUZvcm1JdGVtIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUdyb3VwIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZ3JvdXAnO1xuaW1wb3J0IHtcbiAgICBEeW5hbWljRm9ybUl0ZW0sXG4gICAgRHluYW1pY0Zvcm1JdGVtTWFwLFxuICAgIER5bmFtaWNGb3JtSXRlbVZhbGlkYXRpb25PYmplY3QsXG4gICAgRHluYW1pY0Zvcm1WYWx1ZVxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1pdGVtJztcbmltcG9ydCB7IEdldEhpbnRPcHRpb25zUGlwZSB9IGZyb20gJy4uL3BpcGVzL2dldC1oaW50LW9wdGlvbnMucGlwZSc7XG5pbXBvcnQgeyBHZXRPcmRlcmVkRmllbGRDb250cm9sc1BpcGUgfSBmcm9tICcuLi9waXBlcy9nZXQtb3JkZXJlZC1mb3JtLWNvbnRyb2xzLnBpcGUnO1xuXG5sZXQgZm9ybVVuaXF1ZUlkID0gMDtcblxuZXhwb3J0IHR5cGUgRm9ybUdlbmVyYXRvckFjY2VwdGFibGVJdGVtcyA9IER5bmFtaWNGb3JtSXRlbVtdIHwgT2JzZXJ2YWJsZTxEeW5hbWljRm9ybUl0ZW1bXT47XG5cbmV4cG9ydCBjb25zdCBGRFBfRk9STV9JR05PUkVEX1NUQVRVU0VTOiBGb3JtQ29udHJvbFN0YXR1c1tdID0gWydJTlZBTElEJywgJ1BFTkRJTkcnLCAnRElTQUJMRUQnXTtcblxuZXhwb3J0IGludGVyZmFjZSBTdWJtaXRGb3JtRXZlbnRSZXN1bHQge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBJbmRpY2F0b3IgaWYgdmFsaWRhdGlvbiBoYXMgYmVlbiBwYXNzZWQuXG4gICAgICovXG4gICAgc3VjY2VzczogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRm9ybWF0dGVkIGZvcm0gdmFsdWUuXG4gICAgICovXG4gICAgdmFsdWU6IER5bmFtaWNGb3JtVmFsdWUgfCBudWxsO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBGb3JtIEdlbmVyYXRvciBjb21wb25lbnQgcmVwcmVzZW50cyBhIGhpZ2gtbGV2ZWwgY29tcG9uZW50XG4gKiB3aGljaCBpbmNsdWRlcyBAc2VlIEZvcm1Hcm91cCBpbnNpZGUuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWZvcm0tZ2VuZXJhdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEUF9ET19DSEVDSyxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChmb3JtR2VuZXJhdG9yOiBGb3JtR2VuZXJhdG9yQ29tcG9uZW50KSA9PiBmb3JtR2VuZXJhdG9yLmRvQ2hlY2skLFxuICAgICAgICAgICAgZGVwczogW0Zvcm1HZW5lcmF0b3JDb21wb25lbnRdXG4gICAgICAgIH1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBCdXN5SW5kaWNhdG9yTW9kdWxlLFxuICAgICAgICBGZHBGb3JtR3JvdXBNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBEeW5hbWljRm9ybUNvbnRyb2xGaWVsZERpcmVjdGl2ZSxcbiAgICAgICAgRm9ybUdlbmVyYXRvckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBTa2VsZXRvbkNvbXBvbmVudCxcbiAgICAgICAgR2V0T3JkZXJlZEZpZWxkQ29udHJvbHNQaXBlLFxuICAgICAgICBHZXRIaW50T3B0aW9uc1BpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZW5lcmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBVbmlxdWUgZm9ybSBuYW1lICovXG4gICAgQElucHV0KClcbiAgICBmb3JtTmFtZSA9IGBmZHAtZm9ybS1nZW5lcmF0b3ItJHtmb3JtVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIExpc3Qgb2YgQHNlZSBEeW5hbWljRm9ybUl0ZW0gcmVwcmVzZW50aW5nIHRoZSBsaXN0IG9mIGl0ZW1zXG4gICAgICogdG8gYmUgcmVuZGVyZWQgaW4gdGhlIGZvcm0uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZm9ybUl0ZW1zKGZvcm1JdGVtczogRm9ybUdlbmVyYXRvckFjY2VwdGFibGVJdGVtcykge1xuICAgICAgICBpZiAoIWZvcm1JdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9ybUl0ZW1zID0gaXNPYnNlcnZhYmxlKGZvcm1JdGVtcykgPyBmb3JtSXRlbXMgOiBvZihmb3JtSXRlbXMpO1xuXG4gICAgICAgIHRoaXMuX29uRm9ybUl0ZW1zQ2hhbmdlKGZvcm1JdGVtcyk7XG4gICAgfVxuICAgIGdldCBmb3JtSXRlbXMoKTogRm9ybUdlbmVyYXRvckFjY2VwdGFibGVJdGVtcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtSXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZvcm0gbWFpbiB0aXRsZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG1haW5UaXRsZTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gaGlkZSBtYWluIHRpdGxlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZU1haW5USXRsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogSGludCBmb3IgdGhlIG1haW4gdGl0bGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGhpbnQ6IEhpbnRJbnB1dDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTcGVjaWZ5IHRoZSBjb2x1bW4gbGF5b3V0IGluIHRoZSBmb3JtYXQgYFhMbi1Mbi1Nbi1TbmBcbiAgICAgKiB3aGVyZSBuIGlzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgY2FuIGJlIGRpZmZlcmVudCBmb3IgZWFjaCBzaXplLlxuICAgICAqIGVnOiBYTDItTDItTTItUzEgd291bGQgY3JlYXRlIDItY29sdW1uIGxheW91dHMgZm9yIFhMLCBMLFxuICAgICAqIGFuZCBNIHNpemVzIGFuZCBzaW5nbGUtY29sdW1uIGxheW91dCBmb3IgUyBzaXplLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uTGF5b3V0OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBsYWJlbCdzIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbENvbHVtbkxheW91dDogQ29sdW1uTGF5b3V0ID0gRGVmYXVsdFZlcnRpY2FsTGFiZWxMYXlvdXQ7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGZpZWxkJ3MgY29sdW1uIGxheW91dC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkQ29sdW1uTGF5b3V0OiBDb2x1bW5MYXlvdXQgPSBEZWZhdWx0VmVydGljYWxGaWVsZExheW91dDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgZ2FwIGNvbHVtbiBsYXlvdXQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnYXBDb2x1bW5MYXlvdXQ6IENvbHVtbkxheW91dCA9IERlZmF1bHRHYXBMYXlvdXQ7XG5cbiAgICAvKiogV2hldGhlciBhbGwgZm9ybSBpdGVtcyBzaG91bGQgaGF2ZSBpZGVudGljYWwgbGF5b3V0IHByb3ZpZGVkIGZvciBmb3JtIGdyb3VwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5pZmllZExheW91dCA9IHRydWU7XG5cbiAgICAvKiogSW5saW5lIGNvbHVtbiBsYXlvdXQgKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUNvbHVtbkxheW91dDogQ29sdW1uTGF5b3V0ID0gRGVmYXVsdFZlcnRpY2FsRmllbGRMYXlvdXQ7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUmVtb3ZlcyBleHRyYSBlbXB0eSByb3cuXG4gICAgICogVE9ETzogcmVtb3ZlIGFmdGVyICM3NTMzIGhhcyBiZWVuIGZpeGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9BZGRpdGlvbmFsQ29udGVudCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEV2ZW50IHdoaWNoIG5vdGlmaWVzIHBhcmVudCBjb21wb25lbnQgdGhhdCB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY3JlYXRlZFxuICAgICAqIGFuZCBhbGwgY29udHJvbHMgYXJlIGluIHBsYWNlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1DcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEeW5hbWljRm9ybUdyb3VwPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEV2ZW50IHdoaWNoIG5vdGlmaWVzIHBhcmVudCBjb21wb25lbnQgdGhhdCB0aGUgZm9ybSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkXG4gICAgICogYW5kIHN1Ym1pdHRlZC4gQ29udGFpbnMgZm9ybVxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1TdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPER5bmFtaWNGb3JtVmFsdWU+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRXZlbnQgd2hpY2ggbm90aWZpZXMgcGFyZW50IGNvbXBvbmVudCB0aGF0IHRoZSBmb3JtIHdhcyBzdWJtaXR0ZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybVN1Ym1pdHRlZFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8U3VibWl0Rm9ybUV2ZW50UmVzdWx0PigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgdGhlIGZvcm0gaW5zdGFuY2UuIEBzZWUgTmdGb3JtXG4gICAgICovXG4gICAgQFZpZXdDaGlsZChOZ0Zvcm0pXG4gICAgbmdGb3JtOiBOZ0Zvcm07XG5cbiAgICAvKiogSW5uZXIgZm9ybSBncm91cCBkaXJlY3RpdmUuICovXG4gICAgQFZpZXdDaGlsZChGb3JtR3JvdXBEaXJlY3RpdmUpXG4gICAgZm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmU7XG5cbiAgICAvKiogSW5uZXIgZm9ybSBmaWVsZHMgKi9cbiAgICBAVmlld0NoaWxkcmVuKEZvcm1HZW5lcmF0b3JGaWVsZENvbXBvbmVudClcbiAgICBmaWVsZHM6IFF1ZXJ5TGlzdDxGb3JtR2VuZXJhdG9yRmllbGRDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBkb0NoZWNrJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQXJyYXkgb2YgZm9ybSBmaWVsZCBjb250cm9scy4gKi9cbiAgICBnZXQgZm9ybUZpZWxkcygpOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkc1xuICAgICAgICAgICAgPy50b0FycmF5KClcbiAgICAgICAgICAgIC5maWx0ZXIoKGZpZWxkKSA9PiAhIWZpZWxkLmZpZWxkUmVuZGVyZXI/LmNvbnRyb2wpXG4gICAgICAgICAgICAubWFwKChmaWVsZCkgPT4gZmllbGQuZmllbGRSZW5kZXJlci5jb250cm9sISk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIER5bmFtaWNhbGx5IGdlbmVyYXRlZCBmb3JtLiBAc2VlIEZvcm1HZW5lcmF0b3JTZXJ2aWNlXG4gICAgICovXG4gICAgZm9ybTogRHluYW1pY0Zvcm1Hcm91cDtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdCBvZiB0aGUgZm9ybSBjb250cm9scy5cbiAgICAgKi9cbiAgICBmb3JtQ29udHJvbEl0ZW1zOiBEeW5hbWljRm9ybUdyb3VwQ29udHJvbFtdO1xuXG4gICAgLyoqXG4gICAgICogU2V0IG9mIGZsYWdzIHJlcHJlc2VudGluZyBpZiBwYXJ0aWN1bGFyIGZvcm0gaXRlbSBzaG91bGQgYmUgdmlzaWJsZSB0byB0aGUgdXNlci5cbiAgICAgKi9cbiAgICBzaG91bGRTaG93RmllbGRzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogRmxhZyByZXByZXNlbnRpbmcgdGhhdCBmb3JtIGlzIGxvYWRpbmdcbiAgICAgKi9cbiAgICBmb3JtTG9hZGluZyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBTdHJlYW0gb2YgZm9ybSBsb2FkaW5nIHN0YXRlLlxuICAgICAqL1xuICAgIGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmZvcm1Mb2FkaW5nKTtcblxuICAgIC8qKlxuICAgICAqIFN0cmVhbSBvZiBsYXN0IGZvcm0gc3VibWlzc2lvbiBzdGF0dXMuXG4gICAgICovXG4gICAgZm9ybVN1Ym1pdHRlZFN0YXR1cyQgPSBuZXcgU3ViamVjdDxTdWJtaXRGb3JtRXZlbnRSZXN1bHQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBTdHJlYW0gb2YgbGFzdCBmb3JtIHN1Ym1pc3Npb24gdmFsdWUuXG4gICAgICovXG4gICAgZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHluYW1pY0Zvcm1WYWx1ZT4oe30pO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBmaXJzdCBsb2FkaW5nIHdoZW4gc2tlbGV0b25zIGJlIHNob3duIGFuZCBzdWJzZXF1ZW50IGxvYWRpbmdzIHdoZW4gYnVzeSBpbmRpY2F0b3IgYmUgc2hvd25cbiAgICAgKi9cbiAgICBfZmlyc3RMb2FkaW5nRG9uZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIGhpbnRPcHRpb25zOiBIaW50T3B0aW9ucztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Vycm9yTW9kZWxzOiB7IHR5cGU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9mb3JtSXRlbXM6IEZvcm1HZW5lcmF0b3JBY2NlcHRhYmxlSXRlbXM7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZm9ybVZhbHVlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRIaW50T3B0aW9uczogRmllbGRIaW50T3B0aW9ucztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbmdTdWJtaXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWFwcGVkRm9ybWl0ZW1zOiBNYXA8c3RyaW5nLCBEeW5hbWljRm9ybUl0ZW1NYXA+ID0gbmV3IE1hcCgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZmdTZXJ2aWNlOiBGb3JtR2VuZXJhdG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEZEUF9GT1JNX0dFTkVSQVRPUl9ERUZBVUxUX0hJTlRfT1BUSU9OUykgX3Byb3ZpZGVkSGludE9wdGlvbnM6IEZpZWxkSGludE9wdGlvbnNcbiAgICApIHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdEhpbnRPcHRpb25zID0ge1xuICAgICAgICAgICAgLi4uZGVmYXVsdEZvcm1HZW5lcmF0b3JIaW50T3B0aW9ucyxcbiAgICAgICAgICAgIC4uLl9wcm92aWRlZEhpbnRPcHRpb25zXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fZXJyb3JNb2RlbHMgPSB0aGlzLl9nZXRFcnJvcnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaGludCkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmhpbnQgPT09ICdzdHJpbmcnIHx8IHRoaXMuaGludCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaW50T3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5fZGVmYXVsdEhpbnRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB0aGlzLmhpbnRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpbnRPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLl9kZWZhdWx0SGludE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaGludFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX25nU3VibWl0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZnJlc2hlcyBmb3JtIGl0ZW1zIHZpc2liaWxpdHkgd2l0aCAnd2hlbicgY29uZGl0aW9uLlxuICAgICAqL1xuICAgIGFzeW5jIHJlZnJlc2hTdGVwc1Zpc2liaWxpdHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc2hvdWxkU2hvd0ZpZWxkcyA9IGF3YWl0IHRoaXMuX2ZnU2VydmljZS5jaGVja1Zpc2libGVGb3JtSXRlbXModGhpcy5mb3JtKTtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIGFzeW5jIF9vblN1Ym1pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmRvQ2hlY2skLm5leHQoKTtcblxuICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSBhd2FpdCB0aGlzLl9mZ1NlcnZpY2UuZ2V0Rm9ybVZhbHVlKHRoaXMuZm9ybSk7XG5cbiAgICAgICAgdGhpcy5mb3JtU3VibWl0dGVkU3RhdHVzLmVtaXQoeyBzdWNjZXNzOiAhdGhpcy5mb3JtLmludmFsaWQsIHZhbHVlOiBmb3JtVmFsdWUgfSk7XG4gICAgICAgIHRoaXMuZm9ybVN1Ym1pdHRlZFN0YXR1cyQubmV4dCh7IHN1Y2Nlc3M6ICF0aGlzLmZvcm0uaW52YWxpZCwgdmFsdWU6IGZvcm1WYWx1ZSB9KTtcblxuICAgICAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1TdWJtaXR0ZWQuZW1pdChmb3JtVmFsdWUpO1xuICAgICAgICB0aGlzLmZvcm1WYWx1ZSQubmV4dChmb3JtVmFsdWUpO1xuXG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgbmV3IGNvbnRyb2wgdG8gYW4gZXhpc3RpbmcgZm9ybS5cbiAgICAgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGNvbmZpZ3VyYXRpb24gdG8gYWRkLlxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIGNvbnRyb2wuXG4gICAgICovXG4gICAgYXN5bmMgYWRkQ29udHJvbChjb250cm9sOiBEeW5hbWljRm9ybUl0ZW0sIHBhdGg/OiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLl9hZGRDb250cm9sVG9Gb3JtSXRlbXMoY29udHJvbCwgcGF0aCk7XG4gICAgICAgIHRoaXMuX2ZnU2VydmljZS5hZGRDb250cm9sKGNvbnRyb2wsIHRoaXMuZm9ybSwgcGF0aCk7XG5cbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbEl0ZW1zID0gdGhpcy5fZ2V0T3JkZXJlZENvbnRyb2xzKHRoaXMuZm9ybS5jb250cm9scyk7XG5cbiAgICAgICAgdGhpcy5zaG91bGRTaG93RmllbGRzID0gYXdhaXQgdGhpcy5fZmdTZXJ2aWNlLmNoZWNrVmlzaWJsZUZvcm1JdGVtcyh0aGlzLmZvcm0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdGhlIGNvbnRyb2wgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBieSB0aGUgZ2l2ZW4gcGF0aC5cbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBjb250cm9sLlxuICAgICAqIEBwYXJhbSBwYXRoIFBhdGggb2YgdGhlIGNvbnRyb2wuXG4gICAgICovXG4gICAgYXN5bmMgcmVtb3ZlQ29udHJvbChuYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUNvbnRyb2xGcm9tSXRlbXMobmFtZSwgcGF0aCk7XG4gICAgICAgIHRoaXMuX2ZnU2VydmljZS5yZW1vdmVDb250cm9sKG5hbWUsIHRoaXMuZm9ybSwgcGF0aCk7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2xJdGVtcyA9IHRoaXMuX2dldE9yZGVyZWRDb250cm9scyh0aGlzLmZvcm0uY29udHJvbHMpO1xuXG4gICAgICAgIHRoaXMuc2hvdWxkU2hvd0ZpZWxkcyA9IGF3YWl0IHRoaXMuX2ZnU2VydmljZS5jaGVja1Zpc2libGVGb3JtSXRlbXModGhpcy5mb3JtKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBfdHJhY2tGbihpbmRleDogbnVtYmVyLCB2YWx1ZTogRHluYW1pY0Zvcm1Hcm91cENvbnRyb2wpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7aW5kZXh9XyR7dmFsdWUuZm9ybUl0ZW0ubmFtZX1gO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2dyb3VwVHJhY2tGbihpbmRleDogbnVtYmVyLCB2YWx1ZTogRHluYW1pY0Zvcm1Hcm91cENvbnRyb2wpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKHZhbHVlIGFzIER5bmFtaWNGb3JtQ29udHJvbEdyb3VwKS5mb3JtSXRlbS5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIFByb2dyYW1tYXRpY2FsbHkgc3VibWl0IGZvcm0uXG4gICAgICogVGhpcyBtZXRob2QgYWxzbyBjYWxscyB2YWxpZGF0aW9uIGZvciB0aGUgZm9ybSBpdGVtcy5cbiAgICAgKi9cbiAgICBzdWJtaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLm9uU3VibWl0KG5ldyBFdmVudCgnc3VibWl0JykpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2lzQWR2YW5jZWRFcnJvcihlcnJvcjogYW55KTogZXJyb3IgaXMgRHluYW1pY0Zvcm1JdGVtVmFsaWRhdGlvbk9iamVjdCB7XG4gICAgICAgIHJldHVybiBlcnJvci5oZWFkaW5nICYmIGVycm9yLmRlc2NyaXB0aW9uICYmIGVycm9yLnR5cGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXJyb3JzVHJhY2tCeShfOiBudW1iZXIsIGVycm9yOiB7IHR5cGU6IHN0cmluZzsgdmFsdWU6IGFueSB9KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGVycm9yLnR5cGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgYXN5bmMgX2dlbmVyYXRlRm9ybSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5mb3JtTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0aGlzLmZvcm1Mb2FkaW5nKTtcblxuICAgICAgICBjb25zdCBmb3JtID0gYXdhaXQgdGhpcy5fZmdTZXJ2aWNlLmdlbmVyYXRlRm9ybSh0aGlzLmZvcm1OYW1lLCB0aGlzLl9tYXBwZWRGb3JtaXRlbXMpO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1WYWx1ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xuXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2xJdGVtcyA9IHRoaXMuX2dldE9yZGVyZWRDb250cm9scyhmb3JtLmNvbnRyb2xzKTtcblxuICAgICAgICB0aGlzLnNob3VsZFNob3dGaWVsZHMgPSBhd2FpdCB0aGlzLl9mZ1NlcnZpY2UuY2hlY2tWaXNpYmxlRm9ybUl0ZW1zKHRoaXMuZm9ybSk7XG5cbiAgICAgICAgdGhpcy5fZm9ybVZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG91bGRTaG93RmllbGRzID0gYXdhaXQgdGhpcy5fZmdTZXJ2aWNlLmNoZWNrVmlzaWJsZUZvcm1JdGVtcyh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb3JtTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9maXJzdExvYWRpbmdEb25lID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5mb3JtQ3JlYXRlZC5lbWl0KHRoaXMuZm9ybSk7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0aGlzLmZvcm1Mb2FkaW5nKTtcblxuICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9saXN0ZW5Ub1N1Ym1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0T3JkZXJlZENvbnRyb2xzKGNvbnRyb2xzOiBEeW5hbWljRm9ybUdyb3VwQ29udHJvbHMpOiAoRHluYW1pY0Zvcm1Db250cm9sIHwgRHluYW1pY0Zvcm1Db250cm9sR3JvdXApW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhjb250cm9scykuc29ydChcbiAgICAgICAgICAgIChhLCBiKSA9PiAoYS5mb3JtSXRlbT8ucmFuayA/PyAtSW5maW5pdHkpIC0gKGIuZm9ybUl0ZW0/LnJhbmsgPz8gLUluZmluaXR5KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0RXJyb3JzKCk6IHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSB7XG4gICAgICAgIGNvbnN0IHJldHVybkVycm9yczogeyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdID0gW107XG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyZWRFcnJvcnMgPSB0aGlzLl9mZ1NlcnZpY2UudmFsaWRhdGlvbkVycm9ySGludHM7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHJlZ2lzdGVyZWRFcnJvcnMpLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IFtlcnJvclR5cGUsIGVycm9yVmFsdWVdID0gdHlwZTtcblxuICAgICAgICAgICAgcmV0dXJuRXJyb3JzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IGVycm9yVHlwZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZXJyb3JWYWx1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXR1cm5FcnJvcnM7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1N1Ym1pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmdTdWJtaXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX25nU3VibWl0U3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAubmdTdWJtaXRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5zdGF0dXNDaGFuZ2VzIS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZm9ybUdyb3VwLnN0YXR1cyksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHN0YXR1czogRm9ybUNvbnRyb2xTdGF0dXMpID0+IHN0YXR1cyAhPT0gJ1BFTkRJTkcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX29uU3VibWl0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGlzdGVuVG9TdWJtaXQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25Gb3JtSXRlbXNDaGFuZ2UoaXRlbXM6IE9ic2VydmFibGU8RHluYW1pY0Zvcm1JdGVtW10+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQuY29tcGxldGUoKTtcblxuICAgICAgICB0aGlzLl9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICAgICAgaXRlbXMucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5fcmVmcmVzaCQsIHRoaXMuX29uRGVzdHJveSQpKSkuc3Vic2NyaWJlKChmb3JtSXRlbXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX21hcHBlZEZvcm1pdGVtcyA9IG1hcEZvcm1JdGVtcyhmb3JtSXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5fZ2VuZXJhdGVGb3JtKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXBwbHlSYW5rKGl0ZW1zOiBEeW5hbWljRm9ybUl0ZW1bXSk6IER5bmFtaWNGb3JtSXRlbVtdIHtcbiAgICAgICAgaXRlbXMgPSBpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpdGVtLnJhbmsgPSBpdGVtLnJhbmsgfHwgaW5kZXg7XG4gICAgICAgICAgICBpZiAoaXRlbS5pdGVtcykge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXRlbXMgPSB0aGlzLl9hcHBseVJhbmsoaXRlbS5pdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWRkQ29udHJvbFRvRm9ybUl0ZW1zKGl0ZW06IER5bmFtaWNGb3JtSXRlbSwgcGF0aD86IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgdGhpcy5fbWFwcGVkRm9ybWl0ZW1zLnNldChpdGVtLm5hbWUsIHRyYW5zZm9ybUZvcm1JdGVtKGl0ZW0sIHRoaXMuX21hcHBlZEZvcm1pdGVtcy5zaXplKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRJdGVtID0gZ2V0UGFyZW50SXRlbShwYXRoLCB0aGlzLl9tYXBwZWRGb3JtaXRlbXMpO1xuXG4gICAgICAgIGlmICghcGFyZW50SXRlbSB8fCBpc0Zvcm1GaWVsZEl0ZW0ocGFyZW50SXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmVudEl0ZW0uaXRlbXMgPSBwYXJlbnRJdGVtLml0ZW1zIHx8IG5ldyBNYXAoKTtcbiAgICAgICAgcGFyZW50SXRlbS5pdGVtcy5zZXQoaXRlbS5uYW1lLCB0cmFuc2Zvcm1Gb3JtSXRlbShpdGVtLCBwYXJlbnRJdGVtLml0ZW1zLnNpemUpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlbW92ZUNvbnRyb2xGcm9tSXRlbXMobmFtZTogc3RyaW5nLCBwYXRoPzogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICB0aGlzLl9tYXBwZWRGb3JtaXRlbXMuZGVsZXRlKG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50SXRlbSA9IGdldFBhcmVudEl0ZW0ocGF0aCwgdGhpcy5fbWFwcGVkRm9ybWl0ZW1zKTtcblxuICAgICAgICBpZiAoIXBhcmVudEl0ZW0gfHwgaXNGb3JtRmllbGRJdGVtKHBhcmVudEl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBwYXJlbnRJdGVtLml0ZW1zPy5kZWxldGUobmFtZSk7XG4gICAgfVxufVxuIiwiQGlmIChfZmlyc3RMb2FkaW5nRG9uZSkge1xuICAgIDxmZC1idXN5LWluZGljYXRvciBbbG9hZGluZ109XCJmb3JtTG9hZGluZ1wiIFtibG9ja109XCJ0cnVlXCI+XG4gICAgICAgIEBpZiAoZm9ybSkge1xuICAgICAgICAgICAgPGZkcC1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgICAgW2hpbnRdPVwiaGludFwiXG4gICAgICAgICAgICAgICAgW21haW5UaXRsZV09XCJtYWluVGl0bGVcIlxuICAgICAgICAgICAgICAgIFtoaWRlTWFpblRJdGxlXT1cImhpZGVNYWluVEl0bGVcIlxuICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgW2NvbHVtbkxheW91dF09XCJjb2x1bW5MYXlvdXRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbENvbHVtbkxheW91dF09XCJsYWJlbENvbHVtbkxheW91dFwiXG4gICAgICAgICAgICAgICAgW2ZpZWxkQ29sdW1uTGF5b3V0XT1cImZpZWxkQ29sdW1uTGF5b3V0XCJcbiAgICAgICAgICAgICAgICBbZ2FwQ29sdW1uTGF5b3V0XT1cImdhcENvbHVtbkxheW91dFwiXG4gICAgICAgICAgICAgICAgW3VuaWZpZWRMYXlvdXRdPVwidW5pZmllZExheW91dFwiXG4gICAgICAgICAgICAgICAgW2lubGluZUNvbHVtbkxheW91dF09XCJpbmxpbmVDb2x1bW5MYXlvdXRcIlxuICAgICAgICAgICAgICAgIFt1c2VGb3JtXT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBmb3IgKGVycm9yIG9mIF9lcnJvck1vZGVsczsgdHJhY2sgX2Vycm9yc1RyYWNrQnkoJGluZGV4LCBlcnJvcikpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKmZkcEZvcm1GaWVsZEVycm9yPVwiZXJyb3IudHlwZTsgbGV0IGRpcmVjdGl2ZUVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKF9pc0FkdmFuY2VkRXJyb3IoZGlyZWN0aXZlRXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChkaXJlY3RpdmVFcnJvci5oZWFkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpmZHBGb3JtRmllbGRFcnJvckhlYWRpbmc9XCJsZXQgdmFsaWRhdGlvbkVycm9yOyB0eXBlOiBkaXJlY3RpdmVFcnJvci50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWxpZGF0aW9uRXJyb3IuaGVhZGluZyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZGlyZWN0aXZlRXJyb3IuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKmZkcEZvcm1GaWVsZEVycm9yRGVzY3JpcHRpb249XCJsZXQgdmFsaWRhdGlvbkVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWxpZGF0aW9uRXJyb3IuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpmZHBGb3JtRmllbGRFcnJvckhlYWRpbmc9XCJsZXQgdmFsaWRhdGlvbkVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVycm9yLnZhbHVlID8gZXJyb3IudmFsdWUgOiB2YWxpZGF0aW9uRXJyb3IgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGZvciAoZmllbGQgb2YgZm9ybUNvbnRyb2xJdGVtczsgdHJhY2sgX3RyYWNrRm4oJGluZGV4LCBmaWVsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaWVsZC50eXBlID09PSAnZmllbGQnID8gZmllbGRSZW5kZXJlciA6IGdyb3VwUmVuZGVyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUZpZWxkTmFtZTogZmllbGQuZm9ybUl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5rOiBmaWVsZC5mb3JtSXRlbT8ucmFuayB8fCAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgI2ZpZWxkUmVuZGVyZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldC1maWVsZD1cImZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldC1mb3JtRmllbGROYW1lPVwiZm9ybUZpZWxkTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQtZm9ybUdyb3VwTmFtZT1cImZvcm1Hcm91cE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0LXJhbms9XCJyYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpmZHBEeW5hbWljRm9ybUNvbnRyb2xGaWVsZD1cImZpZWxkOyBzaG93OiBzaG91bGRTaG93RmllbGRzW2ZpZWxkLmZvcm1JdGVtLm5hbWVdICE9PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC1mb3JtLWdlbmVyYXRvci1maWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGludE9wdGlvbnNdPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucyB8IGdldEhpbnRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG91bGRTaG93XT1cInNob3VsZFNob3dGaWVsZHNbZmllbGQuZm9ybUl0ZW0ubmFtZV0gIT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1GaWVsZE5hbWVdPVwiZm9ybUZpZWxkTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBOYW1lUGF0aF09XCJmb3JtR3JvdXBOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JhbmtdPVwicmFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWZvcm0tZ2VuZXJhdG9yLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZ3JvdXBSZW5kZXJlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtZm9ybS1maWVsZC1ncm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaW50T3B0aW9uc109XCJmaWVsZC5mb3JtSXRlbS5ndWlPcHRpb25zIHwgZ2V0SGludE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5mb3JtSXRlbS5tZXNzYWdlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxDb2x1bW5MYXlvdXRdPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucz8ubGFiZWxDb2x1bW5MYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZENvbHVtbkxheW91dF09XCJmaWVsZC5mb3JtSXRlbS5ndWlPcHRpb25zPy5maWVsZENvbHVtbkxheW91dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dhcENvbHVtbkxheW91dF09XCJmaWVsZC5mb3JtSXRlbS5ndWlPcHRpb25zPy5nYXBDb2x1bW5MYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtTmFtZV09XCJmaWVsZC5mb3JtSXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBGaWVsZCBvZiBmaWVsZCB8IGdldE9yZGVyZWRGaWVsZENvbnRyb2xzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBfZ3JvdXBUcmFja0ZuKCRpbmRleCwgZ3JvdXBGaWVsZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKmZkcER5bmFtaWNGb3JtQ29udHJvbEZpZWxkPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiBzaG91bGRTaG93RmllbGRzW2dyb3VwRmllbGQuZm9ybUl0ZW0ubmFtZSFdICE9PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC1mb3JtLWdlbmVyYXRvci1maWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaW50T3B0aW9uc109XCJncm91cEZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnMgfCBnZXRIaW50T3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkXT1cImdyb3VwRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG91bGRTaG93XT1cInNob3VsZFNob3dGaWVsZHNbZ3JvdXBGaWVsZC5mb3JtSXRlbS5uYW1lIV0gIT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUZpZWxkTmFtZV09XCJncm91cEZpZWxkLmZvcm1JdGVtLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBOYW1lUGF0aF09XCJmaWVsZC5mb3JtSXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmFua109XCJncm91cEZpZWxkLmZvcm1JdGVtLnJhbmsgfHwgMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mZHAtZm9ybS1nZW5lcmF0b3ItZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmRwLWZvcm0tZmllbGQtZ3JvdXA+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoIW5vQWRkaXRpb25hbENvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGZkcC1mb3JtLWZpZWxkIFtjb2x1bW5dPVwiMVwiIFtyYW5rXT1cImZvcm1Db250cm9sSXRlbXMubGVuZ3RoICsgMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGb3IgdXNlci1kZWZpbmVkIGVsZW1lbnRzLCBsaWtlIHN1Ym1pdCBidXR0b24gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZmRwLWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9mZHAtZm9ybS1ncm91cD5cbiAgICAgICAgfVxuICAgIDwvZmQtYnVzeS1pbmRpY2F0b3I+XG59IEBlbHNlIHtcbiAgICA8ZmQtc2tlbGV0b24gd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwcHhcIiBbc3R5bGUucGFkZGluZy5yZW1dPVwiMVwiPlxuICAgICAgICA8c3ZnOnJlY3QgeD1cIjBcIiB5PVwiMFwiIHJ4PVwiNFwiIHdpZHRoPVwiMTUlXCIgaGVpZ2h0PVwiOFwiIC8+XG4gICAgICAgIDxzdmc6cmVjdCB4PVwiMFwiIHk9XCIyMFwiIHJ4PVwiNFwiIHdpZHRoPVwiMjUlXCIgaGVpZ2h0PVwiMTZcIiAvPlxuICAgICAgICA8c3ZnOnJlY3QgeD1cIjM1JVwiIHk9XCIwXCIgcng9XCI0XCIgd2lkdGg9XCIxNSVcIiBoZWlnaHQ9XCI4XCIgLz5cbiAgICAgICAgPHN2ZzpyZWN0IHg9XCIzNSVcIiB5PVwiMjBcIiByeD1cIjRcIiB3aWR0aD1cIjI1JVwiIGhlaWdodD1cIjE2XCIgLz5cbiAgICAgICAgPHN2ZzpyZWN0IHg9XCIwXCIgeT1cIjYwXCIgcng9XCI0XCIgd2lkdGg9XCIxNSVcIiBoZWlnaHQ9XCI4XCIgLz5cbiAgICAgICAgPHN2ZzpyZWN0IHg9XCIwXCIgeT1cIjgwXCIgcng9XCI0XCIgd2lkdGg9XCIyNSVcIiBoZWlnaHQ9XCIxNlwiIC8+XG4gICAgPC9mZC1za2VsZXRvbj5cbn1cbiJdfQ==
|
|
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
53
53
|
providedIn: 'root'
|
|
54
54
|
}]
|
|
55
55
|
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3ItY29tcG9uZW50cy1hY2Nlc3Nvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9mb3JtL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLWNvbXBvbmVudHMtYWNjZXNzb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUczRTs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHNDQUFzQztJQUhuRDtRQUlJOztXQUVHO1FBQ0ssOEJBQXlCLEdBQThCLHVCQUF1QixDQUFDO0tBMkMxRjtJQXpDRzs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLFNBQWdELEVBQUUsS0FBZTtRQUMxRSxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQ3BFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNsRCxDQUFDO1FBRUYsSUFBSSx1QkFBdUIsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMseUJBQXlCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQzlFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxrSEFBa0g7UUFDbEgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUM1RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDbkQsQ0FBQztRQUVGLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3BELGlCQUFpQixDQUFDLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDO1lBQ2hDLEtBQUs7WUFDTCxTQUFTO1NBQ1osQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCw0QkFBNEIsQ0FBQyxJQUFZO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDOzhHQTlDUSxzQ0FBc0M7a0hBQXRDLHNDQUFzQyxjQUZuQyxNQUFNOzsyRkFFVCxzQ0FBc0M7a0JBSGxELFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUR5bmFtaWNGb3JtR2VuZXJhdG9yQ29udHJvbCB9IGZyb20gJy4vYmFzZS1keW5hbWljLWZvcm0tZ2VuZXJhdG9yLWNvbnRyb2wnO1xuaW1wb3J0IHsgREVGQVVMVF9DT01QT05FTlRTX0xJU1QgfSBmcm9tICcuL2NvbmZpZy9kZWZhdWx0LWNvbXBvbmVudHMtbGlzdCc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50RGVmaW5pdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9mb3JtLWNvbXBvbmVudC1kZWZpbml0aW9uJztcblxuLyoqXG4gKiBTaW5jZSBmb3JtIGdlbmVyYXRvciBzZXJ2aWNlIG1vc3QgcHJvYmFibHkgd2lsbCBiZSBwcm92aWRlZCBieSBwYXJlbnQgY29tcG9uZW50LFxuICogc28gdGhhdCBmb3JtcyBtYXAgZG9lcyBub3QgaW50ZXJmZXJlIHdpdGggb3RoZXIgZm9ybSBnZW5lcmF0b3JzLFxuICogQ29tcG9uZW50cyBBY2Nlc3NvciBpcyBhIHNlcGFyYXRlIHNlcnZpY2Ugd2l0aCBhIGdsb2JhbCBzY29wZSwgd2hpY2ggY2FuIGJlIGFsc28gcHJvdmlkZWQgcGVyIGNvbXBvbmVudC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2VuZXJhdG9yQ29tcG9uZW50c0FjY2Vzc29yU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX2Zvcm1Db21wb25lbnREZWZpbml0aW9uczogRm9ybUNvbXBvbmVudERlZmluaXRpb25bXSA9IERFRkFVTFRfQ09NUE9ORU5UU19MSVNUO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEFkZHMgY3VzdG9tIGNvbXBvbmVudCB0byB0aGUgbGlzdCBvZiBhdmFpbGFibGUgY29tcG9uZW50cyBmb3IgdGhlIGZvcm0gZ2VuZXJhdG9yIGl0ZW1zLlxuICAgICAqIEBwYXJhbSBjb21wb25lbnQgQW5ndWxhciBjb21wb25lbnQuXG4gICAgICogQHBhcmFtIHR5cGVzIHR5cGVzIG9mIHRoZSBmb3JtIGl0ZW0uXG4gICAgICovXG4gICAgYWRkQ29tcG9uZW50KGNvbXBvbmVudDogVHlwZTxCYXNlRHluYW1pY0Zvcm1HZW5lcmF0b3JDb250cm9sPiwgdHlwZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGJlc3RNYXRjaENvbXBvbmVudEluZGV4ID0gdGhpcy5fZm9ybUNvbXBvbmVudERlZmluaXRpb25zLmZpbmRJbmRleChcbiAgICAgICAgICAgIChjKSA9PiBjLnR5cGVzPy5ldmVyeSgodCkgPT4gdHlwZXMuaW5jbHVkZXModCkpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGJlc3RNYXRjaENvbXBvbmVudEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1Db21wb25lbnREZWZpbml0aW9uc1tiZXN0TWF0Y2hDb21wb25lbnRJbmRleF0uY29tcG9uZW50ID0gY29tcG9uZW50O1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUcnkgdG8gZmluZCBjb21wb25lbnQgaW4gdHlwZXMga2V5LiBUaGVyZSBtaWdodCBiZSBzb21lIHVuaXF1ZSBjYXNlcyB3aGVuIG5ldyBjb21wb25lbnQgbWlnaHQgcmVwbGFjZSBtdWx0aXBsZS5cbiAgICAgICAgY29uc3QgZXhpc3RpbmdDb21wb25lbnRzID0gdGhpcy5fZm9ybUNvbXBvbmVudERlZmluaXRpb25zLmZpbHRlcihcbiAgICAgICAgICAgIChjKSA9PiBjLnR5cGVzPy5maWx0ZXIoKHQpID0+IHR5cGVzLmluY2x1ZGVzKHQpKVxuICAgICAgICApO1xuXG4gICAgICAgIGV4aXN0aW5nQ29tcG9uZW50cy5mb3JFYWNoKChleGlzdGluZ0NvbXBvbmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGV4aXN0aW5nQ29tcG9uZW50LnR5cGVzID0gZXhpc3RpbmdDb21wb25lbnQudHlwZXM/LmZpbHRlcigodCkgPT4gIXR5cGVzLmluY2x1ZGVzKHQpKTtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1Db21wb25lbnREZWZpbml0aW9uc1tpbmRleF0gPSBleGlzdGluZ0NvbXBvbmVudDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZm9ybUNvbXBvbmVudERlZmluaXRpb25zLnB1c2goe1xuICAgICAgICAgICAgdHlwZXMsXG4gICAgICAgICAgICBjb21wb25lbnRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJldHVybnMgYmVzdC1tYXRjaGVkIGNvbXBvbmVudCBiYXNlZCBvbiBwcm92aWRlZCBgdHlwZWAgYXJndW1lbnRcbiAgICAgKiBAcGFyYW0gdHlwZSBmb3JtIGl0ZW0gdHlwZVxuICAgICAqIEByZXR1cm5zIEBzZWUgRm9ybUNvbXBvbmVudERlZmluaXRpb24gQ29tcG9uZW50IGRlZmluaXRpb24gZm9yIHRoZSBmb3JtIGl0ZW1cbiAgICAgKi9cbiAgICBnZXRDb21wb25lbnREZWZpbml0aW9uQnlUeXBlKHR5cGU6IHN0cmluZyk6IEZvcm1Db21wb25lbnREZWZpbml0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Db21wb25lbnREZWZpbml0aW9ucy5maW5kKChjKSA9PiBjLnR5cGVzPy5pbmNsdWRlcyh0eXBlKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
101
101
|
type: ViewChild,
|
|
102
102
|
args: [forwardRef(() => FormFieldComponent)]
|
|
103
103
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3ItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3ItZmllbGQvZm9ybS1nZW5lcmF0b3ItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3ItZmllbGQvZm9ybS1nZW5lcmF0b3ItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFFdEUsTUFBTSxpQkFBaUIsR0FBYTtJ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QUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFNRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUsyQyxhQUFhO3NCQUE3RCxTQUFTO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFByb3ZpZGVyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZEX0ZPUk1fRklFTEQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZEhpbnRPcHRpb25zLCBQbGF0Zm9ybUZvcm1GaWVsZCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IEZPUk1fR1JPVVBfQ0hJTERfRklFTERfVE9LRU4gfSBmcm9tICcuLi8uLi9mb3JtLWdyb3VwL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9mb3JtLWdyb3VwL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtLWNvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vZm9ybS1nZW5lcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUdyb3VwIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZ3JvdXAnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1JdGVtVmFsaWRhdGlvbk9iamVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWl0ZW0nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZkcEZvcm1Hcm91cE1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tZ3JvdXAvZmRwLWZvcm0ubW9kdWxlJztcblxuY29uc3QgZm9ybUZpZWxkUHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICAgIHByb3ZpZGU6IEZEX0ZPUk1fRklFTEQsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9ybUdlbmVyYXRvckZpZWxkQ29tcG9uZW50KVxufTtcblxuY29uc3QgZm9ybUdyb3VwQ2hpbGRQcm92aWRlcjogUHJvdmlkZXIgPSB7XG4gICAgcHJvdmlkZTogRk9STV9HUk9VUF9DSElMRF9GSUVMRF9UT0tFTixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb3JtR2VuZXJhdG9yRmllbGRDb21wb25lbnQpXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1mb3JtLWdlbmVyYXRvci1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ2VuZXJhdG9yLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtmb3JtRmllbGRQcm92aWRlciwgZm9ybUdyb3VwQ2hpbGRQcm92aWRlcl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGZHBGb3JtR3JvdXBNb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBEeW5hbWljRm9ybUNvbnRyb2xEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZW5lcmF0b3JGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogRm9ybSBjb250cm9sLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGZpZWxkOiBEeW5hbWljRm9ybUNvbnRyb2w7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIGdlbmVyYXRvcidzIGZvcm0uXG4gICAgICovXG4gICAgQElucHV0KCkgZm9ybTogRHluYW1pY0Zvcm1Hcm91cDtcblxuICAgIC8qKlxuICAgICAqIFRyYW5zbGF0aW9ucyB0ZW1wbGF0ZSByZWZlcmVuY2UuXG4gICAgICovXG4gICAgQElucHV0KCkgaTE4bjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gY29udHJvbCBuYW1lXG4gICAgICovXG4gICAgQElucHV0KCkgZm9ybUZpZWxkTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUGF0aCBvZiB0aGUgZm9ybSBncm91cC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBmb3JtR3JvdXBOYW1lUGF0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUmFuayBpcyB1c2VkIGZvciBvcmRlcmluZy5cbiAgICAgKiBUaGUgbG93ZXIgbnVtYmVyIHRoZSBoaWdoZXIgcHJpb3JpdHkuXG4gICAgICovXG4gICAgQElucHV0KCkgcmFuazogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGlzIGZpZWxkIHNob3VsZCBiZSB2aXNpYmxlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3VsZFNob3c6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEZXNjcmliZXMgaGludCBvcHRpb25zIGZvciBmaWVsZCBsYWJlbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGhpbnRPcHRpb25zPzogRmllbGRIaW50T3B0aW9ucztcblxuICAgIC8qKlxuICAgICAqIEZvcm0gZmllbGQgY29tcG9uZW50LlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBGb3JtRmllbGRDb21wb25lbnQpKSBmaWVsZFJlbmRlcmVyOiBQbGF0Zm9ybUZvcm1GaWVsZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9wbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuZmllbGQpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5maWVsZC5mb3JtSXRlbT8ucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLmZvcm1JdGVtPy5wbGFjZWhvbGRlciBhcyBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZmllbGQuZm9ybUl0ZW0/LnVzZU1lc3NhZ2VBc1BsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5mb3JtSXRlbT8ubWVzc2FnZSBhcyBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Vycm9yTW9kZWxzOiB7IHR5cGU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2ZnU2VydmljZTogRm9ybUdlbmVyYXRvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lcnJvck1vZGVscyA9IHRoaXMuX2dldEVycm9ycygpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Vycm9yc1RyYWNrQnkoXzogbnVtYmVyLCBlcnJvcjogeyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlcnJvci50eXBlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2lzQWR2YW5jZWRFcnJvcihlcnJvcjogYW55KTogZXJyb3IgaXMgRHluYW1pY0Zvcm1JdGVtVmFsaWRhdGlvbk9iamVjdCB7XG4gICAgICAgIHJldHVybiBlcnJvci5oZWFkaW5nICYmIGVycm9yLmRlc2NyaXB0aW9uICYmIGVycm9yLnR5cGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRFcnJvcnMoKTogeyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdIHtcbiAgICAgICAgY29uc3QgcmVnaXN0ZXJlZEVycm9ycyA9IHRoaXMuX2ZnU2VydmljZS52YWxpZGF0aW9uRXJyb3JIaW50cztcblxuICAgICAgICBjb25zdCByZXR1cm5FcnJvcnM6IHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLmZpZWxkLmZvcm1JdGVtLm5hbWV9VmFsaWRhdG9yYCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHJlZ2lzdGVyZWRFcnJvcnMpLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IFtlcnJvclR5cGUsIGVycm9yVmFsdWVdID0gdHlwZTtcblxuICAgICAgICAgICAgcmV0dXJuRXJyb3JzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IGVycm9yVHlwZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZXJyb3JWYWx1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXR1cm5FcnJvcnM7XG4gICAgfVxufVxuIiwiPGZkcC1mb3JtLWZpZWxkXG4gICAgW2hpbnRdPVwiaGludE9wdGlvbnNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJfcGxhY2Vob2xkZXJcIlxuICAgIFtpZF09XCJmaWVsZC5mb3JtSXRlbS5pZCB8fCBmb3JtRmllbGROYW1lXCJcbiAgICBbY29sdW1uXT1cImZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnM/LmNvbHVtbiB8fCAxXCJcbiAgICBbY29sdW1uTGF5b3V0XT1cImZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnM/LmNvbHVtbkxheW91dFwiXG4gICAgW2NvbG9uXT1cImZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnM/LmFwcGVuZENvbG9uID09PSB0cnVlXCJcbiAgICBbbGFiZWxdPVwiZmllbGQuZm9ybUl0ZW0ubWVzc2FnZVwiXG4gICAgW3ZhbGlkYXRvcnNdPVwiZmllbGQuZm9ybUl0ZW0udmFsaWRhdG9ycyB8fCBbXVwiXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkLmZvcm1JdGVtLnJlcXVpcmVkXCJcbiAgICBbcmFua109XCJyYW5rXCJcbiAgICBbbGFiZWxDb2x1bW5MYXlvdXRdPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucz8ubGFiZWxDb2x1bW5MYXlvdXRcIlxuICAgIFtmaWVsZENvbHVtbkxheW91dF09XCJmaWVsZC5mb3JtSXRlbS5ndWlPcHRpb25zPy5maWVsZENvbHVtbkxheW91dFwiXG4gICAgW2dhcENvbHVtbkxheW91dF09XCJmaWVsZC5mb3JtSXRlbS5ndWlPcHRpb25zPy5nYXBDb2x1bW5MYXlvdXRcIlxuICAgIFtub0xhYmVsTGF5b3V0XT1cImZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnM/Lm5vTGFiZWxMYXlvdXQgfHwgZmFsc2VcIlxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgI2Zvcm1GaWVsZFxuPlxuICAgIEBmb3IgKGVycm9yIG9mIF9lcnJvck1vZGVsczsgdHJhY2sgX2Vycm9yc1RyYWNrQnkoJGluZGV4LCBlcnJvcikpIHtcbiAgICAgICAgPHNwYW4gKmZkcEZvcm1GaWVsZEVycm9yPVwiZXJyb3IudHlwZTsgbGV0IGRpcmVjdGl2ZUVycm9yXCI+XG4gICAgICAgICAgICBAaWYgKF9pc0FkdmFuY2VkRXJyb3IoZGlyZWN0aXZlRXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgQGlmIChkaXJlY3RpdmVFcnJvci5oZWFkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpmZHBGb3JtRmllbGRFcnJvckhlYWRpbmc9XCJsZXQgdmFsaWRhdGlvbkVycm9yOyB0eXBlOiBkaXJlY3RpdmVFcnJvci50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWxpZGF0aW9uRXJyb3IuaGVhZGluZyB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoZGlyZWN0aXZlRXJyb3IuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKmZkcEZvcm1GaWVsZEVycm9yRGVzY3JpcHRpb249XCJsZXQgdmFsaWRhdGlvbkVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB2YWxpZGF0aW9uRXJyb3IuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxzcGFuICpmZHBGb3JtRmllbGRFcnJvckhlYWRpbmc9XCJsZXQgdmFsaWRhdGlvbkVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGVycm9yLnZhbHVlID8gZXJyb3IudmFsdWUgOiB2YWxpZGF0aW9uRXJyb3IgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbZm9ybUZpZWxkXT1cImZvcm1GaWVsZFwiXG4gICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICBbZm9ybUdyb3VwTmFtZVBhdGhdPVwiZm9ybUdyb3VwTmFtZVBhdGhcIlxuICAgICAgICBmZHBEeW5hbWljRm9ybUNvbnRyb2xcbiAgICAgICAgW2lkXT1cImZpZWxkLmZvcm1JdGVtLmlkIHx8IGZvcm1GaWVsZE5hbWVcIlxuICAgICAgICBbbmFtZV09XCJmb3JtRmllbGROYW1lXCJcbiAgICAgICAgW2Zvcm1JdGVtXT1cImZpZWxkLmZvcm1JdGVtXCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2ZkcC1mb3JtLWZpZWxkPlxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3ItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9mb3JtL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLWZpZWxkL2Zvcm0tZ2VuZXJhdG9yLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZm9ybS9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci1maWVsZC9mb3JtLWdlbmVyYXRvci1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQUV0RSxNQUFNLGlCQUFpQixHQUFhO0lBQ2hDLE9BQU8sRUFBRSxh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QUFaLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQU1HLElBQUk7c0JBQVosS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSzJDLGFBQWE7c0JBQTdELFNBQVM7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgUHJvdmlkZXIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkRfRk9STV9GSUVMRCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkSGludE9wdGlvbnMsIFBsYXRmb3JtRm9ybUZpZWxkIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgRk9STV9HUk9VUF9DSElMRF9GSUVMRF9UT0tFTiB9IGZyb20gJy4uLy4uL2Zvcm0tZ3JvdXAvY29uc3RhbnRzJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0tZ3JvdXAvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbnRyb2wgfSBmcm9tICcuLi9keW5hbWljLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuLi9keW5hbWljLWZvcm0tY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICcuLi9mb3JtLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtR3JvdXAgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1ncm91cCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUl0ZW1WYWxpZGF0aW9uT2JqZWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0taXRlbSc7XG5cbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmRwRm9ybUdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vZm9ybS1ncm91cC9mZHAtZm9ybS5tb2R1bGUnO1xuXG5jb25zdCBmb3JtRmllbGRQcm92aWRlcjogUHJvdmlkZXIgPSB7XG4gICAgcHJvdmlkZTogRkRfRk9STV9GSUVMRCxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb3JtR2VuZXJhdG9yRmllbGRDb21wb25lbnQpXG59O1xuXG5jb25zdCBmb3JtR3JvdXBDaGlsZFByb3ZpZGVyOiBQcm92aWRlciA9IHtcbiAgICBwcm92aWRlOiBGT1JNX0dST1VQX0NISUxEX0ZJRUxEX1RPS0VOLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1HZW5lcmF0b3JGaWVsZENvbXBvbmVudClcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWZvcm0tZ2VuZXJhdG9yLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1nZW5lcmF0b3ItZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW2Zvcm1GaWVsZFByb3ZpZGVyLCBmb3JtR3JvdXBDaGlsZFByb3ZpZGVyXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ZkcEZvcm1Hcm91cE1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIER5bmFtaWNGb3JtQ29udHJvbERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdlbmVyYXRvckZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiBGb3JtIGNvbnRyb2wuXG4gICAgICovXG4gICAgQElucHV0KCkgZmllbGQ6IER5bmFtaWNGb3JtQ29udHJvbDtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gZ2VuZXJhdG9yJ3MgZm9ybS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBmb3JtOiBEeW5hbWljRm9ybUdyb3VwO1xuXG4gICAgLyoqXG4gICAgICogVHJhbnNsYXRpb25zIHRlbXBsYXRlIHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBpMThuOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogRm9ybSBjb250cm9sIG5hbWVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmb3JtRmllbGROYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIG9mIHRoZSBmb3JtIGdyb3VwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGZvcm1Hcm91cE5hbWVQYXRoOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBSYW5rIGlzIHVzZWQgZm9yIG9yZGVyaW5nLlxuICAgICAqIFRoZSBsb3dlciBudW1iZXIgdGhlIGhpZ2hlciBwcmlvcml0eS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSByYW5rOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoaXMgZmllbGQgc2hvdWxkIGJlIHZpc2libGUuXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvdWxkU2hvdzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERlc2NyaWJlcyBoaW50IG9wdGlvbnMgZm9yIGZpZWxkIGxhYmVsXG4gICAgICovXG4gICAgQElucHV0KCkgaGludE9wdGlvbnM/OiBGaWVsZEhpbnRPcHRpb25zO1xuXG4gICAgLyoqXG4gICAgICogRm9ybSBmaWVsZCBjb21wb25lbnQuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZChmb3J3YXJkUmVmKCgpID0+IEZvcm1GaWVsZENvbXBvbmVudCkpIGZpZWxkUmVuZGVyZXI6IFBsYXRmb3JtRm9ybUZpZWxkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3BsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5maWVsZCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmZvcm1JdGVtPy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQuZm9ybUl0ZW0/LnBsYWNlaG9sZGVyIGFzIHN0cmluZztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5maWVsZC5mb3JtSXRlbT8udXNlTWVzc2FnZUFzUGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLmZvcm1JdGVtPy5tZXNzYWdlIGFzIHN0cmluZztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXJyb3JNb2RlbHM6IHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZmdTZXJ2aWNlOiBGb3JtR2VuZXJhdG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Vycm9yTW9kZWxzID0gdGhpcy5fZ2V0RXJyb3JzKCk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXJyb3JzVHJhY2tCeShfOiBudW1iZXIsIGVycm9yOiB7IHR5cGU6IHN0cmluZzsgdmFsdWU6IGFueSB9KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGVycm9yLnR5cGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaXNBZHZhbmNlZEVycm9yKGVycm9yOiBhbnkpOiBlcnJvciBpcyBEeW5hbWljRm9ybUl0ZW1WYWxpZGF0aW9uT2JqZWN0IHtcbiAgICAgICAgcmV0dXJuIGVycm9yLmhlYWRpbmcgJiYgZXJyb3IuZGVzY3JpcHRpb24gJiYgZXJyb3IudHlwZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEVycm9ycygpOiB7IHR5cGU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10ge1xuICAgICAgICBjb25zdCByZWdpc3RlcmVkRXJyb3JzID0gdGhpcy5fZmdTZXJ2aWNlLnZhbGlkYXRpb25FcnJvckhpbnRzO1xuXG4gICAgICAgIGNvbnN0IHJldHVybkVycm9yczogeyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6IGAke3RoaXMuZmllbGQuZm9ybUl0ZW0ubmFtZX1WYWxpZGF0b3JgLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgT2JqZWN0LmVudHJpZXMocmVnaXN0ZXJlZEVycm9ycykuZm9yRWFjaCgodHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgW2Vycm9yVHlwZSwgZXJyb3JWYWx1ZV0gPSB0eXBlO1xuXG4gICAgICAgICAgICByZXR1cm5FcnJvcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgdHlwZTogZXJyb3JUeXBlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBlcnJvclZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJldHVybkVycm9ycztcbiAgICB9XG59XG4iLCI8ZmRwLWZvcm0tZmllbGRcbiAgICBbaGludF09XCJoaW50T3B0aW9uc1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cIl9wbGFjZWhvbGRlclwiXG4gICAgW2lkXT1cImZpZWxkLmZvcm1JdGVtLmlkIHx8IGZvcm1GaWVsZE5hbWVcIlxuICAgIFtjb2x1bW5dPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucz8uY29sdW1uIHx8IDFcIlxuICAgIFtjb2x1bW5MYXlvdXRdPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucz8uY29sdW1uTGF5b3V0XCJcbiAgICBbY29sb25dPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucz8uYXBwZW5kQ29sb24gPT09IHRydWVcIlxuICAgIFtsYWJlbF09XCJmaWVsZC5mb3JtSXRlbS5tZXNzYWdlXCJcbiAgICBbdmFsaWRhdG9yc109XCJmaWVsZC5mb3JtSXRlbS52YWxpZGF0b3JzIHx8IFtdXCJcbiAgICBbcmVxdWlyZWRdPVwiZmllbGQuZm9ybUl0ZW0ucmVxdWlyZWRcIlxuICAgIFtyYW5rXT1cInJhbmtcIlxuICAgIFtsYWJlbENvbHVtbkxheW91dF09XCJmaWVsZC5mb3JtSXRlbS5ndWlPcHRpb25zPy5sYWJlbENvbHVtbkxheW91dFwiXG4gICAgW2ZpZWxkQ29sdW1uTGF5b3V0XT1cImZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnM/LmZpZWxkQ29sdW1uTGF5b3V0XCJcbiAgICBbZ2FwQ29sdW1uTGF5b3V0XT1cImZpZWxkLmZvcm1JdGVtLmd1aU9wdGlvbnM/LmdhcENvbHVtbkxheW91dFwiXG4gICAgW25vTGFiZWxMYXlvdXRdPVwiZmllbGQuZm9ybUl0ZW0uZ3VpT3B0aW9ucz8ubm9MYWJlbExheW91dCB8fCBmYWxzZVwiXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAjZm9ybUZpZWxkXG4+XG4gICAgQGZvciAoZXJyb3Igb2YgX2Vycm9yTW9kZWxzOyB0cmFjayBfZXJyb3JzVHJhY2tCeSgkaW5kZXgsIGVycm9yKSkge1xuICAgICAgICA8c3BhbiAqZmRwRm9ybUZpZWxkRXJyb3I9XCJlcnJvci50eXBlOyBsZXQgZGlyZWN0aXZlRXJyb3JcIj5cbiAgICAgICAgICAgIEBpZiAoX2lzQWR2YW5jZWRFcnJvcihkaXJlY3RpdmVFcnJvcikpIHtcbiAgICAgICAgICAgICAgICBAaWYgKGRpcmVjdGl2ZUVycm9yLmhlYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKmZkcEZvcm1GaWVsZEVycm9ySGVhZGluZz1cImxldCB2YWxpZGF0aW9uRXJyb3I7IHR5cGU6IGRpcmVjdGl2ZUVycm9yLnR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZhbGlkYXRpb25FcnJvci5oZWFkaW5nIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChkaXJlY3RpdmVFcnJvci5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqZmRwRm9ybUZpZWxkRXJyb3JEZXNjcmlwdGlvbj1cImxldCB2YWxpZGF0aW9uRXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZhbGlkYXRpb25FcnJvci5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gKmZkcEZvcm1GaWVsZEVycm9ySGVhZGluZz1cImxldCB2YWxpZGF0aW9uRXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZXJyb3IudmFsdWUgPyBlcnJvci52YWx1ZSA6IHZhbGlkYXRpb25FcnJvciB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtmb3JtRmllbGRdPVwiZm9ybUZpZWxkXCJcbiAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICAgIFtmb3JtR3JvdXBOYW1lUGF0aF09XCJmb3JtR3JvdXBOYW1lUGF0aFwiXG4gICAgICAgIGZkcER5bmFtaWNGb3JtQ29udHJvbFxuICAgICAgICBbaWRdPVwiZmllbGQuZm9ybUl0ZW0uaWQgfHwgZm9ybUZpZWxkTmFtZVwiXG4gICAgICAgIFtuYW1lXT1cImZvcm1GaWVsZE5hbWVcIlxuICAgICAgICBbZm9ybUl0ZW1dPVwiZmllbGQuZm9ybUl0ZW1cIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZmRwLWZvcm0tZmllbGQ+XG4iXX0=
|