@sapui5/sap.fe.core 1.102.0 → 1.103.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 +5 -5
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/AppComponent.js +62 -26
- package/src/sap/fe/core/AppComponent.ts +56 -40
- package/src/sap/fe/core/AppStateHandler.js +10 -10
- package/src/sap/fe/core/AppStateHandler.ts +9 -9
- package/src/sap/fe/core/BaseController.js +11 -9
- package/src/sap/fe/core/BaseController.ts +15 -13
- package/src/sap/fe/core/CommonUtils.js +236 -109
- package/src/sap/fe/core/CommonUtils.ts +252 -136
- package/src/sap/fe/core/ExtensionAPI.js +24 -27
- package/src/sap/fe/core/ExtensionAPI.ts +36 -38
- package/src/sap/fe/core/PageController.js +4 -4
- package/src/sap/fe/core/PageController.ts +4 -5
- package/src/sap/fe/core/TemplateComponent.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +6 -6
- package/src/sap/fe/core/TemplateModel.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +8 -8
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
- package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +31 -26
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
- package/src/sap/fe/core/controllerextensions/MassEdit.js +8 -8
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
- package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
- package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
- package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
- package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/Share.js +22 -22
- package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
- package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
- package/src/sap/fe/core/controllerextensions/ViewState.js +65 -62
- package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +6 -6
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +184 -137
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -44
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
- package/src/sap/fe/core/controls/Any.js +9 -5
- package/src/sap/fe/core/controls/Any.ts +10 -4
- package/src/sap/fe/core/controls/CommandExecution.js +11 -25
- package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
- package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
- package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
- package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
- package/src/sap/fe/core/controls/FileWrapper.js +2 -2
- package/src/sap/fe/core/controls/FileWrapper.ts +11 -11
- package/src/sap/fe/core/controls/FilterBar.js +6 -2
- package/src/sap/fe/core/controls/FilterBar.ts +13 -9
- package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
- package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
- package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +47 -47
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
- package/src/sap/fe/core/converters/ConverterContext.js +26 -33
- package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
- package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
- package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
- package/src/sap/fe/core/converters/MetaModelConverter.js +50 -32
- package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
- package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
- package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
- package/src/sap/fe/core/converters/annotations/DataField.js +54 -34
- package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
- package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
- package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
- package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -26
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
- package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
- package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
- package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
- package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
- package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +64 -57
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +73 -72
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
- package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
- package/src/sap/fe/core/converters/helpers/ID.js +46 -46
- package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
- package/src/sap/fe/core/converters/helpers/Key.js +7 -7
- package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
- package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
- package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
- package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
- package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
- package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
- package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
- package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
- package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
- package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
- package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
- package/src/sap/fe/core/helpers/ClassSupport.ts +14 -10
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
- package/src/sap/fe/core/helpers/EditState.js +1 -6
- package/src/sap/fe/core/helpers/EditState.ts +5 -10
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
- package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
- package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
- package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
- package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
- package/src/sap/fe/core/helpers/MassEditHelper.js +281 -254
- package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
- package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
- package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
- package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
- package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
- package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
- package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
- package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
- package/src/sap/fe/core/library.js +42 -3
- package/src/sap/fe/core/library.ts +38 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
- package/src/sap/fe/core/messagebundle.properties +49 -35
- package/src/sap/fe/core/messagebundle_ar.properties +13 -5
- package/src/sap/fe/core/messagebundle_bg.properties +13 -5
- package/src/sap/fe/core/messagebundle_ca.properties +13 -5
- package/src/sap/fe/core/messagebundle_cs.properties +13 -5
- package/src/sap/fe/core/messagebundle_cy.properties +14 -6
- package/src/sap/fe/core/messagebundle_da.properties +13 -5
- package/src/sap/fe/core/messagebundle_de.properties +15 -7
- package/src/sap/fe/core/messagebundle_el.properties +14 -6
- package/src/sap/fe/core/messagebundle_en.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
- package/src/sap/fe/core/messagebundle_es.properties +13 -5
- package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
- package/src/sap/fe/core/messagebundle_et.properties +13 -5
- package/src/sap/fe/core/messagebundle_fi.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
- package/src/sap/fe/core/messagebundle_hi.properties +14 -6
- package/src/sap/fe/core/messagebundle_hr.properties +14 -6
- package/src/sap/fe/core/messagebundle_hu.properties +13 -5
- package/src/sap/fe/core/messagebundle_id.properties +13 -5
- package/src/sap/fe/core/messagebundle_it.properties +33 -25
- package/src/sap/fe/core/messagebundle_iw.properties +13 -5
- package/src/sap/fe/core/messagebundle_ja.properties +14 -6
- package/src/sap/fe/core/messagebundle_kk.properties +13 -5
- package/src/sap/fe/core/messagebundle_ko.properties +13 -5
- package/src/sap/fe/core/messagebundle_lt.properties +13 -5
- package/src/sap/fe/core/messagebundle_lv.properties +14 -6
- package/src/sap/fe/core/messagebundle_ms.properties +13 -5
- package/src/sap/fe/core/messagebundle_nl.properties +13 -5
- package/src/sap/fe/core/messagebundle_no.properties +13 -5
- package/src/sap/fe/core/messagebundle_pl.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
- package/src/sap/fe/core/messagebundle_ro.properties +13 -5
- package/src/sap/fe/core/messagebundle_ru.properties +13 -5
- package/src/sap/fe/core/messagebundle_sh.properties +13 -5
- package/src/sap/fe/core/messagebundle_sk.properties +13 -5
- package/src/sap/fe/core/messagebundle_sl.properties +17 -9
- package/src/sap/fe/core/messagebundle_sv.properties +14 -6
- package/src/sap/fe/core/messagebundle_th.properties +13 -5
- package/src/sap/fe/core/messagebundle_tr.properties +13 -5
- package/src/sap/fe/core/messagebundle_uk.properties +13 -5
- package/src/sap/fe/core/messagebundle_vi.properties +13 -5
- package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
- package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +53 -44
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
- package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
- package/src/sap/fe/core/services/ShellServicesFactory.js +72 -76
- package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -82
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +20 -15
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
- package/src/sap/fe/core/support/CommonHelper.js +3 -2
- package/src/sap/fe/core/support/CommonHelper.ts +9 -13
- package/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -5
- package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
- package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
- package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
- package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
- package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
- package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
- package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
- package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
- package/src/sap/fe/core/templating/FilterHelper.js +10 -9
- package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
- package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
- package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
- package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
- package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
- package/src/sap/fe/core/templating/UIFormatters.js +148 -93
- package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
- package/src/sap/fe/core/type/Email.js +2 -2
- package/src/sap/fe/core/type/Email.ts +2 -2
- package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
|
@@ -121,7 +121,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/controls/filterbar/utils/
|
|
|
121
121
|
"errorMessage": oResourceBundle.getText("M_VISUAL_FILTERS_PROVIDE_FILTER_VAL_MULTIPLEVF")
|
|
122
122
|
});
|
|
123
123
|
} else {
|
|
124
|
-
sLabel = oMetaModel.getObject(sEntitySetPath
|
|
124
|
+
sLabel = oMetaModel.getObject("".concat(sEntitySetPath, "/").concat(aRequiredProperties[0], "@com.sap.vocabularies.Common.v1.Label")) || aRequiredProperties[0];
|
|
125
125
|
oInternalModelContext.setProperty(sInternalContextPath, {
|
|
126
126
|
"showError": true,
|
|
127
127
|
"errorMessageTitle": oResourceBundle.getText("M_VISUAL_FILTERS_ERROR_MESSAGE_TITLE"),
|
|
@@ -157,7 +157,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/controls/filterbar/utils/
|
|
|
157
157
|
"errorMessage": oResourceBundle.getText("M_VISUAL_FILTERS_PROVIDE_FILTER_VAL_MULTIPLEVF")
|
|
158
158
|
});
|
|
159
159
|
} else {
|
|
160
|
-
sLabel = oMetaModel.getObject(sEntitySetPath
|
|
160
|
+
sLabel = oMetaModel.getObject("".concat(sEntitySetPath, "/").concat(aNotMatchedConditions[0], "@com.sap.vocabularies.Common.v1.Label")) || aNotMatchedConditions[0];
|
|
161
161
|
oInternalModelContext.setProperty(sInternalContextPath, {
|
|
162
162
|
"showError": true,
|
|
163
163
|
"errorMessageTitle": oResourceBundle.getText("M_VISUAL_FILTERS_ERROR_MESSAGE_TITLE"),
|
|
@@ -165,15 +165,19 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/controls/filterbar/utils/
|
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
aNotMatchedConditions.length > 1
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
168
|
+
if (aNotMatchedConditions.length > 1) {
|
|
169
|
+
oInternalModelContext.setProperty(sInternalContextPath, {
|
|
170
|
+
"showError": true,
|
|
171
|
+
"errorMessageTitle": oResourceBundle.getText("M_VISUAL_FILTERS_ERROR_MESSAGE_TITLE"),
|
|
172
|
+
"errorMessage": oResourceBundle.getText("M_VISUAL_FILTERS_PROVIDE_FILTER_VAL_MULTIPLEVF")
|
|
173
|
+
});
|
|
174
|
+
} else {
|
|
175
|
+
oInternalModelContext.setProperty(sInternalContextPath, {
|
|
176
|
+
"showError": true,
|
|
177
|
+
"errorMessageTitle": oResourceBundle.getText("M_VISUAL_FILTERS_ERROR_MESSAGE_TITLE"),
|
|
178
|
+
"errorMessage": oResourceBundle.getText("M_VISUAL_FILTERS_PROVIDE_FILTER_VAL_SINGLEVF", aNotMatchedConditions[0])
|
|
179
|
+
});
|
|
180
|
+
}
|
|
177
181
|
}
|
|
178
182
|
}
|
|
179
183
|
|
|
@@ -301,4 +305,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/controls/filterbar/utils/
|
|
|
301
305
|
})), _class2)) || _class);
|
|
302
306
|
return VisualFilter;
|
|
303
307
|
}, false);
|
|
304
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpc3VhbEZpbHRlci50cyJdLCJuYW1lcyI6WyJWaXN1YWxGaWx0ZXIiLCJkZWZpbmVVSTVDbGFzcyIsImltcGxlbWVudEludGVyZmFjZSIsInByb3BlcnR5IiwidHlwZSIsImV2ZW50Iiwib25BZnRlclJlbmRlcmluZyIsInNMYWJlbCIsIm9JbnRlcmFjdGl2ZUNoYXJ0IiwiZ2V0SXRlbXMiLCJzSW50ZXJuYWxDb250ZXh0UGF0aCIsImRhdGEiLCJvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nIiwiZ2V0QmluZGluZyIsIm9JbnRlcm5hbE1vZGVsQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0Iiwib1Jlc291cmNlQnVuZGxlIiwiQ29yZSIsImdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZSIsImJTaG93T3ZlckxheUluaXRpYWxseSIsIm9TZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbiIsIkNvbW1vbkhlbHBlciIsInBhcnNlQ3VzdG9tRGF0YSIsIlNlbGVjdE9wdGlvbnMiLCJhUmVxdWlyZWRQcm9wZXJ0aWVzIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwic0VudGl0eVNldFBhdGgiLCJnZXRQYXRoIiwib0ZpbHRlckJhciIsImdldFBhcmVudCIsImdldE1ldGFkYXRhIiwiZ2V0RWxlbWVudE5hbWUiLCJvRmlsdGVyQmFyQ29uZGl0aW9ucyIsImFQcm9wZXJ0eUluZm9TZXQiLCJzRmlsdGVyRW50aXR5TmFtZSIsImdldENvbmRpdGlvbnMiLCJnZXRQcm9wZXJ0eUluZm9TZXQiLCJzcGxpdCIsImFQYXJhbWV0ZXJzIiwiY3VzdG9tRGF0YSIsImZpbHRlckNvbmRpdGlvbnMiLCJnZXRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3Rpb25WYXJpYW50IiwiVmlzdWFsRmlsdGVyVXRpbHMiLCJnZXRDdXN0b21Db25kaXRpb25zIiwiYmluZCIsIm9TZWxlY3Rpb25WYXJpYW50Q29uZGl0aW9ucyIsImNvbnZlcnRGaWx0ZXJDb25kaW9ucyIsIm1Db25kaXRpb25zIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJzS2V5IiwibGVuZ3RoIiwic2V0UHJvcGVydHkiLCJnZXRUZXh0IiwiZ2V0T2JqZWN0IiwiYVNlbGVjdE9wdGlvbnMiLCJhTm90TWF0Y2hlZENvbmRpdGlvbnMiLCJvU2VsZWN0T3B0aW9uIiwicHVzaCIsIlByb3BlcnR5TmFtZSIsIiRQcm9wZXJ0eVBhdGgiLCJQYXJhbWV0ZXJzIiwib1BhcmFtZXRlciIsInNQYXRoIiwiaW5kZXhPZiIsIl9vQ2hhcnRCaW5kaW5nIiwiZGV0YWNoRGF0YVJlY2VpdmVkSGFuZGxlciIsImF0dGFjaERhdGFSZWNpdmVkSGFuZGxlciIsImJTaG93T3ZlcmxheSIsImdldFByb3BlcnR5Iiwic2hvd0Vycm9yIiwic0NoYXJ0RW50aXR5TmFtZSIsInNCaW5kaW5nUGF0aCIsIkZpbHRlclV0aWxzIiwiZ2V0QmluZGluZ1BhdGhGb3JQYXJhbWV0ZXJzIiwiaXNTdXNwZW5kZWQiLCJyZXN1bWUiLCJhdHRhY2hFdmVudCIsIm9uSW50ZXJuYWxEYXRhUmVjZWl2ZWQiLCJkZXRhY2hFdmVudCIsInVuZGVmaW5lZCIsInNldFNob3dWYWx1ZUhlbHAiLCJiU2hvd1ZhbHVlSGVscCIsIm9WaXN1YWxGaWx0ZXJDb250cm9sIiwiZ2V0Q29udGVudCIsInNvbWUiLCJvSW5uZXJDb250cm9sIiwiaXNBIiwic2V0VmlzaWJsZSIsInNldFZhbHVlSGVscEljb25TcmMiLCJzSWNvblNyYyIsInNldEljb24iLCJvRXZlbnQiLCJzSWQiLCJnZXRJZCIsIm9WaWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwidlVPTSIsInVwZGF0ZUNoYXJ0U2NhbGVGYWN0b3JUaXRsZSIsImdldFBhcmFtZXRlciIsInMxOG5NZXNzYWdlVGl0bGUiLCJzMThuTWVzc2FnZSIsImFwcGx5RXJyb3JNZXNzYWdlQW5kVGl0bGUiLCJvRGF0YSIsImdldFNvdXJjZSIsImdldEN1cnJlbnRDb250ZXh0cyIsInNldE5vRGF0YU1lc3NhZ2UiLCJzZXRNdWx0aVVPTU1lc3NhZ2UiLCIkUGF0aCIsIm9Db250ZXh0cyIsImdldENvbnRleHRzIiwib0NvbnRleHREYXRhIiwiYXBwbHlVT01Ub1RpdGxlIiwiVkJveCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFFTUEsWSxXQURMQyxjQUFjLENBQUMsNkNBQUQsQyxVQUViQyxrQkFBa0IsQ0FBQywwQkFBRCxDLFVBRWxCQyxRQUFRLENBQUM7QUFDVEMsSUFBQUEsSUFBSSxFQUFFO0FBREcsR0FBRCxDLFVBSVJELFFBQVEsQ0FBQztBQUNUQyxJQUFBQSxJQUFJLEVBQUU7QUFERyxHQUFELEMsVUFJUkMsS0FBSyxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBSU5DLGdCLEdBQUEsNEJBQW1CO0FBQ2xCLFVBQUlDLE1BQUo7QUFDQSxVQUFNQyxpQkFBaUIsR0FBSSxLQUFLQyxRQUFMLEdBQWdCLENBQWhCLENBQUQsQ0FBNEJBLFFBQTVCLEdBQXVDLENBQXZDLENBQTFCO0FBQ0EsVUFBTUMsb0JBQW9CLEdBQUcsS0FBS0MsSUFBTCxDQUFVLFVBQVYsQ0FBN0I7QUFDQSxVQUFNQyw0QkFBNEIsR0FDakNKLGlCQUFpQixDQUFDSyxVQUFsQixDQUE2QixVQUE3QixLQUE0Q0wsaUJBQWlCLENBQUNLLFVBQWxCLENBQTZCLE1BQTdCLENBQTVDLElBQW9GTCxpQkFBaUIsQ0FBQ0ssVUFBbEIsQ0FBNkIsUUFBN0IsQ0FEckY7QUFFQSxVQUFNQyxxQkFBcUIsR0FBR04saUJBQWlCLENBQUNPLGlCQUFsQixDQUFvQyxVQUFwQyxDQUE5QjtBQUNBLFVBQU1DLGVBQWUsR0FBSUMsSUFBRCxDQUFpQkMsd0JBQWpCLENBQTBDLGVBQTFDLENBQXhCO0FBQ0EsVUFBTUMscUJBQXFCLEdBQUdYLGlCQUFpQixDQUFDRyxJQUFsQixDQUF1Qixz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QUZELE1BRU87QUFDTnBGLFVBQUFBLHFCQUFxQixDQUFDeUMsV0FBdEIsQ0FBa0M3QyxvQkFBbEMsRUFBd0QsRUFBeEQ7QUFDQTs7QUFDRGtDLFFBQUFBLGlCQUFpQixDQUFDbUUsa0JBQWxCLENBQXFDSixLQUFyQyxFQUE0Q25HLGlCQUE1QyxFQUErREUsb0JBQS9ELEVBQXFGTSxlQUFyRixFQUFzR2tGLEtBQXRHO0FBQ0E7O0FBQ0QsVUFBSUcsSUFBSSxLQUFNQSxJQUFJLENBQUMsYUFBRCxDQUFKLElBQXVCQSxJQUFJLENBQUMsYUFBRCxDQUFKLENBQW9CVyxLQUE1QyxJQUF1RFgsSUFBSSxDQUFDLE1BQUQsQ0FBSixJQUFnQkEsSUFBSSxDQUFDLE1BQUQsQ0FBSixDQUFhVyxLQUF6RixDQUFSLEVBQTBHO0FBQ3pHLFlBQU1DLFNBQVMsR0FBR2xCLE1BQU0sQ0FBQ2EsU0FBUCxHQUFtQk0sV0FBbkIsRUFBbEI7QUFDQSxZQUFNQyxZQUFZLEdBQUdGLFNBQVMsSUFBSUEsU0FBUyxDQUFDLENBQUQsQ0FBVCxDQUFheEQsU0FBYixFQUFsQztBQUNBYixRQUFBQSxpQkFBaUIsQ0FBQ3dFLGVBQWxCLENBQWtDNUcsaUJBQWxDLEVBQXFEMkcsWUFBckQsRUFBbUVqQixLQUFuRSxFQUEwRXhGLG9CQUExRTtBQUNBO0FBQ0QsSzs7O0lBL055QjJHLEk7Ozs7O2FBRXdCLEk7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQStOcENySCxZIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgVmlzdWFsRmlsdGVyVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xzL2ZpbHRlcmJhci91dGlscy9WaXN1YWxGaWx0ZXJVdGlsc1wiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIGV2ZW50LCBpbXBsZW1lbnRJbnRlcmZhY2UsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29tbW9uSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL0NvbW1vbkhlbHBlclwiO1xuaW1wb3J0IEZpbHRlclV0aWxzIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlci9GaWx0ZXJVdGlsc1wiO1xuaW1wb3J0IFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgRWxlbWVudE1ldGFkYXRhIGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50TWV0YWRhdGFcIjtcbmltcG9ydCB7IElGb3JtQ29udGVudCB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgRmlsdGVyQmFyIGZyb20gXCJzYXAvdWkvbWRjL0ZpbHRlckJhclwiO1xuaW1wb3J0IHsgQ29yZUV4IH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudCB9IGZyb20gXCIuLi8uLi90ZW1wbGF0aW5nL0ZpbHRlckhlbHBlclwiO1xuLyoqXG4gKiBDb25zdHJ1Y3RvciBmb3IgYSBuZXcgZmlsdGVyQmFyL2FsaWduZWQvRmlsdGVySXRlbUxheW91dC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW3NJZF0gSUQgZm9yIHRoZSBuZXcgY29udHJvbCwgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgaWYgbm8gSUQgaXMgZ2l2ZW5cbiAqIEBwYXJhbSB7b2JqZWN0fSBbbVNldHRpbmdzXSBJbml0aWFsIHNldHRpbmdzIGZvciB0aGUgbmV3IGNvbnRyb2xcbiAqIEBjbGFzcyBSZXByZXNlbnRzIGEgZmlsdGVyIGl0ZW0gb24gdGhlIFVJLlxuICogQGV4dGVuZHMgc2FwLm0uVkJveFxuICogQGltcGxlbWVudHMge3NhcC51aS5jb3JlLklGb3JtQ29udGVudH1cbiAqIEBjbGFzc1xuICogQHByaXZhdGVcbiAqIEBzaW5jZSAxLjYxLjBcbiAqIEBhbGlhcyBjb250cm9sIHNhcC5mZS5jb3JlLmNvbnRyb2xzLmZpbHRlcmJhci5WaXN1YWxGaWx0ZXJcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuZmlsdGVyYmFyLlZpc3VhbEZpbHRlclwiKVxuY2xhc3MgVmlzdWFsRmlsdGVyIGV4dGVuZHMgVkJveCBpbXBsZW1lbnRzIElGb3JtQ29udGVudCB7XG5cdEBpbXBsZW1lbnRJbnRlcmZhY2UoXCJzYXAudWkuY29yZS5JRm9ybUNvbnRlbnRcIilcblx0X19pbXBsZW1lbnRzX19zYXBfdWlfY29yZV9JRm9ybUNvbnRlbnQ6IGJvb2xlYW4gPSB0cnVlO1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdHNob3dWYWx1ZUhlbHAhOiBib29sZWFuO1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCJcblx0fSlcblx0dmFsdWVIZWxwSWNvblNyYyE6IHN0cmluZztcblx0QGV2ZW50KClcblx0dmFsdWVIZWxwUmVxdWVzdCE6IEZ1bmN0aW9uO1xuXHRwcml2YXRlIF9vQ2hhcnRCaW5kaW5nPzogYm9vbGVhbjtcblxuXHRvbkFmdGVyUmVuZGVyaW5nKCkge1xuXHRcdGxldCBzTGFiZWw7XG5cdFx0Y29uc3Qgb0ludGVyYWN0aXZlQ2hhcnQgPSAodGhpcy5nZXRJdGVtcygpWzFdIGFzIGFueSkuZ2V0SXRlbXMoKVswXTtcblx0XHRjb25zdCBzSW50ZXJuYWxDb250ZXh0UGF0aCA9IHRoaXMuZGF0YShcImluZm9QYXRoXCIpO1xuXHRcdGNvbnN0IG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcgPVxuXHRcdFx0b0ludGVyYWN0aXZlQ2hhcnQuZ2V0QmluZGluZyhcInNlZ21lbnRzXCIpIHx8IG9JbnRlcmFjdGl2ZUNoYXJ0LmdldEJpbmRpbmcoXCJiYXJzXCIpIHx8IG9JbnRlcmFjdGl2ZUNoYXJ0LmdldEJpbmRpbmcoXCJwb2ludHNcIik7XG5cdFx0Y29uc3Qgb0ludGVybmFsTW9kZWxDb250ZXh0ID0gb0ludGVyYWN0aXZlQ2hhcnQuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHRjb25zdCBvUmVzb3VyY2VCdW5kbGUgPSAoQ29yZSBhcyBDb3JlRXgpLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5tYWNyb3NcIik7XG5cdFx0Y29uc3QgYlNob3dPdmVyTGF5SW5pdGlhbGx5ID0gb0ludGVyYWN0aXZlQ2hhcnQuZGF0YShcInNob3dPdmVybGF5SW5pdGlhbGx5XCIpO1xuXHRcdGNvbnN0IG9TZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbjogYW55ID0gb0ludGVyYWN0aXZlQ2hhcnQuZGF0YShcInNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uXCIpXG5cdFx0XHQ/IENvbW1vbkhlbHBlci5wYXJzZUN1c3RvbURhdGEob0ludGVyYWN0aXZlQ2hhcnQuZGF0YShcInNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uXCIpKVxuXHRcdFx0OiB7IFNlbGVjdE9wdGlvbnM6IFtdIH07XG5cdFx0Y29uc3QgYVJlcXVpcmVkUHJvcGVydGllczogYW55W10gPSBvSW50ZXJhY3RpdmVDaGFydC5kYXRhKFwicmVxdWlyZWRQcm9wZXJ0aWVzXCIpXG5cdFx0XHQ/IChDb21tb25IZWxwZXIucGFyc2VDdXN0b21EYXRhKG9JbnRlcmFjdGl2ZUNoYXJ0LmRhdGEoXCJyZXF1aXJlZFByb3BlcnRpZXNcIikpIGFzIGFueVtdKVxuXHRcdFx0OiBbXTtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gb0ludGVyYWN0aXZlQ2hhcnQuZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKTtcblx0XHRjb25zdCBzRW50aXR5U2V0UGF0aCA9IG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcgPyBvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nLmdldFBhdGgoKSA6IFwiXCI7XG5cdFx0bGV0IG9GaWx0ZXJCYXIgPSB0aGlzLmdldFBhcmVudCgpLmdldFBhcmVudCgpIGFzIEZpbHRlckJhcjtcblx0XHQvLyBUT0RPOiBSZW1vdmUgdGhpcyBwYXJ0IG9uY2UgMjE3MDIwNDM0NyBpcyBmaXhlZFxuXHRcdGlmICgob0ZpbHRlckJhci5nZXRNZXRhZGF0YSgpIGFzIEVsZW1lbnRNZXRhZGF0YSkuZ2V0RWxlbWVudE5hbWUoKSA9PT0gXCJzYXAudWkubWRjLmZpbHRlcmJhci5wMTNuLkFkYXB0YXRpb25GaWx0ZXJCYXJcIikge1xuXHRcdFx0b0ZpbHRlckJhciA9IG9GaWx0ZXJCYXIuZ2V0UGFyZW50KCkuZ2V0UGFyZW50KCkgYXMgRmlsdGVyQmFyO1xuXHRcdH1cblx0XHRsZXQgb0ZpbHRlckJhckNvbmRpdGlvbnM6IGFueSA9IHt9O1xuXHRcdGxldCBhUHJvcGVydHlJbmZvU2V0ID0gW107XG5cdFx0bGV0IHNGaWx0ZXJFbnRpdHlOYW1lO1xuXHRcdGlmICgob0ZpbHRlckJhci5nZXRNZXRhZGF0YSgpIGFzIEVsZW1lbnRNZXRhZGF0YSkuZ2V0RWxlbWVudE5hbWUoKSA9PT0gXCJzYXAuZmUuY29yZS5jb250cm9scy5GaWx0ZXJCYXJcIikge1xuXHRcdFx0b0ZpbHRlckJhckNvbmRpdGlvbnMgPSBvRmlsdGVyQmFyLmdldENvbmRpdGlvbnMoKTtcblx0XHRcdGFQcm9wZXJ0eUluZm9TZXQgPSAob0ZpbHRlckJhciBhcyBhbnkpLmdldFByb3BlcnR5SW5mb1NldCgpO1xuXHRcdFx0c0ZpbHRlckVudGl0eU5hbWUgPSBvRmlsdGVyQmFyLmRhdGEoXCJlbnRpdHlUeXBlXCIpLnNwbGl0KFwiL1wiKVsxXTtcblx0XHR9XG5cdFx0Y29uc3QgYVBhcmFtZXRlcnMgPSBvSW50ZXJhY3RpdmVDaGFydC5kYXRhKFwicGFyYW1ldGVyc1wiKSA/IG9JbnRlcmFjdGl2ZUNoYXJ0LmRhdGEoXCJwYXJhbWV0ZXJzXCIpLmN1c3RvbURhdGEgOiBbXTtcblx0XHRjb25zdCBmaWx0ZXJDb25kaXRpb25zID0gZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudChcblx0XHRcdHNFbnRpdHlTZXRQYXRoLFxuXHRcdFx0b01ldGFNb2RlbCxcblx0XHRcdG9TZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbixcblx0XHRcdFZpc3VhbEZpbHRlclV0aWxzLmdldEN1c3RvbUNvbmRpdGlvbnMuYmluZChWaXN1YWxGaWx0ZXJVdGlscylcblx0XHQpO1xuXHRcdGNvbnN0IG9TZWxlY3Rpb25WYXJpYW50Q29uZGl0aW9ucyA9IFZpc3VhbEZpbHRlclV0aWxzLmNvbnZlcnRGaWx0ZXJDb25kaW9ucyhmaWx0ZXJDb25kaXRpb25zKTtcblx0XHRjb25zdCBtQ29uZGl0aW9uczogYW55ID0ge307XG5cblx0XHRPYmplY3Qua2V5cyhvRmlsdGVyQmFyQ29uZGl0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAoc0tleTogc3RyaW5nKSB7XG5cdFx0XHRpZiAob0ZpbHRlckJhckNvbmRpdGlvbnNbc0tleV0ubGVuZ3RoKSB7XG5cdFx0XHRcdG1Db25kaXRpb25zW3NLZXldID0gb0ZpbHRlckJhckNvbmRpdGlvbnNbc0tleV07XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRPYmplY3Qua2V5cyhvU2VsZWN0aW9uVmFyaWFudENvbmRpdGlvbnMpLmZvckVhY2goZnVuY3Rpb24gKHNLZXk6IHN0cmluZykge1xuXHRcdFx0aWYgKCFtQ29uZGl0aW9uc1tzS2V5XSkge1xuXHRcdFx0XHRtQ29uZGl0aW9uc1tzS2V5XSA9IG9TZWxlY3Rpb25WYXJpYW50Q29uZGl0aW9uc1tzS2V5XTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRpZiAoYlNob3dPdmVyTGF5SW5pdGlhbGx5ID09PSBcInRydWVcIikge1xuXHRcdFx0aWYgKCFPYmplY3Qua2V5cyhvU2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24pLmxlbmd0aCkge1xuXHRcdFx0XHRpZiAoYVJlcXVpcmVkUHJvcGVydGllcy5sZW5ndGggPiAxKSB7XG5cdFx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNJbnRlcm5hbENvbnRleHRQYXRoLCB7XG5cdFx0XHRcdFx0XHRcInNob3dFcnJvclwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJlcnJvck1lc3NhZ2VUaXRsZVwiOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fVklTVUFMX0ZJTFRFUlNfRVJST1JfTUVTU0FHRV9USVRMRVwiKSxcblx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlXCI6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19QUk9WSURFX0ZJTFRFUl9WQUxfTVVMVElQTEVWRlwiKVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNMYWJlbCA9XG5cdFx0XHRcdFx0XHRvTWV0YU1vZGVsLmdldE9iamVjdChzRW50aXR5U2V0UGF0aCArIFwiL1wiICsgYVJlcXVpcmVkUHJvcGVydGllc1swXSArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5MYWJlbFwiKSB8fFxuXHRcdFx0XHRcdFx0YVJlcXVpcmVkUHJvcGVydGllc1swXTtcblx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoc0ludGVybmFsQ29udGV4dFBhdGgsIHtcblx0XHRcdFx0XHRcdFwic2hvd0Vycm9yXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVRpdGxlXCI6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19FUlJPUl9NRVNTQUdFX1RJVExFXCIpLFxuXHRcdFx0XHRcdFx0XCJlcnJvck1lc3NhZ2VcIjogb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX1BST1ZJREVfRklMVEVSX1ZBTF9TSU5HTEVWRlwiLCBzTGFiZWwpXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGFTZWxlY3RPcHRpb25zOiBhbnlbXSA9IFtdO1xuXHRcdFx0XHRjb25zdCBhTm90TWF0Y2hlZENvbmRpdGlvbnM6IGFueVtdID0gW107XG5cdFx0XHRcdGlmIChvU2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24uU2VsZWN0T3B0aW9ucykge1xuXHRcdFx0XHRcdG9TZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbi5TZWxlY3RPcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9TZWxlY3RPcHRpb246IGFueSkge1xuXHRcdFx0XHRcdFx0YVNlbGVjdE9wdGlvbnMucHVzaChvU2VsZWN0T3B0aW9uLlByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAob1NlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uLlBhcmFtZXRlcnMpIHtcblx0XHRcdFx0XHRvU2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24uUGFyYW1ldGVycy5mb3JFYWNoKGZ1bmN0aW9uIChvUGFyYW1ldGVyOiBhbnkpIHtcblx0XHRcdFx0XHRcdGFTZWxlY3RPcHRpb25zLnB1c2gob1BhcmFtZXRlci5Qcm9wZXJ0eU5hbWUuJFByb3BlcnR5UGF0aCk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0YVJlcXVpcmVkUHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChzUGF0aDogYW55KSB7XG5cdFx0XHRcdFx0aWYgKGFTZWxlY3RPcHRpb25zLmluZGV4T2Yoc1BhdGgpID09PSAtMSkge1xuXHRcdFx0XHRcdFx0YU5vdE1hdGNoZWRDb25kaXRpb25zLnB1c2goc1BhdGgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChhTm90TWF0Y2hlZENvbmRpdGlvbnMubGVuZ3RoID4gMSkge1xuXHRcdFx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShzSW50ZXJuYWxDb250ZXh0UGF0aCwge1xuXHRcdFx0XHRcdFx0XCJzaG93RXJyb3JcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlVGl0bGVcIjogb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX0VSUk9SX01FU1NBR0VfVElUTEVcIiksXG5cdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVwiOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fVklTVUFMX0ZJTFRFUlNfUFJPVklERV9GSUxURVJfVkFMX01VTFRJUExFVkZcIilcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzTGFiZWwgPVxuXHRcdFx0XHRcdFx0b01ldGFNb2RlbC5nZXRPYmplY3Qoc0VudGl0eVNldFBhdGggKyBcIi9cIiArIGFOb3RNYXRjaGVkQ29uZGl0aW9uc1swXSArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5MYWJlbFwiKSB8fFxuXHRcdFx0XHRcdFx0YU5vdE1hdGNoZWRDb25kaXRpb25zWzBdO1xuXHRcdFx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShzSW50ZXJuYWxDb250ZXh0UGF0aCwge1xuXHRcdFx0XHRcdFx0XCJzaG93RXJyb3JcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlVGl0bGVcIjogb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX0VSUk9SX01FU1NBR0VfVElUTEVcIiksXG5cdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVwiOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fVklTVUFMX0ZJTFRFUlNfUFJPVklERV9GSUxURVJfVkFMX1NJTkdMRVZGXCIsIHNMYWJlbClcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRhTm90TWF0Y2hlZENvbmRpdGlvbnMubGVuZ3RoID4gMVxuXHRcdFx0XHRcdD8gb0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNJbnRlcm5hbENvbnRleHRQYXRoLCB7XG5cdFx0XHRcdFx0XHRcdFwic2hvd0Vycm9yXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlVGl0bGVcIjogb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX0VSUk9SX01FU1NBR0VfVElUTEVcIiksXG5cdFx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlXCI6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19QUk9WSURFX0ZJTFRFUl9WQUxfTVVMVElQTEVWRlwiKVxuXHRcdFx0XHRcdCAgfSlcblx0XHRcdFx0XHQ6IG9JbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShzSW50ZXJuYWxDb250ZXh0UGF0aCwge1xuXHRcdFx0XHRcdFx0XHRcInNob3dFcnJvclwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVRpdGxlXCI6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19FUlJPUl9NRVNTQUdFX1RJVExFXCIpLFxuXHRcdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVwiOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcblx0XHRcdFx0XHRcdFx0XHRcIk1fVklTVUFMX0ZJTFRFUlNfUFJPVklERV9GSUxURVJfVkFMX1NJTkdMRVZGXCIsXG5cdFx0XHRcdFx0XHRcdFx0YU5vdE1hdGNoZWRDb25kaXRpb25zWzBdXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQgIH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICghdGhpcy5fb0NoYXJ0QmluZGluZyB8fCB0aGlzLl9vQ2hhcnRCaW5kaW5nICE9PSBvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nKSB7XG5cdFx0XHRpZiAodGhpcy5fb0NoYXJ0QmluZGluZykge1xuXHRcdFx0XHR0aGlzLmRldGFjaERhdGFSZWNlaXZlZEhhbmRsZXIodGhpcy5fb0NoYXJ0QmluZGluZyk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLmF0dGFjaERhdGFSZWNpdmVkSGFuZGxlcihvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nKTtcblx0XHRcdHRoaXMuX29DaGFydEJpbmRpbmcgPSBvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nO1xuXHRcdH1cblx0XHRjb25zdCBiU2hvd092ZXJsYXkgPVxuXHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LmdldFByb3BlcnR5KHNJbnRlcm5hbENvbnRleHRQYXRoKSAmJiBvSW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0UHJvcGVydHkoc0ludGVybmFsQ29udGV4dFBhdGgpLnNob3dFcnJvcjtcblx0XHRjb25zdCBzQ2hhcnRFbnRpdHlOYW1lID0gc0VudGl0eVNldFBhdGggIT09IFwiXCIgPyBzRW50aXR5U2V0UGF0aC5zcGxpdChcIi9cIilbMV0uc3BsaXQoXCIoXCIpWzBdIDogXCJcIjtcblx0XHRpZiAoYVBhcmFtZXRlcnMgJiYgYVBhcmFtZXRlcnMubGVuZ3RoICYmIHNGaWx0ZXJFbnRpdHlOYW1lID09PSBzQ2hhcnRFbnRpdHlOYW1lKSB7XG5cdFx0XHRjb25zdCBzQmluZGluZ1BhdGggPSBGaWx0ZXJVdGlscy5nZXRCaW5kaW5nUGF0aEZvclBhcmFtZXRlcnMob0ZpbHRlckJhciwgbUNvbmRpdGlvbnMsIGFQcm9wZXJ0eUluZm9TZXQsIGFQYXJhbWV0ZXJzKTtcblx0XHRcdGlmIChzQmluZGluZ1BhdGgpIHtcblx0XHRcdFx0b0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZy5zUGF0aCA9IHNCaW5kaW5nUGF0aDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gcmVzdW1lIGJpbmRpbmcgZm9yIG9ubHkgdGhvc2UgdmlzdWFsIGZpbHRlcnMgdGhhdCBkbyBub3QgaGF2ZSBhIGluIHBhcmFtZXRlciBhdHRhY2hlZC5cblx0XHQvLyBCaW5kaW5ncyBvZiB2aXN1YWwgZmlsdGVycyB3aXRoIGluUGFyYW1ldGVycyB3aWxsIGJlIHJlc3VtZWQgbGF0ZXIgYWZ0ZXIgY29uc2lkZXJpbmcgaW4gcGFyYW1ldGVycy5cblx0XHRpZiAob0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZyAmJiBvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nLmlzU3VzcGVuZGVkKCkgJiYgIWJTaG93T3ZlcmxheSkge1xuXHRcdFx0b0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZy5yZXN1bWUoKTtcblx0XHR9XG5cdH1cblxuXHRhdHRhY2hEYXRhUmVjaXZlZEhhbmRsZXIob0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZzogYW55KSB7XG5cdFx0aWYgKG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcpIHtcblx0XHRcdG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcuYXR0YWNoRXZlbnQoXCJkYXRhUmVjZWl2ZWRcIiwgdGhpcy5vbkludGVybmFsRGF0YVJlY2VpdmVkLCB0aGlzKTtcblx0XHRcdHRoaXMuX29DaGFydEJpbmRpbmcgPSBvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nO1xuXHRcdH1cblx0fVxuXG5cdGRldGFjaERhdGFSZWNlaXZlZEhhbmRsZXIob0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZzogYW55KSB7XG5cdFx0aWYgKG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcpIHtcblx0XHRcdG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcuZGV0YWNoRXZlbnQoXCJkYXRhUmVjZWl2ZWRcIiwgdGhpcy5vbkludGVybmFsRGF0YVJlY2VpdmVkLCB0aGlzKTtcblx0XHRcdHRoaXMuX29DaGFydEJpbmRpbmcgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cblx0c2V0U2hvd1ZhbHVlSGVscChiU2hvd1ZhbHVlSGVscDogYW55KSB7XG5cdFx0aWYgKHRoaXMuZ2V0SXRlbXMoKS5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBvVmlzdWFsRmlsdGVyQ29udHJvbCA9ICh0aGlzLmdldEl0ZW1zKClbMF0gYXMgYW55KS5nZXRJdGVtcygpWzBdO1xuXHRcdFx0b1Zpc3VhbEZpbHRlckNvbnRyb2wuZ2V0Q29udGVudCgpLnNvbWUoZnVuY3Rpb24gKG9Jbm5lckNvbnRyb2w6IGFueSkge1xuXHRcdFx0XHRpZiAob0lubmVyQ29udHJvbC5pc0EoXCJzYXAubS5CdXR0b25cIikpIHtcblx0XHRcdFx0XHRvSW5uZXJDb250cm9sLnNldFZpc2libGUoYlNob3dWYWx1ZUhlbHApO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdHRoaXMuc2V0UHJvcGVydHkoXCJzaG93VmFsdWVIZWxwXCIsIGJTaG93VmFsdWVIZWxwKTtcblx0XHR9XG5cdH1cblxuXHRzZXRWYWx1ZUhlbHBJY29uU3JjKHNJY29uU3JjOiBhbnkpIHtcblx0XHRpZiAodGhpcy5nZXRJdGVtcygpLmxlbmd0aCA+IDApIHtcblx0XHRcdGNvbnN0IG9WaXN1YWxGaWx0ZXJDb250cm9sID0gKHRoaXMuZ2V0SXRlbXMoKVswXSBhcyBhbnkpLmdldEl0ZW1zKClbMF07XG5cdFx0XHRvVmlzdWFsRmlsdGVyQ29udHJvbC5nZXRDb250ZW50KCkuc29tZShmdW5jdGlvbiAob0lubmVyQ29udHJvbDogYW55KSB7XG5cdFx0XHRcdGlmIChvSW5uZXJDb250cm9sLmlzQShcInNhcC5tLkJ1dHRvblwiKSkge1xuXHRcdFx0XHRcdG9Jbm5lckNvbnRyb2wuc2V0SWNvbihzSWNvblNyYyk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5zZXRQcm9wZXJ0eShcInZhbHVlSGVscEljb25TcmNcIiwgc0ljb25TcmMpO1xuXHRcdH1cblx0fVxuXG5cdG9uSW50ZXJuYWxEYXRhUmVjZWl2ZWQob0V2ZW50OiBhbnkpIHtcblx0XHRjb25zdCBzSWQgPSB0aGlzLmdldElkKCk7XG5cdFx0Y29uc3Qgb1ZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpO1xuXHRcdGNvbnN0IG9JbnRlcmFjdGl2ZUNoYXJ0ID0gKHRoaXMuZ2V0SXRlbXMoKVsxXSBhcyBhbnkpLmdldEl0ZW1zKClbMF07XG5cdFx0Y29uc3Qgc0ludGVybmFsQ29udGV4dFBhdGggPSB0aGlzLmRhdGEoXCJpbmZvUGF0aFwiKTtcblx0XHRjb25zdCBvSW50ZXJuYWxNb2RlbENvbnRleHQgPSBvSW50ZXJhY3RpdmVDaGFydC5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpO1xuXHRcdGNvbnN0IG9SZXNvdXJjZUJ1bmRsZSA9IChDb3JlIGFzIENvcmVFeCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLm1hY3Jvc1wiKTtcblx0XHRjb25zdCB2VU9NID0gb0ludGVyYWN0aXZlQ2hhcnQuZGF0YShcInVvbVwiKTtcblx0XHRWaXN1YWxGaWx0ZXJVdGlscy51cGRhdGVDaGFydFNjYWxlRmFjdG9yVGl0bGUob0ludGVyYWN0aXZlQ2hhcnQsIG9WaWV3LCBzSWQsIHNJbnRlcm5hbENvbnRleHRQYXRoKTtcblx0XHRpZiAob0V2ZW50LmdldFBhcmFtZXRlcihcImVycm9yXCIpKSB7XG5cdFx0XHRjb25zdCBzMThuTWVzc2FnZVRpdGxlID0gb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX0VSUk9SX01FU1NBR0VfVElUTEVcIik7XG5cdFx0XHRjb25zdCBzMThuTWVzc2FnZSA9IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19FUlJPUl9EQVRBX1RFWFRcIik7XG5cdFx0XHRWaXN1YWxGaWx0ZXJVdGlscy5hcHBseUVycm9yTWVzc2FnZUFuZFRpdGxlKHMxOG5NZXNzYWdlVGl0bGUsIHMxOG5NZXNzYWdlLCBzSW50ZXJuYWxDb250ZXh0UGF0aCwgb1ZpZXcpO1xuXHRcdH0gZWxzZSBpZiAob0V2ZW50LmdldFBhcmFtZXRlcihcImRhdGFcIikpIHtcblx0XHRcdGNvbnN0IG9EYXRhID0gb0V2ZW50LmdldFNvdXJjZSgpLmdldEN1cnJlbnRDb250ZXh0cygpO1xuXHRcdFx0aWYgKG9EYXRhICYmIG9EYXRhLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRWaXN1YWxGaWx0ZXJVdGlscy5zZXROb0RhdGFNZXNzYWdlKHNJbnRlcm5hbENvbnRleHRQYXRoLCBvUmVzb3VyY2VCdW5kbGUsIG9WaWV3KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShzSW50ZXJuYWxDb250ZXh0UGF0aCwge30pO1xuXHRcdFx0fVxuXHRcdFx0VmlzdWFsRmlsdGVyVXRpbHMuc2V0TXVsdGlVT01NZXNzYWdlKG9EYXRhLCBvSW50ZXJhY3RpdmVDaGFydCwgc0ludGVybmFsQ29udGV4dFBhdGgsIG9SZXNvdXJjZUJ1bmRsZSwgb1ZpZXcpO1xuXHRcdH1cblx0XHRpZiAodlVPTSAmJiAoKHZVT01bXCJJU09DdXJyZW5jeVwiXSAmJiB2VU9NW1wiSVNPQ3VycmVuY3lcIl0uJFBhdGgpIHx8ICh2VU9NW1wiVW5pdFwiXSAmJiB2VU9NW1wiVW5pdFwiXS4kUGF0aCkpKSB7XG5cdFx0XHRjb25zdCBvQ29udGV4dHMgPSBvRXZlbnQuZ2V0U291cmNlKCkuZ2V0Q29udGV4dHMoKTtcblx0XHRcdGNvbnN0IG9Db250ZXh0RGF0YSA9IG9Db250ZXh0cyAmJiBvQ29udGV4dHNbMF0uZ2V0T2JqZWN0KCk7XG5cdFx0XHRWaXN1YWxGaWx0ZXJVdGlscy5hcHBseVVPTVRvVGl0bGUob0ludGVyYWN0aXZlQ2hhcnQsIG9Db250ZXh0RGF0YSwgb1ZpZXcsIHNJbnRlcm5hbENvbnRleHRQYXRoKTtcblx0XHR9XG5cdH1cbn1cbmV4cG9ydCBkZWZhdWx0IFZpc3VhbEZpbHRlcjtcbiJdfQ==
|
|
308
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpc3VhbEZpbHRlci50cyJdLCJuYW1lcyI6WyJWaXN1YWxGaWx0ZXIiLCJkZWZpbmVVSTVDbGFzcyIsImltcGxlbWVudEludGVyZmFjZSIsInByb3BlcnR5IiwidHlwZSIsImV2ZW50Iiwib25BZnRlclJlbmRlcmluZyIsInNMYWJlbCIsIm9JbnRlcmFjdGl2ZUNoYXJ0IiwiZ2V0SXRlbXMiLCJzSW50ZXJuYWxDb250ZXh0UGF0aCIsImRhdGEiLCJvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nIiwiZ2V0QmluZGluZyIsIm9JbnRlcm5hbE1vZGVsQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0Iiwib1Jlc291cmNlQnVuZGxlIiwiQ29yZSIsImdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZSIsImJTaG93T3ZlckxheUluaXRpYWxseSIsIm9TZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbiIsIkNvbW1vbkhlbHBlciIsInBhcnNlQ3VzdG9tRGF0YSIsIlNlbGVjdE9wdGlvbnMiLCJhUmVxdWlyZWRQcm9wZXJ0aWVzIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwic0VudGl0eVNldFBhdGgiLCJnZXRQYXRoIiwib0ZpbHRlckJhciIsImdldFBhcmVudCIsImdldE1ldGFkYXRhIiwiZ2V0RWxlbWVudE5hbWUiLCJvRmlsdGVyQmFyQ29uZGl0aW9ucyIsImFQcm9wZXJ0eUluZm9TZXQiLCJzRmlsdGVyRW50aXR5TmFtZSIsImdldENvbmRpdGlvbnMiLCJnZXRQcm9wZXJ0eUluZm9TZXQiLCJzcGxpdCIsImFQYXJhbWV0ZXJzIiwiY3VzdG9tRGF0YSIsImZpbHRlckNvbmRpdGlvbnMiLCJnZXRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3Rpb25WYXJpYW50IiwiVmlzdWFsRmlsdGVyVXRpbHMiLCJnZXRDdXN0b21Db25kaXRpb25zIiwiYmluZCIsIm9TZWxlY3Rpb25WYXJpYW50Q29uZGl0aW9ucyIsImNvbnZlcnRGaWx0ZXJDb25kaW9ucyIsIm1Db25kaXRpb25zIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJzS2V5IiwibGVuZ3RoIiwic2V0UHJvcGVydHkiLCJnZXRUZXh0IiwiZ2V0T2JqZWN0IiwiYVNlbGVjdE9wdGlvbnMiLCJhTm90TWF0Y2hlZENvbmRpdGlvbnMiLCJvU2VsZWN0T3B0aW9uIiwicHVzaCIsIlByb3BlcnR5TmFtZSIsIiRQcm9wZXJ0eVBhdGgiLCJQYXJhbWV0ZXJzIiwib1BhcmFtZXRlciIsInNQYXRoIiwiaW5kZXhPZiIsIl9vQ2hhcnRCaW5kaW5nIiwiZGV0YWNoRGF0YVJlY2VpdmVkSGFuZGxlciIsImF0dGFjaERhdGFSZWNpdmVkSGFuZGxlciIsImJTaG93T3ZlcmxheSIsImdldFByb3BlcnR5Iiwic2hvd0Vycm9yIiwic0NoYXJ0RW50aXR5TmFtZSIsInNCaW5kaW5nUGF0aCIsIkZpbHRlclV0aWxzIiwiZ2V0QmluZGluZ1BhdGhGb3JQYXJhbWV0ZXJzIiwiaXNTdXNwZW5kZWQiLCJyZXN1bWUiLCJhdHRhY2hFdmVudCIsIm9uSW50ZXJuYWxEYXRhUmVjZWl2ZWQiLCJkZXRhY2hFdmVudCIsInVuZGVmaW5lZCIsInNldFNob3dWYWx1ZUhlbHAiLCJiU2hvd1ZhbHVlSGVscCIsIm9WaXN1YWxGaWx0ZXJDb250cm9sIiwiZ2V0Q29udGVudCIsInNvbWUiLCJvSW5uZXJDb250cm9sIiwiaXNBIiwic2V0VmlzaWJsZSIsInNldFZhbHVlSGVscEljb25TcmMiLCJzSWNvblNyYyIsInNldEljb24iLCJvRXZlbnQiLCJzSWQiLCJnZXRJZCIsIm9WaWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwidlVPTSIsInVwZGF0ZUNoYXJ0U2NhbGVGYWN0b3JUaXRsZSIsImdldFBhcmFtZXRlciIsInMxOG5NZXNzYWdlVGl0bGUiLCJzMThuTWVzc2FnZSIsImFwcGx5RXJyb3JNZXNzYWdlQW5kVGl0bGUiLCJvRGF0YSIsImdldFNvdXJjZSIsImdldEN1cnJlbnRDb250ZXh0cyIsInNldE5vRGF0YU1lc3NhZ2UiLCJzZXRNdWx0aVVPTU1lc3NhZ2UiLCIkUGF0aCIsIm9Db250ZXh0cyIsImdldENvbnRleHRzIiwib0NvbnRleHREYXRhIiwiYXBwbHlVT01Ub1RpdGxlIiwiVkJveCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFFTUEsWSxXQURMQyxjQUFjLENBQUMsNkNBQUQsQyxVQUViQyxrQkFBa0IsQ0FBQywwQkFBRCxDLFVBRWxCQyxRQUFRLENBQUM7QUFDVEMsSUFBQUEsSUFBSSxFQUFFO0FBREcsR0FBRCxDLFVBSVJELFFBQVEsQ0FBQztBQUNUQyxJQUFBQSxJQUFJLEVBQUU7QUFERyxHQUFELEMsVUFJUkMsS0FBSyxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBSU5DLGdCLEdBQUEsNEJBQW1CO0FBQ2xCLFVBQUlDLE1BQUo7QUFDQSxVQUFNQyxpQkFBaUIsR0FBSSxLQUFLQyxRQUFMLEdBQWdCLENBQWhCLENBQUQsQ0FBNEJBLFFBQTVCLEdBQXVDLENBQXZDLENBQTFCO0FBQ0EsVUFBTUMsb0JBQW9CLEdBQUcsS0FBS0MsSUFBTCxDQUFVLFVBQVYsQ0FBN0I7QUFDQSxVQUFNQyw0QkFBNEIsR0FDakNKLGlCQUFpQixDQUFDSyxVQUFsQixDQUE2QixVQUE3QixLQUE0Q0wsaUJBQWlCLENBQUNLLFVBQWxCLENBQTZCLE1BQTdCLENBQTVDLElBQW9GTCxpQkFBaUIsQ0FBQ0ssVUFBbEIsQ0FBNkIsUUFBN0IsQ0FEckY7QUFFQSxVQUFNQyxxQkFBcUIsR0FBR04saUJBQWlCLENBQUNPLGlCQUFsQixDQUFvQyxVQUFwQyxDQUE5QjtBQUNBLFVBQU1DLGVBQWUsR0FBSUMsSUFBRCxDQUFpQkMsd0JBQWpCLENBQTBDLGVBQTFDLENBQXhCO0FBQ0EsVUFBTUMscUJBQXFCLEdBQUdYLGlCQUFpQixDQUFDRyxJQUFsQixDQUF1Qixz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cUJBQXFCLENBQUN5QyxXQUF0QixDQUFrQzdDLG9CQUFsQyxFQUF3RCxFQUF4RDtBQUNBOztBQUNEa0MsUUFBQUEsaUJBQWlCLENBQUNtRSxrQkFBbEIsQ0FBcUNKLEtBQXJDLEVBQTRDbkcsaUJBQTVDLEVBQStERSxvQkFBL0QsRUFBcUZNLGVBQXJGLEVBQXNHa0YsS0FBdEc7QUFDQTs7QUFDRCxVQUFJRyxJQUFJLEtBQU1BLElBQUksQ0FBQyxhQUFELENBQUosSUFBdUJBLElBQUksQ0FBQyxhQUFELENBQUosQ0FBb0JXLEtBQTVDLElBQXVEWCxJQUFJLENBQUMsTUFBRCxDQUFKLElBQWdCQSxJQUFJLENBQUMsTUFBRCxDQUFKLENBQWFXLEtBQXpGLENBQVIsRUFBMEc7QUFDekcsWUFBTUMsU0FBUyxHQUFHbEIsTUFBTSxDQUFDYSxTQUFQLEdBQW1CTSxXQUFuQixFQUFsQjtBQUNBLFlBQU1DLFlBQVksR0FBR0YsU0FBUyxJQUFJQSxTQUFTLENBQUMsQ0FBRCxDQUFULENBQWF4RCxTQUFiLEVBQWxDO0FBQ0FiLFFBQUFBLGlCQUFpQixDQUFDd0UsZUFBbEIsQ0FBa0M1RyxpQkFBbEMsRUFBcUQyRyxZQUFyRCxFQUFtRWpCLEtBQW5FLEVBQTBFeEYsb0JBQTFFO0FBQ0E7QUFDRCxLOzs7SUE5TnlCMkcsSTs7Ozs7YUFFd0IsSTs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBOE5wQ3JILFkiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCBWaXN1YWxGaWx0ZXJVdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbHMvZmlsdGVyYmFyL3V0aWxzL1Zpc3VhbEZpbHRlclV0aWxzXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25IZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvQ29tbW9uSGVscGVyXCI7XG5pbXBvcnQgRmlsdGVyVXRpbHMgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyL0ZpbHRlclV0aWxzXCI7XG5pbXBvcnQgVkJveCBmcm9tIFwic2FwL20vVkJveFwiO1xuaW1wb3J0IENvcmUgZnJvbSBcInNhcC91aS9jb3JlL0NvcmVcIjtcbmltcG9ydCB0eXBlIHsgSUZvcm1Db250ZW50IH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIEZpbHRlckJhciBmcm9tIFwic2FwL3VpL21kYy9GaWx0ZXJCYXJcIjtcbmltcG9ydCB0eXBlIHsgQ29yZUV4IH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudCB9IGZyb20gXCIuLi8uLi90ZW1wbGF0aW5nL0ZpbHRlckhlbHBlclwiO1xuLyoqXG4gKiBDb25zdHJ1Y3RvciBmb3IgYSBuZXcgZmlsdGVyQmFyL2FsaWduZWQvRmlsdGVySXRlbUxheW91dC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW3NJZF0gSUQgZm9yIHRoZSBuZXcgY29udHJvbCwgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgaWYgbm8gSUQgaXMgZ2l2ZW5cbiAqIEBwYXJhbSB7b2JqZWN0fSBbbVNldHRpbmdzXSBJbml0aWFsIHNldHRpbmdzIGZvciB0aGUgbmV3IGNvbnRyb2xcbiAqIEBjbGFzcyBSZXByZXNlbnRzIGEgZmlsdGVyIGl0ZW0gb24gdGhlIFVJLlxuICogQGV4dGVuZHMgc2FwLm0uVkJveFxuICogQGltcGxlbWVudHMge3NhcC51aS5jb3JlLklGb3JtQ29udGVudH1cbiAqIEBjbGFzc1xuICogQHByaXZhdGVcbiAqIEBzaW5jZSAxLjYxLjBcbiAqIEBhbGlhcyBjb250cm9sIHNhcC5mZS5jb3JlLmNvbnRyb2xzLmZpbHRlcmJhci5WaXN1YWxGaWx0ZXJcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuZmlsdGVyYmFyLlZpc3VhbEZpbHRlclwiKVxuY2xhc3MgVmlzdWFsRmlsdGVyIGV4dGVuZHMgVkJveCBpbXBsZW1lbnRzIElGb3JtQ29udGVudCB7XG5cdEBpbXBsZW1lbnRJbnRlcmZhY2UoXCJzYXAudWkuY29yZS5JRm9ybUNvbnRlbnRcIilcblx0X19pbXBsZW1lbnRzX19zYXBfdWlfY29yZV9JRm9ybUNvbnRlbnQ6IGJvb2xlYW4gPSB0cnVlO1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdHNob3dWYWx1ZUhlbHAhOiBib29sZWFuO1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCJcblx0fSlcblx0dmFsdWVIZWxwSWNvblNyYyE6IHN0cmluZztcblx0QGV2ZW50KClcblx0dmFsdWVIZWxwUmVxdWVzdCE6IEZ1bmN0aW9uO1xuXHRwcml2YXRlIF9vQ2hhcnRCaW5kaW5nPzogYm9vbGVhbjtcblxuXHRvbkFmdGVyUmVuZGVyaW5nKCkge1xuXHRcdGxldCBzTGFiZWw7XG5cdFx0Y29uc3Qgb0ludGVyYWN0aXZlQ2hhcnQgPSAodGhpcy5nZXRJdGVtcygpWzFdIGFzIGFueSkuZ2V0SXRlbXMoKVswXTtcblx0XHRjb25zdCBzSW50ZXJuYWxDb250ZXh0UGF0aCA9IHRoaXMuZGF0YShcImluZm9QYXRoXCIpO1xuXHRcdGNvbnN0IG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcgPVxuXHRcdFx0b0ludGVyYWN0aXZlQ2hhcnQuZ2V0QmluZGluZyhcInNlZ21lbnRzXCIpIHx8IG9JbnRlcmFjdGl2ZUNoYXJ0LmdldEJpbmRpbmcoXCJiYXJzXCIpIHx8IG9JbnRlcmFjdGl2ZUNoYXJ0LmdldEJpbmRpbmcoXCJwb2ludHNcIik7XG5cdFx0Y29uc3Qgb0ludGVybmFsTW9kZWxDb250ZXh0ID0gb0ludGVyYWN0aXZlQ2hhcnQuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHRjb25zdCBvUmVzb3VyY2VCdW5kbGUgPSAoQ29yZSBhcyBDb3JlRXgpLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5tYWNyb3NcIik7XG5cdFx0Y29uc3QgYlNob3dPdmVyTGF5SW5pdGlhbGx5ID0gb0ludGVyYWN0aXZlQ2hhcnQuZGF0YShcInNob3dPdmVybGF5SW5pdGlhbGx5XCIpO1xuXHRcdGNvbnN0IG9TZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbjogYW55ID0gb0ludGVyYWN0aXZlQ2hhcnQuZGF0YShcInNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uXCIpXG5cdFx0XHQ/IENvbW1vbkhlbHBlci5wYXJzZUN1c3RvbURhdGEob0ludGVyYWN0aXZlQ2hhcnQuZGF0YShcInNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uXCIpKVxuXHRcdFx0OiB7IFNlbGVjdE9wdGlvbnM6IFtdIH07XG5cdFx0Y29uc3QgYVJlcXVpcmVkUHJvcGVydGllczogYW55W10gPSBvSW50ZXJhY3RpdmVDaGFydC5kYXRhKFwicmVxdWlyZWRQcm9wZXJ0aWVzXCIpXG5cdFx0XHQ/IChDb21tb25IZWxwZXIucGFyc2VDdXN0b21EYXRhKG9JbnRlcmFjdGl2ZUNoYXJ0LmRhdGEoXCJyZXF1aXJlZFByb3BlcnRpZXNcIikpIGFzIGFueVtdKVxuXHRcdFx0OiBbXTtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gb0ludGVyYWN0aXZlQ2hhcnQuZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKTtcblx0XHRjb25zdCBzRW50aXR5U2V0UGF0aCA9IG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcgPyBvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nLmdldFBhdGgoKSA6IFwiXCI7XG5cdFx0bGV0IG9GaWx0ZXJCYXIgPSB0aGlzLmdldFBhcmVudCgpLmdldFBhcmVudCgpIGFzIEZpbHRlckJhcjtcblx0XHQvLyBUT0RPOiBSZW1vdmUgdGhpcyBwYXJ0IG9uY2UgMjE3MDIwNDM0NyBpcyBmaXhlZFxuXHRcdGlmIChvRmlsdGVyQmFyLmdldE1ldGFkYXRhKCkuZ2V0RWxlbWVudE5hbWUoKSA9PT0gXCJzYXAudWkubWRjLmZpbHRlcmJhci5wMTNuLkFkYXB0YXRpb25GaWx0ZXJCYXJcIikge1xuXHRcdFx0b0ZpbHRlckJhciA9IG9GaWx0ZXJCYXIuZ2V0UGFyZW50KCkuZ2V0UGFyZW50KCkgYXMgRmlsdGVyQmFyO1xuXHRcdH1cblx0XHRsZXQgb0ZpbHRlckJhckNvbmRpdGlvbnM6IGFueSA9IHt9O1xuXHRcdGxldCBhUHJvcGVydHlJbmZvU2V0ID0gW107XG5cdFx0bGV0IHNGaWx0ZXJFbnRpdHlOYW1lO1xuXHRcdGlmIChvRmlsdGVyQmFyLmdldE1ldGFkYXRhKCkuZ2V0RWxlbWVudE5hbWUoKSA9PT0gXCJzYXAuZmUuY29yZS5jb250cm9scy5GaWx0ZXJCYXJcIikge1xuXHRcdFx0b0ZpbHRlckJhckNvbmRpdGlvbnMgPSBvRmlsdGVyQmFyLmdldENvbmRpdGlvbnMoKTtcblx0XHRcdGFQcm9wZXJ0eUluZm9TZXQgPSAob0ZpbHRlckJhciBhcyBhbnkpLmdldFByb3BlcnR5SW5mb1NldCgpO1xuXHRcdFx0c0ZpbHRlckVudGl0eU5hbWUgPSBvRmlsdGVyQmFyLmRhdGEoXCJlbnRpdHlUeXBlXCIpLnNwbGl0KFwiL1wiKVsxXTtcblx0XHR9XG5cdFx0Y29uc3QgYVBhcmFtZXRlcnMgPSBvSW50ZXJhY3RpdmVDaGFydC5kYXRhKFwicGFyYW1ldGVyc1wiKSA/IG9JbnRlcmFjdGl2ZUNoYXJ0LmRhdGEoXCJwYXJhbWV0ZXJzXCIpLmN1c3RvbURhdGEgOiBbXTtcblx0XHRjb25zdCBmaWx0ZXJDb25kaXRpb25zID0gZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudChcblx0XHRcdHNFbnRpdHlTZXRQYXRoLFxuXHRcdFx0b01ldGFNb2RlbCxcblx0XHRcdG9TZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbixcblx0XHRcdFZpc3VhbEZpbHRlclV0aWxzLmdldEN1c3RvbUNvbmRpdGlvbnMuYmluZChWaXN1YWxGaWx0ZXJVdGlscylcblx0XHQpO1xuXHRcdGNvbnN0IG9TZWxlY3Rpb25WYXJpYW50Q29uZGl0aW9ucyA9IFZpc3VhbEZpbHRlclV0aWxzLmNvbnZlcnRGaWx0ZXJDb25kaW9ucyhmaWx0ZXJDb25kaXRpb25zKTtcblx0XHRjb25zdCBtQ29uZGl0aW9uczogYW55ID0ge307XG5cblx0XHRPYmplY3Qua2V5cyhvRmlsdGVyQmFyQ29uZGl0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAoc0tleTogc3RyaW5nKSB7XG5cdFx0XHRpZiAob0ZpbHRlckJhckNvbmRpdGlvbnNbc0tleV0ubGVuZ3RoKSB7XG5cdFx0XHRcdG1Db25kaXRpb25zW3NLZXldID0gb0ZpbHRlckJhckNvbmRpdGlvbnNbc0tleV07XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRPYmplY3Qua2V5cyhvU2VsZWN0aW9uVmFyaWFudENvbmRpdGlvbnMpLmZvckVhY2goZnVuY3Rpb24gKHNLZXk6IHN0cmluZykge1xuXHRcdFx0aWYgKCFtQ29uZGl0aW9uc1tzS2V5XSkge1xuXHRcdFx0XHRtQ29uZGl0aW9uc1tzS2V5XSA9IG9TZWxlY3Rpb25WYXJpYW50Q29uZGl0aW9uc1tzS2V5XTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRpZiAoYlNob3dPdmVyTGF5SW5pdGlhbGx5ID09PSBcInRydWVcIikge1xuXHRcdFx0aWYgKCFPYmplY3Qua2V5cyhvU2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24pLmxlbmd0aCkge1xuXHRcdFx0XHRpZiAoYVJlcXVpcmVkUHJvcGVydGllcy5sZW5ndGggPiAxKSB7XG5cdFx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNJbnRlcm5hbENvbnRleHRQYXRoLCB7XG5cdFx0XHRcdFx0XHRcInNob3dFcnJvclwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJlcnJvck1lc3NhZ2VUaXRsZVwiOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fVklTVUFMX0ZJTFRFUlNfRVJST1JfTUVTU0FHRV9USVRMRVwiKSxcblx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlXCI6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19QUk9WSURFX0ZJTFRFUl9WQUxfTVVMVElQTEVWRlwiKVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNMYWJlbCA9XG5cdFx0XHRcdFx0XHRvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzRW50aXR5U2V0UGF0aH0vJHthUmVxdWlyZWRQcm9wZXJ0aWVzWzBdfUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuTGFiZWxgKSB8fFxuXHRcdFx0XHRcdFx0YVJlcXVpcmVkUHJvcGVydGllc1swXTtcblx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoc0ludGVybmFsQ29udGV4dFBhdGgsIHtcblx0XHRcdFx0XHRcdFwic2hvd0Vycm9yXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVRpdGxlXCI6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19FUlJPUl9NRVNTQUdFX1RJVExFXCIpLFxuXHRcdFx0XHRcdFx0XCJlcnJvck1lc3NhZ2VcIjogb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX1BST1ZJREVfRklMVEVSX1ZBTF9TSU5HTEVWRlwiLCBzTGFiZWwpXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGFTZWxlY3RPcHRpb25zOiBhbnlbXSA9IFtdO1xuXHRcdFx0XHRjb25zdCBhTm90TWF0Y2hlZENvbmRpdGlvbnM6IGFueVtdID0gW107XG5cdFx0XHRcdGlmIChvU2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24uU2VsZWN0T3B0aW9ucykge1xuXHRcdFx0XHRcdG9TZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbi5TZWxlY3RPcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9TZWxlY3RPcHRpb246IGFueSkge1xuXHRcdFx0XHRcdFx0YVNlbGVjdE9wdGlvbnMucHVzaChvU2VsZWN0T3B0aW9uLlByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAob1NlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uLlBhcmFtZXRlcnMpIHtcblx0XHRcdFx0XHRvU2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24uUGFyYW1ldGVycy5mb3JFYWNoKGZ1bmN0aW9uIChvUGFyYW1ldGVyOiBhbnkpIHtcblx0XHRcdFx0XHRcdGFTZWxlY3RPcHRpb25zLnB1c2gob1BhcmFtZXRlci5Qcm9wZXJ0eU5hbWUuJFByb3BlcnR5UGF0aCk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0YVJlcXVpcmVkUHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChzUGF0aDogYW55KSB7XG5cdFx0XHRcdFx0aWYgKGFTZWxlY3RPcHRpb25zLmluZGV4T2Yoc1BhdGgpID09PSAtMSkge1xuXHRcdFx0XHRcdFx0YU5vdE1hdGNoZWRDb25kaXRpb25zLnB1c2goc1BhdGgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChhTm90TWF0Y2hlZENvbmRpdGlvbnMubGVuZ3RoID4gMSkge1xuXHRcdFx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShzSW50ZXJuYWxDb250ZXh0UGF0aCwge1xuXHRcdFx0XHRcdFx0XCJzaG93RXJyb3JcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlVGl0bGVcIjogb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX0VSUk9SX01FU1NBR0VfVElUTEVcIiksXG5cdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVwiOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fVklTVUFMX0ZJTFRFUlNfUFJPVklERV9GSUxURVJfVkFMX01VTFRJUExFVkZcIilcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzTGFiZWwgPVxuXHRcdFx0XHRcdFx0b01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c0VudGl0eVNldFBhdGh9LyR7YU5vdE1hdGNoZWRDb25kaXRpb25zWzBdfUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuTGFiZWxgKSB8fFxuXHRcdFx0XHRcdFx0YU5vdE1hdGNoZWRDb25kaXRpb25zWzBdO1xuXHRcdFx0XHRcdG9JbnRlcm5hbE1vZGVsQ29udGV4dC5zZXRQcm9wZXJ0eShzSW50ZXJuYWxDb250ZXh0UGF0aCwge1xuXHRcdFx0XHRcdFx0XCJzaG93RXJyb3JcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlVGl0bGVcIjogb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX0VSUk9SX01FU1NBR0VfVElUTEVcIiksXG5cdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVwiOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fVklTVUFMX0ZJTFRFUlNfUFJPVklERV9GSUxURVJfVkFMX1NJTkdMRVZGXCIsIHNMYWJlbClcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoYU5vdE1hdGNoZWRDb25kaXRpb25zLmxlbmd0aCA+IDEpIHtcblx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoc0ludGVybmFsQ29udGV4dFBhdGgsIHtcblx0XHRcdFx0XHRcdFwic2hvd0Vycm9yXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcImVycm9yTWVzc2FnZVRpdGxlXCI6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19FUlJPUl9NRVNTQUdFX1RJVExFXCIpLFxuXHRcdFx0XHRcdFx0XCJlcnJvck1lc3NhZ2VcIjogb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX1BST1ZJREVfRklMVEVSX1ZBTF9NVUxUSVBMRVZGXCIpXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNJbnRlcm5hbENvbnRleHRQYXRoLCB7XG5cdFx0XHRcdFx0XHRcInNob3dFcnJvclwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJlcnJvck1lc3NhZ2VUaXRsZVwiOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fVklTVUFMX0ZJTFRFUlNfRVJST1JfTUVTU0FHRV9USVRMRVwiKSxcblx0XHRcdFx0XHRcdFwiZXJyb3JNZXNzYWdlXCI6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9WSVNVQUxfRklMVEVSU19QUk9WSURFX0ZJTFRFUl9WQUxfU0lOR0xFVkZcIiwgYU5vdE1hdGNoZWRDb25kaXRpb25zWzBdKVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLl9vQ2hhcnRCaW5kaW5nIHx8IHRoaXMuX29DaGFydEJpbmRpbmcgIT09IG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcpIHtcblx0XHRcdGlmICh0aGlzLl9vQ2hhcnRCaW5kaW5nKSB7XG5cdFx0XHRcdHRoaXMuZGV0YWNoRGF0YVJlY2VpdmVkSGFuZGxlcih0aGlzLl9vQ2hhcnRCaW5kaW5nKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuYXR0YWNoRGF0YVJlY2l2ZWRIYW5kbGVyKG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcpO1xuXHRcdFx0dGhpcy5fb0NoYXJ0QmluZGluZyA9IG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmc7XG5cdFx0fVxuXHRcdGNvbnN0IGJTaG93T3ZlcmxheSA9XG5cdFx0XHRvSW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0UHJvcGVydHkoc0ludGVybmFsQ29udGV4dFBhdGgpICYmIG9JbnRlcm5hbE1vZGVsQ29udGV4dC5nZXRQcm9wZXJ0eShzSW50ZXJuYWxDb250ZXh0UGF0aCkuc2hvd0Vycm9yO1xuXHRcdGNvbnN0IHNDaGFydEVudGl0eU5hbWUgPSBzRW50aXR5U2V0UGF0aCAhPT0gXCJcIiA/IHNFbnRpdHlTZXRQYXRoLnNwbGl0KFwiL1wiKVsxXS5zcGxpdChcIihcIilbMF0gOiBcIlwiO1xuXHRcdGlmIChhUGFyYW1ldGVycyAmJiBhUGFyYW1ldGVycy5sZW5ndGggJiYgc0ZpbHRlckVudGl0eU5hbWUgPT09IHNDaGFydEVudGl0eU5hbWUpIHtcblx0XHRcdGNvbnN0IHNCaW5kaW5nUGF0aCA9IEZpbHRlclV0aWxzLmdldEJpbmRpbmdQYXRoRm9yUGFyYW1ldGVycyhvRmlsdGVyQmFyLCBtQ29uZGl0aW9ucywgYVByb3BlcnR5SW5mb1NldCwgYVBhcmFtZXRlcnMpO1xuXHRcdFx0aWYgKHNCaW5kaW5nUGF0aCkge1xuXHRcdFx0XHRvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nLnNQYXRoID0gc0JpbmRpbmdQYXRoO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyByZXN1bWUgYmluZGluZyBmb3Igb25seSB0aG9zZSB2aXN1YWwgZmlsdGVycyB0aGF0IGRvIG5vdCBoYXZlIGEgaW4gcGFyYW1ldGVyIGF0dGFjaGVkLlxuXHRcdC8vIEJpbmRpbmdzIG9mIHZpc3VhbCBmaWx0ZXJzIHdpdGggaW5QYXJhbWV0ZXJzIHdpbGwgYmUgcmVzdW1lZCBsYXRlciBhZnRlciBjb25zaWRlcmluZyBpbiBwYXJhbWV0ZXJzLlxuXHRcdGlmIChvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nICYmIG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmcuaXNTdXNwZW5kZWQoKSAmJiAhYlNob3dPdmVybGF5KSB7XG5cdFx0XHRvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nLnJlc3VtZSgpO1xuXHRcdH1cblx0fVxuXG5cdGF0dGFjaERhdGFSZWNpdmVkSGFuZGxlcihvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nOiBhbnkpIHtcblx0XHRpZiAob0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZykge1xuXHRcdFx0b0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZy5hdHRhY2hFdmVudChcImRhdGFSZWNlaXZlZFwiLCB0aGlzLm9uSW50ZXJuYWxEYXRhUmVjZWl2ZWQsIHRoaXMpO1xuXHRcdFx0dGhpcy5fb0NoYXJ0QmluZGluZyA9IG9JbnRlcmFjdGl2ZUNoYXJ0TGlzdEJpbmRpbmc7XG5cdFx0fVxuXHR9XG5cblx0ZGV0YWNoRGF0YVJlY2VpdmVkSGFuZGxlcihvSW50ZXJhY3RpdmVDaGFydExpc3RCaW5kaW5nOiBhbnkpIHtcblx0XHRpZiAob0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZykge1xuXHRcdFx0b0ludGVyYWN0aXZlQ2hhcnRMaXN0QmluZGluZy5kZXRhY2hFdmVudChcImRhdGFSZWNlaXZlZFwiLCB0aGlzLm9uSW50ZXJuYWxEYXRhUmVjZWl2ZWQsIHRoaXMpO1xuXHRcdFx0dGhpcy5fb0NoYXJ0QmluZGluZyA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHRzZXRTaG93VmFsdWVIZWxwKGJTaG93VmFsdWVIZWxwOiBhbnkpIHtcblx0XHRpZiAodGhpcy5nZXRJdGVtcygpLmxlbmd0aCA+IDApIHtcblx0XHRcdGNvbnN0IG9WaXN1YWxGaWx0ZXJDb250cm9sID0gKHRoaXMuZ2V0SXRlbXMoKVswXSBhcyBhbnkpLmdldEl0ZW1zKClbMF07XG5cdFx0XHRvVmlzdWFsRmlsdGVyQ29udHJvbC5nZXRDb250ZW50KCkuc29tZShmdW5jdGlvbiAob0lubmVyQ29udHJvbDogYW55KSB7XG5cdFx0XHRcdGlmIChvSW5uZXJDb250cm9sLmlzQShcInNhcC5tLkJ1dHRvblwiKSkge1xuXHRcdFx0XHRcdG9Jbm5lckNvbnRyb2wuc2V0VmlzaWJsZShiU2hvd1ZhbHVlSGVscCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5zZXRQcm9wZXJ0eShcInNob3dWYWx1ZUhlbHBcIiwgYlNob3dWYWx1ZUhlbHApO1xuXHRcdH1cblx0fVxuXG5cdHNldFZhbHVlSGVscEljb25TcmMoc0ljb25TcmM6IGFueSkge1xuXHRcdGlmICh0aGlzLmdldEl0ZW1zKCkubGVuZ3RoID4gMCkge1xuXHRcdFx0Y29uc3Qgb1Zpc3VhbEZpbHRlckNvbnRyb2wgPSAodGhpcy5nZXRJdGVtcygpWzBdIGFzIGFueSkuZ2V0SXRlbXMoKVswXTtcblx0XHRcdG9WaXN1YWxGaWx0ZXJDb250cm9sLmdldENvbnRlbnQoKS5zb21lKGZ1bmN0aW9uIChvSW5uZXJDb250cm9sOiBhbnkpIHtcblx0XHRcdFx0aWYgKG9Jbm5lckNvbnRyb2wuaXNBKFwic2FwLm0uQnV0dG9uXCIpKSB7XG5cdFx0XHRcdFx0b0lubmVyQ29udHJvbC5zZXRJY29uKHNJY29uU3JjKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLnNldFByb3BlcnR5KFwidmFsdWVIZWxwSWNvblNyY1wiLCBzSWNvblNyYyk7XG5cdFx0fVxuXHR9XG5cblx0b25JbnRlcm5hbERhdGFSZWNlaXZlZChvRXZlbnQ6IGFueSkge1xuXHRcdGNvbnN0IHNJZCA9IHRoaXMuZ2V0SWQoKTtcblx0XHRjb25zdCBvVmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyk7XG5cdFx0Y29uc3Qgb0ludGVyYWN0aXZlQ2hhcnQgPSAodGhpcy5nZXRJdGVtcygpWzFdIGFzIGFueSkuZ2V0SXRlbXMoKVswXTtcblx0XHRjb25zdCBzSW50ZXJuYWxDb250ZXh0UGF0aCA9IHRoaXMuZGF0YShcImluZm9QYXRoXCIpO1xuXHRcdGNvbnN0IG9JbnRlcm5hbE1vZGVsQ29udGV4dCA9IG9JbnRlcmFjdGl2ZUNoYXJ0LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIik7XG5cdFx0Y29uc3Qgb1Jlc291cmNlQnVuZGxlID0gKENvcmUgYXMgQ29yZUV4KS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUubWFjcm9zXCIpO1xuXHRcdGNvbnN0IHZVT00gPSBvSW50ZXJhY3RpdmVDaGFydC5kYXRhKFwidW9tXCIpO1xuXHRcdFZpc3VhbEZpbHRlclV0aWxzLnVwZGF0ZUNoYXJ0U2NhbGVGYWN0b3JUaXRsZShvSW50ZXJhY3RpdmVDaGFydCwgb1ZpZXcsIHNJZCwgc0ludGVybmFsQ29udGV4dFBhdGgpO1xuXHRcdGlmIChvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiZXJyb3JcIikpIHtcblx0XHRcdGNvbnN0IHMxOG5NZXNzYWdlVGl0bGUgPSBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fVklTVUFMX0ZJTFRFUlNfRVJST1JfTUVTU0FHRV9USVRMRVwiKTtcblx0XHRcdGNvbnN0IHMxOG5NZXNzYWdlID0gb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1ZJU1VBTF9GSUxURVJTX0VSUk9SX0RBVEFfVEVYVFwiKTtcblx0XHRcdFZpc3VhbEZpbHRlclV0aWxzLmFwcGx5RXJyb3JNZXNzYWdlQW5kVGl0bGUoczE4bk1lc3NhZ2VUaXRsZSwgczE4bk1lc3NhZ2UsIHNJbnRlcm5hbENvbnRleHRQYXRoLCBvVmlldyk7XG5cdFx0fSBlbHNlIGlmIChvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiZGF0YVwiKSkge1xuXHRcdFx0Y29uc3Qgb0RhdGEgPSBvRXZlbnQuZ2V0U291cmNlKCkuZ2V0Q3VycmVudENvbnRleHRzKCk7XG5cdFx0XHRpZiAob0RhdGEgJiYgb0RhdGEubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdFZpc3VhbEZpbHRlclV0aWxzLnNldE5vRGF0YU1lc3NhZ2Uoc0ludGVybmFsQ29udGV4dFBhdGgsIG9SZXNvdXJjZUJ1bmRsZSwgb1ZpZXcpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0b0ludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KHNJbnRlcm5hbENvbnRleHRQYXRoLCB7fSk7XG5cdFx0XHR9XG5cdFx0XHRWaXN1YWxGaWx0ZXJVdGlscy5zZXRNdWx0aVVPTU1lc3NhZ2Uob0RhdGEsIG9JbnRlcmFjdGl2ZUNoYXJ0LCBzSW50ZXJuYWxDb250ZXh0UGF0aCwgb1Jlc291cmNlQnVuZGxlLCBvVmlldyk7XG5cdFx0fVxuXHRcdGlmICh2VU9NICYmICgodlVPTVtcIklTT0N1cnJlbmN5XCJdICYmIHZVT01bXCJJU09DdXJyZW5jeVwiXS4kUGF0aCkgfHwgKHZVT01bXCJVbml0XCJdICYmIHZVT01bXCJVbml0XCJdLiRQYXRoKSkpIHtcblx0XHRcdGNvbnN0IG9Db250ZXh0cyA9IG9FdmVudC5nZXRTb3VyY2UoKS5nZXRDb250ZXh0cygpO1xuXHRcdFx0Y29uc3Qgb0NvbnRleHREYXRhID0gb0NvbnRleHRzICYmIG9Db250ZXh0c1swXS5nZXRPYmplY3QoKTtcblx0XHRcdFZpc3VhbEZpbHRlclV0aWxzLmFwcGx5VU9NVG9UaXRsZShvSW50ZXJhY3RpdmVDaGFydCwgb0NvbnRleHREYXRhLCBvVmlldywgc0ludGVybmFsQ29udGV4dFBhdGgpO1xuXHRcdH1cblx0fVxufVxuZXhwb3J0IGRlZmF1bHQgVmlzdWFsRmlsdGVyO1xuIl19
|
|
@@ -5,10 +5,9 @@ import CommonHelper from "sap/fe/macros/CommonHelper";
|
|
|
5
5
|
import FilterUtils from "sap/fe/macros/filter/FilterUtils";
|
|
6
6
|
import VBox from "sap/m/VBox";
|
|
7
7
|
import Core from "sap/ui/core/Core";
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { CoreEx } from "types/extension_types";
|
|
8
|
+
import type { IFormContent } from "sap/ui/core/library";
|
|
9
|
+
import type FilterBar from "sap/ui/mdc/FilterBar";
|
|
10
|
+
import type { CoreEx } from "types/extension_types";
|
|
12
11
|
import { getFiltersConditionsFromSelectionVariant } from "../../templating/FilterHelper";
|
|
13
12
|
/**
|
|
14
13
|
* Constructor for a new filterBar/aligned/FilterItemLayout.
|
|
@@ -58,13 +57,13 @@ class VisualFilter extends VBox implements IFormContent {
|
|
|
58
57
|
const sEntitySetPath = oInteractiveChartListBinding ? oInteractiveChartListBinding.getPath() : "";
|
|
59
58
|
let oFilterBar = this.getParent().getParent() as FilterBar;
|
|
60
59
|
// TODO: Remove this part once 2170204347 is fixed
|
|
61
|
-
if (
|
|
60
|
+
if (oFilterBar.getMetadata().getElementName() === "sap.ui.mdc.filterbar.p13n.AdaptationFilterBar") {
|
|
62
61
|
oFilterBar = oFilterBar.getParent().getParent() as FilterBar;
|
|
63
62
|
}
|
|
64
63
|
let oFilterBarConditions: any = {};
|
|
65
64
|
let aPropertyInfoSet = [];
|
|
66
65
|
let sFilterEntityName;
|
|
67
|
-
if (
|
|
66
|
+
if (oFilterBar.getMetadata().getElementName() === "sap.fe.core.controls.FilterBar") {
|
|
68
67
|
oFilterBarConditions = oFilterBar.getConditions();
|
|
69
68
|
aPropertyInfoSet = (oFilterBar as any).getPropertyInfoSet();
|
|
70
69
|
sFilterEntityName = oFilterBar.data("entityType").split("/")[1];
|
|
@@ -100,7 +99,7 @@ class VisualFilter extends VBox implements IFormContent {
|
|
|
100
99
|
});
|
|
101
100
|
} else {
|
|
102
101
|
sLabel =
|
|
103
|
-
oMetaModel.getObject(sEntitySetPath
|
|
102
|
+
oMetaModel.getObject(`${sEntitySetPath}/${aRequiredProperties[0]}@com.sap.vocabularies.Common.v1.Label`) ||
|
|
104
103
|
aRequiredProperties[0];
|
|
105
104
|
oInternalModelContext.setProperty(sInternalContextPath, {
|
|
106
105
|
"showError": true,
|
|
@@ -134,7 +133,7 @@ class VisualFilter extends VBox implements IFormContent {
|
|
|
134
133
|
});
|
|
135
134
|
} else {
|
|
136
135
|
sLabel =
|
|
137
|
-
oMetaModel.getObject(sEntitySetPath
|
|
136
|
+
oMetaModel.getObject(`${sEntitySetPath}/${aNotMatchedConditions[0]}@com.sap.vocabularies.Common.v1.Label`) ||
|
|
138
137
|
aNotMatchedConditions[0];
|
|
139
138
|
oInternalModelContext.setProperty(sInternalContextPath, {
|
|
140
139
|
"showError": true,
|
|
@@ -142,20 +141,19 @@ class VisualFilter extends VBox implements IFormContent {
|
|
|
142
141
|
"errorMessage": oResourceBundle.getText("M_VISUAL_FILTERS_PROVIDE_FILTER_VAL_SINGLEVF", sLabel)
|
|
143
142
|
});
|
|
144
143
|
}
|
|
145
|
-
aNotMatchedConditions.length > 1
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
});
|
|
144
|
+
if (aNotMatchedConditions.length > 1) {
|
|
145
|
+
oInternalModelContext.setProperty(sInternalContextPath, {
|
|
146
|
+
"showError": true,
|
|
147
|
+
"errorMessageTitle": oResourceBundle.getText("M_VISUAL_FILTERS_ERROR_MESSAGE_TITLE"),
|
|
148
|
+
"errorMessage": oResourceBundle.getText("M_VISUAL_FILTERS_PROVIDE_FILTER_VAL_MULTIPLEVF")
|
|
149
|
+
});
|
|
150
|
+
} else {
|
|
151
|
+
oInternalModelContext.setProperty(sInternalContextPath, {
|
|
152
|
+
"showError": true,
|
|
153
|
+
"errorMessageTitle": oResourceBundle.getText("M_VISUAL_FILTERS_ERROR_MESSAGE_TITLE"),
|
|
154
|
+
"errorMessage": oResourceBundle.getText("M_VISUAL_FILTERS_PROVIDE_FILTER_VAL_SINGLEVF", aNotMatchedConditions[0])
|
|
155
|
+
});
|
|
156
|
+
}
|
|
159
157
|
}
|
|
160
158
|
}
|
|
161
159
|
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/
|
|
5
|
+
sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/m/FlexBox", "sap/m/HeaderContainer", "sap/ui/core/library", "sap/ui/Device", "sap/ui/mdc/filterbar/IFilterContainer"], function (ClassSupport, FlexBox, HeaderContainer, coreLibrabry, Device, IFilterContainer) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _dec2, _class, _class2, _descriptor;
|
|
9
9
|
|
|
10
|
+
var system = Device.system;
|
|
10
11
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
11
12
|
var aggregation = ClassSupport.aggregation;
|
|
12
|
-
var system = Device.system;
|
|
13
13
|
|
|
14
14
|
function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
|
|
15
15
|
|
|
@@ -186,4 +186,4 @@ sap.ui.define(["sap/ui/mdc/filterbar/IFilterContainer", "sap/m/HeaderContainer",
|
|
|
186
186
|
})), _class2)) || _class);
|
|
187
187
|
return VisualFilterContainer;
|
|
188
188
|
}, false);
|
|
189
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpc3VhbEZpbHRlckNvbnRhaW5lci50cyJdLCJuYW1lcyI6WyJWaXN1YWxGaWx0ZXJDb250YWluZXIiLCJkZWZpbmVVSTVDbGFzcyIsImFnZ3JlZ2F0aW9uIiwidHlwZSIsIm11bHRpcGxlIiwidmlzaWJpbGl0eSIsImluaXQiLCJhcmdzIiwic0RldmljZVN5c3RlbSIsInN5c3RlbSIsIk9yaWVudGF0aW9uIiwiY29yZUxpYnJhYnJ5Iiwic09yaWVudGF0aW9uIiwicGhvbmUiLCJWZXJ0aWNhbCIsInVuZGVmaW5lZCIsInNEaXJlY3Rpb24iLCJvSGVhZGVyQ29udGFpbmVyIiwiSGVhZGVyQ29udGFpbmVyIiwib3JpZW50YXRpb24iLCJvQnV0dG9uRmxleEJveCIsIkZsZXhCb3giLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJvTGF5b3V0IiwiZGlyZWN0aW9uIiwiaXRlbXMiLCJhQWxsRmlsdGVyRmllbGRzIiwiYVZpc3VhbEZpbHRlckZpZWxkcyIsImV4aXQiLCJnZXRBbGxGaWx0ZXJGaWVsZHMiLCJmb3JFYWNoIiwib0ZpbHRlckZpZWxkIiwiZGVzdHJveSIsImluc2VydEZpbHRlckZpZWxkIiwib0NvbnRyb2wiLCJpSW5kZXgiLCJvRmlsdGVySXRlbUxheW91dEV2ZW50RGVsZWdhdGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsIl9mbkdldENvbnRlbnRDb3B5IiwiZ2V0Q29udGVudCIsImFDb250ZW50IiwicHVzaCIsIl9vRmlsdGVyRmllbGQiLCJyZW1vdmVFdmVudERlbGVnYXRlIiwiYWRkRXZlbnREZWxlZ2F0ZSIsIm9WaXN1YWxGaWx0ZXJzIiwic29tZSIsIm9Jbm5lckNvbnRyb2wiLCJzRkZJZCIsImdldElkIiwiaXNBIiwic2V0Q29udGVudCIsImluc2VydENvbnRlbnQiLCJyZW1vdmVGaWx0ZXJGaWVsZCIsInJlbW92ZUNvbnRlbnQiLCJyZW1vdmVBbGxGaWx0ZXJGaWVsZHMiLCJyZW1vdmVBbGxDb250ZW50IiwiZ2V0RmlsdGVyRmllbGRzIiwiYWRkQnV0dG9uIiwiaW5zZXJ0SXRlbSIsImdldEFsbEJ1dHRvbnMiLCJnZXRJdGVtcyIsInJldmVyc2UiLCJyZW1vdmVCdXR0b24iLCJyZW1vdmVJdGVtIiwic2xpY2UiLCJzZXRBbGxGaWx0ZXJGaWVsZHMiLCJhRmlsdGVyRmllbGRzIiwiSUZpbHRlckNvbnRhaW5lciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxxQixXQURMQyxjQUFjLENBQUMsc0RBQUQsQyxVQUViQyxXQUFXLENBQUM7QUFDWkMsSUFBQUEsSUFBSSxFQUFFLHFCQURNO0FBRVpDLElBQUFBLFFBQVEsRUFBRSxLQUZFO0FBR1pDLElBQUFBLFVBQVUsRUFBRTtBQUhBLEdBQUQsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQVVaQyxJLEdBQUEsZ0JBQXFCO0FBQUE7O0FBQUEseUNBQWJDLElBQWE7QUFBYkEsUUFBQUEsSUFBYTtBQUFBOztBQUNwQiwyREFBTUQsSUFBTixrREFBY0MsSUFBZCxHQURvQixDQUVwQjs7O0FBQ0EsVUFBTUMsYUFBYSxHQUFHQyxNQUF0QjtBQUFBLFVBQ0NDLFdBQVcsR0FBR0MsWUFBWSxDQUFDRCxXQUQ1QjtBQUFBLFVBRUNFLFlBQVksR0FBR0osYUFBYSxDQUFDSyxLQUFkLEdBQXNCSCxXQUFXLENBQUNJLFFBQWxDLEdBQTZDQyxTQUY3RDtBQUFBLFVBR0NDLFVBQVUsR0FBR1IsYUFBYSxDQUFDSyxLQUFkLEdBQXNCLGVBQXRCLEdBQXdDLFFBSHREO0FBS0EsV0FBS0ksZ0JBQUwsR0FBd0IsSUFBSUMsZUFBSixDQUFvQjtBQUMzQ0MsUUFBQUEsV0FBVyxFQUFFUDtBQUQ4QixPQUFwQixDQUF4QjtBQUdBLFdBQUtRLGNBQUwsR0FBc0IsSUFBSUMsT0FBSixDQUFZO0FBQ2pDQyxRQUFBQSxVQUFVLEVBQUUsS0FEcUI7QUFFakNDLFFBQUFBLGNBQWMsRUFBRTtBQUZp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QixDQUErQnpCLFFBQS9CO0FBQ0EsSzs7V0FDRDBCLGEsR0FBQSx5QkFBZ0I7QUFDZixhQUFPLEtBQUt6QyxjQUFMLENBQW9CMEMsUUFBcEIsR0FBK0JDLE9BQS9CLEVBQVA7QUFDQSxLOztXQUNEQyxZLEdBQUEsc0JBQWE3QixRQUFiLEVBQTRCO0FBQzNCLFdBQUtmLGNBQUwsQ0FBb0I2QyxVQUFwQixDQUErQjlCLFFBQS9CO0FBQ0EsSzs7V0FDREwsa0IsR0FBQSw4QkFBcUI7QUFDcEIsYUFBTyxLQUFLSCxnQkFBTCxDQUFzQnVDLEtBQXRCLEVBQVA7QUFDQSxLOztXQUNEQyxrQixHQUFBLDRCQUFtQkMsYUFBbkIsRUFBdUN4QyxtQkFBdkMsRUFBaUU7QUFDaEUsV0FBS0QsZ0JBQUwsR0FBd0J5QyxhQUF4QjtBQUNBLFdBQUt4QyxtQkFBTCxHQUEyQkEsbUJBQTNCO0FBQ0EsSzs7O0lBeEdrQ3lDLGdCOzs7Ozs7U0EyR3JCckUscUIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJRmlsdGVyQ29udGFpbmVyIGZyb20gXCJzYXAvdWkvbWRjL2ZpbHRlcmJhci9JRmlsdGVyQ29udGFpbmVyXCI7XG5pbXBvcnQgSGVhZGVyQ29udGFpbmVyIGZyb20gXCJzYXAvbS9IZWFkZXJDb250YWluZXJcIjtcbmltcG9ydCBGbGV4Qm94IGZyb20gXCJzYXAvbS9GbGV4Qm94XCI7XG5pbXBvcnQgeyBzeXN0ZW0gfSBmcm9tIFwic2FwL3VpL0RldmljZVwiO1xuaW1wb3J0IGNvcmVMaWJyYWJyeSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuLyoqXG4gKiBDb25zdHJ1Y3RvciBmb3IgYSBuZXcgVmlzdWFsIEZpbHRlciBDb250YWluZXIuXG4gKiBVc2VkIGZvciB2aXN1YWwgZmlsdGVycy5cbiAqXG4gKiBAZXh0ZW5kcyBzYXAudWkubWRjLmZpbHRlcmJhci5JRmlsdGVyQ29udGFpbmVyXG4gKiBAY2xhc3NcbiAqIEBwcml2YXRlXG4gKiBAYWxpYXMgc2FwLmZlLmNvcmUuY29udHJvbHMuZmlsdGVyYmFyLlZpc3VhbEZpbHRlckNvbnRhaW5lclxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5jb250cm9scy5maWx0ZXJiYXIuVmlzdWFsRmlsdGVyQ29udGFpbmVyXCIpXG5jbGFzcyBWaXN1YWxGaWx0ZXJDb250YWluZXIgZXh0ZW5kcyBJRmlsdGVyQ29udGFpbmVyIHtcblx0QGFnZ3JlZ2F0aW9uKHtcblx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRtdWx0aXBsZTogZmFsc2UsXG5cdFx0dmlzaWJpbGl0eTogXCJoaWRkZW5cIlxuXHR9KVxuXHQvKipcblx0ICogSW50ZXJuYWwgaGlkZGVuIGFnZ3JlZ2F0aW9uIHRvIGhvbGQgdGhlIGlubmVyIGxheW91dC5cblx0ICovXG5cdF9sYXlvdXQhOiBDb250cm9sO1xuXG5cdGluaXQoLi4uYXJnczogYW55W10pIHtcblx0XHRzdXBlci5pbml0KC4uLmFyZ3MpO1xuXHRcdC8vdmFyIG9SQiA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLnVpLm1kY1wiKTtcblx0XHRjb25zdCBzRGV2aWNlU3lzdGVtID0gc3lzdGVtLFxuXHRcdFx0T3JpZW50YXRpb24gPSBjb3JlTGlicmFicnkuT3JpZW50YXRpb24sXG5cdFx0XHRzT3JpZW50YXRpb24gPSBzRGV2aWNlU3lzdGVtLnBob25lID8gT3JpZW50YXRpb24uVmVydGljYWwgOiB1bmRlZmluZWQsXG5cdFx0XHRzRGlyZWN0aW9uID0gc0RldmljZVN5c3RlbS5waG9uZSA/IFwiQ29sdW1uUmV2ZXJzZVwiIDogXCJDb2x1bW5cIjtcblxuXHRcdHRoaXMub0hlYWRlckNvbnRhaW5lciA9IG5ldyBIZWFkZXJDb250YWluZXIoe1xuXHRcdFx0b3JpZW50YXRpb246IHNPcmllbnRhdGlvblxuXHRcdH0pO1xuXHRcdHRoaXMub0J1dHRvbkZsZXhCb3ggPSBuZXcgRmxleEJveCh7XG5cdFx0XHRhbGlnbkl0ZW1zOiBcIkVuZFwiLFxuXHRcdFx0anVzdGlmeUNvbnRlbnQ6IFwiRW5kXCJcblx0XHR9KTtcblxuXHRcdHRoaXMub0xheW91dCA9IG5ldyBGbGV4Qm94KHtcblx0XHRcdGRpcmVjdGlvbjogc0RpcmVjdGlvbiwgLy8gRGlyZWN0aW9uIGlzIENvbHVtbiBSZXZlcnNlIGZvciBQaG9uZVxuXHRcdFx0aXRlbXM6IFt0aGlzLm9IZWFkZXJDb250YWluZXIsIHRoaXMub0J1dHRvbkZsZXhCb3hdXG5cdFx0fSk7XG5cblx0XHR0aGlzLmFBbGxGaWx0ZXJGaWVsZHMgPSBbXTtcblx0XHR0aGlzLmFWaXN1YWxGaWx0ZXJGaWVsZHMgPSB7fTtcblx0fVxuXHRleGl0KC4uLmFyZ3M6IGFueVtdKSB7XG5cdFx0Ly8gZGVzdHJveSBsYXlvdXRcblx0XHRzdXBlci5leGl0KC4uLmFyZ3MpO1xuXHRcdC8vIGRlc3Ryb3kgYWxsIGZpbHRlciBmaWVsZHMgd2hpY2ggYXJlIG5vdCBpbiB0aGUgbGF5b3V0XG5cdFx0Y29uc3QgYUFsbEZpbHRlckZpZWxkcyA9IHRoaXMuZ2V0QWxsRmlsdGVyRmllbGRzKCk7XG5cdFx0YUFsbEZpbHRlckZpZWxkcy5mb3JFYWNoKGZ1bmN0aW9uKG9GaWx0ZXJGaWVsZDogYW55KSB7XG5cdFx0XHRvRmlsdGVyRmllbGQuZGVzdHJveSgpO1xuXHRcdH0pO1xuXHRcdHRoaXMub0hlYWRlckNvbnRhaW5lciA9IG51bGw7XG5cdFx0dGhpcy5vQnV0dG9uRmxleEJveCA9IG51bGw7XG5cdFx0dGhpcy5hQWxsRmlsdGVyRmllbGRzID0gW107XG5cdH1cblx0aW5zZXJ0RmlsdGVyRmllbGQob0NvbnRyb2w6IGFueSwgaUluZGV4OiBhbnkpIHtcblx0XHRjb25zdCBvRmlsdGVySXRlbUxheW91dEV2ZW50RGVsZWdhdGUgPSB7XG5cdFx0XHRvbkJlZm9yZVJlbmRlcmluZzogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdC8vIHZpc3VhbCBmaWx0ZXIgZG9lcyBub3QgbmVlZCB0byByZW5kZXIgYSBsYWJlbFxuXHRcdFx0XHQvLyBoZW5jZSBvdmVycmlkZSB0aGUgZ2V0Q29udGVudCBvZiB0aGUgRmlsdGVySXRlbUxheW91dFxuXHRcdFx0XHQvLyBhbmQgc3RvcmUgdGhlIG9yaWdpbmFsIGdldENvbnRlbnQgZm9yIGxhdGVyIHVzYWdlIGluIHRoZSBjb21wYWN0IGZpbHRlcnNcblx0XHRcdFx0aWYgKCFvQ29udHJvbC5fZm5HZXRDb250ZW50Q29weSkge1xuXHRcdFx0XHRcdG9Db250cm9sLl9mbkdldENvbnRlbnRDb3B5ID0gb0NvbnRyb2wuZ2V0Q29udGVudDtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBvdmVycmlkZSBnZXRDb250ZW50IG9mIEZpbHRlckl0ZW1MYXlvdXRcblx0XHRcdFx0Ly8gdG8gYWRkIG9ubHkgZmlsdGVyRmllbGQgYW5kIG5vdCBsYWJlbFxuXHRcdFx0XHRvQ29udHJvbC5nZXRDb250ZW50ID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0Y29uc3QgYUNvbnRlbnQgPSBbXTtcblx0XHRcdFx0XHRhQ29udGVudC5wdXNoKG9Db250cm9sLl9vRmlsdGVyRmllbGQpO1xuXHRcdFx0XHRcdHJldHVybiBhQ29udGVudDtcblx0XHRcdFx0fTtcblx0XHRcdFx0b0NvbnRyb2wucmVtb3ZlRXZlbnREZWxlZ2F0ZShvRmlsdGVySXRlbUxheW91dEV2ZW50RGVsZWdhdGUpO1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0b0NvbnRyb2wuYWRkRXZlbnREZWxlZ2F0ZShvRmlsdGVySXRlbUxheW91dEV2ZW50RGVsZWdhdGUpO1xuXG5cdFx0Ly8gU2V0dGluZyBWRiBjb250cm9sIGZvciB0aGUgRmlsdGVyZmllbGQuXG5cdFx0Y29uc3Qgb1Zpc3VhbEZpbHRlcnMgPSB0aGlzLmFWaXN1YWxGaWx0ZXJGaWVsZHM7XG5cdFx0b0NvbnRyb2wuZ2V0Q29udGVudCgpLnNvbWUoKG9Jbm5lckNvbnRyb2w6IGFueSkgPT4ge1xuXHRcdFx0Y29uc3Qgc0ZGSWQgPSBvSW5uZXJDb250cm9sLmdldElkKCk7XG5cdFx0XHRpZiAob1Zpc3VhbEZpbHRlcnNbc0ZGSWRdICYmIG9Jbm5lckNvbnRyb2wuaXNBKFwic2FwLnVpLm1kYy5GaWx0ZXJGaWVsZFwiKSkge1xuXHRcdFx0XHRvSW5uZXJDb250cm9sLnNldENvbnRlbnQob1Zpc3VhbEZpbHRlcnNbc0ZGSWRdKTtcblx0XHRcdFx0dGhpcy5vSGVhZGVyQ29udGFpbmVyLmluc2VydENvbnRlbnQob0NvbnRyb2wsIGlJbmRleCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmVtb3ZlRmlsdGVyRmllbGQob0NvbnRyb2w6IGFueSkge1xuXHRcdHRoaXMub0hlYWRlckNvbnRhaW5lci5yZW1vdmVDb250ZW50KG9Db250cm9sKTtcblx0fVxuXHRyZW1vdmVBbGxGaWx0ZXJGaWVsZHMoKSB7XG5cdFx0dGhpcy5hQWxsRmlsdGVyRmllbGRzID0gW107XG5cdFx0dGhpcy5hVmlzdWFsRmlsdGVyRmllbGRzID0ge307XG5cdFx0dGhpcy5vSGVhZGVyQ29udGFpbmVyLnJlbW92ZUFsbENvbnRlbnQoKTtcblx0fVxuXHRnZXRGaWx0ZXJGaWVsZHMoKSB7XG5cdFx0cmV0dXJuIHRoaXMub0hlYWRlckNvbnRhaW5lci5nZXRDb250ZW50KCk7XG5cdH1cblx0YWRkQnV0dG9uKG9Db250cm9sOiBhbnkpIHtcblx0XHR0aGlzLm9CdXR0b25GbGV4Qm94Lmluc2VydEl0ZW0ob0NvbnRyb2wpO1xuXHR9XG5cdGdldEFsbEJ1dHRvbnMoKSB7XG5cdFx0cmV0dXJuIHRoaXMub0J1dHRvbkZsZXhCb3guZ2V0SXRlbXMoKS5yZXZlcnNlKCk7XG5cdH1cblx0cmVtb3ZlQnV0dG9uKG9Db250cm9sOiBhbnkpIHtcblx0XHR0aGlzLm9CdXR0b25GbGV4Qm94LnJlbW92ZUl0ZW0ob0NvbnRyb2wpO1xuXHR9XG5cdGdldEFsbEZpbHRlckZpZWxkcygpIHtcblx0XHRyZXR1cm4gdGhpcy5hQWxsRmlsdGVyRmllbGRzLnNsaWNlKCk7XG5cdH1cblx0c2V0QWxsRmlsdGVyRmllbGRzKGFGaWx0ZXJGaWVsZHM6IGFueSwgYVZpc3VhbEZpbHRlckZpZWxkczogYW55KSB7XG5cdFx0dGhpcy5hQWxsRmlsdGVyRmllbGRzID0gYUZpbHRlckZpZWxkcztcblx0XHR0aGlzLmFWaXN1YWxGaWx0ZXJGaWVsZHMgPSBhVmlzdWFsRmlsdGVyRmllbGRzO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZpc3VhbEZpbHRlckNvbnRhaW5lcjtcbiJdfQ==
|
|
189
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpc3VhbEZpbHRlckNvbnRhaW5lci50cyJdLCJuYW1lcyI6WyJWaXN1YWxGaWx0ZXJDb250YWluZXIiLCJkZWZpbmVVSTVDbGFzcyIsImFnZ3JlZ2F0aW9uIiwidHlwZSIsIm11bHRpcGxlIiwidmlzaWJpbGl0eSIsImluaXQiLCJhcmdzIiwic0RldmljZVN5c3RlbSIsInN5c3RlbSIsIk9yaWVudGF0aW9uIiwiY29yZUxpYnJhYnJ5Iiwic09yaWVudGF0aW9uIiwicGhvbmUiLCJWZXJ0aWNhbCIsInVuZGVmaW5lZCIsInNEaXJlY3Rpb24iLCJvSGVhZGVyQ29udGFpbmVyIiwiSGVhZGVyQ29udGFpbmVyIiwib3JpZW50YXRpb24iLCJvQnV0dG9uRmxleEJveCIsIkZsZXhCb3giLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJvTGF5b3V0IiwiZGlyZWN0aW9uIiwiaXRlbXMiLCJhQWxsRmlsdGVyRmllbGRzIiwiYVZpc3VhbEZpbHRlckZpZWxkcyIsImV4aXQiLCJnZXRBbGxGaWx0ZXJGaWVsZHMiLCJmb3JFYWNoIiwib0ZpbHRlckZpZWxkIiwiZGVzdHJveSIsImluc2VydEZpbHRlckZpZWxkIiwib0NvbnRyb2wiLCJpSW5kZXgiLCJvRmlsdGVySXRlbUxheW91dEV2ZW50RGVsZWdhdGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsIl9mbkdldENvbnRlbnRDb3B5IiwiZ2V0Q29udGVudCIsImFDb250ZW50IiwicHVzaCIsIl9vRmlsdGVyRmllbGQiLCJyZW1vdmVFdmVudERlbGVnYXRlIiwiYWRkRXZlbnREZWxlZ2F0ZSIsIm9WaXN1YWxGaWx0ZXJzIiwic29tZSIsIm9Jbm5lckNvbnRyb2wiLCJzRkZJZCIsImdldElkIiwiaXNBIiwic2V0Q29udGVudCIsImluc2VydENvbnRlbnQiLCJyZW1vdmVGaWx0ZXJGaWVsZCIsInJlbW92ZUNvbnRlbnQiLCJyZW1vdmVBbGxGaWx0ZXJGaWVsZHMiLCJyZW1vdmVBbGxDb250ZW50IiwiZ2V0RmlsdGVyRmllbGRzIiwiYWRkQnV0dG9uIiwiaW5zZXJ0SXRlbSIsImdldEFsbEJ1dHRvbnMiLCJnZXRJdGVtcyIsInJldmVyc2UiLCJyZW1vdmVCdXR0b24iLCJyZW1vdmVJdGVtIiwic2xpY2UiLCJzZXRBbGxGaWx0ZXJGaWVsZHMiLCJhRmlsdGVyRmllbGRzIiwiSUZpbHRlckNvbnRhaW5lciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxxQixXQURMQyxjQUFjLENBQUMsc0RBQUQsQyxVQUViQyxXQUFXLENBQUM7QUFDWkMsSUFBQUEsSUFBSSxFQUFFLHFCQURNO0FBRVpDLElBQUFBLFFBQVEsRUFBRSxLQUZFO0FBR1pDLElBQUFBLFVBQVUsRUFBRTtBQUhBLEdBQUQsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQVVaQyxJLEdBQUEsZ0JBQXFCO0FBQUE7O0FBQUEseUNBQWJDLElBQWE7QUFBYkEsUUFBQUEsSUFBYTtBQUFBOztBQUNwQiwyREFBTUQsSUFBTixrREFBY0MsSUFBZCxHQURvQixDQUVwQjs7O0FBQ0EsVUFBTUMsYUFBYSxHQUFHQyxNQUF0QjtBQUFBLFVBQ0NDLFdBQVcsR0FBR0MsWUFBWSxDQUFDRCxXQUQ1QjtBQUFBLFVBRUNFLFlBQVksR0FBR0osYUFBYSxDQUFDSyxLQUFkLEdBQXNCSCxXQUFXLENBQUNJLFFBQWxDLEdBQTZDQyxTQUY3RDtBQUFBLFVBR0NDLFVBQVUsR0FBR1IsYUFBYSxDQUFDSyxLQUFkLEdBQXNCLGVBQXRCLEdBQXdDLFFBSHREO0FBS0EsV0FBS0ksZ0JBQUwsR0FBd0IsSUFBSUMsZUFBSixDQUFvQjtBQUMzQ0MsUUFBQUEsV0FBVyxFQUFFUDtBQUQ4QixPQUFwQixDQUF4QjtBQUdBLFdBQUtRLGNBQUwsR0FBc0IsSUFBSUMsT0FBSixDQUFZO0FBQ2pDQyxRQUFBQSxVQUFVLEVBQUUsS0FEcUI7QUFFakNDLFFBQUFBLGNBQWMsRUFBRTtBQUZp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QixDQUErQnpCLFFBQS9CO0FBQ0EsSzs7V0FDRDBCLGEsR0FBQSx5QkFBZ0I7QUFDZixhQUFPLEtBQUt6QyxjQUFMLENBQW9CMEMsUUFBcEIsR0FBK0JDLE9BQS9CLEVBQVA7QUFDQSxLOztXQUNEQyxZLEdBQUEsc0JBQWE3QixRQUFiLEVBQTRCO0FBQzNCLFdBQUtmLGNBQUwsQ0FBb0I2QyxVQUFwQixDQUErQjlCLFFBQS9CO0FBQ0EsSzs7V0FDREwsa0IsR0FBQSw4QkFBcUI7QUFDcEIsYUFBTyxLQUFLSCxnQkFBTCxDQUFzQnVDLEtBQXRCLEVBQVA7QUFDQSxLOztXQUNEQyxrQixHQUFBLDRCQUFtQkMsYUFBbkIsRUFBdUN4QyxtQkFBdkMsRUFBaUU7QUFDaEUsV0FBS0QsZ0JBQUwsR0FBd0J5QyxhQUF4QjtBQUNBLFdBQUt4QyxtQkFBTCxHQUEyQkEsbUJBQTNCO0FBQ0EsSzs7O0lBeEdrQ3lDLGdCOzs7Ozs7U0EyR3JCckUscUIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEZsZXhCb3ggZnJvbSBcInNhcC9tL0ZsZXhCb3hcIjtcbmltcG9ydCBIZWFkZXJDb250YWluZXIgZnJvbSBcInNhcC9tL0hlYWRlckNvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IGNvcmVMaWJyYWJyeSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IHsgc3lzdGVtIH0gZnJvbSBcInNhcC91aS9EZXZpY2VcIjtcbmltcG9ydCBJRmlsdGVyQ29udGFpbmVyIGZyb20gXCJzYXAvdWkvbWRjL2ZpbHRlcmJhci9JRmlsdGVyQ29udGFpbmVyXCI7XG4vKipcbiAqIENvbnN0cnVjdG9yIGZvciBhIG5ldyBWaXN1YWwgRmlsdGVyIENvbnRhaW5lci5cbiAqIFVzZWQgZm9yIHZpc3VhbCBmaWx0ZXJzLlxuICpcbiAqIEBleHRlbmRzIHNhcC51aS5tZGMuZmlsdGVyYmFyLklGaWx0ZXJDb250YWluZXJcbiAqIEBjbGFzc1xuICogQHByaXZhdGVcbiAqIEBhbGlhcyBzYXAuZmUuY29yZS5jb250cm9scy5maWx0ZXJiYXIuVmlzdWFsRmlsdGVyQ29udGFpbmVyXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLmNvbnRyb2xzLmZpbHRlcmJhci5WaXN1YWxGaWx0ZXJDb250YWluZXJcIilcbmNsYXNzIFZpc3VhbEZpbHRlckNvbnRhaW5lciBleHRlbmRzIElGaWx0ZXJDb250YWluZXIge1xuXHRAYWdncmVnYXRpb24oe1xuXHRcdHR5cGU6IFwic2FwLnVpLmNvcmUuQ29udHJvbFwiLFxuXHRcdG11bHRpcGxlOiBmYWxzZSxcblx0XHR2aXNpYmlsaXR5OiBcImhpZGRlblwiXG5cdH0pXG5cdC8qKlxuXHQgKiBJbnRlcm5hbCBoaWRkZW4gYWdncmVnYXRpb24gdG8gaG9sZCB0aGUgaW5uZXIgbGF5b3V0LlxuXHQgKi9cblx0X2xheW91dCE6IENvbnRyb2w7XG5cblx0aW5pdCguLi5hcmdzOiBhbnlbXSkge1xuXHRcdHN1cGVyLmluaXQoLi4uYXJncyk7XG5cdFx0Ly92YXIgb1JCID0gc2FwLnVpLmdldENvcmUoKS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAudWkubWRjXCIpO1xuXHRcdGNvbnN0IHNEZXZpY2VTeXN0ZW0gPSBzeXN0ZW0sXG5cdFx0XHRPcmllbnRhdGlvbiA9IGNvcmVMaWJyYWJyeS5PcmllbnRhdGlvbixcblx0XHRcdHNPcmllbnRhdGlvbiA9IHNEZXZpY2VTeXN0ZW0ucGhvbmUgPyBPcmllbnRhdGlvbi5WZXJ0aWNhbCA6IHVuZGVmaW5lZCxcblx0XHRcdHNEaXJlY3Rpb24gPSBzRGV2aWNlU3lzdGVtLnBob25lID8gXCJDb2x1bW5SZXZlcnNlXCIgOiBcIkNvbHVtblwiO1xuXG5cdFx0dGhpcy5vSGVhZGVyQ29udGFpbmVyID0gbmV3IEhlYWRlckNvbnRhaW5lcih7XG5cdFx0XHRvcmllbnRhdGlvbjogc09yaWVudGF0aW9uXG5cdFx0fSk7XG5cdFx0dGhpcy5vQnV0dG9uRmxleEJveCA9IG5ldyBGbGV4Qm94KHtcblx0XHRcdGFsaWduSXRlbXM6IFwiRW5kXCIsXG5cdFx0XHRqdXN0aWZ5Q29udGVudDogXCJFbmRcIlxuXHRcdH0pO1xuXG5cdFx0dGhpcy5vTGF5b3V0ID0gbmV3IEZsZXhCb3goe1xuXHRcdFx0ZGlyZWN0aW9uOiBzRGlyZWN0aW9uLCAvLyBEaXJlY3Rpb24gaXMgQ29sdW1uIFJldmVyc2UgZm9yIFBob25lXG5cdFx0XHRpdGVtczogW3RoaXMub0hlYWRlckNvbnRhaW5lciwgdGhpcy5vQnV0dG9uRmxleEJveF1cblx0XHR9KTtcblxuXHRcdHRoaXMuYUFsbEZpbHRlckZpZWxkcyA9IFtdO1xuXHRcdHRoaXMuYVZpc3VhbEZpbHRlckZpZWxkcyA9IHt9O1xuXHR9XG5cdGV4aXQoLi4uYXJnczogYW55W10pIHtcblx0XHQvLyBkZXN0cm95IGxheW91dFxuXHRcdHN1cGVyLmV4aXQoLi4uYXJncyk7XG5cdFx0Ly8gZGVzdHJveSBhbGwgZmlsdGVyIGZpZWxkcyB3aGljaCBhcmUgbm90IGluIHRoZSBsYXlvdXRcblx0XHRjb25zdCBhQWxsRmlsdGVyRmllbGRzID0gdGhpcy5nZXRBbGxGaWx0ZXJGaWVsZHMoKTtcblx0XHRhQWxsRmlsdGVyRmllbGRzLmZvckVhY2goZnVuY3Rpb24gKG9GaWx0ZXJGaWVsZDogYW55KSB7XG5cdFx0XHRvRmlsdGVyRmllbGQuZGVzdHJveSgpO1xuXHRcdH0pO1xuXHRcdHRoaXMub0hlYWRlckNvbnRhaW5lciA9IG51bGw7XG5cdFx0dGhpcy5vQnV0dG9uRmxleEJveCA9IG51bGw7XG5cdFx0dGhpcy5hQWxsRmlsdGVyRmllbGRzID0gW107XG5cdH1cblx0aW5zZXJ0RmlsdGVyRmllbGQob0NvbnRyb2w6IGFueSwgaUluZGV4OiBhbnkpIHtcblx0XHRjb25zdCBvRmlsdGVySXRlbUxheW91dEV2ZW50RGVsZWdhdGUgPSB7XG5cdFx0XHRvbkJlZm9yZVJlbmRlcmluZzogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHQvLyB2aXN1YWwgZmlsdGVyIGRvZXMgbm90IG5lZWQgdG8gcmVuZGVyIGEgbGFiZWxcblx0XHRcdFx0Ly8gaGVuY2Ugb3ZlcnJpZGUgdGhlIGdldENvbnRlbnQgb2YgdGhlIEZpbHRlckl0ZW1MYXlvdXRcblx0XHRcdFx0Ly8gYW5kIHN0b3JlIHRoZSBvcmlnaW5hbCBnZXRDb250ZW50IGZvciBsYXRlciB1c2FnZSBpbiB0aGUgY29tcGFjdCBmaWx0ZXJzXG5cdFx0XHRcdGlmICghb0NvbnRyb2wuX2ZuR2V0Q29udGVudENvcHkpIHtcblx0XHRcdFx0XHRvQ29udHJvbC5fZm5HZXRDb250ZW50Q29weSA9IG9Db250cm9sLmdldENvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gb3ZlcnJpZGUgZ2V0Q29udGVudCBvZiBGaWx0ZXJJdGVtTGF5b3V0XG5cdFx0XHRcdC8vIHRvIGFkZCBvbmx5IGZpbHRlckZpZWxkIGFuZCBub3QgbGFiZWxcblx0XHRcdFx0b0NvbnRyb2wuZ2V0Q29udGVudCA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRjb25zdCBhQ29udGVudCA9IFtdO1xuXHRcdFx0XHRcdGFDb250ZW50LnB1c2gob0NvbnRyb2wuX29GaWx0ZXJGaWVsZCk7XG5cdFx0XHRcdFx0cmV0dXJuIGFDb250ZW50O1xuXHRcdFx0XHR9O1xuXHRcdFx0XHRvQ29udHJvbC5yZW1vdmVFdmVudERlbGVnYXRlKG9GaWx0ZXJJdGVtTGF5b3V0RXZlbnREZWxlZ2F0ZSk7XG5cdFx0XHR9XG5cdFx0fTtcblx0XHRvQ29udHJvbC5hZGRFdmVudERlbGVnYXRlKG9GaWx0ZXJJdGVtTGF5b3V0RXZlbnREZWxlZ2F0ZSk7XG5cblx0XHQvLyBTZXR0aW5nIFZGIGNvbnRyb2wgZm9yIHRoZSBGaWx0ZXJmaWVsZC5cblx0XHRjb25zdCBvVmlzdWFsRmlsdGVycyA9IHRoaXMuYVZpc3VhbEZpbHRlckZpZWxkcztcblx0XHRvQ29udHJvbC5nZXRDb250ZW50KCkuc29tZSgob0lubmVyQ29udHJvbDogYW55KSA9PiB7XG5cdFx0XHRjb25zdCBzRkZJZCA9IG9Jbm5lckNvbnRyb2wuZ2V0SWQoKTtcblx0XHRcdGlmIChvVmlzdWFsRmlsdGVyc1tzRkZJZF0gJiYgb0lubmVyQ29udHJvbC5pc0EoXCJzYXAudWkubWRjLkZpbHRlckZpZWxkXCIpKSB7XG5cdFx0XHRcdG9Jbm5lckNvbnRyb2wuc2V0Q29udGVudChvVmlzdWFsRmlsdGVyc1tzRkZJZF0pO1xuXHRcdFx0XHR0aGlzLm9IZWFkZXJDb250YWluZXIuaW5zZXJ0Q29udGVudChvQ29udHJvbCwgaUluZGV4KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRyZW1vdmVGaWx0ZXJGaWVsZChvQ29udHJvbDogYW55KSB7XG5cdFx0dGhpcy5vSGVhZGVyQ29udGFpbmVyLnJlbW92ZUNvbnRlbnQob0NvbnRyb2wpO1xuXHR9XG5cdHJlbW92ZUFsbEZpbHRlckZpZWxkcygpIHtcblx0XHR0aGlzLmFBbGxGaWx0ZXJGaWVsZHMgPSBbXTtcblx0XHR0aGlzLmFWaXN1YWxGaWx0ZXJGaWVsZHMgPSB7fTtcblx0XHR0aGlzLm9IZWFkZXJDb250YWluZXIucmVtb3ZlQWxsQ29udGVudCgpO1xuXHR9XG5cdGdldEZpbHRlckZpZWxkcygpIHtcblx0XHRyZXR1cm4gdGhpcy5vSGVhZGVyQ29udGFpbmVyLmdldENvbnRlbnQoKTtcblx0fVxuXHRhZGRCdXR0b24ob0NvbnRyb2w6IGFueSkge1xuXHRcdHRoaXMub0J1dHRvbkZsZXhCb3guaW5zZXJ0SXRlbShvQ29udHJvbCk7XG5cdH1cblx0Z2V0QWxsQnV0dG9ucygpIHtcblx0XHRyZXR1cm4gdGhpcy5vQnV0dG9uRmxleEJveC5nZXRJdGVtcygpLnJldmVyc2UoKTtcblx0fVxuXHRyZW1vdmVCdXR0b24ob0NvbnRyb2w6IGFueSkge1xuXHRcdHRoaXMub0J1dHRvbkZsZXhCb3gucmVtb3ZlSXRlbShvQ29udHJvbCk7XG5cdH1cblx0Z2V0QWxsRmlsdGVyRmllbGRzKCkge1xuXHRcdHJldHVybiB0aGlzLmFBbGxGaWx0ZXJGaWVsZHMuc2xpY2UoKTtcblx0fVxuXHRzZXRBbGxGaWx0ZXJGaWVsZHMoYUZpbHRlckZpZWxkczogYW55LCBhVmlzdWFsRmlsdGVyRmllbGRzOiBhbnkpIHtcblx0XHR0aGlzLmFBbGxGaWx0ZXJGaWVsZHMgPSBhRmlsdGVyRmllbGRzO1xuXHRcdHRoaXMuYVZpc3VhbEZpbHRlckZpZWxkcyA9IGFWaXN1YWxGaWx0ZXJGaWVsZHM7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVmlzdWFsRmlsdGVyQ29udGFpbmVyO1xuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import HeaderContainer from "sap/m/HeaderContainer";
|
|
1
|
+
import { aggregation, defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
|
|
3
2
|
import FlexBox from "sap/m/FlexBox";
|
|
4
|
-
import
|
|
3
|
+
import HeaderContainer from "sap/m/HeaderContainer";
|
|
4
|
+
import type Control from "sap/ui/core/Control";
|
|
5
5
|
import coreLibrabry from "sap/ui/core/library";
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
6
|
+
import { system } from "sap/ui/Device";
|
|
7
|
+
import IFilterContainer from "sap/ui/mdc/filterbar/IFilterContainer";
|
|
8
8
|
/**
|
|
9
9
|
* Constructor for a new Visual Filter Container.
|
|
10
10
|
* Used for visual filters.
|
|
@@ -55,7 +55,7 @@ class VisualFilterContainer extends IFilterContainer {
|
|
|
55
55
|
super.exit(...args);
|
|
56
56
|
// destroy all filter fields which are not in the layout
|
|
57
57
|
const aAllFilterFields = this.getAllFilterFields();
|
|
58
|
-
aAllFilterFields.forEach(function(oFilterField: any) {
|
|
58
|
+
aAllFilterFields.forEach(function (oFilterField: any) {
|
|
59
59
|
oFilterField.destroy();
|
|
60
60
|
});
|
|
61
61
|
this.oHeaderContainer = null;
|
|
@@ -64,7 +64,7 @@ class VisualFilterContainer extends IFilterContainer {
|
|
|
64
64
|
}
|
|
65
65
|
insertFilterField(oControl: any, iIndex: any) {
|
|
66
66
|
const oFilterItemLayoutEventDelegate = {
|
|
67
|
-
onBeforeRendering: function() {
|
|
67
|
+
onBeforeRendering: function () {
|
|
68
68
|
// visual filter does not need to render a label
|
|
69
69
|
// hence override the getContent of the FilterItemLayout
|
|
70
70
|
// and store the original getContent for later usage in the compact filters
|
|
@@ -73,7 +73,7 @@ class VisualFilterContainer extends IFilterContainer {
|
|
|
73
73
|
}
|
|
74
74
|
// override getContent of FilterItemLayout
|
|
75
75
|
// to add only filterField and not label
|
|
76
|
-
oControl.getContent = function() {
|
|
76
|
+
oControl.getContent = function () {
|
|
77
77
|
const aContent = [];
|
|
78
78
|
aContent.push(oControl._oFilterField);
|
|
79
79
|
return aContent;
|