@sapui5/sap.fe.core 1.111.0 → 1.112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +4 -4
- package/src/sap/fe/core/ActionRuntime.js +1 -1
- package/src/sap/fe/core/ActionRuntime.js.map +1 -1
- package/src/sap/fe/core/ActionRuntime.ts +11 -11
- package/src/sap/fe/core/AppComponent-dbg.js +27 -5
- package/src/sap/fe/core/AppComponent.js +1 -1
- package/src/sap/fe/core/AppComponent.js.map +1 -1
- package/src/sap/fe/core/AppComponent.ts +58 -3
- package/src/sap/fe/core/AppStateHandler-dbg.js +5 -2
- package/src/sap/fe/core/AppStateHandler.js +1 -1
- package/src/sap/fe/core/AppStateHandler.js.map +1 -1
- package/src/sap/fe/core/AppStateHandler.ts +10 -1
- package/src/sap/fe/core/BaseController-dbg.js +1 -1
- package/src/sap/fe/core/BaseController.ts +2 -1
- package/src/sap/fe/core/CommonUtils-dbg.js +152 -365
- package/src/sap/fe/core/CommonUtils.js +1 -1
- package/src/sap/fe/core/CommonUtils.js.map +1 -1
- package/src/sap/fe/core/CommonUtils.ts +201 -478
- package/src/sap/fe/core/ExtensionAPI-dbg.js +2 -1
- package/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +9 -1
- package/src/sap/fe/core/PageController-dbg.js +26 -31
- package/src/sap/fe/core/PageController.js +1 -1
- package/src/sap/fe/core/PageController.js.map +1 -1
- package/src/sap/fe/core/PageController.ts +17 -3
- package/src/sap/fe/core/ResourceModel-dbg.js +71 -0
- package/src/sap/fe/core/ResourceModel.js +6 -0
- package/src/sap/fe/core/ResourceModel.js.map +1 -0
- package/src/sap/fe/core/ResourceModel.ts +67 -0
- package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +1 -0
- package/src/sap/fe/core/TemplateModel-dbg.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +6 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +5 -7
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +6 -5
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +163 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +169 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +88 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +147 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +905 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +21 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/{BuildingBlockRuntime.ts → BuildingBlockTemplateProcessor.ts} +279 -335
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +79 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +15 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +68 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +162 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +6 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +181 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +4 -2
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -3
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +890 -220
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +974 -239
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +24 -34
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +71 -61
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +14 -17
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +23 -17
- package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -0
- package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +3 -3
- package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +2 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +2 -0
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +24 -0
- package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
- package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
- package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +27 -27
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
- package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.ts +35 -14
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +326 -89
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +32 -3
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -3
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +45 -31
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +52 -42
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +44 -49
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +43 -63
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +77 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +114 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1505 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1985 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -11
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +9 -13
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +43 -41
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +44 -47
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +12 -13
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +32 -13
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
- package/src/sap/fe/core/controls/CommandExecution.js +1 -1
- package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
- package/src/sap/fe/core/controls/CommandExecution.ts +15 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
- package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
- package/src/sap/fe/core/controls/FilterBar.ts +5 -0
- package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -2
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -1
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +17 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +16 -0
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +61 -49
- package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.ts +65 -51
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +65 -16
- package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.ts +62 -18
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1010 -957
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +8 -8
- package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.ts +28 -26
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
- package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +133 -49
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +140 -75
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -3
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +15 -15
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +97 -69
- package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +161 -137
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +10 -9
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +48 -44
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +130 -86
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +34 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +62 -45
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +34 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +54 -20
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +3 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +8 -0
- package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +7 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
- package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +9 -8
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +8 -7
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +8 -7
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +9 -6
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +25 -33
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +35 -35
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +11 -4
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +7 -1
- package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
- package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -2
- package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -5
- package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.ts +6 -4
- package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
- package/src/sap/fe/core/fpm/Component.ts +1 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +6 -6
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +8 -8
- package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
- package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.ts +140 -185
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +20 -18
- package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.ts +22 -23
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +4 -5
- package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.ts +4 -4
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +354 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +408 -0
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +13 -13
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +13 -13
- package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
- package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +26 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +19 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +93 -18
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +70 -17
- package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
- package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +5 -1
- package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.ts +12 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
- package/src/sap/fe/core/library-dbg.js +2 -2
- package/src/sap/fe/core/library-preload.js +127 -125
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/library.ts +7 -0
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/messagebundle.properties +33 -0
- package/src/sap/fe/core/messagebundle_ar.properties +12 -10
- package/src/sap/fe/core/messagebundle_bg.properties +11 -9
- package/src/sap/fe/core/messagebundle_ca.properties +11 -9
- package/src/sap/fe/core/messagebundle_cs.properties +11 -9
- package/src/sap/fe/core/messagebundle_cy.properties +11 -9
- package/src/sap/fe/core/messagebundle_da.properties +11 -9
- package/src/sap/fe/core/messagebundle_de.properties +3 -1
- package/src/sap/fe/core/messagebundle_el.properties +11 -9
- package/src/sap/fe/core/messagebundle_en.properties +3 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -3
- package/src/sap/fe/core/messagebundle_es.properties +11 -9
- package/src/sap/fe/core/messagebundle_es_MX.properties +11 -9
- package/src/sap/fe/core/messagebundle_et.properties +11 -9
- package/src/sap/fe/core/messagebundle_fi.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
- package/src/sap/fe/core/messagebundle_hi.properties +2 -0
- package/src/sap/fe/core/messagebundle_hr.properties +11 -9
- package/src/sap/fe/core/messagebundle_hu.properties +11 -9
- package/src/sap/fe/core/messagebundle_id.properties +3 -1
- package/src/sap/fe/core/messagebundle_it.properties +11 -9
- package/src/sap/fe/core/messagebundle_iw.properties +11 -9
- package/src/sap/fe/core/messagebundle_ja.properties +11 -9
- package/src/sap/fe/core/messagebundle_kk.properties +11 -9
- package/src/sap/fe/core/messagebundle_ko.properties +2 -0
- package/src/sap/fe/core/messagebundle_lt.properties +11 -9
- package/src/sap/fe/core/messagebundle_lv.properties +2 -0
- package/src/sap/fe/core/messagebundle_ms.properties +12 -10
- package/src/sap/fe/core/messagebundle_nl.properties +12 -10
- package/src/sap/fe/core/messagebundle_no.properties +11 -9
- package/src/sap/fe/core/messagebundle_pl.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt.properties +11 -9
- package/src/sap/fe/core/messagebundle_pt_PT.properties +11 -9
- package/src/sap/fe/core/messagebundle_ro.properties +3 -1
- package/src/sap/fe/core/messagebundle_ru.properties +3 -1
- package/src/sap/fe/core/messagebundle_sh.properties +11 -9
- package/src/sap/fe/core/messagebundle_sk.properties +11 -9
- package/src/sap/fe/core/messagebundle_sl.properties +11 -9
- package/src/sap/fe/core/messagebundle_sv.properties +2 -0
- package/src/sap/fe/core/messagebundle_th.properties +11 -9
- package/src/sap/fe/core/messagebundle_tr.properties +11 -9
- package/src/sap/fe/core/messagebundle_uk.properties +11 -9
- package/src/sap/fe/core/messagebundle_vi.properties +12 -10
- package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
- package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
- package/src/sap/fe/core/operationsHelper.js +1 -1
- package/src/sap/fe/core/operationsHelper.js.map +1 -1
- package/src/sap/fe/core/operationsHelper.ts +88 -63
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
- package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +4 -3
- package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +15 -5
- package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +3 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +29 -3
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +14 -2
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +502 -333
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +18 -5
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +41 -12
- package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -0
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +185 -86
- package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +190 -82
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +1 -3
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +3 -3
- package/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
- package/src/sap/fe/core/templating/FilterHelper.ts +5 -3
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +4 -0
- package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
- package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
- package/src/sap/fe/core/type/FiscalDate.ts +2 -1
- package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
- package/src/sap/fe/core/type/TypeUtil.js +1 -1
- package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
- package/src/sap/fe/core/type/TypeUtil.ts +3 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -932
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
- package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
- package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
- package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
- package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
- package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
- package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
- package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
- package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
- package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
- package/src/sap/fe/core/controls/FileWrapper.js +0 -6
- package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
- package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
- package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
- package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
|
@@ -5,18 +5,20 @@ import type {
|
|
|
5
5
|
PresentationVariant,
|
|
6
6
|
PresentationVariantType,
|
|
7
7
|
SelectionPresentationVariant,
|
|
8
|
-
SelectionVariant
|
|
8
|
+
SelectionVariant,
|
|
9
|
+
SelectionVariantType
|
|
9
10
|
} from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
10
11
|
import { UIAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
11
12
|
import { IssueCategory, IssueSeverity, IssueType } from "sap/fe/core/converters/helpers/IssueManager";
|
|
13
|
+
import * as MetaModelConverter from "sap/fe/core/converters/MetaModelConverter";
|
|
12
14
|
import CommonHelper from "sap/fe/macros/CommonHelper";
|
|
13
15
|
import type Context from "sap/ui/model/Context";
|
|
14
|
-
import type
|
|
16
|
+
import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
15
17
|
import type ConverterContext from "../../ConverterContext";
|
|
16
18
|
import type { ViewPathConfiguration } from "../../ManifestSettings";
|
|
17
19
|
import { TemplateType } from "../../ManifestSettings";
|
|
18
20
|
import type { ChartVisualization } from "./Chart";
|
|
19
|
-
import { createChartVisualization } from "./Chart";
|
|
21
|
+
import { createBlankChartVisualization, createChartVisualization } from "./Chart";
|
|
20
22
|
import type { TableVisualization } from "./Table";
|
|
21
23
|
import Table from "./Table";
|
|
22
24
|
|
|
@@ -24,6 +26,8 @@ export type DataVisualizationAnnotations = LineItem | Chart | PresentationVarian
|
|
|
24
26
|
|
|
25
27
|
export type ActualVisualizationAnnotations = LineItem | Chart;
|
|
26
28
|
|
|
29
|
+
export type PresentationVisualizationAnnotations = UIAnnotationTerms.LineItem | UIAnnotationTerms.Chart;
|
|
30
|
+
|
|
27
31
|
export type VisualizationAndPath = {
|
|
28
32
|
visualization: ActualVisualizationAnnotations;
|
|
29
33
|
annotationPath: string;
|
|
@@ -44,26 +48,31 @@ export const getVisualizationsFromPresentationVariant = function (
|
|
|
44
48
|
): VisualizationAndPath[] {
|
|
45
49
|
const visualizationAnnotations: VisualizationAndPath[] = [];
|
|
46
50
|
|
|
47
|
-
const
|
|
48
|
-
converterContext.getManifestWrapper().hasMultipleVisualizations() ||
|
|
49
|
-
converterContext.getTemplateType() === TemplateType.AnalyticalListPage;
|
|
51
|
+
const isALP = isAlpAnnotation(converterContext);
|
|
50
52
|
|
|
51
53
|
const baseVisualizationPath = visualizationPath.split("@")[0];
|
|
52
54
|
|
|
53
|
-
if (isMacroOrMultipleView && !isPresentationCompliant(presentationVariantAnnotation,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
)
|
|
63
|
-
|
|
64
|
-
|
|
55
|
+
if ((isMacroOrMultipleView === true || isALP) && !isPresentationCompliant(presentationVariantAnnotation, isALP)) {
|
|
56
|
+
if (!annotationExistsInPresentationVariant(presentationVariantAnnotation, UIAnnotationTerms.LineItem)) {
|
|
57
|
+
const defaultLineItemAnnotation = prepareDefaultVisualization(
|
|
58
|
+
UIAnnotationTerms.LineItem,
|
|
59
|
+
baseVisualizationPath,
|
|
60
|
+
converterContext
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
if (defaultLineItemAnnotation) {
|
|
64
|
+
visualizationAnnotations.push(defaultLineItemAnnotation);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (!annotationExistsInPresentationVariant(presentationVariantAnnotation, UIAnnotationTerms.Chart)) {
|
|
68
|
+
const defaultChartAnnotation = prepareDefaultVisualization(UIAnnotationTerms.Chart, baseVisualizationPath, converterContext);
|
|
69
|
+
|
|
70
|
+
if (defaultChartAnnotation) {
|
|
71
|
+
visualizationAnnotations.push(defaultChartAnnotation);
|
|
72
|
+
}
|
|
65
73
|
}
|
|
66
74
|
}
|
|
75
|
+
|
|
67
76
|
const visualizations = presentationVariantAnnotation.Visualizations;
|
|
68
77
|
|
|
69
78
|
const pushFirstVizOfType = function (allowedTerms: string[]) {
|
|
@@ -80,7 +89,7 @@ export const getVisualizationsFromPresentationVariant = function (
|
|
|
80
89
|
}
|
|
81
90
|
};
|
|
82
91
|
|
|
83
|
-
if (
|
|
92
|
+
if (isALP) {
|
|
84
93
|
// In case of ALP, we use the first LineItem and the first Chart
|
|
85
94
|
pushFirstVizOfType([UIAnnotationTerms.LineItem]);
|
|
86
95
|
pushFirstVizOfType([UIAnnotationTerms.Chart]);
|
|
@@ -95,7 +104,7 @@ export function getSelectionPresentationVariant(
|
|
|
95
104
|
entityType: EntityType,
|
|
96
105
|
annotationPath: string | undefined,
|
|
97
106
|
converterContext: ConverterContext
|
|
98
|
-
):
|
|
107
|
+
): SelectionPresentationVariant | undefined {
|
|
99
108
|
if (annotationPath) {
|
|
100
109
|
const resolvedTarget = converterContext.getEntityTypeAnnotation(annotationPath);
|
|
101
110
|
const selectionPresentationVariant = resolvedTarget.annotation as SelectionPresentationVariant;
|
|
@@ -112,33 +121,33 @@ export function getSelectionPresentationVariant(
|
|
|
112
121
|
}
|
|
113
122
|
|
|
114
123
|
export function isSelectionPresentationCompliant(
|
|
115
|
-
|
|
116
|
-
|
|
124
|
+
selectionPresentationVariant: SelectionPresentationVariant,
|
|
125
|
+
isALP: boolean
|
|
117
126
|
): boolean | undefined {
|
|
118
|
-
const presentationVariant =
|
|
127
|
+
const presentationVariant = selectionPresentationVariant && selectionPresentationVariant.PresentationVariant;
|
|
119
128
|
if (presentationVariant) {
|
|
120
|
-
return isPresentationCompliant(presentationVariant,
|
|
129
|
+
return isPresentationCompliant(presentationVariant, isALP);
|
|
121
130
|
} else {
|
|
122
131
|
throw new Error("Presentation Variant is not present in the SPV annotation");
|
|
123
132
|
}
|
|
124
133
|
}
|
|
125
134
|
|
|
126
|
-
export function isPresentationCompliant(presentationVariant: PresentationVariantType,
|
|
127
|
-
let
|
|
128
|
-
|
|
129
|
-
if (
|
|
135
|
+
export function isPresentationCompliant(presentationVariant: PresentationVariantType, isALP = false): boolean {
|
|
136
|
+
let hasTable = false,
|
|
137
|
+
hasChart = false;
|
|
138
|
+
if (isALP) {
|
|
130
139
|
if (presentationVariant?.Visualizations) {
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
if (
|
|
134
|
-
|
|
140
|
+
const visualizations = presentationVariant.Visualizations;
|
|
141
|
+
visualizations.forEach((visualization) => {
|
|
142
|
+
if (visualization.$target?.term === UIAnnotationTerms.LineItem) {
|
|
143
|
+
hasTable = true;
|
|
135
144
|
}
|
|
136
|
-
if (
|
|
137
|
-
|
|
145
|
+
if (visualization.$target?.term === UIAnnotationTerms.Chart) {
|
|
146
|
+
hasChart = true;
|
|
138
147
|
}
|
|
139
148
|
});
|
|
140
149
|
}
|
|
141
|
-
return
|
|
150
|
+
return hasChart && hasTable;
|
|
142
151
|
} else {
|
|
143
152
|
return (
|
|
144
153
|
presentationVariant?.Visualizations &&
|
|
@@ -165,12 +174,12 @@ export function getDefaultSelectionVariant(entityType: EntityType): SelectionVar
|
|
|
165
174
|
return entityType.annotations?.UI?.SelectionVariant;
|
|
166
175
|
}
|
|
167
176
|
|
|
168
|
-
export function getSelectionVariant(entityType: EntityType, converterContext: ConverterContext):
|
|
177
|
+
export function getSelectionVariant(entityType: EntityType, converterContext: ConverterContext): SelectionVariantType | undefined {
|
|
169
178
|
const annotationPath = converterContext.getManifestWrapper().getDefaultTemplateAnnotationPath();
|
|
170
179
|
const selectionPresentationVariant = getSelectionPresentationVariant(entityType, annotationPath, converterContext);
|
|
171
180
|
let selectionVariant;
|
|
172
181
|
if (selectionPresentationVariant) {
|
|
173
|
-
selectionVariant = selectionPresentationVariant.SelectionVariant;
|
|
182
|
+
selectionVariant = selectionPresentationVariant.SelectionVariant as SelectionVariant;
|
|
174
183
|
if (selectionVariant) {
|
|
175
184
|
return selectionVariant;
|
|
176
185
|
}
|
|
@@ -182,10 +191,10 @@ export function getSelectionVariant(entityType: EntityType, converterContext: Co
|
|
|
182
191
|
|
|
183
192
|
export function getDataVisualizationConfiguration(
|
|
184
193
|
visualizationPath: string,
|
|
185
|
-
isCondensedTableLayoutCompliant: boolean,
|
|
194
|
+
isCondensedTableLayoutCompliant: boolean | undefined,
|
|
186
195
|
inConverterContext: ConverterContext,
|
|
187
196
|
viewConfiguration?: ViewPathConfiguration,
|
|
188
|
-
doNotCheckApplySupported?: boolean,
|
|
197
|
+
doNotCheckApplySupported?: boolean | undefined,
|
|
189
198
|
associatedPresentationVariantPath?: string,
|
|
190
199
|
isMacroOrMultipleView?: boolean
|
|
191
200
|
): DataVisualizationDefinition {
|
|
@@ -200,11 +209,11 @@ export function getDataVisualizationConfiguration(
|
|
|
200
209
|
inConverterContext = resolvedTarget.converterContext;
|
|
201
210
|
let visualizationAnnotations: VisualizationAndPath[] = [];
|
|
202
211
|
let presentationVariantAnnotation: PresentationVariantType;
|
|
203
|
-
let presentationPath
|
|
212
|
+
let presentationPath = "";
|
|
204
213
|
let chartVisualization, tableVisualization;
|
|
205
|
-
const
|
|
206
|
-
if (
|
|
207
|
-
switch (
|
|
214
|
+
const term = resolvedVisualization?.term;
|
|
215
|
+
if (term) {
|
|
216
|
+
switch (term) {
|
|
208
217
|
case UIAnnotationTerms.LineItem:
|
|
209
218
|
case UIAnnotationTerms.Chart:
|
|
210
219
|
presentationVariantAnnotation = resolvedAssociatedPresentationVariant?.annotation;
|
|
@@ -250,7 +259,8 @@ export function getDataVisualizationConfiguration(
|
|
|
250
259
|
visualization,
|
|
251
260
|
annotationPath,
|
|
252
261
|
converterContext,
|
|
253
|
-
doNotCheckApplySupported
|
|
262
|
+
doNotCheckApplySupported,
|
|
263
|
+
viewConfiguration
|
|
254
264
|
);
|
|
255
265
|
break;
|
|
256
266
|
case UIAnnotationTerms.LineItem:
|
|
@@ -266,55 +276,110 @@ export function getDataVisualizationConfiguration(
|
|
|
266
276
|
break;
|
|
267
277
|
}
|
|
268
278
|
});
|
|
269
|
-
}
|
|
270
|
-
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
const visualizations: any = [];
|
|
282
|
+
let path = term === UIAnnotationTerms.SelectionPresentationVariant ? presentationPath : resolvedVisualization?.fullyQualifiedName;
|
|
283
|
+
if (path === undefined) {
|
|
284
|
+
path = "/";
|
|
285
|
+
}
|
|
286
|
+
const isALP = isAlpAnnotation(inConverterContext);
|
|
287
|
+
|
|
288
|
+
if (!term || (isALP && tableVisualization === undefined)) {
|
|
289
|
+
tableVisualization = Table.createDefaultTableVisualization(inConverterContext, isMacroOrMultipleView !== true);
|
|
271
290
|
inConverterContext.getDiagnostics().addIssue(IssueCategory.Annotation, IssueSeverity.Medium, IssueType.MISSING_LINEITEM);
|
|
272
291
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
? presentationPath
|
|
277
|
-
: resolvedVisualization && resolvedVisualization.fullyQualifiedName;
|
|
278
|
-
if (sPath === undefined) {
|
|
279
|
-
sPath = "/";
|
|
292
|
+
if (isALP && chartVisualization === undefined) {
|
|
293
|
+
chartVisualization = createBlankChartVisualization(inConverterContext);
|
|
294
|
+
inConverterContext.getDiagnostics().addIssue(IssueCategory.Annotation, IssueSeverity.Medium, IssueType.MISSING_CHART);
|
|
280
295
|
}
|
|
296
|
+
|
|
281
297
|
if (chartVisualization) {
|
|
282
|
-
|
|
298
|
+
visualizations.push(chartVisualization);
|
|
283
299
|
}
|
|
284
300
|
if (tableVisualization) {
|
|
285
|
-
|
|
301
|
+
visualizations.push(tableVisualization);
|
|
286
302
|
}
|
|
287
303
|
return {
|
|
288
|
-
visualizations:
|
|
289
|
-
annotationPath: inConverterContext.getEntitySetBasedAnnotationPath(
|
|
304
|
+
visualizations: visualizations,
|
|
305
|
+
annotationPath: inConverterContext.getEntitySetBasedAnnotationPath(path)
|
|
290
306
|
};
|
|
291
307
|
}
|
|
292
308
|
|
|
293
309
|
/**
|
|
294
|
-
*
|
|
310
|
+
* Returns the context of the UI controls (either a UI.LineItem, or a UI.Chart).
|
|
295
311
|
*
|
|
296
312
|
* @function
|
|
297
313
|
* @name getUiControl
|
|
298
|
-
* @param
|
|
299
|
-
* @param
|
|
300
|
-
* @returns The
|
|
314
|
+
* @param presentationContext Object of the presentation context (either a presentation variant, or a UI.LineItem, or a UI.Chart)
|
|
315
|
+
* @param controlPath Control path
|
|
316
|
+
* @returns The context of the control (either a UI.LineItem, or a UI.Chart)
|
|
301
317
|
*/
|
|
302
|
-
export function getUiControl(
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
if (
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
318
|
+
export function getUiControl(presentationContext: Context, controlPath: string): Context {
|
|
319
|
+
CommonHelper.validatePresentationMetaPath(presentationContext.getPath(), controlPath);
|
|
320
|
+
|
|
321
|
+
const presentation = MetaModelConverter.convertMetaModelContext(presentationContext),
|
|
322
|
+
presentationVariantPath = CommonHelper.createPresentationPathContext(presentationContext),
|
|
323
|
+
model = presentationContext.getModel() as ODataMetaModel;
|
|
324
|
+
if (presentation) {
|
|
325
|
+
if (CommonHelper._isPresentationVariantAnnotation(presentationVariantPath.getPath())) {
|
|
326
|
+
const visualizations = presentation.PresentationVariant
|
|
327
|
+
? presentation.PresentationVariant.Visualizations
|
|
328
|
+
: presentation.Visualizations;
|
|
329
|
+
if (Array.isArray(visualizations)) {
|
|
330
|
+
for (const visualization of visualizations) {
|
|
331
|
+
if (
|
|
332
|
+
visualization.type == "AnnotationPath" &&
|
|
333
|
+
visualization.value.indexOf(controlPath) !== -1 &&
|
|
334
|
+
// check if object exists for PresentationVariant visualization
|
|
335
|
+
!!model.getMetaContext(presentationContext.getPath().split("@")[0] + visualization.value).getObject()
|
|
336
|
+
) {
|
|
337
|
+
controlPath = visualization.value;
|
|
338
|
+
break;
|
|
339
|
+
}
|
|
314
340
|
}
|
|
315
341
|
}
|
|
342
|
+
} else {
|
|
343
|
+
return presentationContext;
|
|
316
344
|
}
|
|
317
|
-
return (oModel as any).getMetaContext(oPresentationContext.getPath().split("@")[0] + sControlPath);
|
|
318
345
|
}
|
|
319
|
-
|
|
346
|
+
|
|
347
|
+
return model.getMetaContext(presentationContext.getPath().split("@")[0] + controlPath);
|
|
320
348
|
}
|
|
349
|
+
|
|
350
|
+
export const annotationExistsInPresentationVariant = function (
|
|
351
|
+
presentationVariantAnnotation: PresentationVariantType,
|
|
352
|
+
annotationTerm: PresentationVisualizationAnnotations
|
|
353
|
+
): boolean {
|
|
354
|
+
return presentationVariantAnnotation.Visualizations?.some((visualization) => visualization.value.indexOf(annotationTerm) > -1) ?? false;
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
export const prepareDefaultVisualization = function (
|
|
358
|
+
visualizationType: PresentationVisualizationAnnotations,
|
|
359
|
+
baseVisualizationPath: string,
|
|
360
|
+
converterContext: ConverterContext
|
|
361
|
+
): VisualizationAndPath | undefined {
|
|
362
|
+
const entityType = converterContext.getEntityType();
|
|
363
|
+
const defaultAnnotation =
|
|
364
|
+
visualizationType === UIAnnotationTerms.LineItem ? getDefaultLineItem(entityType) : getDefaultChart(entityType);
|
|
365
|
+
|
|
366
|
+
if (defaultAnnotation) {
|
|
367
|
+
return {
|
|
368
|
+
visualization: defaultAnnotation,
|
|
369
|
+
annotationPath: `${baseVisualizationPath}${converterContext.getRelativeAnnotationPath(
|
|
370
|
+
defaultAnnotation.fullyQualifiedName,
|
|
371
|
+
entityType
|
|
372
|
+
)}`,
|
|
373
|
+
converterContext: converterContext
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
return undefined;
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
export const isAlpAnnotation = function (converterContext: ConverterContext): boolean {
|
|
381
|
+
return (
|
|
382
|
+
converterContext.getManifestWrapper().hasMultipleVisualizations() ||
|
|
383
|
+
converterContext.getTemplateType() === TemplateType.AnalyticalListPage
|
|
384
|
+
);
|
|
385
|
+
};
|
|
@@ -226,4 +226,4 @@ sap.ui.define(["sap/fe/core/converters/annotations/DataField", "sap/fe/core/help
|
|
|
226
226
|
_exports.createFormDefinition = createFormDefinition;
|
|
227
227
|
return _exports;
|
|
228
228
|
}, false);
|
|
229
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGb3JtRWxlbWVudFR5cGUiLCJnZXREZWZhdWx0Rm9ybWF0T3B0aW9uc0ZvckZvcm0iLCJ0ZXh0TGluZXNFZGl0IiwiaXNGaWVsZFBhcnRPZlByZXZpZXciLCJmaWVsZCIsImZvcm1QYXJ0T2ZQcmV2aWV3IiwidmFsdWVPZiIsImFubm90YXRpb25zIiwiVUkiLCJQYXJ0T2ZQcmV2aWV3IiwidW5kZWZpbmVkIiwiZ2V0Rm9ybUVsZW1lbnRzRnJvbUFubm90YXRpb25zIiwiZmFjZXREZWZpbml0aW9uIiwiY29udmVydGVyQ29udGV4dCIsImZvcm1FbGVtZW50cyIsInJlc29sdmVkVGFyZ2V0IiwiZ2V0RW50aXR5VHlwZUFubm90YXRpb24iLCJUYXJnZXQiLCJ2YWx1ZSIsImZvcm1Bbm5vdGF0aW9uIiwiYW5ub3RhdGlvbiIsImdldERhdGFGaWVsZHNGcm9tQW5ub3RhdGlvbnMiLCJzZW1hbnRpY09iamVjdEFubm90YXRpb25QYXRoIiwiZ2V0U2VtYW50aWNPYmplY3RQYXRoIiwiJFR5cGUiLCJpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbiIsIkhpZGRlbiIsImZvcm1FbGVtZW50Iiwia2V5IiwiS2V5SGVscGVyIiwiZ2VuZXJhdGVLZXlGcm9tRGF0YUZpZWxkIiwidHlwZSIsIkFubm90YXRpb24iLCJhbm5vdGF0aW9uUGF0aCIsImdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJzZW1hbnRpY09iamVjdFBhdGgiLCJmb3JtYXRPcHRpb25zIiwiaXNQYXJ0T2ZQcmV2aWV3IiwiJHRhcmdldCIsImNvbm5lY3RlZEZpZWxkcyIsIk9iamVjdCIsInZhbHVlcyIsIkRhdGEiLCJmaWx0ZXIiLCJjb25uZWN0ZWRGaWVsZCIsImhhc093blByb3BlcnR5IiwibWFwIiwiY29ubm5lY3RlZEZpZWxkRWxlbWVudCIsInB1c2giLCJ0ZXJtIiwiZm9yRWFjaCIsInF1YWxpZmllciIsImdldEZvcm1FbGVtZW50c0Zyb21NYW5pZmVzdCIsIm1hbmlmZXN0V3JhcHBlciIsImdldE1hbmlmZXN0V3JhcHBlciIsIm1hbmlmZXN0Rm9ybUNvbnRhaW5lciIsImdldEZvcm1Db250YWluZXIiLCJmaWVsZHMiLCJrZXlzIiwiZmllbGRJZCIsImlkIiwiRGVmYXVsdCIsInRlbXBsYXRlIiwibGFiZWwiLCJwb3NpdGlvbiIsInBsYWNlbWVudCIsIlBsYWNlbWVudCIsIkFmdGVyIiwiYWN0aW9ucyIsInNGb3JtQ29udGFpbmVySWQiLCJjcmVhdGVJZEZvckFubm90YXRpb24iLCJzQW5ub3RhdGlvblBhdGgiLCJpc1Zpc2libGUiLCJjb21waWxlRXhwcmVzc2lvbiIsIm5vdCIsImVxdWFsIiwiZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIiwic0VudGl0eVNldFBhdGgiLCJnZXRFbnRpdHlTZXQiLCJnZXRUYXJnZXRFbnRpdHlTZXRQYXRoIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsInRhcmdldE9iamVjdCIsImNvbnRhaW5zVGFyZ2V0IiwiZ2V0VGFyZ2V0T2JqZWN0UGF0aCIsIk1vZGVsSGVscGVyIiwiaXNTaW5nbGV0b24iLCJhRm9ybUVsZW1lbnRzIiwiaW5zZXJ0Q3VzdG9tRWxlbWVudHMiLCJPdmVycmlkZVR5cGUiLCJvdmVyd3JpdGUiLCJhY3Rpb24iLCJmYWNldE5hbWUiLCJsZW5ndGgiLCJvQWN0aW9uU2hvd0RldGFpbHMiLCJnZXRGb3JtU3RhbmRhcmRBY3Rpb25CdXR0b25JRCIsInRleHQiLCJpZkVsc2UiLCJwYXRoSW5Nb2RlbCIsIkFjdGlvblR5cGUiLCJTaG93Rm9ybURldGFpbHMiLCJwcmVzcyIsInNvbWUiLCJvRm9ybUVsZW1lbnQiLCJlbnRpdHlTZXQiLCJnZXRGb3JtQ29udGFpbmVyc0ZvckNvbGxlY3Rpb24iLCJmb3JtQ29udGFpbmVycyIsIkZhY2V0cyIsImZhY2V0IiwiaXNSZWZlcmVuY2VGYWNldCIsImNyZWF0ZUZvcm1EZWZpbml0aW9uIiwiZ2V0Rm9ybUlEIiwidXNlRm9ybUNvbnRhaW5lckxhYmVscyIsImhhc0ZhY2V0c05vdFBhcnRPZlByZXZpZXciLCJjaGlsZEZhY2V0IiwiRXJyb3IiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZvcm0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250YWN0IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9Db21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgeyBDb21tdW5pY2F0aW9uQW5ub3RhdGlvblRlcm1zIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9Db21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvbGxlY3Rpb25GYWNldFR5cGVzLFxuXHREYXRhRmllbGRBYnN0cmFjdFR5cGVzLFxuXHREYXRhUG9pbnQsXG5cdEZhY2V0VHlwZXMsXG5cdEZpZWxkR3JvdXAsXG5cdElkZW50aWZpY2F0aW9uLFxuXHRQYXJ0T2ZQcmV2aWV3LFxuXHRSZWZlcmVuY2VGYWNldFR5cGVzXG59IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IFVJQW5ub3RhdGlvblRlcm1zLCBVSUFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IGdldFNlbWFudGljT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2Fubm90YXRpb25zL0RhdGFGaWVsZFwiO1xuaW1wb3J0IHR5cGUgeyBCYXNlQWN0aW9uLCBDb252ZXJ0ZXJBY3Rpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9jb250cm9scy9Db21tb24vQWN0aW9uXCI7XG5pbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uLCBlcXVhbCwgZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uLCBpZkVsc2UsIG5vdCwgcGF0aEluTW9kZWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IE1vZGVsSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgeyBnZXRUYXJnZXRFbnRpdHlTZXRQYXRoLCBnZXRUYXJnZXRPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgY3JlYXRlSWRGb3JBbm5vdGF0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbmltcG9ydCB0eXBlIENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4uLy4uL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlndXJhYmxlT2JqZWN0LCBDdXN0b21FbGVtZW50IH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvQ29uZmlndXJhYmxlT2JqZWN0XCI7XG5pbXBvcnQgeyBpbnNlcnRDdXN0b21FbGVtZW50cywgT3ZlcnJpZGVUeXBlLCBQbGFjZW1lbnQgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9Db25maWd1cmFibGVPYmplY3RcIjtcbmltcG9ydCB7IGlzUmVmZXJlbmNlUHJvcGVydHlTdGF0aWNhbGx5SGlkZGVuIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvRGF0YUZpZWxkSGVscGVyXCI7XG5pbXBvcnQgeyBnZXRGb3JtSUQsIGdldEZvcm1TdGFuZGFyZEFjdGlvbkJ1dHRvbklEIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvSURcIjtcbmltcG9ydCB7IEtleUhlbHBlciB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL0tleVwiO1xuaW1wb3J0IHR5cGUgeyBGb3JtYXRPcHRpb25zVHlwZSwgRm9ybU1hbmlmZXN0Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi8uLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBBY3Rpb25UeXBlIH0gZnJvbSBcIi4uLy4uL01hbmlmZXN0U2V0dGluZ3NcIjtcblxuZXhwb3J0IHR5cGUgRm9ybURlZmluaXRpb24gPSB7XG5cdGlkOiBzdHJpbmc7XG5cdHVzZUZvcm1Db250YWluZXJMYWJlbHM6IGJvb2xlYW47XG5cdGhhc0ZhY2V0c05vdFBhcnRPZlByZXZpZXc6IGJvb2xlYW47XG5cdGZvcm1Db250YWluZXJzOiBGb3JtQ29udGFpbmVyW107XG5cdGlzVmlzaWJsZTogQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG59O1xuXG5leHBvcnQgZW51bSBGb3JtRWxlbWVudFR5cGUge1xuXHREZWZhdWx0ID0gXCJEZWZhdWx0XCIsXG5cdFNsb3QgPSBcIlNsb3RcIixcblx0QW5ub3RhdGlvbiA9IFwiQW5ub3RhdGlvblwiXG59XG5cbmV4cG9ydCB0eXBlIEJhc2VGb3JtRWxlbWVudCA9IENvbmZpZ3VyYWJsZU9iamVjdCAmIHtcblx0aWQ/OiBzdHJpbmc7XG5cdHR5cGU6IEZvcm1FbGVtZW50VHlwZTtcblx0bGFiZWw/OiBzdHJpbmc7XG5cdHZpc2libGU/OiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0Zm9ybWF0T3B0aW9ucz86IEZvcm1hdE9wdGlvbnNUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgQW5ub3RhdGlvbkZvcm1FbGVtZW50ID0gQmFzZUZvcm1FbGVtZW50ICYge1xuXHRpZFByZWZpeD86IHN0cmluZztcblx0YW5ub3RhdGlvblBhdGg/OiBzdHJpbmc7XG5cdGlzVmFsdWVNdWx0aWxpbmVUZXh0PzogYm9vbGVhbjtcblx0c2VtYW50aWNPYmplY3RQYXRoPzogc3RyaW5nO1xuXHRjb25uZWN0ZWRGaWVsZHM/OiB7IHNlbWFudGljT2JqZWN0UGF0aD86IHN0cmluZyB9W107XG5cdGlzUGFydE9mUHJldmlldz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21Gb3JtRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8XG5cdEJhc2VGb3JtRWxlbWVudCAmIHtcblx0XHR0eXBlOiBGb3JtRWxlbWVudFR5cGU7XG5cdFx0dGVtcGxhdGU6IHN0cmluZztcblx0fVxuPjtcblxuZXhwb3J0IHR5cGUgRm9ybUVsZW1lbnQgPSBDdXN0b21Gb3JtRWxlbWVudCB8IEFubm90YXRpb25Gb3JtRWxlbWVudDtcblxuZXhwb3J0IHR5cGUgRm9ybUNvbnRhaW5lciA9IHtcblx0aWQ/OiBzdHJpbmc7XG5cdGZvcm1FbGVtZW50czogRm9ybUVsZW1lbnRbXTtcblx0YW5ub3RhdGlvblBhdGg6IHN0cmluZztcblx0aXNWaXNpYmxlOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0ZW50aXR5U2V0Pzogc3RyaW5nO1xuXHRhY3Rpb25zPzogQ29udmVydGVyQWN0aW9uW10gfCBCYXNlQWN0aW9uW107XG59O1xuXG4vKipcbiAqIFJldHVybnMgZGVmYXVsdCBmb3JtYXQgb3B0aW9ucyBmb3IgdGV4dCBmaWVsZHMgb24gYSBmb3JtLlxuICpcbiAqIEByZXR1cm5zIENvbGxlY3Rpb24gb2YgZm9ybWF0IG9wdGlvbnMgd2l0aCBkZWZhdWx0IHZhbHVlc1xuICovXG5mdW5jdGlvbiBnZXREZWZhdWx0Rm9ybWF0T3B0aW9uc0ZvckZvcm0oKTogRm9ybWF0T3B0aW9uc1R5cGUge1xuXHRyZXR1cm4ge1xuXHRcdHRleHRMaW5lc0VkaXQ6IDRcblx0fTtcbn1cblxuZnVuY3Rpb24gaXNGaWVsZFBhcnRPZlByZXZpZXcoZmllbGQ6IERhdGFGaWVsZEFic3RyYWN0VHlwZXMsIGZvcm1QYXJ0T2ZQcmV2aWV3PzogUGFydE9mUHJldmlldyk6IGJvb2xlYW4ge1xuXHQvLyBCb3RoIGVhY2ggZm9ybSBhbmQgZmllbGQgY2FuIGhhdmUgdGhlIFBhcnRPZlByZXZpZXcgYW5ub3RhdGlvbi4gT25seSBpZiB0aGUgZm9ybSBpcyBub3QgaGlkZGVuIChub3QgcGFydE9mUHJldmlldykgd2UgYWxsb3cgdG9nZ2xpbmcgb24gZmllbGQgbGV2ZWxcblx0cmV0dXJuIChcblx0XHRmb3JtUGFydE9mUHJldmlldz8udmFsdWVPZigpID09PSBmYWxzZSB8fFxuXHRcdGZpZWxkLmFubm90YXRpb25zPy5VST8uUGFydE9mUHJldmlldyA9PT0gdW5kZWZpbmVkIHx8XG5cdFx0ZmllbGQuYW5ub3RhdGlvbnM/LlVJPy5QYXJ0T2ZQcmV2aWV3LnZhbHVlT2YoKSA9PT0gdHJ1ZVxuXHQpO1xufVxuXG5mdW5jdGlvbiBnZXRGb3JtRWxlbWVudHNGcm9tQW5ub3RhdGlvbnMoZmFjZXREZWZpbml0aW9uOiBSZWZlcmVuY2VGYWNldFR5cGVzLCBjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0KTogQW5ub3RhdGlvbkZvcm1FbGVtZW50W10ge1xuXHRjb25zdCBmb3JtRWxlbWVudHM6IEFubm90YXRpb25Gb3JtRWxlbWVudFtdID0gW107XG5cdGNvbnN0IHJlc29sdmVkVGFyZ2V0ID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlQW5ub3RhdGlvbihmYWNldERlZmluaXRpb24uVGFyZ2V0LnZhbHVlKTtcblx0Y29uc3QgZm9ybUFubm90YXRpb246IElkZW50aWZpY2F0aW9uIHwgRmllbGRHcm91cCB8IENvbnRhY3QgfCBEYXRhUG9pbnQgPSByZXNvbHZlZFRhcmdldC5hbm5vdGF0aW9uO1xuXHRjb252ZXJ0ZXJDb250ZXh0ID0gcmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dDtcblxuXHRmdW5jdGlvbiBnZXREYXRhRmllbGRzRnJvbUFubm90YXRpb25zKGZpZWxkOiBEYXRhRmllbGRBYnN0cmFjdFR5cGVzLCBmb3JtUGFydE9mUHJldmlldzogUGFydE9mUHJldmlldyB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IHNlbWFudGljT2JqZWN0QW5ub3RhdGlvblBhdGggPSBnZXRTZW1hbnRpY09iamVjdFBhdGgoY29udmVydGVyQ29udGV4dCwgZmllbGQpO1xuXHRcdGlmIChcblx0XHRcdGZpZWxkLiRUeXBlICE9PSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRGb3JBY3Rpb24gJiZcblx0XHRcdGZpZWxkLiRUeXBlICE9PSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gJiZcblx0XHRcdCFpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbihmaWVsZCkgJiZcblx0XHRcdGZpZWxkLmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgIT09IHRydWVcblx0XHQpIHtcblx0XHRcdGNvbnN0IGZvcm1FbGVtZW50ID0ge1xuXHRcdFx0XHRrZXk6IEtleUhlbHBlci5nZW5lcmF0ZUtleUZyb21EYXRhRmllbGQoZmllbGQpLFxuXHRcdFx0XHR0eXBlOiBGb3JtRWxlbWVudFR5cGUuQW5ub3RhdGlvbixcblx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IGAke2NvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0QmFzZWRBbm5vdGF0aW9uUGF0aChmaWVsZC5mdWxseVF1YWxpZmllZE5hbWUpfS9gLFxuXHRcdFx0XHRzZW1hbnRpY09iamVjdFBhdGg6IHNlbWFudGljT2JqZWN0QW5ub3RhdGlvblBhdGgsXG5cdFx0XHRcdGZvcm1hdE9wdGlvbnM6IGdldERlZmF1bHRGb3JtYXRPcHRpb25zRm9yRm9ybSgpLFxuXHRcdFx0XHRpc1BhcnRPZlByZXZpZXc6IGlzRmllbGRQYXJ0T2ZQcmV2aWV3KGZpZWxkLCBmb3JtUGFydE9mUHJldmlldylcblx0XHRcdH07XG5cdFx0XHRpZiAoXG5cdFx0XHRcdGZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZEZvckFubm90YXRpb25cIiAmJlxuXHRcdFx0XHRmaWVsZC5UYXJnZXQuJHRhcmdldC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db25uZWN0ZWRGaWVsZHNUeXBlXCJcblx0XHRcdCkge1xuXHRcdFx0XHRjb25zdCBjb25uZWN0ZWRGaWVsZHMgPSBPYmplY3QudmFsdWVzKGZpZWxkLlRhcmdldC4kdGFyZ2V0LkRhdGEpLmZpbHRlcigoY29ubmVjdGVkRmllbGQ6IE9iamVjdCkgPT5cblx0XHRcdFx0XHRjb25uZWN0ZWRGaWVsZD8uaGFzT3duUHJvcGVydHkoXCJWYWx1ZVwiKVxuXHRcdFx0XHQpO1xuXHRcdFx0XHQoZm9ybUVsZW1lbnQgYXMgQW5ub3RhdGlvbkZvcm1FbGVtZW50KS5jb25uZWN0ZWRGaWVsZHMgPSBjb25uZWN0ZWRGaWVsZHMubWFwKChjb25ubmVjdGVkRmllbGRFbGVtZW50KSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIHsgc2VtYW50aWNPYmplY3RQYXRoOiBnZXRTZW1hbnRpY09iamVjdFBhdGgoY29udmVydGVyQ29udGV4dCwgY29ubm5lY3RlZEZpZWxkRWxlbWVudCkgfTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRmb3JtRWxlbWVudHMucHVzaChmb3JtRWxlbWVudCk7XG5cdFx0fVxuXHR9XG5cblx0c3dpdGNoIChmb3JtQW5ub3RhdGlvbj8udGVybSkge1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuRmllbGRHcm91cDpcblx0XHRcdGZvcm1Bbm5vdGF0aW9uLkRhdGEuZm9yRWFjaCgoZmllbGQpID0+IGdldERhdGFGaWVsZHNGcm9tQW5ub3RhdGlvbnMoZmllbGQsIGZhY2V0RGVmaW5pdGlvbi5hbm5vdGF0aW9ucz8uVUk/LlBhcnRPZlByZXZpZXcpKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuSWRlbnRpZmljYXRpb246XG5cdFx0XHRmb3JtQW5ub3RhdGlvbi5mb3JFYWNoKChmaWVsZCkgPT4gZ2V0RGF0YUZpZWxkc0Zyb21Bbm5vdGF0aW9ucyhmaWVsZCwgZmFjZXREZWZpbml0aW9uLmFubm90YXRpb25zPy5VST8uUGFydE9mUHJldmlldykpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5EYXRhUG9pbnQ6XG5cdFx0XHRmb3JtRWxlbWVudHMucHVzaCh7XG5cdFx0XHRcdC8vIGtleTogS2V5SGVscGVyLmdlbmVyYXRlS2V5RnJvbURhdGFGaWVsZChmb3JtQW5ub3RhdGlvbiksXG5cdFx0XHRcdGtleTogYERhdGFQb2ludDo6JHtmb3JtQW5ub3RhdGlvbi5xdWFsaWZpZXIgPyBmb3JtQW5ub3RhdGlvbi5xdWFsaWZpZXIgOiBcIlwifWAsXG5cdFx0XHRcdHR5cGU6IEZvcm1FbGVtZW50VHlwZS5Bbm5vdGF0aW9uLFxuXHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogYCR7Y29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXRCYXNlZEFubm90YXRpb25QYXRoKGZvcm1Bbm5vdGF0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZSl9L2Bcblx0XHRcdH0pO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBDb21tdW5pY2F0aW9uQW5ub3RhdGlvblRlcm1zLkNvbnRhY3Q6XG5cdFx0XHRmb3JtRWxlbWVudHMucHVzaCh7XG5cdFx0XHRcdC8vIGtleTogS2V5SGVscGVyLmdlbmVyYXRlS2V5RnJvbURhdGFGaWVsZChmb3JtQW5ub3RhdGlvbiksXG5cdFx0XHRcdGtleTogYENvbnRhY3Q6OiR7Zm9ybUFubm90YXRpb24ucXVhbGlmaWVyID8gZm9ybUFubm90YXRpb24ucXVhbGlmaWVyIDogXCJcIn1gLFxuXHRcdFx0XHR0eXBlOiBGb3JtRWxlbWVudFR5cGUuQW5ub3RhdGlvbixcblx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IGAke2NvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0QmFzZWRBbm5vdGF0aW9uUGF0aChmb3JtQW5ub3RhdGlvbi5mdWxseVF1YWxpZmllZE5hbWUpfS9gXG5cdFx0XHR9KTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRicmVhaztcblx0fVxuXHRyZXR1cm4gZm9ybUVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybUVsZW1lbnRzRnJvbU1hbmlmZXN0KFxuXHRmYWNldERlZmluaXRpb246IFJlZmVyZW5jZUZhY2V0VHlwZXMsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHRcbik6IFJlY29yZDxzdHJpbmcsIEN1c3RvbUZvcm1FbGVtZW50PiB7XG5cdGNvbnN0IG1hbmlmZXN0V3JhcHBlciA9IGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RXcmFwcGVyKCk7XG5cdGNvbnN0IG1hbmlmZXN0Rm9ybUNvbnRhaW5lcjogRm9ybU1hbmlmZXN0Q29uZmlndXJhdGlvbiA9IG1hbmlmZXN0V3JhcHBlci5nZXRGb3JtQ29udGFpbmVyKGZhY2V0RGVmaW5pdGlvbi5UYXJnZXQudmFsdWUpO1xuXHRjb25zdCBmb3JtRWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEN1c3RvbUZvcm1FbGVtZW50PiA9IHt9O1xuXHRpZiAobWFuaWZlc3RGb3JtQ29udGFpbmVyPy5maWVsZHMpIHtcblx0XHRPYmplY3Qua2V5cyhtYW5pZmVzdEZvcm1Db250YWluZXI/LmZpZWxkcykuZm9yRWFjaCgoZmllbGRJZCkgPT4ge1xuXHRcdFx0Zm9ybUVsZW1lbnRzW2ZpZWxkSWRdID0ge1xuXHRcdFx0XHRrZXk6IGZpZWxkSWQsXG5cdFx0XHRcdGlkOiBgQ3VzdG9tRm9ybUVsZW1lbnQ6OiR7ZmllbGRJZH1gLFxuXHRcdFx0XHR0eXBlOiBtYW5pZmVzdEZvcm1Db250YWluZXIuZmllbGRzW2ZpZWxkSWRdLnR5cGUgfHwgRm9ybUVsZW1lbnRUeXBlLkRlZmF1bHQsXG5cdFx0XHRcdHRlbXBsYXRlOiBtYW5pZmVzdEZvcm1Db250YWluZXIuZmllbGRzW2ZpZWxkSWRdLnRlbXBsYXRlLFxuXHRcdFx0XHRsYWJlbDogbWFuaWZlc3RGb3JtQ29udGFpbmVyLmZpZWxkc1tmaWVsZElkXS5sYWJlbCxcblx0XHRcdFx0cG9zaXRpb246IG1hbmlmZXN0Rm9ybUNvbnRhaW5lci5maWVsZHNbZmllbGRJZF0ucG9zaXRpb24gfHwge1xuXHRcdFx0XHRcdHBsYWNlbWVudDogUGxhY2VtZW50LkFmdGVyXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZvcm1hdE9wdGlvbnM6IHtcblx0XHRcdFx0XHQuLi5nZXREZWZhdWx0Rm9ybWF0T3B0aW9uc0ZvckZvcm0oKSxcblx0XHRcdFx0XHQuLi5tYW5pZmVzdEZvcm1Db250YWluZXIuZmllbGRzW2ZpZWxkSWRdLmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHR9KTtcblx0fVxuXHRyZXR1cm4gZm9ybUVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybUNvbnRhaW5lcihcblx0ZmFjZXREZWZpbml0aW9uOiBSZWZlcmVuY2VGYWNldFR5cGVzLFxuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0LFxuXHRhY3Rpb25zPzogQmFzZUFjdGlvbltdIHwgQ29udmVydGVyQWN0aW9uW11cbik6IEZvcm1Db250YWluZXIge1xuXHRjb25zdCBzRm9ybUNvbnRhaW5lcklkID0gY3JlYXRlSWRGb3JBbm5vdGF0aW9uKGZhY2V0RGVmaW5pdGlvbikgYXMgc3RyaW5nO1xuXHRjb25zdCBzQW5ub3RhdGlvblBhdGggPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgoZmFjZXREZWZpbml0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZSk7XG5cdGNvbnN0IHJlc29sdmVkVGFyZ2V0ID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlQW5ub3RhdGlvbihmYWNldERlZmluaXRpb24uVGFyZ2V0LnZhbHVlKTtcblx0Y29uc3QgaXNWaXNpYmxlID0gY29tcGlsZUV4cHJlc3Npb24obm90KGVxdWFsKHRydWUsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihmYWNldERlZmluaXRpb24uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4pKSkpO1xuXHRsZXQgc0VudGl0eVNldFBhdGghOiBzdHJpbmc7XG5cdC8vIHJlc29sdmVkVGFyZ2V0IGRvZXNuJ3QgaGF2ZSBhIGVudGl0eVNldCBpbiBjYXNlIENvbnRhaW5tZW50cyBhbmQgUGFyYW10ZXJpemVkIHNlcnZpY2VzLlxuXHRpZiAoXG5cdFx0cmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXQoKSAmJlxuXHRcdHJlc29sdmVkVGFyZ2V0LmNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KCkgIT09IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KClcblx0KSB7XG5cdFx0c0VudGl0eVNldFBhdGggPSBnZXRUYXJnZXRFbnRpdHlTZXRQYXRoKHJlc29sdmVkVGFyZ2V0LmNvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpKTtcblx0fSBlbHNlIGlmIChyZXNvbHZlZFRhcmdldC5jb252ZXJ0ZXJDb250ZXh0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKS50YXJnZXRPYmplY3Q/LmNvbnRhaW5zVGFyZ2V0ID09PSB0cnVlKSB7XG5cdFx0c0VudGl0eVNldFBhdGggPSBnZXRUYXJnZXRPYmplY3RQYXRoKHJlc29sdmVkVGFyZ2V0LmNvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpLCBmYWxzZSk7XG5cdH0gZWxzZSBpZiAoXG5cdFx0cmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXQoKSAmJlxuXHRcdCFzRW50aXR5U2V0UGF0aCAmJlxuXHRcdE1vZGVsSGVscGVyLmlzU2luZ2xldG9uKHJlc29sdmVkVGFyZ2V0LmNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KCkpXG5cdCkge1xuXHRcdHNFbnRpdHlTZXRQYXRoID0gcmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXQoKT8uZnVsbHlRdWFsaWZpZWROYW1lIGFzIHN0cmluZztcblx0fVxuXHRjb25zdCBhRm9ybUVsZW1lbnRzID0gaW5zZXJ0Q3VzdG9tRWxlbWVudHMoXG5cdFx0Z2V0Rm9ybUVsZW1lbnRzRnJvbUFubm90YXRpb25zKGZhY2V0RGVmaW5pdGlvbiwgY29udmVydGVyQ29udGV4dCksXG5cdFx0Z2V0Rm9ybUVsZW1lbnRzRnJvbU1hbmlmZXN0KGZhY2V0RGVmaW5pdGlvbiwgY29udmVydGVyQ29udGV4dCksXG5cdFx0eyBmb3JtYXRPcHRpb25zOiBPdmVycmlkZVR5cGUub3ZlcndyaXRlIH1cblx0KTtcblxuXHRhY3Rpb25zID0gYWN0aW9ucyAhPT0gdW5kZWZpbmVkID8gYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLmZhY2V0TmFtZSA9PSBmYWNldERlZmluaXRpb24uZnVsbHlRdWFsaWZpZWROYW1lKSA6IFtdO1xuXHRpZiAoYWN0aW9ucy5sZW5ndGggPT09IDApIHtcblx0XHRhY3Rpb25zID0gdW5kZWZpbmVkO1xuXHR9XG5cblx0Y29uc3Qgb0FjdGlvblNob3dEZXRhaWxzOiBCYXNlQWN0aW9uID0ge1xuXHRcdGlkOiBnZXRGb3JtU3RhbmRhcmRBY3Rpb25CdXR0b25JRChzRm9ybUNvbnRhaW5lcklkLCBcIlNob3dIaWRlRGV0YWlsc1wiKSxcblx0XHRrZXk6IFwiU3RhbmRhcmRBY3Rpb246OlNob3dIaWRlRGV0YWlsc1wiLFxuXHRcdHRleHQ6IGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRlcXVhbChwYXRoSW5Nb2RlbChcInNob3dEZXRhaWxzXCIsIFwiaW50ZXJuYWxcIiksIHRydWUpLFxuXHRcdFx0XHRwYXRoSW5Nb2RlbChcIlRfQ09NTU9OX09CSkVDVF9QQUdFX0hJREVfRk9STV9DT05UQUlORVJfREVUQUlMU1wiLCBcInNhcC5mZS5pMThuXCIpLFxuXHRcdFx0XHRwYXRoSW5Nb2RlbChcIlRfQ09NTU9OX09CSkVDVF9QQUdFX1NIT1dfRk9STV9DT05UQUlORVJfREVUQUlMU1wiLCBcInNhcC5mZS5pMThuXCIpXG5cdFx0XHQpXG5cdFx0KSxcblx0XHR0eXBlOiBBY3Rpb25UeXBlLlNob3dGb3JtRGV0YWlscyxcblx0XHRwcmVzczogXCJGb3JtQ29udGFpbmVyUnVudGltZS50b2dnbGVEZXRhaWxzXCJcblx0fTtcblxuXHRpZiAoXG5cdFx0ZmFjZXREZWZpbml0aW9uLmFubm90YXRpb25zPy5VST8uUGFydE9mUHJldmlldz8udmFsdWVPZigpICE9PSBmYWxzZSAmJlxuXHRcdGFGb3JtRWxlbWVudHMuc29tZSgob0Zvcm1FbGVtZW50KSA9PiBvRm9ybUVsZW1lbnQuaXNQYXJ0T2ZQcmV2aWV3ID09PSBmYWxzZSlcblx0KSB7XG5cdFx0aWYgKGFjdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0YWN0aW9ucy5wdXNoKG9BY3Rpb25TaG93RGV0YWlscyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGFjdGlvbnMgPSBbb0FjdGlvblNob3dEZXRhaWxzXTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4ge1xuXHRcdGlkOiBzRm9ybUNvbnRhaW5lcklkLFxuXHRcdGZvcm1FbGVtZW50czogYUZvcm1FbGVtZW50cyxcblx0XHRhbm5vdGF0aW9uUGF0aDogc0Fubm90YXRpb25QYXRoLFxuXHRcdGlzVmlzaWJsZTogaXNWaXNpYmxlLFxuXHRcdGVudGl0eVNldDogc0VudGl0eVNldFBhdGgsXG5cdFx0YWN0aW9uczogYWN0aW9uc1xuXHR9O1xufVxuXG5mdW5jdGlvbiBnZXRGb3JtQ29udGFpbmVyc0ZvckNvbGxlY3Rpb24oXG5cdGZhY2V0RGVmaW5pdGlvbjogQ29sbGVjdGlvbkZhY2V0VHlwZXMsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdGFjdGlvbnM/OiBCYXNlQWN0aW9uW10gfCBDb252ZXJ0ZXJBY3Rpb25bXVxuKTogRm9ybUNvbnRhaW5lcltdIHtcblx0Y29uc3QgZm9ybUNvbnRhaW5lcnM6IEZvcm1Db250YWluZXJbXSA9IFtdO1xuXHRmYWNldERlZmluaXRpb24uRmFjZXRzPy5mb3JFYWNoKChmYWNldCkgPT4ge1xuXHRcdC8vIElnbm9yZSBsZXZlbCAzIGNvbGxlY3Rpb24gZmFjZXRcblx0XHRpZiAoZmFjZXQuJFR5cGUgPT09IFVJQW5ub3RhdGlvblR5cGVzLkNvbGxlY3Rpb25GYWNldCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRmb3JtQ29udGFpbmVycy5wdXNoKGdldEZvcm1Db250YWluZXIoZmFjZXQgYXMgUmVmZXJlbmNlRmFjZXRUeXBlcywgY29udmVydGVyQ29udGV4dCwgYWN0aW9ucykpO1xuXHR9KTtcblx0cmV0dXJuIGZvcm1Db250YWluZXJzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWZlcmVuY2VGYWNldChmYWNldERlZmluaXRpb246IEZhY2V0VHlwZXMpOiBmYWNldERlZmluaXRpb24gaXMgUmVmZXJlbmNlRmFjZXRUeXBlcyB7XG5cdHJldHVybiBmYWNldERlZmluaXRpb24uJFR5cGUgPT09IFVJQW5ub3RhdGlvblR5cGVzLlJlZmVyZW5jZUZhY2V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybURlZmluaXRpb24oXG5cdGZhY2V0RGVmaW5pdGlvbjogRmFjZXRUeXBlcyxcblx0aXNWaXNpYmxlOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbixcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0YWN0aW9ucz86IEJhc2VBY3Rpb25bXSB8IENvbnZlcnRlckFjdGlvbltdXG4pOiBGb3JtRGVmaW5pdGlvbiB7XG5cdHN3aXRjaCAoZmFjZXREZWZpbml0aW9uLiRUeXBlKSB7XG5cdFx0Y2FzZSBVSUFubm90YXRpb25UeXBlcy5Db2xsZWN0aW9uRmFjZXQ6XG5cdFx0XHQvLyBLZWVwIG9ubHkgdmFsaWQgY2hpbGRyZW5cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGlkOiBnZXRGb3JtSUQoZmFjZXREZWZpbml0aW9uKSxcblx0XHRcdFx0dXNlRm9ybUNvbnRhaW5lckxhYmVsczogdHJ1ZSxcblx0XHRcdFx0aGFzRmFjZXRzTm90UGFydE9mUHJldmlldzogZmFjZXREZWZpbml0aW9uLkZhY2V0cy5zb21lKFxuXHRcdFx0XHRcdChjaGlsZEZhY2V0KSA9PiBjaGlsZEZhY2V0LmFubm90YXRpb25zPy5VST8uUGFydE9mUHJldmlldz8udmFsdWVPZigpID09PSBmYWxzZVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRmb3JtQ29udGFpbmVyczogZ2V0Rm9ybUNvbnRhaW5lcnNGb3JDb2xsZWN0aW9uKGZhY2V0RGVmaW5pdGlvbiwgY29udmVydGVyQ29udGV4dCwgYWN0aW9ucyksXG5cdFx0XHRcdGlzVmlzaWJsZTogaXNWaXNpYmxlXG5cdFx0XHR9O1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuUmVmZXJlbmNlRmFjZXQ6XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRpZDogZ2V0Rm9ybUlEKGZhY2V0RGVmaW5pdGlvbiksXG5cdFx0XHRcdHVzZUZvcm1Db250YWluZXJMYWJlbHM6IGZhbHNlLFxuXHRcdFx0XHRoYXNGYWNldHNOb3RQYXJ0T2ZQcmV2aWV3OiBmYWNldERlZmluaXRpb24uYW5ub3RhdGlvbnM/LlVJPy5QYXJ0T2ZQcmV2aWV3Py52YWx1ZU9mKCkgPT09IGZhbHNlLFxuXHRcdFx0XHRmb3JtQ29udGFpbmVyczogW2dldEZvcm1Db250YWluZXIoZmFjZXREZWZpbml0aW9uLCBjb252ZXJ0ZXJDb250ZXh0LCBhY3Rpb25zKV0sXG5cdFx0XHRcdGlzVmlzaWJsZTogaXNWaXNpYmxlXG5cdFx0XHR9O1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgY3JlYXRlIGZvcm0gYmFzZWQgb24gUmVmZXJlbmNlVVJMRmFjZXRcIik7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFxQ1lBLGVBQWU7RUFBQSxXQUFmQSxlQUFlO0lBQWZBLGVBQWU7SUFBZkEsZUFBZTtJQUFmQSxlQUFlO0VBQUEsR0FBZkEsZUFBZSxLQUFmQSxlQUFlO0VBQUE7RUF5QzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxTQUFTQyw4QkFBOEIsR0FBc0I7SUFDNUQsT0FBTztNQUNOQyxhQUFhLEVBQUU7SUFDaEIsQ0FBQztFQUNGO0VBRUEsU0FBU0Msb0JBQW9CLENBQUNDLEtBQTZCLEVBQUVDLGlCQUFpQyxFQUFXO0lBQUE7SUFDeEc7SUFDQSxPQUNDLENBQUFBLGlCQUFpQixhQUFqQkEsaUJBQWlCLHVCQUFqQkEsaUJBQWlCLENBQUVDLE9BQU8sRUFBRSxNQUFLLEtBQUssSUFDdEMsdUJBQUFGLEtBQUssQ0FBQ0csV0FBVyxnRkFBakIsbUJBQW1CQyxFQUFFLDBEQUFyQixzQkFBdUJDLGFBQWEsTUFBS0MsU0FBUyxJQUNsRCx3QkFBQU4sS0FBSyxDQUFDRyxXQUFXLGlGQUFqQixvQkFBbUJDLEVBQUUsMERBQXJCLHNCQUF1QkMsYUFBYSxDQUFDSCxPQUFPLEVBQUUsTUFBSyxJQUFJO0VBRXpEO0VBRUEsU0FBU0ssOEJBQThCLENBQUNDLGVBQW9DLEVBQUVDLGdCQUFrQyxFQUEyQjtJQUMxSSxNQUFNQyxZQUFxQyxHQUFHLEVBQUU7SUFDaEQsTUFBTUMsY0FBYyxHQUFHRixnQkFBZ0IsQ0FBQ0csdUJBQXVCLENBQUNKLGVBQWUsQ0FBQ0ssTUFBTSxDQUFDQyxLQUFLLENBQUM7SUFDN0YsTUFBTUMsY0FBaUUsR0FBR0osY0FBYyxDQUFDSyxVQUFVO0lBQ25HUCxnQkFBZ0IsR0FBR0UsY0FBYyxDQUFDRixnQkFBZ0I7SUFFbEQsU0FBU1EsNEJBQTRCLENBQUNqQixLQUE2QixFQUFFQyxpQkFBNEMsRUFBRTtNQUFBO01BQ2xILE1BQU1pQiw0QkFBNEIsR0FBR0MscUJBQXFCLENBQUNWLGdCQUFnQixFQUFFVCxLQUFLLENBQUM7TUFDbkYsSUFDQ0EsS0FBSyxDQUFDb0IsS0FBSyxvREFBeUMsSUFDcERwQixLQUFLLENBQUNvQixLQUFLLG1FQUF3RCxJQUNuRSxDQUFDQyxtQ0FBbUMsQ0FBQ3JCLEtBQUssQ0FBQyxJQUMzQyx3QkFBQUEsS0FBSyxDQUFDRyxXQUFXLGlGQUFqQixvQkFBbUJDLEVBQUUsb0ZBQXJCLHNCQUF1QmtCLE1BQU0sMkRBQTdCLHVCQUErQnBCLE9BQU8sRUFBRSxNQUFLLElBQUksRUFDaEQ7UUFDRCxNQUFNcUIsV0FBVyxHQUFHO1VBQ25CQyxHQUFHLEVBQUVDLFNBQVMsQ0FBQ0Msd0JBQXdCLENBQUMxQixLQUFLLENBQUM7VUFDOUMyQixJQUFJLEVBQUUvQixlQUFlLENBQUNnQyxVQUFVO1VBQ2hDQyxjQUFjLEVBQUcsR0FBRXBCLGdCQUFnQixDQUFDcUIsK0JBQStCLENBQUM5QixLQUFLLENBQUMrQixrQkFBa0IsQ0FBRSxHQUFFO1VBQ2hHQyxrQkFBa0IsRUFBRWQsNEJBQTRCO1VBQ2hEZSxhQUFhLEVBQUVwQyw4QkFBOEIsRUFBRTtVQUMvQ3FDLGVBQWUsRUFBRW5DLG9CQUFvQixDQUFDQyxLQUFLLEVBQUVDLGlCQUFpQjtRQUMvRCxDQUFDO1FBQ0QsSUFDQ0QsS0FBSyxDQUFDb0IsS0FBSyxLQUFLLG1EQUFtRCxJQUNuRXBCLEtBQUssQ0FBQ2EsTUFBTSxDQUFDc0IsT0FBTyxDQUFDZixLQUFLLEtBQUssZ0RBQWdELEVBQzlFO1VBQ0QsTUFBTWdCLGVBQWUsR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQUN0QyxLQUFLLENBQUNhLE1BQU0sQ0FBQ3NCLE9BQU8sQ0FBQ0ksSUFBSSxDQUFDLENBQUNDLE1BQU0sQ0FBRUMsY0FBc0IsSUFDOUZBLGNBQWMsYUFBZEEsY0FBYyx1QkFBZEEsY0FBYyxDQUFFQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQ3ZDO1VBQ0FuQixXQUFXLENBQTJCYSxlQUFlLEdBQUdBLGVBQWUsQ0FBQ08sR0FBRyxDQUFFQyxzQkFBc0IsSUFBSztZQUN4RyxPQUFPO2NBQUVaLGtCQUFrQixFQUFFYixxQkFBcUIsQ0FBQ1YsZ0JBQWdCLEVBQUVtQyxzQkFBc0I7WUFBRSxDQUFDO1VBQy9GLENBQUMsQ0FBQztRQUNIO1FBQ0FsQyxZQUFZLENBQUNtQyxJQUFJLENBQUN0QixXQUFXLENBQUM7TUFDL0I7SUFDRDtJQUVBLFFBQVFSLGNBQWMsYUFBZEEsY0FBYyx1QkFBZEEsY0FBYyxDQUFFK0IsSUFBSTtNQUMzQjtRQUNDL0IsY0FBYyxDQUFDd0IsSUFBSSxDQUFDUSxPQUFPLENBQUUvQyxLQUFLO1VBQUE7VUFBQSxPQUFLaUIsNEJBQTRCLENBQUNqQixLQUFLLDJCQUFFUSxlQUFlLENBQUNMLFdBQVcsb0ZBQTNCLHNCQUE2QkMsRUFBRSwyREFBL0IsdUJBQWlDQyxhQUFhLENBQUM7UUFBQSxFQUFDO1FBQzNIO01BQ0Q7UUFDQ1UsY0FBYyxDQUFDZ0MsT0FBTyxDQUFFL0MsS0FBSztVQUFBO1VBQUEsT0FBS2lCLDRCQUE0QixDQUFDakIsS0FBSyw0QkFBRVEsZUFBZSxDQUFDTCxXQUFXLHFGQUEzQix1QkFBNkJDLEVBQUUsMkRBQS9CLHVCQUFpQ0MsYUFBYSxDQUFDO1FBQUEsRUFBQztRQUN0SDtNQUNEO1FBQ0NLLFlBQVksQ0FBQ21DLElBQUksQ0FBQztVQUNqQjtVQUNBckIsR0FBRyxFQUFHLGNBQWFULGNBQWMsQ0FBQ2lDLFNBQVMsR0FBR2pDLGNBQWMsQ0FBQ2lDLFNBQVMsR0FBRyxFQUFHLEVBQUM7VUFDN0VyQixJQUFJLEVBQUUvQixlQUFlLENBQUNnQyxVQUFVO1VBQ2hDQyxjQUFjLEVBQUcsR0FBRXBCLGdCQUFnQixDQUFDcUIsK0JBQStCLENBQUNmLGNBQWMsQ0FBQ2dCLGtCQUFrQixDQUFFO1FBQ3hHLENBQUMsQ0FBQztRQUNGO01BQ0Q7UUFDQ3JCLFlBQVksQ0FBQ21DLElBQUksQ0FBQztVQUNqQjtVQUNBckIsR0FBRyxFQUFHLFlBQVdULGNBQWMsQ0FBQ2lDLFNBQVMsR0FBR2pDLGNBQWMsQ0FBQ2lDLFNBQVMsR0FBRyxFQUFHLEVBQUM7VUFDM0VyQixJQUFJLEVBQUUvQixlQUFlLENBQUNnQyxVQUFVO1VBQ2hDQyxjQUFjLEVBQUcsR0FBRXBCLGdCQUFnQixDQUFDcUIsK0JBQStCLENBQUNmLGNBQWMsQ0FBQ2dCLGtCQUFrQixDQUFFO1FBQ3hHLENBQUMsQ0FBQztRQUNGO01BQ0Q7UUFDQztJQUFNO0lBRVIsT0FBT3JCLFlBQVk7RUFDcEI7RUFFTyxTQUFTdUMsMkJBQTJCLENBQzFDekMsZUFBb0MsRUFDcENDLGdCQUFrQyxFQUNFO0lBQ3BDLE1BQU15QyxlQUFlLEdBQUd6QyxnQkFBZ0IsQ0FBQzBDLGtCQUFrQixFQUFFO0lBQzdELE1BQU1DLHFCQUFnRCxHQUFHRixlQUFlLENBQUNHLGdCQUFnQixDQUFDN0MsZUFBZSxDQUFDSyxNQUFNLENBQUNDLEtBQUssQ0FBQztJQUN2SCxNQUFNSixZQUErQyxHQUFHLENBQUMsQ0FBQztJQUMxRCxJQUFJMEMscUJBQXFCLGFBQXJCQSxxQkFBcUIsZUFBckJBLHFCQUFxQixDQUFFRSxNQUFNLEVBQUU7TUFDbENqQixNQUFNLENBQUNrQixJQUFJLENBQUNILHFCQUFxQixhQUFyQkEscUJBQXFCLHVCQUFyQkEscUJBQXFCLENBQUVFLE1BQU0sQ0FBQyxDQUFDUCxPQUFPLENBQUVTLE9BQU8sSUFBSztRQUMvRDlDLFlBQVksQ0FBQzhDLE9BQU8sQ0FBQyxHQUFHO1VBQ3ZCaEMsR0FBRyxFQUFFZ0MsT0FBTztVQUNaQyxFQUFFLEVBQUcsc0JBQXFCRCxPQUFRLEVBQUM7VUFDbkM3QixJQUFJLEVBQUV5QixxQkFBcUIsQ0FBQ0UsTUFBTSxDQUFDRSxPQUFPLENBQUMsQ0FBQzdCLElBQUksSUFBSS9CLGVBQWUsQ0FBQzhELE9BQU87VUFDM0VDLFFBQVEsRUFBRVAscUJBQXFCLENBQUNFLE1BQU0sQ0FBQ0UsT0FBTyxDQUFDLENBQUNHLFFBQVE7VUFDeERDLEtBQUssRUFBRVIscUJBQXFCLENBQUNFLE1BQU0sQ0FBQ0UsT0FBTyxDQUFDLENBQUNJLEtBQUs7VUFDbERDLFFBQVEsRUFBRVQscUJBQXFCLENBQUNFLE1BQU0sQ0FBQ0UsT0FBTyxDQUFDLENBQUNLLFFBQVEsSUFBSTtZQUMzREMsU0FBUyxFQUFFQyxTQUFTLENBQUNDO1VBQ3RCLENBQUM7VUFDRC9CLGFBQWEsRUFBRTtZQUNkLEdBQUdwQyw4QkFBOEIsRUFBRTtZQUNuQyxHQUFHdUQscUJBQXFCLENBQUNFLE1BQU0sQ0FBQ0UsT0FBTyxDQUFDLENBQUN2QjtVQUMxQztRQUNELENBQUM7TUFDRixDQUFDLENBQUM7SUFDSDtJQUNBLE9BQU92QixZQUFZO0VBQ3BCO0VBQUM7RUFFTSxTQUFTMkMsZ0JBQWdCLENBQy9CN0MsZUFBb0MsRUFDcENDLGdCQUFrQyxFQUNsQ3dELE9BQTBDLEVBQzFCO0lBQUE7SUFDaEIsTUFBTUMsZ0JBQWdCLEdBQUdDLHFCQUFxQixDQUFDM0QsZUFBZSxDQUFXO0lBQ3pFLE1BQU00RCxlQUFlLEdBQUczRCxnQkFBZ0IsQ0FBQ3FCLCtCQUErQixDQUFDdEIsZUFBZSxDQUFDdUIsa0JBQWtCLENBQUM7SUFDNUcsTUFBTXBCLGNBQWMsR0FBR0YsZ0JBQWdCLENBQUNHLHVCQUF1QixDQUFDSixlQUFlLENBQUNLLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDO0lBQzdGLE1BQU11RCxTQUFTLEdBQUdDLGlCQUFpQixDQUFDQyxHQUFHLENBQUNDLEtBQUssQ0FBQyxJQUFJLEVBQUVDLDJCQUEyQiwyQkFBQ2pFLGVBQWUsQ0FBQ0wsV0FBVyxxRkFBM0IsdUJBQTZCQyxFQUFFLDJEQUEvQix1QkFBaUNrQixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0gsSUFBSW9ELGNBQXVCO0lBQzNCO0lBQ0EsSUFDQy9ELGNBQWMsQ0FBQ0YsZ0JBQWdCLENBQUNrRSxZQUFZLEVBQUUsSUFDOUNoRSxjQUFjLENBQUNGLGdCQUFnQixDQUFDa0UsWUFBWSxFQUFFLEtBQUtsRSxnQkFBZ0IsQ0FBQ2tFLFlBQVksRUFBRSxFQUNqRjtNQUNERCxjQUFjLEdBQUdFLHNCQUFzQixDQUFDakUsY0FBYyxDQUFDRixnQkFBZ0IsQ0FBQ29FLHNCQUFzQixFQUFFLENBQUM7SUFDbEcsQ0FBQyxNQUFNLElBQUksMEJBQUFsRSxjQUFjLENBQUNGLGdCQUFnQixDQUFDb0Usc0JBQXNCLEVBQUUsQ0FBQ0MsWUFBWSwwREFBckUsc0JBQXVFQyxjQUFjLE1BQUssSUFBSSxFQUFFO01BQzFHTCxjQUFjLEdBQUdNLG1CQUFtQixDQUFDckUsY0FBYyxDQUFDRixnQkFBZ0IsQ0FBQ29FLHNCQUFzQixFQUFFLEVBQUUsS0FBSyxDQUFDO0lBQ3RHLENBQUMsTUFBTSxJQUNObEUsY0FBYyxDQUFDRixnQkFBZ0IsQ0FBQ2tFLFlBQVksRUFBRSxJQUM5QyxDQUFDRCxjQUFjLElBQ2ZPLFdBQVcsQ0FBQ0MsV0FBVyxDQUFDdkUsY0FBYyxDQUFDRixnQkFBZ0IsQ0FBQ2tFLFlBQVksRUFBRSxDQUFDLEVBQ3RFO01BQUE7TUFDREQsY0FBYyw2QkFBRy9ELGNBQWMsQ0FBQ0YsZ0JBQWdCLENBQUNrRSxZQUFZLEVBQUUsMkRBQTlDLHVCQUFnRDVDLGtCQUE0QjtJQUM5RjtJQUNBLE1BQU1vRCxhQUFhLEdBQUdDLG9CQUFvQixDQUN6QzdFLDhCQUE4QixDQUFDQyxlQUFlLEVBQUVDLGdCQUFnQixDQUFDLEVBQ2pFd0MsMkJBQTJCLENBQUN6QyxlQUFlLEVBQUVDLGdCQUFnQixDQUFDLEVBQzlEO01BQUV3QixhQUFhLEVBQUVvRCxZQUFZLENBQUNDO0lBQVUsQ0FBQyxDQUN6QztJQUVEckIsT0FBTyxHQUFHQSxPQUFPLEtBQUszRCxTQUFTLEdBQUcyRCxPQUFPLENBQUN6QixNQUFNLENBQUUrQyxNQUFNLElBQUtBLE1BQU0sQ0FBQ0MsU0FBUyxJQUFJaEYsZUFBZSxDQUFDdUIsa0JBQWtCLENBQUMsR0FBRyxFQUFFO0lBQ3pILElBQUlrQyxPQUFPLENBQUN3QixNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ3pCeEIsT0FBTyxHQUFHM0QsU0FBUztJQUNwQjtJQUVBLE1BQU1vRixrQkFBOEIsR0FBRztNQUN0Q2pDLEVBQUUsRUFBRWtDLDZCQUE2QixDQUFDekIsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUM7TUFDdEUxQyxHQUFHLEVBQUUsaUNBQWlDO01BQ3RDb0UsSUFBSSxFQUFFdEIsaUJBQWlCLENBQ3RCdUIsTUFBTSxDQUNMckIsS0FBSyxDQUFDc0IsV0FBVyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsRUFDbkRBLFdBQVcsQ0FBQyxrREFBa0QsRUFBRSxhQUFhLENBQUMsRUFDOUVBLFdBQVcsQ0FBQyxrREFBa0QsRUFBRSxhQUFhLENBQUMsQ0FDOUUsQ0FDRDtNQUNEbkUsSUFBSSxFQUFFb0UsVUFBVSxDQUFDQyxlQUFlO01BQ2hDQyxLQUFLLEVBQUU7SUFDUixDQUFDO0lBRUQsSUFDQywyQkFBQXpGLGVBQWUsQ0FBQ0wsV0FBVyxxRkFBM0IsdUJBQTZCQyxFQUFFLHFGQUEvQix1QkFBaUNDLGFBQWEsMkRBQTlDLHVCQUFnREgsT0FBTyxFQUFFLE1BQUssS0FBSyxJQUNuRWlGLGFBQWEsQ0FBQ2UsSUFBSSxDQUFFQyxZQUFZLElBQUtBLFlBQVksQ0FBQ2pFLGVBQWUsS0FBSyxLQUFLLENBQUMsRUFDM0U7TUFDRCxJQUFJK0IsT0FBTyxLQUFLM0QsU0FBUyxFQUFFO1FBQzFCMkQsT0FBTyxDQUFDcEIsSUFBSSxDQUFDNkMsa0JBQWtCLENBQUM7TUFDakMsQ0FBQyxNQUFNO1FBQ056QixPQUFPLEdBQUcsQ0FBQ3lCLGtCQUFrQixDQUFDO01BQy9CO0lBQ0Q7SUFFQSxPQUFPO01BQ05qQyxFQUFFLEVBQUVTLGdCQUFnQjtNQUNwQnhELFlBQVksRUFBRXlFLGFBQWE7TUFDM0J0RCxjQUFjLEVBQUV1QyxlQUFlO01BQy9CQyxTQUFTLEVBQUVBLFNBQVM7TUFDcEIrQixTQUFTLEVBQUUxQixjQUFjO01BQ3pCVCxPQUFPLEVBQUVBO0lBQ1YsQ0FBQztFQUNGO0VBQUM7RUFFRCxTQUFTb0MsOEJBQThCLENBQ3RDN0YsZUFBcUMsRUFDckNDLGdCQUFrQyxFQUNsQ3dELE9BQTBDLEVBQ3hCO0lBQUE7SUFDbEIsTUFBTXFDLGNBQStCLEdBQUcsRUFBRTtJQUMxQyx5QkFBQTlGLGVBQWUsQ0FBQytGLE1BQU0sMERBQXRCLHNCQUF3QnhELE9BQU8sQ0FBRXlELEtBQUssSUFBSztNQUMxQztNQUNBLElBQUlBLEtBQUssQ0FBQ3BGLEtBQUssaURBQXNDLEVBQUU7UUFDdEQ7TUFDRDtNQUNBa0YsY0FBYyxDQUFDekQsSUFBSSxDQUFDUSxnQkFBZ0IsQ0FBQ21ELEtBQUssRUFBeUIvRixnQkFBZ0IsRUFBRXdELE9BQU8sQ0FBQyxDQUFDO0lBQy9GLENBQUMsQ0FBQztJQUNGLE9BQU9xQyxjQUFjO0VBQ3RCO0VBRU8sU0FBU0csZ0JBQWdCLENBQUNqRyxlQUEyQixFQUEwQztJQUNyRyxPQUFPQSxlQUFlLENBQUNZLEtBQUssZ0RBQXFDO0VBQ2xFO0VBQUM7RUFFTSxTQUFTc0Ysb0JBQW9CLENBQ25DbEcsZUFBMkIsRUFDM0I2RCxTQUEyQyxFQUMzQzVELGdCQUFrQyxFQUNsQ3dELE9BQTBDLEVBQ3pCO0lBQUE7SUFDakIsUUFBUXpELGVBQWUsQ0FBQ1ksS0FBSztNQUM1QjtRQUNDO1FBQ0EsT0FBTztVQUNOcUMsRUFBRSxFQUFFa0QsU0FBUyxDQUFDbkcsZUFBZSxDQUFDO1VBQzlCb0csc0JBQXNCLEVBQUUsSUFBSTtVQUM1QkMseUJBQXlCLEVBQUVyRyxlQUFlLENBQUMrRixNQUFNLENBQUNMLElBQUksQ0FDcERZLFVBQVU7WUFBQTtZQUFBLE9BQUssMEJBQUFBLFVBQVUsQ0FBQzNHLFdBQVcsb0ZBQXRCLHNCQUF3QkMsRUFBRSxxRkFBMUIsdUJBQTRCQyxhQUFhLDJEQUF6Qyx1QkFBMkNILE9BQU8sRUFBRSxNQUFLLEtBQUs7VUFBQSxFQUM5RTtVQUNEb0csY0FBYyxFQUFFRCw4QkFBOEIsQ0FBQzdGLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUV3RCxPQUFPLENBQUM7VUFDMUZJLFNBQVMsRUFBRUE7UUFDWixDQUFDO01BQ0Y7UUFDQyxPQUFPO1VBQ05aLEVBQUUsRUFBRWtELFNBQVMsQ0FBQ25HLGVBQWUsQ0FBQztVQUM5Qm9HLHNCQUFzQixFQUFFLEtBQUs7VUFDN0JDLHlCQUF5QixFQUFFLDRCQUFBckcsZUFBZSxDQUFDTCxXQUFXLHVGQUEzQix3QkFBNkJDLEVBQUUsdUZBQS9CLHdCQUFpQ0MsYUFBYSw0REFBOUMsd0JBQWdESCxPQUFPLEVBQUUsTUFBSyxLQUFLO1VBQzlGb0csY0FBYyxFQUFFLENBQUNqRCxnQkFBZ0IsQ0FBQzdDLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUV3RCxPQUFPLENBQUMsQ0FBQztVQUM5RUksU0FBUyxFQUFFQTtRQUNaLENBQUM7TUFDRjtRQUNDLE1BQU0sSUFBSTBDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQztJQUFDO0VBRXBFO0VBQUM7RUFBQTtBQUFBIn0=
|
|
229
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGb3JtRWxlbWVudFR5cGUiLCJnZXREZWZhdWx0Rm9ybWF0T3B0aW9uc0ZvckZvcm0iLCJ0ZXh0TGluZXNFZGl0IiwiaXNGaWVsZFBhcnRPZlByZXZpZXciLCJmaWVsZCIsImZvcm1QYXJ0T2ZQcmV2aWV3IiwidmFsdWVPZiIsImFubm90YXRpb25zIiwiVUkiLCJQYXJ0T2ZQcmV2aWV3IiwidW5kZWZpbmVkIiwiZ2V0Rm9ybUVsZW1lbnRzRnJvbUFubm90YXRpb25zIiwiZmFjZXREZWZpbml0aW9uIiwiY29udmVydGVyQ29udGV4dCIsImZvcm1FbGVtZW50cyIsInJlc29sdmVkVGFyZ2V0IiwiZ2V0RW50aXR5VHlwZUFubm90YXRpb24iLCJUYXJnZXQiLCJ2YWx1ZSIsImZvcm1Bbm5vdGF0aW9uIiwiYW5ub3RhdGlvbiIsImdldERhdGFGaWVsZHNGcm9tQW5ub3RhdGlvbnMiLCJzZW1hbnRpY09iamVjdEFubm90YXRpb25QYXRoIiwiZ2V0U2VtYW50aWNPYmplY3RQYXRoIiwiJFR5cGUiLCJpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbiIsIkhpZGRlbiIsImZvcm1FbGVtZW50Iiwia2V5IiwiS2V5SGVscGVyIiwiZ2VuZXJhdGVLZXlGcm9tRGF0YUZpZWxkIiwidHlwZSIsIkFubm90YXRpb24iLCJhbm5vdGF0aW9uUGF0aCIsImdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJzZW1hbnRpY09iamVjdFBhdGgiLCJmb3JtYXRPcHRpb25zIiwiaXNQYXJ0T2ZQcmV2aWV3IiwiJHRhcmdldCIsImNvbm5lY3RlZEZpZWxkcyIsIk9iamVjdCIsInZhbHVlcyIsIkRhdGEiLCJmaWx0ZXIiLCJjb25uZWN0ZWRGaWVsZCIsImhhc093blByb3BlcnR5IiwibWFwIiwiY29ubm5lY3RlZEZpZWxkRWxlbWVudCIsInB1c2giLCJ0ZXJtIiwiZm9yRWFjaCIsInF1YWxpZmllciIsImdldEZvcm1FbGVtZW50c0Zyb21NYW5pZmVzdCIsIm1hbmlmZXN0V3JhcHBlciIsImdldE1hbmlmZXN0V3JhcHBlciIsIm1hbmlmZXN0Rm9ybUNvbnRhaW5lciIsImdldEZvcm1Db250YWluZXIiLCJmaWVsZHMiLCJrZXlzIiwiZmllbGRJZCIsImlkIiwiRGVmYXVsdCIsInRlbXBsYXRlIiwibGFiZWwiLCJwb3NpdGlvbiIsInBsYWNlbWVudCIsIlBsYWNlbWVudCIsIkFmdGVyIiwiYWN0aW9ucyIsInNGb3JtQ29udGFpbmVySWQiLCJjcmVhdGVJZEZvckFubm90YXRpb24iLCJzQW5ub3RhdGlvblBhdGgiLCJpc1Zpc2libGUiLCJjb21waWxlRXhwcmVzc2lvbiIsIm5vdCIsImVxdWFsIiwiZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIiwic0VudGl0eVNldFBhdGgiLCJnZXRFbnRpdHlTZXQiLCJnZXRUYXJnZXRFbnRpdHlTZXRQYXRoIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsInRhcmdldE9iamVjdCIsImNvbnRhaW5zVGFyZ2V0IiwiZ2V0VGFyZ2V0T2JqZWN0UGF0aCIsIk1vZGVsSGVscGVyIiwiaXNTaW5nbGV0b24iLCJhRm9ybUVsZW1lbnRzIiwiaW5zZXJ0Q3VzdG9tRWxlbWVudHMiLCJPdmVycmlkZVR5cGUiLCJvdmVyd3JpdGUiLCJhY3Rpb24iLCJmYWNldE5hbWUiLCJsZW5ndGgiLCJvQWN0aW9uU2hvd0RldGFpbHMiLCJnZXRGb3JtU3RhbmRhcmRBY3Rpb25CdXR0b25JRCIsInRleHQiLCJpZkVsc2UiLCJwYXRoSW5Nb2RlbCIsIkFjdGlvblR5cGUiLCJTaG93Rm9ybURldGFpbHMiLCJwcmVzcyIsInNvbWUiLCJvRm9ybUVsZW1lbnQiLCJlbnRpdHlTZXQiLCJnZXRGb3JtQ29udGFpbmVyc0ZvckNvbGxlY3Rpb24iLCJmb3JtQ29udGFpbmVycyIsIkZhY2V0cyIsImZhY2V0IiwiaXNSZWZlcmVuY2VGYWNldCIsImNyZWF0ZUZvcm1EZWZpbml0aW9uIiwiZ2V0Rm9ybUlEIiwidXNlRm9ybUNvbnRhaW5lckxhYmVscyIsImhhc0ZhY2V0c05vdFBhcnRPZlByZXZpZXciLCJjaGlsZEZhY2V0IiwiRXJyb3IiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZvcm0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb250YWN0IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9Db21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgeyBDb21tdW5pY2F0aW9uQW5ub3RhdGlvblRlcm1zIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9Db21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvbGxlY3Rpb25GYWNldFR5cGVzLFxuXHREYXRhRmllbGRBYnN0cmFjdFR5cGVzLFxuXHREYXRhUG9pbnQsXG5cdEZhY2V0VHlwZXMsXG5cdEZpZWxkR3JvdXAsXG5cdElkZW50aWZpY2F0aW9uLFxuXHRQYXJ0T2ZQcmV2aWV3LFxuXHRSZWZlcmVuY2VGYWNldFR5cGVzXG59IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IFVJQW5ub3RhdGlvblRlcm1zLCBVSUFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IGdldFNlbWFudGljT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2Fubm90YXRpb25zL0RhdGFGaWVsZFwiO1xuaW1wb3J0IHR5cGUgeyBCYXNlQWN0aW9uLCBDb252ZXJ0ZXJBY3Rpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9jb250cm9scy9Db21tb24vQWN0aW9uXCI7XG5pbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uLCBlcXVhbCwgZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uLCBpZkVsc2UsIG5vdCwgcGF0aEluTW9kZWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IE1vZGVsSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgeyBnZXRUYXJnZXRFbnRpdHlTZXRQYXRoLCBnZXRUYXJnZXRPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgY3JlYXRlSWRGb3JBbm5vdGF0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbmltcG9ydCB0eXBlIENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4uLy4uL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlndXJhYmxlT2JqZWN0LCBDdXN0b21FbGVtZW50IH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvQ29uZmlndXJhYmxlT2JqZWN0XCI7XG5pbXBvcnQgeyBpbnNlcnRDdXN0b21FbGVtZW50cywgT3ZlcnJpZGVUeXBlLCBQbGFjZW1lbnQgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9Db25maWd1cmFibGVPYmplY3RcIjtcbmltcG9ydCB7IGlzUmVmZXJlbmNlUHJvcGVydHlTdGF0aWNhbGx5SGlkZGVuIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvRGF0YUZpZWxkSGVscGVyXCI7XG5pbXBvcnQgeyBnZXRGb3JtSUQsIGdldEZvcm1TdGFuZGFyZEFjdGlvbkJ1dHRvbklEIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvSURcIjtcbmltcG9ydCB7IEtleUhlbHBlciB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL0tleVwiO1xuaW1wb3J0IHR5cGUgeyBGb3JtYXRPcHRpb25zVHlwZSwgRm9ybU1hbmlmZXN0Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi8uLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBBY3Rpb25UeXBlIH0gZnJvbSBcIi4uLy4uL01hbmlmZXN0U2V0dGluZ3NcIjtcblxuZXhwb3J0IHR5cGUgRm9ybURlZmluaXRpb24gPSB7XG5cdGlkOiBzdHJpbmc7XG5cdHVzZUZvcm1Db250YWluZXJMYWJlbHM6IGJvb2xlYW47XG5cdGhhc0ZhY2V0c05vdFBhcnRPZlByZXZpZXc6IGJvb2xlYW47XG5cdGZvcm1Db250YWluZXJzOiBGb3JtQ29udGFpbmVyW107XG5cdGlzVmlzaWJsZTogQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG59O1xuXG5leHBvcnQgZW51bSBGb3JtRWxlbWVudFR5cGUge1xuXHREZWZhdWx0ID0gXCJEZWZhdWx0XCIsXG5cdFNsb3QgPSBcIlNsb3RcIixcblx0QW5ub3RhdGlvbiA9IFwiQW5ub3RhdGlvblwiXG59XG5cbmV4cG9ydCB0eXBlIEJhc2VGb3JtRWxlbWVudCA9IENvbmZpZ3VyYWJsZU9iamVjdCAmIHtcblx0aWQ/OiBzdHJpbmc7XG5cdHR5cGU6IEZvcm1FbGVtZW50VHlwZTtcblx0bGFiZWw/OiBzdHJpbmc7XG5cdHZpc2libGU/OiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0Zm9ybWF0T3B0aW9ucz86IEZvcm1hdE9wdGlvbnNUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgQW5ub3RhdGlvbkZvcm1FbGVtZW50ID0gQmFzZUZvcm1FbGVtZW50ICYge1xuXHRpZFByZWZpeD86IHN0cmluZztcblx0YW5ub3RhdGlvblBhdGg/OiBzdHJpbmc7XG5cdGlzVmFsdWVNdWx0aWxpbmVUZXh0PzogYm9vbGVhbjtcblx0c2VtYW50aWNPYmplY3RQYXRoPzogc3RyaW5nO1xuXHRjb25uZWN0ZWRGaWVsZHM/OiB7IHNlbWFudGljT2JqZWN0UGF0aD86IHN0cmluZyB9W107XG5cdGlzUGFydE9mUHJldmlldz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21Gb3JtRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8XG5cdEJhc2VGb3JtRWxlbWVudCAmIHtcblx0XHR0eXBlOiBGb3JtRWxlbWVudFR5cGU7XG5cdFx0dGVtcGxhdGU6IHN0cmluZztcblx0fVxuPjtcblxuZXhwb3J0IHR5cGUgRm9ybUVsZW1lbnQgPSBDdXN0b21Gb3JtRWxlbWVudCB8IEFubm90YXRpb25Gb3JtRWxlbWVudDtcblxuZXhwb3J0IHR5cGUgRm9ybUNvbnRhaW5lciA9IHtcblx0aWQ/OiBzdHJpbmc7XG5cdGZvcm1FbGVtZW50czogRm9ybUVsZW1lbnRbXTtcblx0YW5ub3RhdGlvblBhdGg6IHN0cmluZztcblx0aXNWaXNpYmxlOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0ZW50aXR5U2V0Pzogc3RyaW5nO1xuXHRhY3Rpb25zPzogQ29udmVydGVyQWN0aW9uW10gfCBCYXNlQWN0aW9uW107XG59O1xuXG4vKipcbiAqIFJldHVybnMgZGVmYXVsdCBmb3JtYXQgb3B0aW9ucyBmb3IgdGV4dCBmaWVsZHMgb24gYSBmb3JtLlxuICpcbiAqIEByZXR1cm5zIENvbGxlY3Rpb24gb2YgZm9ybWF0IG9wdGlvbnMgd2l0aCBkZWZhdWx0IHZhbHVlc1xuICovXG5mdW5jdGlvbiBnZXREZWZhdWx0Rm9ybWF0T3B0aW9uc0ZvckZvcm0oKTogRm9ybWF0T3B0aW9uc1R5cGUge1xuXHRyZXR1cm4ge1xuXHRcdHRleHRMaW5lc0VkaXQ6IDRcblx0fTtcbn1cblxuZnVuY3Rpb24gaXNGaWVsZFBhcnRPZlByZXZpZXcoZmllbGQ6IERhdGFGaWVsZEFic3RyYWN0VHlwZXMsIGZvcm1QYXJ0T2ZQcmV2aWV3PzogUGFydE9mUHJldmlldyk6IGJvb2xlYW4ge1xuXHQvLyBCb3RoIGVhY2ggZm9ybSBhbmQgZmllbGQgY2FuIGhhdmUgdGhlIFBhcnRPZlByZXZpZXcgYW5ub3RhdGlvbi4gT25seSBpZiB0aGUgZm9ybSBpcyBub3QgaGlkZGVuIChub3QgcGFydE9mUHJldmlldykgd2UgYWxsb3cgdG9nZ2xpbmcgb24gZmllbGQgbGV2ZWxcblx0cmV0dXJuIChcblx0XHRmb3JtUGFydE9mUHJldmlldz8udmFsdWVPZigpID09PSBmYWxzZSB8fFxuXHRcdGZpZWxkLmFubm90YXRpb25zPy5VST8uUGFydE9mUHJldmlldyA9PT0gdW5kZWZpbmVkIHx8XG5cdFx0ZmllbGQuYW5ub3RhdGlvbnM/LlVJPy5QYXJ0T2ZQcmV2aWV3LnZhbHVlT2YoKSA9PT0gdHJ1ZVxuXHQpO1xufVxuXG5mdW5jdGlvbiBnZXRGb3JtRWxlbWVudHNGcm9tQW5ub3RhdGlvbnMoZmFjZXREZWZpbml0aW9uOiBSZWZlcmVuY2VGYWNldFR5cGVzLCBjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0KTogQW5ub3RhdGlvbkZvcm1FbGVtZW50W10ge1xuXHRjb25zdCBmb3JtRWxlbWVudHM6IEFubm90YXRpb25Gb3JtRWxlbWVudFtdID0gW107XG5cdGNvbnN0IHJlc29sdmVkVGFyZ2V0ID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlQW5ub3RhdGlvbihmYWNldERlZmluaXRpb24uVGFyZ2V0LnZhbHVlKTtcblx0Y29uc3QgZm9ybUFubm90YXRpb246IElkZW50aWZpY2F0aW9uIHwgRmllbGRHcm91cCB8IENvbnRhY3QgfCBEYXRhUG9pbnQgPSByZXNvbHZlZFRhcmdldC5hbm5vdGF0aW9uO1xuXHRjb252ZXJ0ZXJDb250ZXh0ID0gcmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dDtcblxuXHRmdW5jdGlvbiBnZXREYXRhRmllbGRzRnJvbUFubm90YXRpb25zKGZpZWxkOiBEYXRhRmllbGRBYnN0cmFjdFR5cGVzLCBmb3JtUGFydE9mUHJldmlldzogUGFydE9mUHJldmlldyB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IHNlbWFudGljT2JqZWN0QW5ub3RhdGlvblBhdGggPSBnZXRTZW1hbnRpY09iamVjdFBhdGgoY29udmVydGVyQ29udGV4dCwgZmllbGQpO1xuXHRcdGlmIChcblx0XHRcdGZpZWxkLiRUeXBlICE9PSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRGb3JBY3Rpb24gJiZcblx0XHRcdGZpZWxkLiRUeXBlICE9PSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gJiZcblx0XHRcdCFpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbihmaWVsZCkgJiZcblx0XHRcdGZpZWxkLmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgIT09IHRydWVcblx0XHQpIHtcblx0XHRcdGNvbnN0IGZvcm1FbGVtZW50ID0ge1xuXHRcdFx0XHRrZXk6IEtleUhlbHBlci5nZW5lcmF0ZUtleUZyb21EYXRhRmllbGQoZmllbGQpLFxuXHRcdFx0XHR0eXBlOiBGb3JtRWxlbWVudFR5cGUuQW5ub3RhdGlvbixcblx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IGAke2NvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0QmFzZWRBbm5vdGF0aW9uUGF0aChmaWVsZC5mdWxseVF1YWxpZmllZE5hbWUpfS9gLFxuXHRcdFx0XHRzZW1hbnRpY09iamVjdFBhdGg6IHNlbWFudGljT2JqZWN0QW5ub3RhdGlvblBhdGgsXG5cdFx0XHRcdGZvcm1hdE9wdGlvbnM6IGdldERlZmF1bHRGb3JtYXRPcHRpb25zRm9yRm9ybSgpLFxuXHRcdFx0XHRpc1BhcnRPZlByZXZpZXc6IGlzRmllbGRQYXJ0T2ZQcmV2aWV3KGZpZWxkLCBmb3JtUGFydE9mUHJldmlldylcblx0XHRcdH07XG5cdFx0XHRpZiAoXG5cdFx0XHRcdGZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZEZvckFubm90YXRpb25cIiAmJlxuXHRcdFx0XHRmaWVsZC5UYXJnZXQuJHRhcmdldC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db25uZWN0ZWRGaWVsZHNUeXBlXCJcblx0XHRcdCkge1xuXHRcdFx0XHRjb25zdCBjb25uZWN0ZWRGaWVsZHMgPSBPYmplY3QudmFsdWVzKGZpZWxkLlRhcmdldC4kdGFyZ2V0LkRhdGEpLmZpbHRlcigoY29ubmVjdGVkRmllbGQ6IHVua25vd24pID0+XG5cdFx0XHRcdFx0KGNvbm5lY3RlZEZpZWxkIGFzIERhdGFGaWVsZEFic3RyYWN0VHlwZXMpPy5oYXNPd25Qcm9wZXJ0eShcIlZhbHVlXCIpXG5cdFx0XHRcdCkgYXMgRGF0YUZpZWxkQWJzdHJhY3RUeXBlc1tdO1xuXHRcdFx0XHQoZm9ybUVsZW1lbnQgYXMgQW5ub3RhdGlvbkZvcm1FbGVtZW50KS5jb25uZWN0ZWRGaWVsZHMgPSBjb25uZWN0ZWRGaWVsZHMubWFwKChjb25ubmVjdGVkRmllbGRFbGVtZW50KSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIHsgc2VtYW50aWNPYmplY3RQYXRoOiBnZXRTZW1hbnRpY09iamVjdFBhdGgoY29udmVydGVyQ29udGV4dCwgY29ubm5lY3RlZEZpZWxkRWxlbWVudCkgfTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRmb3JtRWxlbWVudHMucHVzaChmb3JtRWxlbWVudCk7XG5cdFx0fVxuXHR9XG5cblx0c3dpdGNoIChmb3JtQW5ub3RhdGlvbj8udGVybSkge1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuRmllbGRHcm91cDpcblx0XHRcdGZvcm1Bbm5vdGF0aW9uLkRhdGEuZm9yRWFjaCgoZmllbGQpID0+IGdldERhdGFGaWVsZHNGcm9tQW5ub3RhdGlvbnMoZmllbGQsIGZhY2V0RGVmaW5pdGlvbi5hbm5vdGF0aW9ucz8uVUk/LlBhcnRPZlByZXZpZXcpKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuSWRlbnRpZmljYXRpb246XG5cdFx0XHRmb3JtQW5ub3RhdGlvbi5mb3JFYWNoKChmaWVsZCkgPT4gZ2V0RGF0YUZpZWxkc0Zyb21Bbm5vdGF0aW9ucyhmaWVsZCwgZmFjZXREZWZpbml0aW9uLmFubm90YXRpb25zPy5VST8uUGFydE9mUHJldmlldykpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5EYXRhUG9pbnQ6XG5cdFx0XHRmb3JtRWxlbWVudHMucHVzaCh7XG5cdFx0XHRcdC8vIGtleTogS2V5SGVscGVyLmdlbmVyYXRlS2V5RnJvbURhdGFGaWVsZChmb3JtQW5ub3RhdGlvbiksXG5cdFx0XHRcdGtleTogYERhdGFQb2ludDo6JHtmb3JtQW5ub3RhdGlvbi5xdWFsaWZpZXIgPyBmb3JtQW5ub3RhdGlvbi5xdWFsaWZpZXIgOiBcIlwifWAsXG5cdFx0XHRcdHR5cGU6IEZvcm1FbGVtZW50VHlwZS5Bbm5vdGF0aW9uLFxuXHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogYCR7Y29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXRCYXNlZEFubm90YXRpb25QYXRoKGZvcm1Bbm5vdGF0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZSl9L2Bcblx0XHRcdH0pO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBDb21tdW5pY2F0aW9uQW5ub3RhdGlvblRlcm1zLkNvbnRhY3Q6XG5cdFx0XHRmb3JtRWxlbWVudHMucHVzaCh7XG5cdFx0XHRcdC8vIGtleTogS2V5SGVscGVyLmdlbmVyYXRlS2V5RnJvbURhdGFGaWVsZChmb3JtQW5ub3RhdGlvbiksXG5cdFx0XHRcdGtleTogYENvbnRhY3Q6OiR7Zm9ybUFubm90YXRpb24ucXVhbGlmaWVyID8gZm9ybUFubm90YXRpb24ucXVhbGlmaWVyIDogXCJcIn1gLFxuXHRcdFx0XHR0eXBlOiBGb3JtRWxlbWVudFR5cGUuQW5ub3RhdGlvbixcblx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IGAke2NvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0QmFzZWRBbm5vdGF0aW9uUGF0aChmb3JtQW5ub3RhdGlvbi5mdWxseVF1YWxpZmllZE5hbWUpfS9gXG5cdFx0XHR9KTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRicmVhaztcblx0fVxuXHRyZXR1cm4gZm9ybUVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybUVsZW1lbnRzRnJvbU1hbmlmZXN0KFxuXHRmYWNldERlZmluaXRpb246IFJlZmVyZW5jZUZhY2V0VHlwZXMsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHRcbik6IFJlY29yZDxzdHJpbmcsIEN1c3RvbUZvcm1FbGVtZW50PiB7XG5cdGNvbnN0IG1hbmlmZXN0V3JhcHBlciA9IGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RXcmFwcGVyKCk7XG5cdGNvbnN0IG1hbmlmZXN0Rm9ybUNvbnRhaW5lcjogRm9ybU1hbmlmZXN0Q29uZmlndXJhdGlvbiA9IG1hbmlmZXN0V3JhcHBlci5nZXRGb3JtQ29udGFpbmVyKGZhY2V0RGVmaW5pdGlvbi5UYXJnZXQudmFsdWUpO1xuXHRjb25zdCBmb3JtRWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEN1c3RvbUZvcm1FbGVtZW50PiA9IHt9O1xuXHRpZiAobWFuaWZlc3RGb3JtQ29udGFpbmVyPy5maWVsZHMpIHtcblx0XHRPYmplY3Qua2V5cyhtYW5pZmVzdEZvcm1Db250YWluZXI/LmZpZWxkcykuZm9yRWFjaCgoZmllbGRJZCkgPT4ge1xuXHRcdFx0Zm9ybUVsZW1lbnRzW2ZpZWxkSWRdID0ge1xuXHRcdFx0XHRrZXk6IGZpZWxkSWQsXG5cdFx0XHRcdGlkOiBgQ3VzdG9tRm9ybUVsZW1lbnQ6OiR7ZmllbGRJZH1gLFxuXHRcdFx0XHR0eXBlOiBtYW5pZmVzdEZvcm1Db250YWluZXIuZmllbGRzW2ZpZWxkSWRdLnR5cGUgfHwgRm9ybUVsZW1lbnRUeXBlLkRlZmF1bHQsXG5cdFx0XHRcdHRlbXBsYXRlOiBtYW5pZmVzdEZvcm1Db250YWluZXIuZmllbGRzW2ZpZWxkSWRdLnRlbXBsYXRlLFxuXHRcdFx0XHRsYWJlbDogbWFuaWZlc3RGb3JtQ29udGFpbmVyLmZpZWxkc1tmaWVsZElkXS5sYWJlbCxcblx0XHRcdFx0cG9zaXRpb246IG1hbmlmZXN0Rm9ybUNvbnRhaW5lci5maWVsZHNbZmllbGRJZF0ucG9zaXRpb24gfHwge1xuXHRcdFx0XHRcdHBsYWNlbWVudDogUGxhY2VtZW50LkFmdGVyXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZvcm1hdE9wdGlvbnM6IHtcblx0XHRcdFx0XHQuLi5nZXREZWZhdWx0Rm9ybWF0T3B0aW9uc0ZvckZvcm0oKSxcblx0XHRcdFx0XHQuLi5tYW5pZmVzdEZvcm1Db250YWluZXIuZmllbGRzW2ZpZWxkSWRdLmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHR9KTtcblx0fVxuXHRyZXR1cm4gZm9ybUVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybUNvbnRhaW5lcihcblx0ZmFjZXREZWZpbml0aW9uOiBSZWZlcmVuY2VGYWNldFR5cGVzLFxuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0LFxuXHRhY3Rpb25zPzogQmFzZUFjdGlvbltdIHwgQ29udmVydGVyQWN0aW9uW11cbik6IEZvcm1Db250YWluZXIge1xuXHRjb25zdCBzRm9ybUNvbnRhaW5lcklkID0gY3JlYXRlSWRGb3JBbm5vdGF0aW9uKGZhY2V0RGVmaW5pdGlvbikgYXMgc3RyaW5nO1xuXHRjb25zdCBzQW5ub3RhdGlvblBhdGggPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgoZmFjZXREZWZpbml0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZSk7XG5cdGNvbnN0IHJlc29sdmVkVGFyZ2V0ID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlQW5ub3RhdGlvbihmYWNldERlZmluaXRpb24uVGFyZ2V0LnZhbHVlKTtcblx0Y29uc3QgaXNWaXNpYmxlID0gY29tcGlsZUV4cHJlc3Npb24obm90KGVxdWFsKHRydWUsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihmYWNldERlZmluaXRpb24uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4pKSkpO1xuXHRsZXQgc0VudGl0eVNldFBhdGghOiBzdHJpbmc7XG5cdC8vIHJlc29sdmVkVGFyZ2V0IGRvZXNuJ3QgaGF2ZSBhIGVudGl0eVNldCBpbiBjYXNlIENvbnRhaW5tZW50cyBhbmQgUGFyYW10ZXJpemVkIHNlcnZpY2VzLlxuXHRpZiAoXG5cdFx0cmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXQoKSAmJlxuXHRcdHJlc29sdmVkVGFyZ2V0LmNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KCkgIT09IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KClcblx0KSB7XG5cdFx0c0VudGl0eVNldFBhdGggPSBnZXRUYXJnZXRFbnRpdHlTZXRQYXRoKHJlc29sdmVkVGFyZ2V0LmNvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpKTtcblx0fSBlbHNlIGlmIChyZXNvbHZlZFRhcmdldC5jb252ZXJ0ZXJDb250ZXh0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKS50YXJnZXRPYmplY3Q/LmNvbnRhaW5zVGFyZ2V0ID09PSB0cnVlKSB7XG5cdFx0c0VudGl0eVNldFBhdGggPSBnZXRUYXJnZXRPYmplY3RQYXRoKHJlc29sdmVkVGFyZ2V0LmNvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpLCBmYWxzZSk7XG5cdH0gZWxzZSBpZiAoXG5cdFx0cmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXQoKSAmJlxuXHRcdCFzRW50aXR5U2V0UGF0aCAmJlxuXHRcdE1vZGVsSGVscGVyLmlzU2luZ2xldG9uKHJlc29sdmVkVGFyZ2V0LmNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KCkpXG5cdCkge1xuXHRcdHNFbnRpdHlTZXRQYXRoID0gcmVzb2x2ZWRUYXJnZXQuY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXQoKT8uZnVsbHlRdWFsaWZpZWROYW1lIGFzIHN0cmluZztcblx0fVxuXHRjb25zdCBhRm9ybUVsZW1lbnRzID0gaW5zZXJ0Q3VzdG9tRWxlbWVudHMoXG5cdFx0Z2V0Rm9ybUVsZW1lbnRzRnJvbUFubm90YXRpb25zKGZhY2V0RGVmaW5pdGlvbiwgY29udmVydGVyQ29udGV4dCksXG5cdFx0Z2V0Rm9ybUVsZW1lbnRzRnJvbU1hbmlmZXN0KGZhY2V0RGVmaW5pdGlvbiwgY29udmVydGVyQ29udGV4dCksXG5cdFx0eyBmb3JtYXRPcHRpb25zOiBPdmVycmlkZVR5cGUub3ZlcndyaXRlIH1cblx0KTtcblxuXHRhY3Rpb25zID0gYWN0aW9ucyAhPT0gdW5kZWZpbmVkID8gYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLmZhY2V0TmFtZSA9PSBmYWNldERlZmluaXRpb24uZnVsbHlRdWFsaWZpZWROYW1lKSA6IFtdO1xuXHRpZiAoYWN0aW9ucy5sZW5ndGggPT09IDApIHtcblx0XHRhY3Rpb25zID0gdW5kZWZpbmVkO1xuXHR9XG5cblx0Y29uc3Qgb0FjdGlvblNob3dEZXRhaWxzOiBCYXNlQWN0aW9uID0ge1xuXHRcdGlkOiBnZXRGb3JtU3RhbmRhcmRBY3Rpb25CdXR0b25JRChzRm9ybUNvbnRhaW5lcklkLCBcIlNob3dIaWRlRGV0YWlsc1wiKSxcblx0XHRrZXk6IFwiU3RhbmRhcmRBY3Rpb246OlNob3dIaWRlRGV0YWlsc1wiLFxuXHRcdHRleHQ6IGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRlcXVhbChwYXRoSW5Nb2RlbChcInNob3dEZXRhaWxzXCIsIFwiaW50ZXJuYWxcIiksIHRydWUpLFxuXHRcdFx0XHRwYXRoSW5Nb2RlbChcIlRfQ09NTU9OX09CSkVDVF9QQUdFX0hJREVfRk9STV9DT05UQUlORVJfREVUQUlMU1wiLCBcInNhcC5mZS5pMThuXCIpLFxuXHRcdFx0XHRwYXRoSW5Nb2RlbChcIlRfQ09NTU9OX09CSkVDVF9QQUdFX1NIT1dfRk9STV9DT05UQUlORVJfREVUQUlMU1wiLCBcInNhcC5mZS5pMThuXCIpXG5cdFx0XHQpXG5cdFx0KSxcblx0XHR0eXBlOiBBY3Rpb25UeXBlLlNob3dGb3JtRGV0YWlscyxcblx0XHRwcmVzczogXCJGb3JtQ29udGFpbmVyUnVudGltZS50b2dnbGVEZXRhaWxzXCJcblx0fTtcblxuXHRpZiAoXG5cdFx0ZmFjZXREZWZpbml0aW9uLmFubm90YXRpb25zPy5VST8uUGFydE9mUHJldmlldz8udmFsdWVPZigpICE9PSBmYWxzZSAmJlxuXHRcdGFGb3JtRWxlbWVudHMuc29tZSgob0Zvcm1FbGVtZW50KSA9PiBvRm9ybUVsZW1lbnQuaXNQYXJ0T2ZQcmV2aWV3ID09PSBmYWxzZSlcblx0KSB7XG5cdFx0aWYgKGFjdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0YWN0aW9ucy5wdXNoKG9BY3Rpb25TaG93RGV0YWlscyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGFjdGlvbnMgPSBbb0FjdGlvblNob3dEZXRhaWxzXTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4ge1xuXHRcdGlkOiBzRm9ybUNvbnRhaW5lcklkLFxuXHRcdGZvcm1FbGVtZW50czogYUZvcm1FbGVtZW50cyxcblx0XHRhbm5vdGF0aW9uUGF0aDogc0Fubm90YXRpb25QYXRoLFxuXHRcdGlzVmlzaWJsZTogaXNWaXNpYmxlLFxuXHRcdGVudGl0eVNldDogc0VudGl0eVNldFBhdGgsXG5cdFx0YWN0aW9uczogYWN0aW9uc1xuXHR9O1xufVxuXG5mdW5jdGlvbiBnZXRGb3JtQ29udGFpbmVyc0ZvckNvbGxlY3Rpb24oXG5cdGZhY2V0RGVmaW5pdGlvbjogQ29sbGVjdGlvbkZhY2V0VHlwZXMsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdGFjdGlvbnM/OiBCYXNlQWN0aW9uW10gfCBDb252ZXJ0ZXJBY3Rpb25bXVxuKTogRm9ybUNvbnRhaW5lcltdIHtcblx0Y29uc3QgZm9ybUNvbnRhaW5lcnM6IEZvcm1Db250YWluZXJbXSA9IFtdO1xuXHRmYWNldERlZmluaXRpb24uRmFjZXRzPy5mb3JFYWNoKChmYWNldCkgPT4ge1xuXHRcdC8vIElnbm9yZSBsZXZlbCAzIGNvbGxlY3Rpb24gZmFjZXRcblx0XHRpZiAoZmFjZXQuJFR5cGUgPT09IFVJQW5ub3RhdGlvblR5cGVzLkNvbGxlY3Rpb25GYWNldCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRmb3JtQ29udGFpbmVycy5wdXNoKGdldEZvcm1Db250YWluZXIoZmFjZXQgYXMgUmVmZXJlbmNlRmFjZXRUeXBlcywgY29udmVydGVyQ29udGV4dCwgYWN0aW9ucykpO1xuXHR9KTtcblx0cmV0dXJuIGZvcm1Db250YWluZXJzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWZlcmVuY2VGYWNldChmYWNldERlZmluaXRpb246IEZhY2V0VHlwZXMpOiBmYWNldERlZmluaXRpb24gaXMgUmVmZXJlbmNlRmFjZXRUeXBlcyB7XG5cdHJldHVybiBmYWNldERlZmluaXRpb24uJFR5cGUgPT09IFVJQW5ub3RhdGlvblR5cGVzLlJlZmVyZW5jZUZhY2V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybURlZmluaXRpb24oXG5cdGZhY2V0RGVmaW5pdGlvbjogRmFjZXRUeXBlcyxcblx0aXNWaXNpYmxlOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbixcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0YWN0aW9ucz86IEJhc2VBY3Rpb25bXSB8IENvbnZlcnRlckFjdGlvbltdXG4pOiBGb3JtRGVmaW5pdGlvbiB7XG5cdHN3aXRjaCAoZmFjZXREZWZpbml0aW9uLiRUeXBlKSB7XG5cdFx0Y2FzZSBVSUFubm90YXRpb25UeXBlcy5Db2xsZWN0aW9uRmFjZXQ6XG5cdFx0XHQvLyBLZWVwIG9ubHkgdmFsaWQgY2hpbGRyZW5cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGlkOiBnZXRGb3JtSUQoZmFjZXREZWZpbml0aW9uKSxcblx0XHRcdFx0dXNlRm9ybUNvbnRhaW5lckxhYmVsczogdHJ1ZSxcblx0XHRcdFx0aGFzRmFjZXRzTm90UGFydE9mUHJldmlldzogZmFjZXREZWZpbml0aW9uLkZhY2V0cy5zb21lKFxuXHRcdFx0XHRcdChjaGlsZEZhY2V0KSA9PiBjaGlsZEZhY2V0LmFubm90YXRpb25zPy5VST8uUGFydE9mUHJldmlldz8udmFsdWVPZigpID09PSBmYWxzZVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRmb3JtQ29udGFpbmVyczogZ2V0Rm9ybUNvbnRhaW5lcnNGb3JDb2xsZWN0aW9uKGZhY2V0RGVmaW5pdGlvbiwgY29udmVydGVyQ29udGV4dCwgYWN0aW9ucyksXG5cdFx0XHRcdGlzVmlzaWJsZTogaXNWaXNpYmxlXG5cdFx0XHR9O1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuUmVmZXJlbmNlRmFjZXQ6XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRpZDogZ2V0Rm9ybUlEKGZhY2V0RGVmaW5pdGlvbiksXG5cdFx0XHRcdHVzZUZvcm1Db250YWluZXJMYWJlbHM6IGZhbHNlLFxuXHRcdFx0XHRoYXNGYWNldHNOb3RQYXJ0T2ZQcmV2aWV3OiBmYWNldERlZmluaXRpb24uYW5ub3RhdGlvbnM/LlVJPy5QYXJ0T2ZQcmV2aWV3Py52YWx1ZU9mKCkgPT09IGZhbHNlLFxuXHRcdFx0XHRmb3JtQ29udGFpbmVyczogW2dldEZvcm1Db250YWluZXIoZmFjZXREZWZpbml0aW9uLCBjb252ZXJ0ZXJDb250ZXh0LCBhY3Rpb25zKV0sXG5cdFx0XHRcdGlzVmlzaWJsZTogaXNWaXNpYmxlXG5cdFx0XHR9O1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgY3JlYXRlIGZvcm0gYmFzZWQgb24gUmVmZXJlbmNlVVJMRmFjZXRcIik7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFxQ1lBLGVBQWU7RUFBQSxXQUFmQSxlQUFlO0lBQWZBLGVBQWU7SUFBZkEsZUFBZTtJQUFmQSxl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
|
|
@@ -122,9 +122,9 @@ function getFormElementsFromAnnotations(facetDefinition: ReferenceFacetTypes, co
|
|
|
122
122
|
field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" &&
|
|
123
123
|
field.Target.$target.$Type === "com.sap.vocabularies.UI.v1.ConnectedFieldsType"
|
|
124
124
|
) {
|
|
125
|
-
const connectedFields = Object.values(field.Target.$target.Data).filter((connectedField:
|
|
126
|
-
connectedField?.hasOwnProperty("Value")
|
|
127
|
-
);
|
|
125
|
+
const connectedFields = Object.values(field.Target.$target.Data).filter((connectedField: unknown) =>
|
|
126
|
+
(connectedField as DataFieldAbstractTypes)?.hasOwnProperty("Value")
|
|
127
|
+
) as DataFieldAbstractTypes[];
|
|
128
128
|
(formElement as AnnotationFormElement).connectedFields = connectedFields.map((connnectedFieldElement) => {
|
|
129
129
|
return { semanticObjectPath: getSemanticObjectPath(converterContext, connnectedFieldElement) };
|
|
130
130
|
});
|