@sapui5/sap.fe.core 1.110.0 → 1.111.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 (654) hide show
  1. package/README.md +0 -4
  2. package/package.json +2 -23
  3. package/src/sap/fe/core/.library +1 -1
  4. package/src/sap/fe/core/ActionRuntime-dbg.js +182 -0
  5. package/src/sap/fe/core/ActionRuntime.js +3 -181
  6. package/src/sap/fe/core/ActionRuntime.js.map +1 -0
  7. package/src/sap/fe/core/ActionRuntime.ts +3 -5
  8. package/src/sap/fe/core/AppComponent-dbg.js +435 -0
  9. package/src/sap/fe/core/AppComponent.js +3 -439
  10. package/src/sap/fe/core/AppComponent.js.map +1 -0
  11. package/src/sap/fe/core/AppComponent.ts +0 -3
  12. package/src/sap/fe/core/AppStateHandler-dbg.js +200 -0
  13. package/src/sap/fe/core/AppStateHandler.js +3 -227
  14. package/src/sap/fe/core/AppStateHandler.js.map +1 -0
  15. package/src/sap/fe/core/BaseController-dbg.js +76 -0
  16. package/src/sap/fe/core/BaseController.js +3 -73
  17. package/src/sap/fe/core/BaseController.js.map +1 -0
  18. package/src/sap/fe/core/CommonUtils-dbg.js +2135 -0
  19. package/src/sap/fe/core/CommonUtils.js +3 -2296
  20. package/src/sap/fe/core/CommonUtils.js.map +1 -0
  21. package/src/sap/fe/core/CommonUtils.ts +34 -28
  22. package/src/sap/fe/core/ExtensionAPI-dbg.js +273 -0
  23. package/src/sap/fe/core/ExtensionAPI.js +3 -280
  24. package/src/sap/fe/core/ExtensionAPI.js.map +1 -0
  25. package/src/sap/fe/core/PageController-dbg.js +203 -0
  26. package/src/sap/fe/core/PageController.js +3 -200
  27. package/src/sap/fe/core/PageController.js.map +1 -0
  28. package/src/sap/fe/core/TemplateComponent-dbg.js +218 -0
  29. package/src/sap/fe/core/TemplateComponent.js +3 -216
  30. package/src/sap/fe/core/TemplateComponent.js.map +1 -0
  31. package/src/sap/fe/core/TemplateModel-dbg.js +75 -0
  32. package/src/sap/fe/core/TemplateModel.js +3 -72
  33. package/src/sap/fe/core/TemplateModel.js.map +1 -0
  34. package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +57 -0
  35. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +3 -54
  36. package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -0
  37. package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +410 -0
  38. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +11 -355
  39. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +1 -0
  40. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +118 -52
  41. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter-dbg.js +14 -0
  42. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +3 -11
  43. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js.map +1 -0
  44. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +44 -0
  45. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +3 -40
  46. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +1 -0
  47. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +3 -0
  48. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +932 -0
  49. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +16 -1292
  50. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +1 -0
  51. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +40 -42
  52. package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +434 -0
  53. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +3 -481
  54. package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -0
  55. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -5
  56. package/src/sap/fe/core/controllerextensions/BusyLocker-dbg.js +92 -0
  57. package/src/sap/fe/core/controllerextensions/BusyLocker.js +3 -89
  58. package/src/sap/fe/core/controllerextensions/BusyLocker.js.map +1 -0
  59. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +1659 -0
  60. package/src/sap/fe/core/controllerextensions/EditFlow.js +3 -1868
  61. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -0
  62. package/src/sap/fe/core/controllerextensions/EditFlow.ts +180 -125
  63. package/src/sap/fe/core/controllerextensions/Feedback-dbg.js +70 -0
  64. package/src/sap/fe/core/controllerextensions/Feedback.js +3 -67
  65. package/src/sap/fe/core/controllerextensions/Feedback.js.map +1 -0
  66. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +83 -0
  67. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +3 -84
  68. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js.map +1 -0
  69. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -8
  70. package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +711 -0
  71. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +3 -707
  72. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +1 -0
  73. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +79 -48
  74. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +791 -0
  75. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +3 -696
  76. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -0
  77. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +107 -7
  78. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +984 -0
  79. package/src/sap/fe/core/controllerextensions/InternalRouting.js +3 -996
  80. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -0
  81. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +43 -23
  82. package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1013 -0
  83. package/src/sap/fe/core/controllerextensions/KPIManagement.js +3 -1011
  84. package/src/sap/fe/core/controllerextensions/KPIManagement.js.map +1 -0
  85. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -10
  86. package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +135 -0
  87. package/src/sap/fe/core/controllerextensions/MassEdit.js +3 -133
  88. package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -0
  89. package/src/sap/fe/core/controllerextensions/MassEdit.ts +1 -1
  90. package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +221 -0
  91. package/src/sap/fe/core/controllerextensions/MessageHandler.js +3 -224
  92. package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -0
  93. package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +254 -0
  94. package/src/sap/fe/core/controllerextensions/PageReady.js +3 -279
  95. package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -0
  96. package/src/sap/fe/core/controllerextensions/PageReady.ts +2 -2
  97. package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +169 -0
  98. package/src/sap/fe/core/controllerextensions/Paginator.js +3 -174
  99. package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -0
  100. package/src/sap/fe/core/controllerextensions/Paginator.ts +4 -5
  101. package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +132 -0
  102. package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -130
  103. package/src/sap/fe/core/controllerextensions/Placeholder.js.map +1 -0
  104. package/src/sap/fe/core/controllerextensions/Routing-dbg.js +138 -0
  105. package/src/sap/fe/core/controllerextensions/Routing.js +3 -135
  106. package/src/sap/fe/core/controllerextensions/Routing.js.map +1 -0
  107. package/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +10 -0
  108. package/src/sap/fe/core/controllerextensions/RoutingListener.js +3 -7
  109. package/src/sap/fe/core/controllerextensions/RoutingListener.js.map +1 -0
  110. package/src/sap/fe/core/controllerextensions/Share-dbg.js +317 -0
  111. package/src/sap/fe/core/controllerextensions/Share.js +3 -356
  112. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -0
  113. package/src/sap/fe/core/controllerextensions/Share.ts +6 -1
  114. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +553 -0
  115. package/src/sap/fe/core/controllerextensions/SideEffects.js +3 -651
  116. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -0
  117. package/src/sap/fe/core/controllerextensions/SideEffects.ts +411 -553
  118. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +903 -0
  119. package/src/sap/fe/core/controllerextensions/ViewState.js +3 -967
  120. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -0
  121. package/src/sap/fe/core/controllerextensions/ViewState.ts +90 -41
  122. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +99 -0
  123. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +3 -96
  124. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -0
  125. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +314 -0
  126. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +3 -336
  127. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -0
  128. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +152 -0
  129. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +3 -161
  130. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -0
  131. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +243 -0
  132. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +3 -302
  133. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -0
  134. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +252 -0
  135. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +6 -0
  136. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -0
  137. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +188 -0
  138. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +1196 -0
  139. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +3 -1479
  140. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -0
  141. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +239 -289
  142. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +689 -0
  143. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +3 -785
  144. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -0
  145. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +134 -142
  146. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +236 -0
  147. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +3 -287
  148. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -0
  149. package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +1422 -0
  150. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +3 -1598
  151. package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -0
  152. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +40 -24
  153. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +185 -0
  154. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +3 -214
  155. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -0
  156. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +4 -5
  157. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +1219 -0
  158. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +3 -1213
  159. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -0
  160. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +304 -0
  161. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +3 -339
  162. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -0
  163. package/src/sap/fe/core/controllerextensions/routing/NavigationReason-dbg.js +15 -0
  164. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js +6 -0
  165. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js.map +1 -0
  166. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.ts +6 -0
  167. package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +798 -0
  168. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +3 -799
  169. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -0
  170. package/src/sap/fe/core/controls/Any-dbg.js +32 -0
  171. package/src/sap/fe/core/controls/Any.js +3 -29
  172. package/src/sap/fe/core/controls/Any.js.map +1 -0
  173. package/src/sap/fe/core/controls/AnyElement-dbg.js +29 -0
  174. package/src/sap/fe/core/controls/AnyElement.js +3 -26
  175. package/src/sap/fe/core/controls/AnyElement.js.map +1 -0
  176. package/src/sap/fe/core/controls/CommandExecution-dbg.js +72 -0
  177. package/src/sap/fe/core/controls/CommandExecution.js +3 -69
  178. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -0
  179. package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +151 -0
  180. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -148
  181. package/src/sap/fe/core/controls/ConditionalWrapper.js.map +1 -0
  182. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +330 -0
  183. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +3 -328
  184. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +1 -0
  185. package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +126 -0
  186. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -124
  187. package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +1 -0
  188. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +170 -0
  189. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -171
  190. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -0
  191. package/src/sap/fe/core/controls/FieldWrapper-dbg.js +194 -0
  192. package/src/sap/fe/core/controls/FieldWrapper.js +3 -191
  193. package/src/sap/fe/core/controls/FieldWrapper.js.map +1 -0
  194. package/src/sap/fe/core/controls/FileWrapper-dbg.js +280 -0
  195. package/src/sap/fe/core/controls/FileWrapper.js +3 -277
  196. package/src/sap/fe/core/controls/FileWrapper.js.map +1 -0
  197. package/src/sap/fe/core/controls/FilterBar-dbg.js +167 -0
  198. package/src/sap/fe/core/controls/FilterBar.js +3 -166
  199. package/src/sap/fe/core/controls/FilterBar.js.map +1 -0
  200. package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +92 -0
  201. package/src/sap/fe/core/controls/FormElementWrapper.js +3 -89
  202. package/src/sap/fe/core/controls/FormElementWrapper.js.map +1 -0
  203. package/src/sap/fe/core/controls/MassEditSelect-dbg.js +33 -0
  204. package/src/sap/fe/core/controls/MassEditSelect.js +3 -30
  205. package/src/sap/fe/core/controls/MassEditSelect.js.map +1 -0
  206. package/src/sap/fe/core/controls/MultiValueParameterDelegate-dbg.js +37 -0
  207. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +3 -34
  208. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js.map +1 -0
  209. package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +119 -0
  210. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +3 -121
  211. package/src/sap/fe/core/controls/filterbar/FilterContainer.js.map +1 -0
  212. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +267 -0
  213. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +3 -264
  214. package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -0
  215. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +150 -0
  216. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -150
  217. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js.map +1 -0
  218. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +310 -0
  219. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -307
  220. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -0
  221. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +1 -1
  222. package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +491 -0
  223. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +3 -504
  224. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -0
  225. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +2 -2
  226. package/src/sap/fe/core/converters/ConverterContext-dbg.js +403 -0
  227. package/src/sap/fe/core/converters/ConverterContext.js +3 -406
  228. package/src/sap/fe/core/converters/ConverterContext.js.map +1 -0
  229. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +88 -0
  230. package/src/sap/fe/core/converters/ManifestSettings.js +3 -84
  231. package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -0
  232. package/src/sap/fe/core/converters/ManifestSettings.ts +3 -1
  233. package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +402 -0
  234. package/src/sap/fe/core/converters/ManifestWrapper.js +3 -406
  235. package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -0
  236. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +1161 -0
  237. package/src/sap/fe/core/converters/MetaModelConverter.js +3 -1225
  238. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -0
  239. package/src/sap/fe/core/converters/MetaModelConverter.ts +193 -199
  240. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +89 -0
  241. package/src/sap/fe/core/converters/TemplateConverter.js +3 -86
  242. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -0
  243. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +396 -0
  244. package/src/sap/fe/core/converters/annotations/DataField.js +3 -394
  245. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -0
  246. package/src/sap/fe/core/converters/annotations/DataField.ts +5 -5
  247. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1948 -0
  248. package/src/sap/fe/core/converters/common/AnnotationConverter.js +3 -1868
  249. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -0
  250. package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +424 -0
  251. package/src/sap/fe/core/converters/controls/Common/Action.js +3 -446
  252. package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -0
  253. package/src/sap/fe/core/converters/controls/Common/Action.ts +31 -14
  254. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +276 -0
  255. package/src/sap/fe/core/converters/controls/Common/Chart.js +3 -260
  256. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -0
  257. package/src/sap/fe/core/converters/controls/Common/Chart.ts +52 -7
  258. package/src/sap/fe/core/converters/controls/Common/Criticality-dbg.js +42 -0
  259. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -39
  260. package/src/sap/fe/core/converters/controls/Common/Criticality.js.map +1 -0
  261. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +247 -0
  262. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -242
  263. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -0
  264. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +1 -1
  265. package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +229 -0
  266. package/src/sap/fe/core/converters/controls/Common/Form.js +3 -234
  267. package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -0
  268. package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +374 -0
  269. package/src/sap/fe/core/converters/controls/Common/KPI.js +3 -371
  270. package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -0
  271. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +2596 -0
  272. package/src/sap/fe/core/converters/controls/Common/Table.js +3 -2527
  273. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -0
  274. package/src/sap/fe/core/converters/controls/Common/Table.ts +214 -77
  275. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +522 -0
  276. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +3 -527
  277. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -0
  278. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +51 -50
  279. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +786 -0
  280. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +3 -845
  281. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -0
  282. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +0 -64
  283. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +291 -0
  284. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +3 -316
  285. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -0
  286. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +30 -12
  287. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +56 -0
  288. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +3 -53
  289. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js.map +1 -0
  290. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +438 -0
  291. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +3 -431
  292. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -0
  293. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +597 -0
  294. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +3 -630
  295. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -0
  296. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +1 -1
  297. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +204 -0
  298. package/src/sap/fe/core/converters/helpers/Aggregation.js +3 -204
  299. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -0
  300. package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +100 -0
  301. package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -99
  302. package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -0
  303. package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +199 -0
  304. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +3 -199
  305. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -0
  306. package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +143 -0
  307. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +3 -140
  308. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js.map +1 -0
  309. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +2 -1
  310. package/src/sap/fe/core/converters/helpers/ID-dbg.js +92 -0
  311. package/src/sap/fe/core/converters/helpers/ID.js +3 -89
  312. package/src/sap/fe/core/converters/helpers/ID.js.map +1 -0
  313. package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +62 -0
  314. package/src/sap/fe/core/converters/helpers/IssueManager.js +3 -59
  315. package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -0
  316. package/src/sap/fe/core/converters/helpers/Key-dbg.js +62 -0
  317. package/src/sap/fe/core/converters/helpers/Key.js +3 -59
  318. package/src/sap/fe/core/converters/helpers/Key.js.map +1 -0
  319. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  320. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper-dbg.js +80 -0
  321. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +3 -77
  322. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js.map +1 -0
  323. package/src/sap/fe/core/converters/objectPage/FormMenuActions-dbg.js +142 -0
  324. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +3 -139
  325. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js.map +1 -0
  326. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +406 -0
  327. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +3 -422
  328. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -0
  329. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +132 -111
  330. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +557 -0
  331. package/src/sap/fe/core/converters/templates/ListReportConverter.js +3 -589
  332. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -0
  333. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +474 -0
  334. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +3 -477
  335. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -0
  336. package/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +103 -0
  337. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -100
  338. package/src/sap/fe/core/designtime/AppComponent.designtime.js.map +1 -0
  339. package/src/sap/fe/core/designtime/library-preload.designtime.js +7 -0
  340. package/src/sap/fe/core/designtime/library-preload.designtime.js.map +1 -0
  341. package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +95 -0
  342. package/src/sap/fe/core/formatters/CollaborationFormatter.js +3 -92
  343. package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -0
  344. package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +46 -0
  345. package/src/sap/fe/core/formatters/FPMFormatter.js +3 -44
  346. package/src/sap/fe/core/formatters/FPMFormatter.js.map +1 -0
  347. package/src/sap/fe/core/formatters/FPMFormatter.ts +3 -2
  348. package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +343 -0
  349. package/src/sap/fe/core/formatters/FiscalFormat.js +6 -0
  350. package/src/sap/fe/core/formatters/FiscalFormat.js.map +1 -0
  351. package/src/sap/fe/core/formatters/FiscalFormat.ts +319 -0
  352. package/src/sap/fe/core/formatters/KPIFormatter-dbg.js +86 -0
  353. package/src/sap/fe/core/formatters/KPIFormatter.js +3 -83
  354. package/src/sap/fe/core/formatters/KPIFormatter.js.map +1 -0
  355. package/src/sap/fe/core/formatters/StandardFormatter-dbg.js +80 -0
  356. package/src/sap/fe/core/formatters/StandardFormatter.js +3 -78
  357. package/src/sap/fe/core/formatters/StandardFormatter.js.map +1 -0
  358. package/src/sap/fe/core/formatters/TableFormatter-dbg.js +276 -0
  359. package/src/sap/fe/core/formatters/TableFormatter.js +3 -275
  360. package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -0
  361. package/src/sap/fe/core/formatters/TableFormatter.ts +1 -1
  362. package/src/sap/fe/core/formatters/TableFormatterTypes-dbg.js +20 -0
  363. package/src/sap/fe/core/formatters/TableFormatterTypes.js +3 -17
  364. package/src/sap/fe/core/formatters/TableFormatterTypes.js.map +1 -0
  365. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +172 -0
  366. package/src/sap/fe/core/formatters/ValueFormatter.js +3 -161
  367. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -0
  368. package/src/sap/fe/core/formatters/ValueFormatter.ts +25 -8
  369. package/src/sap/fe/core/fpm/Component-dbg.js +94 -0
  370. package/src/sap/fe/core/fpm/Component.js +3 -91
  371. package/src/sap/fe/core/fpm/Component.js.map +1 -0
  372. package/src/sap/fe/core/fpm/manifest.json +1 -1
  373. package/src/sap/fe/core/helpers/AnnotationEnum-dbg.js +30 -0
  374. package/src/sap/fe/core/helpers/AnnotationEnum.js +3 -36
  375. package/src/sap/fe/core/helpers/AnnotationEnum.js.map +1 -0
  376. package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +334 -0
  377. package/src/sap/fe/core/helpers/AppStartupHelper.js +3 -335
  378. package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -0
  379. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +1739 -0
  380. package/src/sap/fe/core/helpers/BindingToolkit.js +3 -1611
  381. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -0
  382. package/src/sap/fe/core/helpers/BindingToolkit.ts +277 -97
  383. package/src/sap/fe/core/helpers/ClassSupport-dbg.js +421 -0
  384. package/src/sap/fe/core/helpers/ClassSupport.js +3 -420
  385. package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -0
  386. package/src/sap/fe/core/helpers/ClassSupport.ts +13 -15
  387. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +526 -0
  388. package/src/sap/fe/core/helpers/DeleteHelper.js +3 -618
  389. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -0
  390. package/src/sap/fe/core/helpers/DeleteHelper.ts +116 -134
  391. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +55 -0
  392. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +3 -52
  393. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js.map +1 -0
  394. package/src/sap/fe/core/helpers/EditState-dbg.js +80 -0
  395. package/src/sap/fe/core/helpers/EditState.js +3 -77
  396. package/src/sap/fe/core/helpers/EditState.js.map +1 -0
  397. package/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +55 -0
  398. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +3 -52
  399. package/src/sap/fe/core/helpers/ExcelFormatHelper.js.map +1 -0
  400. package/src/sap/fe/core/helpers/FPMHelper-dbg.js +55 -0
  401. package/src/sap/fe/core/helpers/FPMHelper.js +3 -52
  402. package/src/sap/fe/core/helpers/FPMHelper.js.map +1 -0
  403. package/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +180 -0
  404. package/src/sap/fe/core/helpers/KeepAliveHelper.js +3 -177
  405. package/src/sap/fe/core/helpers/KeepAliveHelper.js.map +1 -0
  406. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +28 -0
  407. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +3 -25
  408. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js.map +1 -0
  409. package/src/sap/fe/core/helpers/LoaderUtils-dbg.js +29 -0
  410. package/src/sap/fe/core/helpers/LoaderUtils.js +3 -30
  411. package/src/sap/fe/core/helpers/LoaderUtils.js.map +1 -0
  412. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +1229 -0
  413. package/src/sap/fe/core/helpers/MassEditHelper.js +3 -1309
  414. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -0
  415. package/src/sap/fe/core/helpers/MassEditHelper.ts +6 -6
  416. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +65 -0
  417. package/src/sap/fe/core/helpers/MessageStrip.js +3 -62
  418. package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -0
  419. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +489 -0
  420. package/src/sap/fe/core/helpers/ModelHelper.js +3 -503
  421. package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -0
  422. package/src/sap/fe/core/helpers/ModelHelper.ts +13 -36
  423. package/src/sap/fe/core/helpers/PasteHelper-dbg.js +174 -0
  424. package/src/sap/fe/core/helpers/PasteHelper.js +3 -185
  425. package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -0
  426. package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +371 -0
  427. package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -368
  428. package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -0
  429. package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +70 -0
  430. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -67
  431. package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -0
  432. package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +141 -0
  433. package/src/sap/fe/core/helpers/SideEffectsHelper.js +3 -137
  434. package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +1 -0
  435. package/src/sap/fe/core/helpers/SideEffectsHelper.ts +3 -2
  436. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +204 -0
  437. package/src/sap/fe/core/helpers/StableIdHelper.js +3 -208
  438. package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -0
  439. package/src/sap/fe/core/helpers/Synchronization-dbg.js +35 -0
  440. package/src/sap/fe/core/helpers/Synchronization.js +3 -33
  441. package/src/sap/fe/core/helpers/Synchronization.js.map +1 -0
  442. package/src/sap/fe/core/helpers/ToES6Promise-dbg.js +29 -0
  443. package/src/sap/fe/core/helpers/ToES6Promise.js +3 -26
  444. package/src/sap/fe/core/helpers/ToES6Promise.js.map +1 -0
  445. package/src/sap/fe/core/helpers/TypeGuards-dbg.js +20 -0
  446. package/src/sap/fe/core/helpers/TypeGuards.js +3 -19
  447. package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -0
  448. package/src/sap/fe/core/helpers/TypeGuards.ts +5 -1
  449. package/src/sap/fe/core/jsx-runtime/Fragment-dbg.js +14 -0
  450. package/src/sap/fe/core/jsx-runtime/Fragment.js +3 -11
  451. package/src/sap/fe/core/jsx-runtime/Fragment.js.map +1 -0
  452. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +76 -0
  453. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +3 -86
  454. package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -0
  455. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +124 -0
  456. package/src/sap/fe/core/jsx-runtime/jsx-control.js +3 -98
  457. package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -0
  458. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +43 -17
  459. package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +41 -0
  460. package/src/sap/fe/core/jsx-runtime/jsx-xml-dbg.js +94 -0
  461. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +3 -90
  462. package/src/sap/fe/core/jsx-runtime/jsx-xml.js.map +1 -0
  463. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +1 -1
  464. package/src/sap/fe/core/jsx-runtime/jsx.js +3 -28
  465. package/src/sap/fe/core/jsx-runtime/jsx.js.map +1 -0
  466. package/src/sap/fe/core/jsx-runtime/jsx.ts +19 -1
  467. package/src/sap/fe/core/jsx-runtime/jsxs-dbg.js +10 -0
  468. package/src/sap/fe/core/jsx-runtime/jsxs.js +3 -7
  469. package/src/sap/fe/core/jsx-runtime/jsxs.js.map +1 -0
  470. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +154 -0
  471. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +3 -153
  472. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -0
  473. package/src/sap/fe/core/library-dbg.js +437 -0
  474. package/src/sap/fe/core/library-preload.js +900 -0
  475. package/src/sap/fe/core/library-preload.js.map +1 -0
  476. package/src/sap/fe/core/library-preload.support.js +177 -0
  477. package/src/sap/fe/core/library-preload.support.js.map +1 -0
  478. package/src/sap/fe/core/library.js +3 -461
  479. package/src/sap/fe/core/library.js.map +1 -0
  480. package/src/sap/fe/core/library.support.js +1 -1
  481. package/src/sap/fe/core/library.ts +12 -25
  482. package/src/sap/fe/core/manifest.json +100 -0
  483. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +99 -0
  484. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -96
  485. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -0
  486. package/src/sap/fe/core/messagebundle.properties +6 -0
  487. package/src/sap/fe/core/messagebundle_ar.properties +22 -0
  488. package/src/sap/fe/core/messagebundle_bg.properties +22 -0
  489. package/src/sap/fe/core/messagebundle_ca.properties +22 -0
  490. package/src/sap/fe/core/messagebundle_cs.properties +22 -0
  491. package/src/sap/fe/core/messagebundle_cy.properties +22 -0
  492. package/src/sap/fe/core/messagebundle_da.properties +22 -0
  493. package/src/sap/fe/core/messagebundle_de.properties +22 -0
  494. package/src/sap/fe/core/messagebundle_el.properties +22 -0
  495. package/src/sap/fe/core/messagebundle_en.properties +22 -0
  496. package/src/sap/fe/core/messagebundle_en_GB.properties +22 -0
  497. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +22 -0
  498. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +4 -0
  499. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +4 -0
  500. package/src/sap/fe/core/messagebundle_es.properties +22 -0
  501. package/src/sap/fe/core/messagebundle_es_MX.properties +22 -0
  502. package/src/sap/fe/core/messagebundle_et.properties +22 -0
  503. package/src/sap/fe/core/messagebundle_fi.properties +22 -0
  504. package/src/sap/fe/core/messagebundle_fr.properties +22 -0
  505. package/src/sap/fe/core/messagebundle_fr_CA.properties +22 -0
  506. package/src/sap/fe/core/messagebundle_hi.properties +22 -0
  507. package/src/sap/fe/core/messagebundle_hr.properties +23 -1
  508. package/src/sap/fe/core/messagebundle_hu.properties +22 -0
  509. package/src/sap/fe/core/messagebundle_id.properties +22 -0
  510. package/src/sap/fe/core/messagebundle_it.properties +22 -0
  511. package/src/sap/fe/core/messagebundle_iw.properties +22 -0
  512. package/src/sap/fe/core/messagebundle_ja.properties +22 -0
  513. package/src/sap/fe/core/messagebundle_kk.properties +22 -0
  514. package/src/sap/fe/core/messagebundle_ko.properties +22 -0
  515. package/src/sap/fe/core/messagebundle_lt.properties +22 -0
  516. package/src/sap/fe/core/messagebundle_lv.properties +22 -0
  517. package/src/sap/fe/core/messagebundle_ms.properties +22 -0
  518. package/src/sap/fe/core/messagebundle_nl.properties +22 -0
  519. package/src/sap/fe/core/messagebundle_no.properties +22 -0
  520. package/src/sap/fe/core/messagebundle_pl.properties +22 -0
  521. package/src/sap/fe/core/messagebundle_pt.properties +22 -0
  522. package/src/sap/fe/core/messagebundle_pt_PT.properties +22 -0
  523. package/src/sap/fe/core/messagebundle_ro.properties +22 -0
  524. package/src/sap/fe/core/messagebundle_ru.properties +22 -0
  525. package/src/sap/fe/core/messagebundle_sh.properties +22 -0
  526. package/src/sap/fe/core/messagebundle_sk.properties +22 -0
  527. package/src/sap/fe/core/messagebundle_sl.properties +22 -0
  528. package/src/sap/fe/core/messagebundle_sv.properties +22 -0
  529. package/src/sap/fe/core/messagebundle_th.properties +22 -0
  530. package/src/sap/fe/core/messagebundle_tr.properties +22 -0
  531. package/src/sap/fe/core/messagebundle_uk.properties +22 -0
  532. package/src/sap/fe/core/messagebundle_vi.properties +22 -0
  533. package/src/sap/fe/core/messagebundle_zh_CN.properties +22 -0
  534. package/src/sap/fe/core/messagebundle_zh_TW.properties +22 -0
  535. package/src/sap/fe/core/operationsHelper-dbg.js +155 -0
  536. package/src/sap/fe/core/operationsHelper.js +3 -205
  537. package/src/sap/fe/core/operationsHelper.js.map +1 -0
  538. package/src/sap/fe/core/operationsHelper.ts +14 -68
  539. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +837 -0
  540. package/src/sap/fe/core/rootView/Fcl.controller.js +3 -855
  541. package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -0
  542. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +190 -0
  543. package/src/sap/fe/core/rootView/NavContainer.controller.js +3 -190
  544. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -0
  545. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +506 -0
  546. package/src/sap/fe/core/rootView/RootViewBaseController.js +3 -538
  547. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -0
  548. package/src/sap/fe/core/rootView/RootViewBaseController.ts +3 -4
  549. package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +60 -0
  550. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -60
  551. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js.map +1 -0
  552. package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +196 -0
  553. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +3 -219
  554. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -0
  555. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +80 -0
  556. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +3 -82
  557. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -0
  558. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +320 -0
  559. package/src/sap/fe/core/services/NavigationServiceFactory.js +3 -320
  560. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -0
  561. package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +91 -0
  562. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -89
  563. package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -0
  564. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +817 -0
  565. package/src/sap/fe/core/services/RoutingServiceFactory.js +3 -847
  566. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -0
  567. package/src/sap/fe/core/services/RoutingServiceFactory.ts +6 -3
  568. package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +732 -0
  569. package/src/sap/fe/core/services/ShellServicesFactory.js +3 -752
  570. package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -0
  571. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +569 -0
  572. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +3 -599
  573. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -0
  574. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +3 -3
  575. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +355 -0
  576. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +3 -387
  577. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -0
  578. package/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +37 -0
  579. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +3 -34
  580. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js.map +1 -0
  581. package/src/sap/fe/core/support/AnnotationIssue.support.js +4 -4
  582. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +3 -3
  583. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +3 -3
  584. package/src/sap/fe/core/support/CommonHelper-dbg.js +63 -0
  585. package/src/sap/fe/core/support/CommonHelper.js +3 -60
  586. package/src/sap/fe/core/support/CommonHelper.js.map +1 -0
  587. package/src/sap/fe/core/support/Diagnostics-dbg.js +44 -0
  588. package/src/sap/fe/core/support/Diagnostics.js +3 -49
  589. package/src/sap/fe/core/support/Diagnostics.js.map +1 -0
  590. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +3 -3
  591. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +70 -0
  592. package/src/sap/fe/core/templating/CommonFormatters.js +3 -66
  593. package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -0
  594. package/src/sap/fe/core/templating/CommonFormatters.ts +9 -3
  595. package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +136 -0
  596. package/src/sap/fe/core/templating/CriticalityFormatters.js +3 -133
  597. package/src/sap/fe/core/templating/CriticalityFormatters.js.map +1 -0
  598. package/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +58 -0
  599. package/src/sap/fe/core/templating/DataFieldFormatters.js +3 -55
  600. package/src/sap/fe/core/templating/DataFieldFormatters.js.map +1 -0
  601. package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +363 -0
  602. package/src/sap/fe/core/templating/DataModelPathHelper.js +3 -372
  603. package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -0
  604. package/src/sap/fe/core/templating/DataModelPathHelper.ts +17 -8
  605. package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +56 -0
  606. package/src/sap/fe/core/templating/DisplayModeFormatter.js +3 -124
  607. package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -0
  608. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +0 -47
  609. package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +68 -0
  610. package/src/sap/fe/core/templating/EntitySetHelper.js +3 -81
  611. package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -0
  612. package/src/sap/fe/core/templating/FieldControlHelper-dbg.js +77 -0
  613. package/src/sap/fe/core/templating/FieldControlHelper.js +3 -74
  614. package/src/sap/fe/core/templating/FieldControlHelper.js.map +1 -0
  615. package/src/sap/fe/core/templating/FilterHelper-dbg.js +346 -0
  616. package/src/sap/fe/core/templating/FilterHelper.js +3 -339
  617. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -0
  618. package/src/sap/fe/core/templating/FilterHelper.ts +2 -21
  619. package/src/sap/fe/core/templating/FilterTemplating-dbg.js +62 -0
  620. package/src/sap/fe/core/templating/FilterTemplating.js +3 -59
  621. package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -0
  622. package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +93 -0
  623. package/src/sap/fe/core/templating/PropertyFormatters.js +3 -90
  624. package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -0
  625. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +340 -0
  626. package/src/sap/fe/core/templating/PropertyHelper.js +3 -337
  627. package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -0
  628. package/src/sap/fe/core/templating/SemanticObjectHelper-dbg.js +91 -0
  629. package/src/sap/fe/core/templating/SemanticObjectHelper.js +3 -43
  630. package/src/sap/fe/core/templating/SemanticObjectHelper.js.map +1 -0
  631. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +45 -1
  632. package/src/sap/fe/core/templating/UIFormatters-dbg.js +498 -0
  633. package/src/sap/fe/core/templating/UIFormatters.js +3 -544
  634. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -0
  635. package/src/sap/fe/core/templating/UIFormatters.ts +60 -110
  636. package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +35 -0
  637. package/src/sap/fe/core/type/DateTimeWithTimezone.js +3 -33
  638. package/src/sap/fe/core/type/DateTimeWithTimezone.js.map +1 -0
  639. package/src/sap/fe/core/type/EDM-dbg.js +84 -0
  640. package/src/sap/fe/core/type/EDM.js +6 -0
  641. package/src/sap/fe/core/type/EDM.js.map +1 -0
  642. package/src/sap/fe/core/type/EDM.ts +70 -0
  643. package/src/sap/fe/core/type/Email-dbg.js +29 -0
  644. package/src/sap/fe/core/type/Email.js +3 -26
  645. package/src/sap/fe/core/type/Email.js.map +1 -0
  646. package/src/sap/fe/core/type/FiscalDate-dbg.js +174 -0
  647. package/src/sap/fe/core/type/FiscalDate.js +6 -0
  648. package/src/sap/fe/core/type/FiscalDate.js.map +1 -0
  649. package/src/sap/fe/core/type/FiscalDate.ts +179 -0
  650. package/src/sap/fe/core/type/TypeUtil-dbg.js +58 -0
  651. package/src/sap/fe/core/type/TypeUtil.js +3 -55
  652. package/src/sap/fe/core/type/TypeUtil.js.map +1 -0
  653. package/src/sap/fe/core/type/TypeUtil.ts +1 -0
  654. package/src/.eslintrc +0 -7
@@ -1,506 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/converters/MetaModelConverter"], function (MetaModelConverter) {
6
- "use strict";
7
-
8
- var _exports = {};
9
- var TypeOfEntity;
10
- (function (TypeOfEntity) {
11
- TypeOfEntity["TypeSingleton"] = "Singleton";
12
- TypeOfEntity["TypeEntity"] = "EntitySet";
13
- })(TypeOfEntity || (TypeOfEntity = {}));
14
- _exports.TypeOfEntity = TypeOfEntity;
15
- var ModelHelper = {
16
- /**
17
- * Method to determine if the programming model is sticky.
18
- *
19
- * @function
20
- * @name isStickySessionSupported
21
- * @param oMetaModel ODataModelMetaModel to check for sticky enabled entity
22
- * @returns Returns true if sticky, else false
23
- */
24
- isStickySessionSupported: function (oMetaModel) {
25
- var oEntityContainer = oMetaModel.getObject("/");
26
- for (var sEntitySet in oEntityContainer) {
27
- if (oEntityContainer[sEntitySet].$kind === "EntitySet" && oMetaModel.getObject("/".concat(sEntitySet, "@com.sap.vocabularies.Session.v1.StickySessionSupported"))) {
28
- return true;
29
- }
30
- }
31
- return false;
32
- },
33
- /**
34
- * Method to determine if the programming model is draft.
35
- *
36
- * @function
37
- * @name isDraftSupported
38
- * @param oMetaModel ODataModelMetaModel of the context for which draft support shall be checked
39
- * @param sPath Path for which draft support shall be checked
40
- * @returns Returns true if draft, else false
41
- */
42
- isDraftSupported: function (oMetaModel, sPath) {
43
- var oMetaContext = oMetaModel.getMetaContext(sPath);
44
- var sTargetEntitySet = this.getTargetEntitySet(oMetaContext),
45
- oParentEntitySetContext,
46
- aParts;
47
- if (oMetaContext.getProperty && oMetaContext.getProperty() && oMetaContext.getProperty().$ContainsTarget === true) {
48
- aParts = oMetaModel.getMetaPath(sPath).split("/").filter(Boolean);
49
- if (aParts.length) {
50
- for (var i = aParts.length - 1; i >= 0; i--) {
51
- oParentEntitySetContext = oMetaModel.getMetaContext(oMetaModel.getMetaPath("/".concat(aParts[i])));
52
- if (oParentEntitySetContext.getObject("$kind") === "EntitySet") {
53
- sTargetEntitySet = this.getTargetEntitySet(oParentEntitySetContext);
54
- break;
55
- }
56
- }
57
- }
58
- } else {
59
- sTargetEntitySet = this.getTargetEntitySet(oMetaContext);
60
- }
61
- var oEntityContext = oMetaModel.getMetaContext(sTargetEntitySet);
62
- if (oEntityContext.getObject("@com.sap.vocabularies.Common.v1.DraftRoot") || oEntityContext.getObject("@com.sap.vocabularies.Common.v1.DraftNode")) {
63
- return true;
64
- }
65
- return false;
66
- },
67
- /**
68
- * Checks if draft is supported for the data model object path.
69
- *
70
- * @param dataModelObjectPath
71
- * @returns `true` if it is supported
72
- */
73
- isObjectPathDraftSupported: function (dataModelObjectPath) {
74
- var _dataModelObjectPath$, _dataModelObjectPath$2, _dataModelObjectPath$3, _dataModelObjectPath$4, _dataModelObjectPath$5, _dataModelObjectPath$6, _dataModelObjectPath$7;
75
- var currentEntitySet = dataModelObjectPath.targetEntitySet;
76
- var bIsDraftRoot = ModelHelper.isDraftRoot(currentEntitySet);
77
- var bIsDraftNode = ModelHelper.isDraftNode(currentEntitySet);
78
- var bIsDraftParentEntityForContainment = (_dataModelObjectPath$ = dataModelObjectPath.targetObject) !== null && _dataModelObjectPath$ !== void 0 && _dataModelObjectPath$.containsTarget && ((_dataModelObjectPath$2 = dataModelObjectPath.startingEntitySet) !== null && _dataModelObjectPath$2 !== void 0 && (_dataModelObjectPath$3 = _dataModelObjectPath$2.annotations) !== null && _dataModelObjectPath$3 !== void 0 && (_dataModelObjectPath$4 = _dataModelObjectPath$3.Common) !== null && _dataModelObjectPath$4 !== void 0 && _dataModelObjectPath$4.DraftRoot || (_dataModelObjectPath$5 = dataModelObjectPath.startingEntitySet) !== null && _dataModelObjectPath$5 !== void 0 && (_dataModelObjectPath$6 = _dataModelObjectPath$5.annotations) !== null && _dataModelObjectPath$6 !== void 0 && (_dataModelObjectPath$7 = _dataModelObjectPath$6.Common) !== null && _dataModelObjectPath$7 !== void 0 && _dataModelObjectPath$7.DraftNode) ? true : false;
79
- return bIsDraftRoot || bIsDraftNode || !currentEntitySet && bIsDraftParentEntityForContainment;
80
- },
81
- /**
82
- * Method to determine if the service, supports collaboration draft.
83
- *
84
- * @function
85
- * @name isCollaborationDraftSupported
86
- * @param metaObject MetaObject to be used for determination
87
- * @param templateInterface API provided by UI5 templating if used
88
- * @returns Returns true if the service supports collaboration draft, else false
89
- */
90
- isCollaborationDraftSupported: function (metaObject, templateInterface) {
91
- var _templateInterface$co;
92
- var oMetaModel = (templateInterface === null || templateInterface === void 0 ? void 0 : (_templateInterface$co = templateInterface.context) === null || _templateInterface$co === void 0 ? void 0 : _templateInterface$co.getModel()) || metaObject;
93
- var oEntityContainer = oMetaModel.getObject("/");
94
- for (var sEntitySet in oEntityContainer) {
95
- if (oEntityContainer[sEntitySet].$kind === "EntitySet" && oMetaModel.getObject("/".concat(sEntitySet, "@com.sap.vocabularies.Common.v1.DraftRoot/ShareAction"))) {
96
- return true;
97
- }
98
- }
99
- return false;
100
- },
101
- /**
102
- * Method to get the path of the DraftRoot path according to the provided context.
103
- *
104
- * @function
105
- * @name getDraftRootPath
106
- * @param oContext OdataModel context
107
- * @returns Returns the path of the draftRoot entity, or undefined if no draftRoot is found
108
- */
109
- getDraftRootPath: function (oContext) {
110
- var oMetaModel = oContext.getModel().getMetaModel();
111
- var getRootPath = function (sPath, model) {
112
- var _RegExp$exec;
113
- var firstIteration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
114
- var sIterationPath = firstIteration ? sPath : (_RegExp$exec = new RegExp(/.*(?=\/)/).exec(sPath)) === null || _RegExp$exec === void 0 ? void 0 : _RegExp$exec[0]; // *Regex to get the ancestor
115
- if (sIterationPath && sIterationPath !== "/") {
116
- var _mDataModel$targetEnt, _mDataModel$targetEnt2;
117
- var sEntityPath = oMetaModel.getMetaPath(sIterationPath);
118
- var mDataModel = MetaModelConverter.getInvolvedDataModelObjects(oMetaModel.getContext(sEntityPath));
119
- if ((_mDataModel$targetEnt = mDataModel.targetEntitySet) !== null && _mDataModel$targetEnt !== void 0 && (_mDataModel$targetEnt2 = _mDataModel$targetEnt.annotations.Common) !== null && _mDataModel$targetEnt2 !== void 0 && _mDataModel$targetEnt2.DraftRoot) {
120
- return sIterationPath;
121
- }
122
- return getRootPath(sIterationPath, model, false);
123
- }
124
- return undefined;
125
- };
126
- return getRootPath(oContext.getPath(), oContext.getModel());
127
- },
128
- /**
129
- * Method to get the path of the StickyRoot path according to the provided context.
130
- *
131
- * @function
132
- * @name getStickyRootPath
133
- * @param oContext OdataModel context
134
- * @returns Returns the path of the StickyRoot entity, or undefined if no StickyRoot is found
135
- */
136
- getStickyRootPath: function (oContext) {
137
- var oMetaModel = oContext.getModel().getMetaModel();
138
- var getRootPath = function (sPath, model) {
139
- var _RegExp$exec2;
140
- var firstIteration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
141
- var sIterationPath = firstIteration ? sPath : (_RegExp$exec2 = new RegExp(/.*(?=\/)/).exec(sPath)) === null || _RegExp$exec2 === void 0 ? void 0 : _RegExp$exec2[0]; // *Regex to get the ancestor
142
- if (sIterationPath && sIterationPath !== "/") {
143
- var _mDataModel$targetEnt3, _mDataModel$targetEnt4, _mDataModel$targetEnt5;
144
- var sEntityPath = oMetaModel.getMetaPath(sIterationPath);
145
- var mDataModel = MetaModelConverter.getInvolvedDataModelObjects(oMetaModel.getContext(sEntityPath));
146
- if ((_mDataModel$targetEnt3 = mDataModel.targetEntitySet) !== null && _mDataModel$targetEnt3 !== void 0 && (_mDataModel$targetEnt4 = _mDataModel$targetEnt3.annotations) !== null && _mDataModel$targetEnt4 !== void 0 && (_mDataModel$targetEnt5 = _mDataModel$targetEnt4.Session) !== null && _mDataModel$targetEnt5 !== void 0 && _mDataModel$targetEnt5.StickySessionSupported) {
147
- return sIterationPath;
148
- }
149
- return getRootPath(sIterationPath, model, false);
150
- }
151
- return undefined;
152
- };
153
- return getRootPath(oContext.getPath(), oContext.getModel());
154
- },
155
- /**
156
- * Returns the path to the target entity set via navigation property binding.
157
- *
158
- * @function
159
- * @name getTargetEntitySet
160
- * @param oContext Context for which the target entity set will be determined
161
- * @returns Returns the path to the target entity set
162
- */
163
- getTargetEntitySet: function (oContext) {
164
- var sPath = oContext.getPath();
165
- if (oContext.getObject("$kind") === "EntitySet" || oContext.getObject("$kind") === "Action" || oContext.getObject("0/$kind") === "Action") {
166
- return sPath;
167
- }
168
- var sEntitySetPath = ModelHelper.getEntitySetPath(sPath);
169
- return "/".concat(oContext.getObject(sEntitySetPath));
170
- },
171
- /**
172
- * Returns complete path to the entity set via using navigation property binding. Note: To be used only after the metamodel has loaded.
173
- *
174
- * @function
175
- * @name getEntitySetPath
176
- * @param path Path for which complete entitySet path needs to be determined from entityType path
177
- * @param odataMetaModel Metamodel to be used.(Optional in normal scenarios, but needed for parameterized service scenarios)
178
- * @returns Returns complete path to the entity set
179
- */
180
- getEntitySetPath: function (path, odataMetaModel) {
181
- var entitySetPath = "";
182
- if (!odataMetaModel) {
183
- // Previous implementation for getting entitySetPath from entityTypePath
184
- entitySetPath = "/".concat(path.split("/").filter(ModelHelper.filterOutNavPropBinding).join("/$NavigationPropertyBinding/"));
185
- } else {
186
- // Calculating the entitySetPath from MetaModel.
187
- var pathParts = path.split("/").filter(ModelHelper.filterOutNavPropBinding);
188
- if (pathParts.length > 1) {
189
- var initialPathObject = {
190
- growingPath: "/",
191
- pendingNavPropBinding: ""
192
- };
193
- var pathObject = pathParts.reduce(function (pathUnderConstruction, pathPart, idx) {
194
- var delimiter = !!idx && "/$NavigationPropertyBinding/" || "";
195
- var growingPath = pathUnderConstruction.growingPath,
196
- pendingNavPropBinding = pathUnderConstruction.pendingNavPropBinding;
197
- var tempPath = growingPath + delimiter;
198
- var navPropBindings = odataMetaModel.getObject(tempPath);
199
- var navPropBindingToCheck = pendingNavPropBinding ? "".concat(pendingNavPropBinding, "/").concat(pathPart) : pathPart;
200
- if (navPropBindings && Object.keys(navPropBindings).length > 0 && navPropBindings.hasOwnProperty(navPropBindingToCheck)) {
201
- growingPath = tempPath + navPropBindingToCheck.replace("/", "%2F");
202
- pendingNavPropBinding = "";
203
- } else {
204
- pendingNavPropBinding += pendingNavPropBinding ? "/".concat(pathPart) : pathPart;
205
- }
206
- return {
207
- growingPath: growingPath,
208
- pendingNavPropBinding: pendingNavPropBinding
209
- };
210
- }, initialPathObject);
211
- entitySetPath = pathObject.growingPath;
212
- } else {
213
- entitySetPath = "/".concat(pathParts[0]);
214
- }
215
- }
216
- return entitySetPath;
217
- },
218
- /**
219
- * Gets the path for the items property of MultiValueField parameters.
220
- *
221
- * @function
222
- * @name getActionParameterItemsModelPath
223
- * @param oParameter Action Parameter
224
- * @returns Returns the complete model path for the items property of MultiValueField parameters
225
- */
226
- getActionParameterItemsModelPath: function (oParameter) {
227
- return oParameter && oParameter.$Name ? "{path: 'mvfview>/".concat(oParameter.$Name, "'}") : undefined;
228
- },
229
- filterOutNavPropBinding: function (sPathPart) {
230
- return sPathPart !== "" && sPathPart !== "$NavigationPropertyBinding";
231
- },
232
- /**
233
- * Adds a setProperty to the created binding contexts of the internal JSON model.
234
- *
235
- * @function
236
- * @name enhanceInternalJSONModel
237
- * @param {sap.ui.model.json.JSONModel} Internal JSON Model which is enhanced
238
- */
239
-
240
- enhanceInternalJSONModel: function (oInternalModel) {
241
- var fnBindContext = oInternalModel.bindContext;
242
- oInternalModel.bindContext = function (sPath, oContext, mParameters) {
243
- for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
244
- args[_key - 3] = arguments[_key];
245
- }
246
- oContext = fnBindContext.apply(this, [sPath, oContext, mParameters].concat(args));
247
- var fnGetBoundContext = oContext.getBoundContext;
248
- oContext.getBoundContext = function () {
249
- for (var _len2 = arguments.length, subArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
250
- subArgs[_key2] = arguments[_key2];
251
- }
252
- var oBoundContext = fnGetBoundContext.apply.apply(fnGetBoundContext, [this].concat(subArgs));
253
- if (oBoundContext && !oBoundContext.setProperty) {
254
- oBoundContext.setProperty = function (sSetPropPath, value) {
255
- if (this.getObject() === undefined) {
256
- // initialize
257
- this.getModel().setProperty(this.getPath(), {});
258
- }
259
- this.getModel().setProperty(sSetPropPath, value, this);
260
- };
261
- }
262
- return oBoundContext;
263
- };
264
- return oContext;
265
- };
266
- },
267
- /**
268
- * Adds an handler on propertyChange.
269
- * The property "/editMode" is changed according to property '/isEditable' when this last one is set
270
- * in order to be compliant with former versions where building blocks use the property "/editMode"
271
- *
272
- * @function
273
- * @name enhanceUiJSONModel
274
- * @param {sap.ui.model.json.JSONModel} uiModel JSON Model which is enhanced
275
- * @param {object} library Core library of SAP Fiori elements
276
- */
277
-
278
- enhanceUiJSONModel: function (uiModel, library) {
279
- var fnSetProperty = uiModel.setProperty;
280
- uiModel.setProperty = function () {
281
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
282
- args[_key3] = arguments[_key3];
283
- }
284
- var value = args[1];
285
- if (args[0] === "/isEditable") {
286
- uiModel.setProperty("/editMode", value ? library.EditMode.Editable : library.EditMode.Display, args[2], args[3]);
287
- }
288
- return fnSetProperty.apply(this, [].concat(args));
289
- };
290
- },
291
- /**
292
- * Returns whether filtering on the table is case sensitive.
293
- *
294
- * @param oMetaModel The instance of the meta model
295
- * @returns Returns 'false' if FilterFunctions annotation supports 'tolower', else 'true'
296
- */
297
- isFilteringCaseSensitive: function (oMetaModel) {
298
- if (!oMetaModel) {
299
- return undefined;
300
- }
301
- var aFilterFunctions = oMetaModel.getObject("/@Org.OData.Capabilities.V1.FilterFunctions");
302
- // Get filter functions defined at EntityContainer and check for existence of 'tolower'
303
- return aFilterFunctions ? aFilterFunctions.indexOf("tolower") === -1 : true;
304
- },
305
- /**
306
- * Get MetaPath for the context.
307
- *
308
- * @param oContext Context to be used
309
- * @returns Returns the metapath for the context.
310
- */
311
- getMetaPathForContext: function (oContext) {
312
- var oModel = oContext.getModel(),
313
- oMetaModel = oModel.getMetaModel(),
314
- sPath = oContext.getPath();
315
- return oMetaModel && sPath && oMetaModel.getMetaPath(sPath);
316
- },
317
- /**
318
- * Get MetaPath for the context.
319
- *
320
- * @param contextPath MetaPath to be used
321
- * @returns Returns the root entity set path.
322
- */
323
- getRootEntitySetPath: function (contextPath) {
324
- var rootEntitySetPath = "";
325
- var aPaths = contextPath ? contextPath.split("/") : [];
326
- if (aPaths.length > 1) {
327
- rootEntitySetPath = aPaths[1];
328
- }
329
- return rootEntitySetPath;
330
- },
331
- /**
332
- * Get MetaPath for the listBinding.
333
- *
334
- * @param oView View of the control using listBinding
335
- * @param vListBinding ODataListBinding object or the binding path for a temporary list binding
336
- * @returns Returns the metapath for the listbinding.
337
- */
338
- getAbsoluteMetaPathForListBinding: function (oView, vListBinding) {
339
- var oMetaModel = oView.getModel().getMetaModel();
340
- var sMetaPath;
341
- if (typeof vListBinding === "string") {
342
- if (vListBinding.startsWith("/")) {
343
- // absolute path
344
- sMetaPath = oMetaModel.getMetaPath(vListBinding);
345
- } else {
346
- // relative path
347
- var oBindingContext = oView.getBindingContext();
348
- var sRootContextPath = oBindingContext.getPath();
349
- sMetaPath = oMetaModel.getMetaPath("".concat(sRootContextPath, "/").concat(vListBinding));
350
- }
351
- } else {
352
- // we already get a list binding use this one
353
- var oBinding = vListBinding;
354
- var oRootBinding = oBinding.getRootBinding();
355
- if (oBinding === oRootBinding) {
356
- // absolute path
357
- sMetaPath = oMetaModel.getMetaPath(oBinding.getPath());
358
- } else {
359
- // relative path
360
- var sRootBindingPath = oRootBinding.getPath();
361
- var sRelativePath = oBinding.getPath();
362
- sMetaPath = oMetaModel.getMetaPath("".concat(sRootBindingPath, "/").concat(sRelativePath));
363
- }
364
- }
365
- return sMetaPath;
366
- },
367
- /**
368
- * Method to determine if the draft root is supported or not.
369
- *
370
- * @function
371
- * @name isSingleton
372
- * @param entitySet EntitySet | Singleton | undefined
373
- * @returns True if entity type is singleton
374
- */
375
- isSingleton: function (entitySet) {
376
- if ((entitySet === null || entitySet === void 0 ? void 0 : entitySet._type) === TypeOfEntity.TypeSingleton) {
377
- return true;
378
- }
379
- return false;
380
- },
381
- /**
382
- * Method to determine if the draft root is supported or not.
383
- *
384
- * @function
385
- * @name isDraftRoot
386
- * @param entitySet EntitySet | Singleton | undefined
387
- * @returns True if draft root is present
388
- */
389
- isDraftRoot: function (entitySet) {
390
- var _annotations$Common;
391
- if (ModelHelper.isSingleton(entitySet)) {
392
- return false;
393
- }
394
- return entitySet && (_annotations$Common = entitySet.annotations.Common) !== null && _annotations$Common !== void 0 && _annotations$Common.DraftRoot ? true : false;
395
- },
396
- /**
397
- * Method to determine if the draft root is supported or not.
398
- *
399
- * @function
400
- * @name isDraftNode
401
- * @param entitySet EntitySet | Singleton | undefined
402
- * @returns True if draft root is present
403
- */
404
- isDraftNode: function (entitySet) {
405
- var _annotations$Common2;
406
- if (ModelHelper.isSingleton(entitySet)) {
407
- return false;
408
- }
409
- return entitySet && (_annotations$Common2 = entitySet.annotations.Common) !== null && _annotations$Common2 !== void 0 && _annotations$Common2.DraftNode ? true : false;
410
- },
411
- /**
412
- * Method to determine if the draft root is supported or not.
413
- *
414
- * @function
415
- * @name isSticky
416
- * @param entitySet EntitySet | Singleton | undefined
417
- * @returns True if sticky is supported else false
418
- */
419
- isSticky: function (entitySet) {
420
- var _annotations$Session;
421
- if (ModelHelper.isSingleton(entitySet)) {
422
- return false;
423
- }
424
- return entitySet && (_annotations$Session = entitySet.annotations.Session) !== null && _annotations$Session !== void 0 && _annotations$Session.StickySessionSupported ? true : false;
425
- },
426
- /**
427
- * Method to determine if entity is updatable or not.
428
- *
429
- * @function
430
- * @name isUpdateHidden
431
- * @param entitySet EntitySet | Singleton | undefined
432
- * @param entityType EntityType
433
- * @returns True if updatable else false
434
- */
435
- isUpdateHidden: function (entitySet, entityType) {
436
- var _annotations$UI, _annotations$UI$Updat, _annotations$UI2, _entityType$annotatio;
437
- if (ModelHelper.isSingleton(entitySet)) {
438
- return false;
439
- }
440
- return (entitySet === null || entitySet === void 0 ? void 0 : (_annotations$UI = entitySet.annotations.UI) === null || _annotations$UI === void 0 ? void 0 : (_annotations$UI$Updat = _annotations$UI.UpdateHidden) === null || _annotations$UI$Updat === void 0 ? void 0 : _annotations$UI$Updat.valueOf()) !== undefined ? entitySet === null || entitySet === void 0 ? void 0 : (_annotations$UI2 = entitySet.annotations.UI) === null || _annotations$UI2 === void 0 ? void 0 : _annotations$UI2.UpdateHidden : entityType === null || entityType === void 0 ? void 0 : (_entityType$annotatio = entityType.annotations.UI) === null || _entityType$annotatio === void 0 ? void 0 : _entityType$annotatio.UpdateHidden;
441
- },
442
- /**
443
- * Method to get draft root.
444
- *
445
- * @function
446
- * @name getDraftRoot
447
- * @param entitySet EntitySet | Singleton | undefined
448
- * @returns DraftRoot
449
- */
450
- getDraftRoot: function (entitySet) {
451
- var _annotations$Common3;
452
- if (ModelHelper.isSingleton(entitySet)) {
453
- return undefined;
454
- }
455
- return entitySet && ((_annotations$Common3 = entitySet.annotations.Common) === null || _annotations$Common3 === void 0 ? void 0 : _annotations$Common3.DraftRoot);
456
- },
457
- /**
458
- * Method to get draft root.
459
- *
460
- * @function
461
- * @name getDraftNode
462
- * @param entitySet EntitySet | Singleton | undefined
463
- * @returns DraftRoot
464
- */
465
- getDraftNode: function (entitySet) {
466
- var _annotations$Common4;
467
- if (ModelHelper.isSingleton(entitySet)) {
468
- return undefined;
469
- }
470
- return entitySet && ((_annotations$Common4 = entitySet.annotations.Common) === null || _annotations$Common4 === void 0 ? void 0 : _annotations$Common4.DraftNode);
471
- },
472
- /**
473
- * Helper method to get sticky session.
474
- *
475
- * @function
476
- * @name getStickySession
477
- * @param entitySet EntitySet | Singleton | undefined
478
- * @returns Session StickySessionSupported
479
- */
480
- getStickySession: function (entitySet) {
481
- var _annotations, _annotations$Session2;
482
- if (ModelHelper.isSingleton(entitySet)) {
483
- return undefined;
484
- }
485
- return entitySet && ((_annotations = entitySet.annotations) === null || _annotations === void 0 ? void 0 : (_annotations$Session2 = _annotations.Session) === null || _annotations$Session2 === void 0 ? void 0 : _annotations$Session2.StickySessionSupported);
486
- },
487
- /**
488
- * Method to get the visibility state of delete button.
489
- *
490
- * @function
491
- * @name getDeleteHidden
492
- * @param entitySet EntitySet | Singleton | undefined
493
- * @param entityType EntityType
494
- * @returns True if delete button is hidden
495
- */
496
- getDeleteHidden: function (entitySet, entityType) {
497
- var _annotations$UI3, _annotations$UI3$Dele, _annotations$UI4, _entityType$annotatio2;
498
- if (ModelHelper.isSingleton(entitySet)) {
499
- return false;
500
- }
501
- return (entitySet === null || entitySet === void 0 ? void 0 : (_annotations$UI3 = entitySet.annotations.UI) === null || _annotations$UI3 === void 0 ? void 0 : (_annotations$UI3$Dele = _annotations$UI3.DeleteHidden) === null || _annotations$UI3$Dele === void 0 ? void 0 : _annotations$UI3$Dele.valueOf()) !== undefined ? entitySet === null || entitySet === void 0 ? void 0 : (_annotations$UI4 = entitySet.annotations.UI) === null || _annotations$UI4 === void 0 ? void 0 : _annotations$UI4.DeleteHidden : entityType === null || entityType === void 0 ? void 0 : (_entityType$annotatio2 = entityType.annotations.UI) === null || _entityType$annotatio2 === void 0 ? void 0 : _entityType$annotatio2.DeleteHidden;
502
- }
503
- };
504
- return ModelHelper;
505
- }, false);
506
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUeXBlT2ZFbnRpdHkiLCJNb2RlbEhlbHBlciIsImlzU3RpY2t5U2Vzc2lvblN1cHBvcnRlZCIsIm9NZXRhTW9kZWwiLCJvRW50aXR5Q29udGFpbmVyIiwiZ2V0T2JqZWN0Iiwic0VudGl0eVNldCIsIiRraW5kIiwiaXNEcmFmdFN1cHBvcnRlZCIsInNQYXRoIiwib01ldGFDb250ZXh0IiwiZ2V0TWV0YUNvbnRleHQiLCJzVGFyZ2V0RW50aXR5U2V0IiwiZ2V0VGFyZ2V0RW50aXR5U2V0Iiwib1BhcmVudEVudGl0eVNldENvbnRleHQiLCJhUGFydHMiLCJnZXRQcm9wZXJ0eSIsIiRDb250YWluc1RhcmdldCIsImdldE1ldGFQYXRoIiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwibGVuZ3RoIiwiaSIsIm9FbnRpdHlDb250ZXh0IiwiaXNPYmplY3RQYXRoRHJhZnRTdXBwb3J0ZWQiLCJkYXRhTW9kZWxPYmplY3RQYXRoIiwiY3VycmVudEVudGl0eVNldCIsInRhcmdldEVudGl0eVNldCIsImJJc0RyYWZ0Um9vdCIsImlzRHJhZnRSb290IiwiYklzRHJhZnROb2RlIiwiaXNEcmFmdE5vZGUiLCJiSXNEcmFmdFBhcmVudEVudGl0eUZvckNvbnRhaW5tZW50IiwidGFyZ2V0T2JqZWN0IiwiY29udGFpbnNUYXJnZXQiLCJzdGFydGluZ0VudGl0eVNldCIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiRHJhZnRSb290IiwiRHJhZnROb2RlIiwiaXNDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQiLCJtZXRhT2JqZWN0IiwidGVtcGxhdGVJbnRlcmZhY2UiLCJjb250ZXh0IiwiZ2V0TW9kZWwiLCJnZXREcmFmdFJvb3RQYXRoIiwib0NvbnRleHQiLCJnZXRNZXRhTW9kZWwiLCJnZXRSb290UGF0aCIsIm1vZGVsIiwiZmlyc3RJdGVyYXRpb24iLCJzSXRlcmF0aW9uUGF0aCIsIlJlZ0V4cCIsImV4ZWMiLCJzRW50aXR5UGF0aCIsIm1EYXRhTW9kZWwiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJnZXRDb250ZXh0IiwidW5kZWZpbmVkIiwiZ2V0UGF0aCIsImdldFN0aWNreVJvb3RQYXRoIiwiU2Vzc2lvbiIsIlN0aWNreVNlc3Npb25TdXBwb3J0ZWQiLCJzRW50aXR5U2V0UGF0aCIsImdldEVudGl0eVNldFBhdGgiLCJwYXRoIiwib2RhdGFNZXRhTW9kZWwiLCJlbnRpdHlTZXRQYXRoIiwiZmlsdGVyT3V0TmF2UHJvcEJpbmRpbmciLCJqb2luIiwicGF0aFBhcnRzIiwiaW5pdGlhbFBhdGhPYmplY3QiLCJncm93aW5nUGF0aCIsInBlbmRpbmdOYXZQcm9wQmluZGluZyIsInBhdGhPYmplY3QiLCJyZWR1Y2UiLCJwYXRoVW5kZXJDb25zdHJ1Y3Rpb24iLCJwYXRoUGFydCIsImlkeCIsImRlbGltaXRlciIsInRlbXBQYXRoIiwibmF2UHJvcEJpbmRpbmdzIiwibmF2UHJvcEJpbmRpbmdUb0NoZWNrIiwiT2JqZWN0Iiwia2V5cyIsImhhc093blByb3BlcnR5IiwicmVwbGFjZSIsImdldEFjdGlvblBhcmFtZXRlckl0ZW1zTW9kZWxQYXRoIiwib1BhcmFtZXRlciIsIiROYW1lIiwic1BhdGhQYXJ0IiwiZW5oYW5jZUludGVybmFsSlNPTk1vZGVsIiwib0ludGVybmFsTW9kZWwiLCJmbkJpbmRDb250ZXh0IiwiYmluZENvbnRleHQiLCJtUGFyYW1ldGVycyIsImFyZ3MiLCJhcHBseSIsImZuR2V0Qm91bmRDb250ZXh0IiwiZ2V0Qm91bmRDb250ZXh0Iiwic3ViQXJncyIsIm9Cb3VuZENvbnRleHQiLCJzZXRQcm9wZXJ0eSIsInNTZXRQcm9wUGF0aCIsInZhbHVlIiwiZW5oYW5jZVVpSlNPTk1vZGVsIiwidWlNb2RlbCIsImxpYnJhcnkiLCJmblNldFByb3BlcnR5IiwiRWRpdE1vZGUiLCJFZGl0YWJsZSIsIkRpc3BsYXkiLCJpc0ZpbHRlcmluZ0Nhc2VTZW5zaXRpdmUiLCJhRmlsdGVyRnVuY3Rpb25zIiwiaW5kZXhPZiIsImdldE1ldGFQYXRoRm9yQ29udGV4dCIsIm9Nb2RlbCIsImdldFJvb3RFbnRpdHlTZXRQYXRoIiwiY29udGV4dFBhdGgiLCJyb290RW50aXR5U2V0UGF0aCIsImFQYXRocyIsImdldEFic29sdXRlTWV0YVBhdGhGb3JMaXN0QmluZGluZyIsIm9WaWV3Iiwidkxpc3RCaW5kaW5nIiwic01ldGFQYXRoIiwic3RhcnRzV2l0aCIsIm9CaW5kaW5nQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0Iiwic1Jvb3RDb250ZXh0UGF0aCIsIm9CaW5kaW5nIiwib1Jvb3RCaW5kaW5nIiwiZ2V0Um9vdEJpbmRpbmciLCJzUm9vdEJpbmRpbmdQYXRoIiwic1JlbGF0aXZlUGF0aCIsImlzU2luZ2xldG9uIiwiZW50aXR5U2V0IiwiX3R5cGUiLCJUeXBlU2luZ2xldG9uIiwiaXNTdGlja3kiLCJpc1VwZGF0ZUhpZGRlbiIsImVudGl0eVR5cGUiLCJVSSIsIlVwZGF0ZUhpZGRlbiIsInZhbHVlT2YiLCJnZXREcmFmdFJvb3QiLCJnZXREcmFmdE5vZGUiLCJnZXRTdGlja3lTZXNzaW9uIiwiZ2V0RGVsZXRlSGlkZGVuIiwiRGVsZXRlSGlkZGVuIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNb2RlbEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUaGlzIGNsYXNzIGNvbnRhaW5zIGhlbHBlcnMgdG8gYmUgdXNlZCBhdCBydW50aW1lIHRvIHJldHJpZXZlIGZ1cnRoZXIgaW5mb3JtYXRpb24gb24gdGhlIG1vZGVsICovXG5pbXBvcnQgdHlwZSB7IEVudGl0eVNldCwgRW50aXR5VHlwZSwgUHJvcGVydHlBbm5vdGF0aW9uVmFsdWUsIFNpbmdsZXRvbiB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBEcmFmdE5vZGUsIERyYWZ0Um9vdCB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ29tbW9uXCI7XG5pbXBvcnQgdHlwZSB7IFN0aWNreVNlc3Npb25TdXBwb3J0ZWQgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1Nlc3Npb25cIjtcbmltcG9ydCB0eXBlIHsgRGVsZXRlSGlkZGVuIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIEJhc2VDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YUxpc3RCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFMaXN0QmluZGluZ1wiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPRGF0YU1vZGVsRXgsIFY0Q29udGV4dCB9IGZyb20gXCJ0eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCIuLi90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcblxuZXhwb3J0IGNvbnN0IGVudW0gVHlwZU9mRW50aXR5IHtcblx0VHlwZVNpbmdsZXRvbiA9IFwiU2luZ2xldG9uXCIsXG5cdFR5cGVFbnRpdHkgPSBcIkVudGl0eVNldFwiXG59XG5jb25zdCBNb2RlbEhlbHBlciA9IHtcblx0LyoqXG5cdCAqIE1ldGhvZCB0byBkZXRlcm1pbmUgaWYgdGhlIHByb2dyYW1taW5nIG1vZGVsIGlzIHN0aWNreS5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGlzU3RpY2t5U2Vzc2lvblN1cHBvcnRlZFxuXHQgKiBAcGFyYW0gb01ldGFNb2RlbCBPRGF0YU1vZGVsTWV0YU1vZGVsIHRvIGNoZWNrIGZvciBzdGlja3kgZW5hYmxlZCBlbnRpdHlcblx0ICogQHJldHVybnMgUmV0dXJucyB0cnVlIGlmIHN0aWNreSwgZWxzZSBmYWxzZVxuXHQgKi9cblx0aXNTdGlja3lTZXNzaW9uU3VwcG9ydGVkOiBmdW5jdGlvbiAob01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwpIHtcblx0XHRjb25zdCBvRW50aXR5Q29udGFpbmVyID0gb01ldGFNb2RlbC5nZXRPYmplY3QoXCIvXCIpO1xuXHRcdGZvciAoY29uc3Qgc0VudGl0eVNldCBpbiBvRW50aXR5Q29udGFpbmVyKSB7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9FbnRpdHlDb250YWluZXJbc0VudGl0eVNldF0uJGtpbmQgPT09IFwiRW50aXR5U2V0XCIgJiZcblx0XHRcdFx0b01ldGFNb2RlbC5nZXRPYmplY3QoYC8ke3NFbnRpdHlTZXR9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLlNlc3Npb24udjEuU3RpY2t5U2Vzc2lvblN1cHBvcnRlZGApXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fSxcblxuXHQvKipcblx0ICogTWV0aG9kIHRvIGRldGVybWluZSBpZiB0aGUgcHJvZ3JhbW1pbmcgbW9kZWwgaXMgZHJhZnQuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBpc0RyYWZ0U3VwcG9ydGVkXG5cdCAqIEBwYXJhbSBvTWV0YU1vZGVsIE9EYXRhTW9kZWxNZXRhTW9kZWwgb2YgdGhlIGNvbnRleHQgZm9yIHdoaWNoIGRyYWZ0IHN1cHBvcnQgc2hhbGwgYmUgY2hlY2tlZFxuXHQgKiBAcGFyYW0gc1BhdGggUGF0aCBmb3Igd2hpY2ggZHJhZnQgc3VwcG9ydCBzaGFsbCBiZSBjaGVja2VkXG5cdCAqIEByZXR1cm5zIFJldHVybnMgdHJ1ZSBpZiBkcmFmdCwgZWxzZSBmYWxzZVxuXHQgKi9cblx0aXNEcmFmdFN1cHBvcnRlZDogZnVuY3Rpb24gKG9NZXRhTW9kZWw6IGFueSwgc1BhdGg6IHN0cmluZykge1xuXHRcdGNvbnN0IG9NZXRhQ29udGV4dCA9IG9NZXRhTW9kZWwuZ2V0TWV0YUNvbnRleHQoc1BhdGgpO1xuXHRcdGxldCBzVGFyZ2V0RW50aXR5U2V0ID0gdGhpcy5nZXRUYXJnZXRFbnRpdHlTZXQob01ldGFDb250ZXh0KSxcblx0XHRcdG9QYXJlbnRFbnRpdHlTZXRDb250ZXh0LFxuXHRcdFx0YVBhcnRzO1xuXG5cdFx0aWYgKG9NZXRhQ29udGV4dC5nZXRQcm9wZXJ0eSAmJiBvTWV0YUNvbnRleHQuZ2V0UHJvcGVydHkoKSAmJiBvTWV0YUNvbnRleHQuZ2V0UHJvcGVydHkoKS4kQ29udGFpbnNUYXJnZXQgPT09IHRydWUpIHtcblx0XHRcdGFQYXJ0cyA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgoc1BhdGgpLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG5cdFx0XHRpZiAoYVBhcnRzLmxlbmd0aCkge1xuXHRcdFx0XHRmb3IgKGxldCBpID0gYVBhcnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG5cdFx0XHRcdFx0b1BhcmVudEVudGl0eVNldENvbnRleHQgPSBvTWV0YU1vZGVsLmdldE1ldGFDb250ZXh0KG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgoYC8ke2FQYXJ0c1tpXX1gKSk7XG5cdFx0XHRcdFx0aWYgKG9QYXJlbnRFbnRpdHlTZXRDb250ZXh0LmdldE9iamVjdChcIiRraW5kXCIpID09PSBcIkVudGl0eVNldFwiKSB7XG5cdFx0XHRcdFx0XHRzVGFyZ2V0RW50aXR5U2V0ID0gdGhpcy5nZXRUYXJnZXRFbnRpdHlTZXQob1BhcmVudEVudGl0eVNldENvbnRleHQpO1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHNUYXJnZXRFbnRpdHlTZXQgPSB0aGlzLmdldFRhcmdldEVudGl0eVNldChvTWV0YUNvbnRleHQpO1xuXHRcdH1cblx0XHRjb25zdCBvRW50aXR5Q29udGV4dCA9IG9NZXRhTW9kZWwuZ2V0TWV0YUNvbnRleHQoc1RhcmdldEVudGl0eVNldCk7XG5cdFx0aWYgKFxuXHRcdFx0b0VudGl0eUNvbnRleHQuZ2V0T2JqZWN0KFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3RcIikgfHxcblx0XHRcdG9FbnRpdHlDb250ZXh0LmdldE9iamVjdChcIkBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuRHJhZnROb2RlXCIpXG5cdFx0KSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgZHJhZnQgaXMgc3VwcG9ydGVkIGZvciB0aGUgZGF0YSBtb2RlbCBvYmplY3QgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIGRhdGFNb2RlbE9iamVjdFBhdGhcblx0ICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIHN1cHBvcnRlZFxuXHQgKi9cblx0aXNPYmplY3RQYXRoRHJhZnRTdXBwb3J0ZWQ6IGZ1bmN0aW9uIChkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoKTogYm9vbGVhbiB7XG5cdFx0Y29uc3QgY3VycmVudEVudGl0eVNldCA9IGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0RW50aXR5U2V0IGFzIEVudGl0eVNldDtcblx0XHRjb25zdCBiSXNEcmFmdFJvb3QgPSBNb2RlbEhlbHBlci5pc0RyYWZ0Um9vdChjdXJyZW50RW50aXR5U2V0KTtcblx0XHRjb25zdCBiSXNEcmFmdE5vZGUgPSBNb2RlbEhlbHBlci5pc0RyYWZ0Tm9kZShjdXJyZW50RW50aXR5U2V0KTtcblx0XHRjb25zdCBiSXNEcmFmdFBhcmVudEVudGl0eUZvckNvbnRhaW5tZW50ID1cblx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Py5jb250YWluc1RhcmdldCAmJlxuXHRcdFx0KChkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0IGFzIEVudGl0eVNldCk/LmFubm90YXRpb25zPy5Db21tb24/LkRyYWZ0Um9vdCB8fFxuXHRcdFx0XHQoZGF0YU1vZGVsT2JqZWN0UGF0aC5zdGFydGluZ0VudGl0eVNldCBhcyBFbnRpdHlTZXQpPy5hbm5vdGF0aW9ucz8uQ29tbW9uPy5EcmFmdE5vZGUpXG5cdFx0XHRcdD8gdHJ1ZVxuXHRcdFx0XHQ6IGZhbHNlO1xuXG5cdFx0cmV0dXJuIGJJc0RyYWZ0Um9vdCB8fCBiSXNEcmFmdE5vZGUgfHwgKCFjdXJyZW50RW50aXR5U2V0ICYmIGJJc0RyYWZ0UGFyZW50RW50aXR5Rm9yQ29udGFpbm1lbnQpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBNZXRob2QgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzZXJ2aWNlLCBzdXBwb3J0cyBjb2xsYWJvcmF0aW9uIGRyYWZ0LlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgaXNDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWRcblx0ICogQHBhcmFtIG1ldGFPYmplY3QgTWV0YU9iamVjdCB0byBiZSB1c2VkIGZvciBkZXRlcm1pbmF0aW9uXG5cdCAqIEBwYXJhbSB0ZW1wbGF0ZUludGVyZmFjZSBBUEkgcHJvdmlkZWQgYnkgVUk1IHRlbXBsYXRpbmcgaWYgdXNlZFxuXHQgKiBAcmV0dXJucyBSZXR1cm5zIHRydWUgaWYgdGhlIHNlcnZpY2Ugc3VwcG9ydHMgY29sbGFib3JhdGlvbiBkcmFmdCwgZWxzZSBmYWxzZVxuXHQgKi9cblx0aXNDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQ6IGZ1bmN0aW9uIChtZXRhT2JqZWN0OiBhbnksIHRlbXBsYXRlSW50ZXJmYWNlPzogYW55KSB7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9ICh0ZW1wbGF0ZUludGVyZmFjZT8uY29udGV4dD8uZ2V0TW9kZWwoKSB8fCBtZXRhT2JqZWN0KSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0XHRjb25zdCBvRW50aXR5Q29udGFpbmVyID0gb01ldGFNb2RlbC5nZXRPYmplY3QoXCIvXCIpO1xuXHRcdGZvciAoY29uc3Qgc0VudGl0eVNldCBpbiBvRW50aXR5Q29udGFpbmVyKSB7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9FbnRpdHlDb250YWluZXJbc0VudGl0eVNldF0uJGtpbmQgPT09IFwiRW50aXR5U2V0XCIgJiZcblx0XHRcdFx0b01ldGFNb2RlbC5nZXRPYmplY3QoYC8ke3NFbnRpdHlTZXR9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3QvU2hhcmVBY3Rpb25gKVxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0sXG5cblx0LyoqXG5cdCAqIE1ldGhvZCB0byBnZXQgdGhlIHBhdGggb2YgdGhlIERyYWZ0Um9vdCBwYXRoIGFjY29yZGluZyB0byB0aGUgcHJvdmlkZWQgY29udGV4dC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGdldERyYWZ0Um9vdFBhdGhcblx0ICogQHBhcmFtIG9Db250ZXh0IE9kYXRhTW9kZWwgY29udGV4dFxuXHQgKiBAcmV0dXJucyBSZXR1cm5zIHRoZSBwYXRoIG9mIHRoZSBkcmFmdFJvb3QgZW50aXR5LCBvciB1bmRlZmluZWQgaWYgbm8gZHJhZnRSb290IGlzIGZvdW5kXG5cdCAqL1xuXHRnZXREcmFmdFJvb3RQYXRoOiBmdW5jdGlvbiAob0NvbnRleHQ6IFY0Q29udGV4dCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IG9Db250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCk7XG5cdFx0Y29uc3QgZ2V0Um9vdFBhdGggPSBmdW5jdGlvbiAoc1BhdGg6IHN0cmluZywgbW9kZWw6IE9EYXRhTW9kZWxFeCwgZmlyc3RJdGVyYXRpb24gPSB0cnVlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRcdGNvbnN0IHNJdGVyYXRpb25QYXRoID0gZmlyc3RJdGVyYXRpb24gPyBzUGF0aCA6IG5ldyBSZWdFeHAoLy4qKD89XFwvKS8pLmV4ZWMoc1BhdGgpPy5bMF07IC8vICpSZWdleCB0byBnZXQgdGhlIGFuY2VzdG9yXG5cdFx0XHRpZiAoc0l0ZXJhdGlvblBhdGggJiYgc0l0ZXJhdGlvblBhdGggIT09IFwiL1wiKSB7XG5cdFx0XHRcdGNvbnN0IHNFbnRpdHlQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChzSXRlcmF0aW9uUGF0aCk7XG5cdFx0XHRcdGNvbnN0IG1EYXRhTW9kZWwgPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG9NZXRhTW9kZWwuZ2V0Q29udGV4dChzRW50aXR5UGF0aCkpO1xuXHRcdFx0XHRpZiAoKG1EYXRhTW9kZWwudGFyZ2V0RW50aXR5U2V0IGFzIEVudGl0eVNldCk/LmFubm90YXRpb25zLkNvbW1vbj8uRHJhZnRSb290KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHNJdGVyYXRpb25QYXRoO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBnZXRSb290UGF0aChzSXRlcmF0aW9uUGF0aCwgbW9kZWwsIGZhbHNlKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fTtcblx0XHRyZXR1cm4gZ2V0Um9vdFBhdGgob0NvbnRleHQuZ2V0UGF0aCgpLCBvQ29udGV4dC5nZXRNb2RlbCgpKTtcblx0fSxcblxuXHQvKipcblx0ICogTWV0aG9kIHRvIGdldCB0aGUgcGF0aCBvZiB0aGUgU3RpY2t5Um9vdCBwYXRoIGFjY29yZGluZyB0byB0aGUgcHJvdmlkZWQgY29udGV4dC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGdldFN0aWNreVJvb3RQYXRoXG5cdCAqIEBwYXJhbSBvQ29udGV4dCBPZGF0YU1vZGVsIGNvbnRleHRcblx0ICogQHJldHVybnMgUmV0dXJucyB0aGUgcGF0aCBvZiB0aGUgU3RpY2t5Um9vdCBlbnRpdHksIG9yIHVuZGVmaW5lZCBpZiBubyBTdGlja3lSb290IGlzIGZvdW5kXG5cdCAqL1xuXHRnZXRTdGlja3lSb290UGF0aDogZnVuY3Rpb24gKG9Db250ZXh0OiBWNENvbnRleHQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpO1xuXHRcdGNvbnN0IGdldFJvb3RQYXRoID0gZnVuY3Rpb24gKHNQYXRoOiBzdHJpbmcsIG1vZGVsOiBPRGF0YU1vZGVsRXgsIGZpcnN0SXRlcmF0aW9uID0gdHJ1ZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0XHRjb25zdCBzSXRlcmF0aW9uUGF0aCA9IGZpcnN0SXRlcmF0aW9uID8gc1BhdGggOiBuZXcgUmVnRXhwKC8uKig/PVxcLykvKS5leGVjKHNQYXRoKT8uWzBdOyAvLyAqUmVnZXggdG8gZ2V0IHRoZSBhbmNlc3RvclxuXHRcdFx0aWYgKHNJdGVyYXRpb25QYXRoICYmIHNJdGVyYXRpb25QYXRoICE9PSBcIi9cIikge1xuXHRcdFx0XHRjb25zdCBzRW50aXR5UGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgoc0l0ZXJhdGlvblBhdGgpO1xuXHRcdFx0XHRjb25zdCBtRGF0YU1vZGVsID0gTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhvTWV0YU1vZGVsLmdldENvbnRleHQoc0VudGl0eVBhdGgpKTtcblx0XHRcdFx0aWYgKChtRGF0YU1vZGVsLnRhcmdldEVudGl0eVNldCBhcyBFbnRpdHlTZXQpPy5hbm5vdGF0aW9ucz8uU2Vzc2lvbj8uU3RpY2t5U2Vzc2lvblN1cHBvcnRlZCkge1xuXHRcdFx0XHRcdHJldHVybiBzSXRlcmF0aW9uUGF0aDtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZ2V0Um9vdFBhdGgoc0l0ZXJhdGlvblBhdGgsIG1vZGVsLCBmYWxzZSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH07XG5cdFx0cmV0dXJuIGdldFJvb3RQYXRoKG9Db250ZXh0LmdldFBhdGgoKSwgb0NvbnRleHQuZ2V0TW9kZWwoKSk7XG5cdH0sXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBwYXRoIHRvIHRoZSB0YXJnZXQgZW50aXR5IHNldCB2aWEgbmF2aWdhdGlvbiBwcm9wZXJ0eSBiaW5kaW5nLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgZ2V0VGFyZ2V0RW50aXR5U2V0XG5cdCAqIEBwYXJhbSBvQ29udGV4dCBDb250ZXh0IGZvciB3aGljaCB0aGUgdGFyZ2V0IGVudGl0eSBzZXQgd2lsbCBiZSBkZXRlcm1pbmVkXG5cdCAqIEByZXR1cm5zIFJldHVybnMgdGhlIHBhdGggdG8gdGhlIHRhcmdldCBlbnRpdHkgc2V0XG5cdCAqL1xuXHRnZXRUYXJnZXRFbnRpdHlTZXQ6IGZ1bmN0aW9uIChvQ29udGV4dDogQ29udGV4dCkge1xuXHRcdGNvbnN0IHNQYXRoID0gb0NvbnRleHQuZ2V0UGF0aCgpO1xuXHRcdGlmIChcblx0XHRcdG9Db250ZXh0LmdldE9iamVjdChcIiRraW5kXCIpID09PSBcIkVudGl0eVNldFwiIHx8XG5cdFx0XHRvQ29udGV4dC5nZXRPYmplY3QoXCIka2luZFwiKSA9PT0gXCJBY3Rpb25cIiB8fFxuXHRcdFx0b0NvbnRleHQuZ2V0T2JqZWN0KFwiMC8ka2luZFwiKSA9PT0gXCJBY3Rpb25cIlxuXHRcdCkge1xuXHRcdFx0cmV0dXJuIHNQYXRoO1xuXHRcdH1cblx0XHRjb25zdCBzRW50aXR5U2V0UGF0aCA9IE1vZGVsSGVscGVyLmdldEVudGl0eVNldFBhdGgoc1BhdGgpO1xuXHRcdHJldHVybiBgLyR7b0NvbnRleHQuZ2V0T2JqZWN0KHNFbnRpdHlTZXRQYXRoKX1gO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIGNvbXBsZXRlIHBhdGggdG8gdGhlIGVudGl0eSBzZXQgdmlhIHVzaW5nIG5hdmlnYXRpb24gcHJvcGVydHkgYmluZGluZy4gTm90ZTogVG8gYmUgdXNlZCBvbmx5IGFmdGVyIHRoZSBtZXRhbW9kZWwgaGFzIGxvYWRlZC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGdldEVudGl0eVNldFBhdGhcblx0ICogQHBhcmFtIHBhdGggUGF0aCBmb3Igd2hpY2ggY29tcGxldGUgZW50aXR5U2V0IHBhdGggbmVlZHMgdG8gYmUgZGV0ZXJtaW5lZCBmcm9tIGVudGl0eVR5cGUgcGF0aFxuXHQgKiBAcGFyYW0gb2RhdGFNZXRhTW9kZWwgTWV0YW1vZGVsIHRvIGJlIHVzZWQuKE9wdGlvbmFsIGluIG5vcm1hbCBzY2VuYXJpb3MsIGJ1dCBuZWVkZWQgZm9yIHBhcmFtZXRlcml6ZWQgc2VydmljZSBzY2VuYXJpb3MpXG5cdCAqIEByZXR1cm5zIFJldHVybnMgY29tcGxldGUgcGF0aCB0byB0aGUgZW50aXR5IHNldFxuXHQgKi9cblx0Z2V0RW50aXR5U2V0UGF0aDogZnVuY3Rpb24gKHBhdGg6IHN0cmluZywgb2RhdGFNZXRhTW9kZWw/OiBPRGF0YU1ldGFNb2RlbCkge1xuXHRcdGxldCBlbnRpdHlTZXRQYXRoOiBzdHJpbmcgPSBcIlwiO1xuXHRcdGlmICghb2RhdGFNZXRhTW9kZWwpIHtcblx0XHRcdC8vIFByZXZpb3VzIGltcGxlbWVudGF0aW9uIGZvciBnZXR0aW5nIGVudGl0eVNldFBhdGggZnJvbSBlbnRpdHlUeXBlUGF0aFxuXHRcdFx0ZW50aXR5U2V0UGF0aCA9IGAvJHtwYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoTW9kZWxIZWxwZXIuZmlsdGVyT3V0TmF2UHJvcEJpbmRpbmcpLmpvaW4oXCIvJE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcvXCIpfWA7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIENhbGN1bGF0aW5nIHRoZSBlbnRpdHlTZXRQYXRoIGZyb20gTWV0YU1vZGVsLlxuXHRcdFx0Y29uc3QgcGF0aFBhcnRzID0gcGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKE1vZGVsSGVscGVyLmZpbHRlck91dE5hdlByb3BCaW5kaW5nKTtcblx0XHRcdGlmIChwYXRoUGFydHMubGVuZ3RoID4gMSkge1xuXHRcdFx0XHRjb25zdCBpbml0aWFsUGF0aE9iamVjdCA9IHtcblx0XHRcdFx0XHRncm93aW5nUGF0aDogXCIvXCIsXG5cdFx0XHRcdFx0cGVuZGluZ05hdlByb3BCaW5kaW5nOiBcIlwiXG5cdFx0XHRcdH07XG5cblx0XHRcdFx0Y29uc3QgcGF0aE9iamVjdCA9IHBhdGhQYXJ0cy5yZWR1Y2UoKHBhdGhVbmRlckNvbnN0cnVjdGlvbjogYW55LCBwYXRoUGFydDogc3RyaW5nLCBpZHg6IG51bWJlcikgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGRlbGltaXRlciA9ICghIWlkeCAmJiBcIi8kTmF2aWdhdGlvblByb3BlcnR5QmluZGluZy9cIikgfHwgXCJcIjtcblx0XHRcdFx0XHRsZXQgeyBncm93aW5nUGF0aCwgcGVuZGluZ05hdlByb3BCaW5kaW5nIH0gPSBwYXRoVW5kZXJDb25zdHJ1Y3Rpb247XG5cdFx0XHRcdFx0Y29uc3QgdGVtcFBhdGggPSBncm93aW5nUGF0aCArIGRlbGltaXRlcjtcblx0XHRcdFx0XHRjb25zdCBuYXZQcm9wQmluZGluZ3MgPSBvZGF0YU1ldGFNb2RlbC5nZXRPYmplY3QodGVtcFBhdGgpO1xuXHRcdFx0XHRcdGNvbnN0IG5hdlByb3BCaW5kaW5nVG9DaGVjayA9IHBlbmRpbmdOYXZQcm9wQmluZGluZyA/IGAke3BlbmRpbmdOYXZQcm9wQmluZGluZ30vJHtwYXRoUGFydH1gIDogcGF0aFBhcnQ7XG5cdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0bmF2UHJvcEJpbmRpbmdzICYmXG5cdFx0XHRcdFx0XHRPYmplY3Qua2V5cyhuYXZQcm9wQmluZGluZ3MpLmxlbmd0aCA+IDAgJiZcblx0XHRcdFx0XHRcdG5hdlByb3BCaW5kaW5ncy5oYXNPd25Qcm9wZXJ0eShuYXZQcm9wQmluZGluZ1RvQ2hlY2spXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRncm93aW5nUGF0aCA9IHRlbXBQYXRoICsgbmF2UHJvcEJpbmRpbmdUb0NoZWNrLnJlcGxhY2UoXCIvXCIsIFwiJTJGXCIpO1xuXHRcdFx0XHRcdFx0cGVuZGluZ05hdlByb3BCaW5kaW5nID0gXCJcIjtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0cGVuZGluZ05hdlByb3BCaW5kaW5nICs9IHBlbmRpbmdOYXZQcm9wQmluZGluZyA/IGAvJHtwYXRoUGFydH1gIDogcGF0aFBhcnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB7IGdyb3dpbmdQYXRoLCBwZW5kaW5nTmF2UHJvcEJpbmRpbmcgfTtcblx0XHRcdFx0fSwgaW5pdGlhbFBhdGhPYmplY3QgYXMgYW55KTtcblxuXHRcdFx0XHRlbnRpdHlTZXRQYXRoID0gcGF0aE9iamVjdC5ncm93aW5nUGF0aDtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGVudGl0eVNldFBhdGggPSBgLyR7cGF0aFBhcnRzWzBdfWA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGVudGl0eVNldFBhdGg7XG5cdH0sXG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHBhdGggZm9yIHRoZSBpdGVtcyBwcm9wZXJ0eSBvZiBNdWx0aVZhbHVlRmllbGQgcGFyYW1ldGVycy5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGdldEFjdGlvblBhcmFtZXRlckl0ZW1zTW9kZWxQYXRoXG5cdCAqIEBwYXJhbSBvUGFyYW1ldGVyIEFjdGlvbiBQYXJhbWV0ZXJcblx0ICogQHJldHVybnMgUmV0dXJucyB0aGUgY29tcGxldGUgbW9kZWwgcGF0aCBmb3IgdGhlIGl0ZW1zIHByb3BlcnR5IG9mIE11bHRpVmFsdWVGaWVsZCBwYXJhbWV0ZXJzXG5cdCAqL1xuXHRnZXRBY3Rpb25QYXJhbWV0ZXJJdGVtc01vZGVsUGF0aDogZnVuY3Rpb24gKG9QYXJhbWV0ZXI6IGFueSkge1xuXHRcdHJldHVybiBvUGFyYW1ldGVyICYmIG9QYXJhbWV0ZXIuJE5hbWUgPyBge3BhdGg6ICdtdmZ2aWV3Pi8ke29QYXJhbWV0ZXIuJE5hbWV9J31gIDogdW5kZWZpbmVkO1xuXHR9LFxuXG5cdGZpbHRlck91dE5hdlByb3BCaW5kaW5nOiBmdW5jdGlvbiAoc1BhdGhQYXJ0OiBhbnkpIHtcblx0XHRyZXR1cm4gc1BhdGhQYXJ0ICE9PSBcIlwiICYmIHNQYXRoUGFydCAhPT0gXCIkTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ1wiO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBBZGRzIGEgc2V0UHJvcGVydHkgdG8gdGhlIGNyZWF0ZWQgYmluZGluZyBjb250ZXh0cyBvZiB0aGUgaW50ZXJuYWwgSlNPTiBtb2RlbC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGVuaGFuY2VJbnRlcm5hbEpTT05Nb2RlbFxuXHQgKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5qc29uLkpTT05Nb2RlbH0gSW50ZXJuYWwgSlNPTiBNb2RlbCB3aGljaCBpcyBlbmhhbmNlZFxuXHQgKi9cblxuXHRlbmhhbmNlSW50ZXJuYWxKU09OTW9kZWw6IGZ1bmN0aW9uIChvSW50ZXJuYWxNb2RlbDogYW55KSB7XG5cdFx0Y29uc3QgZm5CaW5kQ29udGV4dCA9IG9JbnRlcm5hbE1vZGVsLmJpbmRDb250ZXh0O1xuXHRcdG9JbnRlcm5hbE1vZGVsLmJpbmRDb250ZXh0ID0gZnVuY3Rpb24gKHNQYXRoOiBhbnksIG9Db250ZXh0OiBhbnksIG1QYXJhbWV0ZXJzOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG5cdFx0XHRvQ29udGV4dCA9IGZuQmluZENvbnRleHQuYXBwbHkodGhpcywgW3NQYXRoLCBvQ29udGV4dCwgbVBhcmFtZXRlcnMsIC4uLmFyZ3NdKTtcblx0XHRcdGNvbnN0IGZuR2V0Qm91bmRDb250ZXh0ID0gb0NvbnRleHQuZ2V0Qm91bmRDb250ZXh0O1xuXG5cdFx0XHRvQ29udGV4dC5nZXRCb3VuZENvbnRleHQgPSBmdW5jdGlvbiAoLi4uc3ViQXJnczogYW55W10pIHtcblx0XHRcdFx0Y29uc3Qgb0JvdW5kQ29udGV4dCA9IGZuR2V0Qm91bmRDb250ZXh0LmFwcGx5KHRoaXMsIC4uLnN1YkFyZ3MpO1xuXHRcdFx0XHRpZiAob0JvdW5kQ29udGV4dCAmJiAhb0JvdW5kQ29udGV4dC5zZXRQcm9wZXJ0eSkge1xuXHRcdFx0XHRcdG9Cb3VuZENvbnRleHQuc2V0UHJvcGVydHkgPSBmdW5jdGlvbiAoc1NldFByb3BQYXRoOiBhbnksIHZhbHVlOiBhbnkpIHtcblx0XHRcdFx0XHRcdGlmICh0aGlzLmdldE9iamVjdCgpID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdFx0Ly8gaW5pdGlhbGl6ZVxuXHRcdFx0XHRcdFx0XHR0aGlzLmdldE1vZGVsKCkuc2V0UHJvcGVydHkodGhpcy5nZXRQYXRoKCksIHt9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHRoaXMuZ2V0TW9kZWwoKS5zZXRQcm9wZXJ0eShzU2V0UHJvcFBhdGgsIHZhbHVlLCB0aGlzKTtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBvQm91bmRDb250ZXh0O1xuXHRcdFx0fTtcblx0XHRcdHJldHVybiBvQ29udGV4dDtcblx0XHR9O1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBBZGRzIGFuIGhhbmRsZXIgb24gcHJvcGVydHlDaGFuZ2UuXG5cdCAqIFRoZSBwcm9wZXJ0eSBcIi9lZGl0TW9kZVwiIGlzIGNoYW5nZWQgYWNjb3JkaW5nIHRvIHByb3BlcnR5ICcvaXNFZGl0YWJsZScgd2hlbiB0aGlzIGxhc3Qgb25lIGlzIHNldFxuXHQgKiBpbiBvcmRlciB0byBiZSBjb21wbGlhbnQgd2l0aCBmb3JtZXIgdmVyc2lvbnMgd2hlcmUgYnVpbGRpbmcgYmxvY2tzIHVzZSB0aGUgcHJvcGVydHkgXCIvZWRpdE1vZGVcIlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgZW5oYW5jZVVpSlNPTk1vZGVsXG5cdCAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLmpzb24uSlNPTk1vZGVsfSB1aU1vZGVsIEpTT04gTW9kZWwgd2hpY2ggaXMgZW5oYW5jZWRcblx0ICogQHBhcmFtIHtvYmplY3R9IGxpYnJhcnkgQ29yZSBsaWJyYXJ5IG9mIFNBUCBGaW9yaSBlbGVtZW50c1xuXHQgKi9cblxuXHRlbmhhbmNlVWlKU09OTW9kZWw6IGZ1bmN0aW9uICh1aU1vZGVsOiBKU09OTW9kZWwsIGxpYnJhcnk6IGFueSkge1xuXHRcdGNvbnN0IGZuU2V0UHJvcGVydHkgPSB1aU1vZGVsLnNldFByb3BlcnR5IGFzIGFueTtcblx0XHR1aU1vZGVsLnNldFByb3BlcnR5ID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IGFyZ3NbMV07XG5cdFx0XHRpZiAoYXJnc1swXSA9PT0gXCIvaXNFZGl0YWJsZVwiKSB7XG5cdFx0XHRcdHVpTW9kZWwuc2V0UHJvcGVydHkoXCIvZWRpdE1vZGVcIiwgdmFsdWUgPyBsaWJyYXJ5LkVkaXRNb2RlLkVkaXRhYmxlIDogbGlicmFyeS5FZGl0TW9kZS5EaXNwbGF5LCBhcmdzWzJdLCBhcmdzWzNdKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBmblNldFByb3BlcnR5LmFwcGx5KHRoaXMsIFsuLi5hcmdzXSk7XG5cdFx0fTtcblx0fSxcblx0LyoqXG5cdCAqIFJldHVybnMgd2hldGhlciBmaWx0ZXJpbmcgb24gdGhlIHRhYmxlIGlzIGNhc2Ugc2Vuc2l0aXZlLlxuXHQgKlxuXHQgKiBAcGFyYW0gb01ldGFNb2RlbCBUaGUgaW5zdGFuY2Ugb2YgdGhlIG1ldGEgbW9kZWxcblx0ICogQHJldHVybnMgUmV0dXJucyAnZmFsc2UnIGlmIEZpbHRlckZ1bmN0aW9ucyBhbm5vdGF0aW9uIHN1cHBvcnRzICd0b2xvd2VyJywgZWxzZSAndHJ1ZSdcblx0ICovXG5cdGlzRmlsdGVyaW5nQ2FzZVNlbnNpdGl2ZTogZnVuY3Rpb24gKG9NZXRhTW9kZWw6IGFueSkge1xuXHRcdGlmICghb01ldGFNb2RlbCkge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0Y29uc3QgYUZpbHRlckZ1bmN0aW9ucyA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFwiL0BPcmcuT0RhdGEuQ2FwYWJpbGl0aWVzLlYxLkZpbHRlckZ1bmN0aW9uc1wiKTtcblx0XHQvLyBHZXQgZmlsdGVyIGZ1bmN0aW9ucyBkZWZpbmVkIGF0IEVudGl0eUNvbnRhaW5lciBhbmQgY2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiAndG9sb3dlcidcblx0XHRyZXR1cm4gYUZpbHRlckZ1bmN0aW9ucyA/IGFGaWx0ZXJGdW5jdGlvbnMuaW5kZXhPZihcInRvbG93ZXJcIikgPT09IC0xIDogdHJ1ZTtcblx0fSxcblxuXHQvKipcblx0ICogR2V0IE1ldGFQYXRoIGZvciB0aGUgY29udGV4dC5cblx0ICpcblx0ICogQHBhcmFtIG9Db250ZXh0IENvbnRleHQgdG8gYmUgdXNlZFxuXHQgKiBAcmV0dXJucyBSZXR1cm5zIHRoZSBtZXRhcGF0aCBmb3IgdGhlIGNvbnRleHQuXG5cdCAqL1xuXHRnZXRNZXRhUGF0aEZvckNvbnRleHQ6IGZ1bmN0aW9uIChvQ29udGV4dDogYW55KSB7XG5cdFx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSxcblx0XHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRzUGF0aCA9IG9Db250ZXh0LmdldFBhdGgoKTtcblx0XHRyZXR1cm4gb01ldGFNb2RlbCAmJiBzUGF0aCAmJiBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKHNQYXRoKTtcblx0fSxcblxuXHQvKipcblx0ICogR2V0IE1ldGFQYXRoIGZvciB0aGUgY29udGV4dC5cblx0ICpcblx0ICogQHBhcmFtIGNvbnRleHRQYXRoIE1ldGFQYXRoIHRvIGJlIHVzZWRcblx0ICogQHJldHVybnMgUmV0dXJucyB0aGUgcm9vdCBlbnRpdHkgc2V0IHBhdGguXG5cdCAqL1xuXHRnZXRSb290RW50aXR5U2V0UGF0aDogZnVuY3Rpb24gKGNvbnRleHRQYXRoOiBzdHJpbmcpIHtcblx0XHRsZXQgcm9vdEVudGl0eVNldFBhdGggPSBcIlwiO1xuXHRcdGNvbnN0IGFQYXRocyA9IGNvbnRleHRQYXRoID8gY29udGV4dFBhdGguc3BsaXQoXCIvXCIpIDogW107XG5cdFx0aWYgKGFQYXRocy5sZW5ndGggPiAxKSB7XG5cdFx0XHRyb290RW50aXR5U2V0UGF0aCA9IGFQYXRoc1sxXTtcblx0XHR9XG5cdFx0cmV0dXJuIHJvb3RFbnRpdHlTZXRQYXRoO1xuXHR9LFxuXHQvKipcblx0ICogR2V0IE1ldGFQYXRoIGZvciB0aGUgbGlzdEJpbmRpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSBvVmlldyBWaWV3IG9mIHRoZSBjb250cm9sIHVzaW5nIGxpc3RCaW5kaW5nXG5cdCAqIEBwYXJhbSB2TGlzdEJpbmRpbmcgT0RhdGFMaXN0QmluZGluZyBvYmplY3Qgb3IgdGhlIGJpbmRpbmcgcGF0aCBmb3IgYSB0ZW1wb3JhcnkgbGlzdCBiaW5kaW5nXG5cdCAqIEByZXR1cm5zIFJldHVybnMgdGhlIG1ldGFwYXRoIGZvciB0aGUgbGlzdGJpbmRpbmcuXG5cdCAqL1xuXHRnZXRBYnNvbHV0ZU1ldGFQYXRoRm9yTGlzdEJpbmRpbmc6IGZ1bmN0aW9uIChvVmlldzogVmlldywgdkxpc3RCaW5kaW5nOiBPRGF0YUxpc3RCaW5kaW5nIHwgc3RyaW5nKSB7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IG9WaWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWw7XG5cdFx0bGV0IHNNZXRhUGF0aDtcblxuXHRcdGlmICh0eXBlb2Ygdkxpc3RCaW5kaW5nID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRpZiAodkxpc3RCaW5kaW5nLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRcdC8vIGFic29sdXRlIHBhdGhcblx0XHRcdFx0c01ldGFQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aCh2TGlzdEJpbmRpbmcpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Ly8gcmVsYXRpdmUgcGF0aFxuXHRcdFx0XHRjb25zdCBvQmluZGluZ0NvbnRleHQgPSBvVmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHRcdFx0XHRjb25zdCBzUm9vdENvbnRleHRQYXRoID0gb0JpbmRpbmdDb250ZXh0IS5nZXRQYXRoKCk7XG5cdFx0XHRcdHNNZXRhUGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgoYCR7c1Jvb3RDb250ZXh0UGF0aH0vJHt2TGlzdEJpbmRpbmd9YCk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIHdlIGFscmVhZHkgZ2V0IGEgbGlzdCBiaW5kaW5nIHVzZSB0aGlzIG9uZVxuXHRcdFx0Y29uc3Qgb0JpbmRpbmcgPSB2TGlzdEJpbmRpbmc7XG5cdFx0XHRjb25zdCBvUm9vdEJpbmRpbmcgPSBvQmluZGluZy5nZXRSb290QmluZGluZygpO1xuXHRcdFx0aWYgKG9CaW5kaW5nID09PSBvUm9vdEJpbmRpbmcpIHtcblx0XHRcdFx0Ly8gYWJzb2x1dGUgcGF0aFxuXHRcdFx0XHRzTWV0YVBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKG9CaW5kaW5nLmdldFBhdGgoKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyByZWxhdGl2ZSBwYXRoXG5cdFx0XHRcdGNvbnN0IHNSb290QmluZGluZ1BhdGggPSBvUm9vdEJpbmRpbmchLmdldFBhdGgoKTtcblx0XHRcdFx0Y29uc3Qgc1JlbGF0aXZlUGF0aCA9IG9CaW5kaW5nLmdldFBhdGgoKTtcblx0XHRcdFx0c01ldGFQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChgJHtzUm9vdEJpbmRpbmdQYXRofS8ke3NSZWxhdGl2ZVBhdGh9YCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzTWV0YVBhdGg7XG5cdH0sXG5cblx0LyoqXG5cdCAqIE1ldGhvZCB0byBkZXRlcm1pbmUgaWYgdGhlIGRyYWZ0IHJvb3QgaXMgc3VwcG9ydGVkIG9yIG5vdC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGlzU2luZ2xldG9uXG5cdCAqIEBwYXJhbSBlbnRpdHlTZXQgRW50aXR5U2V0IHwgU2luZ2xldG9uIHwgdW5kZWZpbmVkXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgZW50aXR5IHR5cGUgaXMgc2luZ2xldG9uXG5cdCAqL1xuXHRpc1NpbmdsZXRvbjogZnVuY3Rpb24gKGVudGl0eVNldDogRW50aXR5U2V0IHwgU2luZ2xldG9uIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG5cdFx0aWYgKGVudGl0eVNldD8uX3R5cGUgPT09IFR5cGVPZkVudGl0eS5UeXBlU2luZ2xldG9uKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9LFxuXHQvKipcblx0ICogTWV0aG9kIHRvIGRldGVybWluZSBpZiB0aGUgZHJhZnQgcm9vdCBpcyBzdXBwb3J0ZWQgb3Igbm90LlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgaXNEcmFmdFJvb3Rcblx0ICogQHBhcmFtIGVudGl0eVNldCBFbnRpdHlTZXQgfCBTaW5nbGV0b24gfCB1bmRlZmluZWRcblx0ICogQHJldHVybnMgVHJ1ZSBpZiBkcmFmdCByb290IGlzIHByZXNlbnRcblx0ICovXG5cdGlzRHJhZnRSb290OiBmdW5jdGlvbiAoZW50aXR5U2V0OiBFbnRpdHlTZXQgfCBTaW5nbGV0b24gfCB1bmRlZmluZWQpOiBib29sZWFuIHtcblx0XHRpZiAoTW9kZWxIZWxwZXIuaXNTaW5nbGV0b24oZW50aXR5U2V0KSkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRyZXR1cm4gZW50aXR5U2V0ICYmIChlbnRpdHlTZXQgYXMgRW50aXR5U2V0KS5hbm5vdGF0aW9ucy5Db21tb24/LkRyYWZ0Um9vdCA/IHRydWUgOiBmYWxzZTtcblx0fSxcblx0LyoqXG5cdCAqIE1ldGhvZCB0byBkZXRlcm1pbmUgaWYgdGhlIGRyYWZ0IHJvb3QgaXMgc3VwcG9ydGVkIG9yIG5vdC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGlzRHJhZnROb2RlXG5cdCAqIEBwYXJhbSBlbnRpdHlTZXQgRW50aXR5U2V0IHwgU2luZ2xldG9uIHwgdW5kZWZpbmVkXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgZHJhZnQgcm9vdCBpcyBwcmVzZW50XG5cdCAqL1xuXHRpc0RyYWZ0Tm9kZTogZnVuY3Rpb24gKGVudGl0eVNldDogRW50aXR5U2V0IHwgU2luZ2xldG9uIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG5cdFx0aWYgKE1vZGVsSGVscGVyLmlzU2luZ2xldG9uKGVudGl0eVNldCkpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIGVudGl0eVNldCAmJiAoZW50aXR5U2V0IGFzIEVudGl0eVNldCkuYW5ub3RhdGlvbnMuQ29tbW9uPy5EcmFmdE5vZGUgPyB0cnVlIDogZmFsc2U7XG5cdH0sXG5cdC8qKlxuXHQgKiBNZXRob2QgdG8gZGV0ZXJtaW5lIGlmIHRoZSBkcmFmdCByb290IGlzIHN1cHBvcnRlZCBvciBub3QuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBpc1N0aWNreVxuXHQgKiBAcGFyYW0gZW50aXR5U2V0IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IHVuZGVmaW5lZFxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHN0aWNreSBpcyBzdXBwb3J0ZWQgZWxzZSBmYWxzZVxuXHQgKi9cblx0aXNTdGlja3k6IGZ1bmN0aW9uIChlbnRpdHlTZXQ6IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuXHRcdGlmIChNb2RlbEhlbHBlci5pc1NpbmdsZXRvbihlbnRpdHlTZXQpKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiBlbnRpdHlTZXQgJiYgKGVudGl0eVNldCBhcyBFbnRpdHlTZXQpLmFubm90YXRpb25zLlNlc3Npb24/LlN0aWNreVNlc3Npb25TdXBwb3J0ZWQgPyB0cnVlIDogZmFsc2U7XG5cdH0sXG5cdC8qKlxuXHQgKiBNZXRob2QgdG8gZGV0ZXJtaW5lIGlmIGVudGl0eSBpcyB1cGRhdGFibGUgb3Igbm90LlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgaXNVcGRhdGVIaWRkZW5cblx0ICogQHBhcmFtIGVudGl0eVNldCBFbnRpdHlTZXQgfCBTaW5nbGV0b24gfCB1bmRlZmluZWRcblx0ICogQHBhcmFtIGVudGl0eVR5cGUgRW50aXR5VHlwZVxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHVwZGF0YWJsZSBlbHNlIGZhbHNlXG5cdCAqL1xuXHRpc1VwZGF0ZUhpZGRlbjogZnVuY3Rpb24gKGVudGl0eVNldDogRW50aXR5U2V0IHwgU2luZ2xldG9uIHwgdW5kZWZpbmVkLCBlbnRpdHlUeXBlOiBFbnRpdHlUeXBlKTogUHJvcGVydHlBbm5vdGF0aW9uVmFsdWU8Ym9vbGVhbj4ge1xuXHRcdGlmIChNb2RlbEhlbHBlci5pc1NpbmdsZXRvbihlbnRpdHlTZXQpKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiAoXG5cdFx0XHQoZW50aXR5U2V0IGFzIEVudGl0eVNldCk/LmFubm90YXRpb25zLlVJPy5VcGRhdGVIaWRkZW4/LnZhbHVlT2YoKSAhPT0gdW5kZWZpbmVkXG5cdFx0XHRcdD8gKGVudGl0eVNldCBhcyBFbnRpdHlTZXQpPy5hbm5vdGF0aW9ucy5VST8uVXBkYXRlSGlkZGVuXG5cdFx0XHRcdDogZW50aXR5VHlwZT8uYW5ub3RhdGlvbnMuVUk/LlVwZGF0ZUhpZGRlblxuXHRcdCkgYXMgUHJvcGVydHlBbm5vdGF0aW9uVmFsdWU8Ym9vbGVhbj47XG5cdH0sXG5cdC8qKlxuXHQgKiBNZXRob2QgdG8gZ2V0IGRyYWZ0IHJvb3QuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBnZXREcmFmdFJvb3Rcblx0ICogQHBhcmFtIGVudGl0eVNldCBFbnRpdHlTZXQgfCBTaW5nbGV0b24gfCB1bmRlZmluZWRcblx0ICogQHJldHVybnMgRHJhZnRSb290XG5cdCAqL1xuXHRnZXREcmFmdFJvb3Q6IGZ1bmN0aW9uIChlbnRpdHlTZXQ6IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IHVuZGVmaW5lZCk6IERyYWZ0Um9vdCB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKE1vZGVsSGVscGVyLmlzU2luZ2xldG9uKGVudGl0eVNldCkpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXHRcdHJldHVybiBlbnRpdHlTZXQgJiYgKGVudGl0eVNldCBhcyBFbnRpdHlTZXQpLmFubm90YXRpb25zLkNvbW1vbj8uRHJhZnRSb290O1xuXHR9LFxuXHQvKipcblx0ICogTWV0aG9kIHRvIGdldCBkcmFmdCByb290LlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgZ2V0RHJhZnROb2RlXG5cdCAqIEBwYXJhbSBlbnRpdHlTZXQgRW50aXR5U2V0IHwgU2luZ2xldG9uIHwgdW5kZWZpbmVkXG5cdCAqIEByZXR1cm5zIERyYWZ0Um9vdFxuXHQgKi9cblx0Z2V0RHJhZnROb2RlOiBmdW5jdGlvbiAoZW50aXR5U2V0OiBFbnRpdHlTZXQgfCBTaW5nbGV0b24gfCB1bmRlZmluZWQpOiBEcmFmdE5vZGUgfCB1bmRlZmluZWQge1xuXHRcdGlmIChNb2RlbEhlbHBlci5pc1NpbmdsZXRvbihlbnRpdHlTZXQpKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRyZXR1cm4gZW50aXR5U2V0ICYmIChlbnRpdHlTZXQgYXMgRW50aXR5U2V0KS5hbm5vdGF0aW9ucy5Db21tb24/LkRyYWZ0Tm9kZTtcblx0fSxcblx0LyoqXG5cdCAqIEhlbHBlciBtZXRob2QgdG8gZ2V0IHN0aWNreSBzZXNzaW9uLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgZ2V0U3RpY2t5U2Vzc2lvblxuXHQgKiBAcGFyYW0gZW50aXR5U2V0IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IHVuZGVmaW5lZFxuXHQgKiBAcmV0dXJucyBTZXNzaW9uIFN0aWNreVNlc3Npb25TdXBwb3J0ZWRcblx0ICovXG5cdGdldFN0aWNreVNlc3Npb246IGZ1bmN0aW9uIChlbnRpdHlTZXQ6IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IHVuZGVmaW5lZCk6IFN0aWNreVNlc3Npb25TdXBwb3J0ZWQgfCB1bmRlZmluZWQge1xuXHRcdGlmIChNb2RlbEhlbHBlci5pc1NpbmdsZXRvbihlbnRpdHlTZXQpKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRyZXR1cm4gZW50aXR5U2V0ICYmIChlbnRpdHlTZXQgYXMgRW50aXR5U2V0KS5hbm5vdGF0aW9ucz8uU2Vzc2lvbj8uU3RpY2t5U2Vzc2lvblN1cHBvcnRlZDtcblx0fSxcblx0LyoqXG5cdCAqIE1ldGhvZCB0byBnZXQgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgZGVsZXRlIGJ1dHRvbi5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIGdldERlbGV0ZUhpZGRlblxuXHQgKiBAcGFyYW0gZW50aXR5U2V0IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IHVuZGVmaW5lZFxuXHQgKiBAcGFyYW0gZW50aXR5VHlwZSBFbnRpdHlUeXBlXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgZGVsZXRlIGJ1dHRvbiBpcyBoaWRkZW5cblx0ICovXG5cdGdldERlbGV0ZUhpZGRlbjogZnVuY3Rpb24gKGVudGl0eVNldDogRW50aXR5U2V0IHwgU2luZ2xldG9uIHwgdW5kZWZpbmVkLCBlbnRpdHlUeXBlOiBFbnRpdHlUeXBlKTogRGVsZXRlSGlkZGVuIHwgQm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKE1vZGVsSGVscGVyLmlzU2luZ2xldG9uKGVudGl0eVNldCkpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIChlbnRpdHlTZXQgYXMgRW50aXR5U2V0KT8uYW5ub3RhdGlvbnMuVUk/LkRlbGV0ZUhpZGRlbj8udmFsdWVPZigpICE9PSB1bmRlZmluZWRcblx0XHRcdD8gKGVudGl0eVNldCBhcyBFbnRpdHlTZXQpPy5hbm5vdGF0aW9ucy5VST8uRGVsZXRlSGlkZGVuXG5cdFx0XHQ6IGVudGl0eVR5cGU/LmFubm90YXRpb25zLlVJPy5EZWxldGVIaWRkZW47XG5cdH1cbn07XG5cbmV4cG9ydCB0eXBlIEludGVybmFsTW9kZWxDb250ZXh0ID0geyBnZXRNb2RlbCgpOiBKU09OTW9kZWwgfSAmIEJhc2VDb250ZXh0ICYge1xuXHRcdHNldFByb3BlcnR5KHNQYXRoOiBzdHJpbmcsIHZWYWx1ZTogYW55KTogdm9pZDtcblx0fTtcblxuZXhwb3J0IGRlZmF1bHQgTW9kZWxIZWxwZXI7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7O01BZWtCQSxZQUFZO0VBQUEsV0FBWkEsWUFBWTtJQUFaQSxZQUFZO0lBQVpBLFlBQVk7RUFBQSxHQUFaQSxZQUFZLEtBQVpBLFlBQVk7RUFBQTtFQUk5QixJQUFNQyxXQUFXLEdBQUc7SUFDbkI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDQyx3QkFBd0IsRUFBRSxVQUFVQyxVQUEwQixFQUFFO01BQy9ELElBQU1DLGdCQUFnQixHQUFHRCxVQUFVLENBQUNFLFNBQVMsQ0FBQyxHQUFHLENBQUM7TUFDbEQsS0FBSyxJQUFNQyxVQUFVLElBQUlGLGdCQUFnQixFQUFFO1FBQzFDLElBQ0NBLGdCQUFnQixDQUFDRSxVQUFVLENBQUMsQ0FBQ0MsS0FBSyxLQUFLLFdBQVcsSUFDbERKLFVBQVUsQ0FBQ0UsU0FBUyxZQUFLQyxVQUFVLDZEQUEwRCxFQUM1RjtVQUNELE9BQU8sSUFBSTtRQUNaO01BQ0Q7TUFDQSxPQUFPLEtBQUs7SUFDYixDQUFDO0lB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
5
+ sap.ui.define(["sap/fe/core/converters/MetaModelConverter"],function(t){"use strict";var n={};var e=t.getInvolvedDataModelObjects;let o;(function(t){t["TypeSingleton"]="Singleton";t["TypeEntity"]="EntitySet"})(o||(o={}));n.TypeOfEntity=o;const i={isStickySessionSupported:function(t){const n=t.getObject("/");for(const e in n){if(n[e].$kind==="EntitySet"&&t.getObject(`/${e}@com.sap.vocabularies.Session.v1.StickySessionSupported`)){return true}}return false},isDraftSupported:function(t,n){const o=t.getMetaContext(n);const i=e(o);return this.isObjectPathDraftSupported(i)},isObjectPathDraftSupported:function(t){var n,e,o,r,a,d,l;const s=t.targetEntitySet;const u=i.isDraftRoot(s);const c=i.isDraftNode(s);const f=(n=t.targetObject)!==null&&n!==void 0&&n.containsTarget&&((e=t.startingEntitySet)!==null&&e!==void 0&&(o=e.annotations)!==null&&o!==void 0&&(r=o.Common)!==null&&r!==void 0&&r.DraftRoot||(a=t.startingEntitySet)!==null&&a!==void 0&&(d=a.annotations)!==null&&d!==void 0&&(l=d.Common)!==null&&l!==void 0&&l.DraftNode)?true:false;return u||c||!s&&f},isCollaborationDraftSupported:function(t,n){var e;const o=(n===null||n===void 0?void 0:(e=n.context)===null||e===void 0?void 0:e.getModel())||t;const i=o.getObject("/");for(const t in i){if(i[t].$kind==="EntitySet"&&o.getObject(`/${t}@com.sap.vocabularies.Common.v1.DraftRoot/ShareAction`)){return true}}return false},getDraftRootPath:function(n){const e=n.getModel().getMetaModel();const o=function(n,i){var r;let a=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;const d=a?n:(r=new RegExp(/.*(?=\/)/).exec(n))===null||r===void 0?void 0:r[0];if(d&&d!=="/"){var l,s;const n=e.getMetaPath(d);const r=t.getInvolvedDataModelObjects(e.getContext(n));if((l=r.targetEntitySet)!==null&&l!==void 0&&(s=l.annotations.Common)!==null&&s!==void 0&&s.DraftRoot){return d}return o(d,i,false)}return undefined};return o(n.getPath(),n.getModel())},getStickyRootPath:function(n){const e=n.getModel().getMetaModel();const o=function(n,i){var r;let a=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;const d=a?n:(r=new RegExp(/.*(?=\/)/).exec(n))===null||r===void 0?void 0:r[0];if(d&&d!=="/"){var l,s,u;const n=e.getMetaPath(d);const r=t.getInvolvedDataModelObjects(e.getContext(n));if((l=r.targetEntitySet)!==null&&l!==void 0&&(s=l.annotations)!==null&&s!==void 0&&(u=s.Session)!==null&&u!==void 0&&u.StickySessionSupported){return d}return o(d,i,false)}return undefined};return o(n.getPath(),n.getModel())},getTargetEntitySet:function(t){const n=t.getPath();if(t.getObject("$kind")==="EntitySet"||t.getObject("$kind")==="Action"||t.getObject("0/$kind")==="Action"){return n}const e=i.getEntitySetPath(n);return`/${t.getObject(e)}`},getEntitySetPath:function(t,n){let e="";if(!n){e=`/${t.split("/").filter(i.filterOutNavPropBinding).join("/$NavigationPropertyBinding/")}`}else{const o=t.split("/").filter(i.filterOutNavPropBinding);if(o.length>1){const t={growingPath:"/",pendingNavPropBinding:""};const i=o.reduce((t,e,o)=>{const i=!!o&&"/$NavigationPropertyBinding/"||"";let{growingPath:r,pendingNavPropBinding:a}=t;const d=r+i;const l=n.getObject(d);const s=a?`${a}/${e}`:e;if(l&&Object.keys(l).length>0&&l.hasOwnProperty(s)){r=d+s.replace("/","%2F");a=""}else{a+=a?`/${e}`:e}return{growingPath:r,pendingNavPropBinding:a}},t);e=i.growingPath}else{e=`/${o[0]}`}}return e},getActionParameterItemsModelPath:function(t){return t&&t.$Name?`{path: 'mvfview>/${t.$Name}'}`:undefined},filterOutNavPropBinding:function(t){return t!==""&&t!=="$NavigationPropertyBinding"},enhanceInternalJSONModel:function(t){const n=t.bindContext;t.bindContext=function(t,e,o){for(var i=arguments.length,r=new Array(i>3?i-3:0),a=3;a<i;a++){r[a-3]=arguments[a]}e=n.apply(this,[t,e,o,...r]);const d=e.getBoundContext;e.getBoundContext=function(){for(var t=arguments.length,n=new Array(t),e=0;e<t;e++){n[e]=arguments[e]}const o=d.apply(this,...n);if(o&&!o.setProperty){o.setProperty=function(t,n){if(this.getObject()===undefined){this.getModel().setProperty(this.getPath(),{})}this.getModel().setProperty(t,n,this)}}return o};return e}},enhanceUiJSONModel:function(t,n){const e=t.setProperty;t.setProperty=function(){for(var o=arguments.length,i=new Array(o),r=0;r<o;r++){i[r]=arguments[r]}const a=i[1];if(i[0]==="/isEditable"){t.setProperty("/editMode",a?n.EditMode.Editable:n.EditMode.Display,i[2],i[3])}return e.apply(this,[...i])}},isFilteringCaseSensitive:function(t){if(!t){return undefined}const n=t.getObject("/@Org.OData.Capabilities.V1.FilterFunctions");return n?n.indexOf("tolower")===-1:true},getMetaPathForContext:function(t){const n=t.getModel(),e=n.getMetaModel(),o=t.getPath();return e&&o&&e.getMetaPath(o)},getRootEntitySetPath:function(t){let n="";const e=t?t.split("/"):[];if(e.length>1){n=e[1]}return n},getAbsoluteMetaPathForListBinding:function(t,n){const e=t.getModel().getMetaModel();let o;if(typeof n==="string"){if(n.startsWith("/")){o=e.getMetaPath(n)}else{const i=t.getBindingContext();const r=i.getPath();o=e.getMetaPath(`${r}/${n}`)}}else{const t=n;const i=t.getRootBinding();if(t===i){o=e.getMetaPath(t.getPath())}else{const n=i.getPath();const r=t.getPath();o=e.getMetaPath(`${n}/${r}`)}}return o},isSingleton:function(t){if((t===null||t===void 0?void 0:t._type)===o.TypeSingleton){return true}return false},isDraftRoot:function(t){var n;if(i.isSingleton(t)){return false}return t&&(n=t.annotations.Common)!==null&&n!==void 0&&n.DraftRoot?true:false},isDraftNode:function(t){var n;if(i.isSingleton(t)){return false}return t&&(n=t.annotations.Common)!==null&&n!==void 0&&n.DraftNode?true:false},isSticky:function(t){var n;if(i.isSingleton(t)){return false}return t&&(n=t.annotations.Session)!==null&&n!==void 0&&n.StickySessionSupported?true:false},isUpdateHidden:function(t,n){var e,o,r,a;if(i.isSingleton(t)){return false}return(t===null||t===void 0?void 0:(e=t.annotations.UI)===null||e===void 0?void 0:(o=e.UpdateHidden)===null||o===void 0?void 0:o.valueOf())!==undefined?t===null||t===void 0?void 0:(r=t.annotations.UI)===null||r===void 0?void 0:r.UpdateHidden:n===null||n===void 0?void 0:(a=n.annotations.UI)===null||a===void 0?void 0:a.UpdateHidden},getDraftRoot:function(t){var n;if(i.isSingleton(t)){return undefined}return t&&((n=t.annotations.Common)===null||n===void 0?void 0:n.DraftRoot)},getDraftNode:function(t){var n;if(i.isSingleton(t)){return undefined}return t&&((n=t.annotations.Common)===null||n===void 0?void 0:n.DraftNode)},getStickySession:function(t){var n,e;if(i.isSingleton(t)){return undefined}return t&&((n=t.annotations)===null||n===void 0?void 0:(e=n.Session)===null||e===void 0?void 0:e.StickySessionSupported)},getDeleteHidden:function(t,n){var e,o,r,a;if(i.isSingleton(t)){return false}return(t===null||t===void 0?void 0:(e=t.annotations.UI)===null||e===void 0?void 0:(o=e.DeleteHidden)===null||o===void 0?void 0:o.valueOf())!==undefined?t===null||t===void 0?void 0:(r=t.annotations.UI)===null||r===void 0?void 0:r.DeleteHidden:n===null||n===void 0?void 0:(a=n.annotations.UI)===null||a===void 0?void 0:a.DeleteHidden}};return i},false);
6
+ //# sourceMappingURL=ModelHelper.js.map