@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.
Files changed (311) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +62 -26
  4. package/src/sap/fe/core/AppComponent.ts +56 -40
  5. package/src/sap/fe/core/AppStateHandler.js +10 -10
  6. package/src/sap/fe/core/AppStateHandler.ts +9 -9
  7. package/src/sap/fe/core/BaseController.js +11 -9
  8. package/src/sap/fe/core/BaseController.ts +15 -13
  9. package/src/sap/fe/core/CommonUtils.js +236 -109
  10. package/src/sap/fe/core/CommonUtils.ts +252 -136
  11. package/src/sap/fe/core/ExtensionAPI.js +24 -27
  12. package/src/sap/fe/core/ExtensionAPI.ts +36 -38
  13. package/src/sap/fe/core/PageController.js +4 -4
  14. package/src/sap/fe/core/PageController.ts +4 -5
  15. package/src/sap/fe/core/TemplateComponent.js +1 -1
  16. package/src/sap/fe/core/TemplateComponent.ts +6 -6
  17. package/src/sap/fe/core/TemplateModel.js +1 -1
  18. package/src/sap/fe/core/TemplateModel.ts +1 -1
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +8 -8
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
  23. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
  24. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
  25. package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
  26. package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
  27. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  28. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  29. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +31 -26
  30. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
  31. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
  32. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
  33. package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
  34. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
  35. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  36. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  37. package/src/sap/fe/core/controllerextensions/MassEdit.js +8 -8
  38. package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
  39. package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
  40. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
  41. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  42. package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
  43. package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
  44. package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
  45. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  46. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  47. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  48. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  49. package/src/sap/fe/core/controllerextensions/Share.js +22 -22
  50. package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
  51. package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
  52. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  53. package/src/sap/fe/core/controllerextensions/ViewState.js +65 -62
  54. package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
  55. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  56. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +6 -6
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
  59. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
  60. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
  61. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
  62. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
  63. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +184 -137
  64. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
  65. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
  66. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
  67. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
  68. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
  69. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
  70. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
  71. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -44
  72. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
  73. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
  74. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
  75. package/src/sap/fe/core/controls/Any.js +9 -5
  76. package/src/sap/fe/core/controls/Any.ts +10 -4
  77. package/src/sap/fe/core/controls/CommandExecution.js +11 -25
  78. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  79. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  80. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  81. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
  82. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  83. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  84. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  85. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  86. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  87. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  88. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  89. package/src/sap/fe/core/controls/FileWrapper.js +2 -2
  90. package/src/sap/fe/core/controls/FileWrapper.ts +11 -11
  91. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  92. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  93. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  94. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  95. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  96. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  97. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  98. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  99. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  100. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  101. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  102. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +47 -47
  103. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
  104. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  105. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  106. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  107. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  108. package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
  109. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  110. package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
  111. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  112. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  113. package/src/sap/fe/core/converters/MetaModelConverter.js +50 -32
  114. package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
  115. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  116. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  117. package/src/sap/fe/core/converters/annotations/DataField.js +54 -34
  118. package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
  119. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  120. package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
  121. package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
  122. package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
  123. package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -26
  124. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  125. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  126. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
  127. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
  128. package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
  129. package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
  130. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  131. package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
  132. package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
  133. package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
  134. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  135. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
  136. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
  137. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +64 -57
  138. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  139. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  140. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  141. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  142. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  143. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  144. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +73 -72
  145. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
  146. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  147. package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
  148. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  149. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  150. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  151. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  152. package/src/sap/fe/core/converters/helpers/ID.js +46 -46
  153. package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
  154. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  155. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  156. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  157. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
  158. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  159. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  160. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  161. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  162. package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
  163. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
  164. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
  165. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
  166. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  167. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  168. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  169. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  170. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  171. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  172. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  173. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  174. package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
  175. package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
  176. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  177. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  178. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  179. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  180. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  181. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  182. package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
  183. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
  184. package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
  185. package/src/sap/fe/core/helpers/ClassSupport.ts +14 -10
  186. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  187. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  188. package/src/sap/fe/core/helpers/EditState.js +1 -6
  189. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  190. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  191. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  192. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  193. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  194. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  195. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  196. package/src/sap/fe/core/helpers/MassEditHelper.js +281 -254
  197. package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
  198. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  199. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  200. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  201. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  202. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  203. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  204. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  205. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  206. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  207. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  208. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  209. package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
  210. package/src/sap/fe/core/library.js +42 -3
  211. package/src/sap/fe/core/library.ts +38 -0
  212. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  213. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  214. package/src/sap/fe/core/messagebundle.properties +49 -35
  215. package/src/sap/fe/core/messagebundle_ar.properties +13 -5
  216. package/src/sap/fe/core/messagebundle_bg.properties +13 -5
  217. package/src/sap/fe/core/messagebundle_ca.properties +13 -5
  218. package/src/sap/fe/core/messagebundle_cs.properties +13 -5
  219. package/src/sap/fe/core/messagebundle_cy.properties +14 -6
  220. package/src/sap/fe/core/messagebundle_da.properties +13 -5
  221. package/src/sap/fe/core/messagebundle_de.properties +15 -7
  222. package/src/sap/fe/core/messagebundle_el.properties +14 -6
  223. package/src/sap/fe/core/messagebundle_en.properties +9 -1
  224. package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
  225. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
  226. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
  227. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
  228. package/src/sap/fe/core/messagebundle_es.properties +13 -5
  229. package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
  230. package/src/sap/fe/core/messagebundle_et.properties +13 -5
  231. package/src/sap/fe/core/messagebundle_fi.properties +14 -6
  232. package/src/sap/fe/core/messagebundle_fr.properties +14 -6
  233. package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
  234. package/src/sap/fe/core/messagebundle_hi.properties +14 -6
  235. package/src/sap/fe/core/messagebundle_hr.properties +14 -6
  236. package/src/sap/fe/core/messagebundle_hu.properties +13 -5
  237. package/src/sap/fe/core/messagebundle_id.properties +13 -5
  238. package/src/sap/fe/core/messagebundle_it.properties +33 -25
  239. package/src/sap/fe/core/messagebundle_iw.properties +13 -5
  240. package/src/sap/fe/core/messagebundle_ja.properties +14 -6
  241. package/src/sap/fe/core/messagebundle_kk.properties +13 -5
  242. package/src/sap/fe/core/messagebundle_ko.properties +13 -5
  243. package/src/sap/fe/core/messagebundle_lt.properties +13 -5
  244. package/src/sap/fe/core/messagebundle_lv.properties +14 -6
  245. package/src/sap/fe/core/messagebundle_ms.properties +13 -5
  246. package/src/sap/fe/core/messagebundle_nl.properties +13 -5
  247. package/src/sap/fe/core/messagebundle_no.properties +13 -5
  248. package/src/sap/fe/core/messagebundle_pl.properties +13 -5
  249. package/src/sap/fe/core/messagebundle_pt.properties +13 -5
  250. package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
  251. package/src/sap/fe/core/messagebundle_ro.properties +13 -5
  252. package/src/sap/fe/core/messagebundle_ru.properties +13 -5
  253. package/src/sap/fe/core/messagebundle_sh.properties +13 -5
  254. package/src/sap/fe/core/messagebundle_sk.properties +13 -5
  255. package/src/sap/fe/core/messagebundle_sl.properties +17 -9
  256. package/src/sap/fe/core/messagebundle_sv.properties +14 -6
  257. package/src/sap/fe/core/messagebundle_th.properties +13 -5
  258. package/src/sap/fe/core/messagebundle_tr.properties +13 -5
  259. package/src/sap/fe/core/messagebundle_uk.properties +13 -5
  260. package/src/sap/fe/core/messagebundle_vi.properties +13 -5
  261. package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
  262. package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
  263. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  264. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  265. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
  266. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
  267. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  268. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  269. package/src/sap/fe/core/services/NavigationServiceFactory.js +53 -44
  270. package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
  271. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  272. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  273. package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
  274. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  275. package/src/sap/fe/core/services/ShellServicesFactory.js +72 -76
  276. package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -82
  277. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  278. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  279. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +20 -15
  280. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
  281. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  282. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  283. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  284. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  285. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  286. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  287. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  288. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  289. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  290. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  291. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  292. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  293. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  294. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  295. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  296. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  297. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  298. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  299. package/src/sap/fe/core/templating/FilterHelper.js +10 -9
  300. package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
  301. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  302. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  303. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  304. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  305. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  306. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  307. package/src/sap/fe/core/templating/UIFormatters.js +148 -93
  308. package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
  309. package/src/sap/fe/core/type/Email.js +2 -2
  310. package/src/sap/fe/core/type/Email.ts +2 -2
  311. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -272,7 +272,7 @@ sap.ui.define(["sap/base/util/merge", "sap/base/util/ObjectPath", "sap/base/util
272
272
  };
273
273
  }
274
274
  /**
275
- * Indicates that the following method should also be exposed statically so we can call it from the XML.
275
+ * Indicates that the following method should also be exposed statically so we can call it from XML.
276
276
  *
277
277
  * @returns The decorated method
278
278
  */
@@ -285,13 +285,19 @@ sap.ui.define(["sap/base/util/merge", "sap/base/util/ObjectPath", "sap/base/util
285
285
  var currentConstructor = target.constructor;
286
286
 
287
287
  currentConstructor[propertykey.toString()] = function () {
288
- var currentTarget = currentConstructor.getAPI(arguments.length <= 0 ? undefined : arguments[0]);
289
- currentTarget[propertykey.toString()].apply(currentTarget, arguments);
288
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
289
+ args[_key] = arguments[_key];
290
+ }
291
+
292
+ if (args && args.length) {
293
+ var currentTarget = currentConstructor.getAPI(args[0]);
294
+ currentTarget[propertykey.toString()].apply(currentTarget, args);
295
+ }
290
296
  };
291
297
  };
292
298
  }
293
299
  /**
294
- * Indicates that the following class should define a ui5 control of the specified name.
300
+ * Indicates that the following class should define a UI5 control of the specified name.
295
301
  *
296
302
  * @param sTarget The fully qualified name of the macro API
297
303
  * @param metadataDefinition Inline metadata definition
@@ -382,11 +388,14 @@ sap.ui.define(["sap/base/util/merge", "sap/base/util/ObjectPath", "sap/base/util
382
388
  output.prototype.init = function () {
383
389
  var _this = this;
384
390
 
385
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
386
- args[_key] = arguments[_key];
391
+ if (fnInit) {
392
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
393
+ args[_key2] = arguments[_key2];
394
+ }
395
+
396
+ fnInit.apply(this, args);
387
397
  }
388
398
 
389
- fnInit && fnInit.apply(this, args);
390
399
  this.metadata = obj.metadata;
391
400
 
392
401
  if (obj.metadata.properties) {
@@ -445,14 +454,14 @@ sap.ui.define(["sap/base/util/merge", "sap/base/util/ObjectPath", "sap/base/util
445
454
  var pol = {};
446
455
 
447
456
  pol.constructor = function () {
448
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
449
- args[_key2] = arguments[_key2];
457
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
458
+ args[_key3] = arguments[_key3];
450
459
  }
451
460
 
452
461
  return clazz.apply(this, args);
453
462
  };
454
463
 
455
- var oClass = Metadata.createClass(clazz, "anonymousExtension~" + uid(), pol, ControllerMetadata);
464
+ var oClass = Metadata.createClass(clazz, "anonymousExtension~".concat(uid()), pol, ControllerMetadata);
456
465
  oClass.getMetadata()._staticOverride = oExtension;
457
466
  oClass.getMetadata()._override = clazz.getMetadata()._override;
458
467
  return oClass;
@@ -464,4 +473,4 @@ sap.ui.define(["sap/base/util/merge", "sap/base/util/ObjectPath", "sap/base/util
464
473
 
465
474
  return _exports;
466
475
  }, false);
467
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNsYXNzU3VwcG9ydC50cyJdLCJuYW1lcyI6WyJlbnN1cmVNZXRhZGF0YSIsInRhcmdldCIsIm1ldGFkYXRhIiwibWVyZ2UiLCJjb250cm9sbGVyRXh0ZW5zaW9ucyIsInByb3BlcnRpZXMiLCJtYWNyb0NvbnRleHRzIiwiYWdncmVnYXRpb25zIiwiYXNzb2NpYXRpb25zIiwibWV0aG9kcyIsImV2ZW50cyIsImludGVyZmFjZXMiLCJtZXRob2RPdmVycmlkZSIsImV4dGVuc2lvbk5hbWUiLCJwcm9wZXJ0eUtleSIsIm92ZXJyaWRlIiwiY3VycmVudFRhcmdldCIsImV4dGVuc2lvbiIsInRvU3RyaW5nIiwiZXh0ZW5zaWJsZSIsIm92ZXJyaWRlRXhlY3V0aW9uVHlwZSIsIm92ZXJyaWRlRXhlY3V0aW9uIiwicHVibGljRXh0ZW5zaW9uIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdWJsaWMiLCJwcml2YXRlRXh0ZW5zaW9uIiwiZmluYWxFeHRlbnNpb24iLCJmaW5hbCIsInVzaW5nRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uQ2xhc3MiLCJwcm9wZXJ0eURlc2NyaXB0b3IiLCJpbml0aWFsaXplciIsImV2ZW50IiwiZXZlbnRLZXkiLCJwcm9wZXJ0eSIsInVpNVByb3BlcnR5TWV0YWRhdGEiLCJ3cml0YWJsZSIsImFnZ3JlZ2F0aW9uIiwidWk1QWdncmVnYXRpb25NZXRhZGF0YSIsIm11bHRpcGxlIiwidW5kZWZpbmVkIiwiaXNEZWZhdWx0IiwiZGVmYXVsdEFnZ3JlZ2F0aW9uIiwiYXNzb2NpYXRpb24iLCJ1aTVBc3NvY2lhdGlvbk1ldGFkYXRhIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwiaW50ZXJmYWNlTmFtZSIsInB1c2giLCJ4bWxFdmVudEhhbmRsZXIiLCJwcm9wZXJ0eWtleSIsImN1cnJlbnRDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yIiwiZ2V0QVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJzVGFyZ2V0IiwibWV0YWRhdGFEZWZpbml0aW9uIiwicHJvdG90eXBlIiwia2V5IiwicmVnaXN0ZXJVSTVNZXRhZGF0YSIsImNsYXp6IiwibmFtZSIsImluT2JqIiwiZ2V0TWV0YWRhdGEiLCJpc0EiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwiZm9yRWFjaCIsIm9iak5hbWUiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvYmoiLCJiYXNlVHlwZSIsImdldFByb3RvdHlwZU9mIiwiZ2V0TmFtZSIsImdldFN0ZXJlb3R5cGUiLCJyZW5kZXJlckRlZmluaXRpb24iLCJyZW5kZXJlciIsInJlbmRlciIsImFwaVZlcnNpb24iLCJrZXlzIiwiZSIsImxlbmd0aCIsImNFeHROYW1lIiwib3V0cHV0IiwiZXh0ZW5kIiwiZm5Jbml0IiwiaW5pdCIsImFyZ3MiLCJhcHBseSIsImFQcm9wZXJ0eUtleXMiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsInNldCIsInYiLCJzZXRQcm9wZXJ0eSIsImdldCIsImdldFByb3BlcnR5IiwiYUFnZ3JlZ2F0aW9uS2V5cyIsImFnZ3JlZ2F0aW9uS2V5Iiwic2V0QWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbkNvbnRlbnQiLCJnZXRBZ2dyZWdhdGlvbiIsImFBc3NvY2lhdGlvbktleXMiLCJhc3NvY2lhdGlvbktleSIsInNldEFzc29jaWF0aW9uIiwiZ2V0QXNzb2NpYXRpb24iLCJvRXh0ZW5zaW9uIiwicG9sIiwib0NsYXNzIiwiTWV0YWRhdGEiLCJjcmVhdGVDbGFzcyIsInVpZCIsIkNvbnRyb2xsZXJNZXRhZGF0YSIsIl9zdGF0aWNPdmVycmlkZSIsIl9vdmVycmlkZSIsIk9iamVjdFBhdGgiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQW1FQSxNQUFNQSxjQUFjLEdBQUcsVUFBVUMsTUFBVixFQUFpQztBQUN2REEsSUFBQUEsTUFBTSxDQUFDQyxRQUFQLEdBQWtCQyxLQUFLLENBQ3RCO0FBQ0NDLE1BQUFBLG9CQUFvQixFQUFFLEVBRHZCO0FBRUNDLE1BQUFBLFVBQVUsRUFBRSxF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QkQsSUFBbEIsQ0FBUDtBQUNBLE9BRkQ7O0FBR0EsVUFBTXFCLE1BQU0sR0FBSUMsUUFBRCxDQUFrQkMsV0FBbEIsQ0FBOEJsRCxLQUE5QixFQUFxQyx3QkFBd0JtRCxHQUFHLEVBQWhFLEVBQW9FSixHQUFwRSxFQUF5RUssa0JBQXpFLENBQWY7QUFDQUosTUFBQUEsTUFBTSxDQUFDN0MsV0FBUCxHQUFxQmtELGVBQXJCLEdBQXVDUCxVQUF2QztBQUNBRSxNQUFBQSxNQUFNLENBQUM3QyxXQUFQLEdBQXFCbUQsU0FBckIsR0FBa0N0RCxLQUFLLENBQUNHLFdBQU4sRUFBRCxDQUE2Qm1ELFNBQTlEO0FBQ0EsYUFBT04sTUFBUDtBQUNBLEtBVEQ7O0FBV0FPLElBQUFBLFVBQVUsQ0FBQ3ZCLEdBQVgsQ0FBZS9CLElBQWYsRUFBcUJzQixNQUFyQjtBQUNBLFdBQU9BLE1BQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1lcmdlIGZyb20gXCJzYXAvYmFzZS91dGlsL21lcmdlXCI7XG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgdWlkIGZyb20gXCJzYXAvYmFzZS91dGlsL3VpZFwiO1xuaW1wb3J0IFVJNUV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IE1ldGFkYXRhIGZyb20gXCJzYXAvdWkvYmFzZS9NZXRhZGF0YVwiO1xuaW1wb3J0IENvbnRyb2xsZXJFeHRlbnNpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyRXh0ZW5zaW9uXCI7XG5pbXBvcnQgQ29udHJvbGxlck1ldGFkYXRhIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlck1ldGFkYXRhXCI7XG5pbXBvcnQgT3ZlcnJpZGVFeGVjdXRpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9PdmVycmlkZUV4ZWN1dGlvblwiO1xuXG50eXBlIE92ZXJyaWRlRGVmaW5pdGlvbiA9IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPjtcbnR5cGUgVUk1Q29udHJvbGxlck1ldGhvZERlZmluaXRpb24gPSB7XG5cdG92ZXJyaWRlRXhlY3V0aW9uPzogT3ZlcnJpZGVFeGVjdXRpb247XG5cdHB1YmxpYz86IGJvb2xlYW47XG5cdGZpbmFsPzogYm9vbGVhbjtcbn07XG50eXBlIFVJNVByb3BlcnR5TWV0YWRhdGEgPSB7XG5cdHR5cGU6IHN0cmluZztcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xuXHRncm91cD86IHN0cmluZztcblx0ZGVmYXVsdFZhbHVlPzogYW55O1xufTtcbnR5cGUgVUk1QWdncmVnYXRpb25NZXRhZGF0YSA9IHtcblx0dHlwZTogc3RyaW5nO1xuXHRtdWx0aXBsZT86IGJvb2xlYW47XG5cdGlzRGVmYXVsdD86IGJvb2xlYW47XG5cdHNpbmd1bGFyTmFtZT86IHN0cmluZztcblx0dmlzaWJpbGl0eT86IHN0cmluZztcbn07XG50eXBlIFVJNUFzc29jaWF0aW9uTWV0YWRhdGEgPSB7XG5cdHR5cGU6IHN0cmluZztcblx0bXVsdGlwbGU/OiBib29sZWFuO1xuXHRzaW5ndWxhck5hbWU/OiBzdHJpbmc7XG59O1xudHlwZSBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uID0ge1xuXHRkZWZhdWx0QWdncmVnYXRpb24/OiBzdHJpbmc7XG5cdGNvbnRyb2xsZXJFeHRlbnNpb25zOiBSZWNvcmQ8c3RyaW5nLCB0eXBlb2YgQ29udHJvbGxlckV4dGVuc2lvbiB8IEZ1bmN0aW9uPjtcblx0cHJvcGVydGllczogUmVjb3JkPHN0cmluZywgVUk1UHJvcGVydHlNZXRhZGF0YT47XG5cdG1hY3JvQ29udGV4dHM6IFJlY29yZDxzdHJpbmcsIFVJNVByb3BlcnR5TWV0YWRhdGE+O1xuXHRhZ2dyZWdhdGlvbnM6IFJlY29yZDxzdHJpbmcsIFVJNUFnZ3JlZ2F0aW9uTWV0YWRhdGE+O1xuXHRhc3NvY2lhdGlvbnM6IFJlY29yZDxzdHJpbmcsIFVJNUFzc29jaWF0aW9uTWV0YWRhdGE+O1xuXHRtZXRob2RzOiBSZWNvcmQ8c3RyaW5nLCBVSTVDb250cm9sbGVyTWV0aG9kRGVmaW5pdGlvbj47XG5cdGV2ZW50czogUmVjb3JkPHN0cmluZywge30+O1xuXHRpbnRlcmZhY2VzOiBzdHJpbmdbXTtcbn07XG50eXBlIFVJNUNvbnRyb2xsZXIgPSB7XG5cdG92ZXJyaWRlPzogeyBleHRlbnNpb24/OiBSZWNvcmQ8c3RyaW5nLCBPdmVycmlkZURlZmluaXRpb24+IH0gJiB7XG5cdFx0W2s6IHN0cmluZ106IEZ1bmN0aW9uO1xuXHR9O1xuXHRtZXRhZGF0YT86IFVJNUNvbnRyb2xNZXRhZGF0YURlZmluaXRpb247XG59O1xuXG50eXBlIFVJNUNvbnRyb2wgPSB7XG5cdG1ldGFkYXRhPzogVUk1Q29udHJvbE1ldGFkYXRhRGVmaW5pdGlvbjtcbn07XG5cbnR5cGUgVUk1QVBJQ29udHJvbCA9IFVJNUNvbnRyb2wgJiB7XG5cdGdldEFQSShldmVudDogVUk1RXZlbnQpOiBVSTVBUElDb250cm9sO1xuXHRbazogc3RyaW5nXTogRnVuY3Rpb247XG59O1xuXG50eXBlIENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+ID0ge1xuXHRbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIEZ1bmN0aW9uID8gbmV2ZXIgOiBLO1xufVtrZXlvZiBUXTtcbmV4cG9ydCB0eXBlIFByb3BlcnRpZXNPZjxUPiA9IFBhcnRpYWw8UGljazxULCBDb250cm9sUHJvcGVydHlOYW1lczxUPj4+O1xuZXhwb3J0IHR5cGUgU3RyaWN0UHJvcGVydGllc09mPFQ+ID0gUGljazxULCBDb250cm9sUHJvcGVydHlOYW1lczxUPj47XG5leHBvcnQgdHlwZSBFbmhhbmNlV2l0aFVJNTxUPiA9IFQgJiB7XG5cdC8vIEFkZCBhbGwgdGhlIGdldFhYWCBtZXRob2QsIG1pZ2h0IGFkZCB0b28gbXVjaCBhcyBpJ20gbm90IGZpbHRlcmluZyBvbiBhY3R1YWwgcHJvcGVydGllcyBhY3R1YWxseS4uLlxuXHRbUCBpbiBrZXlvZiBUIGFzIGBnZXQke0NhcGl0YWxpemU8c3RyaW5nICYgUD59YF06ICgpID0+IFRbUF07XG59O1xuY29uc3QgZW5zdXJlTWV0YWRhdGEgPSBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyKSB7XG5cdHRhcmdldC5tZXRhZGF0YSA9IG1lcmdlKFxuXHRcdHtcblx0XHRcdGNvbnRyb2xsZXJFeHRlbnNpb25zOiB7fSxcblx0XHRcdHByb3BlcnRpZXM6IHt9LFxuXHRcdFx0bWFjcm9Db250ZXh0czoge30sXG5cdFx0XHRhZ2dyZWdhdGlvbnM6IHt9LFxuXHRcdFx0YXNzb2NpYXRpb25zOiB7fSxcblx0XHRcdG1ldGhvZHM6IHt9LFxuXHRcdFx0ZXZlbnRzOiB7fSxcblx0XHRcdGludGVyZmFjZXM6IFtdXG5cdFx0fSxcblx0XHR0YXJnZXQubWV0YWRhdGEgfHwge31cblx0KSBhcyBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uO1xuXHRyZXR1cm4gdGFyZ2V0Lm1ldGFkYXRhO1xufTtcblxuLyogI3JlZ2lvbiBDT05UUk9MTEVSIEVYVEVOU0lPTlMgKi9cblxuLyoqXG4gKiBEZWZpbmVzIHRoYXQgdGhlIGZvbGxvd2luZyBtZXRob2QgaXMgYW4gb3ZlcnJpZGUgZm9yIHRoZSBtZXRob2QgbmFtZSB3aXRoIHRoZSBzYW1lIG5hbWUgaW4gdGhlIHNwZWNpZmljIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9yIGJhc2UgaW1wbGVtZW50YXRpb24uXG4gKlxuICogQHBhcmFtIGV4dGVuc2lvbk5hbWUgVGhlIG5hbWUgb2YgdGhlIGV4dGVuc2lvbiB0aGF0IHdpbGwgYmUgb3ZlcnJpZGVuXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWV0aG9kT3ZlcnJpZGUoZXh0ZW5zaW9uTmFtZT86IHN0cmluZyk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleSkge1xuXHRcdGlmICghdGFyZ2V0Lm92ZXJyaWRlKSB7XG5cdFx0XHR0YXJnZXQub3ZlcnJpZGUgPSB7fTtcblx0XHR9XG5cdFx0bGV0IGN1cnJlbnRUYXJnZXQgPSB0YXJnZXQub3ZlcnJpZGU7XG5cdFx0aWYgKGV4dGVuc2lvbk5hbWUpIHtcblx0XHRcdGlmICghY3VycmVudFRhcmdldC5leHRlbnNpb24pIHtcblx0XHRcdFx0Y3VycmVudFRhcmdldC5leHRlbnNpb24gPSB7fTtcblx0XHRcdH1cblx0XHRcdGlmICghY3VycmVudFRhcmdldC5leHRlbnNpb25bZXh0ZW5zaW9uTmFtZV0pIHtcblx0XHRcdFx0Y3VycmVudFRhcmdldC5leHRlbnNpb25bZXh0ZW5zaW9uTmFtZV0gPSB7fTtcblx0XHRcdH1cblx0XHRcdGN1cnJlbnRUYXJnZXQgPSBjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbltleHRlbnNpb25OYW1lXTtcblx0XHR9XG5cdFx0Y3VycmVudFRhcmdldFtwcm9wZXJ0eUtleS50b1N0cmluZygpXSA9ICh0YXJnZXQgYXMgYW55KVtwcm9wZXJ0eUtleS50b1N0cmluZygpXTtcblx0fTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoYXQgdGhlIG1ldGhvZCBjYW4gYmUgZXh0ZW5kZWQgYnkgb3RoZXIgY29udHJvbGxlciBleHRlbnNpb24gYmFzZWQgb24gdGhlIGRlZmluZWQgb3ZlcnJpZGVFeGVjdXRpb25UeXBlLlxuICpcbiAqIEBwYXJhbSBvdmVycmlkZUV4ZWN1dGlvblR5cGUgVGhlIE92ZXJyaWRlRXhlY3V0aW9uIGRlZmluaW5nIHdoZW4gdGhlIG92ZXJyaWRlIHNob3VsZCBydW4gKEJlZm9yZSAvIEFmdGVyIC8gSW5zdGVhZClcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRlbnNpYmxlKG92ZXJyaWRlRXhlY3V0aW9uVHlwZT86IE92ZXJyaWRlRXhlY3V0aW9uKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIsIHByb3BlcnR5S2V5KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGlmICghbWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHt9O1xuXHRcdH1cblx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLm92ZXJyaWRlRXhlY3V0aW9uID0gb3ZlcnJpZGVFeGVjdXRpb25UeXBlO1xuXHR9O1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhhdCB0aGUgbWV0aG9kIHdpbGwgYmUgcHVibGljbHkgYXZhaWxhYmxlIGZvciBjb250cm9sbGVyIGV4dGVuc2lvbiB1c2FnZS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGljRXh0ZW5zaW9uKCk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleSwgZGVzY3JpcHRvcik6IHZvaWQge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRkZXNjcmlwdG9yLmVudW1lcmFibGUgPSB0cnVlO1xuXHRcdGlmICghbWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHt9O1xuXHRcdH1cblx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLnB1YmxpYyA9IHRydWU7XG5cdH07XG59XG4vKipcbiAqIERlZmluZXMgdGhhdCB0aGUgbWV0aG9kIHdpbGwgYmUgb25seSBhdmFpbGFibGUgZm9yIGludGVybmFsIHVzYWdlIG9mIHRoZSBjb250cm9sbGVyIGV4dGVuc2lvbi5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpdmF0ZUV4dGVuc2lvbigpOiBNZXRob2REZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbGxlciwgcHJvcGVydHlLZXksIGRlc2NyaXB0b3IpIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0ZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gdHJ1ZTtcblx0XHRpZiAoIW1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0pIHtcblx0XHRcdG1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0gPSB7fTtcblx0XHR9XG5cdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXS5wdWJsaWMgPSBmYWxzZTtcblx0fTtcbn1cbi8qKlxuICogRGVmaW5lcyB0aGF0IHRoZSBtZXRob2QgY2Fubm90IGJlIGZ1cnRoZXIgZXh0ZW5kZWQgYnkgb3RoZXIgY29udHJvbGxlciBleHRlbnNpb24uXG4gKlxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmFsRXh0ZW5zaW9uKCk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleSwgZGVzY3JpcHRvcikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRkZXNjcmlwdG9yLmVudW1lcmFibGUgPSB0cnVlO1xuXHRcdGlmICghbWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHt9O1xuXHRcdH1cblx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLmZpbmFsID0gdHJ1ZTtcblx0fTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHVzZSBpbnN0YW50aWF0ZSBhIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIHVuZGVyIHRoZSBmb2xsb3dpbmcgdmFyaWFibGUgbmFtZS5cbiAqXG4gKiBAcGFyYW0gZXh0ZW5zaW9uQ2xhc3MgVGhlIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIHRoYXQgd2lsbCBiZSBpbnN0YW50aWF0ZWRcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzaW5nRXh0ZW5zaW9uKGV4dGVuc2lvbkNsYXNzOiB0eXBlb2YgQ29udHJvbGxlckV4dGVuc2lvbiB8IEZ1bmN0aW9uKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbGxlciwgcHJvcGVydHlLZXk6IHN0cmluZywgcHJvcGVydHlEZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGRlbGV0ZSAocHJvcGVydHlEZXNjcmlwdG9yIGFzIGFueSkuaW5pdGlhbGl6ZXI7XG5cdFx0bWV0YWRhdGEuY29udHJvbGxlckV4dGVuc2lvbnNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0gPSBleHRlbnNpb25DbGFzcztcblx0XHRyZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuXHR9IGFzIGFueTsgLy8gVGhpcyBpcyB0ZWNobmljYWxseSBhbiBhY2Nlc3NvciBkZWNvcmF0b3IsIGJ1dCBzb21laG93IHRoZSBjb21waWxlciBkb2Vzbid0IGxpa2UgaXQgaWYgaSBkZWNsYXJlIGl0IGFzIHN1Y2guXG59XG5cbi8qICNlbmRyZWdpb24gKi9cblxuLyogI3JlZ2lvbiBDT05UUk9MICovXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBwcm9wZXJ0eSBzaGFsbCBiZSBkZWNsYXJlZCBhcyBhbiBldmVudCBvbiB0aGUgY29udHJvbCBtZXRhZGF0YS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBldmVudCgpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sLCBldmVudEtleSkge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRpZiAoIW1ldGFkYXRhLmV2ZW50c1tldmVudEtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEuZXZlbnRzW2V2ZW50S2V5LnRvU3RyaW5nKCldID0ge307XG5cdFx0fVxuXHR9O1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0eSBpbiB0aGUgY29udHJvbCBtZXRhdGFkYS5cbiAqXG4gKiBAcGFyYW0gdWk1UHJvcGVydHlNZXRhZGF0YSBUaGUgcHJvcGVydHkgZGVmaW5pdGlvblxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnR5KHVpNVByb3BlcnR5TWV0YWRhdGE6IFVJNVByb3BlcnR5TWV0YWRhdGEpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sLCBwcm9wZXJ0eUtleTogc3RyaW5nLCBwcm9wZXJ0eURlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0aWYgKCFtZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnR5S2V5XSkge1xuXHRcdFx0bWV0YWRhdGEucHJvcGVydGllc1twcm9wZXJ0eUtleV0gPSB1aTVQcm9wZXJ0eU1ldGFkYXRhO1xuXHRcdH1cblx0XHRkZWxldGUgcHJvcGVydHlEZXNjcmlwdG9yLndyaXRhYmxlO1xuXHRcdGRlbGV0ZSAocHJvcGVydHlEZXNjcmlwdG9yIGFzIGFueSkuaW5pdGlhbGl6ZXI7XG5cblx0XHRyZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuXHR9IGFzIGFueTsgLy8gVGhpcyBpcyB0ZWNobmljYWxseSBhbiBhY2Nlc3NvciBkZWNvcmF0b3IsIGJ1dCBzb21laG93IHRoZSBjb21waWxlciBkb2Vzbid0IGxpa2UgaXQgaWYgaSBkZWNsYXJlIGl0IGFzIHN1Y2guO1xufVxuLyoqXG4gKiBEZWZpbmVzIGFuZCBjb25maWd1cmUgdGhlIGZvbGxvd2luZyBhZ2dyZWdhdGlvbiBpbiB0aGUgY29udHJvbCBtZXRhdGFkYS5cbiAqXG4gKiBAcGFyYW0gdWk1QWdncmVnYXRpb25NZXRhZGF0YSBUaGUgYWdncmVnYXRpb24gZGVmaW5pdGlvblxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFnZ3JlZ2F0aW9uKHVpNUFnZ3JlZ2F0aW9uTWV0YWRhdGE6IFVJNUFnZ3JlZ2F0aW9uTWV0YWRhdGEpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sLCBwcm9wZXJ0eUtleTogc3RyaW5nLCBwcm9wZXJ0eURlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0aWYgKHVpNUFnZ3JlZ2F0aW9uTWV0YWRhdGEubXVsdGlwbGUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Ly8gVUk1IGRlZmF1bHRzIHRoaXMgdG8gdHJ1ZSBidXQgdGhpcyBpcyBqdXN0IHdlaXJkLi4uXG5cdFx0XHR1aTVBZ2dyZWdhdGlvbk1ldGFkYXRhLm11bHRpcGxlID0gZmFsc2U7XG5cdFx0fVxuXHRcdGlmICghbWV0YWRhdGEuYWdncmVnYXRpb25zW3Byb3BlcnR5S2V5XSkge1xuXHRcdFx0bWV0YWRhdGEuYWdncmVnYXRpb25zW3Byb3BlcnR5S2V5XSA9IHVpNUFnZ3JlZ2F0aW9uTWV0YWRhdGE7XG5cdFx0fVxuXHRcdGlmICh1aTVBZ2dyZWdhdGlvbk1ldGFkYXRhLmlzRGVmYXVsdCkge1xuXHRcdFx0bWV0YWRhdGEuZGVmYXVsdEFnZ3JlZ2F0aW9uID0gcHJvcGVydHlLZXk7XG5cdFx0fVxuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3Iud3JpdGFibGU7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBpIGRlY2xhcmUgaXQgYXMgc3VjaC47XG59XG5cbi8qKlxuICogRGVmaW5lcyBhbmQgY29uZmlndXJlIHRoZSBmb2xsb3dpbmcgYXNzb2NpYXRpb24gaW4gdGhlIGNvbnRyb2wgbWV0YXRhZGEuXG4gKlxuICogQHBhcmFtIHVpNUFzc29jaWF0aW9uTWV0YWRhdGEgVGhlIGRlZmluaXRpb24gb2YgdGhlIGFzc29jaWF0aW9uLlxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzb2NpYXRpb24odWk1QXNzb2NpYXRpb25NZXRhZGF0YTogVUk1QXNzb2NpYXRpb25NZXRhZGF0YSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5RGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8YW55Pikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRpZiAoIW1ldGFkYXRhLmFzc29jaWF0aW9uc1twcm9wZXJ0eUtleV0pIHtcblx0XHRcdG1ldGFkYXRhLmFzc29jaWF0aW9uc1twcm9wZXJ0eUtleV0gPSB1aTVBc3NvY2lhdGlvbk1ldGFkYXRhO1xuXHRcdH1cblx0XHRkZWxldGUgcHJvcGVydHlEZXNjcmlwdG9yLndyaXRhYmxlO1xuXHRcdGRlbGV0ZSAocHJvcGVydHlEZXNjcmlwdG9yIGFzIGFueSkuaW5pdGlhbGl6ZXI7XG5cblx0XHRyZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuXHR9IGFzIGFueTsgLy8gVGhpcyBpcyB0ZWNobmljYWxseSBhbiBhY2Nlc3NvciBkZWNvcmF0b3IsIGJ1dCBzb21laG93IHRoZSBjb21waWxlciBkb2Vzbid0IGxpa2UgaXQgaWYgaSBkZWNsYXJlIGl0IGFzIHN1Y2guO1xufVxuXG4vKipcbiAqIERlZmluZXMgaW4gdGhlIG1ldGFkYXRhIHRoYXQgdGhpcyBjb250cm9sIGltcGxlbWVudHMgYSBzcGVjaWZpYyBpbnRlcmZhY2UuXG4gKlxuICogQHBhcmFtIGludGVyZmFjZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGltcGxlbWVudGVkIGludGVyZmFjZVxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGltcGxlbWVudEludGVyZmFjZShpbnRlcmZhY2VOYW1lOiBzdHJpbmcpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sKSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXG5cdFx0bWV0YWRhdGEuaW50ZXJmYWNlcy5wdXNoKGludGVyZmFjZU5hbWUpO1xuXHR9O1xufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBmb2xsb3dpbmcgbWV0aG9kIHNob3VsZCBhbHNvIGJlIGV4cG9zZWQgc3RhdGljYWxseSBzbyB3ZSBjYW4gY2FsbCBpdCBmcm9tIHRoZSBYTUwuXG4gKlxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHhtbEV2ZW50SGFuZGxlcigpOiBNZXRob2REZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbCwgcHJvcGVydHlrZXkpIHtcblx0XHRjb25zdCBjdXJyZW50Q29uc3RydWN0b3I6IFVJNUFQSUNvbnRyb2wgPSB0YXJnZXQuY29uc3RydWN0b3IgYXMgdW5rbm93biBhcyBVSTVBUElDb250cm9sO1xuXHRcdGN1cnJlbnRDb25zdHJ1Y3Rvcltwcm9wZXJ0eWtleS50b1N0cmluZygpXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXHRcdFx0Y29uc3QgY3VycmVudFRhcmdldCA9IGN1cnJlbnRDb25zdHJ1Y3Rvci5nZXRBUEkoYXJnc1swXSBhcyBVSTVFdmVudCk7XG5cdFx0XHRjdXJyZW50VGFyZ2V0W3Byb3BlcnR5a2V5LnRvU3RyaW5nKCldKC4uLmFyZ3MpO1xuXHRcdH07XG5cdH07XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIGZvbGxvd2luZyBjbGFzcyBzaG91bGQgZGVmaW5lIGEgdWk1IGNvbnRyb2wgb2YgdGhlIHNwZWNpZmllZCBuYW1lLlxuICpcbiAqIEBwYXJhbSBzVGFyZ2V0IFRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgbWFjcm8gQVBJXG4gKiBAcGFyYW0gbWV0YWRhdGFEZWZpbml0aW9uIElubGluZSBtZXRhZGF0YSBkZWZpbml0aW9uXG4gKiBAY2xhc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZVVJNUNsYXNzKHNUYXJnZXQ6IHN0cmluZywgbWV0YWRhdGFEZWZpbml0aW9uPzogYW55KTogQ2xhc3NEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKGNvbnN0cnVjdG9yOiBGdW5jdGlvbikge1xuXHRcdGlmICghY29uc3RydWN0b3IucHJvdG90eXBlLm1ldGFkYXRhKSB7XG5cdFx0XHRjb25zdHJ1Y3Rvci5wcm90b3R5cGUubWV0YWRhdGEgPSB7fTtcblx0XHR9XG5cdFx0aWYgKG1ldGFkYXRhRGVmaW5pdGlvbikge1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gbWV0YWRhdGFEZWZpbml0aW9uKSB7XG5cdFx0XHRcdGNvbnN0cnVjdG9yLnByb3RvdHlwZS5tZXRhZGF0YVtrZXldID0gbWV0YWRhdGFEZWZpbml0aW9uW2tleSBhcyBrZXlvZiBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uXTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHJlZ2lzdGVyVUk1TWV0YWRhdGEoY29uc3RydWN0b3IsIHNUYXJnZXQsIGNvbnN0cnVjdG9yLnByb3RvdHlwZSk7XG5cdH07XG59XG5cbi8qKlxuICogSW50ZXJuYWwgaGVhdnkgbGlmdGluZyB0aGF0IHdpbGwgdGFrZSBjYXJlIG9mIGNyZWF0aW5nIHRoZSBjbGFzcyBwcm9wZXJ0eSBmb3IgdWk1IHRvIHVzZS5cbiAqXG4gKiBAcGFyYW0gY2xhenogVGhlIGNsYXNzIHByb3RvdHlwZVxuICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYXNzIHRvIGNyZWF0ZVxuICogQHBhcmFtIGluT2JqIFRoZSBtZXRhZGF0YSBvYmplY3RcbiAqIEByZXR1cm5zIFRoZSBtZXRhZGF0YSBjbGFzc1xuICovXG5mdW5jdGlvbiByZWdpc3RlclVJNU1ldGFkYXRhKGNsYXp6OiBhbnksIG5hbWU6IHN0cmluZywgaW5PYmo6IGFueSk6IGFueSB7XG5cdGlmIChjbGF6ei5nZXRNZXRhZGF0YSAmJiBjbGF6ei5nZXRNZXRhZGF0YSgpLmlzQShcInNhcC51aS5jb3JlLm12Yy5Db250cm9sbGVyRXh0ZW5zaW9uXCIpKSB7XG5cdFx0T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoaW5PYmopLmZvckVhY2goKG9iak5hbWUpID0+IHtcblx0XHRcdGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGluT2JqLCBvYmpOYW1lKTtcblx0XHRcdGlmIChkZXNjcmlwdG9yICYmICFkZXNjcmlwdG9yLmVudW1lcmFibGUpIHtcblx0XHRcdFx0ZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gdHJ1ZTtcblx0XHRcdFx0Ly9cdFx0TG9nLmVycm9yKGBQcm9wZXJ0eSAke29iak5hbWV9IGZyb20gJHtuYW1lfSBzaG91bGQgYmUgZGVjb3JhdGVkIGFzIHB1YmxpY2ApO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdGNvbnN0IG9iajogYW55ID0ge307XG5cdG9iai5tZXRhZGF0YSA9IGluT2JqLm1ldGFkYXRhIHx8IHt9O1xuXHRvYmoub3ZlcnJpZGUgPSBpbk9iai5vdmVycmlkZTtcblx0b2JqLmNvbnN0cnVjdG9yID0gY2xheno7XG5cdG9iai5tZXRhZGF0YS5iYXNlVHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjbGF6ei5wcm90b3R5cGUpLmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpO1xuXG5cdGlmIChjbGF6ej8uZ2V0TWV0YWRhdGEoKT8uZ2V0U3RlcmVvdHlwZSgpID09PSBcImNvbnRyb2xcIikge1xuXHRcdGNvbnN0IHJlbmRlcmVyRGVmaW5pdGlvbiA9IGluT2JqLnJlbmRlcmVyIHx8IGNsYXp6LnJlbmRlcmVyIHx8IGNsYXp6LnJlbmRlcjtcblx0XHRvYmoucmVuZGVyZXIgPSB7IGFwaVZlcnNpb246IDIgfTtcblx0XHRpZiAodHlwZW9mIHJlbmRlcmVyRGVmaW5pdGlvbiA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRvYmoucmVuZGVyZXIucmVuZGVyID0gcmVuZGVyZXJEZWZpbml0aW9uO1xuXHRcdH0gZWxzZSBpZiAocmVuZGVyZXJEZWZpbml0aW9uICE9IHVuZGVmaW5lZCkge1xuXHRcdFx0b2JqLnJlbmRlcmVyID0gcmVuZGVyZXJEZWZpbml0aW9uO1xuXHRcdH1cblx0fVxuXHRvYmoubWV0YWRhdGEuaW50ZXJmYWNlcyA9IGluT2JqLm1ldGFkYXRhPy5pbnRlcmZhY2VzIHx8IGNsYXp6Lm1ldGFkYXRhPy5pbnRlcmZhY2VzO1xuXHRPYmplY3Qua2V5cyhjbGF6ei5wcm90b3R5cGUpLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdGlmIChrZXkgIT09IFwibWV0YWRhdGFcIikge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0b2JqW2tleV0gPSBjbGF6ei5wcm90b3R5cGVba2V5XTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0Ly9jb25zb2xlLmxvZyhlKTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xuXHRpZiAob2JqLm1ldGFkYXRhPy5jb250cm9sbGVyRXh0ZW5zaW9ucyAmJiBPYmplY3Qua2V5cyhvYmoubWV0YWRhdGEuY29udHJvbGxlckV4dGVuc2lvbnMpLmxlbmd0aCA+IDApIHtcblx0XHRmb3IgKGNvbnN0IGNFeHROYW1lIGluIG9iai5tZXRhZGF0YS5jb250cm9sbGVyRXh0ZW5zaW9ucykge1xuXHRcdFx0b2JqW2NFeHROYW1lXSA9IG9iai5tZXRhZGF0YS5jb250cm9sbGVyRXh0ZW5zaW9uc1tjRXh0TmFtZV07XG5cdFx0fVxuXHR9XG5cdGNvbnN0IG91dHB1dCA9IGNsYXp6LmV4dGVuZChuYW1lLCBvYmopO1xuXHRjb25zdCBmbkluaXQgPSBvdXRwdXQucHJvdG90eXBlLmluaXQ7XG5cdG91dHB1dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXHRcdGZuSW5pdCAmJiBmbkluaXQuYXBwbHkodGhpcywgYXJncyk7XG5cdFx0dGhpcy5tZXRhZGF0YSA9IG9iai5tZXRhZGF0YTtcblxuXHRcdGlmIChvYmoubWV0YWRhdGEucHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgYVByb3BlcnR5S2V5cyA9IE9iamVjdC5rZXlzKG9iai5tZXRhZGF0YS5wcm9wZXJ0aWVzKTtcblx0XHRcdGFQcm9wZXJ0eUtleXMuZm9yRWFjaCgocHJvcGVydHlLZXkpID0+IHtcblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7XG5cdFx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHNldDogKHY6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc2V0UHJvcGVydHkocHJvcGVydHlLZXksIHYpO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eShwcm9wZXJ0eUtleSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdFx0Y29uc3QgYUFnZ3JlZ2F0aW9uS2V5cyA9IE9iamVjdC5rZXlzKG9iai5tZXRhZGF0YS5hZ2dyZWdhdGlvbnMpO1xuXHRcdFx0YUFnZ3JlZ2F0aW9uS2V5cy5mb3JFYWNoKChhZ2dyZWdhdGlvbktleSkgPT4ge1xuXHRcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgYWdncmVnYXRpb25LZXksIHtcblx0XHRcdFx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0XHRcdFx0c2V0OiAodjogYW55KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5zZXRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbktleSwgdik7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRnZXQ6ICgpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IGFnZ3JlZ2F0aW9uQ29udGVudCA9IHRoaXMuZ2V0QWdncmVnYXRpb24oYWdncmVnYXRpb25LZXkpO1xuXHRcdFx0XHRcdFx0aWYgKG9iai5tZXRhZGF0YS5hZ2dyZWdhdGlvbnNbYWdncmVnYXRpb25LZXldLm11bHRpcGxlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBhZ2dyZWdhdGlvbkNvbnRlbnQgfHwgW107XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYWdncmVnYXRpb25Db250ZW50O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGFBc3NvY2lhdGlvbktleXMgPSBPYmplY3Qua2V5cyhvYmoubWV0YWRhdGEuYXNzb2NpYXRpb25zKTtcblx0XHRcdGFBc3NvY2lhdGlvbktleXMuZm9yRWFjaCgoYXNzb2NpYXRpb25LZXkpID0+IHtcblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIGFzc29jaWF0aW9uS2V5LCB7XG5cdFx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHNldDogKHY6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc2V0QXNzb2NpYXRpb24oYXNzb2NpYXRpb25LZXksIHYpO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFzc29jaWF0aW9uKGFzc29jaWF0aW9uS2V5KTtcblx0XHRcdFx0XHRcdGlmIChvYmoubWV0YWRhdGEuYXNzb2NpYXRpb25zW2Fzc29jaWF0aW9uS2V5XS5tdWx0aXBsZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYWdncmVnYXRpb25Db250ZW50IHx8IFtdO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGFnZ3JlZ2F0aW9uQ29udGVudDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9O1xuXHRjbGF6ei5vdmVycmlkZSA9IGZ1bmN0aW9uIChvRXh0ZW5zaW9uOiBhbnkpIHtcblx0XHRjb25zdCBwb2wgPSB7fTtcblx0XHQocG9sIGFzIGFueSkuY29uc3RydWN0b3IgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdHJldHVybiBjbGF6ei5hcHBseSh0aGlzLCBhcmdzIGFzIGFueSk7XG5cdFx0fTtcblx0XHRjb25zdCBvQ2xhc3MgPSAoTWV0YWRhdGEgYXMgYW55KS5jcmVhdGVDbGFzcyhjbGF6eiwgXCJhbm9ueW1vdXNFeHRlbnNpb25+XCIgKyB1aWQoKSwgcG9sLCBDb250cm9sbGVyTWV0YWRhdGEpO1xuXHRcdG9DbGFzcy5nZXRNZXRhZGF0YSgpLl9zdGF0aWNPdmVycmlkZSA9IG9FeHRlbnNpb247XG5cdFx0b0NsYXNzLmdldE1ldGFkYXRhKCkuX292ZXJyaWRlID0gKGNsYXp6LmdldE1ldGFkYXRhKCkgYXMgYW55KS5fb3ZlcnJpZGU7XG5cdFx0cmV0dXJuIG9DbGFzcztcblx0fTtcblxuXHRPYmplY3RQYXRoLnNldChuYW1lLCBvdXRwdXQpO1xuXHRyZXR1cm4gb3V0cHV0O1xufVxuIl19
476
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNsYXNzU3VwcG9ydC50cyJdLCJuYW1lcyI6WyJlbnN1cmVNZXRhZGF0YSIsInRhcmdldCIsIm1ldGFkYXRhIiwibWVyZ2UiLCJjb250cm9sbGVyRXh0ZW5zaW9ucyIsInByb3BlcnRpZXMiLCJtYWNyb0NvbnRleHRzIiwiYWdncmVnYXRpb25zIiwiYXNzb2NpYXRpb25zIiwibWV0aG9kcyIsImV2ZW50cyIsImludGVyZmFjZXMiLCJtZXRob2RPdmVycmlkZSIsImV4dGVuc2lvbk5hbWUiLCJwcm9wZXJ0eUtleSIsIm92ZXJyaWRlIiwiY3VycmVudFRhcmdldCIsImV4dGVuc2lvbiIsInRvU3RyaW5nIiwiZXh0ZW5zaWJsZSIsIm92ZXJyaWRlRXhlY3V0aW9uVHlwZSIsIm92ZXJyaWRlRXhlY3V0aW9uIiwicHVibGljRXh0ZW5zaW9uIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdWJsaWMiLCJwcml2YXRlRXh0ZW5zaW9uIiwiZmluYWxFeHRlbnNpb24iLCJmaW5hbCIsInVzaW5nRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uQ2xhc3MiLCJwcm9wZXJ0eURlc2NyaXB0b3IiLCJpbml0aWFsaXplciIsImV2ZW50IiwiZXZlbnRLZXkiLCJwcm9wZXJ0eSIsInVpNVByb3BlcnR5TWV0YWRhdGEiLCJ3cml0YWJsZSIsImFnZ3JlZ2F0aW9uIiwidWk1QWdncmVnYXRpb25NZXRhZGF0YSIsIm11bHRpcGxlIiwidW5kZWZpbmVkIiwiaXNEZWZhdWx0IiwiZGVmYXVsdEFnZ3JlZ2F0aW9uIiwiYXNzb2NpYXRpb24iLCJ1aTVBc3NvY2lhdGlvbk1ldGFkYXRhIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwiaW50ZXJmYWNlTmFtZSIsInB1c2giLCJ4bWxFdmVudEhhbmRsZXIiLCJwcm9wZXJ0eWtleSIsImN1cnJlbnRDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yIiwiYXJncyIsImxlbmd0aCIsImdldEFQSSIsImRlZmluZVVJNUNsYXNzIiwic1RhcmdldCIsIm1ldGFkYXRhRGVmaW5pdGlvbiIsInByb3RvdHlwZSIsImtleSIsInJlZ2lzdGVyVUk1TWV0YWRhdGEiLCJjbGF6eiIsIm5hbWUiLCJpbk9iaiIsImdldE1ldGFkYXRhIiwiaXNBIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImZvckVhY2giLCJvYmpOYW1lIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib2JqIiwiYmFzZVR5cGUiLCJnZXRQcm90b3R5cGVPZiIsImdldE5hbWUiLCJnZXRTdGVyZW90eXBlIiwicmVuZGVyZXJEZWZpbml0aW9uIiwicmVuZGVyZXIiLCJyZW5kZXIiLCJhcGlWZXJzaW9uIiwia2V5cyIsImUiLCJjRXh0TmFtZSIsIm91dHB1dCIsImV4dGVuZCIsImZuSW5pdCIsImluaXQiLCJhcHBseSIsImFQcm9wZXJ0eUtleXMiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsInNldCIsInYiLCJzZXRQcm9wZXJ0eSIsImdldCIsImdldFByb3BlcnR5IiwiYUFnZ3JlZ2F0aW9uS2V5cyIsImFnZ3JlZ2F0aW9uS2V5Iiwic2V0QWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbkNvbnRlbnQiLCJnZXRBZ2dyZWdhdGlvbiIsImFBc3NvY2lhdGlvbktleXMiLCJhc3NvY2lhdGlvbktleSIsInNldEFzc29jaWF0aW9uIiwiZ2V0QXNzb2NpYXRpb24iLCJvRXh0ZW5zaW9uIiwicG9sIiwib0NsYXNzIiwiTWV0YWRhdGEiLCJjcmVhdGVDbGFzcyIsInVpZCIsIkNvbnRyb2xsZXJNZXRhZGF0YSIsIl9zdGF0aWNPdmVycmlkZSIsIl9vdmVycmlkZSIsIk9iamVjdFBhdGgiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQW1FQSxNQUFNQSxjQUFjLEdBQUcsVUFBVUMsTUFBVixFQUFpQztBQUN2REEsSUFBQUEsTUFBTSxDQUFDQyxRQUFQLEdBQWtCQyxLQUFLLENBQ3RCO0FBQ0NDLE1BQUFBLG9CQUFvQixFQUFFLEVBRHZCO0FBRUNDLE1BQUFBLFVBQVUsRUFBRSxF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QzNDLFVBQU1DLEdBQUcsR0FBRyxFQUFaOztBQUNDQSxNQUFBQSxHQUFELENBQWF2RCxXQUFiLEdBQTJCLFlBQTBCO0FBQUEsMkNBQWJDLElBQWE7QUFBYkEsVUFBQUEsSUFBYTtBQUFBOztBQUNwRCxlQUFPUyxLQUFLLENBQUMwQixLQUFOLENBQVksSUFBWixFQUFrQm5DLElBQWxCLENBQVA7QUFDQSxPQUZEOztBQUdBLFVBQU11RCxNQUFNLEdBQUlDLFFBQUQsQ0FBa0JDLFdBQWxCLENBQThCaEQsS0FBOUIsK0JBQTJEaUQsR0FBRyxFQUE5RCxHQUFvRUosR0FBcEUsRUFBeUVLLGtCQUF6RSxDQUFmO0FBQ0FKLE1BQUFBLE1BQU0sQ0FBQzNDLFdBQVAsR0FBcUJnRCxlQUFyQixHQUF1Q1AsVUFBdkM7QUFDQUUsTUFBQUEsTUFBTSxDQUFDM0MsV0FBUCxHQUFxQmlELFNBQXJCLEdBQWlDcEQsS0FBSyxDQUFDRyxXQUFOLEdBQW9CaUQsU0FBckQ7QUFDQSxhQUFPTixNQUFQO0FBQ0EsS0FURDs7QUFXQU8sSUFBQUEsVUFBVSxDQUFDdkIsR0FBWCxDQUFlN0IsSUFBZixFQUFxQnFCLE1BQXJCO0FBQ0EsV0FBT0EsTUFBUDtBQUNBIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWVyZ2UgZnJvbSBcInNhcC9iYXNlL3V0aWwvbWVyZ2VcIjtcbmltcG9ydCBPYmplY3RQYXRoIGZyb20gXCJzYXAvYmFzZS91dGlsL09iamVjdFBhdGhcIjtcbmltcG9ydCB1aWQgZnJvbSBcInNhcC9iYXNlL3V0aWwvdWlkXCI7XG5pbXBvcnQgdHlwZSBVSTVFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCBNZXRhZGF0YSBmcm9tIFwic2FwL3VpL2Jhc2UvTWV0YWRhdGFcIjtcbmltcG9ydCB0eXBlIENvbnRyb2xsZXJFeHRlbnNpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyRXh0ZW5zaW9uXCI7XG5pbXBvcnQgQ29udHJvbGxlck1ldGFkYXRhIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlck1ldGFkYXRhXCI7XG5pbXBvcnQgdHlwZSBPdmVycmlkZUV4ZWN1dGlvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL092ZXJyaWRlRXhlY3V0aW9uXCI7XG5cbnR5cGUgT3ZlcnJpZGVEZWZpbml0aW9uID0gUmVjb3JkPHN0cmluZywgRnVuY3Rpb24+O1xudHlwZSBVSTVDb250cm9sbGVyTWV0aG9kRGVmaW5pdGlvbiA9IHtcblx0b3ZlcnJpZGVFeGVjdXRpb24/OiBPdmVycmlkZUV4ZWN1dGlvbjtcblx0cHVibGljPzogYm9vbGVhbjtcblx0ZmluYWw/OiBib29sZWFuO1xufTtcbnR5cGUgVUk1UHJvcGVydHlNZXRhZGF0YSA9IHtcblx0dHlwZTogc3RyaW5nO1xuXHRyZXF1aXJlZD86IGJvb2xlYW47XG5cdGdyb3VwPzogc3RyaW5nO1xuXHRkZWZhdWx0VmFsdWU/OiBhbnk7XG59O1xudHlwZSBVSTVBZ2dyZWdhdGlvbk1ldGFkYXRhID0ge1xuXHR0eXBlOiBzdHJpbmc7XG5cdG11bHRpcGxlPzogYm9vbGVhbjtcblx0aXNEZWZhdWx0PzogYm9vbGVhbjtcblx0c2luZ3VsYXJOYW1lPzogc3RyaW5nO1xuXHR2aXNpYmlsaXR5Pzogc3RyaW5nO1xufTtcbnR5cGUgVUk1QXNzb2NpYXRpb25NZXRhZGF0YSA9IHtcblx0dHlwZTogc3RyaW5nO1xuXHRtdWx0aXBsZT86IGJvb2xlYW47XG5cdHNpbmd1bGFyTmFtZT86IHN0cmluZztcbn07XG50eXBlIFVJNUNvbnRyb2xNZXRhZGF0YURlZmluaXRpb24gPSB7XG5cdGRlZmF1bHRBZ2dyZWdhdGlvbj86IHN0cmluZztcblx0Y29udHJvbGxlckV4dGVuc2lvbnM6IFJlY29yZDxzdHJpbmcsIHR5cGVvZiBDb250cm9sbGVyRXh0ZW5zaW9uIHwgRnVuY3Rpb24+O1xuXHRwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBVSTVQcm9wZXJ0eU1ldGFkYXRhPjtcblx0bWFjcm9Db250ZXh0czogUmVjb3JkPHN0cmluZywgVUk1UHJvcGVydHlNZXRhZGF0YT47XG5cdGFnZ3JlZ2F0aW9uczogUmVjb3JkPHN0cmluZywgVUk1QWdncmVnYXRpb25NZXRhZGF0YT47XG5cdGFzc29jaWF0aW9uczogUmVjb3JkPHN0cmluZywgVUk1QXNzb2NpYXRpb25NZXRhZGF0YT47XG5cdG1ldGhvZHM6IFJlY29yZDxzdHJpbmcsIFVJNUNvbnRyb2xsZXJNZXRob2REZWZpbml0aW9uPjtcblx0ZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCB7fT47XG5cdGludGVyZmFjZXM6IHN0cmluZ1tdO1xufTtcbnR5cGUgVUk1Q29udHJvbGxlciA9IHtcblx0b3ZlcnJpZGU/OiB7IGV4dGVuc2lvbj86IFJlY29yZDxzdHJpbmcsIE92ZXJyaWRlRGVmaW5pdGlvbj4gfSAmIHtcblx0XHRbazogc3RyaW5nXTogRnVuY3Rpb247XG5cdH07XG5cdG1ldGFkYXRhPzogVUk1Q29udHJvbE1ldGFkYXRhRGVmaW5pdGlvbjtcbn07XG5cbnR5cGUgVUk1Q29udHJvbCA9IHtcblx0bWV0YWRhdGE/OiBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uO1xufTtcblxudHlwZSBVSTVBUElDb250cm9sID0gVUk1Q29udHJvbCAmIHtcblx0Z2V0QVBJKGV2ZW50OiBVSTVFdmVudCk6IFVJNUFQSUNvbnRyb2w7XG5cdFtrOiBzdHJpbmddOiBGdW5jdGlvbjtcbn07XG5cbnR5cGUgQ29udHJvbFByb3BlcnR5TmFtZXM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgRnVuY3Rpb24gPyBuZXZlciA6IEs7XG59W2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgUHJvcGVydGllc09mPFQ+ID0gUGFydGlhbDxQaWNrPFQsIENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+Pj47XG5leHBvcnQgdHlwZSBTdHJpY3RQcm9wZXJ0aWVzT2Y8VD4gPSBQaWNrPFQsIENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+PjtcbmV4cG9ydCB0eXBlIEVuaGFuY2VXaXRoVUk1PFQ+ID0gVCAmIHtcblx0Ly8gQWRkIGFsbCB0aGUgZ2V0WFhYIG1ldGhvZCwgbWlnaHQgYWRkIHRvbyBtdWNoIGFzIGknbSBub3QgZmlsdGVyaW5nIG9uIGFjdHVhbCBwcm9wZXJ0aWVzIGFjdHVhbGx5Li4uXG5cdFtQIGluIGtleW9mIFQgYXMgYGdldCR7Q2FwaXRhbGl6ZTxzdHJpbmcgJiBQPn1gXTogKCkgPT4gVFtQXTtcbn07XG5jb25zdCBlbnN1cmVNZXRhZGF0YSA9IGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIpIHtcblx0dGFyZ2V0Lm1ldGFkYXRhID0gbWVyZ2UoXG5cdFx0e1xuXHRcdFx0Y29udHJvbGxlckV4dGVuc2lvbnM6IHt9LFxuXHRcdFx0cHJvcGVydGllczoge30sXG5cdFx0XHRtYWNyb0NvbnRleHRzOiB7fSxcblx0XHRcdGFnZ3JlZ2F0aW9uczoge30sXG5cdFx0XHRhc3NvY2lhdGlvbnM6IHt9LFxuXHRcdFx0bWV0aG9kczoge30sXG5cdFx0XHRldmVudHM6IHt9LFxuXHRcdFx0aW50ZXJmYWNlczogW11cblx0XHR9LFxuXHRcdHRhcmdldC5tZXRhZGF0YSB8fCB7fVxuXHQpIGFzIFVJNUNvbnRyb2xNZXRhZGF0YURlZmluaXRpb247XG5cdHJldHVybiB0YXJnZXQubWV0YWRhdGE7XG59O1xuXG4vKiAjcmVnaW9uIENPTlRST0xMRVIgRVhURU5TSU9OUyAqL1xuXG4vKipcbiAqIERlZmluZXMgdGhhdCB0aGUgZm9sbG93aW5nIG1ldGhvZCBpcyBhbiBvdmVycmlkZSBmb3IgdGhlIG1ldGhvZCBuYW1lIHdpdGggdGhlIHNhbWUgbmFtZSBpbiB0aGUgc3BlY2lmaWMgY29udHJvbGxlciBleHRlbnNpb24gb3IgYmFzZSBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0gZXh0ZW5zaW9uTmFtZSBUaGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uIHRoYXQgd2lsbCBiZSBvdmVycmlkZW5cbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXRob2RPdmVycmlkZShleHRlbnNpb25OYW1lPzogc3RyaW5nKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIsIHByb3BlcnR5S2V5KSB7XG5cdFx0aWYgKCF0YXJnZXQub3ZlcnJpZGUpIHtcblx0XHRcdHRhcmdldC5vdmVycmlkZSA9IHt9O1xuXHRcdH1cblx0XHRsZXQgY3VycmVudFRhcmdldCA9IHRhcmdldC5vdmVycmlkZTtcblx0XHRpZiAoZXh0ZW5zaW9uTmFtZSkge1xuXHRcdFx0aWYgKCFjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbikge1xuXHRcdFx0XHRjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbiA9IHt9O1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbltleHRlbnNpb25OYW1lXSkge1xuXHRcdFx0XHRjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbltleHRlbnNpb25OYW1lXSA9IHt9O1xuXHRcdFx0fVxuXHRcdFx0Y3VycmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQuZXh0ZW5zaW9uW2V4dGVuc2lvbk5hbWVdO1xuXHRcdH1cblx0XHRjdXJyZW50VGFyZ2V0W3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0gKHRhcmdldCBhcyBhbnkpW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldO1xuXHR9O1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhhdCB0aGUgbWV0aG9kIGNhbiBiZSBleHRlbmRlZCBieSBvdGhlciBjb250cm9sbGVyIGV4dGVuc2lvbiBiYXNlZCBvbiB0aGUgZGVmaW5lZCBvdmVycmlkZUV4ZWN1dGlvblR5cGUuXG4gKlxuICogQHBhcmFtIG92ZXJyaWRlRXhlY3V0aW9uVHlwZSBUaGUgT3ZlcnJpZGVFeGVjdXRpb24gZGVmaW5pbmcgd2hlbiB0aGUgb3ZlcnJpZGUgc2hvdWxkIHJ1biAoQmVmb3JlIC8gQWZ0ZXIgLyBJbnN0ZWFkKVxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuc2libGUob3ZlcnJpZGVFeGVjdXRpb25UeXBlPzogT3ZlcnJpZGVFeGVjdXRpb24pOiBNZXRob2REZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbGxlciwgcHJvcGVydHlLZXkpIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0aWYgKCFtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0ge307XG5cdFx0fVxuXHRcdG1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0ub3ZlcnJpZGVFeGVjdXRpb24gPSBvdmVycmlkZUV4ZWN1dGlvblR5cGU7XG5cdH07XG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGF0IHRoZSBtZXRob2Qgd2lsbCBiZSBwdWJsaWNseSBhdmFpbGFibGUgZm9yIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIHVzYWdlLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwdWJsaWNFeHRlbnNpb24oKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKTogdm9pZCB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IHRydWU7XG5cdFx0aWYgKCFtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0ge307XG5cdFx0fVxuXHRcdG1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0ucHVibGljID0gdHJ1ZTtcblx0fTtcbn1cbi8qKlxuICogRGVmaW5lcyB0aGF0IHRoZSBtZXRob2Qgd2lsbCBiZSBvbmx5IGF2YWlsYWJsZSBmb3IgaW50ZXJuYWwgdXNhZ2Ugb2YgdGhlIGNvbnRyb2xsZXIgZXh0ZW5zaW9uLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcml2YXRlRXh0ZW5zaW9uKCk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleSwgZGVzY3JpcHRvcikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRkZXNjcmlwdG9yLmVudW1lcmFibGUgPSB0cnVlO1xuXHRcdGlmICghbWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHt9O1xuXHRcdH1cblx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLnB1YmxpYyA9IGZhbHNlO1xuXHR9O1xufVxuLyoqXG4gKiBEZWZpbmVzIHRoYXQgdGhlIG1ldGhvZCBjYW5ub3QgYmUgZnVydGhlciBleHRlbmRlZCBieSBvdGhlciBjb250cm9sbGVyIGV4dGVuc2lvbi5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluYWxFeHRlbnNpb24oKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IHRydWU7XG5cdFx0aWYgKCFtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0ge307XG5cdFx0fVxuXHRcdG1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0uZmluYWwgPSB0cnVlO1xuXHR9O1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gdXNlIGluc3RhbnRpYXRlIGEgY29udHJvbGxlciBleHRlbnNpb24gdW5kZXIgdGhlIGZvbGxvd2luZyB2YXJpYWJsZSBuYW1lLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb25DbGFzcyBUaGUgY29udHJvbGxlciBleHRlbnNpb24gdGhhdCB3aWxsIGJlIGluc3RhbnRpYXRlZFxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNpbmdFeHRlbnNpb24oZXh0ZW5zaW9uQ2xhc3M6IHR5cGVvZiBDb250cm9sbGVyRXh0ZW5zaW9uIHwgRnVuY3Rpb24pOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleTogc3RyaW5nLCBwcm9wZXJ0eURlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblx0XHRtZXRhZGF0YS5jb250cm9sbGVyRXh0ZW5zaW9uc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IGV4dGVuc2lvbkNsYXNzO1xuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBpIGRlY2xhcmUgaXQgYXMgc3VjaC5cbn1cblxuLyogI2VuZHJlZ2lvbiAqL1xuXG4vKiAjcmVnaW9uIENPTlRST0wgKi9cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHByb3BlcnR5IHNoYWxsIGJlIGRlY2xhcmVkIGFzIGFuIGV2ZW50IG9uIHRoZSBjb250cm9sIG1ldGFkYXRhLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV2ZW50KCk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIGV2ZW50S2V5KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGlmICghbWV0YWRhdGEuZXZlbnRzW2V2ZW50S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRtZXRhZGF0YS5ldmVudHNbZXZlbnRLZXkudG9TdHJpbmcoKV0gPSB7fTtcblx0XHR9XG5cdH07XG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZm9sbG93aW5nIHByb3BlcnR5IGluIHRoZSBjb250cm9sIG1ldGF0YWRhLlxuICpcbiAqIEBwYXJhbSB1aTVQcm9wZXJ0eU1ldGFkYXRhIFRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvcGVydHkodWk1UHJvcGVydHlNZXRhZGF0YTogVUk1UHJvcGVydHlNZXRhZGF0YSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5RGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8YW55Pikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRpZiAoIW1ldGFkYXRhLnByb3BlcnRpZXNbcHJvcGVydHlLZXldKSB7XG5cdFx0XHRtZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnR5S2V5XSA9IHVpNVByb3BlcnR5TWV0YWRhdGE7XG5cdFx0fVxuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3Iud3JpdGFibGU7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBpIGRlY2xhcmUgaXQgYXMgc3VjaC47XG59XG4vKipcbiAqIERlZmluZXMgYW5kIGNvbmZpZ3VyZSB0aGUgZm9sbG93aW5nIGFnZ3JlZ2F0aW9uIGluIHRoZSBjb250cm9sIG1ldGF0YWRhLlxuICpcbiAqIEBwYXJhbSB1aTVBZ2dyZWdhdGlvbk1ldGFkYXRhIFRoZSBhZ2dyZWdhdGlvbiBkZWZpbml0aW9uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWdncmVnYXRpb24odWk1QWdncmVnYXRpb25NZXRhZGF0YTogVUk1QWdncmVnYXRpb25NZXRhZGF0YSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5RGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8YW55Pikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRpZiAodWk1QWdncmVnYXRpb25NZXRhZGF0YS5tdWx0aXBsZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHQvLyBVSTUgZGVmYXVsdHMgdGhpcyB0byB0cnVlIGJ1dCB0aGlzIGlzIGp1c3Qgd2VpcmQuLi5cblx0XHRcdHVpNUFnZ3JlZ2F0aW9uTWV0YWRhdGEubXVsdGlwbGUgPSBmYWxzZTtcblx0XHR9XG5cdFx0aWYgKCFtZXRhZGF0YS5hZ2dyZWdhdGlvbnNbcHJvcGVydHlLZXldKSB7XG5cdFx0XHRtZXRhZGF0YS5hZ2dyZWdhdGlvbnNbcHJvcGVydHlLZXldID0gdWk1QWdncmVnYXRpb25NZXRhZGF0YTtcblx0XHR9XG5cdFx0aWYgKHVpNUFnZ3JlZ2F0aW9uTWV0YWRhdGEuaXNEZWZhdWx0KSB7XG5cdFx0XHRtZXRhZGF0YS5kZWZhdWx0QWdncmVnYXRpb24gPSBwcm9wZXJ0eUtleTtcblx0XHR9XG5cdFx0ZGVsZXRlIHByb3BlcnR5RGVzY3JpcHRvci53cml0YWJsZTtcblx0XHRkZWxldGUgKHByb3BlcnR5RGVzY3JpcHRvciBhcyBhbnkpLmluaXRpYWxpemVyO1xuXG5cdFx0cmV0dXJuIHByb3BlcnR5RGVzY3JpcHRvcjtcblx0fSBhcyBhbnk7IC8vIFRoaXMgaXMgdGVjaG5pY2FsbHkgYW4gYWNjZXNzb3IgZGVjb3JhdG9yLCBidXQgc29tZWhvdyB0aGUgY29tcGlsZXIgZG9lc24ndCBsaWtlIGl0IGlmIGkgZGVjbGFyZSBpdCBhcyBzdWNoLjtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGFuZCBjb25maWd1cmUgdGhlIGZvbGxvd2luZyBhc3NvY2lhdGlvbiBpbiB0aGUgY29udHJvbCBtZXRhdGFkYS5cbiAqXG4gKiBAcGFyYW0gdWk1QXNzb2NpYXRpb25NZXRhZGF0YSBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgYXNzb2NpYXRpb24uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NvY2lhdGlvbih1aTVBc3NvY2lhdGlvbk1ldGFkYXRhOiBVSTVBc3NvY2lhdGlvbk1ldGFkYXRhKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbCwgcHJvcGVydHlLZXk6IHN0cmluZywgcHJvcGVydHlEZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGlmICghbWV0YWRhdGEuYXNzb2NpYXRpb25zW3Byb3BlcnR5S2V5XSkge1xuXHRcdFx0bWV0YWRhdGEuYXNzb2NpYXRpb25zW3Byb3BlcnR5S2V5XSA9IHVpNUFzc29jaWF0aW9uTWV0YWRhdGE7XG5cdFx0fVxuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3Iud3JpdGFibGU7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBpIGRlY2xhcmUgaXQgYXMgc3VjaC47XG59XG5cbi8qKlxuICogRGVmaW5lcyBpbiB0aGUgbWV0YWRhdGEgdGhhdCB0aGlzIGNvbnRyb2wgaW1wbGVtZW50cyBhIHNwZWNpZmljIGludGVyZmFjZS5cbiAqXG4gKiBAcGFyYW0gaW50ZXJmYWNlTmFtZSBUaGUgbmFtZSBvZiB0aGUgaW1wbGVtZW50ZWQgaW50ZXJmYWNlXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW1wbGVtZW50SW50ZXJmYWNlKGludGVyZmFjZU5hbWU6IHN0cmluZyk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wpIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cblx0XHRtZXRhZGF0YS5pbnRlcmZhY2VzLnB1c2goaW50ZXJmYWNlTmFtZSk7XG5cdH07XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIGZvbGxvd2luZyBtZXRob2Qgc2hvdWxkIGFsc28gYmUgZXhwb3NlZCBzdGF0aWNhbGx5IHNvIHdlIGNhbiBjYWxsIGl0IGZyb20gWE1MLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB4bWxFdmVudEhhbmRsZXIoKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIHByb3BlcnR5a2V5KSB7XG5cdFx0Y29uc3QgY3VycmVudENvbnN0cnVjdG9yOiBVSTVBUElDb250cm9sID0gdGFyZ2V0LmNvbnN0cnVjdG9yIGFzIHVua25vd24gYXMgVUk1QVBJQ29udHJvbDtcblx0XHRjdXJyZW50Q29uc3RydWN0b3JbcHJvcGVydHlrZXkudG9TdHJpbmcoKV0gPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdGlmIChhcmdzICYmIGFyZ3MubGVuZ3RoKSB7XG5cdFx0XHRcdGNvbnN0IGN1cnJlbnRUYXJnZXQgPSBjdXJyZW50Q29uc3RydWN0b3IuZ2V0QVBJKGFyZ3NbMF0gYXMgVUk1RXZlbnQpO1xuXHRcdFx0XHRjdXJyZW50VGFyZ2V0W3Byb3BlcnR5a2V5LnRvU3RyaW5nKCldKC4uLmFyZ3MpO1xuXHRcdFx0fVxuXHRcdH07XG5cdH07XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIGZvbGxvd2luZyBjbGFzcyBzaG91bGQgZGVmaW5lIGEgVUk1IGNvbnRyb2wgb2YgdGhlIHNwZWNpZmllZCBuYW1lLlxuICpcbiAqIEBwYXJhbSBzVGFyZ2V0IFRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgbWFjcm8gQVBJXG4gKiBAcGFyYW0gbWV0YWRhdGFEZWZpbml0aW9uIElubGluZSBtZXRhZGF0YSBkZWZpbml0aW9uXG4gKiBAY2xhc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZVVJNUNsYXNzKHNUYXJnZXQ6IHN0cmluZywgbWV0YWRhdGFEZWZpbml0aW9uPzogYW55KTogQ2xhc3NEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKGNvbnN0cnVjdG9yOiBGdW5jdGlvbikge1xuXHRcdGlmICghY29uc3RydWN0b3IucHJvdG90eXBlLm1ldGFkYXRhKSB7XG5cdFx0XHRjb25zdHJ1Y3Rvci5wcm90b3R5cGUubWV0YWRhdGEgPSB7fTtcblx0XHR9XG5cdFx0aWYgKG1ldGFkYXRhRGVmaW5pdGlvbikge1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gbWV0YWRhdGFEZWZpbml0aW9uKSB7XG5cdFx0XHRcdGNvbnN0cnVjdG9yLnByb3RvdHlwZS5tZXRhZGF0YVtrZXldID0gbWV0YWRhdGFEZWZpbml0aW9uW2tleSBhcyBrZXlvZiBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uXTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHJlZ2lzdGVyVUk1TWV0YWRhdGEoY29uc3RydWN0b3IsIHNUYXJnZXQsIGNvbnN0cnVjdG9yLnByb3RvdHlwZSk7XG5cdH07XG59XG5cbi8qKlxuICogSW50ZXJuYWwgaGVhdnkgbGlmdGluZyB0aGF0IHdpbGwgdGFrZSBjYXJlIG9mIGNyZWF0aW5nIHRoZSBjbGFzcyBwcm9wZXJ0eSBmb3IgdWk1IHRvIHVzZS5cbiAqXG4gKiBAcGFyYW0gY2xhenogVGhlIGNsYXNzIHByb3RvdHlwZVxuICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYXNzIHRvIGNyZWF0ZVxuICogQHBhcmFtIGluT2JqIFRoZSBtZXRhZGF0YSBvYmplY3RcbiAqIEByZXR1cm5zIFRoZSBtZXRhZGF0YSBjbGFzc1xuICovXG5mdW5jdGlvbiByZWdpc3RlclVJNU1ldGFkYXRhKGNsYXp6OiBhbnksIG5hbWU6IHN0cmluZywgaW5PYmo6IGFueSk6IGFueSB7XG5cdGlmIChjbGF6ei5nZXRNZXRhZGF0YSAmJiBjbGF6ei5nZXRNZXRhZGF0YSgpLmlzQShcInNhcC51aS5jb3JlLm12Yy5Db250cm9sbGVyRXh0ZW5zaW9uXCIpKSB7XG5cdFx0T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoaW5PYmopLmZvckVhY2goKG9iak5hbWUpID0+IHtcblx0XHRcdGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGluT2JqLCBvYmpOYW1lKTtcblx0XHRcdGlmIChkZXNjcmlwdG9yICYmICFkZXNjcmlwdG9yLmVudW1lcmFibGUpIHtcblx0XHRcdFx0ZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gdHJ1ZTtcblx0XHRcdFx0Ly9cdFx0TG9nLmVycm9yKGBQcm9wZXJ0eSAke29iak5hbWV9IGZyb20gJHtuYW1lfSBzaG91bGQgYmUgZGVjb3JhdGVkIGFzIHB1YmxpY2ApO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdGNvbnN0IG9iajogYW55ID0ge307XG5cdG9iai5tZXRhZGF0YSA9IGluT2JqLm1ldGFkYXRhIHx8IHt9O1xuXHRvYmoub3ZlcnJpZGUgPSBpbk9iai5vdmVycmlkZTtcblx0b2JqLmNvbnN0cnVjdG9yID0gY2xheno7XG5cdG9iai5tZXRhZGF0YS5iYXNlVHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjbGF6ei5wcm90b3R5cGUpLmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpO1xuXG5cdGlmIChjbGF6ej8uZ2V0TWV0YWRhdGEoKT8uZ2V0U3RlcmVvdHlwZSgpID09PSBcImNvbnRyb2xcIikge1xuXHRcdGNvbnN0IHJlbmRlcmVyRGVmaW5pdGlvbiA9IGluT2JqLnJlbmRlcmVyIHx8IGNsYXp6LnJlbmRlcmVyIHx8IGNsYXp6LnJlbmRlcjtcblx0XHRvYmoucmVuZGVyZXIgPSB7IGFwaVZlcnNpb246IDIgfTtcblx0XHRpZiAodHlwZW9mIHJlbmRlcmVyRGVmaW5pdGlvbiA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRvYmoucmVuZGVyZXIucmVuZGVyID0gcmVuZGVyZXJEZWZpbml0aW9uO1xuXHRcdH0gZWxzZSBpZiAocmVuZGVyZXJEZWZpbml0aW9uICE9IHVuZGVmaW5lZCkge1xuXHRcdFx0b2JqLnJlbmRlcmVyID0gcmVuZGVyZXJEZWZpbml0aW9uO1xuXHRcdH1cblx0fVxuXHRvYmoubWV0YWRhdGEuaW50ZXJmYWNlcyA9IGluT2JqLm1ldGFkYXRhPy5pbnRlcmZhY2VzIHx8IGNsYXp6Lm1ldGFkYXRhPy5pbnRlcmZhY2VzO1xuXHRPYmplY3Qua2V5cyhjbGF6ei5wcm90b3R5cGUpLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdGlmIChrZXkgIT09IFwibWV0YWRhdGFcIikge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0b2JqW2tleV0gPSBjbGF6ei5wcm90b3R5cGVba2V5XTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0Ly9jb25zb2xlLmxvZyhlKTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xuXHRpZiAob2JqLm1ldGFkYXRhPy5jb250cm9sbGVyRXh0ZW5zaW9ucyAmJiBPYmplY3Qua2V5cyhvYmoubWV0YWRhdGEuY29udHJvbGxlckV4dGVuc2lvbnMpLmxlbmd0aCA+IDApIHtcblx0XHRmb3IgKGNvbnN0IGNFeHROYW1lIGluIG9iai5tZXRhZGF0YS5jb250cm9sbGVyRXh0ZW5zaW9ucykge1xuXHRcdFx0b2JqW2NFeHROYW1lXSA9IG9iai5tZXRhZGF0YS5jb250cm9sbGVyRXh0ZW5zaW9uc1tjRXh0TmFtZV07XG5cdFx0fVxuXHR9XG5cdGNvbnN0IG91dHB1dCA9IGNsYXp6LmV4dGVuZChuYW1lLCBvYmopO1xuXHRjb25zdCBmbkluaXQgPSBvdXRwdXQucHJvdG90eXBlLmluaXQ7XG5cdG91dHB1dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXHRcdGlmIChmbkluaXQpIHtcblx0XHRcdGZuSW5pdC5hcHBseSh0aGlzLCBhcmdzKTtcblx0XHR9XG5cdFx0dGhpcy5tZXRhZGF0YSA9IG9iai5tZXRhZGF0YTtcblxuXHRcdGlmIChvYmoubWV0YWRhdGEucHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgYVByb3BlcnR5S2V5cyA9IE9iamVjdC5rZXlzKG9iai5tZXRhZGF0YS5wcm9wZXJ0aWVzKTtcblx0XHRcdGFQcm9wZXJ0eUtleXMuZm9yRWFjaCgocHJvcGVydHlLZXkpID0+IHtcblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7XG5cdFx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHNldDogKHY6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc2V0UHJvcGVydHkocHJvcGVydHlLZXksIHYpO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eShwcm9wZXJ0eUtleSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdFx0Y29uc3QgYUFnZ3JlZ2F0aW9uS2V5cyA9IE9iamVjdC5rZXlzKG9iai5tZXRhZGF0YS5hZ2dyZWdhdGlvbnMpO1xuXHRcdFx0YUFnZ3JlZ2F0aW9uS2V5cy5mb3JFYWNoKChhZ2dyZWdhdGlvbktleSkgPT4ge1xuXHRcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgYWdncmVnYXRpb25LZXksIHtcblx0XHRcdFx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0XHRcdFx0c2V0OiAodjogYW55KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5zZXRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbktleSwgdik7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRnZXQ6ICgpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IGFnZ3JlZ2F0aW9uQ29udGVudCA9IHRoaXMuZ2V0QWdncmVnYXRpb24oYWdncmVnYXRpb25LZXkpO1xuXHRcdFx0XHRcdFx0aWYgKG9iai5tZXRhZGF0YS5hZ2dyZWdhdGlvbnNbYWdncmVnYXRpb25LZXldLm11bHRpcGxlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBhZ2dyZWdhdGlvbkNvbnRlbnQgfHwgW107XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYWdncmVnYXRpb25Db250ZW50O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGFBc3NvY2lhdGlvbktleXMgPSBPYmplY3Qua2V5cyhvYmoubWV0YWRhdGEuYXNzb2NpYXRpb25zKTtcblx0XHRcdGFBc3NvY2lhdGlvbktleXMuZm9yRWFjaCgoYXNzb2NpYXRpb25LZXkpID0+IHtcblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIGFzc29jaWF0aW9uS2V5LCB7XG5cdFx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHNldDogKHY6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc2V0QXNzb2NpYXRpb24oYXNzb2NpYXRpb25LZXksIHYpO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFzc29jaWF0aW9uKGFzc29jaWF0aW9uS2V5KTtcblx0XHRcdFx0XHRcdGlmIChvYmoubWV0YWRhdGEuYXNzb2NpYXRpb25zW2Fzc29jaWF0aW9uS2V5XS5tdWx0aXBsZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYWdncmVnYXRpb25Db250ZW50IHx8IFtdO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGFnZ3JlZ2F0aW9uQ29udGVudDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9O1xuXHRjbGF6ei5vdmVycmlkZSA9IGZ1bmN0aW9uIChvRXh0ZW5zaW9uOiBhbnkpIHtcblx0XHRjb25zdCBwb2wgPSB7fTtcblx0XHQocG9sIGFzIGFueSkuY29uc3RydWN0b3IgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdHJldHVybiBjbGF6ei5hcHBseSh0aGlzLCBhcmdzIGFzIGFueSk7XG5cdFx0fTtcblx0XHRjb25zdCBvQ2xhc3MgPSAoTWV0YWRhdGEgYXMgYW55KS5jcmVhdGVDbGFzcyhjbGF6eiwgYGFub255bW91c0V4dGVuc2lvbn4ke3VpZCgpfWAsIHBvbCwgQ29udHJvbGxlck1ldGFkYXRhKTtcblx0XHRvQ2xhc3MuZ2V0TWV0YWRhdGEoKS5fc3RhdGljT3ZlcnJpZGUgPSBvRXh0ZW5zaW9uO1xuXHRcdG9DbGFzcy5nZXRNZXRhZGF0YSgpLl9vdmVycmlkZSA9IGNsYXp6LmdldE1ldGFkYXRhKCkuX292ZXJyaWRlO1xuXHRcdHJldHVybiBvQ2xhc3M7XG5cdH07XG5cblx0T2JqZWN0UGF0aC5zZXQobmFtZSwgb3V0cHV0KTtcblx0cmV0dXJuIG91dHB1dDtcbn1cbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  import merge from "sap/base/util/merge";
2
2
  import ObjectPath from "sap/base/util/ObjectPath";
3
3
  import uid from "sap/base/util/uid";
4
- import UI5Event from "sap/ui/base/Event";
4
+ import type UI5Event from "sap/ui/base/Event";
5
5
  import Metadata from "sap/ui/base/Metadata";
6
- import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
6
+ import type ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
7
7
  import ControllerMetadata from "sap/ui/core/mvc/ControllerMetadata";
8
- import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
8
+ import type OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
9
9
 
10
10
  type OverrideDefinition = Record<string, Function>;
11
11
  type UI5ControllerMethodDefinition = {
@@ -283,7 +283,7 @@ export function implementInterface(interfaceName: string): PropertyDecorator {
283
283
  }
284
284
 
285
285
  /**
286
- * Indicates that the following method should also be exposed statically so we can call it from the XML.
286
+ * Indicates that the following method should also be exposed statically so we can call it from XML.
287
287
  *
288
288
  * @returns The decorated method
289
289
  */
@@ -291,14 +291,16 @@ export function xmlEventHandler(): MethodDecorator {
291
291
  return function (target: UI5Control, propertykey) {
292
292
  const currentConstructor: UI5APIControl = target.constructor as unknown as UI5APIControl;
293
293
  currentConstructor[propertykey.toString()] = function (...args: any[]) {
294
- const currentTarget = currentConstructor.getAPI(args[0] as UI5Event);
295
- currentTarget[propertykey.toString()](...args);
294
+ if (args && args.length) {
295
+ const currentTarget = currentConstructor.getAPI(args[0] as UI5Event);
296
+ currentTarget[propertykey.toString()](...args);
297
+ }
296
298
  };
297
299
  };
298
300
  }
299
301
 
300
302
  /**
301
- * Indicates that the following class should define a ui5 control of the specified name.
303
+ * Indicates that the following class should define a UI5 control of the specified name.
302
304
  *
303
305
  * @param sTarget The fully qualified name of the macro API
304
306
  * @param metadataDefinition Inline metadata definition
@@ -369,7 +371,9 @@ function registerUI5Metadata(clazz: any, name: string, inObj: any): any {
369
371
  const output = clazz.extend(name, obj);
370
372
  const fnInit = output.prototype.init;
371
373
  output.prototype.init = function (...args: any[]) {
372
- fnInit && fnInit.apply(this, args);
374
+ if (fnInit) {
375
+ fnInit.apply(this, args);
376
+ }
373
377
  this.metadata = obj.metadata;
374
378
 
375
379
  if (obj.metadata.properties) {
@@ -426,9 +430,9 @@ function registerUI5Metadata(clazz: any, name: string, inObj: any): any {
426
430
  (pol as any).constructor = function (...args: any[]) {
427
431
  return clazz.apply(this, args as any);
428
432
  };
429
- const oClass = (Metadata as any).createClass(clazz, "anonymousExtension~" + uid(), pol, ControllerMetadata);
433
+ const oClass = (Metadata as any).createClass(clazz, `anonymousExtension~${uid()}`, pol, ControllerMetadata);
430
434
  oClass.getMetadata()._staticOverride = oExtension;
431
- oClass.getMetadata()._override = (clazz.getMetadata() as any)._override;
435
+ oClass.getMetadata()._override = clazz.getMetadata()._override;
432
436
  return oClass;
433
437
  };
434
438
 
@@ -25,7 +25,7 @@ sap.ui.define(["sap/ui/base/BindingParser"], function (BindingParser) {
25
25
  *
26
26
  * @param sAnnotationPath
27
27
  * @param oMetaModel
28
- * @returns {string} The non dynamic version of the annotation path
28
+ * @returns The non dynamic version of the annotation path
29
29
  */
30
30
 
31
31
 
@@ -63,4 +63,4 @@ sap.ui.define(["sap/ui/base/BindingParser"], function (BindingParser) {
63
63
  _exports.resolveDynamicExpression = resolveDynamicExpression;
64
64
  return _exports;
65
65
  }, false);
66
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNBbm5vdGF0aW9uUGF0aEhlbHBlci50cyJdLCJuYW1lcyI6WyJnZXRPYmplY3QiLCJvT2JqZWN0Iiwic1BhdGgiLCJzUGF0aFNwbGl0Iiwic3BsaXQiLCJsZW5ndGgiLCJzcGxpY2UiLCJqb2luIiwicmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIiwic0Fubm90YXRpb25QYXRoIiwib01ldGFNb2RlbCIsImluZGV4T2YiLCJmaXJzdEJyYWNrZXQiLCJzU3RhYmxlQnJhY2tldCIsInN1YnN0ciIsInNSZXN0IiwibGFzdEJyYWNrZXQiLCJhVmFsdWUiLCJvRXhwcmVzc2lvbiIsIkJpbmRpbmdQYXJzZXIiLCJwYXJzZUV4cHJlc3Npb24iLCJBcnJheSIsImlzQXJyYXkiLCJyZXN1bHQiLCJwYXJ0cyIsInBhdGgiLCJpIiwiYkZvdW5kIiwib09iamVjdFZhbHVlIiwiYlJlc3VsdCIsImZvcm1hdHRlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O0FBQUEsV0FBU0EsU0FBVCxDQUFtQkMsT0FBbkIsRUFBaUNDLEtBQWpDLEVBQWtEO0FBQ2pELFFBQUksQ0FBQ0QsT0FBTCxFQUFjO0FBQ2IsYUFBTyxJQUFQO0FBQ0E7O0FBQ0QsUUFBTUUsVUFBVSxHQUFHRCxLQUFLLENBQUNFLEtBQU4sQ0FBWSxHQUFaLENBQW5COztBQUNBLFFBQUlELFVBQVUsQ0FBQ0UsTUFBWCxLQUFzQixDQUExQixFQUE2QjtBQUM1QixhQUFPSixPQUFPLENBQUNDLEtBQUQsQ0FBZDtBQUNBLEtBRkQsTUFFTztBQUNOLGFBQU9GLFNBQVMsQ0FBQ0MsT0FBTyxDQUFDRSxVQUFVLENBQUMsQ0FBRCxDQUFYLENBQVIsRUFBeUJBLFVBQVUsQ0FBQ0csTUFBWCxDQUFrQixDQUFsQixFQUFxQkMsSUFBckIsQ0FBMEIsR0FBMUIsQ0FBekIsQ0FBaEI7QUFDQTtBQUNEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFdBQVNDLHdCQUFULENBQWtDQyxlQUFsQyxFQUF3REMsVUFBeEQsRUFBeUU7QUFDL0UsUUFBSUQsZUFBZSxDQUFDRSxPQUFoQixDQUF3QixHQUF4QixNQUFpQyxDQUFDLENBQXRDLEVBQXlDO0FBQ3hDLFVBQU1DLFlBQVksR0FBR0gsZUFBZSxDQUFDRSxPQUFoQixDQUF3QixHQUF4QixDQUFyQjtBQUNBLFVBQU1FLGNBQWMsR0FBR0osZUFBZSxDQUFDSyxNQUFoQixDQUF1QixDQUF2QixFQUEwQkYsWUFBMUIsQ0FBdkI7QUFDQSxVQUFNRyxLQUFLLEdBQUdOLGVBQWUsQ0FBQ0ssTUFBaEIsQ0FBdUJGLFlBQVksR0FBRyxDQUF0QyxDQUFkO0FBQ0EsVUFBTUksV0FBVyxHQUFHRCxLQUFLLENBQUNKLE9BQU4sQ0FBYyxHQUFkLENBQXBCO0FBQ0EsVUFBTU0sTUFBTSxHQUFHUCxVQUFVLENBQUNWLFNBQVgsQ0FBcUJhLGNBQXJCLENBQWY7QUFDQSxVQUFNSyxXQUFXLEdBQUdDLGFBQWEsQ0FBQ0MsZUFBZCxDQUE4QkwsS0FBSyxDQUFDRCxNQUFOLENBQWEsQ0FBYixFQUFnQkUsV0FBaEIsQ0FBOUIsQ0FBcEI7O0FBQ0EsVUFDQ0ssS0FBSyxDQUFDQyxPQUFOLENBQWNMLE1BQWQsS0FDQUMsV0FEQSxJQUVBQSxXQUFXLENBQUNLLE1BRlosSUFHQUwsV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUhuQixJQUlBTixXQUFXLENBQUNLLE1BQVosQ0FBbUJDLEtBQW5CLENBQXlCLENBQXpCLENBSkEsSUFLQU4sV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUFuQixDQUF5QixDQUF6QixFQUE0QkMsSUFON0IsRUFPRTtBQUNELFlBQUlDLENBQUo7QUFDQSxZQUFJQyxNQUFNLEdBQUcsS0FBYjs7QUFDQSxhQUFLRCxDQUFDLEdBQUcsQ0FBVCxFQUFZQSxDQUFDLEdBQUdULE1BQU0sQ0FBQ1osTUFBWCxJQUFxQixDQUFDc0IsTUFBbEMsRUFBMENELENBQUMsRUFBM0MsRUFBK0M7QUFDOUMsY0FBTUUsWUFBWSxHQUFHNUIsU0FBUyxDQUFDaUIsTUFBTSxDQUFDUyxDQUFELENBQVAsRUFBWVIsV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUFuQixDQUF5QixDQUF6QixFQUE0QkMsSUFBeEMsQ0FBOUI7QUFDQSxjQUFNSSxPQUFPLEdBQUdYLFdBQVcsQ0FBQ0ssTUFBWixDQUFtQk8sU0FBbkIsQ0FBNkJGLFlBQTdCLENBQWhCOztBQUNBLGNBQUlDLE9BQUosRUFBYTtBQUNaRixZQUFBQSxNQUFNLEdBQUcsSUFBVDtBQUNBO0FBQ0Q7O0FBQ0QsWUFBSUEsTUFBSixFQUFZO0FBQ1hsQixVQUFBQSxlQUFlLEdBQUdELHdCQUF3QixDQUFDSyxjQUFjLElBQUlhLENBQUMsR0FBRyxDQUFSLENBQWQsR0FBMkJYLEtBQUssQ0FBQ0QsTUFBTixDQUFhRSxXQUFXLEdBQUcsQ0FBM0IsQ0FBNUIsRUFBMkROLFVBQTNELENBQTFDO0FBQ0E7QUFDRDtBQUNEOztBQUNELFdBQU9ELGVBQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpbmRpbmdQYXJzZXIgZnJvbSBcInNhcC91aS9iYXNlL0JpbmRpbmdQYXJzZXJcIjtcblxuZnVuY3Rpb24gZ2V0T2JqZWN0KG9PYmplY3Q6IGFueSwgc1BhdGg6IGFueSk6IGFueSB7XG5cdGlmICghb09iamVjdCkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdGNvbnN0IHNQYXRoU3BsaXQgPSBzUGF0aC5zcGxpdChcIi9cIik7XG5cdGlmIChzUGF0aFNwbGl0Lmxlbmd0aCA9PT0gMSkge1xuXHRcdHJldHVybiBvT2JqZWN0W3NQYXRoXTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZ2V0T2JqZWN0KG9PYmplY3Rbc1BhdGhTcGxpdFswXV0sIHNQYXRoU3BsaXQuc3BsaWNlKDEpLmpvaW4oXCIvXCIpKTtcblx0fVxufVxuLyoqXG4gKiBSZXNvbHZlIGEgZHluYW1pYyBhbm5vdGF0aW9uIHBhdGggZG93biB0byBhIHN0YW5kYXJkIGFubm90YXRpb24gcGF0aC5cbiAqXG4gKiBAcGFyYW0gc0Fubm90YXRpb25QYXRoXG4gKiBAcGFyYW0gb01ldGFNb2RlbFxuICogQHJldHVybnMge3N0cmluZ30gVGhlIG5vbiBkeW5hbWljIHZlcnNpb24gb2YgdGhlIGFubm90YXRpb24gcGF0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uKHNBbm5vdGF0aW9uUGF0aDogYW55LCBvTWV0YU1vZGVsOiBhbnkpIHtcblx0aWYgKHNBbm5vdGF0aW9uUGF0aC5pbmRleE9mKFwiW1wiKSAhPT0gLTEpIHtcblx0XHRjb25zdCBmaXJzdEJyYWNrZXQgPSBzQW5ub3RhdGlvblBhdGguaW5kZXhPZihcIltcIik7XG5cdFx0Y29uc3Qgc1N0YWJsZUJyYWNrZXQgPSBzQW5ub3RhdGlvblBhdGguc3Vic3RyKDAsIGZpcnN0QnJhY2tldCk7XG5cdFx0Y29uc3Qgc1Jlc3QgPSBzQW5ub3RhdGlvblBhdGguc3Vic3RyKGZpcnN0QnJhY2tldCArIDEpO1xuXHRcdGNvbnN0IGxhc3RCcmFja2V0ID0gc1Jlc3QuaW5kZXhPZihcIl1cIik7XG5cdFx0Y29uc3QgYVZhbHVlID0gb01ldGFNb2RlbC5nZXRPYmplY3Qoc1N0YWJsZUJyYWNrZXQpO1xuXHRcdGNvbnN0IG9FeHByZXNzaW9uID0gQmluZGluZ1BhcnNlci5wYXJzZUV4cHJlc3Npb24oc1Jlc3Quc3Vic3RyKDAsIGxhc3RCcmFja2V0KSk7XG5cdFx0aWYgKFxuXHRcdFx0QXJyYXkuaXNBcnJheShhVmFsdWUpICYmXG5cdFx0XHRvRXhwcmVzc2lvbiAmJlxuXHRcdFx0b0V4cHJlc3Npb24ucmVzdWx0ICYmXG5cdFx0XHRvRXhwcmVzc2lvbi5yZXN1bHQucGFydHMgJiZcblx0XHRcdG9FeHByZXNzaW9uLnJlc3VsdC5wYXJ0c1swXSAmJlxuXHRcdFx0b0V4cHJlc3Npb24ucmVzdWx0LnBhcnRzWzBdLnBhdGhcblx0XHQpIHtcblx0XHRcdGxldCBpO1xuXHRcdFx0bGV0IGJGb3VuZCA9IGZhbHNlO1xuXHRcdFx0Zm9yIChpID0gMDsgaSA8IGFWYWx1ZS5sZW5ndGggJiYgIWJGb3VuZDsgaSsrKSB7XG5cdFx0XHRcdGNvbnN0IG9PYmplY3RWYWx1ZSA9IGdldE9iamVjdChhVmFsdWVbaV0sIG9FeHByZXNzaW9uLnJlc3VsdC5wYXJ0c1swXS5wYXRoKTtcblx0XHRcdFx0Y29uc3QgYlJlc3VsdCA9IG9FeHByZXNzaW9uLnJlc3VsdC5mb3JtYXR0ZXIob09iamVjdFZhbHVlKTtcblx0XHRcdFx0aWYgKGJSZXN1bHQpIHtcblx0XHRcdFx0XHRiRm91bmQgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAoYkZvdW5kKSB7XG5cdFx0XHRcdHNBbm5vdGF0aW9uUGF0aCA9IHJlc29sdmVEeW5hbWljRXhwcmVzc2lvbihzU3RhYmxlQnJhY2tldCArIChpIC0gMSkgKyBzUmVzdC5zdWJzdHIobGFzdEJyYWNrZXQgKyAxKSwgb01ldGFNb2RlbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBzQW5ub3RhdGlvblBhdGg7XG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNBbm5vdGF0aW9uUGF0aEhlbHBlci50cyJdLCJuYW1lcyI6WyJnZXRPYmplY3QiLCJvT2JqZWN0Iiwic1BhdGgiLCJzUGF0aFNwbGl0Iiwic3BsaXQiLCJsZW5ndGgiLCJzcGxpY2UiLCJqb2luIiwicmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIiwic0Fubm90YXRpb25QYXRoIiwib01ldGFNb2RlbCIsImluZGV4T2YiLCJmaXJzdEJyYWNrZXQiLCJzU3RhYmxlQnJhY2tldCIsInN1YnN0ciIsInNSZXN0IiwibGFzdEJyYWNrZXQiLCJhVmFsdWUiLCJvRXhwcmVzc2lvbiIsIkJpbmRpbmdQYXJzZXIiLCJwYXJzZUV4cHJlc3Npb24iLCJBcnJheSIsImlzQXJyYXkiLCJyZXN1bHQiLCJwYXJ0cyIsInBhdGgiLCJpIiwiYkZvdW5kIiwib09iamVjdFZhbHVlIiwiYlJlc3VsdCIsImZvcm1hdHRlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O0FBQUEsV0FBU0EsU0FBVCxDQUFtQkMsT0FBbkIsRUFBaUNDLEtBQWpDLEVBQWtEO0FBQ2pELFFBQUksQ0FBQ0QsT0FBTCxFQUFjO0FBQ2IsYUFBTyxJQUFQO0FBQ0E7O0FBQ0QsUUFBTUUsVUFBVSxHQUFHRCxLQUFLLENBQUNFLEtBQU4sQ0FBWSxHQUFaLENBQW5COztBQUNBLFFBQUlELFVBQVUsQ0FBQ0UsTUFBWCxLQUFzQixDQUExQixFQUE2QjtBQUM1QixhQUFPSixPQUFPLENBQUNDLEtBQUQsQ0FBZDtBQUNBLEtBRkQsTUFFTztBQUNOLGFBQU9GLFNBQVMsQ0FBQ0MsT0FBTyxDQUFDRSxVQUFVLENBQUMsQ0FBRCxDQUFYLENBQVIsRUFBeUJBLFVBQVUsQ0FBQ0csTUFBWCxDQUFrQixDQUFsQixFQUFxQkMsSUFBckIsQ0FBMEIsR0FBMUIsQ0FBekIsQ0FBaEI7QUFDQTtBQUNEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFdBQVNDLHdCQUFULENBQWtDQyxlQUFsQyxFQUF3REMsVUFBeEQsRUFBeUU7QUFDL0UsUUFBSUQsZUFBZSxDQUFDRSxPQUFoQixDQUF3QixHQUF4QixNQUFpQyxDQUFDLENBQXRDLEVBQXlDO0FBQ3hDLFVBQU1DLFlBQVksR0FBR0gsZUFBZSxDQUFDRSxPQUFoQixDQUF3QixHQUF4QixDQUFyQjtBQUNBLFVBQU1FLGNBQWMsR0FBR0osZUFBZSxDQUFDSyxNQUFoQixDQUF1QixDQUF2QixFQUEwQkYsWUFBMUIsQ0FBdkI7QUFDQSxVQUFNRyxLQUFLLEdBQUdOLGVBQWUsQ0FBQ0ssTUFBaEIsQ0FBdUJGLFlBQVksR0FBRyxDQUF0QyxDQUFkO0FBQ0EsVUFBTUksV0FBVyxHQUFHRCxLQUFLLENBQUNKLE9BQU4sQ0FBYyxHQUFkLENBQXBCO0FBQ0EsVUFBTU0sTUFBTSxHQUFHUCxVQUFVLENBQUNWLFNBQVgsQ0FBcUJhLGNBQXJCLENBQWY7QUFDQSxVQUFNSyxXQUFXLEdBQUdDLGFBQWEsQ0FBQ0MsZUFBZCxDQUE4QkwsS0FBSyxDQUFDRCxNQUFOLENBQWEsQ0FBYixFQUFnQkUsV0FBaEIsQ0FBOUIsQ0FBcEI7O0FBQ0EsVUFDQ0ssS0FBSyxDQUFDQyxPQUFOLENBQWNMLE1BQWQsS0FDQUMsV0FEQSxJQUVBQSxXQUFXLENBQUNLLE1BRlosSUFHQUwsV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUhuQixJQUlBTixXQUFXLENBQUNLLE1BQVosQ0FBbUJDLEtBQW5CLENBQXlCLENBQXpCLENBSkEsSUFLQU4sV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUFuQixDQUF5QixDQUF6QixFQUE0QkMsSUFON0IsRUFPRTtBQUNELFlBQUlDLENBQUo7QUFDQSxZQUFJQyxNQUFNLEdBQUcsS0FBYjs7QUFDQSxhQUFLRCxDQUFDLEdBQUcsQ0FBVCxFQUFZQSxDQUFDLEdBQUdULE1BQU0sQ0FBQ1osTUFBWCxJQUFxQixDQUFDc0IsTUFBbEMsRUFBMENELENBQUMsRUFBM0MsRUFBK0M7QUFDOUMsY0FBTUUsWUFBWSxHQUFHNUIsU0FBUyxDQUFDaUIsTUFBTSxDQUFDUyxDQUFELENBQVAsRUFBWVIsV0FBVyxDQUFDSyxNQUFaLENBQW1CQyxLQUFuQixDQUF5QixDQUF6QixFQUE0QkMsSUFBeEMsQ0FBOUI7QUFDQSxjQUFNSSxPQUFPLEdBQUdYLFdBQVcsQ0FBQ0ssTUFBWixDQUFtQk8sU0FBbkIsQ0FBNkJGLFlBQTdCLENBQWhCOztBQUNBLGNBQUlDLE9BQUosRUFBYTtBQUNaRixZQUFBQSxNQUFNLEdBQUcsSUFBVDtBQUNBO0FBQ0Q7O0FBQ0QsWUFBSUEsTUFBSixFQUFZO0FBQ1hsQixVQUFBQSxlQUFlLEdBQUdELHdCQUF3QixDQUFDSyxjQUFjLElBQUlhLENBQUMsR0FBRyxDQUFSLENBQWQsR0FBMkJYLEtBQUssQ0FBQ0QsTUFBTixDQUFhRSxXQUFXLEdBQUcsQ0FBM0IsQ0FBNUIsRUFBMkROLFVBQTNELENBQTFDO0FBQ0E7QUFDRDtBQUNEOztBQUNELFdBQU9ELGVBQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpbmRpbmdQYXJzZXIgZnJvbSBcInNhcC91aS9iYXNlL0JpbmRpbmdQYXJzZXJcIjtcblxuZnVuY3Rpb24gZ2V0T2JqZWN0KG9PYmplY3Q6IGFueSwgc1BhdGg6IGFueSk6IGFueSB7XG5cdGlmICghb09iamVjdCkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdGNvbnN0IHNQYXRoU3BsaXQgPSBzUGF0aC5zcGxpdChcIi9cIik7XG5cdGlmIChzUGF0aFNwbGl0Lmxlbmd0aCA9PT0gMSkge1xuXHRcdHJldHVybiBvT2JqZWN0W3NQYXRoXTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZ2V0T2JqZWN0KG9PYmplY3Rbc1BhdGhTcGxpdFswXV0sIHNQYXRoU3BsaXQuc3BsaWNlKDEpLmpvaW4oXCIvXCIpKTtcblx0fVxufVxuLyoqXG4gKiBSZXNvbHZlIGEgZHluYW1pYyBhbm5vdGF0aW9uIHBhdGggZG93biB0byBhIHN0YW5kYXJkIGFubm90YXRpb24gcGF0aC5cbiAqXG4gKiBAcGFyYW0gc0Fubm90YXRpb25QYXRoXG4gKiBAcGFyYW0gb01ldGFNb2RlbFxuICogQHJldHVybnMgVGhlIG5vbiBkeW5hbWljIHZlcnNpb24gb2YgdGhlIGFubm90YXRpb24gcGF0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uKHNBbm5vdGF0aW9uUGF0aDogYW55LCBvTWV0YU1vZGVsOiBhbnkpIHtcblx0aWYgKHNBbm5vdGF0aW9uUGF0aC5pbmRleE9mKFwiW1wiKSAhPT0gLTEpIHtcblx0XHRjb25zdCBmaXJzdEJyYWNrZXQgPSBzQW5ub3RhdGlvblBhdGguaW5kZXhPZihcIltcIik7XG5cdFx0Y29uc3Qgc1N0YWJsZUJyYWNrZXQgPSBzQW5ub3RhdGlvblBhdGguc3Vic3RyKDAsIGZpcnN0QnJhY2tldCk7XG5cdFx0Y29uc3Qgc1Jlc3QgPSBzQW5ub3RhdGlvblBhdGguc3Vic3RyKGZpcnN0QnJhY2tldCArIDEpO1xuXHRcdGNvbnN0IGxhc3RCcmFja2V0ID0gc1Jlc3QuaW5kZXhPZihcIl1cIik7XG5cdFx0Y29uc3QgYVZhbHVlID0gb01ldGFNb2RlbC5nZXRPYmplY3Qoc1N0YWJsZUJyYWNrZXQpO1xuXHRcdGNvbnN0IG9FeHByZXNzaW9uID0gQmluZGluZ1BhcnNlci5wYXJzZUV4cHJlc3Npb24oc1Jlc3Quc3Vic3RyKDAsIGxhc3RCcmFja2V0KSk7XG5cdFx0aWYgKFxuXHRcdFx0QXJyYXkuaXNBcnJheShhVmFsdWUpICYmXG5cdFx0XHRvRXhwcmVzc2lvbiAmJlxuXHRcdFx0b0V4cHJlc3Npb24ucmVzdWx0ICYmXG5cdFx0XHRvRXhwcmVzc2lvbi5yZXN1bHQucGFydHMgJiZcblx0XHRcdG9FeHByZXNzaW9uLnJlc3VsdC5wYXJ0c1swXSAmJlxuXHRcdFx0b0V4cHJlc3Npb24ucmVzdWx0LnBhcnRzWzBdLnBhdGhcblx0XHQpIHtcblx0XHRcdGxldCBpO1xuXHRcdFx0bGV0IGJGb3VuZCA9IGZhbHNlO1xuXHRcdFx0Zm9yIChpID0gMDsgaSA8IGFWYWx1ZS5sZW5ndGggJiYgIWJGb3VuZDsgaSsrKSB7XG5cdFx0XHRcdGNvbnN0IG9PYmplY3RWYWx1ZSA9IGdldE9iamVjdChhVmFsdWVbaV0sIG9FeHByZXNzaW9uLnJlc3VsdC5wYXJ0c1swXS5wYXRoKTtcblx0XHRcdFx0Y29uc3QgYlJlc3VsdCA9IG9FeHByZXNzaW9uLnJlc3VsdC5mb3JtYXR0ZXIob09iamVjdFZhbHVlKTtcblx0XHRcdFx0aWYgKGJSZXN1bHQpIHtcblx0XHRcdFx0XHRiRm91bmQgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAoYkZvdW5kKSB7XG5cdFx0XHRcdHNBbm5vdGF0aW9uUGF0aCA9IHJlc29sdmVEeW5hbWljRXhwcmVzc2lvbihzU3RhYmxlQnJhY2tldCArIChpIC0gMSkgKyBzUmVzdC5zdWJzdHIobGFzdEJyYWNrZXQgKyAxKSwgb01ldGFNb2RlbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBzQW5ub3RhdGlvblBhdGg7XG59XG4iXX0=
@@ -16,7 +16,7 @@ function getObject(oObject: any, sPath: any): any {
16
16
  *
17
17
  * @param sAnnotationPath
18
18
  * @param oMetaModel
19
- * @returns {string} The non dynamic version of the annotation path
19
+ * @returns The non dynamic version of the annotation path
20
20
  */
21
21
  export function resolveDynamicExpression(sAnnotationPath: any, oMetaModel: any) {
22
22
  if (sAnnotationPath.indexOf("[") !== -1) {
@@ -18,7 +18,6 @@ sap.ui.define([], function () {
18
18
  * @function
19
19
  * @name sap.fe.core.helpers.EditState#setEditStateDirty
20
20
  * @memberof sap.fe.core.helpers.EditState
21
- *
22
21
  * @ui5-restricted
23
22
  * @final
24
23
  */
@@ -32,7 +31,6 @@ sap.ui.define([], function () {
32
31
  * @function
33
32
  * @name sap.fe.core.helpers.EditState#setEditStateProcessed
34
33
  * @memberof sap.fe.core.helpers.EditState
35
- *
36
34
  * @ui5-restricted
37
35
  * @final
38
36
  */
@@ -46,7 +44,6 @@ sap.ui.define([], function () {
46
44
  * @function
47
45
  * @name sap.fe.core.helpers.EditState#resetEditState
48
46
  * @memberof sap.fe.core.helpers.EditState
49
- *
50
47
  * @ui5-restricted
51
48
  * @final
52
49
  */
@@ -60,7 +57,6 @@ sap.ui.define([], function () {
60
57
  * @function
61
58
  * @name sap.fe.core.helpers.EditState#isEditStateDirty
62
59
  * @memberof sap.fe.core.helpers.EditState
63
- *
64
60
  * @ui5-restricted
65
61
  * @final
66
62
  */
@@ -74,7 +70,6 @@ sap.ui.define([], function () {
74
70
  * @function
75
71
  * @name sap.fe.core.helpers.EditState#cleanProcessedEditState
76
72
  * @memberof sap.fe.core.helpers.EditState
77
- *
78
73
  * @ui5-restricted
79
74
  * @final
80
75
  */
@@ -85,4 +80,4 @@ sap.ui.define([], function () {
85
80
  }
86
81
  };
87
82
  }, false);
88
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVkaXRTdGF0ZS50cyJdLCJuYW1lcyI6WyJlbnVtRWRpdFN0YXRlIiwiQ0xFQU4iLCJQUk9DRVNTRUQiLCJESVJUWSIsImN1cnJlbnRFZGl0U3RhdGUiLCJzZXRFZGl0U3RhdGVEaXJ0eSIsInNldEVkaXRTdGF0ZVByb2Nlc3NlZCIsInJlc2V0RWRpdFN0YXRlIiwiaXNFZGl0U3RhdGVEaXJ0eSIsImNsZWFuUHJvY2Vzc2VkRWRpdFN0YXRlIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBRkEsTUFBTUEsYUFBYSxHQUFHO0FBQ3JCQyxJQUFBQSxLQUFLLEVBQUUsQ0FEYztBQUVyQkMsSUFBQUEsU0FBUyxFQUFFLENBRlU7QUFHckJDLElBQUFBLEtBQUssRUFBRTtBQUhjLEdBQXRCO0FBS0EsTUFBSUMsZ0JBQWdCLEdBQUdKLGFBQWEsQ0FBQ0MsS0FBckM7U0FFZTtBQUNkO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NJLElBQUFBLGlCQUFpQixFQUFFLFlBQVc7QUFDN0JELE1BQUFBLGdCQUFnQixHQUFHSixhQUFhLENBQUNHLEtBQWpDO0FBQ0EsS0FiYTs7QUFlZDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDRyxJQUFBQSxxQkFBcUIsRUFBRSxZQUFXO0FBQ2pDRixNQUFBQSxnQkFBZ0IsR0FBR0osYUFBYSxDQUFDRSxTQUFqQztBQUNBLEtBM0JhOztBQTZCZDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDSyxJQUFBQSxjQUFjLEVBQUUsWUFBVztBQUMxQkgsTUFBQUEsZ0JBQWdCLEdBQUdKLGFBQWEsQ0FBQ0MsS0FBakM7QUFDQSxLQXpDYTs7QUEyQ2Q7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQ08sSUFBQUEsZ0JBQWdCLEVBQUUsWUFBVztBQUM1QixhQUFPSixnQkFBZ0IsS0FBS0osYUFBYSxDQUFDQyxLQUExQztBQUNBLEtBeERhOztBQTBEZDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDUSxJQUFBQSx1QkFBdUIsRUFBRSxZQUFXO0FBQ25DLFVBQUlMLGdCQUFnQixLQUFLSixhQUFhLENBQUNFLFNBQXZDLEVBQWtEO0FBQ2pERSxRQUFBQSxnQkFBZ0IsR0FBR0osYUFBYSxDQUFDQyxLQUFqQztBQUNBO0FBQ0Q7QUF4RWEsRyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZW51bUVkaXRTdGF0ZSA9IHtcblx0Q0xFQU46IDAsXG5cdFBST0NFU1NFRDogMSxcblx0RElSVFk6IDJcbn07XG5sZXQgY3VycmVudEVkaXRTdGF0ZSA9IGVudW1FZGl0U3RhdGUuQ0xFQU47XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0LyoqXG5cdCAqIFRoaXMgc2V0cyB0aGUgZWRpdCBzdGF0ZSBhcyBkaXJ0eSwgbWVhbmluZyBiaW5kaW5ncyBoYXZlIHRvIGJlIHJlZnJlc2hlZC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLmhlbHBlcnMuRWRpdFN0YXRlI3NldEVkaXRTdGF0ZURpcnR5XG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5oZWxwZXJzLkVkaXRTdGF0ZVxuXHQgKlxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXHRzZXRFZGl0U3RhdGVEaXJ0eTogZnVuY3Rpb24oKSB7XG5cdFx0Y3VycmVudEVkaXRTdGF0ZSA9IGVudW1FZGl0U3RhdGUuRElSVFk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIFRoaXMgc2V0cyB0aGUgZWRpdCBzdGF0ZSBhcyBwcm9jZXNzZWQsIG1lYW5pbmcgaXMgY2FuIGJlIHJlc2V0IHRvIGNsZWFuIGFmdGVyIGFsbCBiaW5kaW5ncyBhcmUgcmVmcmVzaGVkLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuaGVscGVycy5FZGl0U3RhdGUjc2V0RWRpdFN0YXRlUHJvY2Vzc2VkXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5oZWxwZXJzLkVkaXRTdGF0ZVxuXHQgKlxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXHRzZXRFZGl0U3RhdGVQcm9jZXNzZWQ6IGZ1bmN0aW9uKCkge1xuXHRcdGN1cnJlbnRFZGl0U3RhdGUgPSBlbnVtRWRpdFN0YXRlLlBST0NFU1NFRDtcblx0fSxcblxuXHQvKipcblx0ICogUmVzZXRzIHRoZSBlZGl0IHN0YXRlIHRvIHRoZSBpbml0aWFsIHN0YXRlLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuaGVscGVycy5FZGl0U3RhdGUjcmVzZXRFZGl0U3RhdGVcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmhlbHBlcnMuRWRpdFN0YXRlXG5cdCAqXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKiBAZmluYWxcblx0ICovXG5cdHJlc2V0RWRpdFN0YXRlOiBmdW5jdGlvbigpIHtcblx0XHRjdXJyZW50RWRpdFN0YXRlID0gZW51bUVkaXRTdGF0ZS5DTEVBTjtcblx0fSxcblxuXHQvKipcblx0ICogUmV0dXJucyB0cnVlIGlmIHRoZSBlZGl0IHN0YXRlIGlzIG5vdCBjbGVhbiwgbWVhbmluZyBiaW5kaW5ncyBoYXZlIHRvIGJlIHJlZnJlc2hlZFxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuaGVscGVycy5FZGl0U3RhdGUjaXNFZGl0U3RhdGVEaXJ0eVxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuaGVscGVycy5FZGl0U3RhdGVcblx0ICpcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqIEBmaW5hbFxuXHQgKi9cblxuXHRpc0VkaXRTdGF0ZURpcnR5OiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gY3VycmVudEVkaXRTdGF0ZSAhPT0gZW51bUVkaXRTdGF0ZS5DTEVBTjtcblx0fSxcblxuXHQvKipcblx0ICogQ2xlYW5zIHRoZSBlZGl0IHN0YXRlIGlmIGl0IGhhcyBiZWVuIHByb2Nlc3NlZCwgaS5lLiBiaW5kaW5ncyBoYXZlIGJlZW4gcHJvcGVybHkgcmVmcmVzaGVkLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuaGVscGVycy5FZGl0U3RhdGUjY2xlYW5Qcm9jZXNzZWRFZGl0U3RhdGVcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmhlbHBlcnMuRWRpdFN0YXRlXG5cdCAqXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKiBAZmluYWxcblx0ICovXG5cdGNsZWFuUHJvY2Vzc2VkRWRpdFN0YXRlOiBmdW5jdGlvbigpIHtcblx0XHRpZiAoY3VycmVudEVkaXRTdGF0ZSA9PT0gZW51bUVkaXRTdGF0ZS5QUk9DRVNTRUQpIHtcblx0XHRcdGN1cnJlbnRFZGl0U3RhdGUgPSBlbnVtRWRpdFN0YXRlLkNMRUFOO1xuXHRcdH1cblx0fVxufTtcbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVkaXRTdGF0ZS50cyJdLCJuYW1lcyI6WyJlbnVtRWRpdFN0YXRlIiwiQ0xFQU4iLCJQUk9DRVNTRUQiLCJESVJUWSIsImN1cnJlbnRFZGl0U3RhdGUiLCJzZXRFZGl0U3RhdGVEaXJ0eSIsInNldEVkaXRTdGF0ZVByb2Nlc3NlZCIsInJlc2V0RWRpdFN0YXRlIiwiaXNFZGl0U3RhdGVEaXJ0eSIsImNsZWFuUHJvY2Vzc2VkRWRpdFN0YXRlIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBRkEsTUFBTUEsYUFBYSxHQUFHO0FBQ3JCQyxJQUFBQSxLQUFLLEVBQUUsQ0FEYztBQUVyQkMsSUFBQUEsU0FBUyxFQUFFLENBRlU7QUFHckJDLElBQUFBLEtBQUssRUFBRTtBQUhjLEdBQXRCO0FBS0EsTUFBSUMsZ0JBQWdCLEdBQUdKLGFBQWEsQ0FBQ0MsS0FBckM7U0FFZTtBQUNkO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDSSxJQUFBQSxpQkFBaUIsRUFBRSxZQUFZO0FBQzlCRCxNQUFBQSxnQkFBZ0IsR0FBR0osYUFBYSxDQUFDRyxLQUFqQztBQUNBLEtBWmE7O0FBY2Q7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NHLElBQUFBLHFCQUFxQixFQUFFLFlBQVk7QUFDbENGLE1BQUFBLGdCQUFnQixHQUFHSixhQUFhLENBQUNFLFNBQWpDO0FBQ0EsS0F6QmE7O0FBMkJkO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDSyxJQUFBQSxjQUFjLEVBQUUsWUFBWTtBQUMzQkgsTUFBQUEsZ0JBQWdCLEdBQUdKLGFBQWEsQ0FBQ0MsS0FBakM7QUFDQSxLQXRDYTs7QUF3Q2Q7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUNPLElBQUFBLGdCQUFnQixFQUFFLFlBQVk7QUFDN0IsYUFBT0osZ0JBQWdCLEtBQUtKLGFBQWEsQ0FBQ0MsS0FBMUM7QUFDQSxLQXBEYTs7QUFzRGQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NRLElBQUFBLHVCQUF1QixFQUFFLFlBQVk7QUFDcEMsVUFBSUwsZ0JBQWdCLEtBQUtKLGFBQWEsQ0FBQ0UsU0FBdkMsRUFBa0Q7QUFDakRFLFFBQUFBLGdCQUFnQixHQUFHSixhQUFhLENBQUNDLEtBQWpDO0FBQ0E7QUFDRDtBQW5FYSxHIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlbnVtRWRpdFN0YXRlID0ge1xuXHRDTEVBTjogMCxcblx0UFJPQ0VTU0VEOiAxLFxuXHRESVJUWTogMlxufTtcbmxldCBjdXJyZW50RWRpdFN0YXRlID0gZW51bUVkaXRTdGF0ZS5DTEVBTjtcblxuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogVGhpcyBzZXRzIHRoZSBlZGl0IHN0YXRlIGFzIGRpcnR5LCBtZWFuaW5nIGJpbmRpbmdzIGhhdmUgdG8gYmUgcmVmcmVzaGVkLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuaGVscGVycy5FZGl0U3RhdGUjc2V0RWRpdFN0YXRlRGlydHlcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmhlbHBlcnMuRWRpdFN0YXRlXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKiBAZmluYWxcblx0ICovXG5cdHNldEVkaXRTdGF0ZURpcnR5OiBmdW5jdGlvbiAoKSB7XG5cdFx0Y3VycmVudEVkaXRTdGF0ZSA9IGVudW1FZGl0U3RhdGUuRElSVFk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIFRoaXMgc2V0cyB0aGUgZWRpdCBzdGF0ZSBhcyBwcm9jZXNzZWQsIG1lYW5pbmcgaXMgY2FuIGJlIHJlc2V0IHRvIGNsZWFuIGFmdGVyIGFsbCBiaW5kaW5ncyBhcmUgcmVmcmVzaGVkLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuaGVscGVycy5FZGl0U3RhdGUjc2V0RWRpdFN0YXRlUHJvY2Vzc2VkXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5oZWxwZXJzLkVkaXRTdGF0ZVxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXHRzZXRFZGl0U3RhdGVQcm9jZXNzZWQ6IGZ1bmN0aW9uICgpIHtcblx0XHRjdXJyZW50RWRpdFN0YXRlID0gZW51bUVkaXRTdGF0ZS5QUk9DRVNTRUQ7XG5cdH0sXG5cblx0LyoqXG5cdCAqIFJlc2V0cyB0aGUgZWRpdCBzdGF0ZSB0byB0aGUgaW5pdGlhbCBzdGF0ZS5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLmhlbHBlcnMuRWRpdFN0YXRlI3Jlc2V0RWRpdFN0YXRlXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5oZWxwZXJzLkVkaXRTdGF0ZVxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXHRyZXNldEVkaXRTdGF0ZTogZnVuY3Rpb24gKCkge1xuXHRcdGN1cnJlbnRFZGl0U3RhdGUgPSBlbnVtRWRpdFN0YXRlLkNMRUFOO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGVkaXQgc3RhdGUgaXMgbm90IGNsZWFuLCBtZWFuaW5nIGJpbmRpbmdzIGhhdmUgdG8gYmUgcmVmcmVzaGVkXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5oZWxwZXJzLkVkaXRTdGF0ZSNpc0VkaXRTdGF0ZURpcnR5XG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5oZWxwZXJzLkVkaXRTdGF0ZVxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXG5cdGlzRWRpdFN0YXRlRGlydHk6IGZ1bmN0aW9uICgpIHtcblx0XHRyZXR1cm4gY3VycmVudEVkaXRTdGF0ZSAhPT0gZW51bUVkaXRTdGF0ZS5DTEVBTjtcblx0fSxcblxuXHQvKipcblx0ICogQ2xlYW5zIHRoZSBlZGl0IHN0YXRlIGlmIGl0IGhhcyBiZWVuIHByb2Nlc3NlZCwgaS5lLiBiaW5kaW5ncyBoYXZlIGJlZW4gcHJvcGVybHkgcmVmcmVzaGVkLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuaGVscGVycy5FZGl0U3RhdGUjY2xlYW5Qcm9jZXNzZWRFZGl0U3RhdGVcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmhlbHBlcnMuRWRpdFN0YXRlXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKiBAZmluYWxcblx0ICovXG5cdGNsZWFuUHJvY2Vzc2VkRWRpdFN0YXRlOiBmdW5jdGlvbiAoKSB7XG5cdFx0aWYgKGN1cnJlbnRFZGl0U3RhdGUgPT09IGVudW1FZGl0U3RhdGUuUFJPQ0VTU0VEKSB7XG5cdFx0XHRjdXJyZW50RWRpdFN0YXRlID0gZW51bUVkaXRTdGF0ZS5DTEVBTjtcblx0XHR9XG5cdH1cbn07XG4iXX0=
@@ -12,11 +12,10 @@ export default {
12
12
  * @function
13
13
  * @name sap.fe.core.helpers.EditState#setEditStateDirty
14
14
  * @memberof sap.fe.core.helpers.EditState
15
- *
16
15
  * @ui5-restricted
17
16
  * @final
18
17
  */
19
- setEditStateDirty: function() {
18
+ setEditStateDirty: function () {
20
19
  currentEditState = enumEditState.DIRTY;
21
20
  },
22
21
 
@@ -26,11 +25,10 @@ export default {
26
25
  * @function
27
26
  * @name sap.fe.core.helpers.EditState#setEditStateProcessed
28
27
  * @memberof sap.fe.core.helpers.EditState
29
- *
30
28
  * @ui5-restricted
31
29
  * @final
32
30
  */
33
- setEditStateProcessed: function() {
31
+ setEditStateProcessed: function () {
34
32
  currentEditState = enumEditState.PROCESSED;
35
33
  },
36
34
 
@@ -40,11 +38,10 @@ export default {
40
38
  * @function
41
39
  * @name sap.fe.core.helpers.EditState#resetEditState
42
40
  * @memberof sap.fe.core.helpers.EditState
43
- *
44
41
  * @ui5-restricted
45
42
  * @final
46
43
  */
47
- resetEditState: function() {
44
+ resetEditState: function () {
48
45
  currentEditState = enumEditState.CLEAN;
49
46
  },
50
47
 
@@ -54,12 +51,11 @@ export default {
54
51
  * @function
55
52
  * @name sap.fe.core.helpers.EditState#isEditStateDirty
56
53
  * @memberof sap.fe.core.helpers.EditState
57
- *
58
54
  * @ui5-restricted
59
55
  * @final
60
56
  */
61
57
 
62
- isEditStateDirty: function() {
58
+ isEditStateDirty: function () {
63
59
  return currentEditState !== enumEditState.CLEAN;
64
60
  },
65
61
 
@@ -69,11 +65,10 @@ export default {
69
65
  * @function
70
66
  * @name sap.fe.core.helpers.EditState#cleanProcessedEditState
71
67
  * @memberof sap.fe.core.helpers.EditState
72
- *
73
68
  * @ui5-restricted
74
69
  * @final
75
70
  */
76
- cleanProcessedEditState: function() {
71
+ cleanProcessedEditState: function () {
77
72
  if (currentEditState === enumEditState.PROCESSED) {
78
73
  currentEditState = enumEditState.CLEAN;
79
74
  }
@@ -9,7 +9,7 @@ sap.ui.define(["sap/ui/core/format/DateFormat"], function (DateFormat) {
9
9
  /**
10
10
  * Method for converting JS Date format to Excel custom date format.
11
11
  *
12
- * @returns {string} Format for the Date column to be used on excel.
12
+ * @returns Format for the Date column to be used on excel.
13
13
  */
14
14
  getExcelDatefromJSDate: function () {
15
15
  // Get date Format(pattern), which will be used for date format mapping between sapui5 and excel.
@@ -61,4 +61,4 @@ sap.ui.define(["sap/ui/core/format/DateFormat"], function (DateFormat) {
61
61
  };
62
62
  return ExcelFormatHelper;
63
63
  }, false);
64
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4Y2VsRm9ybWF0SGVscGVyLnRzIl0sIm5hbWVzIjpbIkV4Y2VsRm9ybWF0SGVscGVyIiwiZ2V0RXhjZWxEYXRlZnJvbUpTRGF0ZSIsInNKU0RhdGVGb3JtYXQiLCJEYXRlRm9ybWF0IiwiZ2V0RGF0ZUluc3RhbmNlIiwib0Zvcm1hdE9wdGlvbnMiLCJwYXR0ZXJuIiwidG9Mb3dlckNhc2UiLCJyZWdleCIsImV4ZWMiLCJyZXBsYWNlIiwiZ2V0RXhjZWxEYXRlVGltZWZyb21KU0RhdGVUaW1lIiwic0pTRGF0ZVRpbWVGb3JtYXQiLCJnZXREYXRlVGltZUluc3RhbmNlIiwicmVnZXhZZWFyIiwiaW5jbHVkZXMiLCJnZXRFeGNlbFRpbWVmcm9tSlNUaW1lIiwic0pTVGltZUZvcm1hdCIsImdldFRpbWVJbnN0YW5jZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUFBLE1BQU1BLGlCQUFpQixHQUFHO0FBQ3pCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQ0MsSUFBQUEsc0JBQXNCLEVBQUUsWUFBVztBQUNsQztBQUNBO0FBQ0EsVUFBSUMsYUFBYSxHQUFJQyxVQUFVLENBQUNDLGVBQVgsRUFBRCxDQUFzQ0MsY0FBdEMsQ0FBcURDLE9BQXJELENBQTZEQyxXQUE3RCxFQUFwQjs7QUFDQSxVQUFJTCxhQUFKLEVBQW1CO0FBQ2xCO0FBQ0EsWUFBTU0sS0FBSyxHQUFHLGdCQUFkOztBQUNBLFlBQUlBLEtBQUssQ0FBQ0MsSUFBTixDQUFXUCxhQUFYLENBQUosRUFBK0I7QUFDOUJBLFVBQUFBLGFBQWEsR0FBR0EsYUFBYSxDQUFDUSxPQUFkLENBQXNCLEdBQXRCLEVBQTJCLE1BQTNCLENBQWhCO0FBQ0E7QUFDRDs7QUFDRCxhQUFPUixhQUFQO0FBQ0EsS0FsQndCO0FBbUJ6QlMsSUFBQUEsOEJBQThCLEVBQUUsWUFBVztBQUMxQztBQUNBO0FBQ0EsVUFBSUMsaUJBQWlCLEdBQUlULFVBQVUsQ0FBQ1UsbUJBQVgsRUFBRCxDQUEwQ1IsY0FBMUMsQ0FBeURDLE9BQXpELENBQWlFQyxXQUFqRSxFQUF4Qjs7QUFDQSxVQUFJSyxpQkFBSixFQUF1QjtBQUN0QjtBQUNBLFlBQU1FLFNBQVMsR0FBRyxnQkFBbEI7O0FBQ0EsWUFBSUEsU0FBUyxDQUFDTCxJQUFWLENBQWVHLGlCQUFmLENBQUosRUFBdUM7QUFDdENBLFVBQUFBLGlCQUFpQixHQUFHQSxpQkFBaUIsQ0FBQ0YsT0FBbEIsQ0FBMEIsR0FBMUIsRUFBK0IsTUFBL0IsQ0FBcEI7QUFDQTs7QUFDRCxZQUFJRSxpQkFBaUIsQ0FBQ0csUUFBbEIsQ0FBMkIsR0FBM0IsQ0FBSixFQUFxQztBQUNwQ0gsVUFBQUEsaUJBQWlCLEdBQUdBLGlCQUFpQixDQUFDRixPQUFsQixDQUEwQixHQUExQixFQUErQixPQUEvQixDQUFwQjtBQUNBO0FBQ0Q7O0FBQ0QsYUFBT0UsaUJBQVA7QUFDQSxLQWxDd0I7QUFtQ3pCSSxJQUFBQSxzQkFBc0IsRUFBRSxZQUFXO0FBQ2xDO0FBQ0E7QUFDQSxVQUFJQyxhQUFhLEdBQUlkLFVBQVUsQ0FBQ2UsZUFBWCxFQUFELENBQXNDYixjQUF0QyxDQUFxREMsT0FBekU7O0FBQ0EsVUFBSVcsYUFBYSxJQUFJQSxhQUFhLENBQUNGLFFBQWQsQ0FBdUIsR0FBdkIsQ0FBckIsRUFBa0Q7QUFDakRFLFFBQUFBLGFBQWEsR0FBR0EsYUFBYSxDQUFDUCxPQUFkLENBQXNCLEdBQXRCLEVBQTJCLE9BQTNCLENBQWhCO0FBQ0E7O0FBQ0QsYUFBT08sYUFBUDtBQUNBO0FBM0N3QixHQUExQjtTQThDZWpCLGlCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGF0ZUZvcm1hdCBmcm9tIFwic2FwL3VpL2NvcmUvZm9ybWF0L0RhdGVGb3JtYXRcIjtcblxuY29uc3QgRXhjZWxGb3JtYXRIZWxwZXIgPSB7XG5cdC8qKlxuXHQgKiBNZXRob2QgZm9yIGNvbnZlcnRpbmcgSlMgRGF0ZSBmb3JtYXQgdG8gRXhjZWwgY3VzdG9tIGRhdGUgZm9ybWF0LlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBGb3JtYXQgZm9yIHRoZSBEYXRlIGNvbHVtbiB0byBiZSB1c2VkIG9uIGV4Y2VsLlxuXHQgKi9cblx0Z2V0RXhjZWxEYXRlZnJvbUpTRGF0ZTogZnVuY3Rpb24oKSB7XG5cdFx0Ly8gR2V0IGRhdGUgRm9ybWF0KHBhdHRlcm4pLCB3aGljaCB3aWxsIGJlIHVzZWQgZm9yIGRhdGUgZm9ybWF0IG1hcHBpbmcgYmV0d2VlbiBzYXB1aTUgYW5kIGV4Y2VsLlxuXHRcdC8vIFVJNV9BTllcblx0XHRsZXQgc0pTRGF0ZUZvcm1hdCA9IChEYXRlRm9ybWF0LmdldERhdGVJbnN0YW5jZSgpIGFzIGFueSkub0Zvcm1hdE9wdGlvbnMucGF0dGVybi50b0xvd2VyQ2FzZSgpO1xuXHRcdGlmIChzSlNEYXRlRm9ybWF0KSB7XG5cdFx0XHQvLyBDaGVja2luZyBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBzaW5nbGUgJ3knIGluIHRoZSBwYXR0ZXJuLlxuXHRcdFx0Y29uc3QgcmVnZXggPSAvXlteeV0qeVteeV0qJC9tO1xuXHRcdFx0aWYgKHJlZ2V4LmV4ZWMoc0pTRGF0ZUZvcm1hdCkpIHtcblx0XHRcdFx0c0pTRGF0ZUZvcm1hdCA9IHNKU0RhdGVGb3JtYXQucmVwbGFjZShcInlcIiwgXCJ5eXl5XCIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc0pTRGF0ZUZvcm1hdDtcblx0fSxcblx0Z2V0RXhjZWxEYXRlVGltZWZyb21KU0RhdGVUaW1lOiBmdW5jdGlvbigpIHtcblx0XHQvLyBHZXQgZGF0ZSBGb3JtYXQocGF0dGVybiksIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgZGF0ZSB0aW1lIGZvcm1hdCBtYXBwaW5nIGJldHdlZW4gc2FwdWk1IGFuZCBleGNlbC5cblx0XHQvLyBVSTVfQU5ZXG5cdFx0bGV0IHNKU0RhdGVUaW1lRm9ybWF0ID0gKERhdGVGb3JtYXQuZ2V0RGF0ZVRpbWVJbnN0YW5jZSgpIGFzIGFueSkub0Zvcm1hdE9wdGlvbnMucGF0dGVybi50b0xvd2VyQ2FzZSgpO1xuXHRcdGlmIChzSlNEYXRlVGltZUZvcm1hdCkge1xuXHRcdFx0Ly8gQ2hlY2tpbmcgZm9yIHRoZSBleGlzdGVuY2Ugb2Ygc2luZ2xlICd5JyBpbiB0aGUgcGF0dGVybi5cblx0XHRcdGNvbnN0IHJlZ2V4WWVhciA9IC9eW155XSp5W155XSokL207XG5cdFx0XHRpZiAocmVnZXhZZWFyLmV4ZWMoc0pTRGF0ZVRpbWVGb3JtYXQpKSB7XG5cdFx0XHRcdHNKU0RhdGVUaW1lRm9ybWF0ID0gc0pTRGF0ZVRpbWVGb3JtYXQucmVwbGFjZShcInlcIiwgXCJ5eXl5XCIpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHNKU0RhdGVUaW1lRm9ybWF0LmluY2x1ZGVzKFwiYVwiKSkge1xuXHRcdFx0XHRzSlNEYXRlVGltZUZvcm1hdCA9IHNKU0RhdGVUaW1lRm9ybWF0LnJlcGxhY2UoXCJhXCIsIFwiQU0vUE1cIik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzSlNEYXRlVGltZUZvcm1hdDtcblx0fSxcblx0Z2V0RXhjZWxUaW1lZnJvbUpTVGltZTogZnVuY3Rpb24oKSB7XG5cdFx0Ly8gR2V0IGRhdGUgRm9ybWF0KHBhdHRlcm4pLCB3aGljaCB3aWxsIGJlIHVzZWQgZm9yIGRhdGUgdGltZSBmb3JtYXQgbWFwcGluZyBiZXR3ZWVuIHNhcHVpNSBhbmQgZXhjZWwuXG5cdFx0Ly8gVUk1X0FOWVxuXHRcdGxldCBzSlNUaW1lRm9ybWF0ID0gKERhdGVGb3JtYXQuZ2V0VGltZUluc3RhbmNlKCkgYXMgYW55KS5vRm9ybWF0T3B0aW9ucy5wYXR0ZXJuO1xuXHRcdGlmIChzSlNUaW1lRm9ybWF0ICYmIHNKU1RpbWVGb3JtYXQuaW5jbHVkZXMoXCJhXCIpKSB7XG5cdFx0XHRzSlNUaW1lRm9ybWF0ID0gc0pTVGltZUZvcm1hdC5yZXBsYWNlKFwiYVwiLCBcIkFNL1BNXCIpO1xuXHRcdH1cblx0XHRyZXR1cm4gc0pTVGltZUZvcm1hdDtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgRXhjZWxGb3JtYXRIZWxwZXI7XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4Y2VsRm9ybWF0SGVscGVyLnRzIl0sIm5hbWVzIjpbIkV4Y2VsRm9ybWF0SGVscGVyIiwiZ2V0RXhjZWxEYXRlZnJvbUpTRGF0ZSIsInNKU0RhdGVGb3JtYXQiLCJEYXRlRm9ybWF0IiwiZ2V0RGF0ZUluc3RhbmNlIiwib0Zvcm1hdE9wdGlvbnMiLCJwYXR0ZXJuIiwidG9Mb3dlckNhc2UiLCJyZWdleCIsImV4ZWMiLCJyZXBsYWNlIiwiZ2V0RXhjZWxEYXRlVGltZWZyb21KU0RhdGVUaW1lIiwic0pTRGF0ZVRpbWVGb3JtYXQiLCJnZXREYXRlVGltZUluc3RhbmNlIiwicmVnZXhZZWFyIiwiaW5jbHVkZXMiLCJnZXRFeGNlbFRpbWVmcm9tSlNUaW1lIiwic0pTVGltZUZvcm1hdCIsImdldFRpbWVJbnN0YW5jZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUFBLE1BQU1BLGlCQUFpQixHQUFHO0FBQ3pCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQ0MsSUFBQUEsc0JBQXNCLEVBQUUsWUFBWTtBQUNuQztBQUNBO0FBQ0EsVUFBSUMsYUFBYSxHQUFJQyxVQUFVLENBQUNDLGVBQVgsRUFBRCxDQUFzQ0MsY0FBdEMsQ0FBcURDLE9BQXJELENBQTZEQyxXQUE3RCxFQUFwQjs7QUFDQSxVQUFJTCxhQUFKLEVBQW1CO0FBQ2xCO0FBQ0EsWUFBTU0sS0FBSyxHQUFHLGdCQUFkOztBQUNBLFlBQUlBLEtBQUssQ0FBQ0MsSUFBTixDQUFXUCxhQUFYLENBQUosRUFBK0I7QUFDOUJBLFVBQUFBLGFBQWEsR0FBR0EsYUFBYSxDQUFDUSxPQUFkLENBQXNCLEdBQXRCLEVBQTJCLE1BQTNCLENBQWhCO0FBQ0E7QUFDRDs7QUFDRCxhQUFPUixhQUFQO0FBQ0EsS0FsQndCO0FBbUJ6QlMsSUFBQUEsOEJBQThCLEVBQUUsWUFBWTtBQUMzQztBQUNBO0FBQ0EsVUFBSUMsaUJBQWlCLEdBQUlULFVBQVUsQ0FBQ1UsbUJBQVgsRUFBRCxDQUEwQ1IsY0FBMUMsQ0FBeURDLE9BQXpELENBQWlFQyxXQUFqRSxFQUF4Qjs7QUFDQSxVQUFJSyxpQkFBSixFQUF1QjtBQUN0QjtBQUNBLFlBQU1FLFNBQVMsR0FBRyxnQkFBbEI7O0FBQ0EsWUFBSUEsU0FBUyxDQUFDTCxJQUFWLENBQWVHLGlCQUFmLENBQUosRUFBdUM7QUFDdENBLFVBQUFBLGlCQUFpQixHQUFHQSxpQkFBaUIsQ0FBQ0YsT0FBbEIsQ0FBMEIsR0FBMUIsRUFBK0IsTUFBL0IsQ0FBcEI7QUFDQTs7QUFDRCxZQUFJRSxpQkFBaUIsQ0FBQ0csUUFBbEIsQ0FBMkIsR0FBM0IsQ0FBSixFQUFxQztBQUNwQ0gsVUFBQUEsaUJBQWlCLEdBQUdBLGlCQUFpQixDQUFDRixPQUFsQixDQUEwQixHQUExQixFQUErQixPQUEvQixDQUFwQjtBQUNBO0FBQ0Q7O0FBQ0QsYUFBT0UsaUJBQVA7QUFDQSxLQWxDd0I7QUFtQ3pCSSxJQUFBQSxzQkFBc0IsRUFBRSxZQUFZO0FBQ25DO0FBQ0E7QUFDQSxVQUFJQyxhQUFhLEdBQUlkLFVBQVUsQ0FBQ2UsZUFBWCxFQUFELENBQXNDYixjQUF0QyxDQUFxREMsT0FBekU7O0FBQ0EsVUFBSVcsYUFBYSxJQUFJQSxhQUFhLENBQUNGLFFBQWQsQ0FBdUIsR0FBdkIsQ0FBckIsRUFBa0Q7QUFDakRFLFFBQUFBLGFBQWEsR0FBR0EsYUFBYSxDQUFDUCxPQUFkLENBQXNCLEdBQXRCLEVBQTJCLE9BQTNCLENBQWhCO0FBQ0E7O0FBQ0QsYUFBT08sYUFBUDtBQUNBO0FBM0N3QixHQUExQjtTQThDZWpCLGlCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGF0ZUZvcm1hdCBmcm9tIFwic2FwL3VpL2NvcmUvZm9ybWF0L0RhdGVGb3JtYXRcIjtcblxuY29uc3QgRXhjZWxGb3JtYXRIZWxwZXIgPSB7XG5cdC8qKlxuXHQgKiBNZXRob2QgZm9yIGNvbnZlcnRpbmcgSlMgRGF0ZSBmb3JtYXQgdG8gRXhjZWwgY3VzdG9tIGRhdGUgZm9ybWF0LlxuXHQgKlxuXHQgKiBAcmV0dXJucyBGb3JtYXQgZm9yIHRoZSBEYXRlIGNvbHVtbiB0byBiZSB1c2VkIG9uIGV4Y2VsLlxuXHQgKi9cblx0Z2V0RXhjZWxEYXRlZnJvbUpTRGF0ZTogZnVuY3Rpb24gKCkge1xuXHRcdC8vIEdldCBkYXRlIEZvcm1hdChwYXR0ZXJuKSwgd2hpY2ggd2lsbCBiZSB1c2VkIGZvciBkYXRlIGZvcm1hdCBtYXBwaW5nIGJldHdlZW4gc2FwdWk1IGFuZCBleGNlbC5cblx0XHQvLyBVSTVfQU5ZXG5cdFx0bGV0IHNKU0RhdGVGb3JtYXQgPSAoRGF0ZUZvcm1hdC5nZXREYXRlSW5zdGFuY2UoKSBhcyBhbnkpLm9Gb3JtYXRPcHRpb25zLnBhdHRlcm4udG9Mb3dlckNhc2UoKTtcblx0XHRpZiAoc0pTRGF0ZUZvcm1hdCkge1xuXHRcdFx0Ly8gQ2hlY2tpbmcgZm9yIHRoZSBleGlzdGVuY2Ugb2Ygc2luZ2xlICd5JyBpbiB0aGUgcGF0dGVybi5cblx0XHRcdGNvbnN0IHJlZ2V4ID0gL15bXnldKnlbXnldKiQvbTtcblx0XHRcdGlmIChyZWdleC5leGVjKHNKU0RhdGVGb3JtYXQpKSB7XG5cdFx0XHRcdHNKU0RhdGVGb3JtYXQgPSBzSlNEYXRlRm9ybWF0LnJlcGxhY2UoXCJ5XCIsIFwieXl5eVwiKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHNKU0RhdGVGb3JtYXQ7XG5cdH0sXG5cdGdldEV4Y2VsRGF0ZVRpbWVmcm9tSlNEYXRlVGltZTogZnVuY3Rpb24gKCkge1xuXHRcdC8vIEdldCBkYXRlIEZvcm1hdChwYXR0ZXJuKSwgd2hpY2ggd2lsbCBiZSB1c2VkIGZvciBkYXRlIHRpbWUgZm9ybWF0IG1hcHBpbmcgYmV0d2VlbiBzYXB1aTUgYW5kIGV4Y2VsLlxuXHRcdC8vIFVJNV9BTllcblx0XHRsZXQgc0pTRGF0ZVRpbWVGb3JtYXQgPSAoRGF0ZUZvcm1hdC5nZXREYXRlVGltZUluc3RhbmNlKCkgYXMgYW55KS5vRm9ybWF0T3B0aW9ucy5wYXR0ZXJuLnRvTG93ZXJDYXNlKCk7XG5cdFx0aWYgKHNKU0RhdGVUaW1lRm9ybWF0KSB7XG5cdFx0XHQvLyBDaGVja2luZyBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBzaW5nbGUgJ3knIGluIHRoZSBwYXR0ZXJuLlxuXHRcdFx0Y29uc3QgcmVnZXhZZWFyID0gL15bXnldKnlbXnldKiQvbTtcblx0XHRcdGlmIChyZWdleFllYXIuZXhlYyhzSlNEYXRlVGltZUZvcm1hdCkpIHtcblx0XHRcdFx0c0pTRGF0ZVRpbWVGb3JtYXQgPSBzSlNEYXRlVGltZUZvcm1hdC5yZXBsYWNlKFwieVwiLCBcInl5eXlcIik7XG5cdFx0XHR9XG5cdFx0XHRpZiAoc0pTRGF0ZVRpbWVGb3JtYXQuaW5jbHVkZXMoXCJhXCIpKSB7XG5cdFx0XHRcdHNKU0RhdGVUaW1lRm9ybWF0ID0gc0pTRGF0ZVRpbWVGb3JtYXQucmVwbGFjZShcImFcIiwgXCJBTS9QTVwiKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHNKU0RhdGVUaW1lRm9ybWF0O1xuXHR9LFxuXHRnZXRFeGNlbFRpbWVmcm9tSlNUaW1lOiBmdW5jdGlvbiAoKSB7XG5cdFx0Ly8gR2V0IGRhdGUgRm9ybWF0KHBhdHRlcm4pLCB3aGljaCB3aWxsIGJlIHVzZWQgZm9yIGRhdGUgdGltZSBmb3JtYXQgbWFwcGluZyBiZXR3ZWVuIHNhcHVpNSBhbmQgZXhjZWwuXG5cdFx0Ly8gVUk1X0FOWVxuXHRcdGxldCBzSlNUaW1lRm9ybWF0ID0gKERhdGVGb3JtYXQuZ2V0VGltZUluc3RhbmNlKCkgYXMgYW55KS5vRm9ybWF0T3B0aW9ucy5wYXR0ZXJuO1xuXHRcdGlmIChzSlNUaW1lRm9ybWF0ICYmIHNKU1RpbWVGb3JtYXQuaW5jbHVkZXMoXCJhXCIpKSB7XG5cdFx0XHRzSlNUaW1lRm9ybWF0ID0gc0pTVGltZUZvcm1hdC5yZXBsYWNlKFwiYVwiLCBcIkFNL1BNXCIpO1xuXHRcdH1cblx0XHRyZXR1cm4gc0pTVGltZUZvcm1hdDtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgRXhjZWxGb3JtYXRIZWxwZXI7XG4iXX0=
@@ -4,9 +4,9 @@ const ExcelFormatHelper = {
4
4
  /**
5
5
  * Method for converting JS Date format to Excel custom date format.
6
6
  *
7
- * @returns {string} Format for the Date column to be used on excel.
7
+ * @returns Format for the Date column to be used on excel.
8
8
  */
9
- getExcelDatefromJSDate: function() {
9
+ getExcelDatefromJSDate: function () {
10
10
  // Get date Format(pattern), which will be used for date format mapping between sapui5 and excel.
11
11
  // UI5_ANY
12
12
  let sJSDateFormat = (DateFormat.getDateInstance() as any).oFormatOptions.pattern.toLowerCase();
@@ -19,7 +19,7 @@ const ExcelFormatHelper = {
19
19
  }
20
20
  return sJSDateFormat;
21
21
  },
22
- getExcelDateTimefromJSDateTime: function() {
22
+ getExcelDateTimefromJSDateTime: function () {
23
23
  // Get date Format(pattern), which will be used for date time format mapping between sapui5 and excel.
24
24
  // UI5_ANY
25
25
  let sJSDateTimeFormat = (DateFormat.getDateTimeInstance() as any).oFormatOptions.pattern.toLowerCase();
@@ -35,7 +35,7 @@ const ExcelFormatHelper = {
35
35
  }
36
36
  return sJSDateTimeFormat;
37
37
  },
38
- getExcelTimefromJSTime: function() {
38
+ getExcelTimefromJSTime: function () {
39
39
  // Get date Format(pattern), which will be used for date time format mapping between sapui5 and excel.
40
40
  // UI5_ANY
41
41
  let sJSTimeFormat = (DateFormat.getTimeInstance() as any).oFormatOptions.pattern;
@@ -57,4 +57,4 @@ sap.ui.define(["sap/base/util/ObjectPath", "sap/fe/core/CommonUtils"], function
57
57
  };
58
58
  return FPMHelper;
59
59
  }, false);
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZQTUhlbHBlci50cyJdLCJuYW1lcyI6WyJGUE1IZWxwZXIiLCJhY3Rpb25XcmFwcGVyIiwib0V2ZW50Iiwic01vZHVsZSIsInNNZXRob2QiLCJvUGFyYW1ldGVycyIsIlByb21pc2UiLCJyZXNvbHZlIiwib1NvdXJjZSIsImdldFNvdXJjZSIsIm9WaWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwib0JpbmRpbmdDb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJvRXh0ZW5zaW9uQVBJIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJ1bmRlZmluZWQiLCJjb250ZXh0cyIsImdldENvbnRyb2xsZXJOYW1lIiwiZ2V0Q29udHJvbGxlciIsImdldEV4dGVuc2lvbkFQSSIsInN0YXJ0c1dpdGgiLCJmblRhcmdldCIsIk9iamVjdFBhdGgiLCJnZXQiLCJyZXBsYWNlIiwic3Vic3RyIiwic2FwIiwidWkiLCJyZXF1aXJlIiwibW9kdWxlIiwiYmluZCIsInZhbGlkYXRpb25XcmFwcGVyIiwib1ZhbGlkYXRpb25Db250ZXh0cyJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUdBLE1BQU1BLFNBQVMsR0FBRztBQUNqQkMsSUFBQUEsYUFBYSxFQUFFLFVBQVVDLE1BQVYsRUFBdUJDLE9BQXZCLEVBQXFDQyxPQUFyQyxFQUFtREMsV0FBbkQsRUFBcUU7QUFDbkYsYUFBTyxJQUFJQyxPQUFKLENBQVksVUFBVUMsT0FBVixFQUF5QztBQUMzRDtBQUNBLFlBQU1DLE9BQU8sR0FBR04sTUFBTSxDQUFDTyxTQUFQLEdBQW1CUCxNQUFNLENBQUNPLFNBQVAsRUFBbkIsR0FBd0NQLE1BQU0sQ0FBQ00sT0FBL0Q7QUFBQSxZQUNDRSxLQUFLLEdBQUdDLFdBQVcsQ0FBQ0MsYUFBWixDQUEwQkosT0FBMUIsQ0FEVDtBQUFBLFlBRUNLLGVBQWUsR0FBR0wsT0FBTyxDQUFDTSxpQkFBUixFQUZuQjtBQUdBLFlBQUlDLGFBQUo7QUFDQSxZQUFJQyxpQkFBSjs7QUFFQSxZQUFJWCxXQUFXLEtBQUtZLFNBQXBCLEVBQStCO0FBQzlCRCxVQUFBQSxpQkFBaUIsR0FBR1gsV0FBVyxDQUFDYSxRQUFaLElBQXdCLEVBQTVDO0FBQ0EsU0FGRCxNQUVPLElBQUlMLGVBQWUsS0FBS0ksU0FBeEIsRUFBbUM7QUFDekNELFVBQUFBLGlCQUFpQixHQUFHLENBQUNILGVBQUQsQ0FBcEI7QUFDQSxTQUZNLE1BRUE7QUFDTkcsVUFBQUEsaUJBQWlCLEdBQUcsRUFBcEI7QUFDQTs7QUFFRCxZQUNDTixLQUFLLENBQUNTLGlCQUFOLE9BQThCLGtEQUE5QixJQUNBVCxLQUFLLENBQUNTLGlCQUFOLE9BQThCLGtEQUYvQixFQUdFO0FBQ0RKLFVBQUFBLGFBQWEsR0FBR0wsS0FBSyxDQUFDVSxhQUFOLEdBQXNCQyxlQUF0QixFQUFoQjtBQUNBOztBQUVELFlBQUlsQixPQUFPLENBQUNtQixVQUFSLENBQW1CLGFBQW5CLENBQUosRUFBdUM7QUFDdEMsY0FBTUMsUUFBUSxHQUFHQyxVQUFVLENBQUNDLEdBQVgsQ0FBZXRCLE9BQU8sQ0FBQ3VCLE9BQVIsQ0FBZ0IsS0FBaEIsRUFBdUIsR0FBdkIsRUFBNEJDLE1BQTVCLENBQW1DLENBQW5DLENBQWYsRUFBc0RaLGFBQXRELENBQWpCO0FBQ0FSLFVBQUFBLE9BQU8sQ0FBQ2dCLFFBQVEsQ0FBQ25CLE9BQUQsQ0FBUixDQUFrQlMsZUFBbEIsRUFBbUNHLGlCQUFuQyxDQUFELENBQVA7QUFDQSxTQUhELE1BR087QUFDTlksVUFBQUEsR0FBRyxDQUFDQyxFQUFKLENBQU9DLE9BQVAsQ0FBZSxDQUFDM0IsT0FBRCxDQUFmLEVBQTBCLFVBQVU0QixNQUFWLEVBQXVCO0FBQ2hEO0FBQ0E7QUFDQXhCLFlBQUFBLE9BQU8sQ0FBQ3dCLE1BQU0sQ0FBQzNCLE9BQUQsQ0FBTixDQUFnQjRCLElBQWhCLENBQXFCakIsYUFBckIsRUFBb0NGLGVBQXBDLEVBQXFERyxpQkFBckQsQ0FBRCxDQUFQO0FBQ0EsV0FKRDtBQUtBO0FBQ0QsT0FqQ00sQ0FBUDtBQWtDQSxLQXBDZ0I7QUFxQ2pCaUIsSUFBQUEsaUJBQWlCLEVBQUUsVUFBVTlCLE9BQVYsRUFBd0JDLE9BQXhCLEVBQXNDOEIsbUJBQXRDLEVBQWdFeEIsS0FBaEUsRUFBNEVHLGVBQTVFLEVBQWtHO0FBQ3BILGFBQU8sSUFBSVAsT0FBSixDQUFZLFVBQVVDLE9BQVYsRUFBeUM7QUFDM0QsWUFBSVEsYUFBSjs7QUFFQSxZQUNDTCxLQUFLLENBQUNTLGlCQUFOLE9BQThCLGtEQUE5QixJQUNBVCxLQUFLLENBQUNTLGlCQUFOLE9BQThCLGtEQUYvQixFQUdFO0FBQ0RKLFVBQUFBLGFBQWEsR0FBR0wsS0FBSyxDQUFDVSxhQUFOLEdBQXNCQyxlQUF0QixFQUFoQjtBQUNBOztBQUVETyxRQUFBQSxHQUFHLENBQUNDLEVBQUosQ0FBT0MsT0FBUCxDQUFlLENBQUMzQixPQUFELENBQWYsRUFBMEIsVUFBVTRCLE1BQVYsRUFBdUI7QUFDaEQ7QUFDQTtBQUNBeEIsVUFBQUEsT0FBTyxDQUFDd0IsTUFBTSxDQUFDM0IsT0FBRCxDQUFOLENBQWdCNEIsSUFBaEIsQ0FBcUJqQixhQUFyQixFQUFvQ0YsZUFBcEMsRUFBcURxQixtQkFBckQsQ0FBRCxDQUFQO0FBQ0EsU0FKRDtBQUtBLE9BZk0sQ0FBUDtBQWdCQTtBQXREZ0IsR0FBbEI7U0F5RGVsQyxTIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG5jb25zdCBGUE1IZWxwZXIgPSB7XG5cdGFjdGlvbldyYXBwZXI6IGZ1bmN0aW9uIChvRXZlbnQ6IGFueSwgc01vZHVsZTogYW55LCBzTWV0aG9kOiBhbnksIG9QYXJhbWV0ZXJzOiBhbnkpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG5cdFx0XHQvL1RoZSBzb3VyY2Ugd291bGQgYmUgY29tbWFuZCBleGVjdXRpb24sIGluIGNhc2UgYSBjb21tYW5kIGlzIGRlZmluZWQgZm9yIHRoZSBhY3Rpb24gaW4gdGhlIG1hbmlmZXN0LlxuXHRcdFx0Y29uc3Qgb1NvdXJjZSA9IG9FdmVudC5nZXRTb3VyY2UgPyBvRXZlbnQuZ2V0U291cmNlKCkgOiBvRXZlbnQub1NvdXJjZSxcblx0XHRcdFx0b1ZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KG9Tb3VyY2UpLFxuXHRcdFx0XHRvQmluZGluZ0NvbnRleHQgPSBvU291cmNlLmdldEJpbmRpbmdDb250ZXh0KCk7XG5cdFx0XHRsZXQgb0V4dGVuc2lvbkFQSTogRXh0ZW5zaW9uQVBJIHwgdW5kZWZpbmVkO1xuXHRcdFx0bGV0IGFTZWxlY3RlZENvbnRleHRzOiBDb250ZXh0W107XG5cblx0XHRcdGlmIChvUGFyYW1ldGVycyAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdGFTZWxlY3RlZENvbnRleHRzID0gb1BhcmFtZXRlcnMuY29udGV4dHMgfHwgW107XG5cdFx0XHR9IGVsc2UgaWYgKG9CaW5kaW5nQ29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdGFTZWxlY3RlZENvbnRleHRzID0gW29CaW5kaW5nQ29udGV4dF07XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cyA9IFtdO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLk9iamVjdFBhZ2VDb250cm9sbGVyXCIgfHxcblx0XHRcdFx0b1ZpZXcuZ2V0Q29udHJvbGxlck5hbWUoKSA9PT0gXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuTGlzdFJlcG9ydENvbnRyb2xsZXJcIlxuXHRcdFx0KSB7XG5cdFx0XHRcdG9FeHRlbnNpb25BUEkgPSBvVmlldy5nZXRDb250cm9sbGVyKCkuZ2V0RXh0ZW5zaW9uQVBJKCk7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChzTW9kdWxlLnN0YXJ0c1dpdGgoXCIvZXh0ZW5zaW9uL1wiKSkge1xuXHRcdFx0XHRjb25zdCBmblRhcmdldCA9IE9iamVjdFBhdGguZ2V0KHNNb2R1bGUucmVwbGFjZSgvXFwvL2csIFwiLlwiKS5zdWJzdHIoMSksIG9FeHRlbnNpb25BUEkpO1xuXHRcdFx0XHRyZXNvbHZlKGZuVGFyZ2V0W3NNZXRob2RdKG9CaW5kaW5nQ29udGV4dCwgYVNlbGVjdGVkQ29udGV4dHMpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHNhcC51aS5yZXF1aXJlKFtzTW9kdWxlXSwgZnVuY3Rpb24gKG1vZHVsZTogYW55KSB7XG5cdFx0XHRcdFx0Ly8gLSB3ZSBiaW5kIHRoZSBhY3Rpb24gdG8gdGhlIGV4dGVuc2lvbkFQSSBvZiB0aGUgY29udHJvbGxlciBzbyBpdCBoYXMgdGhlIHNhbWUgc2NvcGUgYXMgYSBjdXN0b20gc2VjdGlvblxuXHRcdFx0XHRcdC8vIC0gd2UgcHJvdmlkZSB0aGUgY29udGV4dCBhcyBBUEksIG1heWJlIGlmIG5lZWRlZCBmdXJ0aGVyIHByb3BlcnRpZXNcblx0XHRcdFx0XHRyZXNvbHZlKG1vZHVsZVtzTWV0aG9kXS5iaW5kKG9FeHRlbnNpb25BUEkpKG9CaW5kaW5nQ29udGV4dCwgYVNlbGVjdGVkQ29udGV4dHMpKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0sXG5cdHZhbGlkYXRpb25XcmFwcGVyOiBmdW5jdGlvbiAoc01vZHVsZTogYW55LCBzTWV0aG9kOiBhbnksIG9WYWxpZGF0aW9uQ29udGV4dHM6IGFueSwgb1ZpZXc6IGFueSwgb0JpbmRpbmdDb250ZXh0OiBhbnkpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG5cdFx0XHRsZXQgb0V4dGVuc2lvbkFQSTogRXh0ZW5zaW9uQVBJO1xuXG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLk9iamVjdFBhZ2VDb250cm9sbGVyXCIgfHxcblx0XHRcdFx0b1ZpZXcuZ2V0Q29udHJvbGxlck5hbWUoKSA9PT0gXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuTGlzdFJlcG9ydENvbnRyb2xsZXJcIlxuXHRcdFx0KSB7XG5cdFx0XHRcdG9FeHRlbnNpb25BUEkgPSBvVmlldy5nZXRDb250cm9sbGVyKCkuZ2V0RXh0ZW5zaW9uQVBJKCk7XG5cdFx0XHR9XG5cblx0XHRcdHNhcC51aS5yZXF1aXJlKFtzTW9kdWxlXSwgZnVuY3Rpb24gKG1vZHVsZTogYW55KSB7XG5cdFx0XHRcdC8vIC0gd2UgYmluZCB0aGUgYWN0aW9uIHRvIHRoZSBleHRlbnNpb25BUEkgb2YgdGhlIGNvbnRyb2xsZXIgc28gaXQgaGFzIHRoZSBzYW1lIHNjb3BlIGFzIGEgY3VzdG9tIHNlY3Rpb25cblx0XHRcdFx0Ly8gLSB3ZSBwcm92aWRlIHRoZSBjb250ZXh0IGFzIEFQSSwgbWF5YmUgaWYgbmVlZGVkIGZ1cnRoZXIgcHJvcGVydGllc1xuXHRcdFx0XHRyZXNvbHZlKG1vZHVsZVtzTWV0aG9kXS5iaW5kKG9FeHRlbnNpb25BUEkpKG9CaW5kaW5nQ29udGV4dCwgb1ZhbGlkYXRpb25Db250ZXh0cykpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZQTUhlbHBlcjtcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZQTUhlbHBlci50cyJdLCJuYW1lcyI6WyJGUE1IZWxwZXIiLCJhY3Rpb25XcmFwcGVyIiwib0V2ZW50Iiwic01vZHVsZSIsInNNZXRob2QiLCJvUGFyYW1ldGVycyIsIlByb21pc2UiLCJyZXNvbHZlIiwib1NvdXJjZSIsImdldFNvdXJjZSIsIm9WaWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwib0JpbmRpbmdDb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJvRXh0ZW5zaW9uQVBJIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJ1bmRlZmluZWQiLCJjb250ZXh0cyIsImdldENvbnRyb2xsZXJOYW1lIiwiZ2V0Q29udHJvbGxlciIsImdldEV4dGVuc2lvbkFQSSIsInN0YXJ0c1dpdGgiLCJmblRhcmdldCIsIk9iamVjdFBhdGgiLCJnZXQiLCJyZXBsYWNlIiwic3Vic3RyIiwic2FwIiwidWkiLCJyZXF1aXJlIiwibW9kdWxlIiwiYmluZCIsInZhbGlkYXRpb25XcmFwcGVyIiwib1ZhbGlkYXRpb25Db250ZXh0cyJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUdBLE1BQU1BLFNBQVMsR0FBRztBQUNqQkMsSUFBQUEsYUFBYSxFQUFFLFVBQVVDLE1BQVYsRUFBdUJDLE9BQXZCLEVBQXFDQyxPQUFyQyxFQUFtREMsV0FBbkQsRUFBcUU7QUFDbkYsYUFBTyxJQUFJQyxPQUFKLENBQVksVUFBVUMsT0FBVixFQUF5QztBQUMzRDtBQUNBLFlBQU1DLE9BQU8sR0FBR04sTUFBTSxDQUFDTyxTQUFQLEdBQW1CUCxNQUFNLENBQUNPLFNBQVAsRUFBbkIsR0FBd0NQLE1BQU0sQ0FBQ00sT0FBL0Q7QUFBQSxZQUNDRSxLQUFLLEdBQUdDLFdBQVcsQ0FBQ0MsYUFBWixDQUEwQkosT0FBMUIsQ0FEVDtBQUFBLFlBRUNLLGVBQWUsR0FBR0wsT0FBTyxDQUFDTSxpQkFBUixFQUZuQjtBQUdBLFlBQUlDLGFBQUo7QUFDQSxZQUFJQyxpQkFBSjs7QUFFQSxZQUFJWCxXQUFXLEtBQUtZLFNBQXBCLEVBQStCO0FBQzlCRCxVQUFBQSxpQkFBaUIsR0FBR1gsV0FBVyxDQUFDYSxRQUFaLElBQXdCLEVBQTVDO0FBQ0EsU0FGRCxNQUVPLElBQUlMLGVBQWUsS0FBS0ksU0FBeEIsRUFBbUM7QUFDekNELFVBQUFBLGlCQUFpQixHQUFHLENBQUNILGVBQUQsQ0FBcEI7QUFDQSxTQUZNLE1BRUE7QUFDTkcsVUFBQUEsaUJBQWlCLEdBQUcsRUFBcEI7QUFDQTs7QUFFRCxZQUNDTixLQUFLLENBQUNTLGlCQUFOLE9BQThCLGtEQUE5QixJQUNBVCxLQUFLLENBQUNTLGlCQUFOLE9BQThCLGtEQUYvQixFQUdFO0FBQ0RKLFVBQUFBLGFBQWEsR0FBR0wsS0FBSyxDQUFDVSxhQUFOLEdBQXNCQyxlQUF0QixFQUFoQjtBQUNBOztBQUVELFlBQUlsQixPQUFPLENBQUNtQixVQUFSLENBQW1CLGFBQW5CLENBQUosRUFBdUM7QUFDdEMsY0FBTUMsUUFBUSxHQUFHQyxVQUFVLENBQUNDLEdBQVgsQ0FBZXRCLE9BQU8sQ0FBQ3VCLE9BQVIsQ0FBZ0IsS0FBaEIsRUFBdUIsR0FBdkIsRUFBNEJDLE1BQTVCLENBQW1DLENBQW5DLENBQWYsRUFBc0RaLGFBQXRELENBQWpCO0FBQ0FSLFVBQUFBLE9BQU8sQ0FBQ2dCLFFBQVEsQ0FBQ25CLE9BQUQsQ0FBUixDQUFrQlMsZUFBbEIsRUFBbUNHLGlCQUFuQyxDQUFELENBQVA7QUFDQSxTQUhELE1BR087QUFDTlksVUFBQUEsR0FBRyxDQUFDQyxFQUFKLENBQU9DLE9BQVAsQ0FBZSxDQUFDM0IsT0FBRCxDQUFmLEVBQTBCLFVBQVU0QixNQUFWLEVBQXVCO0FBQ2hEO0FBQ0E7QUFDQXhCLFlBQUFBLE9BQU8sQ0FBQ3dCLE1BQU0sQ0FBQzNCLE9BQUQsQ0FBTixDQUFnQjRCLElBQWhCLENBQXFCakIsYUFBckIsRUFBb0NGLGVBQXBDLEVBQXFERyxpQkFBckQsQ0FBRCxDQUFQO0FBQ0EsV0FKRDtBQUtBO0FBQ0QsT0FqQ00sQ0FBUDtBQWtDQSxLQXBDZ0I7QUFxQ2pCaUIsSUFBQUEsaUJBQWlCLEVBQUUsVUFBVTlCLE9BQVYsRUFBd0JDLE9BQXhCLEVBQXNDOEIsbUJBQXRDLEVBQWdFeEIsS0FBaEUsRUFBNEVHLGVBQTVFLEVBQWtHO0FBQ3BILGFBQU8sSUFBSVAsT0FBSixDQUFZLFVBQVVDLE9BQVYsRUFBeUM7QUFDM0QsWUFBSVEsYUFBSjs7QUFFQSxZQUNDTCxLQUFLLENBQUNTLGlCQUFOLE9BQThCLGtEQUE5QixJQUNBVCxLQUFLLENBQUNTLGlCQUFOLE9BQThCLGtEQUYvQixFQUdFO0FBQ0RKLFVBQUFBLGFBQWEsR0FBR0wsS0FBSyxDQUFDVSxhQUFOLEdBQXNCQyxlQUF0QixFQUFoQjtBQUNBOztBQUVETyxRQUFBQSxHQUFHLENBQUNDLEVBQUosQ0FBT0MsT0FBUCxDQUFlLENBQUMzQixPQUFELENBQWYsRUFBMEIsVUFBVTRCLE1BQVYsRUFBdUI7QUFDaEQ7QUFDQTtBQUNBeEIsVUFBQUEsT0FBTyxDQUFDd0IsTUFBTSxDQUFDM0IsT0FBRCxDQUFOLENBQWdCNEIsSUFBaEIsQ0FBcUJqQixhQUFyQixFQUFvQ0YsZUFBcEMsRUFBcURxQixtQkFBckQsQ0FBRCxDQUFQO0FBQ0EsU0FKRDtBQUtBLE9BZk0sQ0FBUDtBQWdCQTtBQXREZ0IsR0FBbEI7U0F5RGVsQyxTIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcblxuY29uc3QgRlBNSGVscGVyID0ge1xuXHRhY3Rpb25XcmFwcGVyOiBmdW5jdGlvbiAob0V2ZW50OiBhbnksIHNNb2R1bGU6IGFueSwgc01ldGhvZDogYW55LCBvUGFyYW1ldGVyczogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0Ly9UaGUgc291cmNlIHdvdWxkIGJlIGNvbW1hbmQgZXhlY3V0aW9uLCBpbiBjYXNlIGEgY29tbWFuZCBpcyBkZWZpbmVkIGZvciB0aGUgYWN0aW9uIGluIHRoZSBtYW5pZmVzdC5cblx0XHRcdGNvbnN0IG9Tb3VyY2UgPSBvRXZlbnQuZ2V0U291cmNlID8gb0V2ZW50LmdldFNvdXJjZSgpIDogb0V2ZW50Lm9Tb3VyY2UsXG5cdFx0XHRcdG9WaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvU291cmNlKSxcblx0XHRcdFx0b0JpbmRpbmdDb250ZXh0ID0gb1NvdXJjZS5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHRcdFx0bGV0IG9FeHRlbnNpb25BUEk6IEV4dGVuc2lvbkFQSSB8IHVuZGVmaW5lZDtcblx0XHRcdGxldCBhU2VsZWN0ZWRDb250ZXh0czogQ29udGV4dFtdO1xuXG5cdFx0XHRpZiAob1BhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cyA9IG9QYXJhbWV0ZXJzLmNvbnRleHRzIHx8IFtdO1xuXHRcdFx0fSBlbHNlIGlmIChvQmluZGluZ0NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cyA9IFtvQmluZGluZ0NvbnRleHRdO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0YVNlbGVjdGVkQ29udGV4dHMgPSBbXTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKFxuXHRcdFx0XHRvVmlldy5nZXRDb250cm9sbGVyTmFtZSgpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5PYmplY3RQYWdlQ29udHJvbGxlclwiIHx8XG5cdFx0XHRcdG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0Lkxpc3RSZXBvcnRDb250cm9sbGVyXCJcblx0XHRcdCkge1xuXHRcdFx0XHRvRXh0ZW5zaW9uQVBJID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc01vZHVsZS5zdGFydHNXaXRoKFwiL2V4dGVuc2lvbi9cIikpIHtcblx0XHRcdFx0Y29uc3QgZm5UYXJnZXQgPSBPYmplY3RQYXRoLmdldChzTW9kdWxlLnJlcGxhY2UoL1xcLy9nLCBcIi5cIikuc3Vic3RyKDEpLCBvRXh0ZW5zaW9uQVBJKTtcblx0XHRcdFx0cmVzb2x2ZShmblRhcmdldFtzTWV0aG9kXShvQmluZGluZ0NvbnRleHQsIGFTZWxlY3RlZENvbnRleHRzKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzYXAudWkucmVxdWlyZShbc01vZHVsZV0sIGZ1bmN0aW9uIChtb2R1bGU6IGFueSkge1xuXHRcdFx0XHRcdC8vIC0gd2UgYmluZCB0aGUgYWN0aW9uIHRvIHRoZSBleHRlbnNpb25BUEkgb2YgdGhlIGNvbnRyb2xsZXIgc28gaXQgaGFzIHRoZSBzYW1lIHNjb3BlIGFzIGEgY3VzdG9tIHNlY3Rpb25cblx0XHRcdFx0XHQvLyAtIHdlIHByb3ZpZGUgdGhlIGNvbnRleHQgYXMgQVBJLCBtYXliZSBpZiBuZWVkZWQgZnVydGhlciBwcm9wZXJ0aWVzXG5cdFx0XHRcdFx0cmVzb2x2ZShtb2R1bGVbc01ldGhvZF0uYmluZChvRXh0ZW5zaW9uQVBJKShvQmluZGluZ0NvbnRleHQsIGFTZWxlY3RlZENvbnRleHRzKSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9LFxuXHR2YWxpZGF0aW9uV3JhcHBlcjogZnVuY3Rpb24gKHNNb2R1bGU6IGFueSwgc01ldGhvZDogYW55LCBvVmFsaWRhdGlvbkNvbnRleHRzOiBhbnksIG9WaWV3OiBhbnksIG9CaW5kaW5nQ29udGV4dDogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0bGV0IG9FeHRlbnNpb25BUEk6IEV4dGVuc2lvbkFQSTtcblxuXHRcdFx0aWYgKFxuXHRcdFx0XHRvVmlldy5nZXRDb250cm9sbGVyTmFtZSgpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5PYmplY3RQYWdlQ29udHJvbGxlclwiIHx8XG5cdFx0XHRcdG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0Lkxpc3RSZXBvcnRDb250cm9sbGVyXCJcblx0XHRcdCkge1xuXHRcdFx0XHRvRXh0ZW5zaW9uQVBJID0gb1ZpZXcuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHRcdFx0fVxuXG5cdFx0XHRzYXAudWkucmVxdWlyZShbc01vZHVsZV0sIGZ1bmN0aW9uIChtb2R1bGU6IGFueSkge1xuXHRcdFx0XHQvLyAtIHdlIGJpbmQgdGhlIGFjdGlvbiB0byB0aGUgZXh0ZW5zaW9uQVBJIG9mIHRoZSBjb250cm9sbGVyIHNvIGl0IGhhcyB0aGUgc2FtZSBzY29wZSBhcyBhIGN1c3RvbSBzZWN0aW9uXG5cdFx0XHRcdC8vIC0gd2UgcHJvdmlkZSB0aGUgY29udGV4dCBhcyBBUEksIG1heWJlIGlmIG5lZWRlZCBmdXJ0aGVyIHByb3BlcnRpZXNcblx0XHRcdFx0cmVzb2x2ZShtb2R1bGVbc01ldGhvZF0uYmluZChvRXh0ZW5zaW9uQVBJKShvQmluZGluZ0NvbnRleHQsIG9WYWxpZGF0aW9uQ29udGV4dHMpKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGUE1IZWxwZXI7XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import ObjectPath from "sap/base/util/ObjectPath";
2
2
  import CommonUtils from "sap/fe/core/CommonUtils";
3
- import ExtensionAPI from "sap/fe/core/ExtensionAPI";
4
- import Context from "sap/ui/model/Context";
3
+ import type ExtensionAPI from "sap/fe/core/ExtensionAPI";
4
+ import type Context from "sap/ui/model/Context";
5
5
 
6
6
  const FPMHelper = {
7
7
  actionWrapper: function (oEvent: any, sModule: any, sMethod: any, oParameters: any) {