@smartbit4all/ng-client 4.3.24 → 4.3.25
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/README.md +386 -386
- package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +1 -1
- package/esm2022/lib/component-factory-service/component-factory-service.service.mjs +1 -1
- package/esm2022/lib/component-factory-service/projects.mjs +1 -1
- package/esm2022/lib/session/api/api/api.mjs +1 -1
- package/esm2022/lib/session/api/api/session.service.mjs +1 -1
- package/esm2022/lib/session/api/configuration.mjs +1 -1
- package/esm2022/lib/session/api/encoder.mjs +1 -1
- package/esm2022/lib/session/api/index.mjs +1 -1
- package/esm2022/lib/session/api/model/accountInfo.mjs +1 -1
- package/esm2022/lib/session/api/model/apiError.mjs +1 -1
- package/esm2022/lib/session/api/model/authenticationProviderData.mjs +1 -1
- package/esm2022/lib/session/api/model/getAuthenticationProvidersResponse.mjs +1 -1
- package/esm2022/lib/session/api/model/models.mjs +1 -1
- package/esm2022/lib/session/api/model/refreshSessionRequest.mjs +1 -1
- package/esm2022/lib/session/api/model/session.mjs +1 -1
- package/esm2022/lib/session/api/model/sessionInfoData.mjs +1 -1
- package/esm2022/lib/session/api/model/userActivityLog.mjs +1 -1
- package/esm2022/lib/session/api/param.mjs +1 -1
- package/esm2022/lib/session/api/variables.mjs +1 -1
- package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +1 -1
- package/esm2022/lib/session/projects.mjs +1 -1
- package/esm2022/lib/session/smart-error-catching.interceptor.mjs +1 -1
- package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
- package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
- package/esm2022/lib/session/smart-session.module.mjs +1 -1
- package/esm2022/lib/session/smart-session.service.mjs +1 -1
- package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
- package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +1 -1
- package/esm2022/lib/shared/projects.mjs +1 -1
- package/esm2022/lib/shared/shared.module.mjs +1 -1
- package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
- package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
- package/esm2022/lib/smart-client/projects.mjs +1 -1
- package/esm2022/lib/smart-client/smart-authentication.service.mjs +1 -1
- package/esm2022/lib/smart-client/smart-component-api-client.mjs +1 -1
- package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
- package/esm2022/lib/smart-client/smart.component.mjs +1 -1
- package/esm2022/lib/smart-client/smart.service.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/toolbarDirection.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +1 -1
- package/esm2022/lib/smart-component-layout/projects.mjs +1 -1
- package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
- package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
- package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +22 -22
- package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +1 -1
- package/esm2022/lib/smart-diagram/projects.mjs +1 -1
- package/esm2022/lib/smart-dialog/projects.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
- package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
- package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/model.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
- package/esm2022/lib/smart-filter/projects.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter.module.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
- package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
- package/esm2022/lib/smart-form/projects.mjs +1 -1
- package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +1 -1
- package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
- package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
- package/esm2022/lib/smart-form/smartform.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
- package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
- package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
- package/esm2022/lib/smart-grid/models/model.mjs +1 -1
- package/esm2022/lib/smart-grid/projects.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +4 -3
- package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
- package/esm2022/lib/smart-icon/projects.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
- package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +3 -3
- package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
- package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
- package/esm2022/lib/smart-map/api-default/api-default.mjs +1 -1
- package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
- package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
- package/esm2022/lib/smart-map/projects.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.component.mjs +3 -3
- package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
- package/esm2022/lib/smart-navbar/projects.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
- package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
- package/esm2022/lib/smart-navigation/projects.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
- package/esm2022/lib/smart-ng-client.module.mjs +1 -1
- package/esm2022/lib/smart-ng-client.service.mjs +1 -1
- package/esm2022/lib/smart-subject/projects.mjs +1 -1
- package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
- package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
- package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
- package/esm2022/lib/smart-tab-group/smart-tab-group.service.mjs +1 -1
- package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/tabTile.model.mjs +1 -1
- package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
- package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
- package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
- package/esm2022/lib/smart-table/projects.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
- package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
- package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
- package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
- package/esm2022/lib/smart-table/tables/table.mjs +1 -1
- package/esm2022/lib/smart-tree/projects.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
- package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
- package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
- package/esm2022/lib/smart-validation/projects.mjs +1 -1
- package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
- package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
- package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
- package/esm2022/lib/view-context/api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/view.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
- package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
- package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/projects.mjs +1 -1
- package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
- package/esm2022/lib/view-context/smart-embedded-slot.directive.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.module.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
- package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
- package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
- package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
- package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
- package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
- package/esm2022/lib/view-context/value-api/index.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
- package/esm2022/lib/view-context/value-api/param.mjs +1 -1
- package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
- package/esm2022/projects.mjs +1 -1
- package/fesm2022/smartbit4all-ng-client.mjs +132 -131
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.3.25.tgz +0 -0
- package/smartbit4all-ng-client-4.3.24.tgz +0 -0
package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs
CHANGED
|
@@ -164,11 +164,11 @@ export class UiActionButtonComponent {
|
|
|
164
164
|
return SmartStyleUtility.getNgStyles(style);
|
|
165
165
|
}
|
|
166
166
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
167
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionButtonComponent, selector: "ui-action-button", inputs: { disabled: "disabled", descriptor: "descriptor", code: "code", addedCssClass: "addedCssClass", addBasicClasses: "addBasicClasses" }, outputs: { actionClick: "actionClick", actionDoubleClick: "actionDoubleClick" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\
|
|
167
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionButtonComponent, selector: "ui-action-button", inputs: { disabled: "disabled", descriptor: "descriptor", code: "code", addedCssClass: "addedCssClass", addBasicClasses: "addBasicClasses" }, outputs: { actionClick: "actionClick", actionDoubleClick: "actionDoubleClick" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\n\n<ng-template #buttonWithBadge>\n @if (descriptor && descriptor.badge) {\n <ui-badge [descriptor]=\"descriptor.badge\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ui-badge>\n } @else {\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #buttonTemplate>\n @if(compLib === componentLibrary.PRIMENG) {\n <button\n pButton\n pRipple\n [smartTooltip]=\"descriptor.tooltip\"\n [disabled]=\"!!disabled\"\n (click)=\"onActionClicked($event, mainActionModel)\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [autofocus]=\"false\"\n [ngStyle]=\"calcStyle(descriptor.style)\"\n [ngClass]=\"getType()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass }}\"\n type=\"button\"\n [attr.data-testid]=\"code ?? null\"\n >\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\n </button>\n } @else {\n <button\n mat-button\n [smartTooltip]=\"descriptor.tooltip\"\n [color]=\"descriptor.color\"\n [disabled]=\"!!disabled\"\n (click)=\"onActionClicked($event, mainActionModel)\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [ngStyle]=\"calcStyle(descriptor.style)\"\n [ngClass]=\"getType()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass }}\"\n type=\"button\"\n [attr.data-testid]=\"code ?? null\"\n >\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\n </button>\n }\n</ng-template>\n\n<ng-template #text>\n @if(descriptor.iconPosition === iconPosition().PRE){\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n {{ descriptor.title }}\n @if(descriptor.iconPosition === iconPosition().POST){\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n</ng-template>\n\n<ng-template #buttonIcon>\n @if(descriptor.iconResource){\n <smart-icon [imageResource]=\"descriptor.iconResource\"></smart-icon>\n }@else {\n <smart-icon\n [icon]=\"descriptor.icon\"\n [color]=\"descriptor.iconColor ?? descriptor.color\"\n ></smart-icon>\n }\n</ng-template>\n", styles: [":host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mdc-text-button-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i5.UiBadgeComponent, selector: "ui-badge", inputs: ["descriptor", "inputValue"] }, { kind: "directive", type: i6.SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }] }); }
|
|
168
168
|
}
|
|
169
169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionButtonComponent, decorators: [{
|
|
170
170
|
type: Component,
|
|
171
|
-
args: [{ selector: 'ui-action-button', template: "<ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\
|
|
171
|
+
args: [{ selector: 'ui-action-button', template: "<ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\n\n<ng-template #buttonWithBadge>\n @if (descriptor && descriptor.badge) {\n <ui-badge [descriptor]=\"descriptor.badge\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ui-badge>\n } @else {\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #buttonTemplate>\n @if(compLib === componentLibrary.PRIMENG) {\n <button\n pButton\n pRipple\n [smartTooltip]=\"descriptor.tooltip\"\n [disabled]=\"!!disabled\"\n (click)=\"onActionClicked($event, mainActionModel)\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [autofocus]=\"false\"\n [ngStyle]=\"calcStyle(descriptor.style)\"\n [ngClass]=\"getType()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass }}\"\n type=\"button\"\n [attr.data-testid]=\"code ?? null\"\n >\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\n </button>\n } @else {\n <button\n mat-button\n [smartTooltip]=\"descriptor.tooltip\"\n [color]=\"descriptor.color\"\n [disabled]=\"!!disabled\"\n (click)=\"onActionClicked($event, mainActionModel)\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [ngStyle]=\"calcStyle(descriptor.style)\"\n [ngClass]=\"getType()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass }}\"\n type=\"button\"\n [attr.data-testid]=\"code ?? null\"\n >\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\n </button>\n }\n</ng-template>\n\n<ng-template #text>\n @if(descriptor.iconPosition === iconPosition().PRE){\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n {{ descriptor.title }}\n @if(descriptor.iconPosition === iconPosition().POST){\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n</ng-template>\n\n<ng-template #buttonIcon>\n @if(descriptor.iconResource){\n <smart-icon [imageResource]=\"descriptor.iconResource\"></smart-icon>\n }@else {\n <smart-icon\n [icon]=\"descriptor.icon\"\n [color]=\"descriptor.iconColor ?? descriptor.color\"\n ></smart-icon>\n }\n</ng-template>\n", styles: [":host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mdc-text-button-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}\n"] }]
|
|
172
172
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i7.ComponentLibrary, decorators: [{
|
|
173
173
|
type: Inject,
|
|
174
174
|
args: [COMPONENT_LIBRARY]
|
|
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
189
189
|
}], actionDoubleClick: [{
|
|
190
190
|
type: Output
|
|
191
191
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7OztBQU90RSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQyxZQUNTLGNBQWlDLEVBQ0QsT0FBMEI7UUFEMUQsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBNUJsQyxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFNeEMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFLcEMsQ0FBQztRQUNLLHNCQUFpQixHQUFHLElB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O2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFNRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuLi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgVWlBY3Rpb25CdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vYXBpL21vZGVsL3VpQWN0aW9uQnV0dG9uVHlwZSc7XHJcbmltcG9ydCB7IEljb25Qb3NpdGlvbiB9IGZyb20gJy4uLy4uL2FwaS9tb2RlbC9pY29uUG9zaXRpb24nO1xyXG5pbXBvcnQgeyBTdHlsZSwgVWlBY3Rpb24sIFVpQWN0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2FwaSc7XHJcbmltcG9ydCB7IFNtYXJ0U3R5bGVVdGlsaXR5IH0gZnJvbSAnLi4vLi4vdXRpbGl0eS9zbWFydC1zdHlsZS11dGlsaXR5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktYWN0aW9uLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91aS1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5jc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVzY3JpcHRvciE6IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICBASW5wdXQoKSBjb2RlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFkZGVkQ3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWRkQmFzaWNDbGFzc2VzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBldmVudDogTW91c2VFdmVudDtcclxuICAgIGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgICBjb2RlPzogc3RyaW5nO1xyXG4gICAgdWlBY3Rpb24/OiBVaUFjdGlvbjtcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25Eb3VibGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZXZlbnQ6IGFueTtcclxuICAgIGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgICBjb2RlPzogc3RyaW5nO1xyXG4gIH0+KCk7XHJcblxyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xyXG4gIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnk7XHJcbiAgbWFpbkFjdGlvbk1vZGVsITogVWlBY3Rpb25Nb2RlbDtcclxuXHJcbiAgcHJlc3NlZEJ1dHRvbkFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgbWVudU9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge1xyXG4gICAgdGhpcy5jb21wTGliID0gY29tcExpYiA/PyBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkc7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kZXNjcmlwdG9yKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAnVWlBY3Rpb25CdXR0b25Db21wb25lbnQ6IFwiZGVzY3JpcHRvclwiIGlucHV0IGlzIHJlcXVpcmVkIGJ1dCB3YXMgbm90IHByb3ZpZGVkLidcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkZXNjcmlwdG9yJ10gJiYgdGhpcy5kZXNjcmlwdG9yKSB7XHJcbiAgICAgIHRoaXMubWFpbkFjdGlvbk1vZGVsID0ge1xyXG4gICAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZGVzY3JpcHRvcixcclxuICAgICAgICB1aUFjdGlvbjoge1xyXG4gICAgICAgICAgZGVzY3JpcHRvcjogdGhpcy5kZXNjcmlwdG9yLFxyXG4gICAgICAgICAgY29kZTogdGhpcy5jb2RlLFxyXG4gICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgPz8gZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSBhcyBVaUFjdGlvbk1vZGVsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50LCBtb2RlbDogVWlBY3Rpb25Nb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xyXG4gICAgICBldmVudCxcclxuICAgICAgY29kZTogbW9kZWwudWlBY3Rpb24uY29kZSxcclxuICAgICAgZGVzY3JpcHRvcjogbW9kZWwuZGVzY3JpcHRvciEsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQWN0aW9uRG91YmxlQ2xpY2tlZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuYWN0aW9uRG91YmxlQ2xpY2suZW1pdCh7XHJcbiAgICAgIGV2ZW50LFxyXG4gICAgICBjb2RlOiB0aGlzLmNvZGUsXHJcbiAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZGVzY3JpcHRvcixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaWNvblBvc2l0aW9uKCk6IHR5cGVvZiBJY29uUG9zaXRpb24ge1xyXG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGlzT25seUljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OIHx8XHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCIHx8XHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLkZBQlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldGJ0bkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuYWRkQmFzaWNDbGFzc2VzKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kZXNjcmlwdG9yLmNvbG9yKSB7XHJcbiAgICAgIHJldHVybiAncC1idXR0b24tJyArIHRoaXMuZGVzY3JpcHRvcj8uY29sb3IgKyAnIHNiNC0nICsgdGhpcy5kZXNjcmlwdG9yPy5jb2xvcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKTogYW55IHtcclxuICAgIGlmICghdGhpcy5hZGRCYXNpY0NsYXNzZXMpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuZGVzY3JpcHRvci50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1ub3JtYWwnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtZmxhdCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuU1RST0tFRDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtc3Ryb2tlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUI6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LW1pbmlmYWInOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZBQjpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtZmFiJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1pY29uJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1iYXNpYyc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5kZXNjcmlwdG9yLnR5cGUpIHtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUw6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtYnV0dG9uIHNiNC1ub3JtYWwnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmxhdC1idXR0b24gc2I0LWZsYXQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1yYWlzZWQtYnV0dG9uIHNiNC1yYWlzZWQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtc3Ryb2tlZC1idXR0b24gc2I0LXN0cm9rZWQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtaWNvbi1idXR0b24gc2I0LWljb24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLW1pbmktZmFiIHNiNC1taW5pZmFiJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmFiIHNiNC1mYWInO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4gYG1hdC1idXR0b24gc2I0LWJhc2ljYDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FsY1N0eWxlKHN0eWxlPzogU3R5bGUpOiBhbnkge1xyXG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nU3R5bGVzKHN0eWxlKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbldpdGhCYWRnZVwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25XaXRoQmFkZ2U+XHJcbiAgQGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuYmFkZ2UpIHtcclxuICA8dWktYmFkZ2UgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvci5iYWRnZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC91aS1iYWRnZT5cclxuICB9IEBlbHNlIHtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlPlxyXG4gIEBpZihjb21wTGliID09PSBjb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcpIHtcclxuICA8YnV0dG9uXHJcbiAgICBwQnV0dG9uXHJcbiAgICBwUmlwcGxlXHJcbiAgICBbc21hcnRUb29sdGlwXT1cImRlc2NyaXB0b3IudG9vbHRpcFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXHJcbiAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgbWFpbkFjdGlvbk1vZGVsKVwiXHJcbiAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgW2F1dG9mb2N1c109XCJmYWxzZVwiXHJcbiAgICBbbmdTdHlsZV09XCJjYWxjU3R5bGUoZGVzY3JpcHRvci5zdHlsZSlcIlxyXG4gICAgW25nQ2xhc3NdPVwiZ2V0VHlwZSgpXCJcclxuICAgIGNsYXNzPVwie3sgZ2V0YnRuQ2xhc3MoKSB9fSB7eyBhZGRlZENzc0NsYXNzIH19XCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiY29kZSA/PyBudWxsXCJcclxuICA+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbigpOyB0aGVuIGJ1dHRvbkljb247IGVsc2UgdGV4dFwiPjwvZGl2PlxyXG4gIDwvYnV0dG9uPlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxidXR0b25cclxuICAgIG1hdC1idXR0b25cclxuICAgIFtzbWFydFRvb2x0aXBdPVwiZGVzY3JpcHRvci50b29sdGlwXCJcclxuICAgIFtjb2xvcl09XCJkZXNjcmlwdG9yLmNvbG9yXCJcclxuICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcclxuICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCBtYWluQWN0aW9uTW9kZWwpXCJcclxuICAgIChkYmxjbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICBbbmdTdHlsZV09XCJjYWxjU3R5bGUoZGVzY3JpcHRvci5zdHlsZSlcIlxyXG4gICAgW25nQ2xhc3NdPVwiZ2V0VHlwZSgpXCJcclxuICAgIGNsYXNzPVwie3sgZ2V0YnRuQ2xhc3MoKSB9fSB7eyBhZGRlZENzc0NsYXNzIH19XCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiY29kZSA/PyBudWxsXCJcclxuICA+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbigpOyB0aGVuIGJ1dHRvbkljb247IGVsc2UgdGV4dFwiPjwvZGl2PlxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGV4dD5cclxuICBAaWYoZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IGljb25Qb3NpdGlvbigpLlBSRSl7XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbkljb25cIiAvPlxyXG4gIH1cclxuICB7eyBkZXNjcmlwdG9yLnRpdGxlIH19XHJcbiAgQGlmKGRlc2NyaXB0b3IuaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5QT1NUKXtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uSWNvblwiIC8+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25JY29uPlxyXG4gIEBpZihkZXNjcmlwdG9yLmljb25SZXNvdXJjZSl7XHJcbiAgPHNtYXJ0LWljb24gW2ltYWdlUmVzb3VyY2VdPVwiZGVzY3JpcHRvci5pY29uUmVzb3VyY2VcIj48L3NtYXJ0LWljb24+XHJcbiAgfUBlbHNlIHtcclxuICA8c21hcnQtaWNvblxyXG4gICAgW2ljb25dPVwiZGVzY3JpcHRvci5pY29uXCJcclxuICAgIFtjb2xvcl09XCJkZXNjcmlwdG9yLmljb25Db2xvciA/PyBkZXNjcmlwdG9yLmNvbG9yXCJcclxuICA+PC9zbWFydC1pY29uPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7OztBQU90RSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQyxZQUNTLGNBQWlDLEVBQ0QsT0FBMEI7UUFEMUQsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBNUJsQyxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFNeEMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFLcEMsQ0FBQztRQUNLLHNCQUFpQixHQUFHLElB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O2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFNRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3VpLWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4uLy4uL3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kZWwvdWlBY3Rpb25CdXR0b25UeXBlJztcbmltcG9ydCB7IEljb25Qb3NpdGlvbiB9IGZyb20gJy4uLy4uL2FwaS9tb2RlbC9pY29uUG9zaXRpb24nO1xuaW1wb3J0IHsgU3R5bGUsIFVpQWN0aW9uLCBVaUFjdGlvbkRlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgU21hcnRTdHlsZVV0aWxpdHkgfSBmcm9tICcuLi8uLi91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1hY3Rpb24tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlc2NyaXB0b3IhOiBVaUFjdGlvbkRlc2NyaXB0b3I7XG4gIEBJbnB1dCgpIGNvZGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFkZGVkQ3NzQ2xhc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFkZEJhc2ljQ2xhc3NlczogYm9vbGVhbiA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQ7XG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcbiAgICBjb2RlPzogc3RyaW5nO1xuICAgIHVpQWN0aW9uPzogVWlBY3Rpb247XG4gIH0+KCk7XG4gIEBPdXRwdXQoKSBhY3Rpb25Eb3VibGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIGV2ZW50OiBhbnk7XG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcbiAgICBjb2RlPzogc3RyaW5nO1xuICB9PigpO1xuXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xuICBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5O1xuICBtYWluQWN0aW9uTW9kZWwhOiBVaUFjdGlvbk1vZGVsO1xuXG4gIHByZXNzZWRCdXR0b25BY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xuICBtZW51T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxuICApIHtcbiAgICB0aGlzLmNvbXBMaWIgPSBjb21wTGliID8/IENvbXBvbmVudExpYnJhcnkuUFJJTUVORztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kZXNjcmlwdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVaUFjdGlvbkJ1dHRvbkNvbXBvbmVudDogXCJkZXNjcmlwdG9yXCIgaW5wdXQgaXMgcmVxdWlyZWQgYnV0IHdhcyBub3QgcHJvdmlkZWQuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2Rlc2NyaXB0b3InXSAmJiB0aGlzLmRlc2NyaXB0b3IpIHtcbiAgICAgIHRoaXMubWFpbkFjdGlvbk1vZGVsID0ge1xuICAgICAgICBkZXNjcmlwdG9yOiB0aGlzLmRlc2NyaXB0b3IsXG4gICAgICAgIHVpQWN0aW9uOiB7XG4gICAgICAgICAgZGVzY3JpcHRvcjogdGhpcy5kZXNjcmlwdG9yLFxuICAgICAgICAgIGNvZGU6IHRoaXMuY29kZSxcbiAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCA/PyBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgVWlBY3Rpb25Nb2RlbDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIG9uQWN0aW9uQ2xpY2tlZChldmVudDogTW91c2VFdmVudCwgbW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgZXZlbnQsXG4gICAgICBjb2RlOiBtb2RlbC51aUFjdGlvbi5jb2RlLFxuICAgICAgZGVzY3JpcHRvcjogbW9kZWwuZGVzY3JpcHRvciEsXG4gICAgfSk7XG4gIH1cblxuICBvbkFjdGlvbkRvdWJsZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuYWN0aW9uRG91YmxlQ2xpY2suZW1pdCh7XG4gICAgICBldmVudCxcbiAgICAgIGNvZGU6IHRoaXMuY29kZSxcbiAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZGVzY3JpcHRvcixcbiAgICB9KTtcbiAgfVxuXG4gIGljb25Qb3NpdGlvbigpOiB0eXBlb2YgSWNvblBvc2l0aW9uIHtcbiAgICByZXR1cm4gSWNvblBvc2l0aW9uO1xuICB9XG5cbiAgaXNPbmx5SWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTiB8fFxuICAgICAgdGhpcy5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUIgfHxcbiAgICAgIHRoaXMuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLkZBQlxuICAgICk7XG4gIH1cblxuICBnZXRidG5DbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5hZGRCYXNpY0NsYXNzZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kZXNjcmlwdG9yLmNvbG9yKSB7XG4gICAgICByZXR1cm4gJ3AtYnV0dG9uLScgKyB0aGlzLmRlc2NyaXB0b3I/LmNvbG9yICsgJyBzYjQtJyArIHRoaXMuZGVzY3JpcHRvcj8uY29sb3I7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldFR5cGUoKTogYW55IHtcbiAgICBpZiAoIXRoaXMuYWRkQmFzaWNDbGFzc2VzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuZGVzY3JpcHRvci50eXBlKSB7XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTDpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3NiNC1ub3JtYWwnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdzYjQtZmxhdCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdzYjQtcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdzYjQtc3Ryb2tlZCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnc2I0LW1pbmlmYWInOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnc2I0LWZhYic6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnc2I0LWljb24nOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3NiNC1iYXNpYyc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3dpdGNoICh0aGlzLmRlc2NyaXB0b3IudHlwZSkge1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUw6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWJ1dHRvbiBzYjQtbm9ybWFsJztcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmxhdC1idXR0b24gc2I0LWZsYXQnO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXJhaXNlZC1idXR0b24gc2I0LXJhaXNlZCc7XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXN0cm9rZWQtYnV0dG9uIHNiNC1zdHJva2VkJztcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTjpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtaWNvbi1idXR0b24gc2I0LWljb24nO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtbWluaS1mYWIgc2I0LW1pbmlmYWInO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZhYiBzYjQtZmFiJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gYG1hdC1idXR0b24gc2I0LWJhc2ljYDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjYWxjU3R5bGUoc3R5bGU/OiBTdHlsZSk6IGFueSB7XG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nU3R5bGVzKHN0eWxlKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbldpdGhCYWRnZVwiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbldpdGhCYWRnZT5cbiAgQGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuYmFkZ2UpIHtcbiAgPHVpLWJhZGdlIFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IuYmFkZ2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC91aS1iYWRnZT5cbiAgfSBAZWxzZSB7XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlPlxuICBAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XG4gIDxidXR0b25cbiAgICBwQnV0dG9uXG4gICAgcFJpcHBsZVxuICAgIFtzbWFydFRvb2x0aXBdPVwiZGVzY3JpcHRvci50b29sdGlwXCJcbiAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIG1haW5BY3Rpb25Nb2RlbClcIlxuICAgIChkYmxjbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgW2F1dG9mb2N1c109XCJmYWxzZVwiXG4gICAgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGRlc2NyaXB0b3Iuc3R5bGUpXCJcbiAgICBbbmdDbGFzc109XCJnZXRUeXBlKClcIlxuICAgIGNsYXNzPVwie3sgZ2V0YnRuQ2xhc3MoKSB9fSB7eyBhZGRlZENzc0NsYXNzIH19XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJjb2RlID8/IG51bGxcIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cImlzT25seUljb24oKTsgdGhlbiBidXR0b25JY29uOyBlbHNlIHRleHRcIj48L2Rpdj5cbiAgPC9idXR0b24+XG4gIH0gQGVsc2Uge1xuICA8YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIFtzbWFydFRvb2x0aXBdPVwiZGVzY3JpcHRvci50b29sdGlwXCJcbiAgICBbY29sb3JdPVwiZGVzY3JpcHRvci5jb2xvclwiXG4gICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCBtYWluQWN0aW9uTW9kZWwpXCJcbiAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxuICAgIFtuZ1N0eWxlXT1cImNhbGNTdHlsZShkZXNjcmlwdG9yLnN0eWxlKVwiXG4gICAgW25nQ2xhc3NdPVwiZ2V0VHlwZSgpXCJcbiAgICBjbGFzcz1cInt7IGdldGJ0bkNsYXNzKCkgfX0ge3sgYWRkZWRDc3NDbGFzcyB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiY29kZSA/PyBudWxsXCJcbiAgPlxuICAgIDxkaXYgKm5nSWY9XCJpc09ubHlJY29uKCk7IHRoZW4gYnV0dG9uSWNvbjsgZWxzZSB0ZXh0XCI+PC9kaXY+XG4gIDwvYnV0dG9uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RleHQ+XG4gIEBpZihkZXNjcmlwdG9yLmljb25Qb3NpdGlvbiA9PT0gaWNvblBvc2l0aW9uKCkuUFJFKXtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbkljb25cIiAvPlxuICB9XG4gIHt7IGRlc2NyaXB0b3IudGl0bGUgfX1cbiAgQGlmKGRlc2NyaXB0b3IuaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5QT1NUKXtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbkljb25cIiAvPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbkljb24+XG4gIEBpZihkZXNjcmlwdG9yLmljb25SZXNvdXJjZSl7XG4gIDxzbWFydC1pY29uIFtpbWFnZVJlc291cmNlXT1cImRlc2NyaXB0b3IuaWNvblJlc291cmNlXCI+PC9zbWFydC1pY29uPlxuICB9QGVsc2Uge1xuICA8c21hcnQtaWNvblxuICAgIFtpY29uXT1cImRlc2NyaXB0b3IuaWNvblwiXG4gICAgW2NvbG9yXT1cImRlc2NyaXB0b3IuaWNvbkNvbG9yID8/IGRlc2NyaXB0b3IuY29sb3JcIlxuICA+PC9zbWFydC1pY29uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -289,11 +289,11 @@ export class UiActionToolbarComponent {
|
|
|
289
289
|
return this.toolbarPropertes?.direction === ToolbarDirection.VERTICAL;
|
|
290
290
|
}
|
|
291
291
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: i1.UiActionService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
292
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id", scrollOnWrap: "scrollOnWrap", toolbarPropertes: "toolbarPropertes" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\
|
|
292
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id", scrollOnWrap: "scrollOnWrap", toolbarPropertes: "toolbarPropertes" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonLeft\"\n (actionClick)=\"scrollLeft()\"\n (mousedown)=\"scrollStart('left')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('left')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<div\n #container\n class=\"uiActionButtonsContainer\"\n [ngClass]=\"{\n scrollableContent: scrollOnWrap,\n verticalToolbar: isVertical,\n }\"\n>\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\n @if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\n <ui-tiered-menu\n #menu\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n } @else {\n <ui-action-button\n [descriptor]=\"uiActionModel.descriptor!\"\n [code]=\"uiActionModel.uiAction.code\"\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\n [addedCssClass]=\"uiActionModel.cssClass\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\n >\n </ui-action-button>\n }\n </ng-container>\n</div>\n\n@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonRight\"\n (actionClick)=\"scrollRight()\"\n (mousedown)=\"scrollStart('right')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('right')\"\n (touchend)=\"stopScroll()\"\n />\n}\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%;justify-content:flex-start}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i4.MenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu"], outputs: ["actionClick", "submenuOpened"] }] }); }
|
|
293
293
|
}
|
|
294
294
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
|
|
295
295
|
type: Component,
|
|
296
|
-
args: [{ selector: 'smart-ui-action-toolbar', template: "@if (isScrollable && scrollOnWrap) {\
|
|
296
|
+
args: [{ selector: 'smart-ui-action-toolbar', template: "@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonLeft\"\n (actionClick)=\"scrollLeft()\"\n (mousedown)=\"scrollStart('left')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('left')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<div\n #container\n class=\"uiActionButtonsContainer\"\n [ngClass]=\"{\n scrollableContent: scrollOnWrap,\n verticalToolbar: isVertical,\n }\"\n>\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\n @if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\n <ui-tiered-menu\n #menu\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n } @else {\n <ui-action-button\n [descriptor]=\"uiActionModel.descriptor!\"\n [code]=\"uiActionModel.uiAction.code\"\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\n [addedCssClass]=\"uiActionModel.cssClass\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\n >\n </ui-action-button>\n }\n </ng-container>\n</div>\n\n@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonRight\"\n (actionClick)=\"scrollRight()\"\n (mousedown)=\"scrollStart('right')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('right')\"\n (touchend)=\"stopScroll()\"\n />\n}\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%;justify-content:flex-start}\n"] }]
|
|
297
297
|
}], ctorParameters: () => [{ type: i1.UiActionService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i5.ComponentLibrary, decorators: [{
|
|
298
298
|
type: Inject,
|
|
299
299
|
args: [COMPONENT_LIBRARY]
|
|
@@ -314,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
314
314
|
type: HostListener,
|
|
315
315
|
args: ['window:resize']
|
|
316
316
|
}] } });
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUNMLFlBQVksR0FJYixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUczRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFPdkYsTUFBTSxPQUFPLHdCQUF3QjtJQThCbkMsWUFDVSxPQUF3QixFQUN4QixNQUFnQixFQUNqQixjQUFpQyxFQUNOLE9BQXlCO1FBSG5ELFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDakIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ04sWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUEv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QWdCO3NCQUF4QixLQUFLO2dCQWtEeUIsUUFBUTtzQkFBdEMsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgSWNvblBvc2l0aW9uLFxyXG4gIFVpQWN0aW9uLFxyXG4gIFVpQWN0aW9uRGVzY3JpcHRvcixcclxuICBVaUFjdGlvblRvb2x0aXBUb29sdGlwUG9zaXRpb25FbnVtLFxyXG59IGZyb20gJy4uL2FwaSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uVHlwZSB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvbkJ1dHRvblR5cGUnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uZGVzY3JpcHRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVWlBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgVG9vbGJhckRpcmVjdGlvbiwgVG9vbGJhclByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9zbWFydC1jb21wb25lbnQtbGF5b3V0L2FwaSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xyXG5cclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5OyAvLyBFeHBvc2UgdGhlIGVudW0gdG8gdGhlIHRlbXBsYXRlXHJcblxyXG4gIHByZXNzZWRCdXR0b25BY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSB1aUFjdGlvbk1vZGVscz86IFVpQWN0aW9uTW9kZWxbXTtcclxuICBASW5wdXQoKSB1aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlPzogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICBASW5wdXQoKSBpZD86IHN0cmluZztcclxuICBASW5wdXQoKSBzY3JvbGxPbldyYXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0b29sYmFyUHJvcGVydGVzPzogVG9vbGJhclByb3BlcnRpZXM7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucz86IFVpQWN0aW9uTW9kZWxbXTtcclxuXHJcbiAgcHJpdmF0ZSBtYW5hZ2VyITogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICBwcml2YXRlIGxhbmd1YWdlQ2hhbmdlZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgaXNTY3JvbGxhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsSW50ZXJ2YWw6IGFueTtcclxuICBwcml2YXRlIHNjcm9sbFRpbWVvdXQ6IGFueTtcclxuICBwcml2YXRlIHNjcm9sbFNwZWVkOiBudW1iZXIgPSA1O1xyXG4gIHByaXZhdGUgc2Nyb2xsRGVsYXk6IG51bWJlciA9IDE2O1xyXG4gIHByaXZhdGUgc2Nyb2xsSG9sZERlbGF5OiBudW1iZXIgPSAxMDA7XHJcblxyXG4gIHByaXZhdGUgc2NoZWR1bGVzID0gbmV3IE1hcDxzdHJpbmcsIFN1YnNjcmlwdGlvbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFVpQWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgaW5qZWN0OiBJbmplY3RvcixcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge1xyXG4gICAgLy8gSW5qZWN0cyB0aGUgYmFzaWMgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSBwcm92aWRlZCBieSB0aGUgQXBwTW9kdWxlXHJcbiAgICB0aGlzLm1hbmFnZXIgPSBpbmplY3QuZ2V0KFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBPdmVycmlkZXMgdGhlIGJhc2ljIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2Ugd2l0aCBhIGN1c3RvbSBvbmUgaWYgdGhlcmUgaXMgb25lXHJcbiAgICBpZiAodGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubWFuYWdlciA9IHRoaXMudWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICAgICAgdGhpcy5zdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50b29sYmFyUHJvcGVydGVzKSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsT25XcmFwID0gdGhpcy50b29sYmFyUHJvcGVydGVzLnNjcm9sbGFibGUgPz8gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRVcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsT25XcmFwKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpIG9uUmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsT25XcmFwKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sndWlBY3Rpb25Nb2RlbHMnXSkge1xyXG4gICAgICBsZXQgdWlBY3Rpb25Nb2RlbHMgPSBjaGFuZ2VzWyd1aUFjdGlvbk1vZGVscyddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgaWYgKHVpQWN0aW9uTW9kZWxzKSB7XHJcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IHVpQWN0aW9uTW9kZWxzO1xyXG5cclxuICAgICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhclNjaGVkdWxlKCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sYW5ndWFnZUNoYW5nZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgdGhpcy5sYW5ndWFnZUNoYW5nZWRTdWJzY3JpcHRpb24gPSB0aGlzLm1hbmFnZXIubGFuZ3VhZ2VDaGFuZ2VkXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0VXAoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZXRVcCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnVpQWN0aW9uTW9kZWxzKSB7XHJcbiAgICAgIGxldCB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnMgPSBbXTtcclxuICAgICAgZm9yIChjb25zdCB1aUFjdGlvbk1vZGVsIG9mIHRoaXMudWlBY3Rpb25Nb2RlbHMpIHtcclxuICAgICAgICBjb25zdCB1aUFjdGlvbiA9IHVpQWN0aW9uTW9kZWwudWlBY3Rpb247XHJcblxyXG4gICAgICAgIC8vIHVzaW5nIGVxdWFsaXR5IGlzIGEgbXVzdCBoZXJlLCB1bmRlZmluZWQgYW5kIG51bGwgc2hvdWxkIGJlIGVxdWFsXHJcbiAgICAgICAgaWYgKHRoaXMuaWQgPT0gdWlBY3Rpb24udG9vbGJhcikge1xyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yID0gYXdhaXQgdGhpcy5tYW5hZ2VyLmdldEFjdGlvbkRlc2NyaXB0b3IodWlBY3Rpb25Nb2RlbC51aUFjdGlvbik7XHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnMucHVzaCh1aUFjdGlvbk1vZGVsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zY2hlZHVsZUFjdGlvbnModGhpcy51aUFjdGlvbk1vZGVscyk7XHJcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zO1xyXG5cclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hlY2tTY3JvbGxhYmxlKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJTY2hlZHVsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2NoZWR1bGVzLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5zY2hlZHVsZXMuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHNjaGVkdWxlQWN0aW9ucyh1aUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdKSB7XHJcbiAgICB0aGlzLmNsZWFyU2NoZWR1bGUoKTtcclxuXHJcbiAgICB1aUFjdGlvbk1vZGVscy5mb3JFYWNoKCh1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKSA9PiB7XHJcbiAgICAgIGxldCB1aUFjdGlvbiA9IHVpQWN0aW9uTW9kZWwudWlBY3Rpb247XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIXVpQWN0aW9uLmNvZGUgfHxcclxuICAgICAgICB1aUFjdGlvbi5kaXNhYmxlZCB8fFxyXG4gICAgICAgICF1aUFjdGlvbi5zY2hlZHVsZT8uaW50ZXJ2YWxTZWNvbmRzIHx8XHJcbiAgICAgICAgdGhpcy5zY2hlZHVsZXMuaGFzKHVpQWN0aW9uLmNvZGUpIHx8XHJcbiAgICAgICAgdWlBY3Rpb24uc3ViQWN0aW9ucz8ubGVuZ3RoXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IGludGVydmFsSW5NcyA9IHVpQWN0aW9uLnNjaGVkdWxlLmludGVydmFsU2Vjb25kcyAqIDEwMDA7XHJcbiAgICAgIGxldCBzdWIgPSBpbnRlcnZhbChpbnRlcnZhbEluTXMpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwudWlBY3Rpb24hLnBhcmFtcyA9IHtcclxuICAgICAgICAgICAgLi4udWlBY3Rpb25Nb2RlbC51aUFjdGlvbiEucGFyYW1zLFxyXG4gICAgICAgICAgICBzY2hlZHVsZWQ6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgIHRoaXMuZmlyZUFjdGlvbih1aUFjdGlvbk1vZGVsKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2NoZWR1bGVzLnNldCh1aUFjdGlvbi5jb2RlLCBzdWIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Rm4oaWR4OiBudW1iZXIsIG06IFVpQWN0aW9uTW9kZWwpOiBzdHJpbmcgfCBudW1iZXIge1xyXG4gICAgcmV0dXJuIG0udWlBY3Rpb24uY29kZSA/PyBpZHg7XHJcbiAgfVxyXG5cclxuICBhc3luYyBmaXJlQWN0aW9uKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlcnZpY2UudWlBY3Rpb25Nb2RlbCA9IHVpQWN0aW9uTW9kZWw7XHJcbiAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgbm9kZUlkOiB1aUFjdGlvbk1vZGVsLm5vZGVJZCxcclxuICAgICAgd2lkZ2V0SWQ6IHVpQWN0aW9uTW9kZWwud2lkZ2V0SWQsXHJcbiAgICB9O1xyXG5cclxuICAgIGF3YWl0IHRoaXMuc2VydmljZS5leGVjdXRlKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24sIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBhbnksIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wcmVzc2VkQnV0dG9uQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuICAgICAgbGV0IGFjdGlvblRvRXhlY3V0ZTogVWlBY3Rpb25Nb2RlbCA9IHtcclxuICAgICAgICAuLi51aUFjdGlvbk1vZGVsLFxyXG4gICAgICAgIHVpQWN0aW9uOiAhZXZlbnQuZXZlbnQgJiYgZXZlbnQuY29kZSA/IGV2ZW50IDogdWlBY3Rpb25Nb2RlbC51aUFjdGlvbixcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuZmlyZUFjdGlvbihhY3Rpb25Ub0V4ZWN1dGUpO1xyXG5cclxuICAgICAgdGhpcy5wcmVzc2VkQnV0dG9uQWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQWN0aW9uRG91YmxlQ2xpY2tlZChldmVudDogYW55LCB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogdm9pZCB7XHJcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIC8vIFdlIGRvIG5vdCBoYW5kbGUgZG91YmxlIGNsaWNrc1xyXG4gIH1cclxuICBnZXRidG5DbGFzcyh1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogc3RyaW5nIHtcclxuICAgIGlmICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yKSB7XHJcbiAgICAgIHJldHVybiAncC1idXR0b24tJyArIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3I7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIGdldFR5cGUodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IGFueSB7XHJcbiAgICBpZiAoIXVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSkge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhgQWN0aW9uIGJ1dHRvbiB0eXBlIHVuc2V0OiAke3VpQWN0aW9uTW9kZWw/LnVpQWN0aW9uPy5jb2RlfWApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbiAgICAgIC8vIHJldHVybiAnJztcclxuXHJcbiAgICAgIC8vICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgLyogICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSxcclxuICAqL1xyXG4gICAgICBzd2l0Y2ggKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSkge1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxyXG4gICAgICAgICAgcmV0dXJuIHsgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcclxuICAgICAgICAgIHJldHVybiB7ICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLCAncC1idXR0b24tcm91bmRlZCc6IHRydWUgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxyXG4gICAgICAgICAgcmV0dXJuIHsgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUI6XHJcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tcm91bmRlZCc6IHRydWUsICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSwgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUgfTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3dpdGNoICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUw6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtYnV0dG9uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZsYXQtYnV0dG9uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuU1RST0tFRDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1zdHJva2VkLWJ1dHRvbic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTjpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1pY29uLWJ1dHRvbic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUI6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtbWluaS1mYWInO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZBQjpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1mYWInO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgVW5oYW5kbGVkIGFjdGlvbiBidXR0b24gdHlwZSBjYXNlOiAke3VpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZX1gKTtcclxuICAgICAgICAgIHJldHVybiBgbWF0LWJ1dHRvbmA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGljb25Qb3NpdGlvbigpOiB0eXBlb2YgSWNvblBvc2l0aW9uIHtcclxuICAgIHJldHVybiBJY29uUG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBpc09ubHlJY29uKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLklDT04gfHxcclxuICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUIgfHxcclxuICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcFBvcyhwb3M/OiBVaUFjdGlvblRvb2x0aXBUb29sdGlwUG9zaXRpb25FbnVtKTogVG9vbHRpcFBvc2l0aW9uIHtcclxuICAgIGlmIChwb3MpIHtcclxuICAgICAgcmV0dXJuIHBvcy50b0xvd2VyQ2FzZSgpIGFzIFRvb2x0aXBQb3NpdGlvbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnYmVmb3JlJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRvb2x0aXBEZWxheShkZWxheT86IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gZGVsYXkgPyBkZWxheSA6IDEwMDA7XHJcbiAgfVxyXG5cclxuICBnZXRUb29sdGlwSGlkZURlbGF5KGRlbGF5PzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBkZWxheSA/IGRlbGF5IDogMjAwMDtcclxuICB9XHJcblxyXG4gIGNoZWNrU2Nyb2xsYWJsZSgpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxPbldyYXApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNjcm9sbGFibGUgPSB0aGlzLmNvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudDtcclxuICAgIGlmIChzY3JvbGxhYmxlKSB7XHJcbiAgICAgIHRoaXMuaXNTY3JvbGxhYmxlID0gc2Nyb2xsYWJsZS5zY3JvbGxXaWR0aCA+IHNjcm9sbGFibGUuY2xpZW50V2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNjcm9sbExlZnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgLT0gMTAwO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsUmlnaHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKz0gMTAwO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsU3RhcnQoZGlyZWN0aW9uOiAnbGVmdCcgfCAncmlnaHQnKTogdm9pZCB7XHJcbiAgICB0aGlzLnNjcm9sbFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgZGVsdGEgPSBkaXJlY3Rpb24gPT09ICdsZWZ0JyA/IC10aGlzLnNjcm9sbFNwZWVkIDogdGhpcy5zY3JvbGxTcGVlZDtcclxuXHJcbiAgICAgIHRoaXMuc2Nyb2xsSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICs9IGRlbHRhO1xyXG4gICAgICB9LCB0aGlzLnNjcm9sbERlbGF5KTtcclxuICAgIH0sIHRoaXMuc2Nyb2xsSG9sZERlbGF5KTtcclxuICB9XHJcblxyXG4gIHN0b3BTY3JvbGwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zY3JvbGxUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNjcm9sbFRpbWVvdXQpO1xyXG4gICAgICB0aGlzLnNjcm9sbFRpbWVvdXQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2Nyb2xsSW50ZXJ2YWwpIHtcclxuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnNjcm9sbEludGVydmFsKTtcclxuICAgICAgdGhpcy5zY3JvbGxJbnRlcnZhbCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b25MZWZ0OiBVaUFjdGlvbkRlc2NyaXB0b3IgPSB7XHJcbiAgICB0aXRsZTogJycsXHJcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxyXG4gICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRCxcclxuICAgIGljb246IHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ2NoZXZyb24tbGVmdCcgOiAnYXJyb3dfYmFjaycsXHJcbiAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXHJcbiAgfTtcclxuXHJcbiAgYnV0dG9uUmlnaHQ6IFVpQWN0aW9uRGVzY3JpcHRvciA9IHtcclxuICAgIHRpdGxlOiAnJyxcclxuICAgIGNvbG9yOiAncHJpbWFyeScsXHJcbiAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxyXG4gICAgaWNvbjogdGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPyAnY2hldnJvbi1yaWdodCcgOiAnYXJyb3dfZm9yd2FyZCcsXHJcbiAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXHJcbiAgfTtcclxuXHJcbiAgZ2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFyUHJvcGVydGVzPy5kaXJlY3Rpb24gPT09IFRvb2xiYXJEaXJlY3Rpb24uVkVSVElDQUw7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoaXNTY3JvbGxhYmxlICYmIHNjcm9sbE9uV3JhcCkge1xyXG4gIDx1aS1hY3Rpb24tYnV0dG9uXHJcbiAgICBbZGlzYWJsZWRdPVwiIWlzU2Nyb2xsYWJsZVwiXHJcbiAgICBbZGVzY3JpcHRvcl09XCJidXR0b25MZWZ0XCJcclxuICAgIChhY3Rpb25DbGljayk9XCJzY3JvbGxMZWZ0KClcIlxyXG4gICAgKG1vdXNlZG93bik9XCJzY3JvbGxTdGFydCgnbGVmdCcpXCJcclxuICAgIChtb3VzZXVwKT1cInN0b3BTY3JvbGwoKVwiXHJcbiAgICAobW91c2VsZWF2ZSk9XCJzdG9wU2Nyb2xsKClcIlxyXG4gICAgKHRvdWNoc3RhcnQpPVwic2Nyb2xsU3RhcnQoJ2xlZnQnKVwiXHJcbiAgICAodG91Y2hlbmQpPVwic3RvcFNjcm9sbCgpXCJcclxuICAvPlxyXG59XHJcblxyXG48ZGl2XHJcbiAgI2NvbnRhaW5lclxyXG4gIGNsYXNzPVwidWlBY3Rpb25CdXR0b25zQ29udGFpbmVyXCJcclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICBzY3JvbGxhYmxlQ29udGVudDogc2Nyb2xsT25XcmFwLFxyXG4gICAgdmVydGljYWxUb29sYmFyOiBpc1ZlcnRpY2FsLFxyXG4gIH1cIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdWlBY3Rpb25Nb2RlbCBvZiB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxyXG4gICAgQGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMgJiYgdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5zdWJBY3Rpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgPHVpLXRpZXJlZC1tZW51XHJcbiAgICAgICAgI21lbnVcclxuICAgICAgICBbdHJpZ2dlckFjdGlvbl09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uXCJcclxuICAgICAgICBbc3ViQWN0aW9uc109XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMhXCJcclxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgICA+PC91aS10aWVyZWQtbWVudT5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8dWktYWN0aW9uLWJ1dHRvblxyXG4gICAgICAgIFtkZXNjcmlwdG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciFcIlxyXG4gICAgICAgIFtjb2RlXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb24uY29kZVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5kaXNhYmxlZFwiXHJcbiAgICAgICAgW2FkZGVkQ3NzQ2xhc3NdPVwidWlBY3Rpb25Nb2RlbC5jc3NDbGFzc1wiXHJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcclxuICAgICAgICAoYWN0aW9uRG91YmxlQ2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvdWktYWN0aW9uLWJ1dHRvbj5cclxuICAgIH1cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG5AaWYgKGlzU2Nyb2xsYWJsZSAmJiBzY3JvbGxPbldyYXApIHtcclxuICA8dWktYWN0aW9uLWJ1dHRvblxyXG4gICAgW2Rpc2FibGVkXT1cIiFpc1Njcm9sbGFibGVcIlxyXG4gICAgW2Rlc2NyaXB0b3JdPVwiYnV0dG9uUmlnaHRcIlxyXG4gICAgKGFjdGlvbkNsaWNrKT1cInNjcm9sbFJpZ2h0KClcIlxyXG4gICAgKG1vdXNlZG93bik9XCJzY3JvbGxTdGFydCgncmlnaHQnKVwiXHJcbiAgICAobW91c2V1cCk9XCJzdG9wU2Nyb2xsKClcIlxyXG4gICAgKG1vdXNlbGVhdmUpPVwic3RvcFNjcm9sbCgpXCJcclxuICAgICh0b3VjaHN0YXJ0KT1cInNjcm9sbFN0YXJ0KCdyaWdodCcpXCJcclxuICAgICh0b3VjaGVuZCk9XCJzdG9wU2Nyb2xsKClcIlxyXG4gIC8+XHJcbn1cclxuIl19
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUNMLFlBQVksR0FJYixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUczRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFPdkYsTUFBTSxPQUFPLHdCQUF3QjtJQThCbkMsWUFDVSxPQUF3QixFQUN4QixNQUFnQixFQUNqQixjQUFpQyxFQUNOLE9BQXlCO1FBSG5ELFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDakIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ04sWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUEv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QWdCO3NCQUF4QixLQUFLO2dCQWtEeUIsUUFBUTtzQkFBdEMsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBJY29uUG9zaXRpb24sXG4gIFVpQWN0aW9uLFxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIFVpQWN0aW9uVG9vbHRpcFRvb2x0aXBQb3NpdGlvbkVudW0sXG59IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuLi9hcGkvbW9kZWwvdWlBY3Rpb25CdXR0b25UeXBlJztcbmltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgfSBmcm9tICcuL3VpLWFjdGlvbi5kZXNjcmlwdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4vdWktYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IFVpQWN0aW9uU2VydmljZSB9IGZyb20gJy4vdWktYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xuaW1wb3J0IHsgVG9vbGJhckRpcmVjdGlvbiwgVG9vbGJhclByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9zbWFydC1jb21wb25lbnQtbGF5b3V0L2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5OyAvLyBFeHBvc2UgdGhlIGVudW0gdG8gdGhlIHRlbXBsYXRlXG5cbiAgcHJlc3NlZEJ1dHRvbkFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCkgdWlBY3Rpb25Nb2RlbHM/OiBVaUFjdGlvbk1vZGVsW107XG4gIEBJbnB1dCgpIHVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U/OiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xuICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgQElucHV0KCkgc2Nyb2xsT25XcmFwOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvb2xiYXJQcm9wZXJ0ZXM/OiBUb29sYmFyUHJvcGVydGllcztcblxuICB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnM/OiBVaUFjdGlvbk1vZGVsW107XG5cbiAgcHJpdmF0ZSBtYW5hZ2VyITogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcbiAgcHJpdmF0ZSBsYW5ndWFnZUNoYW5nZWRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgaXNTY3JvbGxhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbnRlcnZhbDogYW55O1xuICBwcml2YXRlIHNjcm9sbFRpbWVvdXQ6IGFueTtcbiAgcHJpdmF0ZSBzY3JvbGxTcGVlZDogbnVtYmVyID0gNTtcbiAgcHJpdmF0ZSBzY3JvbGxEZWxheTogbnVtYmVyID0gMTY7XG4gIHByaXZhdGUgc2Nyb2xsSG9sZERlbGF5OiBudW1iZXIgPSAxMDA7XG5cbiAgcHJpdmF0ZSBzY2hlZHVsZXMgPSBuZXcgTWFwPHN0cmluZywgU3Vic2NyaXB0aW9uPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VydmljZTogVWlBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0OiBJbmplY3RvcixcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIHB1YmxpYyBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5XG4gICkge1xuICAgIC8vIEluamVjdHMgdGhlIGJhc2ljIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgcHJvdmlkZWQgYnkgdGhlIEFwcE1vZHVsZVxuICAgIHRoaXMubWFuYWdlciA9IGluamVjdC5nZXQoVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSk7XG5cbiAgICB0aGlzLnN1YnNjcmliZVRvTGFuZ3VhZ2VDaGFuZ2UoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIE92ZXJyaWRlcyB0aGUgYmFzaWMgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSB3aXRoIGEgY3VzdG9tIG9uZSBpZiB0aGVyZSBpcyBvbmVcbiAgICBpZiAodGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlKSB7XG4gICAgICB0aGlzLm1hbmFnZXIgPSB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U7XG4gICAgICB0aGlzLnN1YnNjcmliZVRvTGFuZ3VhZ2VDaGFuZ2UoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9vbGJhclByb3BlcnRlcykge1xuICAgICAgdGhpcy5zY3JvbGxPbldyYXAgPSB0aGlzLnRvb2xiYXJQcm9wZXJ0ZXMuc2Nyb2xsYWJsZSA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFVwKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsT25XcmFwKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja1Njcm9sbGFibGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKSBvblJlc2l6ZSgpIHtcbiAgICBpZiAodGhpcy5zY3JvbGxPbldyYXApIHtcbiAgICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd1aUFjdGlvbk1vZGVscyddKSB7XG4gICAgICBsZXQgdWlBY3Rpb25Nb2RlbHMgPSBjaGFuZ2VzWyd1aUFjdGlvbk1vZGVscyddLmN1cnJlbnRWYWx1ZTtcbiAgICAgIGlmICh1aUFjdGlvbk1vZGVscykge1xuICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdWlBY3Rpb25Nb2RlbHM7XG5cbiAgICAgICAgdGhpcy5zZXRVcCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJTY2hlZHVsZSgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5sYW5ndWFnZUNoYW5nZWRTdWJzY3JpcHRpb24gPSB0aGlzLm1hbmFnZXIubGFuZ3VhZ2VDaGFuZ2VkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VXAoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMudWlBY3Rpb25Nb2RlbHMpIHtcbiAgICAgIGxldCB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnMgPSBbXTtcbiAgICAgIGZvciAoY29uc3QgdWlBY3Rpb25Nb2RlbCBvZiB0aGlzLnVpQWN0aW9uTW9kZWxzKSB7XG4gICAgICAgIGNvbnN0IHVpQWN0aW9uID0gdWlBY3Rpb25Nb2RlbC51aUFjdGlvbjtcblxuICAgICAgICAvLyB1c2luZyBlcXVhbGl0eSBpcyBhIG11c3QgaGVyZSwgdW5kZWZpbmVkIGFuZCBudWxsIHNob3VsZCBiZSBlcXVhbFxuICAgICAgICBpZiAodGhpcy5pZCA9PSB1aUFjdGlvbi50b29sYmFyKSB7XG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yID0gYXdhaXQgdGhpcy5tYW5hZ2VyLmdldEFjdGlvbkRlc2NyaXB0b3IodWlBY3Rpb25Nb2RlbC51aUFjdGlvbik7XG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zLnB1c2godWlBY3Rpb25Nb2RlbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2NoZWR1bGVBY3Rpb25zKHRoaXMudWlBY3Rpb25Nb2RlbHMpO1xuICAgICAgdGhpcy51aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnMgPSB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnM7XG5cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrU2Nyb2xsYWJsZSgpKTtcbiAgICB9XG4gIH1cblxuICBjbGVhclNjaGVkdWxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2NoZWR1bGVzLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuc2NoZWR1bGVzLmNsZWFyKCk7XG4gIH1cblxuICBzY2hlZHVsZUFjdGlvbnModWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSkge1xuICAgIHRoaXMuY2xlYXJTY2hlZHVsZSgpO1xuXG4gICAgdWlBY3Rpb25Nb2RlbHMuZm9yRWFjaCgodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCkgPT4ge1xuICAgICAgbGV0IHVpQWN0aW9uID0gdWlBY3Rpb25Nb2RlbC51aUFjdGlvbjtcblxuICAgICAgaWYgKFxuICAgICAgICAhdWlBY3Rpb24uY29kZSB8fFxuICAgICAgICB1aUFjdGlvbi5kaXNhYmxlZCB8fFxuICAgICAgICAhdWlBY3Rpb24uc2NoZWR1bGU/LmludGVydmFsU2Vjb25kcyB8fFxuICAgICAgICB0aGlzLnNjaGVkdWxlcy5oYXModWlBY3Rpb24uY29kZSkgfHxcbiAgICAgICAgdWlBY3Rpb24uc3ViQWN0aW9ucz8ubGVuZ3RoXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgaW50ZXJ2YWxJbk1zID0gdWlBY3Rpb24uc2NoZWR1bGUuaW50ZXJ2YWxTZWNvbmRzICogMTAwMDtcbiAgICAgIGxldCBzdWIgPSBpbnRlcnZhbChpbnRlcnZhbEluTXMpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHVpQWN0aW9uTW9kZWwudWlBY3Rpb24hLnBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLnVpQWN0aW9uTW9kZWwudWlBY3Rpb24hLnBhcmFtcyxcbiAgICAgICAgICAgIHNjaGVkdWxlZDogdHJ1ZSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgdGhpcy5maXJlQWN0aW9uKHVpQWN0aW9uTW9kZWwpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5zY2hlZHVsZXMuc2V0KHVpQWN0aW9uLmNvZGUsIHN1Yik7XG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5Rm4oaWR4OiBudW1iZXIsIG06IFVpQWN0aW9uTW9kZWwpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiBtLnVpQWN0aW9uLmNvZGUgPz8gaWR4O1xuICB9XG5cbiAgYXN5bmMgZmlyZUFjdGlvbih1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlcnZpY2UudWlBY3Rpb25Nb2RlbCA9IHVpQWN0aW9uTW9kZWw7XG4gICAgbGV0IG9wdGlvbnMgPSB7XG4gICAgICBub2RlSWQ6IHVpQWN0aW9uTW9kZWwubm9kZUlkLFxuICAgICAgd2lkZ2V0SWQ6IHVpQWN0aW9uTW9kZWwud2lkZ2V0SWQsXG4gICAgfTtcblxuICAgIGF3YWl0IHRoaXMuc2VydmljZS5leGVjdXRlKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24sIG9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBhbnksIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSkge1xuICAgICAgdGhpcy5wcmVzc2VkQnV0dG9uQWN0aXZlID0gZmFsc2U7XG5cbiAgICAgIGxldCBhY3Rpb25Ub0V4ZWN1dGU6IFVpQWN0aW9uTW9kZWwgPSB7XG4gICAgICAgIC4uLnVpQWN0aW9uTW9kZWwsXG4gICAgICAgIHVpQWN0aW9uOiAhZXZlbnQuZXZlbnQgJiYgZXZlbnQuY29kZSA/IGV2ZW50IDogdWlBY3Rpb25Nb2RlbC51aUFjdGlvbixcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHRoaXMuZmlyZUFjdGlvbihhY3Rpb25Ub0V4ZWN1dGUpO1xuXG4gICAgICB0aGlzLnByZXNzZWRCdXR0b25BY3RpdmUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uQWN0aW9uRG91YmxlQ2xpY2tlZChldmVudDogYW55LCB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgLy8gV2UgZG8gbm90IGhhbmRsZSBkb3VibGUgY2xpY2tzXG4gIH1cbiAgZ2V0YnRuQ2xhc3ModWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IHN0cmluZyB7XG4gICAgaWYgKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3IpIHtcbiAgICAgIHJldHVybiAncC1idXR0b24tJyArIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3I7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuICBnZXRUeXBlKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBhbnkge1xuICAgIGlmICghdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgQWN0aW9uIGJ1dHRvbiB0eXBlIHVuc2V0OiAke3VpQWN0aW9uTW9kZWw/LnVpQWN0aW9uPy5jb2RlfWApO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcpIHtcbiAgICAgIC8vIHJldHVybiAnJztcblxuICAgICAgLy8gJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxuICAgICAgLyogICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxuICAqL1xuICAgICAgc3dpdGNoICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XG4gICAgICAgICAgcmV0dXJuIHsgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxuICAgICAgICAgIHJldHVybiB7ICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSwgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLCAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSB9O1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3dpdGNoICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1idXR0b24nO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1mbGF0LWJ1dHRvbic7XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbic7XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXN0cm9rZWQtYnV0dG9uJztcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTjpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtaWNvbi1idXR0b24nO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtbWluaS1mYWInO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZhYic7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coYFVuaGFuZGxlZCBhY3Rpb24gYnV0dG9uIHR5cGUgY2FzZTogJHt1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGV9YCk7XG4gICAgICAgICAgcmV0dXJuIGBtYXQtYnV0dG9uYDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpY29uUG9zaXRpb24oKTogdHlwZW9mIEljb25Qb3NpdGlvbiB7XG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcbiAgfVxuXG4gIGlzT25seUljb24odWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OIHx8XG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQiB8fFxuICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCXG4gICAgKTtcbiAgfVxuXG4gIGdldFRvb2x0aXBQb3MocG9zPzogVWlBY3Rpb25Ub29sdGlwVG9vbHRpcFBvc2l0aW9uRW51bSk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgaWYgKHBvcykge1xuICAgICAgcmV0dXJuIHBvcy50b0xvd2VyQ2FzZSgpIGFzIFRvb2x0aXBQb3NpdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdiZWZvcmUnO1xuICAgIH1cbiAgfVxuXG4gIGdldFRvb2x0aXBEZWxheShkZWxheT86IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGRlbGF5ID8gZGVsYXkgOiAxMDAwO1xuICB9XG5cbiAgZ2V0VG9vbHRpcEhpZGVEZWxheShkZWxheT86IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGRlbGF5ID8gZGVsYXkgOiAyMDAwO1xuICB9XG5cbiAgY2hlY2tTY3JvbGxhYmxlKCkge1xuICAgIGlmICghdGhpcy5zY3JvbGxPbldyYXApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzY3JvbGxhYmxlID0gdGhpcy5jb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHNjcm9sbGFibGUpIHtcbiAgICAgIHRoaXMuaXNTY3JvbGxhYmxlID0gc2Nyb2xsYWJsZS5zY3JvbGxXaWR0aCA+IHNjcm9sbGFibGUuY2xpZW50V2lkdGg7XG4gICAgfVxuICB9XG4gIHNjcm9sbExlZnQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0IC09IDEwMDtcbiAgfVxuXG4gIHNjcm9sbFJpZ2h0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArPSAxMDA7XG4gIH1cblxuICBzY3JvbGxTdGFydChkaXJlY3Rpb246ICdsZWZ0JyB8ICdyaWdodCcpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGRlbHRhID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyAtdGhpcy5zY3JvbGxTcGVlZCA6IHRoaXMuc2Nyb2xsU3BlZWQ7XG5cbiAgICAgIHRoaXMuc2Nyb2xsSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkZWx0YTtcbiAgICAgIH0sIHRoaXMuc2Nyb2xsRGVsYXkpO1xuICAgIH0sIHRoaXMuc2Nyb2xsSG9sZERlbGF5KTtcbiAgfVxuXG4gIHN0b3BTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2Nyb2xsVGltZW91dCk7XG4gICAgICB0aGlzLnNjcm9sbFRpbWVvdXQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5zY3JvbGxJbnRlcnZhbCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnNjcm9sbEludGVydmFsKTtcbiAgICAgIHRoaXMuc2Nyb2xsSW50ZXJ2YWwgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbkxlZnQ6IFVpQWN0aW9uRGVzY3JpcHRvciA9IHtcbiAgICB0aXRsZTogJycsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxuICAgIGljb246IHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ2NoZXZyb24tbGVmdCcgOiAnYXJyb3dfYmFjaycsXG4gICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUFJFLFxuICB9O1xuXG4gIGJ1dHRvblJpZ2h0OiBVaUFjdGlvbkRlc2NyaXB0b3IgPSB7XG4gICAgdGl0bGU6ICcnLFxuICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRCxcbiAgICBpY29uOiB0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICdjaGV2cm9uLXJpZ2h0JyA6ICdhcnJvd19mb3J3YXJkJyxcbiAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXG4gIH07XG5cbiAgZ2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhclByb3BlcnRlcz8uZGlyZWN0aW9uID09PSBUb29sYmFyRGlyZWN0aW9uLlZFUlRJQ0FMO1xuICB9XG59XG4iLCJAaWYgKGlzU2Nyb2xsYWJsZSAmJiBzY3JvbGxPbldyYXApIHtcbiAgPHVpLWFjdGlvbi1idXR0b25cbiAgICBbZGlzYWJsZWRdPVwiIWlzU2Nyb2xsYWJsZVwiXG4gICAgW2Rlc2NyaXB0b3JdPVwiYnV0dG9uTGVmdFwiXG4gICAgKGFjdGlvbkNsaWNrKT1cInNjcm9sbExlZnQoKVwiXG4gICAgKG1vdXNlZG93bik9XCJzY3JvbGxTdGFydCgnbGVmdCcpXCJcbiAgICAobW91c2V1cCk9XCJzdG9wU2Nyb2xsKClcIlxuICAgIChtb3VzZWxlYXZlKT1cInN0b3BTY3JvbGwoKVwiXG4gICAgKHRvdWNoc3RhcnQpPVwic2Nyb2xsU3RhcnQoJ2xlZnQnKVwiXG4gICAgKHRvdWNoZW5kKT1cInN0b3BTY3JvbGwoKVwiXG4gIC8+XG59XG5cbjxkaXZcbiAgI2NvbnRhaW5lclxuICBjbGFzcz1cInVpQWN0aW9uQnV0dG9uc0NvbnRhaW5lclwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICBzY3JvbGxhYmxlQ29udGVudDogc2Nyb2xsT25XcmFwLFxuICAgIHZlcnRpY2FsVG9vbGJhcjogaXNWZXJ0aWNhbCxcbiAgfVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVpQWN0aW9uTW9kZWwgb2YgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICBAaWYgKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24uc3ViQWN0aW9ucyAmJiB1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgPHVpLXRpZXJlZC1tZW51XG4gICAgICAgICNtZW51XG4gICAgICAgIFt0cmlnZ2VyQWN0aW9uXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb25cIlxuICAgICAgICBbc3ViQWN0aW9uc109XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMhXCJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcbiAgICAgID48L3VpLXRpZXJlZC1tZW51PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHVpLWFjdGlvbi1idXR0b25cbiAgICAgICAgW2Rlc2NyaXB0b3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIVwiXG4gICAgICAgIFtjb2RlXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb24uY29kZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhIXVpQWN0aW9uTW9kZWwudWlBY3Rpb24uZGlzYWJsZWRcIlxuICAgICAgICBbYWRkZWRDc3NDbGFzc109XCJ1aUFjdGlvbk1vZGVsLmNzc0NsYXNzXCJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcbiAgICAgICAgKGFjdGlvbkRvdWJsZUNsaWNrKT1cIm9uQWN0aW9uRG91YmxlQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcbiAgICAgID5cbiAgICAgIDwvdWktYWN0aW9uLWJ1dHRvbj5cbiAgICB9XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbkBpZiAoaXNTY3JvbGxhYmxlICYmIHNjcm9sbE9uV3JhcCkge1xuICA8dWktYWN0aW9uLWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhaXNTY3JvbGxhYmxlXCJcbiAgICBbZGVzY3JpcHRvcl09XCJidXR0b25SaWdodFwiXG4gICAgKGFjdGlvbkNsaWNrKT1cInNjcm9sbFJpZ2h0KClcIlxuICAgIChtb3VzZWRvd24pPVwic2Nyb2xsU3RhcnQoJ3JpZ2h0JylcIlxuICAgIChtb3VzZXVwKT1cInN0b3BTY3JvbGwoKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwic3RvcFNjcm9sbCgpXCJcbiAgICAodG91Y2hzdGFydCk9XCJzY3JvbGxTdGFydCgncmlnaHQnKVwiXG4gICAgKHRvdWNoZW5kKT1cInN0b3BTY3JvbGwoKVwiXG4gIC8+XG59XG4iXX0=
|
|
@@ -180,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
180
180
|
providedIn: 'root',
|
|
181
181
|
}]
|
|
182
182
|
}], ctorParameters: () => [{ type: i1.SmartViewContextService }] });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUdsQixvQkFBb0IsR0FDckIsTUFBTSxRQUFRLENBQUM7OztBQU1oQixNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQW9CLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUxoRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQsb0JBQWUsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUE4S2hGLDJCQUFzQixHQUFvQyxJQUFJLEdBQUcsQ0FBQztZQUN4RTtnQkFDRSxRQUFRO2dCQUNSO29CQUNFLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO29CQUMvQixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLEtBQUss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QyxZQUFZLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUU1RCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7K0dBaExVLHlCQUF5QjttSEFBekIseUJBQXlCLGNBRnhCLE1BQU07OzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNtYXJ0U3ViamVjdCB9IGZyb20gJy4uLy4uL3NtYXJ0LXN1YmplY3QvcHJvamVjdHMnO1xyXG5pbXBvcnQge1xyXG4gIFVpQWN0aW9uLFxyXG4gIEljb25Qb3NpdGlvbixcclxuICBVaUFjdGlvbkJ1dHRvblR5cGUsXHJcbiAgVWlBY3Rpb25EZXNjcmlwdG9yLFxyXG4gIFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcixcclxuICBVaUFjdGlvbkZlZWRiYWNrVHlwZSxcclxufSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGxhbmd1YWdlQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xyXG4gIGtleXNUb1RyYW5zbGF0ZTogc3RyaW5nW10gPSBbJ3RpdGxlJywgJ3RleHQnLCAncGxhY2Vob2xkZXInLCAnY2FwdGlvbicsICdmZWVkYmFja1RleHQnXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGV4dDogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UpIHtcclxuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpYmVUb1RyYW5zbGF0ZVNlcnZpY2UoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZUNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2xhdGVTZXJ2aWNlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvVHJhbnNsYXRlU2VydmljZSgpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0NvbnRleHRcclxuICAgICAgLnRyYW5zbGF0ZVNlcnZpY2UhLm9uTGFuZ0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkLm5leHQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QWN0aW9uRGVzY3JpcHRvcih1aUFjdGlvbjogVWlBY3Rpb24pOiBQcm9taXNlPFVpQWN0aW9uRGVzY3JpcHRvcj4ge1xyXG4gICAgbGV0IGNvZGUgPSB1aUFjdGlvbi5jb2RlITtcclxuICAgIGxldCBpc1Vua293biA9IGZhbHNlO1xyXG5cclxuICAgIGxldCBzZXJ2ZXI6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGwgPSB1aUFjdGlvbi5kZXNjcmlwdG9yO1xyXG4gICAgbGV0IGNsaWVudDogVWlBY3Rpb25EZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgbGV0IGFjdGlvbkRlc2NyaXB0b3JGcm9tRGVzY3JpcHRvcnMgPSB0aGlzLnZpZXdDb250ZXh0LmdldEFjdGlvbkRlc2NyaXB0b3JzKCk/LmdldChjb2RlKTtcclxuICAgIGlmIChhY3Rpb25EZXNjcmlwdG9yRnJvbURlc2NyaXB0b3JzKSB7XHJcbiAgICAgIGNsaWVudCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYWN0aW9uRGVzY3JpcHRvckZyb21EZXNjcmlwdG9ycykpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBhY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsO1xyXG4gICAgaWYgKCFjbGllbnQpIHtcclxuICAgICAgLy8gc2VydmVyIG9ubHlcclxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IHNlcnZlcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIGNsaWVudCBleGlzdHNcclxuICAgICAgaWYgKHNlcnZlcikge1xyXG4gICAgICAgIC8vIHNlcnZlciAmIGNsaWVudCAtPiBtZXJnZSBpbnRvIGNsaWVudCB3aGF0J3MgZmlsbGVkIGZyb20gc2VydmVyXHJcbiAgICAgICAgdGhpcy5tZXJnZUFjdGlvbkRlc2NyaXB0b3JJbnRvQ2xpZW50KHNlcnZlciwgY2xpZW50KTtcclxuICAgICAgfVxyXG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gY2xpZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghYWN0aW9uRGVzY3JpcHRvcikge1xyXG4gICAgICBpc1Vua293biA9IHRydWU7XHJcbiAgICAgIGxldCB1bmtvd25BY3Rpb25EZXNjcmlwdG9yID0gdGhpcy5iYXNpY0FjdGlvbkRlc2NyaXB0b3JzLmdldCgnVU5LT1dOJyk7XHJcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSB7IC4uLnVua293bkFjdGlvbkRlc2NyaXB0b3IhIH07XHJcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IhLnRpdGxlID0gY29kZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWFjdGlvbkRlc2NyaXB0b3IhLmRpYWxvZykge1xyXG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gdGhpcy5zZXRVcFVua293bkRpYWxvZ0Rlc2NyaXB0b3IoY29kZSwgYWN0aW9uRGVzY3JpcHRvciEsICdkaWFsb2cnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWFjdGlvbkRlc2NyaXB0b3IhLmZlZWRiYWNrVHlwZSAmJiB1aUFjdGlvbi5zdWJtaXQpIHtcclxuICAgICAgYWN0aW9uRGVzY3JpcHRvciEuZmVlZGJhY2tUeXBlID0gVWlBY3Rpb25GZWVkYmFja1R5cGUuU05BQ0tCQVI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZSAmJiAhaXNVbmtvd24gJiYgIXNlcnZlcikge1xyXG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gYXdhaXQgdGhpcy50cmFuc2xhdGVVaUFjdGlvbkRlc2NyaXB0b3IoYWN0aW9uRGVzY3JpcHRvcik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFjdGlvbkRlc2NyaXB0b3IhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1lcmdlQWN0aW9uRGVzY3JpcHRvckludG9DbGllbnQoXHJcbiAgICBzZXJ2ZXI6IFVpQWN0aW9uRGVzY3JpcHRvcixcclxuICAgIGNsaWVudDogVWlBY3Rpb25EZXNjcmlwdG9yXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAoc2VydmVyLnRpdGxlKSB7XHJcbiAgICAgIGNsaWVudC50aXRsZSA9IHNlcnZlci50aXRsZTtcclxuICAgIH1cclxuICAgIGlmIChzZXJ2ZXIuaWNvbikge1xyXG4gICAgICBjbGllbnQuaWNvbiA9IHNlcnZlci5pY29uO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlcnZlci5jb2xvcikge1xyXG4gICAgICBjbGllbnQuY29sb3IgPSBzZXJ2ZXIuY29sb3I7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VydmVyLmNvbmZpcm1EaWFsb2cpIHtcclxuICAgICAgaWYgKCFjbGllbnQuY29uZmlybURpYWxvZykge1xyXG4gICAgICAgIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5tZXJnZUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JJbnRvQ2xpZW50KHNlcnZlci5jb25maXJtRGlhbG9nLCBjbGllbnQuY29uZmlybURpYWxvZyk7XHJcbiAgICAgIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VydmVyLmZlZWRiYWNrVHlwZSkge1xyXG4gICAgICBjbGllbnQuZmVlZGJhY2tUeXBlID0gc2VydmVyLmZlZWRiYWNrVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2VydmVyLmZlZWRiYWNrVGV4dCkge1xyXG4gICAgICBjbGllbnQuZmVlZGJhY2tUZXh0ID0gc2VydmVyLmZlZWRiYWNrVGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRPRE8gdXNlIHByb3AgbmFtZSB0byBoYW5kbGUgYWxsIGRpYWxvZ3NcclxuICAvLyBwcml2YXRlIG1lcmdlQWN0aW9uRGVzY3JpcHRvckRpYWxvZyhcclxuICAvLyAgIHNlcnZlcjogVWlBY3Rpb25EZXNjcmlwdG9yLFxyXG4gIC8vICAgY2xpZW50OiBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgLy8gICBwcm9wOiBzdHJpbmdcclxuICAvLyApOiB2b2lkIHtcclxuICAvLyAgIC8vbGV0IHNlcnZlckRpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yID0gc2VydmVyW3Byb3BdIGFzIFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcjtcclxuICAvLyAgIGlmIChzZXJ2ZXIuY29uZmlybURpYWxvZykge1xyXG4gIC8vICAgICBpZiAoIWNsaWVudC5jb25maXJtRGlhbG9nKSB7XHJcbiAgLy8gICAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICB0aGlzLm1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLmNvbmZpcm1EaWFsb2csIGNsaWVudC5jb25maXJtRGlhbG9nKTtcclxuICAvLyAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIHByaXZhdGUgbWVyZ2VBY3Rpb25EaWFsb2dEZXNjcmlwdG9ySW50b0NsaWVudChcclxuICAgIHNlcnZlckRpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yLFxyXG4gICAgY2xpZW50RGlhbG9nOiBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JcclxuICApOiB2b2lkIHtcclxuICAgIGlmIChzZXJ2ZXJEaWFsb2cudGl0bGUpIHtcclxuICAgICAgY2xpZW50RGlhbG9nLnRpdGxlID0gc2VydmVyRGlhbG9nLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlcnZlckRpYWxvZy5wbGFjZWhvbGRlcikge1xyXG4gICAgICBjbGllbnREaWFsb2cucGxhY2Vob2xkZXIgPSBzZXJ2ZXJEaWFsb2cucGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VydmVyRGlhbG9nLnRleHQpIHtcclxuICAgICAgY2xpZW50RGlhbG9nLnRleHQgPSBzZXJ2ZXJEaWFsb2cudGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgdHJhbnNsYXRlVWlBY3Rpb25EZXNjcmlwdG9yKFxyXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3JcclxuICApOiBQcm9taXNlPFVpQWN0aW9uRGVzY3JpcHRvcj4ge1xyXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yID0gYXdhaXQgdGhpcy5kZWVwVHJhbnNsYXRlKHVpQWN0aW9uRGVzY3JpcHRvcik7XHJcblxyXG4gICAgcmV0dXJuIHVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZGVlcFRyYW5zbGF0ZShfbW9kZWw6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBsZXQgbW9kZWwgPSB7IC4uLl9tb2RlbCB9O1xyXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgIE9iamVjdC5rZXlzKG1vZGVsKS5tYXAoYXN5bmMgKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgbW9kZWxba2V5XSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgICB0eXBlb2YgbW9kZWxba2V5XSA9PT0gJ3N0cmluZycgJiZcclxuICAgICAgICAgIG1vZGVsW2tleV0ubGVuZ3RoICYmXHJcbiAgICAgICAgICB0aGlzLmtleXNUb1RyYW5zbGF0ZS5pbmNsdWRlcyhrZXkpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBtb2RlbFtrZXldID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlIS5nZXQobW9kZWxba2V5XSkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChtb2RlbFtrZXldICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIG1vZGVsW2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBtb2RlbFtrZXldID0gYXdhaXQgdGhpcy5kZWVwVHJhbnNsYXRlKG1vZGVsW2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbW9kZWw7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiBtb2RlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXBVbmtvd25EaWFsb2dEZXNjcmlwdG9yKFxyXG4gICAgY29kZTogc3RyaW5nLFxyXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgICBkaWFsb2dUeXBlOiAnZGlhbG9nJyB8ICdjb25maXJtRGlhbG9nJyB8ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJ1xyXG4gICk6IFVpQWN0aW9uRGVzY3JpcHRvciB7XHJcbiAgICBsZXQgdW5rb3duRGVzY3JpcHRvciA9IHRoaXMuYmFzaWNBY3Rpb25EZXNjcmlwdG9ycy5nZXQoJ1VOS09XTicpO1xyXG5cclxuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSA9IHVua293bkRlc2NyaXB0b3IhLmRpYWxvZztcclxuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSEudGl0bGUgPSBjb2RlO1xyXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yW2RpYWxvZ1R5cGVdIS5hY3Rpb25CdXR0b24uY2FwdGlvbiA9IGNvZGU7XHJcblxyXG4gICAgcmV0dXJuIHVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmFzaWNBY3Rpb25EZXNjcmlwdG9yczogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPiA9IG5ldyBNYXAoW1xyXG4gICAgW1xyXG4gICAgICAnVU5LT1dOJyxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMLFxyXG4gICAgICAgIGNvbG9yOiAnYWNjZW50JyxcclxuICAgICAgICBpY29uOiAnUXVlc3Rpb24nLFxyXG4gICAgICAgIGljb25Db2xvcjogYHRleHQtcHJpbWFyeWAsXHJcbiAgICAgICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUE9TVCxcclxuICAgICAgICBkaWFsb2c6IHtcclxuICAgICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLFxyXG4gICAgICAgICAgYWN0aW9uQnV0dG9uOiB7XHJcbiAgICAgICAgICAgIGNhcHRpb246ICcnLFxyXG4gICAgICAgICAgICBjb2xvcjogJ2FjY2VudCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgY2FuY2VsQnV0dG9uOiB7XHJcbiAgICAgICAgICAgIGNhcHRpb246ICdNw6lnc2UnLFxyXG4gICAgICAgICAgICBjb2xvcjogJycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIF0pO1xyXG59XHJcbiJdfQ==
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUdsQixvQkFBb0IsR0FDckIsTUFBTSxRQUFRLENBQUM7OztBQU1oQixNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQW9CLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUxoRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQsb0JBQWUsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUE4S2hGLDJCQUFzQixHQUFvQyxJQUFJLEdBQUcsQ0FBQztZQUN4RTtnQkFDRSxRQUFRO2dCQUNSO29CQUNFLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO29CQUMvQixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLEtBQUss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QyxZQUFZLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUU1RCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7K0dBaExVLHlCQUF5QjttSEFBekIseUJBQXlCLGNBRnhCLE1BQU07OzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XG5pbXBvcnQge1xuICBVaUFjdGlvbixcbiAgSWNvblBvc2l0aW9uLFxuICBVaUFjdGlvbkJ1dHRvblR5cGUsXG4gIFVpQWN0aW9uRGVzY3JpcHRvcixcbiAgVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yLFxuICBVaUFjdGlvbkZlZWRiYWNrVHlwZSxcbn0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBsYW5ndWFnZUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAga2V5c1RvVHJhbnNsYXRlOiBzdHJpbmdbXSA9IFsndGl0bGUnLCAndGV4dCcsICdwbGFjZWhvbGRlcicsICdjYXB0aW9uJywgJ2ZlZWRiYWNrVGV4dCddO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlKSB7XG4gICAgaWYgKHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb1RyYW5zbGF0ZVNlcnZpY2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2xhdGVTZXJ2aWNlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvVHJhbnNsYXRlU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdDb250ZXh0XG4gICAgICAudHJhbnNsYXRlU2VydmljZSEub25MYW5nQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlZC5uZXh0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRBY3Rpb25EZXNjcmlwdG9yKHVpQWN0aW9uOiBVaUFjdGlvbik6IFByb21pc2U8VWlBY3Rpb25EZXNjcmlwdG9yPiB7XG4gICAgbGV0IGNvZGUgPSB1aUFjdGlvbi5jb2RlITtcbiAgICBsZXQgaXNVbmtvd24gPSBmYWxzZTtcblxuICAgIGxldCBzZXJ2ZXI6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGwgPSB1aUFjdGlvbi5kZXNjcmlwdG9yO1xuICAgIGxldCBjbGllbnQ6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IGFjdGlvbkRlc2NyaXB0b3JGcm9tRGVzY3JpcHRvcnMgPSB0aGlzLnZpZXdDb250ZXh0LmdldEFjdGlvbkRlc2NyaXB0b3JzKCk/LmdldChjb2RlKTtcbiAgICBpZiAoYWN0aW9uRGVzY3JpcHRvckZyb21EZXNjcmlwdG9ycykge1xuICAgICAgY2xpZW50ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhY3Rpb25EZXNjcmlwdG9yRnJvbURlc2NyaXB0b3JzKSk7XG4gICAgfVxuXG4gICAgbGV0IGFjdGlvbkRlc2NyaXB0b3I6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGw7XG4gICAgaWYgKCFjbGllbnQpIHtcbiAgICAgIC8vIHNlcnZlciBvbmx5XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gc2VydmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjbGllbnQgZXhpc3RzXG4gICAgICBpZiAoc2VydmVyKSB7XG4gICAgICAgIC8vIHNlcnZlciAmIGNsaWVudCAtPiBtZXJnZSBpbnRvIGNsaWVudCB3aGF0J3MgZmlsbGVkIGZyb20gc2VydmVyXG4gICAgICAgIHRoaXMubWVyZ2VBY3Rpb25EZXNjcmlwdG9ySW50b0NsaWVudChzZXJ2ZXIsIGNsaWVudCk7XG4gICAgICB9XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gY2xpZW50O1xuICAgIH1cblxuICAgIGlmICghYWN0aW9uRGVzY3JpcHRvcikge1xuICAgICAgaXNVbmtvd24gPSB0cnVlO1xuICAgICAgbGV0IHVua293bkFjdGlvbkRlc2NyaXB0b3IgPSB0aGlzLmJhc2ljQWN0aW9uRGVzY3JpcHRvcnMuZ2V0KCdVTktPV04nKTtcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSB7IC4uLnVua293bkFjdGlvbkRlc2NyaXB0b3IhIH07XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yIS50aXRsZSA9IGNvZGU7XG4gICAgfVxuXG4gICAgaWYgKCFhY3Rpb25EZXNjcmlwdG9yIS5kaWFsb2cpIHtcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSB0aGlzLnNldFVwVW5rb3duRGlhbG9nRGVzY3JpcHRvcihjb2RlLCBhY3Rpb25EZXNjcmlwdG9yISwgJ2RpYWxvZycpO1xuICAgIH1cblxuICAgIGlmICghYWN0aW9uRGVzY3JpcHRvciEuZmVlZGJhY2tUeXBlICYmIHVpQWN0aW9uLnN1Ym1pdCkge1xuICAgICAgYWN0aW9uRGVzY3JpcHRvciEuZmVlZGJhY2tUeXBlID0gVWlBY3Rpb25GZWVkYmFja1R5cGUuU05BQ0tCQVI7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZSAmJiAhaXNVbmtvd24gJiYgIXNlcnZlcikge1xuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IGF3YWl0IHRoaXMudHJhbnNsYXRlVWlBY3Rpb25EZXNjcmlwdG9yKGFjdGlvbkRlc2NyaXB0b3IpO1xuICAgIH1cblxuICAgIHJldHVybiBhY3Rpb25EZXNjcmlwdG9yITtcbiAgfVxuXG4gIHB1YmxpYyBtZXJnZUFjdGlvbkRlc2NyaXB0b3JJbnRvQ2xpZW50KFxuICAgIHNlcnZlcjogVWlBY3Rpb25EZXNjcmlwdG9yLFxuICAgIGNsaWVudDogVWlBY3Rpb25EZXNjcmlwdG9yXG4gICk6IHZvaWQge1xuICAgIGlmIChzZXJ2ZXIudGl0bGUpIHtcbiAgICAgIGNsaWVudC50aXRsZSA9IHNlcnZlci50aXRsZTtcbiAgICB9XG4gICAgaWYgKHNlcnZlci5pY29uKSB7XG4gICAgICBjbGllbnQuaWNvbiA9IHNlcnZlci5pY29uO1xuICAgIH1cbiAgICBpZiAoc2VydmVyLmNvbG9yKSB7XG4gICAgICBjbGllbnQuY29sb3IgPSBzZXJ2ZXIuY29sb3I7XG4gICAgfVxuICAgIGlmIChzZXJ2ZXIuY29uZmlybURpYWxvZykge1xuICAgICAgaWYgKCFjbGllbnQuY29uZmlybURpYWxvZykge1xuICAgICAgICBjbGllbnQuY29uZmlybURpYWxvZyA9IHNlcnZlci5jb25maXJtRGlhbG9nO1xuICAgICAgfVxuICAgICAgdGhpcy5tZXJnZUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JJbnRvQ2xpZW50KHNlcnZlci5jb25maXJtRGlhbG9nLCBjbGllbnQuY29uZmlybURpYWxvZyk7XG4gICAgICBjbGllbnQuY29uZmlybURpYWxvZyA9IHNlcnZlci5jb25maXJtRGlhbG9nO1xuICAgIH1cbiAgICBpZiAoc2VydmVyLmZlZWRiYWNrVHlwZSkge1xuICAgICAgY2xpZW50LmZlZWRiYWNrVHlwZSA9IHNlcnZlci5mZWVkYmFja1R5cGU7XG4gICAgfVxuXG4gICAgaWYgKHNlcnZlci5mZWVkYmFja1RleHQpIHtcbiAgICAgIGNsaWVudC5mZWVkYmFja1RleHQgPSBzZXJ2ZXIuZmVlZGJhY2tUZXh0O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRPRE8gdXNlIHByb3AgbmFtZSB0byBoYW5kbGUgYWxsIGRpYWxvZ3NcbiAgLy8gcHJpdmF0ZSBtZXJnZUFjdGlvbkRlc2NyaXB0b3JEaWFsb2coXG4gIC8vICAgc2VydmVyOiBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIC8vICAgY2xpZW50OiBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIC8vICAgcHJvcDogc3RyaW5nXG4gIC8vICk6IHZvaWQge1xuICAvLyAgIC8vbGV0IHNlcnZlckRpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yID0gc2VydmVyW3Byb3BdIGFzIFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcjtcbiAgLy8gICBpZiAoc2VydmVyLmNvbmZpcm1EaWFsb2cpIHtcbiAgLy8gICAgIGlmICghY2xpZW50LmNvbmZpcm1EaWFsb2cpIHtcbiAgLy8gICAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcbiAgLy8gICAgIH1cbiAgLy8gICAgIHRoaXMubWVyZ2VBY3Rpb25EaWFsb2dEZXNjcmlwdG9ySW50b0NsaWVudChzZXJ2ZXIuY29uZmlybURpYWxvZywgY2xpZW50LmNvbmZpcm1EaWFsb2cpO1xuICAvLyAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcbiAgLy8gICB9XG4gIC8vIH1cblxuICBwcml2YXRlIG1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoXG4gICAgc2VydmVyRGlhbG9nOiBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3IsXG4gICAgY2xpZW50RGlhbG9nOiBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JcbiAgKTogdm9pZCB7XG4gICAgaWYgKHNlcnZlckRpYWxvZy50aXRsZSkge1xuICAgICAgY2xpZW50RGlhbG9nLnRpdGxlID0gc2VydmVyRGlhbG9nLnRpdGxlO1xuICAgIH1cbiAgICBpZiAoc2VydmVyRGlhbG9nLnBsYWNlaG9sZGVyKSB7XG4gICAgICBjbGllbnREaWFsb2cucGxhY2Vob2xkZXIgPSBzZXJ2ZXJEaWFsb2cucGxhY2Vob2xkZXI7XG4gICAgfVxuICAgIGlmIChzZXJ2ZXJEaWFsb2cudGV4dCkge1xuICAgICAgY2xpZW50RGlhbG9nLnRleHQgPSBzZXJ2ZXJEaWFsb2cudGV4dDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyYW5zbGF0ZVVpQWN0aW9uRGVzY3JpcHRvcihcbiAgICB1aUFjdGlvbkRlc2NyaXB0b3I6IFVpQWN0aW9uRGVzY3JpcHRvclxuICApOiBQcm9taXNlPFVpQWN0aW9uRGVzY3JpcHRvcj4ge1xuICAgIHVpQWN0aW9uRGVzY3JpcHRvciA9IGF3YWl0IHRoaXMuZGVlcFRyYW5zbGF0ZSh1aUFjdGlvbkRlc2NyaXB0b3IpO1xuXG4gICAgcmV0dXJuIHVpQWN0aW9uRGVzY3JpcHRvcjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVlcFRyYW5zbGF0ZShfbW9kZWw6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgbGV0IG1vZGVsID0geyAuLi5fbW9kZWwgfTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIE9iamVjdC5rZXlzKG1vZGVsKS5tYXAoYXN5bmMgKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtb2RlbFtrZXldICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICB0eXBlb2YgbW9kZWxba2V5XSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICBtb2RlbFtrZXldLmxlbmd0aCAmJlxuICAgICAgICAgIHRoaXMua2V5c1RvVHJhbnNsYXRlLmluY2x1ZGVzKGtleSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgbW9kZWxba2V5XSA9IGF3YWl0IHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZSEuZ2V0KG1vZGVsW2tleV0pLnRvUHJvbWlzZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKG1vZGVsW2tleV0gIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgbW9kZWxba2V5XSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBtb2RlbFtrZXldID0gYXdhaXQgdGhpcy5kZWVwVHJhbnNsYXRlKG1vZGVsW2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2RlbDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXBVbmtvd25EaWFsb2dEZXNjcmlwdG9yKFxuICAgIGNvZGU6IHN0cmluZyxcbiAgICB1aUFjdGlvbkRlc2NyaXB0b3I6IFVpQWN0aW9uRGVzY3JpcHRvcixcbiAgICBkaWFsb2dUeXBlOiAnZGlhbG9nJyB8ICdjb25maXJtRGlhbG9nJyB8ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJ1xuICApOiBVaUFjdGlvbkRlc2NyaXB0b3Ige1xuICAgIGxldCB1bmtvd25EZXNjcmlwdG9yID0gdGhpcy5iYXNpY0FjdGlvbkRlc2NyaXB0b3JzLmdldCgnVU5LT1dOJyk7XG5cbiAgICB1aUFjdGlvbkRlc2NyaXB0b3JbZGlhbG9nVHlwZV0gPSB1bmtvd25EZXNjcmlwdG9yIS5kaWFsb2c7XG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yW2RpYWxvZ1R5cGVdIS50aXRsZSA9IGNvZGU7XG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yW2RpYWxvZ1R5cGVdIS5hY3Rpb25CdXR0b24uY2FwdGlvbiA9IGNvZGU7XG5cbiAgICByZXR1cm4gdWlBY3Rpb25EZXNjcmlwdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBiYXNpY0FjdGlvbkRlc2NyaXB0b3JzOiBNYXA8c3RyaW5nLCBVaUFjdGlvbkRlc2NyaXB0b3I+ID0gbmV3IE1hcChbXG4gICAgW1xuICAgICAgJ1VOS09XTicsXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTCxcbiAgICAgICAgY29sb3I6ICdhY2NlbnQnLFxuICAgICAgICBpY29uOiAnUXVlc3Rpb24nLFxuICAgICAgICBpY29uQ29sb3I6IGB0ZXh0LXByaW1hcnlgLFxuICAgICAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QT1NULFxuICAgICAgICBkaWFsb2c6IHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdwbGFjZWhvbGRlcicsXG4gICAgICAgICAgYWN0aW9uQnV0dG9uOiB7XG4gICAgICAgICAgICBjYXB0aW9uOiAnJyxcbiAgICAgICAgICAgIGNvbG9yOiAnYWNjZW50JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNhbmNlbEJ1dHRvbjoge1xuICAgICAgICAgICAgY2FwdGlvbjogJ03DqWdzZScsXG4gICAgICAgICAgICBjb2xvcjogJycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59XG4iXX0=
|
|
@@ -4,4 +4,4 @@ export var UiActionDialogType;
|
|
|
4
4
|
UiActionDialogType["confirmDialog"] = "confirmDialog";
|
|
5
5
|
UiActionDialogType["dialog"] = "dialog";
|
|
6
6
|
})(UiActionDialogType || (UiActionDialogType = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMERBLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsaURBQTJCLENBQUE7SUFDM0IscURBQStCLENBQUE7SUFDL0IsdUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvbic7XG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3IgfSBmcm9tICcuLi9hcGkvbW9kZWwvdWlBY3Rpb25EZXNjcmlwdG9yJztcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvblJlcXVlc3QnO1xuaW1wb3J0IHsgU21hcnRGb3JtSW52YWxpZEZpZWxkcyB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBVaUFjdGlvbk1vZGVsIHtcbiAgdWlBY3Rpb246IFVpQWN0aW9uO1xuICBzZXJ2aWNlVG9Vc2U6IFVzZVVpQWN0aW9uIHwgVXNlVWlBY3Rpb24yO1xuICBleGNlcHRpb24/OiBib29sZWFuO1xuICBkZXNjcmlwdG9yPzogVWlBY3Rpb25EZXNjcmlwdG9yO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gIG5vZGVJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VVaUFjdGlvbiB7XG4gIHN1Ym1pdDogU3ViamVjdDx2b2lkPjtcbiAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPjtcbiAgZ2V0QWRkaXRpb25hbFBhcmFtcyh1aUFjdGlvbjogVWlBY3Rpb24pOiBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXM7XG4gIGdldE1vZGVsKCk6IGFueTtcbiAgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcbiAgICB3aWRnZXRJZD86IHN0cmluZyxcbiAgICBub2RlSWQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxhbnk+O1xuICBoYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcbiAgKTogUHJvbWlzZTxVaUFjdGlvblNwZWNpZmljRGVtYW5kUmVzcG9uc2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZVVpQWN0aW9uMiB7XG4gIHN1Ym1pdEZvcm0odmFsaWRhdGU6IGJvb2xlYW4pOiB2b2lkO1xuICBnZXRJbnZhbGlkRmllbGRzKCk6IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHM7XG4gIGdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb246IFVpQWN0aW9uKTogVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zO1xuICBnZXRNb2RlbCgpOiBhbnk7XG4gIHBlcmZvcm1VaUFjdGlvblJlcXVlc3QoXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcsXG4gICAgbm9kZUlkPzogc3RyaW5nXG4gICk6IFByb21pc2U8YW55PjtcbiAgaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG4gICk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVaUFjdGlvblNwZWNpZmljRGVtYW5kUmVzcG9uc2Uge1xuICBzaG91bGRQZXJmb3JtQWN0aW9uOiBib29sZWFuO1xuICB1aUFjdGlvblJlcXVlc3Q/OiBVaUFjdGlvblJlcXVlc3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zIHtcbiAgZm9yVGV4dEZpZWxkPzogc3RyaW5nO1xuICBmb3JUZXh0QXJlYT86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gVWlBY3Rpb25EaWFsb2dUeXBlIHtcbiAgaW5wdXREaWFsb2cgPSAnaW5wdXREaWFsb2cnLFxuICBjb25maXJtRGlhbG9nID0gJ2NvbmZpcm1EaWFsb2cnLFxuICBkaWFsb2cgPSAnZGlhbG9nJyxcbn1cbiJdfQ==
|
|
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
210
210
|
type: Inject,
|
|
211
211
|
args: ['fileUploadDialogService']
|
|
212
212
|
}] }, { type: i1.MatSnackBar }] });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFZLG9CQUFvQixFQUFFLGlCQUFpQixFQUFtQixNQUFNLFFBQVEsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQU10RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7OztBQWlCaEgsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDMEMsb0JBQWtELEVBQ2hELHNCQUFrRCxFQUVwRix1QkFBd0QsRUFDeEQsU0FBc0I7UUFKVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQThCO1FBQ2hELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBNEI7UUFFcEYsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFpQztRQUN4RCxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBUHhCLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQVE5QyxDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixFQUFFLE9BQWdDO1FBQ2hFLElBQUksZUFBNEMsQ0FBQztRQUVqRCxl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QztJQUNMLENBQUM7K0dBbFFVLGVBQWUsa0JBS2hCLHNCQUFzQixhQUN0Qix3QkFBd0IsYUFDeEIseUJBQXlCO21IQVB4QixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVWlBY3Rpb24sIFVpQWN0aW9uRmVlZGJhY2tUeXBlLCBVaUFjdGlvbklucHV0VHlwZSwgVWlBY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgU3VjY2Vzc1NuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N1Y2Nlc3Mtc25hY2stYmFyL3N1Y2Nlc3Mtc25hY2stYmFyLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgdHlwZSB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZ3MvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHR5cGUgeyBVaUFjdGlvbklucHV0RGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9ncy91aS1hY3Rpb24taW5wdXQtZGlhbG9nL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuL3VpLWFjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB0eXBlIHsgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9ncy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0U3ViamVjdCB9IGZyb20gJy4uLy4uL3NtYXJ0LXN1YmplY3QvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBJbnZhbGlkRmllbGRzU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuLi9pbnZhbGlkLWZpZWxkcy1zbmFjay1iYXIvaW52YWxpZC1maWVsZHMtc25hY2stYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIEluIGNhc2Ugb2YgdXNpbmcgYSBncmlkOiBncmlkLmlkZW50aWZpZXJcclxuICAgKi9cclxuICB3aWRnZXRJZD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBJbiBjYXNlIG9mIHVzaW5nIGEgZ3JpZDogZ3JpZFJvdy5pZFxyXG4gICAqL1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgdWlBY3Rpb25Nb2RlbCE6IFVpQWN0aW9uTW9kZWw7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ2NvbmZpcm1EaWFsb2dTZXJ2aWNlJykgcHJpdmF0ZSBjb25maXJtRGlhbG9nU2VydmljZTogVWlBY3Rpb25Db25maXJtRGlhbG9nU2VydmljZSxcclxuICAgIEBJbmplY3QoJ3RleHRGaWVsZERpYWxvZ1NlcnZpY2UnKSBwcml2YXRlIHRleHRGaWVsZERpYWxvZ1NlcnZpY2U6IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UnKVxyXG4gICAgcHJpdmF0ZSBmaWxlVXBsb2FkRGlhbG9nU2VydmljZTogVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NuYWNrQmFyOiBNYXRTbmFja0JhclxyXG4gICkge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZXhlY3V0ZSh1aUFjdGlvbjogVWlBY3Rpb24sIG9wdGlvbnM/OiBFeGVjdXRlVWlBY3Rpb25PcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0ID0ge1xyXG4gICAgICBjb2RlOiB1aUFjdGlvbi5jb2RlISxcclxuICAgICAgcGF0aDogdWlBY3Rpb24ucGF0aCxcclxuICAgICAgaWRlbnRpZmllcjogdWlBY3Rpb24uaWRlbnRpZmllcixcclxuICAgICAgcGFyYW1zOiB1aUFjdGlvbi5wYXJhbXMgPz8ge30sXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh1aUFjdGlvbi5zdWJtaXQgfHwgdWlBY3Rpb24ubW9kZWwpIHtcclxuICAgICAgLy8gc3VibWl0OiB3aXRoIHZhbGlkYXRpb24sIG1vZGVsOiB3aXRob3V0IHZhbGlkYXRpb24uIGJvdGggY2FuIGJlIHVuZGVmaW5lZFxyXG4gICAgICBjb25zdCB2YWxpZGF0ZSA9IHVpQWN0aW9uLnN1Ym1pdCB8fCAhdWlBY3Rpb24ubW9kZWw7XHJcblxyXG4gICAgICBpZiAoJ3JlU3Vic2NyaWJlVG9DaGFuZ2UnIGluIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UpIHtcclxuICAgICAgICBpZiAoIXZhbGlkYXRlKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBWYWxpZGF0ZSA9IGZhbHNlLCBidXQgVXNlVWlBY3Rpb24gZG9lc24ndCBzdXBwb3J0IGl0YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0Lm5leHQoKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdCA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xyXG4gICAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5yZVN1YnNjcmliZVRvQ2hhbmdlLm5leHQoKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdEZvcm0odmFsaWRhdGUpO1xyXG4gICAgICAgIGxldCBpbnZhbGlkRmllbGRzID0gdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRJbnZhbGlkRmllbGRzKCk7XHJcbiAgICAgICAgaWYgKHZhbGlkYXRlICYmIGludmFsaWRGaWVsZHMuaW52YWxpZEZpZWxkS2V5cy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuc2hvd0ludmFsaWRGaWVsZHNTbmFja2JhcihpbnZhbGlkRmllbGRzKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodWlBY3Rpb24uY29uZmlybSkge1xyXG4gICAgICB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLmFjdGlvbiA9IHVpQWN0aW9uO1xyXG4gICAgICB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKTtcclxuICAgICAgYXdhaXQgdGhpcy5jb25maXJtRGlhbG9nU2VydmljZS5vbkFjdGlvbi50b1Byb21pc2UoKTtcclxuICAgICAgaWYgKCF0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLnNob3VsZERvQWN0aW9uKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW5wdXRUeXBlXHJcbiAgICBpZiAodWlBY3Rpb24uaW5wdXRUeXBlICYmIHVpQWN0aW9uLmlucHV0VHlwZSAhPT0gVWlBY3Rpb25JbnB1dFR5cGUuTk9ORSkge1xyXG4gICAgICB1aUFjdGlvblJlcXVlc3QgPSBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZShcclxuICAgICAgICB1aUFjdGlvbi5pbnB1dFR5cGUsXHJcbiAgICAgICAgdWlBY3Rpb24sXHJcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgICAgICdpbnB1dERpYWxvZydcclxuICAgICAgKTtcclxuICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjUwKSk7XHJcbiAgICB9XHJcbiAgICAvLyBJbnB1dDJUeXBlXHJcbiAgICBpZiAodWlBY3Rpb24uaW5wdXQyVHlwZSAmJiB1aUFjdGlvbi5pbnB1dDJUeXBlICE9PSBVaUFjdGlvbklucHV0VHlwZS5OT05FKSB7XHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdCA9IGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlKFxyXG4gICAgICAgIHVpQWN0aW9uLmlucHV0MlR5cGUsXHJcbiAgICAgICAgdWlBY3Rpb24sXHJcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgICAgICdpbnB1dDJEaWFsb2cnXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICghdWlBY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudWlBY3Rpb25Nb2RlbC5leGNlcHRpb24pIHtcclxuICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5oYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcclxuICAgICAgICB1aUFjdGlvbixcclxuICAgICAgICB1aUFjdGlvblJlcXVlc3RcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmICghcmVzcG9uc2Uuc2hvdWxkUGVyZm9ybUFjdGlvbiB8fCAhcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdCA9IHJlc3BvbnNlLnVpQWN0aW9uUmVxdWVzdDtcclxuICAgIH1cclxuXHJcbiAgICBhd2FpdCB0aGlzLnBlcmZvcm1BY3Rpb24odWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUlucHV0VHlwZShcclxuICAgIGlucHV0VHlwZTogVWlBY3Rpb25JbnB1dFR5cGUsXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcclxuICAgIGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJ1xyXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XHJcbiAgICBzd2l0Y2ggKGlucHV0VHlwZSkge1xyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLk5PTkU6XHJcbiAgICAgICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcclxuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5URVhUQVJFQTpcclxuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5URVhURklFTEQ6XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVGV4dEZpZWxkKGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QpO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlVTRVJfU0VMRUNUOlxyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZVVzZXJTZWxlY3QoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuRklMRTpcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVcGxvYWQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCwgZmFsc2UpO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLk1VTFRJUExFX0ZJTEVTOlxyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZVVwbG9hZChpbnB1dFR5cGVOYW1lLCB1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCB0cnVlKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVUZXh0RmllbGQoXHJcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgYWRkaXRpb25hbFBhcmFtcyA9IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0QWRkaXRpb25hbFBhcmFtcyh1aUFjdGlvbik7XHJcbiAgICBsZXQgaW5wdXRUeXBlOiAnaW5wdXRUeXBlJyB8ICdpbnB1dDJUeXBlJyA9XHJcbiAgICAgIGlucHV0VHlwZU5hbWUgPT09ICdpbnB1dERpYWxvZycgPyAnaW5wdXRUeXBlJyA6ICdpbnB1dDJUeXBlJztcclxuXHJcbiAgICBpZiAodWlBY3Rpb25baW5wdXRUeXBlXSA9PT0gVWlBY3Rpb25JbnB1dFR5cGUuVEVYVEZJRUxEKSB7XHJcbiAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEZpZWxkO1xyXG4gICAgfSBlbHNlIGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5URVhUQVJFQSkge1xyXG4gICAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uubm9kZU5hbWUgPSBhZGRpdGlvbmFsUGFyYW1zLmZvclRleHRBcmVhO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5pbnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZTtcclxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5hY3Rpb24gPSB1aUFjdGlvbjtcclxuXHJcbiAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5vbkFjdGlvbi50b1Byb21pc2UoKTtcclxuICAgIGxldCBwYXJhbXMgPSB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2UucGFyYW1zO1xyXG5cclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIHdhcyBubyByZXNwb25zZSBmcm9tIElucHV0RGlhbG9nJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XHJcbiAgICAgIC4uLnVpQWN0aW9uUmVxdWVzdC5wYXJhbXMsXHJcbiAgICAgIC4uLnBhcmFtcyxcclxuICAgIH07XHJcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVcGxvYWQoXHJcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcclxuICAgIGlzTXVsdGlwbGU6IGJvb2xlYW5cclxuICApOiBQcm9taXNlPFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5pbnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZTtcclxuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XHJcbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmlzTXVsdGlwbGUgPSBpc011bHRpcGxlO1xyXG5cclxuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XHJcbiAgICBsZXQgZmlsZXMgPSB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmZpbGVzO1xyXG4gICAgbGV0IHVwbG9hZERlc2NyaXB0b3IgPSB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLnVwbG9hZERlc2NyaXB0b3I7XHJcblxyXG4gICAgaWYgKCFmaWxlcyB8fCAhZmlsZXMubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zID0ge1xyXG4gICAgICAuLi51aUFjdGlvblJlcXVlc3QucGFyYW1zLFxyXG4gICAgICBfZmlsZXM6IGZpbGVzLFxyXG4gICAgICBfdXBsb2FkRGVzY3JpcHRvcjogdXBsb2FkRGVzY3JpcHRvcixcclxuICAgICAgaXNNdWx0aXBsZSxcclxuICAgICAgcGFyYW06XHJcbiAgICAgICAgdWlBY3Rpb24uaW5wdXRUeXBlID09PSAnZmlsZScgfHwgdWlBY3Rpb24uaW5wdXRUeXBlID09PSAnbXVsdGlwbGVfZmlsZXMnXHJcbiAgICAgICAgICA/ICdpbnB1dCdcclxuICAgICAgICAgIDogJ2lucHV0MicsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlVXNlclNlbGVjdChcclxuICAgIGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJyxcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XHJcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcclxuICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXHJcbiAgICAgIHVpQWN0aW9uLFxyXG4gICAgICB1aUFjdGlvblJlcXVlc3RcclxuICAgICk7XHJcblxyXG4gICAgaWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0ID0gcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0O1xyXG4gICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcGVyZm9ybUFjdGlvbihcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgb3B0aW9ucz86IEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnNcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChcclxuICAgICAgIXVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgfHxcclxuICAgICAgKHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgJiYgIU9iamVjdC5rZXlzKHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMpLmxlbmd0aClcclxuICAgICkge1xyXG4gICAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zID0ge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldE1vZGVsKCksXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2UgaWYgKHVpQWN0aW9uLnN1Ym1pdCB8fCB1aUFjdGlvbi5tb2RlbCkge1xyXG4gICAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydtb2RlbCddID0gdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRNb2RlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UucGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgICAgICB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICAgICAgb3B0aW9ucz8ud2lkZ2V0SWQsXHJcbiAgICAgICAgb3B0aW9ucz8ubm9kZUlkXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBpZiAodGhpcy51aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmZlZWRiYWNrVHlwZSA9PT0gVWlBY3Rpb25GZWVkYmFja1R5cGUuU05BQ0tCQVIpIHtcclxuICAgICAgICB0aGlzLnNob3dTYXZlZFNuYWNrYmFyKHVpQWN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dTYXZlZFNuYWNrYmFyKHVpQWN0aW9uOiBVaUFjdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5fc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoU3VjY2Vzc1NuYWNrQmFyQ29tcG9uZW50LCB7XHJcbiAgICAgIGR1cmF0aW9uOiA1ICogMTAwMCxcclxuICAgICAgcGFuZWxDbGFzczogWydiYWNrZ3JvdW5kQ29sb3ItYWNjZW50J10sXHJcbiAgICAgIGRhdGE6IHVpQWN0aW9uLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93SW52YWxpZEZpZWxkc1NuYWNrYmFyKGludmFsaWRGaWVsZHM6IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KEludmFsaWRGaWVsZHNTbmFja0JhckNvbXBvbmVudCwge1xyXG4gICAgICBkdXJhdGlvbjogNSAqIDEwMDAsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYmFja2dyb3VuZENvbG9yLXdhcm4nXSxcclxuICAgICAgZGF0YTogaW52YWxpZEZpZWxkcyxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFZLG9CQUFvQixFQUFFLGlCQUFpQixFQUFtQixNQUFNLFFBQVEsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQU10RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7OztBQWlCaEgsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDMEMsb0JBQWtELEVBQ2hELHNCQUFrRCxFQUVwRix1QkFBd0QsRUFDeEQsU0FBc0I7UUFKVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQThCO1FBQ2hELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBNEI7UUFFcEYsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFpQztRQUN4RCxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBUHhCLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQVE5QyxDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixFQUFFLE9BQWdDO1FBQ2hFLElBQUksZUFBNEMsQ0FBQztRQUVqRCxl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QztJQUNMLENBQUM7K0dBbFFVLGVBQWUsa0JBS2hCLHNCQUFzQixhQUN0Qix3QkFBd0IsYUFDeEIseUJBQXlCO21IQVB4QixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVpQWN0aW9uLCBVaUFjdGlvbkZlZWRiYWNrVHlwZSwgVWlBY3Rpb25JbnB1dFR5cGUsIFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBTdWNjZXNzU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3VjY2Vzcy1zbmFjay1iYXIvc3VjY2Vzcy1zbmFjay1iYXIuY29tcG9uZW50JztcblxuaW1wb3J0IHR5cGUgeyBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuL3VpLWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgdHlwZSB7IFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZ3MvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBJbnZhbGlkRmllbGRzU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuLi9pbnZhbGlkLWZpZWxkcy1zbmFjay1iYXIvaW52YWxpZC1maWVsZHMtc25hY2stYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydEZvcm1JbnZhbGlkRmllbGRzIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogSW4gY2FzZSBvZiB1c2luZyBhIGdyaWQ6IGdyaWQuaWRlbnRpZmllclxuICAgKi9cbiAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbiBjYXNlIG9mIHVzaW5nIGEgZ3JpZDogZ3JpZFJvdy5pZFxuICAgKi9cbiAgbm9kZUlkPzogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgdWlBY3Rpb25Nb2RlbCE6IFVpQWN0aW9uTW9kZWw7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdjb25maXJtRGlhbG9nU2VydmljZScpIHByaXZhdGUgY29uZmlybURpYWxvZ1NlcnZpY2U6IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UsXG4gICAgQEluamVjdCgndGV4dEZpZWxkRGlhbG9nU2VydmljZScpIHByaXZhdGUgdGV4dEZpZWxkRGlhbG9nU2VydmljZTogVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UsXG4gICAgQEluamVjdCgnZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UnKVxuICAgIHByaXZhdGUgZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2U6IFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc25hY2tCYXI6IE1hdFNuYWNrQmFyXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUodWlBY3Rpb246IFVpQWN0aW9uLCBvcHRpb25zPzogRXhlY3V0ZVVpQWN0aW9uT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZDtcblxuICAgIHVpQWN0aW9uUmVxdWVzdCA9IHtcbiAgICAgIGNvZGU6IHVpQWN0aW9uLmNvZGUhLFxuICAgICAgcGF0aDogdWlBY3Rpb24ucGF0aCxcbiAgICAgIGlkZW50aWZpZXI6IHVpQWN0aW9uLmlkZW50aWZpZXIsXG4gICAgICBwYXJhbXM6IHVpQWN0aW9uLnBhcmFtcyA/PyB7fSxcbiAgICB9O1xuXG4gICAgaWYgKHVpQWN0aW9uLnN1Ym1pdCB8fCB1aUFjdGlvbi5tb2RlbCkge1xuICAgICAgLy8gc3VibWl0OiB3aXRoIHZhbGlkYXRpb24sIG1vZGVsOiB3aXRob3V0IHZhbGlkYXRpb24uIGJvdGggY2FuIGJlIHVuZGVmaW5lZFxuICAgICAgY29uc3QgdmFsaWRhdGUgPSB1aUFjdGlvbi5zdWJtaXQgfHwgIXVpQWN0aW9uLm1vZGVsO1xuXG4gICAgICBpZiAoJ3JlU3Vic2NyaWJlVG9DaGFuZ2UnIGluIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UpIHtcbiAgICAgICAgaWYgKCF2YWxpZGF0ZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFZhbGlkYXRlID0gZmFsc2UsIGJ1dCBVc2VVaUFjdGlvbiBkb2Vzbid0IHN1cHBvcnQgaXRgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdC5uZXh0KCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQudG9Qcm9taXNlKCk7XG4gICAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQgPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQgPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXRGb3JtKHZhbGlkYXRlKTtcbiAgICAgICAgbGV0IGludmFsaWRGaWVsZHMgPSB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldEludmFsaWRGaWVsZHMoKTtcbiAgICAgICAgaWYgKHZhbGlkYXRlICYmIGludmFsaWRGaWVsZHMuaW52YWxpZEZpZWxkS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnNob3dJbnZhbGlkRmllbGRzU25hY2tiYXIoaW52YWxpZEZpZWxkcyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHVpQWN0aW9uLmNvbmZpcm0pIHtcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XG4gICAgICB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKTtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XG4gICAgICBpZiAoIXRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uuc2hvdWxkRG9BY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0VHlwZVxuICAgIGlmICh1aUFjdGlvbi5pbnB1dFR5cGUgJiYgdWlBY3Rpb24uaW5wdXRUeXBlICE9PSBVaUFjdGlvbklucHV0VHlwZS5OT05FKSB7XG4gICAgICB1aUFjdGlvblJlcXVlc3QgPSBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZShcbiAgICAgICAgdWlBY3Rpb24uaW5wdXRUeXBlLFxuICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxuICAgICAgICAnaW5wdXREaWFsb2cnXG4gICAgICApO1xuICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjUwKSk7XG4gICAgfVxuICAgIC8vIElucHV0MlR5cGVcbiAgICBpZiAodWlBY3Rpb24uaW5wdXQyVHlwZSAmJiB1aUFjdGlvbi5pbnB1dDJUeXBlICE9PSBVaUFjdGlvbklucHV0VHlwZS5OT05FKSB7XG4gICAgICB1aUFjdGlvblJlcXVlc3QgPSBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZShcbiAgICAgICAgdWlBY3Rpb24uaW5wdXQyVHlwZSxcbiAgICAgICAgdWlBY3Rpb24sXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcbiAgICAgICAgJ2lucHV0MkRpYWxvZydcbiAgICAgICk7XG4gICAgICBpZiAoIXVpQWN0aW9uUmVxdWVzdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudWlBY3Rpb25Nb2RlbC5leGNlcHRpb24pIHtcbiAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXG4gICAgICAgIHVpQWN0aW9uLFxuICAgICAgICB1aUFjdGlvblJlcXVlc3RcbiAgICAgICk7XG5cbiAgICAgIGlmICghcmVzcG9uc2Uuc2hvdWxkUGVyZm9ybUFjdGlvbiB8fCAhcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVpQWN0aW9uUmVxdWVzdCA9IHJlc3BvbnNlLnVpQWN0aW9uUmVxdWVzdDtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLnBlcmZvcm1BY3Rpb24odWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUlucHV0VHlwZShcbiAgICBpbnB1dFR5cGU6IFVpQWN0aW9uSW5wdXRUeXBlLFxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZydcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcbiAgICBzd2l0Y2ggKGlucHV0VHlwZSkge1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5OT05FOlxuICAgICAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5URVhUQVJFQTpcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVEVYVEZJRUxEOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVUZXh0RmllbGQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCk7XG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlVTRVJfU0VMRUNUOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVc2VyU2VsZWN0KGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QpO1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5GSUxFOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVcGxvYWQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCwgZmFsc2UpO1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5NVUxUSVBMRV9GSUxFUzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVXBsb2FkKGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QsIHRydWUpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUlucHV0VHlwZVRleHRGaWVsZChcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XG4gICAgbGV0IGFkZGl0aW9uYWxQYXJhbXMgPSB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb24pO1xuICAgIGxldCBpbnB1dFR5cGU6ICdpbnB1dFR5cGUnIHwgJ2lucHV0MlR5cGUnID1cbiAgICAgIGlucHV0VHlwZU5hbWUgPT09ICdpbnB1dERpYWxvZycgPyAnaW5wdXRUeXBlJyA6ICdpbnB1dDJUeXBlJztcblxuICAgIGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5URVhURklFTEQpIHtcbiAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEZpZWxkO1xuICAgIH0gZWxzZSBpZiAodWlBY3Rpb25baW5wdXRUeXBlXSA9PT0gVWlBY3Rpb25JbnB1dFR5cGUuVEVYVEFSRUEpIHtcbiAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEFyZWE7XG4gICAgfVxuXG4gICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLmlucHV0VHlwZU5hbWUgPSBpbnB1dFR5cGVOYW1lO1xuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5hY3Rpb24gPSB1aUFjdGlvbjtcblxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKCk7XG5cbiAgICBhd2FpdCB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XG4gICAgbGV0IHBhcmFtcyA9IHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5wYXJhbXM7XG5cbiAgICBpZiAoIXBhcmFtcykge1xuICAgICAgY29uc29sZS5lcnJvcignVGhlcmUgd2FzIG5vIHJlc3BvbnNlIGZyb20gSW5wdXREaWFsb2cnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcbiAgICAgIC4uLnVpQWN0aW9uUmVxdWVzdC5wYXJhbXMsXG4gICAgICAuLi5wYXJhbXMsXG4gICAgfTtcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVcGxvYWQoXG4gICAgaW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnLFxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcbiAgICBpc011bHRpcGxlOiBib29sZWFuXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XG4gICAgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5pbnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZTtcbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmFjdGlvbiA9IHVpQWN0aW9uO1xuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UuaXNNdWx0aXBsZSA9IGlzTXVsdGlwbGU7XG5cbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKTtcblxuICAgIGF3YWl0IHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XG4gICAgbGV0IGZpbGVzID0gdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5maWxlcztcbiAgICBsZXQgdXBsb2FkRGVzY3JpcHRvciA9IHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UudXBsb2FkRGVzY3JpcHRvcjtcblxuICAgIGlmICghZmlsZXMgfHwgIWZpbGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XG4gICAgICAuLi51aUFjdGlvblJlcXVlc3QucGFyYW1zLFxuICAgICAgX2ZpbGVzOiBmaWxlcyxcbiAgICAgIF91cGxvYWREZXNjcmlwdG9yOiB1cGxvYWREZXNjcmlwdG9yLFxuICAgICAgaXNNdWx0aXBsZSxcbiAgICAgIHBhcmFtOlxuICAgICAgICB1aUFjdGlvbi5pbnB1dFR5cGUgPT09ICdmaWxlJyB8fCB1aUFjdGlvbi5pbnB1dFR5cGUgPT09ICdtdWx0aXBsZV9maWxlcydcbiAgICAgICAgICA/ICdpbnB1dCdcbiAgICAgICAgICA6ICdpbnB1dDInLFxuICAgIH07XG4gICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlVXNlclNlbGVjdChcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XG4gICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5oYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcbiAgICAgIHVpQWN0aW9uLFxuICAgICAgdWlBY3Rpb25SZXF1ZXN0XG4gICAgKTtcblxuICAgIGlmICghcmVzcG9uc2Uuc2hvdWxkUGVyZm9ybUFjdGlvbiB8fCAhcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHVpQWN0aW9uUmVxdWVzdCA9IHJlc3BvbnNlLnVpQWN0aW9uUmVxdWVzdDtcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQWN0aW9uKFxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcbiAgICBvcHRpb25zPzogRXhlY3V0ZVVpQWN0aW9uT3B0aW9uc1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoXG4gICAgICAhdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyB8fFxuICAgICAgKHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgJiYgIU9iamVjdC5rZXlzKHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMpLmxlbmd0aClcbiAgICApIHtcbiAgICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XG4gICAgICAgIG1vZGVsOiB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldE1vZGVsKCksXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodWlBY3Rpb24uc3VibWl0IHx8IHVpQWN0aW9uLm1vZGVsKSB7XG4gICAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydtb2RlbCddID0gdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRNb2RlbCgpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnBlcmZvcm1VaUFjdGlvblJlcXVlc3QoXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcbiAgICAgICAgb3B0aW9ucz8ud2lkZ2V0SWQsXG4gICAgICAgIG9wdGlvbnM/Lm5vZGVJZFxuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMudWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5mZWVkYmFja1R5cGUgPT09IFVpQWN0aW9uRmVlZGJhY2tUeXBlLlNOQUNLQkFSKSB7XG4gICAgICAgIHRoaXMuc2hvd1NhdmVkU25hY2tiYXIodWlBY3Rpb24pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHNob3dTYXZlZFNuYWNrYmFyKHVpQWN0aW9uOiBVaUFjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFN1Y2Nlc3NTbmFja0JhckNvbXBvbmVudCwge1xuICAgICAgZHVyYXRpb246IDUgKiAxMDAwLFxuICAgICAgcGFuZWxDbGFzczogWydiYWNrZ3JvdW5kQ29sb3ItYWNjZW50J10sXG4gICAgICBkYXRhOiB1aUFjdGlvbixcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dJbnZhbGlkRmllbGRzU25hY2tiYXIoaW52YWxpZEZpZWxkczogU21hcnRGb3JtSW52YWxpZEZpZWxkcyk6IHZvaWQge1xuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KEludmFsaWRGaWVsZHNTbmFja0JhckNvbXBvbmVudCwge1xuICAgICAgZHVyYXRpb246IDUgKiAxMDAwLFxuICAgICAgcGFuZWxDbGFzczogWydiYWNrZ3JvdW5kQ29sb3Itd2FybiddLFxuICAgICAgZGF0YTogaW52YWxpZEZpZWxkcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|