@sapui5/sap.fe.core 1.103.0 → 1.106.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 (303) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +121 -0
  4. package/src/sap/fe/core/ActionRuntime.ts +122 -0
  5. package/src/sap/fe/core/AppComponent.js +24 -11
  6. package/src/sap/fe/core/AppComponent.ts +17 -5
  7. package/src/sap/fe/core/AppStateHandler.js +74 -62
  8. package/src/sap/fe/core/AppStateHandler.ts +24 -29
  9. package/src/sap/fe/core/BaseController.js +2 -2
  10. package/src/sap/fe/core/CommonUtils.js +147 -180
  11. package/src/sap/fe/core/CommonUtils.ts +166 -193
  12. package/src/sap/fe/core/ExtensionAPI.js +2 -2
  13. package/src/sap/fe/core/PageController.js +2 -2
  14. package/src/sap/fe/core/TemplateComponent.js +21 -10
  15. package/src/sap/fe/core/TemplateComponent.ts +3 -0
  16. package/src/sap/fe/core/TemplateModel.js +2 -2
  17. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +11 -3
  18. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +7 -1
  19. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +194 -43
  20. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +162 -24
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +14 -0
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.ts +5 -0
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +609 -227
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +268 -119
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +111 -76
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +96 -76
  27. package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
  28. package/src/sap/fe/core/controllerextensions/EditFlow.js +723 -637
  29. package/src/sap/fe/core/controllerextensions/EditFlow.ts +361 -398
  30. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +2 -2
  31. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +83 -55
  32. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +42 -44
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +29 -27
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +35 -30
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +171 -74
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +167 -76
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +5 -21
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -17
  39. package/src/sap/fe/core/controllerextensions/MassEdit.js +3 -3
  40. package/src/sap/fe/core/controllerextensions/MassEdit.ts +1 -1
  41. package/src/sap/fe/core/controllerextensions/MessageHandler.js +2 -2
  42. package/src/sap/fe/core/controllerextensions/PageReady.js +3 -3
  43. package/src/sap/fe/core/controllerextensions/PageReady.ts +5 -1
  44. package/src/sap/fe/core/controllerextensions/Paginator.js +13 -13
  45. package/src/sap/fe/core/controllerextensions/Paginator.ts +11 -11
  46. package/src/sap/fe/core/controllerextensions/Placeholder.js +2 -2
  47. package/src/sap/fe/core/controllerextensions/Routing.js +2 -2
  48. package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
  49. package/src/sap/fe/core/controllerextensions/Share.js +154 -123
  50. package/src/sap/fe/core/controllerextensions/Share.ts +93 -95
  51. package/src/sap/fe/core/controllerextensions/SideEffects.js +157 -97
  52. package/src/sap/fe/core/controllerextensions/SideEffects.ts +151 -95
  53. package/src/sap/fe/core/controllerextensions/ViewState.js +151 -80
  54. package/src/sap/fe/core/controllerextensions/ViewState.ts +95 -93
  55. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
  56. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +9 -9
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +6 -7
  58. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +26 -11
  59. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +30 -11
  60. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +57 -40
  61. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +55 -47
  62. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +31 -32
  63. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1376 -914
  64. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +654 -714
  65. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +372 -326
  66. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +210 -276
  67. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +309 -0
  68. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +320 -0
  69. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +670 -521
  70. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +537 -535
  71. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +85 -65
  72. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +16 -21
  73. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +25 -13
  74. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +53 -43
  75. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +18 -27
  76. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +9 -15
  77. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +19 -3
  78. package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +35 -0
  79. package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +26 -16
  80. package/src/sap/fe/core/controls/Any.js +1 -1
  81. package/src/sap/fe/core/controls/CommandExecution.js +2 -2
  82. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  83. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +5 -5
  84. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -3
  85. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  86. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
  87. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  88. package/src/sap/fe/core/controls/FileWrapper.js +8 -3
  89. package/src/sap/fe/core/controls/FileWrapper.ts +5 -1
  90. package/src/sap/fe/core/controls/FilterBar.js +2 -2
  91. package/src/sap/fe/core/controls/FormElementWrapper.js +2 -2
  92. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  93. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
  94. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +48 -17
  95. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -2
  96. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +2 -2
  97. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +2 -2
  98. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -3
  99. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +2 -2
  100. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
  101. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +2 -2
  102. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +1 -1
  103. package/src/sap/fe/core/converters/ConverterContext.js +23 -2
  104. package/src/sap/fe/core/converters/ConverterContext.ts +34 -9
  105. package/src/sap/fe/core/converters/ManifestSettings.js +19 -18
  106. package/src/sap/fe/core/converters/ManifestSettings.ts +53 -47
  107. package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  108. package/src/sap/fe/core/converters/MetaModelConverter.js +32 -10
  109. package/src/sap/fe/core/converters/MetaModelConverter.ts +42 -19
  110. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  111. package/src/sap/fe/core/converters/annotations/DataField.js +5 -2
  112. package/src/sap/fe/core/converters/annotations/DataField.ts +5 -1
  113. package/src/sap/fe/core/converters/common/AnnotationConverter.js +69 -23
  114. package/src/sap/fe/core/converters/controls/Common/Action.js +98 -51
  115. package/src/sap/fe/core/converters/controls/Common/Action.ts +121 -44
  116. package/src/sap/fe/core/converters/controls/Common/Chart.js +31 -34
  117. package/src/sap/fe/core/converters/controls/Common/Chart.ts +26 -34
  118. package/src/sap/fe/core/converters/controls/Common/Criticality.js +1 -1
  119. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +43 -7
  120. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +60 -33
  121. package/src/sap/fe/core/converters/controls/Common/Form.js +8 -6
  122. package/src/sap/fe/core/converters/controls/Common/Form.ts +11 -14
  123. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  124. package/src/sap/fe/core/converters/controls/Common/KPI.ts +16 -15
  125. package/src/sap/fe/core/converters/controls/Common/Table.js +188 -157
  126. package/src/sap/fe/core/converters/controls/Common/Table.ts +279 -230
  127. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  128. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +4 -4
  129. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +57 -21
  130. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +71 -18
  131. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +30 -8
  132. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +24 -7
  133. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +1 -1
  134. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +43 -34
  135. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +37 -25
  136. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +85 -49
  137. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +74 -50
  138. package/src/sap/fe/core/converters/helpers/Aggregation.js +54 -4
  139. package/src/sap/fe/core/converters/helpers/Aggregation.ts +56 -8
  140. package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
  141. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +6 -4
  142. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +10 -2
  143. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +182 -0
  144. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +167 -0
  145. package/src/sap/fe/core/converters/helpers/ID.js +3 -1
  146. package/src/sap/fe/core/converters/helpers/ID.ts +1 -0
  147. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  148. package/src/sap/fe/core/converters/helpers/Key.js +1 -1
  149. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  150. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +2 -3
  151. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  152. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +8 -14
  153. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +6 -9
  154. package/src/sap/fe/core/converters/templates/ListReportConverter.js +31 -31
  155. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +54 -47
  156. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +44 -15
  157. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +64 -30
  158. package/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  159. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  160. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  161. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  162. package/src/sap/fe/core/formatters/StandardFormatter.js +13 -6
  163. package/src/sap/fe/core/formatters/StandardFormatter.ts +20 -14
  164. package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  165. package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -1
  166. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  167. package/src/sap/fe/core/fpm/Component.js +33 -7
  168. package/src/sap/fe/core/fpm/Component.ts +14 -0
  169. package/src/sap/fe/core/helpers/AnnotationEnum.js +1 -1
  170. package/src/sap/fe/core/helpers/AppStartupHelper.js +5 -4
  171. package/src/sap/fe/core/helpers/AppStartupHelper.ts +4 -3
  172. package/src/sap/fe/core/helpers/BindingToolkit.js +56 -24
  173. package/src/sap/fe/core/helpers/BindingToolkit.ts +67 -21
  174. package/src/sap/fe/core/helpers/ClassSupport.js +31 -3
  175. package/src/sap/fe/core/helpers/ClassSupport.ts +24 -1
  176. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +1 -1
  177. package/src/sap/fe/core/helpers/EditState.js +1 -1
  178. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +1 -1
  179. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  180. package/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
  181. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
  182. package/src/sap/fe/core/helpers/LoaderUtils.js +39 -0
  183. package/src/sap/fe/core/helpers/LoaderUtils.ts +14 -0
  184. package/src/sap/fe/core/helpers/MassEditHelper.js +475 -99
  185. package/src/sap/fe/core/helpers/MassEditHelper.ts +468 -155
  186. package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
  187. package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
  188. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  189. package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
  190. package/src/sap/fe/core/helpers/SemanticDateOperators.js +82 -36
  191. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +52 -36
  192. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  193. package/src/sap/fe/core/helpers/SideEffectsHelper.js +146 -0
  194. package/src/sap/fe/core/helpers/SideEffectsHelper.ts +128 -0
  195. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  196. package/src/sap/fe/core/helpers/Synchronization.js +1 -1
  197. package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
  198. package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
  199. package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
  200. package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
  201. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +109 -0
  202. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +47 -0
  203. package/src/sap/fe/core/jsx-runtime/jsx-control.js +119 -0
  204. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +98 -0
  205. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
  206. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
  207. package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
  208. package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
  209. package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
  210. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +179 -0
  211. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +150 -0
  212. package/src/sap/fe/core/library.js +2 -2
  213. package/src/sap/fe/core/library.support.js +1 -1
  214. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  215. package/src/sap/fe/core/messagebundle.properties +4 -41
  216. package/src/sap/fe/core/messagebundle_ar.properties +22 -45
  217. package/src/sap/fe/core/messagebundle_bg.properties +22 -45
  218. package/src/sap/fe/core/messagebundle_ca.properties +22 -45
  219. package/src/sap/fe/core/messagebundle_cs.properties +22 -45
  220. package/src/sap/fe/core/messagebundle_cy.properties +21 -44
  221. package/src/sap/fe/core/messagebundle_da.properties +22 -45
  222. package/src/sap/fe/core/messagebundle_de.properties +22 -45
  223. package/src/sap/fe/core/messagebundle_el.properties +22 -45
  224. package/src/sap/fe/core/messagebundle_en.properties +21 -44
  225. package/src/sap/fe/core/messagebundle_en_GB.properties +21 -44
  226. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +21 -42
  227. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -40
  228. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -42
  229. package/src/sap/fe/core/messagebundle_es.properties +22 -45
  230. package/src/sap/fe/core/messagebundle_es_MX.properties +22 -45
  231. package/src/sap/fe/core/messagebundle_et.properties +22 -45
  232. package/src/sap/fe/core/messagebundle_fi.properties +22 -45
  233. package/src/sap/fe/core/messagebundle_fr.properties +21 -44
  234. package/src/sap/fe/core/messagebundle_fr_CA.properties +20 -43
  235. package/src/sap/fe/core/messagebundle_hi.properties +22 -45
  236. package/src/sap/fe/core/messagebundle_hr.properties +22 -45
  237. package/src/sap/fe/core/messagebundle_hu.properties +22 -45
  238. package/src/sap/fe/core/messagebundle_id.properties +22 -45
  239. package/src/sap/fe/core/messagebundle_it.properties +22 -45
  240. package/src/sap/fe/core/messagebundle_iw.properties +22 -45
  241. package/src/sap/fe/core/messagebundle_ja.properties +22 -45
  242. package/src/sap/fe/core/messagebundle_kk.properties +22 -45
  243. package/src/sap/fe/core/messagebundle_ko.properties +27 -50
  244. package/src/sap/fe/core/messagebundle_lt.properties +22 -45
  245. package/src/sap/fe/core/messagebundle_lv.properties +22 -45
  246. package/src/sap/fe/core/messagebundle_ms.properties +22 -45
  247. package/src/sap/fe/core/messagebundle_nl.properties +24 -47
  248. package/src/sap/fe/core/messagebundle_no.properties +22 -45
  249. package/src/sap/fe/core/messagebundle_pl.properties +23 -46
  250. package/src/sap/fe/core/messagebundle_pt.properties +23 -46
  251. package/src/sap/fe/core/messagebundle_pt_PT.properties +22 -45
  252. package/src/sap/fe/core/messagebundle_ro.properties +22 -45
  253. package/src/sap/fe/core/messagebundle_ru.properties +22 -45
  254. package/src/sap/fe/core/messagebundle_sh.properties +22 -45
  255. package/src/sap/fe/core/messagebundle_sk.properties +22 -45
  256. package/src/sap/fe/core/messagebundle_sl.properties +22 -45
  257. package/src/sap/fe/core/messagebundle_sv.properties +22 -45
  258. package/src/sap/fe/core/messagebundle_th.properties +20 -43
  259. package/src/sap/fe/core/messagebundle_tr.properties +22 -45
  260. package/src/sap/fe/core/messagebundle_uk.properties +22 -45
  261. package/src/sap/fe/core/messagebundle_vi.properties +22 -45
  262. package/src/sap/fe/core/messagebundle_zh_CN.properties +22 -45
  263. package/src/sap/fe/core/messagebundle_zh_TW.properties +22 -45
  264. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  265. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +102 -74
  266. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +62 -63
  267. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +2 -2
  268. package/src/sap/fe/core/services/NavigationServiceFactory.js +11 -8
  269. package/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -7
  270. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  271. package/src/sap/fe/core/services/RoutingServiceFactory.js +2 -2
  272. package/src/sap/fe/core/services/ShellServicesFactory.js +22 -2
  273. package/src/sap/fe/core/services/ShellServicesFactory.ts +19 -0
  274. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
  275. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +2 -2
  276. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +251 -200
  277. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +160 -144
  278. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
  279. package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
  280. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
  281. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
  282. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  283. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  284. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
  285. package/src/sap/fe/core/templating/CommonFormatters.js +4 -3
  286. package/src/sap/fe/core/templating/CommonFormatters.ts +5 -1
  287. package/src/sap/fe/core/templating/CriticalityFormatters.js +1 -1
  288. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  289. package/src/sap/fe/core/templating/DataModelPathHelper.js +8 -1
  290. package/src/sap/fe/core/templating/DataModelPathHelper.ts +5 -2
  291. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  292. package/src/sap/fe/core/templating/EntitySetHelper.js +4 -5
  293. package/src/sap/fe/core/templating/EntitySetHelper.ts +4 -3
  294. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  295. package/src/sap/fe/core/templating/FilterHelper.js +34 -15
  296. package/src/sap/fe/core/templating/FilterHelper.ts +28 -12
  297. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  298. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
  299. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  300. package/src/sap/fe/core/templating/UIFormatters.js +5 -3
  301. package/src/sap/fe/core/templating/UIFormatters.ts +7 -5
  302. package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
  303. package/src/sap/fe/core/type/Email.js +2 -2
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define([], function () {
5
+ sap.ui.define(["sap/base/Log"], function (Log) {
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
@@ -36,8 +36,10 @@ sap.ui.define([], function () {
36
36
  var anchorItem = positioningItems[anchor];
37
37
 
38
38
  if (anchorItem === undefined) {
39
- //return sorted.length;
40
- throw new Error("position anchor not found: ".concat(anchor));
39
+ var anchorText = anchor.split("::"),
40
+ manifestItem = Object.keys(visited)[0];
41
+ Log.warning("Position anchor '".concat(anchorText[anchorText.length - 1], "' not found for item '").concat(manifestItem, "'. Please check manifest settings."));
42
+ return sorted.length; // throw new Error(`position anchor not found: ${anchor}`);
41
43
  }
42
44
 
43
45
  visited[anchor] = anchorItem;
@@ -225,4 +227,4 @@ sap.ui.define([], function () {
225
227
  _exports.insertCustomElements = insertCustomElements;
226
228
  return _exports;
227
229
  }, false);
228
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbmZpZ3VyYWJsZU9iamVjdC50cyJdLCJuYW1lcyI6WyJQbGFjZW1lbnQiLCJvcmRlclBvc2l0aW9uaW5nSXRlbVJlY3Vyc2l2ZWx5IiwicG9zaXRpb25pbmdJdGVtcyIsImFuY2hvciIsInNvcnRlZCIsInZpc2l0ZWQiLCJpbnNlcnRJbmRleCIsImluZGV4T2YiLCJhbmNob3JJdGVtIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJwbGFjZW1lbnQiLCJCZWZvcmUiLCJsZW5ndGgiLCJzcGxpY2UiLCJpc0FycmF5Q29uZmlnIiwiY29uZmlnIiwiYXBwbHlPdmVycmlkZSIsIm92ZXJ3cml0YWJsZUtleXMiLCJzb3VyY2VJdGVtIiwiY3VzdG9tRWxlbWVudCIsIm91dEl0ZW0iLCJvdmVyd3JpdGFibGVLZXkiLCJPYmplY3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJvdmVycmlkZUNvbmZpZyIsInN1Ykl0ZW0iLCJzdWJDb25maWciLCJBcnJheSIsImlzQXJyYXkiLCJpbnNlcnRDdXN0b21FbGVtZW50cyIsInJvb3RFbGVtZW50cyIsImN1c3RvbUVsZW1lbnRzIiwiZmlyc3RBbmNob3IiLCJrZXkiLCJyb290RWxlbWVudHNXaXRob3V0TGFzdCIsImZpbHRlciIsInJvb3RFbGVtZW50IiwicG9zaXRpb24iLCJFbmQiLCJsYXN0QW5jaG9yIiwiZW5kRWxlbWVudCIsIml0ZW1zUGVyS2V5IiwiZm9yRWFjaCIsIkFmdGVyIiwia2V5cyIsImN1c3RvbUVsZW1lbnRLZXkiLCJwb3RlbnRpYWxBbmNob3IiLCJtZW51IiwibWFwIiwic29ydGVkS2V5cyIsInBvc2l0aW9uSXRlbUtleSIsIm91dEVsZW1lbnRzIiwicHVzaCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O01BR1lBLFM7O2FBQUFBLFM7QUFBQUEsSUFBQUEsUztBQUFBQSxJQUFBQSxTO0FBQUFBLElBQUFBLFM7S0FBQUEsUyxLQUFBQSxTOzs7O0FBcUJaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QixXQUFuRyxFQUFnSDtBQUMvR3JDLFVBQUFBLGdCQUFnQixDQUFDa0IsYUFBYSxDQUFDZSxHQUFmLENBQWhCLEdBQXNDUSxXQUFXLENBQUN2QixhQUFhLENBQUNlLEdBQWYsQ0FBWCxDQUErQkksUUFBckU7QUFDQTtBQUNEO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBQ0csT0FaRCxNQVlPO0FBQ05JLFFBQUFBLFdBQVcsQ0FBQ3ZCLGFBQWEsQ0FBQ2UsR0FBZixDQUFYLEdBQWlDbEIsYUFBYSxDQUFDQyxnQkFBRCxFQUFtQixJQUFuQixFQUF5QkUsYUFBekIsQ0FBOUM7QUFDQWxCLFFBQUFBLGdCQUFnQixDQUFDa0IsYUFBYSxDQUFDZSxHQUFmLENBQWhCLEdBQXNDZixhQUFhLENBQUNtQixRQUFwRDtBQUNBO0FBQ0QsS0FsQ0Q7QUFtQ0EsUUFBTVksVUFBb0IsR0FBRyxFQUE3QjtBQUVBNUIsSUFBQUEsTUFBTSxDQUFDdUIsSUFBUCxDQUFZNUMsZ0JBQVosRUFBOEIwQyxPQUE5QixDQUFzQyxVQUFDUSxlQUFELEVBQXFCO0FBQzFEbkQsTUFBQUEsK0JBQStCLENBQUNDLGdCQUFELEVBQW1Ca0QsZUFBbkIsRUFBb0NELFVBQXBDLEVBQWdELEVBQWhELENBQS9CO0FBQ0EsS0FGRDtBQUlBLFFBQU1FLFdBQVcsR0FBR0YsVUFBVSxDQUFDRCxHQUFYLENBQWUsVUFBQ2YsR0FBRDtBQUFBLGFBQVNRLFdBQVcsQ0FBQ1IsR0FBRCxDQUFwQjtBQUFBLEtBQWYsQ0FBcEI7O0FBQ0EsUUFBSU8sVUFBSixFQUFnQjtBQUNmVyxNQUFBQSxXQUFXLENBQUNDLElBQVosQ0FBaUJaLFVBQWpCO0FBQ0E7O0FBQ0QsV0FBT1csV0FBUDtBQUNBIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBQb3NpdGlvbiA9IHtcblx0YW5jaG9yPzogc3RyaW5nO1xuXHRwbGFjZW1lbnQ6IFBsYWNlbWVudDtcbn07XG5cbmV4cG9ydCBlbnVtIFBsYWNlbWVudCB7XG5cdEFmdGVyID0gXCJBZnRlclwiLFxuXHRCZWZvcmUgPSBcIkJlZm9yZVwiLFxuXHRFbmQgPSBcIkVuZFwiXG59XG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVPYmplY3RLZXkgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVPYmplY3QgPSBQb3NpdGlvbmFibGUgJiB7XG5cdGtleTogQ29uZmlndXJhYmxlT2JqZWN0S2V5O1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tRWxlbWVudDxUIGV4dGVuZHMgQ29uZmlndXJhYmxlT2JqZWN0PiA9IFQgJiB7XG5cdHBvc2l0aW9uOiBQb3NpdGlvbjtcblx0bWVudT86IGFueVtdIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IHR5cGUgUG9zaXRpb25hYmxlID0ge1xuXHRwb3NpdGlvbj86IFBvc2l0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlndXJhYmxlUmVjb3JkPFQ+ID0gUmVjb3JkPENvbmZpZ3VyYWJsZU9iamVjdEtleSwgVD47XG5cbi8qKlxuICogUmVjdXJzaXZlIG1ldGhvZCB0aGF0IG9yZGVyIHRoZSBrZXlzIGJhc2VkIG9uIGEgcG9zaXRpb24gaW5mb3JtYXRpb24uXG4gKlxuICogQHBhcmFtIHBvc2l0aW9uaW5nSXRlbXNcbiAqIEBwYXJhbSBhbmNob3JcbiAqIEBwYXJhbSBzb3J0ZWRcbiAqIEBwYXJhbSB2aXNpdGVkXG4gKiBAcmV0dXJucyBUaGUgb3JkZXIgb2YgdGhlIGN1cnJlbnQgaXRlbVxuICovXG5jb25zdCBvcmRlclBvc2l0aW9uaW5nSXRlbVJlY3Vyc2l2ZWx5ID0gKFxuXHRwb3NpdGlvbmluZ0l0ZW1zOiBSZWNvcmQ8c3RyaW5nLCBSZXF1aXJlZDxQb3NpdGlvbj4+LFxuXHRhbmNob3I6IHN0cmluZyxcblx0c29ydGVkOiBzdHJpbmdbXSxcblx0dmlzaXRlZDogUmVjb3JkPHN0cmluZywgUmVxdWlyZWQ8UG9zaXRpb24+PlxuKTogbnVtYmVyID0+IHtcblx0bGV0IGluc2VydEluZGV4ID0gc29ydGVkLmluZGV4T2YoYW5jaG9yKTtcblx0aWYgKGluc2VydEluZGV4ICE9PSAtMSkge1xuXHRcdHJldHVybiBpbnNlcnRJbmRleDtcblx0fVxuXHRjb25zdCBhbmNob3JJdGVtOiBSZXF1aXJlZDxQb3NpdGlvbj4gPSBwb3NpdGlvbmluZ0l0ZW1zW2FuY2hvcl07XG5cdGlmIChhbmNob3JJdGVtID09PSB1bmRlZmluZWQpIHtcblx0XHQvL3JldHVybiBzb3J0ZWQubGVuZ3RoO1xuXHRcdHRocm93IG5ldyBFcnJvcihgcG9zaXRpb24gYW5jaG9yIG5vdCBmb3VuZDogJHthbmNob3J9YCk7XG5cdH1cblxuXHR2aXNpdGVkW2FuY2hvcl0gPSBhbmNob3JJdGVtO1xuXHRpZiAoYW5jaG9ySXRlbSAmJiAhKGFuY2hvckl0ZW0uYW5jaG9yIGluIHZpc2l0ZWQpKSB7XG5cdFx0aW5zZXJ0SW5kZXggPSBvcmRlclBvc2l0aW9uaW5nSXRlbVJlY3Vyc2l2ZWx5KHBvc2l0aW9uaW5nSXRlbXMsIGFuY2hvckl0ZW0uYW5jaG9yLCBzb3J0ZWQsIHZpc2l0ZWQpO1xuXHRcdGlmIChhbmNob3JJdGVtLnBsYWNlbWVudCAhPT0gUGxhY2VtZW50LkJlZm9yZSkge1xuXHRcdFx0KytpbnNlcnRJbmRleDtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0aW5zZXJ0SW5kZXggPSBzb3J0ZWQubGVuZ3RoO1xuXHR9XG5cblx0c29ydGVkLnNwbGljZShpbnNlcnRJbmRleCwgMCwgYW5jaG9yKTtcblx0cmV0dXJuIGluc2VydEluZGV4O1xufTtcblxudHlwZSBPdmVycmlkZVR5cGUgPSBcIm1lcmdlXCIgfCBcIm92ZXJ3cml0ZVwiIHwgXCJpZ25vcmVcIjtcbnR5cGUgQXJyYXlPdmVycmlkZVR5cGU8QXJyYXlUeXBlPiA9IE92ZXJyaWRlS2V5czxBcnJheVR5cGU+O1xuXG50eXBlIEVsZW1lbnRUeXBlPFQ+ID0gVCBleHRlbmRzIGFueVtdID8gVFtudW1iZXJdIDogVDtcbnR5cGUgT3ZlcnJpZGVLZXlzPFQ+ID0ge1xuXHRbUCBpbiBrZXlvZiBUXT86IE92ZXJyaWRlVHlwZSB8IEFycmF5T3ZlcnJpZGVUeXBlPEVsZW1lbnRUeXBlPFRbUF0+Pjtcbn07XG5cbmZ1bmN0aW9uIGlzQXJyYXlDb25maWc8VD4oY29uZmlnOiBPdmVycmlkZVR5cGUgfCBBcnJheU92ZXJyaWRlVHlwZTxUPiB8IHVuZGVmaW5lZCk6IGNvbmZpZyBpcyBBcnJheU92ZXJyaWRlVHlwZTxUPiB7XG5cdHJldHVybiB0eXBlb2YgY29uZmlnID09PSBcIm9iamVjdFwiO1xufVxuXG5mdW5jdGlvbiBhcHBseU92ZXJyaWRlPFQgZXh0ZW5kcyBPYmplY3Q+KG92ZXJ3cml0YWJsZUtleXM6IE92ZXJyaWRlS2V5czxUPiwgc291cmNlSXRlbTogVCB8IG51bGwsIGN1c3RvbUVsZW1lbnQ6IFQpOiBUIHtcblx0Y29uc3Qgb3V0SXRlbTogVCA9IHNvdXJjZUl0ZW0gfHwgY3VzdG9tRWxlbWVudDtcblx0Zm9yIChjb25zdCBvdmVyd3JpdGFibGVLZXkgaW4gb3ZlcndyaXRhYmxlS2V5cykge1xuXHRcdGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChvdmVyd3JpdGFibGVLZXlzLCBvdmVyd3JpdGFibGVLZXkpKSB7XG5cdFx0XHRjb25zdCBvdmVycmlkZUNvbmZpZyA9IG92ZXJ3cml0YWJsZUtleXNbb3ZlcndyaXRhYmxlS2V5XTtcblx0XHRcdGlmIChzb3VyY2VJdGVtICE9PSBudWxsKSB7XG5cdFx0XHRcdHN3aXRjaCAob3ZlcnJpZGVDb25maWcpIHtcblx0XHRcdFx0XHRjYXNlIFwib3ZlcndyaXRlXCI6XG5cdFx0XHRcdFx0XHRpZiAoY3VzdG9tRWxlbWVudC5oYXNPd25Qcm9wZXJ0eShvdmVyd3JpdGFibGVLZXkpICYmIGN1c3RvbUVsZW1lbnRbb3ZlcndyaXRhYmxlS2V5XSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0XHRcdHNvdXJjZUl0ZW1bb3ZlcndyaXRhYmxlS2V5XSA9IGN1c3RvbUVsZW1lbnRbb3ZlcndyaXRhYmxlS2V5XTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGNhc2UgXCJtZXJnZVwiOlxuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRjb25zdCBzdWJJdGVtID0gc291cmNlSXRlbVtvdmVyd3JpdGFibGVLZXldIHx8IChbXSBhcyBhbnlbXSk7XG5cdFx0XHRcdFx0XHRsZXQgc3ViQ29uZmlnID0ge307XG5cdFx0XHRcdFx0XHRpZiAoaXNBcnJheUNvbmZpZyhvdmVycmlkZUNvbmZpZykpIHtcblx0XHRcdFx0XHRcdFx0c3ViQ29uZmlnID0gb3ZlcnJpZGVDb25maWc7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheShzdWJJdGVtKSkge1xuXHRcdFx0XHRcdFx0XHRzb3VyY2VJdGVtW292ZXJ3cml0YWJsZUtleV0gPSBpbnNlcnRDdXN0b21FbGVtZW50cyhcblx0XHRcdFx0XHRcdFx0XHRzdWJJdGVtLFxuXHRcdFx0XHRcdFx0XHRcdChjdXN0b21FbGVtZW50ICYmIChjdXN0b21FbGVtZW50W292ZXJ3cml0YWJsZUtleV0gYXMgUmVjb3JkPHN0cmluZywgQ3VzdG9tRWxlbWVudDxhbnk+PikpIHx8IHt9LFxuXHRcdFx0XHRcdFx0XHRcdHN1YkNvbmZpZ1xuXHRcdFx0XHRcdFx0XHQpIGFzIGFueTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzd2l0Y2ggKG92ZXJyaWRlQ29uZmlnKSB7XG5cdFx0XHRcdFx0Y2FzZSBcIm92ZXJ3cml0ZVwiOlxuXHRcdFx0XHRcdFx0aWYgKGN1c3RvbUVsZW1lbnQuaGFzT3duUHJvcGVydHkob3ZlcndyaXRhYmxlS2V5KSAmJiBjdXN0b21FbGVtZW50W292ZXJ3cml0YWJsZUtleV0gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdFx0XHRvdXRJdGVtW292ZXJ3cml0YWJsZUtleV0gPSBjdXN0b21FbGVtZW50W292ZXJ3cml0YWJsZUtleV07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRjYXNlIFwibWVyZ2VcIjpcblx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0bGV0IHN1YkNvbmZpZyA9IHt9O1xuXHRcdFx0XHRcdFx0aWYgKGlzQXJyYXlDb25maWcob3ZlcnJpZGVDb25maWcpKSB7XG5cdFx0XHRcdFx0XHRcdHN1YkNvbmZpZyA9IG92ZXJyaWRlQ29uZmlnO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0b3V0SXRlbVtvdmVyd3JpdGFibGVLZXldID0gaW5zZXJ0Q3VzdG9tRWxlbWVudHMoXG5cdFx0XHRcdFx0XHRcdFtdIGFzIGFueVtdLFxuXHRcdFx0XHRcdFx0XHQoY3VzdG9tRWxlbWVudCAmJiAoY3VzdG9tRWxlbWVudFtvdmVyd3JpdGFibGVLZXldIGFzIFJlY29yZDxzdHJpbmcsIEN1c3RvbUVsZW1lbnQ8YW55Pj4pKSB8fCB7fSxcblx0XHRcdFx0XHRcdFx0c3ViQ29uZmlnXG5cdFx0XHRcdFx0XHQpIGFzIGFueTtcblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBvdXRJdGVtO1xufVxuXG4vKipcbiAqIEluc2VydCBhIHNldCBvZiBjdXN0b20gZWxlbWVudHMgaW4gdGhlIHJpZ2h0IHBvc2l0aW9uIGluIGFuIG9yaWdpbmFsIGNvbGxlY3Rpb24uXG4gKlxuICogUGFyYW1ldGVycyBmb3Igb3ZlcndyaXRhYmxlS2V5cyBhbmQgdGhlaXIgaW1wbGljYXRpb25zOlxuICogXCJvdmVyd3JpdGVcIjogVGhlIHdob2xlIG9iamVjdCBnZXRzIG92ZXJ3cml0dGVuIC0gaWYgdGhlIGN1c3RvbUVsZW1lbnRzIGluY2x1ZGUgYSBkZWZhdWx0LCB0aGlzIHdpbGwgb3ZlcnJ1bGUgdGhlIHdob2xlIHJvb3RFbGVtZW50cyBjb25maWd1cmF0aW9uLlxuICogXCJtZXJnZVwiOiBUaGlzIGlzIHNpbWlsYXIgdG8gY2FsbGluZyBpbnNlcnRDdXN0b21FbGVtZW50cyBpdHNlbGYuIFlvdSBtdXN0IGluY2x1ZGUgdGhlXG4gKiBmdWxsIEN1c3RvbUVsZW1lbnQgc3ludGF4IHdpdGhpbiB0aGUgY3VzdG9tRWxlbWVudHMsIGluY2x1ZGluZyBhbmNob3JzLCBmb3IgZXhhbXBsZS5cbiAqIFwiaWdub3JlXCI6IFRoZXJlIGFyZSBubyBhZGRpdGlvbnMgYW5kIG5vIGNvbWJpbmF0aW9ucy4gT25seSB0aGUgcm9vdEVsZW1lbnRzIG9iamVjdCBpcyB1c2VkLlxuICpcbiAqIE5vdGUgLSBQcm9jZWVkIGFzIGZvbGxvd3MgaW4gY2FzZSB5b3UgaGF2ZSBkZWZpbmVkIGN1c3RvbUVsZW1lbnRzIGFuZCBkbyBub3Qgd2FudCB0byBvdmVyd3JpdGUgdGhlaXIgdmFsdWVzIHdpdGggZGVmYXVsdHM6XG4gKiBIYW5kIHRoZSByb290RWxlbWVudHMgaW50byB0aGUgY3JlYXRpb24gZnVuY3Rpb24gb2YgdGhlIGN1c3RvbUVsZW1lbnQuXG4gKiBEZXBlbmRpbmcgb24gdGhlIGV4aXN0ZW5jZSBvZiBib3RoIHJvb3RFbGVtZW50LWNvbmZpZ3VyYXRpb24gYW5kIGN1c3RvbUVsZW1lbnQtY29uZmlndXJhdGlvbixcbiAqIHlvdSBtdXN0IHNldCB0aGUgY3VzdG9tRWxlbWVudHMgcHJvcGVydHksIGZvciB3aGljaCB0aGUgXCJvdmVyd3JpdGVcIi1wcm9wZXJ0eSBpcyBzZXQsIGV4cGxpY2l0bHkgdG8gdW5kZWZpbmVkLlxuICpcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0gcm9vdEVsZW1lbnRzIEEgbGlzdCBvZiBcIkNvbmZpZ3VyYWJsZU9iamVjdFwiIHdoaWNoIG1lYW5zIG9iamVjdCB0aGF0IGhhdmUgYSB1bmlxdWUgXCJrZXlcIlxuICogQHBhcmFtIGN1c3RvbUVsZW1lbnRzIEFuIG9iamVjdCBjb250YWluaW5nIGV4dHJhIG9iamVjdCB0byBhZGQsIHRoZXkgYXJlIGluZGV4ZWQgYnkgYSBrZXkgYW5kIGhhdmUgYSBcInBvc2l0aW9uXCIgb2JqZWN0XG4gKiBAcGFyYW0gb3ZlcndyaXRhYmxlS2V5cyBUaGUgbGlzdCBvZiBrZXlzIGZyb20gdGhlIG9yaWdpbmFsIG9iamVjdCB0aGF0IGNhbiBiZSBvdmVyd3JpdHRlbiBpbiBjYXNlIGEgY3VzdG9tIGVsZW1lbnQgaGFzIHRoZSBzYW1lIFwia2V5XCJcbiAqIEByZXR1cm5zIEFuIG9yZGVyZWQgYXJyYXkgb2YgZWxlbWVudHMgaW5jbHVkaW5nIHRoZSBjdXN0b20gb25lc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0Q3VzdG9tRWxlbWVudHM8VCBleHRlbmRzIENvbmZpZ3VyYWJsZU9iamVjdD4oXG5cdHJvb3RFbGVtZW50czogVFtdLFxuXHRjdXN0b21FbGVtZW50czogUmVjb3JkPHN0cmluZywgQ3VzdG9tRWxlbWVudDxUPj4sXG5cdG92ZXJ3cml0YWJsZUtleXM6IE92ZXJyaWRlS2V5czxUPiA9IHt9XG4pOiBUW10ge1xuXHRjb25zdCBmaXJzdEFuY2hvciA9IHJvb3RFbGVtZW50cy5sZW5ndGggPyByb290RWxlbWVudHNbMF0ua2V5IDogbnVsbDtcblx0Y29uc3Qgcm9vdEVsZW1lbnRzV2l0aG91dExhc3QgPSByb290RWxlbWVudHMuZmlsdGVyKChyb290RWxlbWVudCkgPT4ge1xuXHRcdHJldHVybiByb290RWxlbWVudC5wb3NpdGlvbj8ucGxhY2VtZW50ICE9PSBQbGFjZW1lbnQuRW5kO1xuXHR9KTtcblx0Y29uc3QgbGFzdEFuY2hvciA9IHJvb3RFbGVtZW50cy5sZW5ndGggPyByb290RWxlbWVudHNbcm9vdEVsZW1lbnRzV2l0aG91dExhc3QubGVuZ3RoIC0gMV0ua2V5IDogbnVsbDtcblx0bGV0IGVuZEVsZW1lbnQ6IFQgfCB1bmRlZmluZWQ7XG5cdGNvbnN0IHBvc2l0aW9uaW5nSXRlbXM6IFJlY29yZDxzdHJpbmcsIFJlcXVpcmVkPFBvc2l0aW9uPj4gPSB7fTtcblx0Y29uc3QgaXRlbXNQZXJLZXk6IFJlY29yZDxzdHJpbmcsIFQ+ID0ge307XG5cdHJvb3RFbGVtZW50cy5mb3JFYWNoKChyb290RWxlbWVudCkgPT4ge1xuXHRcdGlmIChyb290RWxlbWVudC5wb3NpdGlvbj8ucGxhY2VtZW50ID09PSBQbGFjZW1lbnQuRW5kICYmICFlbmRFbGVtZW50KSB7XG5cdFx0XHRlbmRFbGVtZW50ID0gcm9vdEVsZW1lbnQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHBvc2l0aW9uaW5nSXRlbXNbcm9vdEVsZW1lbnQua2V5XSA9IHtcblx0XHRcdFx0YW5jaG9yOiByb290RWxlbWVudC5wb3NpdGlvbj8uYW5jaG9yIHx8IHJvb3RFbGVtZW50LmtleSxcblx0XHRcdFx0cGxhY2VtZW50OiByb290RWxlbWVudC5wb3NpdGlvbj8ucGxhY2VtZW50IHx8IFBsYWNlbWVudC5BZnRlclxuXHRcdFx0fTtcblx0XHR9XG5cdFx0aXRlbXNQZXJLZXlbcm9vdEVsZW1lbnQua2V5XSA9IHJvb3RFbGVtZW50O1xuXHR9KTtcblx0T2JqZWN0LmtleXMoY3VzdG9tRWxlbWVudHMpLmZvckVhY2goKGN1c3RvbUVsZW1lbnRLZXkpID0+IHtcblx0XHRjb25zdCBjdXN0b21FbGVtZW50ID0gY3VzdG9tRWxlbWVudHNbY3VzdG9tRWxlbWVudEtleV07XG5cdFx0Y29uc3QgYW5jaG9yID0gY3VzdG9tRWxlbWVudC5wb3NpdGlvbi5hbmNob3I7XG5cdFx0Ly8gSWYgbm8gcGxhY2VtZW50IGRlZmluZWQgd2UgYXJlIEFmdGVyXG5cdFx0aWYgKCFjdXN0b21FbGVtZW50LnBvc2l0aW9uLnBsYWNlbWVudCkge1xuXHRcdFx0Y3VzdG9tRWxlbWVudC5wb3NpdGlvbi5wbGFjZW1lbnQgPSBQbGFjZW1lbnQuQWZ0ZXI7XG5cdFx0fVxuXHRcdC8vIElmIG5vIGFuY2hvciB3ZSdyZSBlaXRoZXIgQWZ0ZXIgdGhlIGxhc3QgYW5jaG9yIG9yIEJlZm9yZSB0aGUgZmlyc3Rcblx0XHRpZiAoIWFuY2hvcikge1xuXHRcdFx0Y29uc3QgcG90ZW50aWFsQW5jaG9yID0gY3VzdG9tRWxlbWVudC5wb3NpdGlvbi5wbGFjZW1lbnQgPT09IFBsYWNlbWVudC5BZnRlciA/IGxhc3RBbmNob3IgOiBmaXJzdEFuY2hvcjtcblx0XHRcdGN1c3RvbUVsZW1lbnQucG9zaXRpb24uYW5jaG9yID0gcG90ZW50aWFsQW5jaG9yID8gcG90ZW50aWFsQW5jaG9yIDogY3VzdG9tRWxlbWVudEtleTtcblx0XHR9XG5cblx0XHQvLyBBZGRpbmcgYm91bmQvdW5ib3VuZCBhY3Rpb25zIHRvIG1lbnVcblx0XHRjdXN0b21FbGVtZW50Lm1lbnUgPSBjdXN0b21FbGVtZW50Py5tZW51Py5tYXAoKG1lbnUpID0+IHtcblx0XHRcdHJldHVybiBpdGVtc1BlcktleVttZW51LmtleV0gPz8gbWVudTtcblx0XHR9KTtcblxuXHRcdGlmIChpdGVtc1BlcktleVtjdXN0b21FbGVtZW50LmtleV0pIHtcblx0XHRcdGl0ZW1zUGVyS2V5W2N1c3RvbUVsZW1lbnQua2V5XSA9IGFwcGx5T3ZlcnJpZGUob3ZlcndyaXRhYmxlS2V5cywgaXRlbXNQZXJLZXlbY3VzdG9tRWxlbWVudC5rZXldLCBjdXN0b21FbGVtZW50KTtcblxuXHRcdFx0Ly9Qb3NpdGlvbiBpcyBvdmVyd3JpdHRlbiBmb3IgZmlsdGVyIGZpZWxkcyBpZiB0aGVyZSBpcyBhIGNoYW5nZSBpbiBtYW5pZmVzdFxuXHRcdFx0aWYgKGFuY2hvciAmJiBjdXN0b21FbGVtZW50LnBvc2l0aW9uICYmIG92ZXJ3cml0YWJsZUtleXMucG9zaXRpb24gJiYgb3ZlcndyaXRhYmxlS2V5cy5wb3NpdGlvbiA9PT0gXCJvdmVyd3JpdGVcIikge1xuXHRcdFx0XHRwb3NpdGlvbmluZ0l0ZW1zW2N1c3RvbUVsZW1lbnQua2V5XSA9IGl0ZW1zUGVyS2V5W2N1c3RvbUVsZW1lbnQua2V5XS5wb3NpdGlvbiBhcyBSZXF1aXJlZDxQb3NpdGlvbj47XG5cdFx0XHR9XG5cdFx0XHQvKipcblx0XHRcdCAqIGFuY2hvciBjaGVjayBpcyBhZGRlZCB0byBtYWtlIHN1cmUgY2hhbmdlIGluIHByb3BlcnRpZXMgaW4gdGhlIG1hbmlmZXN0IGRvZXMgbm90IGFmZmVjdCB0aGUgcG9zaXRpb24gb2YgdGhlIGZpZWxkLlxuXHRcdFx0ICogT3RoZXJ3aXNlLCB3aGVuIG5vIHBvc2l0aW9uIGlzIG1lbnRpb25lZCBpbiBtYW5pZmVzdCBmb3IgYW4gYWx0ZXJlZCBmaWVsZCwgdGhlIHBvc2l0aW9uIGlzIGNoYW5nZWQgYXNcblx0XHRcdCAqIHBlciB0aGUgcG90ZW50aWFsIGFuY2hvclxuXHRcdFx0ICovXG5cdFx0fSBlbHNlIHtcblx0XHRcdGl0ZW1zUGVyS2V5W2N1c3RvbUVsZW1lbnQua2V5XSA9IGFwcGx5T3ZlcnJpZGUob3ZlcndyaXRhYmxlS2V5cywgbnVsbCwgY3VzdG9tRWxlbWVudCk7XG5cdFx0XHRwb3NpdGlvbmluZ0l0ZW1zW2N1c3RvbUVsZW1lbnQua2V5XSA9IGN1c3RvbUVsZW1lbnQucG9zaXRpb24gYXMgUmVxdWlyZWQ8UG9zaXRpb24+O1xuXHRcdH1cblx0fSk7XG5cdGNvbnN0IHNvcnRlZEtleXM6IHN0cmluZ1tdID0gW107XG5cblx0T2JqZWN0LmtleXMocG9zaXRpb25pbmdJdGVtcykuZm9yRWFjaCgocG9zaXRpb25JdGVtS2V5KSA9PiB7XG5cdFx0b3JkZXJQb3NpdGlvbmluZ0l0ZW1SZWN1cnNpdmVseShwb3NpdGlvbmluZ0l0ZW1zLCBwb3NpdGlvbkl0ZW1LZXksIHNvcnRlZEtleXMsIHt9KTtcblx0fSk7XG5cblx0Y29uc3Qgb3V0RWxlbWVudHMgPSBzb3J0ZWRLZXlzLm1hcCgoa2V5KSA9PiBpdGVtc1BlcktleVtrZXldKTtcblx0aWYgKGVuZEVsZW1lbnQpIHtcblx0XHRvdXRFbGVtZW50cy5wdXNoKGVuZEVsZW1lbnQpO1xuXHR9XG5cdHJldHVybiBvdXRFbGVtZW50cztcbn1cbiJdfQ==
230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQbGFjZW1lbnQiLCJvcmRlclBvc2l0aW9uaW5nSXRlbVJlY3Vyc2l2ZWx5IiwicG9zaXRpb25pbmdJdGVtcyIsImFuY2hvciIsInNvcnRlZCIsInZpc2l0ZWQiLCJpbnNlcnRJbmRleCIsImluZGV4T2YiLCJhbmNob3JJdGVtIiwidW5kZWZpbmVkIiwiYW5jaG9yVGV4dCIsInNwbGl0IiwibWFuaWZlc3RJdGVtIiwiT2JqZWN0Iiwia2V5cyIsIkxvZyIsIndhcm5pbmciLCJsZW5ndGgiLCJwbGFjZW1lbnQiLCJCZWZvcmUiLCJzcGxpY2UiLCJpc0FycmF5Q29uZmlnIiwiY29uZmlnIiwiYXBwbHlPdmVycmlkZSIsIm92ZXJ3cml0YWJsZUtleXMiLCJzb3VyY2VJdGVtIiwiY3VzdG9tRWxlbWVudCIsIm91dEl0ZW0iLCJvdmVyd3JpdGFibGVLZXkiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJvdmVycmlkZUNvbmZpZyIsInN1Ykl0ZW0iLCJzdWJDb25maWciLCJBcnJheSIsImlzQXJyYXkiLCJpbnNlcnRDdXN0b21FbGVtZW50cyIsInJvb3RFbGVtZW50cyIsImN1c3RvbUVsZW1lbnRzIiwiZmlyc3RBbmNob3IiLCJrZXkiLCJyb290RWxlbWVudHNXaXRob3V0TGFzdCIsImZpbHRlciIsInJvb3RFbGVtZW50IiwicG9zaXRpb24iLCJFbmQiLCJsYXN0QW5jaG9yIiwiZW5kRWxlbWVudCIsIml0ZW1zUGVyS2V5IiwiZm9yRWFjaCIsIkFmdGVyIiwiY3VzdG9tRWxlbWVudEtleSIsInBvdGVudGlhbEFuY2hvciIsIm1lbnUiLCJtYXAiLCJzb3J0ZWRLZXlzIiwicG9zaXRpb25JdGVtS2V5Iiwib3V0RWxlbWVudHMiLCJwdXNoIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDb25maWd1cmFibGVPYmplY3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5cbmV4cG9ydCB0eXBlIFBvc2l0aW9uID0ge1xuXHRhbmNob3I/OiBzdHJpbmc7XG5cdHBsYWNlbWVudDogUGxhY2VtZW50O1xufTtcblxuZXhwb3J0IGVudW0gUGxhY2VtZW50IHtcblx0QWZ0ZXIgPSBcIkFmdGVyXCIsXG5cdEJlZm9yZSA9IFwiQmVmb3JlXCIsXG5cdEVuZCA9IFwiRW5kXCJcbn1cbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9iamVjdEtleSA9IHN0cmluZztcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9iamVjdCA9IFBvc2l0aW9uYWJsZSAmIHtcblx0a2V5OiBDb25maWd1cmFibGVPYmplY3RLZXk7XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21FbGVtZW50PFQgZXh0ZW5kcyBDb25maWd1cmFibGVPYmplY3Q+ID0gVCAmIHtcblx0cG9zaXRpb246IFBvc2l0aW9uO1xuXHRtZW51PzogYW55W10gfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBQb3NpdGlvbmFibGUgPSB7XG5cdHBvc2l0aW9uPzogUG9zaXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVSZWNvcmQ8VD4gPSBSZWNvcmQ8Q29uZmlndXJhYmxlT2JqZWN0S2V5LCBUPjtcblxuLyoqXG4gKiBSZWN1cnNpdmUgbWV0aG9kIHRoYXQgb3JkZXIgdGhlIGtleXMgYmFzZWQgb24gYSBwb3NpdGlvbiBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAcGFyYW0gcG9zaXRpb25pbmdJdGVtc1xuICogQHBhcmFtIGFuY2hvclxuICogQHBhcmFtIHNvcnRlZFxuICogQHBhcmFtIHZpc2l0ZWRcbiAqIEByZXR1cm5zIFRoZSBvcmRlciBvZiB0aGUgY3VycmVudCBpdGVtXG4gKi9cbmNvbnN0IG9yZGVyUG9zaXRpb25pbmdJdGVtUmVjdXJzaXZlbHkgPSAoXG5cdHBvc2l0aW9uaW5nSXRlbXM6IFJlY29yZDxzdHJpbmcsIFJlcXVpcmVkPFBvc2l0aW9uPj4sXG5cdGFuY2hvcjogc3RyaW5nLFxuXHRzb3J0ZWQ6IHN0cmluZ1tdLFxuXHR2aXNpdGVkOiBSZWNvcmQ8c3RyaW5nLCBSZXF1aXJlZDxQb3NpdGlvbj4+XG4pOiBudW1iZXIgPT4ge1xuXHRsZXQgaW5zZXJ0SW5kZXggPSBzb3J0ZWQuaW5kZXhPZihhbmNob3IpO1xuXHRpZiAoaW5zZXJ0SW5kZXggIT09IC0xKSB7XG5cdFx0cmV0dXJuIGluc2VydEluZGV4O1xuXHR9XG5cdGNvbnN0IGFuY2hvckl0ZW06IFJlcXVpcmVkPFBvc2l0aW9uPiA9IHBvc2l0aW9uaW5nSXRlbXNbYW5jaG9yXTtcblx0aWYgKGFuY2hvckl0ZW0gPT09IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IGFuY2hvclRleHQ6IEFycmF5PHN0cmluZz4gPSBhbmNob3Iuc3BsaXQoXCI6OlwiKSxcblx0XHRcdG1hbmlmZXN0SXRlbTogc3RyaW5nID0gT2JqZWN0LmtleXModmlzaXRlZClbMF07XG5cblx0XHRMb2cud2FybmluZyhcblx0XHRcdGBQb3NpdGlvbiBhbmNob3IgJyR7YW5jaG9yVGV4dFthbmNob3JUZXh0Lmxlbmd0aCAtIDFdfScgbm90IGZvdW5kIGZvciBpdGVtICcke21hbmlmZXN0SXRlbX0nLiBQbGVhc2UgY2hlY2sgbWFuaWZlc3Qgc2V0dGluZ3MuYFxuXHRcdCk7XG5cdFx0cmV0dXJuIHNvcnRlZC5sZW5ndGg7XG5cdFx0Ly8gdGhyb3cgbmV3IEVycm9yKGBwb3NpdGlvbiBhbmNob3Igbm90IGZvdW5kOiAke2FuY2hvcn1gKTtcblx0fVxuXG5cdHZpc2l0ZWRbYW5jaG9yXSA9IGFuY2hvckl0ZW07XG5cdGlmIChhbmNob3JJdGVtICYmICEoYW5jaG9ySXRlbS5hbmNob3IgaW4gdmlzaXRlZCkpIHtcblx0XHRpbnNlcnRJbmRleCA9IG9yZGVyUG9zaXRpb25pbmdJdGVtUmVjdXJzaXZlbHkocG9zaXRpb25pbmdJdGVtcywgYW5jaG9ySXRlbS5hbmNob3IsIHNvcnRlZCwgdmlzaXRlZCk7XG5cdFx0aWYgKGFuY2hvckl0ZW0ucGxhY2VtZW50ICE9PSBQbGFjZW1lbnQuQmVmb3JlKSB7XG5cdFx0XHQrK2luc2VydEluZGV4O1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRpbnNlcnRJbmRleCA9IHNvcnRlZC5sZW5ndGg7XG5cdH1cblxuXHRzb3J0ZWQuc3BsaWNlKGluc2VydEluZGV4LCAwLCBhbmNob3IpO1xuXHRyZXR1cm4gaW5zZXJ0SW5kZXg7XG59O1xuXG50eXBlIE92ZXJyaWRlVHlwZSA9IFwibWVyZ2VcIiB8IFwib3ZlcndyaXRlXCIgfCBcImlnbm9yZVwiO1xudHlwZSBBcnJheU92ZXJyaWRlVHlwZTxBcnJheVR5cGU+ID0gT3ZlcnJpZGVLZXlzPEFycmF5VHlwZT47XG5cbnR5cGUgRWxlbWVudFR5cGU8VD4gPSBUIGV4dGVuZHMgYW55W10gPyBUW251bWJlcl0gOiBUO1xudHlwZSBPdmVycmlkZUtleXM8VD4gPSB7XG5cdFtQIGluIGtleW9mIFRdPzogT3ZlcnJpZGVUeXBlIHwgQXJyYXlPdmVycmlkZVR5cGU8RWxlbWVudFR5cGU8VFtQXT4+O1xufTtcblxuZnVuY3Rpb24gaXNBcnJheUNvbmZpZzxUPihjb25maWc6IE92ZXJyaWRlVHlwZSB8IEFycmF5T3ZlcnJpZGVUeXBlPFQ+IHwgdW5kZWZpbmVkKTogY29uZmlnIGlzIEFycmF5T3ZlcnJpZGVUeXBlPFQ+IHtcblx0cmV0dXJuIHR5cGVvZiBjb25maWcgPT09IFwib2JqZWN0XCI7XG59XG5cbmZ1bmN0aW9uIGFwcGx5T3ZlcnJpZGU8VCBleHRlbmRzIE9iamVjdD4ob3ZlcndyaXRhYmxlS2V5czogT3ZlcnJpZGVLZXlzPFQ+LCBzb3VyY2VJdGVtOiBUIHwgbnVsbCwgY3VzdG9tRWxlbWVudDogVCk6IFQge1xuXHRjb25zdCBvdXRJdGVtOiBUID0gc291cmNlSXRlbSB8fCBjdXN0b21FbGVtZW50O1xuXHRmb3IgKGNvbnN0IG92ZXJ3cml0YWJsZUtleSBpbiBvdmVyd3JpdGFibGVLZXlzKSB7XG5cdFx0aWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG92ZXJ3cml0YWJsZUtleXMsIG92ZXJ3cml0YWJsZUtleSkpIHtcblx0XHRcdGNvbnN0IG92ZXJyaWRlQ29uZmlnID0gb3ZlcndyaXRhYmxlS2V5c1tvdmVyd3JpdGFibGVLZXldO1xuXHRcdFx0aWYgKHNvdXJjZUl0ZW0gIT09IG51bGwpIHtcblx0XHRcdFx0c3dpdGNoIChvdmVycmlkZUNvbmZpZykge1xuXHRcdFx0XHRcdGNhc2UgXCJvdmVyd3JpdGVcIjpcblx0XHRcdFx0XHRcdGlmIChjdXN0b21FbGVtZW50Lmhhc093blByb3BlcnR5KG92ZXJ3cml0YWJsZUtleSkgJiYgY3VzdG9tRWxlbWVudFtvdmVyd3JpdGFibGVLZXldICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdFx0c291cmNlSXRlbVtvdmVyd3JpdGFibGVLZXldID0gY3VzdG9tRWxlbWVudFtvdmVyd3JpdGFibGVLZXldO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0Y2FzZSBcIm1lcmdlXCI6XG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdGNvbnN0IHN1Ykl0ZW0gPSBzb3VyY2VJdGVtW292ZXJ3cml0YWJsZUtleV0gfHwgKFtdIGFzIGFueVtdKTtcblx0XHRcdFx0XHRcdGxldCBzdWJDb25maWcgPSB7fTtcblx0XHRcdFx0XHRcdGlmIChpc0FycmF5Q29uZmlnKG92ZXJyaWRlQ29uZmlnKSkge1xuXHRcdFx0XHRcdFx0XHRzdWJDb25maWcgPSBvdmVycmlkZUNvbmZpZztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KHN1Ykl0ZW0pKSB7XG5cdFx0XHRcdFx0XHRcdHNvdXJjZUl0ZW1bb3ZlcndyaXRhYmxlS2V5XSA9IGluc2VydEN1c3RvbUVsZW1lbnRzKFxuXHRcdFx0XHRcdFx0XHRcdHN1Ykl0ZW0sXG5cdFx0XHRcdFx0XHRcdFx0KGN1c3RvbUVsZW1lbnQgJiYgKGN1c3RvbUVsZW1lbnRbb3ZlcndyaXRhYmxlS2V5XSBhcyBSZWNvcmQ8c3RyaW5nLCBDdXN0b21FbGVtZW50PGFueT4+KSkgfHwge30sXG5cdFx0XHRcdFx0XHRcdFx0c3ViQ29uZmlnXG5cdFx0XHRcdFx0XHRcdCkgYXMgYW55O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHN3aXRjaCAob3ZlcnJpZGVDb25maWcpIHtcblx0XHRcdFx0XHRjYXNlIFwib3ZlcndyaXRlXCI6XG5cdFx0XHRcdFx0XHRpZiAoY3VzdG9tRWxlbWVudC5oYXNPd25Qcm9wZXJ0eShvdmVyd3JpdGFibGVLZXkpICYmIGN1c3RvbUVsZW1lbnRbb3ZlcndyaXRhYmxlS2V5XSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0XHRcdG91dEl0ZW1bb3ZlcndyaXRhYmxlS2V5XSA9IGN1c3RvbUVsZW1lbnRbb3ZlcndyaXRhYmxlS2V5XTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGNhc2UgXCJtZXJnZVwiOlxuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRsZXQgc3ViQ29uZmlnID0ge307XG5cdFx0XHRcdFx0XHRpZiAoaXNBcnJheUNvbmZpZyhvdmVycmlkZUNvbmZpZykpIHtcblx0XHRcdFx0XHRcdFx0c3ViQ29uZmlnID0gb3ZlcnJpZGVDb25maWc7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRvdXRJdGVtW292ZXJ3cml0YWJsZUtleV0gPSBpbnNlcnRDdXN0b21FbGVtZW50cyhcblx0XHRcdFx0XHRcdFx0W10gYXMgYW55W10sXG5cdFx0XHRcdFx0XHRcdChjdXN0b21FbGVtZW50ICYmIChjdXN0b21FbGVtZW50W292ZXJ3cml0YWJsZUtleV0gYXMgUmVjb3JkPHN0cmluZywgQ3VzdG9tRWxlbWVudDxhbnk+PikpIHx8IHt9LFxuXHRcdFx0XHRcdFx0XHRzdWJDb25maWdcblx0XHRcdFx0XHRcdCkgYXMgYW55O1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIG91dEl0ZW07XG59XG5cbi8qKlxuICogSW5zZXJ0IGEgc2V0IG9mIGN1c3RvbSBlbGVtZW50cyBpbiB0aGUgcmlnaHQgcG9zaXRpb24gaW4gYW4gb3JpZ2luYWwgY29sbGVjdGlvbi5cbiAqXG4gKiBQYXJhbWV0ZXJzIGZvciBvdmVyd3JpdGFibGVLZXlzIGFuZCB0aGVpciBpbXBsaWNhdGlvbnM6XG4gKiBcIm92ZXJ3cml0ZVwiOiBUaGUgd2hvbGUgb2JqZWN0IGdldHMgb3ZlcndyaXR0ZW4gLSBpZiB0aGUgY3VzdG9tRWxlbWVudHMgaW5jbHVkZSBhIGRlZmF1bHQsIHRoaXMgd2lsbCBvdmVycnVsZSB0aGUgd2hvbGUgcm9vdEVsZW1lbnRzIGNvbmZpZ3VyYXRpb24uXG4gKiBcIm1lcmdlXCI6IFRoaXMgaXMgc2ltaWxhciB0byBjYWxsaW5nIGluc2VydEN1c3RvbUVsZW1lbnRzIGl0c2VsZi4gWW91IG11c3QgaW5jbHVkZSB0aGVcbiAqIGZ1bGwgQ3VzdG9tRWxlbWVudCBzeW50YXggd2l0aGluIHRoZSBjdXN0b21FbGVtZW50cywgaW5jbHVkaW5nIGFuY2hvcnMsIGZvciBleGFtcGxlLlxuICogXCJpZ25vcmVcIjogVGhlcmUgYXJlIG5vIGFkZGl0aW9ucyBhbmQgbm8gY29tYmluYXRpb25zLiBPbmx5IHRoZSByb290RWxlbWVudHMgb2JqZWN0IGlzIHVzZWQuXG4gKlxuICogTm90ZSAtIFByb2NlZWQgYXMgZm9sbG93cyBpbiBjYXNlIHlvdSBoYXZlIGRlZmluZWQgY3VzdG9tRWxlbWVudHMgYW5kIGRvIG5vdCB3YW50IHRvIG92ZXJ3cml0ZSB0aGVpciB2YWx1ZXMgd2l0aCBkZWZhdWx0czpcbiAqIEhhbmQgdGhlIHJvb3RFbGVtZW50cyBpbnRvIHRoZSBjcmVhdGlvbiBmdW5jdGlvbiBvZiB0aGUgY3VzdG9tRWxlbWVudC5cbiAqIERlcGVuZGluZyBvbiB0aGUgZXhpc3RlbmNlIG9mIGJvdGggcm9vdEVsZW1lbnQtY29uZmlndXJhdGlvbiBhbmQgY3VzdG9tRWxlbWVudC1jb25maWd1cmF0aW9uLFxuICogeW91IG11c3Qgc2V0IHRoZSBjdXN0b21FbGVtZW50cyBwcm9wZXJ0eSwgZm9yIHdoaWNoIHRoZSBcIm92ZXJ3cml0ZVwiLXByb3BlcnR5IGlzIHNldCwgZXhwbGljaXRseSB0byB1bmRlZmluZWQuXG4gKlxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSByb290RWxlbWVudHMgQSBsaXN0IG9mIFwiQ29uZmlndXJhYmxlT2JqZWN0XCIgd2hpY2ggbWVhbnMgb2JqZWN0IHRoYXQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiXG4gKiBAcGFyYW0gY3VzdG9tRWxlbWVudHMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgZXh0cmEgb2JqZWN0IHRvIGFkZCwgdGhleSBhcmUgaW5kZXhlZCBieSBhIGtleSBhbmQgaGF2ZSBhIFwicG9zaXRpb25cIiBvYmplY3RcbiAqIEBwYXJhbSBvdmVyd3JpdGFibGVLZXlzIFRoZSBsaXN0IG9mIGtleXMgZnJvbSB0aGUgb3JpZ2luYWwgb2JqZWN0IHRoYXQgY2FuIGJlIG92ZXJ3cml0dGVuIGluIGNhc2UgYSBjdXN0b20gZWxlbWVudCBoYXMgdGhlIHNhbWUgXCJrZXlcIlxuICogQHJldHVybnMgQW4gb3JkZXJlZCBhcnJheSBvZiBlbGVtZW50cyBpbmNsdWRpbmcgdGhlIGN1c3RvbSBvbmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRDdXN0b21FbGVtZW50czxUIGV4dGVuZHMgQ29uZmlndXJhYmxlT2JqZWN0Pihcblx0cm9vdEVsZW1lbnRzOiBUW10sXG5cdGN1c3RvbUVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBDdXN0b21FbGVtZW50PFQ+Pixcblx0b3ZlcndyaXRhYmxlS2V5czogT3ZlcnJpZGVLZXlzPFQ+ID0ge31cbik6IFRbXSB7XG5cdGNvbnN0IGZpcnN0QW5jaG9yID0gcm9vdEVsZW1lbnRzLmxlbmd0aCA/IHJvb3RFbGVtZW50c1swXS5rZXkgOiBudWxsO1xuXHRjb25zdCByb290RWxlbWVudHNXaXRob3V0TGFzdCA9IHJvb3RFbGVtZW50cy5maWx0ZXIoKHJvb3RFbGVtZW50KSA9PiB7XG5cdFx0cmV0dXJuIHJvb3RFbGVtZW50LnBvc2l0aW9uPy5wbGFjZW1lbnQgIT09IFBsYWNlbWVudC5FbmQ7XG5cdH0pO1xuXHRjb25zdCBsYXN0QW5jaG9yID0gcm9vdEVsZW1lbnRzLmxlbmd0aCA/IHJvb3RFbGVtZW50c1tyb290RWxlbWVudHNXaXRob3V0TGFzdC5sZW5ndGggLSAxXS5rZXkgOiBudWxsO1xuXHRsZXQgZW5kRWxlbWVudDogVCB8IHVuZGVmaW5lZDtcblx0Y29uc3QgcG9zaXRpb25pbmdJdGVtczogUmVjb3JkPHN0cmluZywgUmVxdWlyZWQ8UG9zaXRpb24+PiA9IHt9O1xuXHRjb25zdCBpdGVtc1BlcktleTogUmVjb3JkPHN0cmluZywgVD4gPSB7fTtcblx0cm9vdEVsZW1lbnRzLmZvckVhY2goKHJvb3RFbGVtZW50KSA9PiB7XG5cdFx0aWYgKHJvb3RFbGVtZW50LnBvc2l0aW9uPy5wbGFjZW1lbnQgPT09IFBsYWNlbWVudC5FbmQgJiYgIWVuZEVsZW1lbnQpIHtcblx0XHRcdGVuZEVsZW1lbnQgPSByb290RWxlbWVudDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cG9zaXRpb25pbmdJdGVtc1tyb290RWxlbWVudC5rZXldID0ge1xuXHRcdFx0XHRhbmNob3I6IHJvb3RFbGVtZW50LnBvc2l0aW9uPy5hbmNob3IgfHwgcm9vdEVsZW1lbnQua2V5LFxuXHRcdFx0XHRwbGFjZW1lbnQ6IHJvb3RFbGVtZW50LnBvc2l0aW9uPy5wbGFjZW1lbnQgfHwgUGxhY2VtZW50LkFmdGVyXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRpdGVtc1BlcktleVtyb290RWxlbWVudC5rZXldID0gcm9vdEVsZW1lbnQ7XG5cdH0pO1xuXHRPYmplY3Qua2V5cyhjdXN0b21FbGVtZW50cykuZm9yRWFjaCgoY3VzdG9tRWxlbWVudEtleSkgPT4ge1xuXHRcdGNvbnN0IGN1c3RvbUVsZW1lbnQgPSBjdXN0b21FbGVtZW50c1tjdXN0b21FbGVtZW50S2V5XTtcblx0XHRjb25zdCBhbmNob3IgPSBjdXN0b21FbGVtZW50LnBvc2l0aW9uLmFuY2hvcjtcblx0XHQvLyBJZiBubyBwbGFjZW1lbnQgZGVmaW5lZCB3ZSBhcmUgQWZ0ZXJcblx0XHRpZiAoIWN1c3RvbUVsZW1lbnQucG9zaXRpb24ucGxhY2VtZW50KSB7XG5cdFx0XHRjdXN0b21FbGVtZW50LnBvc2l0aW9uLnBsYWNlbWVudCA9IFBsYWNlbWVudC5BZnRlcjtcblx0XHR9XG5cdFx0Ly8gSWYgbm8gYW5jaG9yIHdlJ3JlIGVpdGhlciBBZnRlciB0aGUgbGFzdCBhbmNob3Igb3IgQmVmb3JlIHRoZSBmaXJzdFxuXHRcdGlmICghYW5jaG9yKSB7XG5cdFx0XHRjb25zdCBwb3RlbnRpYWxBbmNob3IgPSBjdXN0b21FbGVtZW50LnBvc2l0aW9uLnBsYWNlbWVudCA9PT0gUGxhY2VtZW50LkFmdGVyID8gbGFzdEFuY2hvciA6IGZpcnN0QW5jaG9yO1xuXHRcdFx0Y3VzdG9tRWxlbWVudC5wb3NpdGlvbi5hbmNob3IgPSBwb3RlbnRpYWxBbmNob3IgPyBwb3RlbnRpYWxBbmNob3IgOiBjdXN0b21FbGVtZW50S2V5O1xuXHRcdH1cblxuXHRcdC8vIEFkZGluZyBib3VuZC91bmJvdW5kIGFjdGlvbnMgdG8gbWVudVxuXHRcdGN1c3RvbUVsZW1lbnQubWVudSA9IGN1c3RvbUVsZW1lbnQ/Lm1lbnU/Lm1hcCgobWVudSkgPT4ge1xuXHRcdFx0cmV0dXJuIGl0ZW1zUGVyS2V5W21lbnUua2V5XSA/PyBtZW51O1xuXHRcdH0pO1xuXG5cdFx0aWYgKGl0ZW1zUGVyS2V5W2N1c3RvbUVsZW1lbnQua2V5XSkge1xuXHRcdFx0aXRlbXNQZXJLZXlbY3VzdG9tRWxlbWVudC5rZXldID0gYXBwbHlPdmVycmlkZShvdmVyd3JpdGFibGVLZXlzLCBpdGVtc1BlcktleVtjdXN0b21FbGVtZW50LmtleV0sIGN1c3RvbUVsZW1lbnQpO1xuXG5cdFx0XHQvL1Bvc2l0aW9uIGlzIG92ZXJ3cml0dGVuIGZvciBmaWx0ZXIgZmllbGRzIGlmIHRoZXJlIGlzIGEgY2hhbmdlIGluIG1hbmlmZXN0XG5cdFx0XHRpZiAoYW5jaG9yICYmIGN1c3RvbUVsZW1lbnQucG9zaXRpb24gJiYgb3ZlcndyaXRhYmxlS2V5cy5wb3NpdGlvbiAmJiBvdmVyd3JpdGFibGVLZXlzLnBvc2l0aW9uID09PSBcIm92ZXJ3cml0ZVwiKSB7XG5cdFx0XHRcdHBvc2l0aW9uaW5nSXRlbXNbY3VzdG9tRWxlbWVudC5rZXldID0gaXRlbXNQZXJLZXlbY3VzdG9tRWxlbWVudC5rZXldLnBvc2l0aW9uIGFzIFJlcXVpcmVkPFBvc2l0aW9uPjtcblx0XHRcdH1cblx0XHRcdC8qKlxuXHRcdFx0ICogYW5jaG9yIGNoZWNrIGlzIGFkZGVkIHRvIG1ha2Ugc3VyZSBjaGFuZ2UgaW4gcHJvcGVydGllcyBpbiB0aGUgbWFuaWZlc3QgZG9lcyBub3QgYWZmZWN0IHRoZSBwb3NpdGlvbiBvZiB0aGUgZmllbGQuXG5cdFx0XHQgKiBPdGhlcndpc2UsIHdoZW4gbm8gcG9zaXRpb24gaXMgbWVudGlvbmVkIGluIG1hbmlmZXN0IGZvciBhbiBhbHRlcmVkIGZpZWxkLCB0aGUgcG9zaXRpb24gaXMgY2hhbmdlZCBhc1xuXHRcdFx0ICogcGVyIHRoZSBwb3RlbnRpYWwgYW5jaG9yXG5cdFx0XHQgKi9cblx0XHR9IGVsc2Uge1xuXHRcdFx0aXRlbXNQZXJLZXlbY3VzdG9tRWxlbWVudC5rZXldID0gYXBwbHlPdmVycmlkZShvdmVyd3JpdGFibGVLZXlzLCBudWxsLCBjdXN0b21FbGVtZW50KTtcblx0XHRcdHBvc2l0aW9uaW5nSXRlbXNbY3VzdG9tRWxlbWVudC5rZXldID0gY3VzdG9tRWxlbWVudC5wb3NpdGlvbiBhcyBSZXF1aXJlZDxQb3NpdGlvbj47XG5cdFx0fVxuXHR9KTtcblx0Y29uc3Qgc29ydGVkS2V5czogc3RyaW5nW10gPSBbXTtcblxuXHRPYmplY3Qua2V5cyhwb3NpdGlvbmluZ0l0ZW1zKS5mb3JFYWNoKChwb3NpdGlvbkl0ZW1LZXkpID0+IHtcblx0XHRvcmRlclBvc2l0aW9uaW5nSXRlbVJlY3Vyc2l2ZWx5KHBvc2l0aW9uaW5nSXRlbXMsIHBvc2l0aW9uSXRlbUtleSwgc29ydGVkS2V5cywge30pO1xuXHR9KTtcblxuXHRjb25zdCBvdXRFbGVtZW50cyA9IHNvcnRlZEtleXMubWFwKChrZXkpID0+IGl0ZW1zUGVyS2V5W2tleV0pO1xuXHRpZiAoZW5kRWxlbWVudCkge1xuXHRcdG91dEVsZW1lbnRzLnB1c2goZW5kRWxlbWVudCk7XG5cdH1cblx0cmV0dXJuIG91dEVsZW1lbnRzO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7TUFPWUEsUzs7YUFBQUEsUztJQUFBQSxTO0lBQUFBLFM7SUFBQUEsUztLQUFBQSxTLEtBQUFBLFM7Ozs7RUFxQlo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0EsSUFBTUMsK0JBQStCLEdBQUcsVUFDdkNDLGdCQUR1QyxFQUV2Q0MsTUFGdUMsRUFHdkNDLE1BSHVDLEVBSXZDQyxPQUp1QyxFQUszQjtJQUNaLElBQUlDLFdBQVcsR0FBR0YsTUFBTSxDQUFDRyxPQUFQLENBQWVKLE1BQWYsQ0FBbEI7O0lBQ0EsSUFBSUcsV0FBVyxLQUFLLENBQUMsQ0FBckIsRUFBd0I7TUFDdkIsT0FBT0EsV0FBUDtJQUNBOztJQUNELElBQU1FLFVBQThCLEdBQUdOLGdCQUFnQixDQUFDQyxNQUFELENBQXZEOztJQUNBLElBQUlLLFVBQVUsS0FBS0MsU0FBbkIsRUFBOEI7TUFDN0IsSUFBTUMsVUFBeUIsR0FBR1AsTUFBTSxDQUFDUSxLQUFQLENBQWEsSUFBYixDQUFsQztNQUFBLElBQ0NDLFlBQW9CLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZVCxPQUFaLEVBQXFCLENBQXJCLENBRHhCO01BR0FVLEdBQUcsQ0FBQ0MsT0FBSiw0QkFDcUJOLFVBQVUsQ0FBQ0EsVUFBVSxDQUFDTyxNQUFYLEdBQW9CLENBQXJCLENBRC9CLG1DQUMrRUwsWUFEL0U7TUFHQSxPQUFPUixNQUFNLENBQUNhLE1BQWQsQ0FQNkIsQ0FRN0I7SUFD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
@@ -1,3 +1,5 @@
1
+ import Log from "sap/base/Log";
2
+
1
3
  export type Position = {
2
4
  anchor?: string;
3
5
  placement: Placement;
@@ -45,8 +47,14 @@ const orderPositioningItemRecursively = (
45
47
  }
46
48
  const anchorItem: Required<Position> = positioningItems[anchor];
47
49
  if (anchorItem === undefined) {
48
- //return sorted.length;
49
- throw new Error(`position anchor not found: ${anchor}`);
50
+ const anchorText: Array<string> = anchor.split("::"),
51
+ manifestItem: string = Object.keys(visited)[0];
52
+
53
+ Log.warning(
54
+ `Position anchor '${anchorText[anchorText.length - 1]}' not found for item '${manifestItem}'. Please check manifest settings.`
55
+ );
56
+ return sorted.length;
57
+ // throw new Error(`position anchor not found: ${anchor}`);
50
58
  }
51
59
 
52
60
  visited[anchor] = anchorItem;
@@ -0,0 +1,182 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/Log"], function (Log) {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+
10
+ //function to check for statically hidden reference properties
11
+ function isReferencePropertyStaticallyHidden(property) {
12
+ var _property$annotations, _property$annotations2, _property$annotations3, _property$Value, _property$Value$$targ, _property$Value$$targ2, _property$Value$$targ3, _property$Value$$targ4, _property$Value3, _property$Value3$$tar, _propertyValueAnnotat, _propertyValueAnnotat2, _property$annotations4, _property$annotations5, _property$annotations6;
13
+
14
+ if (property) {
15
+ switch (property.$Type) {
16
+ case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation":
17
+ return isAnnotationFieldStaticallyHidden(property);
18
+
19
+ case "com.sap.vocabularies.UI.v1.DataField":
20
+ if (property.annotations && ((_property$annotations = property.annotations) === null || _property$annotations === void 0 ? void 0 : (_property$annotations2 = _property$annotations.UI) === null || _property$annotations2 === void 0 ? void 0 : (_property$annotations3 = _property$annotations2.Hidden) === null || _property$annotations3 === void 0 ? void 0 : _property$annotations3.valueOf()) === true) {
21
+ var _UI, _UI$HiddenFilter;
22
+
23
+ if (property.annotations && ((_UI = property.annotations.UI) === null || _UI === void 0 ? void 0 : (_UI$HiddenFilter = _UI.HiddenFilter) === null || _UI$HiddenFilter === void 0 ? void 0 : _UI$HiddenFilter.valueOf()) === true) {
24
+ Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
25
+ }
26
+
27
+ return true;
28
+ } else if (property.Value.$target && ((_property$Value = property.Value) === null || _property$Value === void 0 ? void 0 : (_property$Value$$targ = _property$Value.$target) === null || _property$Value$$targ === void 0 ? void 0 : (_property$Value$$targ2 = _property$Value$$targ.annotations) === null || _property$Value$$targ2 === void 0 ? void 0 : (_property$Value$$targ3 = _property$Value$$targ2.UI) === null || _property$Value$$targ3 === void 0 ? void 0 : (_property$Value$$targ4 = _property$Value$$targ3.Hidden) === null || _property$Value$$targ4 === void 0 ? void 0 : _property$Value$$targ4.valueOf()) === true) {
29
+ var _property$Value2, _property$Value2$$tar, _property$Value2$$tar2, _property$Value2$$tar3, _property$Value2$$tar4;
30
+
31
+ if (((_property$Value2 = property.Value) === null || _property$Value2 === void 0 ? void 0 : (_property$Value2$$tar = _property$Value2.$target) === null || _property$Value2$$tar === void 0 ? void 0 : (_property$Value2$$tar2 = _property$Value2$$tar.annotations) === null || _property$Value2$$tar2 === void 0 ? void 0 : (_property$Value2$$tar3 = _property$Value2$$tar2.UI) === null || _property$Value2$$tar3 === void 0 ? void 0 : (_property$Value2$$tar4 = _property$Value2$$tar3.HiddenFilter) === null || _property$Value2$$tar4 === void 0 ? void 0 : _property$Value2$$tar4.valueOf()) === true) Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
32
+ return true;
33
+ } else {
34
+ return false;
35
+ }
36
+
37
+ case "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath":
38
+ var propertyValueAnnotation = (_property$Value3 = property.Value) === null || _property$Value3 === void 0 ? void 0 : (_property$Value3$$tar = _property$Value3.$target) === null || _property$Value3$$tar === void 0 ? void 0 : _property$Value3$$tar.annotations;
39
+
40
+ if ((propertyValueAnnotation === null || propertyValueAnnotation === void 0 ? void 0 : (_propertyValueAnnotat = propertyValueAnnotation.UI) === null || _propertyValueAnnotat === void 0 ? void 0 : (_propertyValueAnnotat2 = _propertyValueAnnotat.Hidden) === null || _propertyValueAnnotat2 === void 0 ? void 0 : _propertyValueAnnotat2.valueOf()) === true) {
41
+ var _propertyValueAnnotat3, _propertyValueAnnotat4;
42
+
43
+ if ((propertyValueAnnotation === null || propertyValueAnnotation === void 0 ? void 0 : (_propertyValueAnnotat3 = propertyValueAnnotation.UI) === null || _propertyValueAnnotat3 === void 0 ? void 0 : (_propertyValueAnnotat4 = _propertyValueAnnotat3.HiddenFilter) === null || _propertyValueAnnotat4 === void 0 ? void 0 : _propertyValueAnnotat4.valueOf()) === true) {
44
+ Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
45
+ }
46
+
47
+ return true;
48
+ } else {
49
+ return false;
50
+ }
51
+
52
+ case "com.sap.vocabularies.UI.v1.DataFieldWithUrl":
53
+ if (((_property$annotations4 = property.annotations) === null || _property$annotations4 === void 0 ? void 0 : (_property$annotations5 = _property$annotations4.UI) === null || _property$annotations5 === void 0 ? void 0 : (_property$annotations6 = _property$annotations5.Hidden) === null || _property$annotations6 === void 0 ? void 0 : _property$annotations6.valueOf()) === true) {
54
+ var _UI2, _UI2$HiddenFilter;
55
+
56
+ if (property.annotations && ((_UI2 = property.annotations.UI) === null || _UI2 === void 0 ? void 0 : (_UI2$HiddenFilter = _UI2.HiddenFilter) === null || _UI2$HiddenFilter === void 0 ? void 0 : _UI2$HiddenFilter.valueOf()) === true) {
57
+ Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
58
+ }
59
+
60
+ return true;
61
+ } else {
62
+ return false;
63
+ }
64
+
65
+ default:
66
+ }
67
+ }
68
+ }
69
+
70
+ _exports.isReferencePropertyStaticallyHidden = isReferencePropertyStaticallyHidden;
71
+
72
+ function isAnnotationFieldStaticallyHidden(annotationProperty) {
73
+ var _propertyValueAnnotat5, _propertyValueAnnotat6, _propertyValueAnnotat7;
74
+
75
+ var target = annotationProperty.Target.$target.term; // let ChartAnnotation: Chart, ConnectedFieldsAnnotation: ConnectedFields, FieldGroupAnnotation: FieldGroup, DataPointAnnotation: DataPoint;
76
+
77
+ switch (target) {
78
+ case "com.sap.vocabularies.UI.v1.Chart":
79
+ var ischartMeasureHidden;
80
+ annotationProperty.Target.$target.Measures.forEach(function (chartMeasure) {
81
+ var _chartMeasure$$target, _chartMeasure$$target2, _chartMeasure$$target3;
82
+
83
+ if (((_chartMeasure$$target = chartMeasure.$target.annotations) === null || _chartMeasure$$target === void 0 ? void 0 : (_chartMeasure$$target2 = _chartMeasure$$target.UI) === null || _chartMeasure$$target2 === void 0 ? void 0 : (_chartMeasure$$target3 = _chartMeasure$$target2.Hidden) === null || _chartMeasure$$target3 === void 0 ? void 0 : _chartMeasure$$target3.valueOf()) === true) {
84
+ var _UI3, _UI3$HiddenFilter;
85
+
86
+ Log.warning("Warning: Measure attribute for Chart " + chartMeasure.$target.name + " is statically hidden hence chart can't be rendered");
87
+
88
+ if (chartMeasure.$target.annotations && ((_UI3 = chartMeasure.$target.annotations.UI) === null || _UI3 === void 0 ? void 0 : (_UI3$HiddenFilter = _UI3.HiddenFilter) === null || _UI3$HiddenFilter === void 0 ? void 0 : _UI3$HiddenFilter.valueOf()) === true) {
89
+ Log.warning("Warning: Property " + chartMeasure.$target.name + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
90
+ }
91
+
92
+ ischartMeasureHidden = true;
93
+ }
94
+ });
95
+
96
+ if (ischartMeasureHidden === true) {
97
+ return true;
98
+ } else {
99
+ return false;
100
+ }
101
+
102
+ case "com.sap.vocabularies.UI.v1.ConnectedFields":
103
+ if (annotationProperty) {
104
+ var _annotationProperty$a, _annotationProperty$a2, _annotationProperty$a3;
105
+
106
+ if (((_annotationProperty$a = annotationProperty.annotations) === null || _annotationProperty$a === void 0 ? void 0 : (_annotationProperty$a2 = _annotationProperty$a.UI) === null || _annotationProperty$a2 === void 0 ? void 0 : (_annotationProperty$a3 = _annotationProperty$a2.Hidden) === null || _annotationProperty$a3 === void 0 ? void 0 : _annotationProperty$a3.valueOf()) === true) {
107
+ var _UI4, _UI4$HiddenFilter;
108
+
109
+ if (annotationProperty.annotations && ((_UI4 = annotationProperty.annotations.UI) === null || _UI4 === void 0 ? void 0 : (_UI4$HiddenFilter = _UI4.HiddenFilter) === null || _UI4$HiddenFilter === void 0 ? void 0 : _UI4$HiddenFilter.valueOf()) === true) {
110
+ Log.warning("Warning: Property " + annotationProperty.Target.$target.qualifier + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
111
+ }
112
+
113
+ return true;
114
+ } else {
115
+ return false;
116
+ }
117
+ }
118
+
119
+ break;
120
+
121
+ case "com.sap.vocabularies.UI.v1.FieldGroup":
122
+ if (annotationProperty) {
123
+ annotationProperty.Target.$target.Data.forEach(function (field) {
124
+ return isReferencePropertyStaticallyHidden(field);
125
+ });
126
+ }
127
+
128
+ break;
129
+
130
+ case "com.sap.vocabularies.UI.v1.DataPoint":
131
+ var propertyValueAnnotation = annotationProperty.Target.$target.Value.$target;
132
+
133
+ if (((_propertyValueAnnotat5 = propertyValueAnnotation.annotations) === null || _propertyValueAnnotat5 === void 0 ? void 0 : (_propertyValueAnnotat6 = _propertyValueAnnotat5.UI) === null || _propertyValueAnnotat6 === void 0 ? void 0 : (_propertyValueAnnotat7 = _propertyValueAnnotat6.Hidden) === null || _propertyValueAnnotat7 === void 0 ? void 0 : _propertyValueAnnotat7.valueOf()) === true) {
134
+ var _propertyValueAnnotat8, _propertyValueAnnotat9, _propertyValueAnnotat10;
135
+
136
+ if (((_propertyValueAnnotat8 = propertyValueAnnotation.annotations) === null || _propertyValueAnnotat8 === void 0 ? void 0 : (_propertyValueAnnotat9 = _propertyValueAnnotat8.UI) === null || _propertyValueAnnotat9 === void 0 ? void 0 : (_propertyValueAnnotat10 = _propertyValueAnnotat9.HiddenFilter) === null || _propertyValueAnnotat10 === void 0 ? void 0 : _propertyValueAnnotat10.valueOf()) === true) {
137
+ Log.warning("Warning: Property " + annotationProperty.Target.$target.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
138
+ }
139
+
140
+ return true;
141
+ } else {
142
+ return false;
143
+ }
144
+
145
+ default:
146
+ }
147
+ }
148
+
149
+ _exports.isAnnotationFieldStaticallyHidden = isAnnotationFieldStaticallyHidden;
150
+
151
+ function isHeaderStaticallyHidden(property) {
152
+ if (property.targetObject) {
153
+ var _headerInfoAnnotation, _headerInfoAnnotation2, _headerInfoAnnotation3, _headerInfoAnnotation9, _headerInfoAnnotation10, _headerInfoAnnotation11, _headerInfoAnnotation12, _headerInfoAnnotation13, _headerInfoAnnotation14;
154
+
155
+ var headerInfoAnnotation = property.targetObject;
156
+
157
+ if (headerInfoAnnotation.annotations && ((_headerInfoAnnotation = headerInfoAnnotation.annotations) === null || _headerInfoAnnotation === void 0 ? void 0 : (_headerInfoAnnotation2 = _headerInfoAnnotation.UI) === null || _headerInfoAnnotation2 === void 0 ? void 0 : (_headerInfoAnnotation3 = _headerInfoAnnotation2.Hidden) === null || _headerInfoAnnotation3 === void 0 ? void 0 : _headerInfoAnnotation3.valueOf()) === true) {
158
+ var _headerInfoAnnotation4, _headerInfoAnnotation5, _headerInfoAnnotation6, _headerInfoAnnotation7, _headerInfoAnnotation8;
159
+
160
+ if (((_headerInfoAnnotation4 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation4 === void 0 ? void 0 : (_headerInfoAnnotation5 = _headerInfoAnnotation4.$target) === null || _headerInfoAnnotation5 === void 0 ? void 0 : (_headerInfoAnnotation6 = _headerInfoAnnotation5.annotations) === null || _headerInfoAnnotation6 === void 0 ? void 0 : (_headerInfoAnnotation7 = _headerInfoAnnotation6.UI) === null || _headerInfoAnnotation7 === void 0 ? void 0 : (_headerInfoAnnotation8 = _headerInfoAnnotation7.HiddenFilter) === null || _headerInfoAnnotation8 === void 0 ? void 0 : _headerInfoAnnotation8.valueOf()) === true) {
161
+ Log.warning("Warning: Property " + headerInfoAnnotation.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
162
+ }
163
+
164
+ return true;
165
+ } else if (headerInfoAnnotation !== null && headerInfoAnnotation !== void 0 && (_headerInfoAnnotation9 = headerInfoAnnotation.Value) !== null && _headerInfoAnnotation9 !== void 0 && _headerInfoAnnotation9.$target && (headerInfoAnnotation === null || headerInfoAnnotation === void 0 ? void 0 : (_headerInfoAnnotation10 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation10 === void 0 ? void 0 : (_headerInfoAnnotation11 = _headerInfoAnnotation10.$target) === null || _headerInfoAnnotation11 === void 0 ? void 0 : (_headerInfoAnnotation12 = _headerInfoAnnotation11.annotations) === null || _headerInfoAnnotation12 === void 0 ? void 0 : (_headerInfoAnnotation13 = _headerInfoAnnotation12.UI) === null || _headerInfoAnnotation13 === void 0 ? void 0 : (_headerInfoAnnotation14 = _headerInfoAnnotation13.Hidden) === null || _headerInfoAnnotation14 === void 0 ? void 0 : _headerInfoAnnotation14.valueOf()) === true) {
166
+ var _headerInfoAnnotation15, _headerInfoAnnotation16, _headerInfoAnnotation17, _headerInfoAnnotation18, _headerInfoAnnotation19;
167
+
168
+ if ((headerInfoAnnotation === null || headerInfoAnnotation === void 0 ? void 0 : (_headerInfoAnnotation15 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation15 === void 0 ? void 0 : (_headerInfoAnnotation16 = _headerInfoAnnotation15.$target) === null || _headerInfoAnnotation16 === void 0 ? void 0 : (_headerInfoAnnotation17 = _headerInfoAnnotation16.annotations) === null || _headerInfoAnnotation17 === void 0 ? void 0 : (_headerInfoAnnotation18 = _headerInfoAnnotation17.UI) === null || _headerInfoAnnotation18 === void 0 ? void 0 : (_headerInfoAnnotation19 = _headerInfoAnnotation18.HiddenFilter) === null || _headerInfoAnnotation19 === void 0 ? void 0 : _headerInfoAnnotation19.valueOf()) === true) {
169
+ Log.warning("Warning: Property " + headerInfoAnnotation.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
170
+ }
171
+
172
+ return true;
173
+ } else {
174
+ return false;
175
+ }
176
+ }
177
+ }
178
+
179
+ _exports.isHeaderStaticallyHidden = isHeaderStaticallyHidden;
180
+ return _exports;
181
+ }, false);
182
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbiIsInByb3BlcnR5IiwiJFR5cGUiLCJpc0Fubm90YXRpb25GaWVsZFN0YXRpY2FsbHlIaWRkZW4iLCJhbm5vdGF0aW9ucyIsIlVJIiwiSGlkZGVuIiwidmFsdWVPZiIsIkhpZGRlbkZpbHRlciIsIkxvZyIsIndhcm5pbmciLCJWYWx1ZSIsInBhdGgiLCIkdGFyZ2V0IiwicHJvcGVydHlWYWx1ZUFubm90YXRpb24iLCJhbm5vdGF0aW9uUHJvcGVydHkiLCJ0YXJnZXQiLCJUYXJnZXQiLCJ0ZXJtIiwiaXNjaGFydE1lYXN1cmVIaWRkZW4iLCJNZWFzdXJlcyIsImZvckVhY2giLCJjaGFydE1lYXN1cmUiLCJuYW1lIiwicXVhbGlmaWVyIiwiRGF0YSIsImZpZWxkIiwiaXNIZWFkZXJTdGF0aWNhbGx5SGlkZGVuIiwidGFyZ2V0T2JqZWN0IiwiaGVhZGVySW5mb0Fubm90YXRpb24iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkRhdGFGaWVsZEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHREYXRhRmllbGRBYnN0cmFjdFR5cGVzLFxuXHREYXRhRmllbGRGb3JBbm5vdGF0aW9uVHlwZXMsXG5cdFVJQW5ub3RhdGlvblRlcm1zLFxuXHRVSUFubm90YXRpb25UeXBlc1xufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcblxuLy9mdW5jdGlvbiB0byBjaGVjayBmb3Igc3RhdGljYWxseSBoaWRkZW4gcmVmZXJlbmNlIHByb3BlcnRpZXNcbmV4cG9ydCBmdW5jdGlvbiBpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbihwcm9wZXJ0eT86IERhdGFGaWVsZEFic3RyYWN0VHlwZXMgfCB1bmRlZmluZWQpIHtcblx0aWYgKHByb3BlcnR5KSB7XG5cdFx0c3dpdGNoIChwcm9wZXJ0eS4kVHlwZSkge1xuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRGb3JBbm5vdGF0aW9uOlxuXHRcdFx0XHRyZXR1cm4gaXNBbm5vdGF0aW9uRmllbGRTdGF0aWNhbGx5SGlkZGVuKHByb3BlcnR5KTtcblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuRGF0YUZpZWxkOlxuXHRcdFx0XHRpZiAocHJvcGVydHkuYW5ub3RhdGlvbnMgJiYgcHJvcGVydHkuYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdGlmIChwcm9wZXJ0eS5hbm5vdGF0aW9ucyAmJiAocHJvcGVydHkuYW5ub3RhdGlvbnMgYXMgYW55KS5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eS5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fSBlbHNlIGlmIChwcm9wZXJ0eS5WYWx1ZS4kdGFyZ2V0ICYmIHByb3BlcnR5LlZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0aWYgKHByb3BlcnR5LlZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKVxuXHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcdFwiV2FybmluZzogUHJvcGVydHkgXCIgK1xuXHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5LlZhbHVlLnBhdGggK1xuXHRcdFx0XHRcdFx0XHRcdFwiIGlzIHNldCB3aXRoIGJvdGggVUkuSGlkZGVuIGFuZCBVSS5IaWRkZW5GaWx0ZXIgLSBwbGVhc2Ugc2V0IG9ubHkgb25lIG9mIHRoZXNlISBVSS5IaWRkZW5GaWx0ZXIgaXMgaWdub3JlZCBjdXJyZW50bHkhXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblR5cGVzLkRhdGFGaWVsZFdpdGhOYXZpZ2F0aW9uUGF0aDpcblx0XHRcdFx0Y29uc3QgcHJvcGVydHlWYWx1ZUFubm90YXRpb24gPSBwcm9wZXJ0eS5WYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM7XG5cdFx0XHRcdGlmIChwcm9wZXJ0eVZhbHVlQW5ub3RhdGlvbj8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0aWYgKHByb3BlcnR5VmFsdWVBbm5vdGF0aW9uPy5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eS5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuRGF0YUZpZWxkV2l0aFVybDpcblx0XHRcdFx0aWYgKHByb3BlcnR5LmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRpZiAocHJvcGVydHkuYW5ub3RhdGlvbnMgJiYgKHByb3BlcnR5LmFubm90YXRpb25zIGFzIGFueSkuVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRcdFx0cHJvcGVydHkuVmFsdWUucGF0aCArXG5cdFx0XHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHRkZWZhdWx0OlxuXHRcdH1cblx0fVxufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQW5ub3RhdGlvbkZpZWxkU3RhdGljYWxseUhpZGRlbihhbm5vdGF0aW9uUHJvcGVydHk6IERhdGFGaWVsZEZvckFubm90YXRpb25UeXBlcykge1xuXHRjb25zdCB0YXJnZXQgPSBhbm5vdGF0aW9uUHJvcGVydHkuVGFyZ2V0LiR0YXJnZXQudGVybTtcblx0Ly8gbGV0IENoYXJ0QW5ub3RhdGlvbjogQ2hhcnQsIENvbm5lY3RlZEZpZWxkc0Fubm90YXRpb246IENvbm5lY3RlZEZpZWxkcywgRmllbGRHcm91cEFubm90YXRpb246IEZpZWxkR3JvdXAsIERhdGFQb2ludEFubm90YXRpb246IERhdGFQb2ludDtcblx0c3dpdGNoICh0YXJnZXQpIHtcblx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLkNoYXJ0OlxuXHRcdFx0bGV0IGlzY2hhcnRNZWFzdXJlSGlkZGVuO1xuXHRcdFx0YW5ub3RhdGlvblByb3BlcnR5LlRhcmdldC4kdGFyZ2V0Lk1lYXN1cmVzLmZvckVhY2goKGNoYXJ0TWVhc3VyZSkgPT4ge1xuXHRcdFx0XHRpZiAoY2hhcnRNZWFzdXJlLiR0YXJnZXQuYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBNZWFzdXJlIGF0dHJpYnV0ZSBmb3IgQ2hhcnQgXCIgK1xuXHRcdFx0XHRcdFx0XHRjaGFydE1lYXN1cmUuJHRhcmdldC5uYW1lICtcblx0XHRcdFx0XHRcdFx0XCIgaXMgc3RhdGljYWxseSBoaWRkZW4gaGVuY2UgY2hhcnQgY2FuJ3QgYmUgcmVuZGVyZWRcIlxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0Y2hhcnRNZWFzdXJlLiR0YXJnZXQuYW5ub3RhdGlvbnMgJiZcblx0XHRcdFx0XHRcdChjaGFydE1lYXN1cmUuJHRhcmdldC5hbm5vdGF0aW9ucyBhcyBhbnkpLlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKSA9PT0gdHJ1ZVxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcdFwiV2FybmluZzogUHJvcGVydHkgXCIgK1xuXHRcdFx0XHRcdFx0XHRcdGNoYXJ0TWVhc3VyZS4kdGFyZ2V0Lm5hbWUgK1xuXHRcdFx0XHRcdFx0XHRcdFwiIGlzIHNldCB3aXRoIGJvdGggVUkuSGlkZGVuIGFuZCBVSS5IaWRkZW5GaWx0ZXIgLSBwbGVhc2Ugc2V0IG9ubHkgb25lIG9mIHRoZXNlISBVSS5IaWRkZW5GaWx0ZXIgaXMgaWdub3JlZCBjdXJyZW50bHkhXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlzY2hhcnRNZWFzdXJlSGlkZGVuID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRpZiAoaXNjaGFydE1lYXN1cmVIaWRkZW4gPT09IHRydWUpIHtcblx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5Db25uZWN0ZWRGaWVsZHM6XG5cdFx0XHRpZiAoYW5ub3RhdGlvblByb3BlcnR5KSB7XG5cdFx0XHRcdGlmIChhbm5vdGF0aW9uUHJvcGVydHkuYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdGlmIChhbm5vdGF0aW9uUHJvcGVydHkuYW5ub3RhdGlvbnMgJiYgKGFubm90YXRpb25Qcm9wZXJ0eS5hbm5vdGF0aW9ucyBhcyBhbnkpLlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcdFwiV2FybmluZzogUHJvcGVydHkgXCIgK1xuXHRcdFx0XHRcdFx0XHRcdGFubm90YXRpb25Qcm9wZXJ0eS5UYXJnZXQuJHRhcmdldC5xdWFsaWZpZXIgK1xuXHRcdFx0XHRcdFx0XHRcdFwiIGlzIHNldCB3aXRoIGJvdGggVUkuSGlkZGVuIGFuZCBVSS5IaWRkZW5GaWx0ZXIgLSBwbGVhc2Ugc2V0IG9ubHkgb25lIG9mIHRoZXNlISBVSS5IaWRkZW5GaWx0ZXIgaXMgaWdub3JlZCBjdXJyZW50bHkhXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5GaWVsZEdyb3VwOlxuXHRcdFx0aWYgKGFubm90YXRpb25Qcm9wZXJ0eSkge1xuXHRcdFx0XHQoYW5ub3RhdGlvblByb3BlcnR5IGFzIGFueSkuVGFyZ2V0LiR0YXJnZXQuRGF0YS5mb3JFYWNoKChmaWVsZDogRGF0YUZpZWxkQWJzdHJhY3RUeXBlcykgPT5cblx0XHRcdFx0XHRpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbihmaWVsZClcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuRGF0YVBvaW50OlxuXHRcdFx0Y29uc3QgcHJvcGVydHlWYWx1ZUFubm90YXRpb24gPSAoYW5ub3RhdGlvblByb3BlcnR5LlRhcmdldC4kdGFyZ2V0IGFzIGFueSkuVmFsdWUuJHRhcmdldDtcblx0XHRcdGlmIChwcm9wZXJ0eVZhbHVlQW5ub3RhdGlvbi5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdGlmIChwcm9wZXJ0eVZhbHVlQW5ub3RhdGlvbi5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0YW5ub3RhdGlvblByb3BlcnR5LlRhcmdldC4kdGFyZ2V0LlZhbHVlLnBhdGggK1xuXHRcdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHRkZWZhdWx0OlxuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hlYWRlclN0YXRpY2FsbHlIaWRkZW4ocHJvcGVydHk/OiBEYXRhRmllbGRBYnN0cmFjdFR5cGVzKSB7XG5cdGlmICgocHJvcGVydHkgYXMgYW55KS50YXJnZXRPYmplY3QpIHtcblx0XHRjb25zdCBoZWFkZXJJbmZvQW5ub3RhdGlvbiA9IChwcm9wZXJ0eSBhcyBhbnkpLnRhcmdldE9iamVjdDtcblx0XHRpZiAoaGVhZGVySW5mb0Fubm90YXRpb24uYW5ub3RhdGlvbnMgJiYgaGVhZGVySW5mb0Fubm90YXRpb24uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0aWYgKGhlYWRlckluZm9Bbm5vdGF0aW9uLlZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFwiV2FybmluZzogUHJvcGVydHkgXCIgK1xuXHRcdFx0XHRcdFx0aGVhZGVySW5mb0Fubm90YXRpb24uVmFsdWUucGF0aCArXG5cdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0aGVhZGVySW5mb0Fubm90YXRpb24/LlZhbHVlPy4kdGFyZ2V0ICYmXG5cdFx0XHRoZWFkZXJJbmZvQW5ub3RhdGlvbj8uVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWVcblx0XHQpIHtcblx0XHRcdGlmIChoZWFkZXJJbmZvQW5ub3RhdGlvbj8uVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRoZWFkZXJJbmZvQW5ub3RhdGlvbi5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFwiIGlzIHNldCB3aXRoIGJvdGggVUkuSGlkZGVuIGFuZCBVSS5IaWRkZW5GaWx0ZXIgLSBwbGVhc2Ugc2V0IG9ubHkgb25lIG9mIHRoZXNlISBVSS5IaWRkZW5GaWx0ZXIgaXMgaWdub3JlZCBjdXJyZW50bHkhXCJcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7OztFQVFBO0VBQ08sU0FBU0EsbUNBQVQsQ0FBNkNDLFFBQTdDLEVBQTRGO0lBQUE7O0lBQ2xHLElBQUlBLFFBQUosRUFBYztNQUNiLFFBQVFBLFFBQVEsQ0FBQ0MsS0FBakI7UUFDQztVQUNDLE9BQU9DLGlDQUFpQyxDQUFDRixRQUFELENBQXhDOztRQUNEO1VBQ0MsSUFBSUEsUUFBUSxDQUFDRyxXQUFULElBQXdCLDBCQUFBSCxRQUFRLENBQUNHLFdBQVQsMEdBQXNCQyxFQUF0Qiw0R0FBMEJDLE1BQTFCLGtGQUFrQ0MsT0FBbEMsUUFBZ0QsSUFBNUUsRUFBa0Y7WUFBQTs7WUFDakYsSUFBSU4sUUFBUSxDQUFDRyxXQUFULElBQXdCLFFBQUNILFFBQVEsQ0FBQ0csV0FBVixDQUE4QkMsRUFBOUIsZ0VBQWtDRyxZQUFsQyxzRUFBZ0RELE9BQWhELFFBQThELElBQTFGLEVBQWdHO2NBQy9G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
@@ -0,0 +1,167 @@
1
+ import {
2
+ DataFieldAbstractTypes,
3
+ DataFieldForAnnotationTypes,
4
+ UIAnnotationTerms,
5
+ UIAnnotationTypes
6
+ } from "@sap-ux/vocabularies-types/vocabularies/UI";
7
+ import Log from "sap/base/Log";
8
+
9
+ //function to check for statically hidden reference properties
10
+ export function isReferencePropertyStaticallyHidden(property?: DataFieldAbstractTypes | undefined) {
11
+ if (property) {
12
+ switch (property.$Type) {
13
+ case UIAnnotationTypes.DataFieldForAnnotation:
14
+ return isAnnotationFieldStaticallyHidden(property);
15
+ case UIAnnotationTypes.DataField:
16
+ if (property.annotations && property.annotations?.UI?.Hidden?.valueOf() === true) {
17
+ if (property.annotations && (property.annotations as any).UI?.HiddenFilter?.valueOf() === true) {
18
+ Log.warning(
19
+ "Warning: Property " +
20
+ property.Value.path +
21
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
22
+ );
23
+ }
24
+ return true;
25
+ } else if (property.Value.$target && property.Value?.$target?.annotations?.UI?.Hidden?.valueOf() === true) {
26
+ if (property.Value?.$target?.annotations?.UI?.HiddenFilter?.valueOf() === true)
27
+ Log.warning(
28
+ "Warning: Property " +
29
+ property.Value.path +
30
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
31
+ );
32
+ return true;
33
+ } else {
34
+ return false;
35
+ }
36
+ case UIAnnotationTypes.DataFieldWithNavigationPath:
37
+ const propertyValueAnnotation = property.Value?.$target?.annotations;
38
+ if (propertyValueAnnotation?.UI?.Hidden?.valueOf() === true) {
39
+ if (propertyValueAnnotation?.UI?.HiddenFilter?.valueOf() === true) {
40
+ Log.warning(
41
+ "Warning: Property " +
42
+ property.Value.path +
43
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
44
+ );
45
+ }
46
+ return true;
47
+ } else {
48
+ return false;
49
+ }
50
+ case UIAnnotationTypes.DataFieldWithUrl:
51
+ if (property.annotations?.UI?.Hidden?.valueOf() === true) {
52
+ if (property.annotations && (property.annotations as any).UI?.HiddenFilter?.valueOf() === true) {
53
+ Log.warning(
54
+ "Warning: Property " +
55
+ property.Value.path +
56
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
57
+ );
58
+ }
59
+ return true;
60
+ } else {
61
+ return false;
62
+ }
63
+ default:
64
+ }
65
+ }
66
+ }
67
+ export function isAnnotationFieldStaticallyHidden(annotationProperty: DataFieldForAnnotationTypes) {
68
+ const target = annotationProperty.Target.$target.term;
69
+ // let ChartAnnotation: Chart, ConnectedFieldsAnnotation: ConnectedFields, FieldGroupAnnotation: FieldGroup, DataPointAnnotation: DataPoint;
70
+ switch (target) {
71
+ case UIAnnotationTerms.Chart:
72
+ let ischartMeasureHidden;
73
+ annotationProperty.Target.$target.Measures.forEach((chartMeasure) => {
74
+ if (chartMeasure.$target.annotations?.UI?.Hidden?.valueOf() === true) {
75
+ Log.warning(
76
+ "Warning: Measure attribute for Chart " +
77
+ chartMeasure.$target.name +
78
+ " is statically hidden hence chart can't be rendered"
79
+ );
80
+ if (
81
+ chartMeasure.$target.annotations &&
82
+ (chartMeasure.$target.annotations as any).UI?.HiddenFilter?.valueOf() === true
83
+ ) {
84
+ Log.warning(
85
+ "Warning: Property " +
86
+ chartMeasure.$target.name +
87
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
88
+ );
89
+ }
90
+ ischartMeasureHidden = true;
91
+ }
92
+ });
93
+ if (ischartMeasureHidden === true) {
94
+ return true;
95
+ } else {
96
+ return false;
97
+ }
98
+ case UIAnnotationTerms.ConnectedFields:
99
+ if (annotationProperty) {
100
+ if (annotationProperty.annotations?.UI?.Hidden?.valueOf() === true) {
101
+ if (annotationProperty.annotations && (annotationProperty.annotations as any).UI?.HiddenFilter?.valueOf() === true) {
102
+ Log.warning(
103
+ "Warning: Property " +
104
+ annotationProperty.Target.$target.qualifier +
105
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
106
+ );
107
+ }
108
+ return true;
109
+ } else {
110
+ return false;
111
+ }
112
+ }
113
+ break;
114
+ case UIAnnotationTerms.FieldGroup:
115
+ if (annotationProperty) {
116
+ (annotationProperty as any).Target.$target.Data.forEach((field: DataFieldAbstractTypes) =>
117
+ isReferencePropertyStaticallyHidden(field)
118
+ );
119
+ }
120
+ break;
121
+ case UIAnnotationTerms.DataPoint:
122
+ const propertyValueAnnotation = (annotationProperty.Target.$target as any).Value.$target;
123
+ if (propertyValueAnnotation.annotations?.UI?.Hidden?.valueOf() === true) {
124
+ if (propertyValueAnnotation.annotations?.UI?.HiddenFilter?.valueOf() === true) {
125
+ Log.warning(
126
+ "Warning: Property " +
127
+ annotationProperty.Target.$target.Value.path +
128
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
129
+ );
130
+ }
131
+ return true;
132
+ } else {
133
+ return false;
134
+ }
135
+ default:
136
+ }
137
+ }
138
+
139
+ export function isHeaderStaticallyHidden(property?: DataFieldAbstractTypes) {
140
+ if ((property as any).targetObject) {
141
+ const headerInfoAnnotation = (property as any).targetObject;
142
+ if (headerInfoAnnotation.annotations && headerInfoAnnotation.annotations?.UI?.Hidden?.valueOf() === true) {
143
+ if (headerInfoAnnotation.Value?.$target?.annotations?.UI?.HiddenFilter?.valueOf() === true) {
144
+ Log.warning(
145
+ "Warning: Property " +
146
+ headerInfoAnnotation.Value.path +
147
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
148
+ );
149
+ }
150
+ return true;
151
+ } else if (
152
+ headerInfoAnnotation?.Value?.$target &&
153
+ headerInfoAnnotation?.Value?.$target?.annotations?.UI?.Hidden?.valueOf() === true
154
+ ) {
155
+ if (headerInfoAnnotation?.Value?.$target?.annotations?.UI?.HiddenFilter?.valueOf() === true) {
156
+ Log.warning(
157
+ "Warning: Property " +
158
+ headerInfoAnnotation.Value.path +
159
+ " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!"
160
+ );
161
+ }
162
+ return true;
163
+ } else {
164
+ return false;
165
+ }
166
+ }
167
+ }
@@ -63,6 +63,8 @@ sap.ui.define(["../../helpers/StableIdHelper"], function (StableIdHelper) {
63
63
  _exports.getSideContentLayoutID = getSideContentLayoutID;
64
64
  var getFormID = createIDGenerator("Form");
65
65
  _exports.getFormID = getFormID;
66
+ var getFormContainerID = createIDGenerator("FormContainer");
67
+ _exports.getFormContainerID = getFormContainerID;
66
68
 
67
69
  var getFormStandardActionButtonID = function (sFormContainerId, sActionName) {
68
70
  return generate(["fe", "FormContainer", sFormContainerId, "StandardAction", sActionName]);
@@ -95,4 +97,4 @@ sap.ui.define(["../../helpers/StableIdHelper"], function (StableIdHelper) {
95
97
  _exports.getKPIID = getKPIID;
96
98
  return _exports;
97
99
  }, false);
98
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklELnRzIl0sIm5hbWVzIjpbIkJBU0VfSUQiLCJjcmVhdGVJREdlbmVyYXRvciIsInNGaXhlZFBhcnQiLCJzSURQYXJ0IiwiZ2VuZXJhdGUiLCJjb25jYXQiLCJnZXRIZWFkZXJGYWNldElEIiwiZ2V0SGVhZGVyRmFjZXRDb250YWluZXJJRCIsImdldEhlYWRlckZhY2V0Rm9ybUlEIiwiZ2V0Q3VzdG9tSGVhZGVyRmFjZXRJRCIsImdldEVkaXRhYmxlSGVhZGVyU2VjdGlvbklEIiwiZ2V0U2VjdGlvbklEIiwiZ2V0Q3VzdG9tU2VjdGlvbklEIiwiZ2V0U3ViU2VjdGlvbklEIiwiZ2V0Q3VzdG9tU3ViU2VjdGlvbklEIiwiZ2V0U2lkZUNvbnRlbnRJRCIsImdldFNpZGVDb250ZW50TGF5b3V0SUQiLCJzU2VjdGlvbklEIiwiZ2V0Rm9ybUlEIiwiZ2V0Rm9ybVN0YW5kYXJkQWN0aW9uQnV0dG9uSUQiLCJzRm9ybUNvbnRhaW5lcklkIiwic0FjdGlvbk5hbWUiLCJnZXRUYWJsZUlEIiwiZ2V0Q3VzdG9tVGFiSUQiLCJnZXRGaWx0ZXJCYXJJRCIsImdldEljb25UYWJCYXJJRCIsImdldEZpbHRlclZhcmlhbnRNYW5hZ2VtZW50SUQiLCJzRmlsdGVySUQiLCJnZXRDaGFydElEIiwiZ2V0Q3VzdG9tQWN0aW9uSUQiLCJzQWN0aW9uSUQiLCJnZXRLUElJRCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7OztBQUNBLE1BQU1BLE9BQWlCLEdBQUcsQ0FBQyxJQUFELENBQTFCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNPLFdBQVNDLGlCQUFULEdBQW9EO0FBQUEsc0NBQXRCQyxVQUFzQjtBQUF0QkEsTUFBQUEsVUFBc0I7QUFBQTs7QUFDMUQsV0FBTyxZQUFnQztBQUFBLHlDQUFuQkMsT0FBbUI7QUFBbkJBLFFBQUFBLE9BQW1CO0FBQUE7O0FBQ3RDLGFBQU9DLFFBQVEsQ0FBQ0osT0FBTyxDQUFDSyxNQUFSLE9BQUFMLE9BQU8sRUFBV0UsVUFBWCxRQUEwQkMsT0FBMUIsRUFBUixDQUFmO0FBQ0EsS0FGRDtBQUdBO0FBRUQ7QUFDQTtBQUNBOzs7O0FBQ08sTUFBTUcsZ0JBQWdCLEdBQUdMLGlCQUFpQixDQUFDLGFBQUQsQ0FBMUM7O0FBQ0EsTUFBTU0seUJBQXlCLEdBQUdOLGlCQUFpQixDQUFDLHNCQUFELENBQW5EOztBQUNBLE1BQU1PLG9CQUFvQixHQUFHUCxpQkFBaUIsQ0FBQyxhQUFELEVBQWdCLE1BQWhCLENBQTlDOztBQUNBLE1BQU1RLHNCQUFzQixHQUFHUixpQkFBaUIsQ0FBQyw0QkFBRCxDQUFoRDs7QUFDQSxNQUFNUywwQkFBMEIsR0FBR1QsaUJBQWlCLENBQUMsdUJBQUQsQ0FBcEQ7O0FBQ0EsTUFBTVUsWUFBWSxHQUFHVixpQkFBaUIsQ0FBQyxjQUFELENBQXRDOztBQUNBLE1BQU1XLGtCQUFrQixHQUFHWCxpQkFBaUIsQ0FBQyxlQUFELENBQTVDOztBQUNBLE1BQU1ZLGVBQWUsR0FBR1osaUJBQWlCLENBQUMsaUJBQUQsQ0FBekM7O0FBQ0EsTUFBTWEscUJBQXFCLEdBQUdiLGlCQUFpQixDQUFDLGtCQUFELENBQS9DOztBQUNBLE1BQU1jLGdCQUFnQixHQUFHZCxpQkFBaUIsQ0FBQyxhQUFELENBQTFDOzs7QUFDQSxNQUFNZSxzQkFBc0IsR0FBRyxVQUFVQyxVQUFWLEVBQThCO0FBQ25FLFdBQU9iLFFBQVEsQ0FBQyxDQUFDLElBQUQsRUFBT2EsVUFBUCxFQUFtQixtQkFBbkIsQ0FBRCxDQUFmO0FBQ0EsR0FGTTs7O0FBR0EsTUFBTUMsU0FBUyxHQUFHakIsaUJBQWlCLENBQUMsTUFBRCxDQUFuQzs7O0FBQ0EsTUFBTWtCLDZCQUE2QixHQUFHLFVBQVVDLGdCQUFWLEVBQW9DQyxXQUFwQyxFQUF5RDtBQUNyRyxXQUFPakIsUUFBUSxDQUFDLENBQUMsSUFBRCxFQUFPLGVBQVAsRUFBd0JnQixnQkFBeEIsRUFBMEMsZ0JBQTFDLEVBQTREQyxXQUE1RCxDQUFELENBQWY7QUFDQSxHQUZNOzs7QUFHQSxNQUFNQyxVQUFVLEdBQUdyQixpQkFBaUIsQ0FBQyxPQUFELENBQXBDOztBQUNBLE1BQU1zQixjQUFjLEdBQUd0QixpQkFBaUIsQ0FBQyxXQUFELENBQXhDOztBQUNBLE1BQU11QixjQUFjLEdBQUd2QixpQkFBaUIsQ0FBQyxXQUFELENBQXhDOztBQUNBLE1BQU13QixlQUFlLEdBQUd4QixpQkFBaUIsQ0FBQyxpQkFBRCxDQUF6Qzs7O0FBQ0EsTUFBTXlCLDRCQUE0QixHQUFHLFVBQVVDLFNBQVYsRUFBNkI7QUFDeEUsV0FBT3ZCLFFBQVEsQ0FBQyxDQUFDdUIsU0FBRCxFQUFZLG1CQUFaLENBQUQsQ0FBZjtBQUNBLEdBRk07OztBQUdBLE1BQU1DLFVBQVUsR0FBRzNCLGlCQUFpQixDQUFDLE9BQUQsQ0FBcEM7OztBQUNBLE1BQU00QixpQkFBaUIsR0FBRyxVQUFVQyxTQUFWLEVBQTZCO0FBQzdELFdBQU8xQixRQUFRLENBQUMsQ0FBQyxjQUFELEVBQWlCMEIsU0FBakIsQ0FBRCxDQUFmO0FBQ0EsR0FGTTs7O0FBR0EsTUFBTUMsUUFBUSxHQUFHOUIsaUJBQWlCLENBQUMsS0FBRCxDQUFsQyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEYXRhRmllbGRBYnN0cmFjdFR5cGVzLCBGYWNldFR5cGVzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xudHlwZSBJRFBhcnQgPSBzdHJpbmcgfCB7IEZhY2V0OiBGYWNldFR5cGVzIH0gfCBEYXRhRmllbGRBYnN0cmFjdFR5cGVzO1xuY29uc3QgQkFTRV9JRDogSURQYXJ0W10gPSBbXCJmZVwiXTtcblxuLyoqXG4gKiBTaG9ydGN1dCB0byB0aGUgc3RhYmxlSWRIZWxwZXIgcHJvdmlkaW5nIGEgXCJjdXJyeVwiIGxpa2UgbWV0aG9kIHdoZXJlIHRoZSBsYXN0IHBhcmFtZXRlciBpcyBtaXNzaW5nLlxuICpcbiAqIEBwYXJhbSBzRml4ZWRQYXJ0XG4gKiBAcmV0dXJucyBBIHNob3J0Y3V0IGZ1bmN0aW9uIHdpdGggdGhlIGZpeGVkIElEIHBhcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUlER2VuZXJhdG9yKC4uLnNGaXhlZFBhcnQ6IElEUGFydFtdKSB7XG5cdHJldHVybiBmdW5jdGlvbiAoLi4uc0lEUGFydDogSURQYXJ0W10pIHtcblx0XHRyZXR1cm4gZ2VuZXJhdGUoQkFTRV9JRC5jb25jYXQoLi4uc0ZpeGVkUGFydCwgLi4uc0lEUGFydCkpO1xuXHR9O1xufVxuXG4vKipcbiAqIFRob3NlIGFyZSBhbGwgaGVscGVycyB0byBjZW50cmFsaXplIElEIGdlbmVyYXRpb24gaW4gdGhlIGNvZGUgZm9yIGRpZmZlcmVudCBlbGVtZW50c1xuICovXG5leHBvcnQgY29uc3QgZ2V0SGVhZGVyRmFjZXRJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiSGVhZGVyRmFjZXRcIik7XG5leHBvcnQgY29uc3QgZ2V0SGVhZGVyRmFjZXRDb250YWluZXJJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiSGVhZGVyRmFjZXRDb250YWluZXJcIik7XG5leHBvcnQgY29uc3QgZ2V0SGVhZGVyRmFjZXRGb3JtSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkhlYWRlckZhY2V0XCIsIFwiRm9ybVwiKTtcbmV4cG9ydCBjb25zdCBnZXRDdXN0b21IZWFkZXJGYWNldElEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJIZWFkZXJGYWNldEN1c3RvbUNvbnRhaW5lclwiKTtcbmV4cG9ydCBjb25zdCBnZXRFZGl0YWJsZUhlYWRlclNlY3Rpb25JRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiRWRpdGFibGVIZWFkZXJTZWN0aW9uXCIpO1xuZXhwb3J0IGNvbnN0IGdldFNlY3Rpb25JRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiRmFjZXRTZWN0aW9uXCIpO1xuZXhwb3J0IGNvbnN0IGdldEN1c3RvbVNlY3Rpb25JRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiQ3VzdG9tU2VjdGlvblwiKTtcbmV4cG9ydCBjb25zdCBnZXRTdWJTZWN0aW9uSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkZhY2V0U3ViU2VjdGlvblwiKTtcbmV4cG9ydCBjb25zdCBnZXRDdXN0b21TdWJTZWN0aW9uSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkN1c3RvbVN1YlNlY3Rpb25cIik7XG5leHBvcnQgY29uc3QgZ2V0U2lkZUNvbnRlbnRJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiU2lkZUNvbnRlbnRcIik7XG5leHBvcnQgY29uc3QgZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRCA9IGZ1bmN0aW9uIChzU2VjdGlvbklEOiBzdHJpbmcpIHtcblx0cmV0dXJuIGdlbmVyYXRlKFtcImZlXCIsIHNTZWN0aW9uSUQsIFwiU2lkZUNvbnRlbnRMYXlvdXRcIl0pO1xufTtcbmV4cG9ydCBjb25zdCBnZXRGb3JtSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkZvcm1cIik7XG5leHBvcnQgY29uc3QgZ2V0Rm9ybVN0YW5kYXJkQWN0aW9uQnV0dG9uSUQgPSBmdW5jdGlvbiAoc0Zvcm1Db250YWluZXJJZDogc3RyaW5nLCBzQWN0aW9uTmFtZTogc3RyaW5nKSB7XG5cdHJldHVybiBnZW5lcmF0ZShbXCJmZVwiLCBcIkZvcm1Db250YWluZXJcIiwgc0Zvcm1Db250YWluZXJJZCwgXCJTdGFuZGFyZEFjdGlvblwiLCBzQWN0aW9uTmFtZV0pO1xufTtcbmV4cG9ydCBjb25zdCBnZXRUYWJsZUlEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJ0YWJsZVwiKTtcbmV4cG9ydCBjb25zdCBnZXRDdXN0b21UYWJJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiQ3VzdG9tVGFiXCIpO1xuZXhwb3J0IGNvbnN0IGdldEZpbHRlckJhcklEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJGaWx0ZXJCYXJcIik7XG5leHBvcnQgY29uc3QgZ2V0SWNvblRhYkJhcklEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJUYWJNdWx0aXBsZU1vZGVcIik7XG5leHBvcnQgY29uc3QgZ2V0RmlsdGVyVmFyaWFudE1hbmFnZW1lbnRJRCA9IGZ1bmN0aW9uIChzRmlsdGVySUQ6IHN0cmluZykge1xuXHRyZXR1cm4gZ2VuZXJhdGUoW3NGaWx0ZXJJRCwgXCJWYXJpYW50TWFuYWdlbWVudFwiXSk7XG59O1xuZXhwb3J0IGNvbnN0IGdldENoYXJ0SUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkNoYXJ0XCIpO1xuZXhwb3J0IGNvbnN0IGdldEN1c3RvbUFjdGlvbklEID0gZnVuY3Rpb24gKHNBY3Rpb25JRDogc3RyaW5nKSB7XG5cdHJldHVybiBnZW5lcmF0ZShbXCJDdXN0b21BY3Rpb25cIiwgc0FjdGlvbklEXSk7XG59O1xuZXhwb3J0IGNvbnN0IGdldEtQSUlEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJLUElcIik7XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCQVNFX0lEIiwiY3JlYXRlSURHZW5lcmF0b3IiLCJzRml4ZWRQYXJ0Iiwic0lEUGFydCIsImdlbmVyYXRlIiwiY29uY2F0IiwiZ2V0SGVhZGVyRmFjZXRJRCIsImdldEhlYWRlckZhY2V0Q29udGFpbmVySUQiLCJnZXRIZWFkZXJGYWNldEZvcm1JRCIsImdldEN1c3RvbUhlYWRlckZhY2V0SUQiLCJnZXRFZGl0YWJsZUhlYWRlclNlY3Rpb25JRCIsImdldFNlY3Rpb25JRCIsImdldEN1c3RvbVNlY3Rpb25JRCIsImdldFN1YlNlY3Rpb25JRCIsImdldEN1c3RvbVN1YlNlY3Rpb25JRCIsImdldFNpZGVDb250ZW50SUQiLCJnZXRTaWRlQ29udGVudExheW91dElEIiwic1NlY3Rpb25JRCIsImdldEZvcm1JRCIsImdldEZvcm1Db250YWluZXJJRCIsImdldEZvcm1TdGFuZGFyZEFjdGlvbkJ1dHRvbklEIiwic0Zvcm1Db250YWluZXJJZCIsInNBY3Rpb25OYW1lIiwiZ2V0VGFibGVJRCIsImdldEN1c3RvbVRhYklEIiwiZ2V0RmlsdGVyQmFySUQiLCJnZXRJY29uVGFiQmFySUQiLCJnZXRGaWx0ZXJWYXJpYW50TWFuYWdlbWVudElEIiwic0ZpbHRlcklEIiwiZ2V0Q2hhcnRJRCIsImdldEN1c3RvbUFjdGlvbklEIiwic0FjdGlvbklEIiwiZ2V0S1BJSUQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIklELnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGF0YUZpZWxkQWJzdHJhY3RUeXBlcywgRmFjZXRUeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbnR5cGUgSURQYXJ0ID0gc3RyaW5nIHwgeyBGYWNldDogRmFjZXRUeXBlcyB9IHwgRGF0YUZpZWxkQWJzdHJhY3RUeXBlcztcbmNvbnN0IEJBU0VfSUQ6IElEUGFydFtdID0gW1wiZmVcIl07XG5cbi8qKlxuICogU2hvcnRjdXQgdG8gdGhlIHN0YWJsZUlkSGVscGVyIHByb3ZpZGluZyBhIFwiY3VycnlcIiBsaWtlIG1ldGhvZCB3aGVyZSB0aGUgbGFzdCBwYXJhbWV0ZXIgaXMgbWlzc2luZy5cbiAqXG4gKiBAcGFyYW0gc0ZpeGVkUGFydFxuICogQHJldHVybnMgQSBzaG9ydGN1dCBmdW5jdGlvbiB3aXRoIHRoZSBmaXhlZCBJRCBwYXJ0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJREdlbmVyYXRvciguLi5zRml4ZWRQYXJ0OiBJRFBhcnRbXSkge1xuXHRyZXR1cm4gZnVuY3Rpb24gKC4uLnNJRFBhcnQ6IElEUGFydFtdKSB7XG5cdFx0cmV0dXJuIGdlbmVyYXRlKEJBU0VfSUQuY29uY2F0KC4uLnNGaXhlZFBhcnQsIC4uLnNJRFBhcnQpKTtcblx0fTtcbn1cblxuLyoqXG4gKiBUaG9zZSBhcmUgYWxsIGhlbHBlcnMgdG8gY2VudHJhbGl6ZSBJRCBnZW5lcmF0aW9uIGluIHRoZSBjb2RlIGZvciBkaWZmZXJlbnQgZWxlbWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlckZhY2V0SUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkhlYWRlckZhY2V0XCIpO1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlckZhY2V0Q29udGFpbmVySUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkhlYWRlckZhY2V0Q29udGFpbmVyXCIpO1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlckZhY2V0Rm9ybUlEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJIZWFkZXJGYWNldFwiLCBcIkZvcm1cIik7XG5leHBvcnQgY29uc3QgZ2V0Q3VzdG9tSGVhZGVyRmFjZXRJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiSGVhZGVyRmFjZXRDdXN0b21Db250YWluZXJcIik7XG5leHBvcnQgY29uc3QgZ2V0RWRpdGFibGVIZWFkZXJTZWN0aW9uSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkVkaXRhYmxlSGVhZGVyU2VjdGlvblwiKTtcbmV4cG9ydCBjb25zdCBnZXRTZWN0aW9uSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkZhY2V0U2VjdGlvblwiKTtcbmV4cG9ydCBjb25zdCBnZXRDdXN0b21TZWN0aW9uSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkN1c3RvbVNlY3Rpb25cIik7XG5leHBvcnQgY29uc3QgZ2V0U3ViU2VjdGlvbklEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJGYWNldFN1YlNlY3Rpb25cIik7XG5leHBvcnQgY29uc3QgZ2V0Q3VzdG9tU3ViU2VjdGlvbklEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJDdXN0b21TdWJTZWN0aW9uXCIpO1xuZXhwb3J0IGNvbnN0IGdldFNpZGVDb250ZW50SUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIlNpZGVDb250ZW50XCIpO1xuZXhwb3J0IGNvbnN0IGdldFNpZGVDb250ZW50TGF5b3V0SUQgPSBmdW5jdGlvbiAoc1NlY3Rpb25JRDogc3RyaW5nKSB7XG5cdHJldHVybiBnZW5lcmF0ZShbXCJmZVwiLCBzU2VjdGlvbklELCBcIlNpZGVDb250ZW50TGF5b3V0XCJdKTtcbn07XG5leHBvcnQgY29uc3QgZ2V0Rm9ybUlEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJGb3JtXCIpO1xuZXhwb3J0IGNvbnN0IGdldEZvcm1Db250YWluZXJJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiRm9ybUNvbnRhaW5lclwiKTtcbmV4cG9ydCBjb25zdCBnZXRGb3JtU3RhbmRhcmRBY3Rpb25CdXR0b25JRCA9IGZ1bmN0aW9uIChzRm9ybUNvbnRhaW5lcklkOiBzdHJpbmcsIHNBY3Rpb25OYW1lOiBzdHJpbmcpIHtcblx0cmV0dXJuIGdlbmVyYXRlKFtcImZlXCIsIFwiRm9ybUNvbnRhaW5lclwiLCBzRm9ybUNvbnRhaW5lcklkLCBcIlN0YW5kYXJkQWN0aW9uXCIsIHNBY3Rpb25OYW1lXSk7XG59O1xuZXhwb3J0IGNvbnN0IGdldFRhYmxlSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcInRhYmxlXCIpO1xuZXhwb3J0IGNvbnN0IGdldEN1c3RvbVRhYklEID0gY3JlYXRlSURHZW5lcmF0b3IoXCJDdXN0b21UYWJcIik7XG5leHBvcnQgY29uc3QgZ2V0RmlsdGVyQmFySUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIkZpbHRlckJhclwiKTtcbmV4cG9ydCBjb25zdCBnZXRJY29uVGFiQmFySUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIlRhYk11bHRpcGxlTW9kZVwiKTtcbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJWYXJpYW50TWFuYWdlbWVudElEID0gZnVuY3Rpb24gKHNGaWx0ZXJJRDogc3RyaW5nKSB7XG5cdHJldHVybiBnZW5lcmF0ZShbc0ZpbHRlcklELCBcIlZhcmlhbnRNYW5hZ2VtZW50XCJdKTtcbn07XG5leHBvcnQgY29uc3QgZ2V0Q2hhcnRJRCA9IGNyZWF0ZUlER2VuZXJhdG9yKFwiQ2hhcnRcIik7XG5leHBvcnQgY29uc3QgZ2V0Q3VzdG9tQWN0aW9uSUQgPSBmdW5jdGlvbiAoc0FjdGlvbklEOiBzdHJpbmcpIHtcblx0cmV0dXJuIGdlbmVyYXRlKFtcIkN1c3RvbUFjdGlvblwiLCBzQWN0aW9uSURdKTtcbn07XG5leHBvcnQgY29uc3QgZ2V0S1BJSUQgPSBjcmVhdGVJREdlbmVyYXRvcihcIktQSVwiKTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7OztFQUdBLElBQU1BLE9BQWlCLEdBQUcsQ0FBQyxJQUFELENBQTFCO0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQUNPLFNBQVNDLGlCQUFULEdBQW9EO0lBQUEsa0NBQXRCQyxVQUFzQjtNQUF0QkEsVUFBc0I7SUFBQTs7SUFDMUQsT0FBTyxZQUFnQztNQUFBLG1DQUFuQkMsT0FBbUI7UUFBbkJBLE9BQW1CO01BQUE7O01BQ3RDLE9BQU9DLFFBQVEsQ0FBQ0osT0FBTyxDQUFDSyxNQUFSLE9BQUFMLE9BQU8sRUFBV0UsVUFBWCxRQUEwQkMsT0FBMUIsRUFBUixDQUFmO0lBQ0EsQ0FGRDtFQUdBO0VBRUQ7QUFDQTtBQUNBOzs7O0VBQ08sSUFBTUcsZ0JBQWdCLEdBQUdMLGlCQUFpQixDQUFDLGFBQUQsQ0FBMUM7O0VBQ0EsSUFBTU0seUJBQXlCLEdBQUdOLGlCQUFpQixDQUFDLHNCQUFELENBQW5EOztFQUNBLElBQU1PLG9CQUFvQixHQUFHUCxpQkFBaUIsQ0FBQyxhQUFELEVBQWdCLE1BQWhCLENBQTlDOztFQUNBLElBQU1RLHNCQUFzQixHQUFHUixpQkFBaUIsQ0FBQyw0QkFBRCxDQUFoRDs7RUFDQSxJQUFNUywwQkFBMEIsR0FBR1QsaUJBQWlCLENBQUMsdUJBQUQsQ0FBcEQ7O0VBQ0EsSUFBTVUsWUFBWSxHQUFHVixpQkFBaUIsQ0FBQyxjQUFELENBQXRDOztFQUNBLElBQU1XLGtCQUFrQixHQUFHWCxpQkFBaUIsQ0FBQyxlQUFELENBQTVDOztFQUNBLElBQU1ZLGVBQWUsR0FBR1osaUJBQWlCLENBQUMsaUJBQUQsQ0FBekM7O0VBQ0EsSUFBTWEscUJBQXFCLEdBQUdiLGlCQUFpQixDQUFDLGtCQUFELENBQS9DOztFQUNBLElBQU1jLGdCQUFnQixHQUFHZCxpQkFBaUIsQ0FBQyxhQUFELENBQTFDOzs7RUFDQSxJQUFNZSxzQkFBc0IsR0FBRyxVQUFVQyxVQUFWLEVBQThCO0lBQ25FLE9BQU9iLFFBQVEsQ0FBQyxDQUFDLElBQUQsRUFBT2EsVUFBUCxFQUFtQixtQkFBbkIsQ0FBRCxDQUFmO0VBQ0EsQ0FGTTs7O0VBR0EsSUFBTUMsU0FBUyxHQUFHakIsaUJBQWlCLENBQUMsTUFBRCxDQUFuQzs7RUFDQSxJQUFNa0Isa0JBQWtCLEdBQUdsQixpQkFBaUIsQ0FBQyxlQUFELENBQTVDOzs7RUFDQSxJQUFNbUIsNkJBQTZCLEdBQUcsVUFBVUMsZ0JBQVYsRUFBb0NDLFdBQXBDLEVBQXlEO0lBQ3JHLE9BQU9sQixRQUFRLENBQUMsQ0FBQyxJQUFELEVBQU8sZUFBUCxFQUF3QmlCLGdCQUF4QixFQUEwQyxnQkFBMUMsRUFBNERDLFdBQTVELENBQUQsQ0FBZjtFQUNBLENBRk07OztFQUdBLElBQU1DLFVBQVUsR0FBR3RCLGlCQUFpQixDQUFDLE9BQUQsQ0FBcEM7O0VBQ0EsSUFBTXVCLGNBQWMsR0FBR3ZCLGlCQUFpQixDQUFDLFdBQUQsQ0FBeEM7O0VBQ0EsSUFBTXdCLGNBQWMsR0FBR3hCLGlCQUFpQixDQUFDLFdBQUQsQ0FBeEM7O0VBQ0EsSUFBTXlCLGVBQWUsR0FBR3pCLGlCQUFpQixDQUFDLGlCQUFELENBQXpDOzs7RUFDQSxJQUFNMEIsNEJBQTRCLEdBQUcsVUFBVUMsU0FBVixFQUE2QjtJQUN4RSxPQUFPeEIsUUFBUSxDQUFDLENBQUN3QixTQUFELEVBQVksbUJBQVosQ0FBRCxDQUFmO0VBQ0EsQ0FGTTs7O0VBR0EsSUFBTUMsVUFBVSxHQUFHNUIsaUJBQWlCLENBQUMsT0FBRCxDQUFwQzs7O0VBQ0EsSUFBTTZCLGlCQUFpQixHQUFHLFVBQVVDLFNBQVYsRUFBNkI7SUFDN0QsT0FBTzNCLFFBQVEsQ0FBQyxDQUFDLGNBQUQsRUFBaUIyQixTQUFqQixDQUFELENBQWY7RUFDQSxDQUZNOzs7RUFHQSxJQUFNQyxRQUFRLEdBQUcvQixpQkFBaUIsQ0FBQyxLQUFELENBQWxDIn0=
@@ -32,6 +32,7 @@ export const getSideContentLayoutID = function (sSectionID: string) {
32
32
  return generate(["fe", sSectionID, "SideContentLayout"]);
33
33
  };
34
34
  export const getFormID = createIDGenerator("Form");
35
+ export const getFormContainerID = createIDGenerator("FormContainer");
35
36
  export const getFormStandardActionButtonID = function (sFormContainerId: string, sActionName: string) {
36
37
  return generate(["fe", "FormContainer", sFormContainerId, "StandardAction", sActionName]);
37
38
  };
@@ -64,4 +64,4 @@ sap.ui.define([], function () {
64
64
  _exports.IssueType = IssueType;
65
65
  return _exports;
66
66
  }, false);
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklzc3VlTWFuYWdlci50cyJdLCJuYW1lcyI6WyJJc3N1ZVNldmVyaXR5IiwiSXNzdWVDYXRlZ29yeVR5cGUiLCJGYWNldHMiLCJNaXNzaW5nSUQiLCJVblN1cHBvcnRlZExldmVsIiwiQW5ub3RhdGlvbkNvbHVtbnMiLCJJbnZhbGlkS2V5IiwiQW5ub3RhdGlvbnMiLCJJZ25vcmVkQW5ub3RhdGlvbiIsIklzc3VlQ2F0ZWdvcnkiLCJJc3N1ZVR5cGUiLCJNSVNTSU5HX0xJTkVJVEVNIiwiTUlTU0lOR19TRUxFQ1RJT05GSUVMRCIsIk1BTEZPUk1FRF9EQVRBRklFTERfRk9SX0lCTiIsIlJFUVVJUkVTQ09OVEVYVCIsIklOTElORSIsIkRFVEVSTUlOSU5HIiwiTUFMRk9STUVEX1ZJU1VBTEZJTFRFUlMiLCJWQUxVRUxJU1QiLCJQUkVTRU5UQVRJT05WQVJJQU5UIiwiQ0hBUlQiLCJWQUxVRUxJU1RDT05GSUciLCJGVUxMU0NSRUVOTU9ERV9OT1RfT05fTElTVFJFUE9SVCIsIktQSV9JU1NVRVMiLCJLUElfTk9UX0ZPVU5EIiwiS1BJX0RFVEFJTF9OT1RfRk9VTkQiLCJOT19BTkFMWVRJQ1MiLCJNQUlOX1BST1BFUlRZX05PVF9BR0dSRUdBVEFCTEUiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztNQUZZQSxhOzthQUFBQSxhO0FBQUFBLElBQUFBLGEsQ0FBQUEsYTtBQUFBQSxJQUFBQSxhLENBQUFBLGE7QUFBQUEsSUFBQUEsYSxDQUFBQSxhO0tBQUFBLGEsS0FBQUEsYTs7O0FBTUwsTUFBTUMsaUJBQWlCLEdBQUc7QUFDaENDLElBQUFBLE1BQU0sRUFBRTtBQUNQQyxNQUFBQSxTQUFTLEVBQUUsV0FESjtBQUVQQyxNQUFBQSxnQkFBZ0IsRUFBRTtBQUZYLEtBRHdCO0FBS2hDQyxJQUFBQSxpQkFBaUIsRUFBRTtBQUNsQkMsTUFBQUEsVUFBVSxFQUFFO0FBRE0sS0FMYTtBQVFoQ0MsSUFBQUEsV0FBVyxFQUFFO0FBQ1pDLE1BQUFBLGlCQUFpQixFQUFFO0FBRFA7QUFSbUIsR0FBMUI7O01BYUtDLGE7O2FBQUFBLGE7QUFBQUEsSUFBQUEsYTtBQUFBQSxJQUFBQSxhO0FBQUFBLElBQUFBLGE7QUFBQUEsSUFBQUEsYTtLQUFBQSxhLEtBQUFBLGE7OztBQU1MLE1BQU1DLFNBQVMsR0FBRztBQUN4QkMsSUFBQUEsZ0JBQWdCLEVBQUUsb0dBRE07QUFFeEJDLElBQUFBLHNCQUFzQixFQUFFLHNDQUZBO0FBR3hCQyxJQUFBQSwyQkFBMkIsRUFBRTtBQUM1QkMsTUFBQUEsZUFBZSxFQUFFLCtFQURXO0FBRTVCQyxNQUFBQSxNQUFNLEVBQUUscUVBRm9CO0FBRzVCQyxNQUFBQSxXQUFXLEVBQUU7QUFIZSxLQUhMO0FBUXhCQyxJQUFBQSx1QkFBdUIsRUFBRTtBQUN4QkMsTUFBQUEsU0FBUyxFQUFFLHVEQURhO0FBRXhCQyxNQUFBQSxtQkFBbUIsRUFBRSxrRUFGRztBQUd4QkMsTUFBQUEsS0FBSyxFQUFFLDBFQUhpQjtBQUl4QkMsTUFBQUEsZUFBZSxFQUFFO0FBSk8sS0FSRDtBQWN4QkMsSUFBQUEsZ0NBQWdDLEVBQUUsNkRBZFY7QUFleEJDLElBQUFBLFVBQVUsRUFBRTtBQUNYQyxNQUFBQSxhQUFhLEVBQUUsMENBREo7QUFFWEMsTUFBQUEsb0JBQW9CLEVBQUUsMERBRlg7QUFHWEMsTUFBQUEsWUFBWSxFQUFFLGtGQUhIO0FBSVhDLE1BQUFBLDhCQUE4QixFQUFFO0FBSnJCO0FBZlksR0FBbEIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIElzc3VlU2V2ZXJpdHkge1xuXHRIaWdoLFxuXHRMb3csXG5cdE1lZGl1bVxufVxuXG5leHBvcnQgY29uc3QgSXNzdWVDYXRlZ29yeVR5cGUgPSB7XG5cdEZhY2V0czoge1xuXHRcdE1pc3NpbmdJRDogXCJNaXNzaW5nSURcIixcblx0XHRVblN1cHBvcnRlZExldmVsOiBcIlVuc3VwcG9ydGVkTGV2ZWxcIlxuXHR9LFxuXHRBbm5vdGF0aW9uQ29sdW1uczoge1xuXHRcdEludmFsaWRLZXk6IFwiSW52YWxpZEtleVwiXG5cdH0sXG5cdEFubm90YXRpb25zOiB7XG5cdFx0SWdub3JlZEFubm90YXRpb246IFwiSWdub3JlZEFubm90YXRpb25cIlxuXHR9XG59O1xuXG5leHBvcnQgZW51bSBJc3N1ZUNhdGVnb3J5IHtcblx0QW5ub3RhdGlvbiA9IFwiQW5ub3RhdGlvblwiLFxuXHRUZW1wbGF0ZSA9IFwiVGVtcGxhdGVcIixcblx0TWFuaWZlc3QgPSBcIk1hbmlmZXN0XCIsXG5cdEZhY2V0cyA9IFwiRmFjZXRzXCJcbn1cbmV4cG9ydCBjb25zdCBJc3N1ZVR5cGUgPSB7XG5cdE1JU1NJTkdfTElORUlURU06IFwiV2UgY291bGRuJ3QgZmluZCBhIGxpbmUgaXRlbSBhbm5vdGF0aW9uIGZvciB0aGUgY3VycmVudCBlbnRpdHlTZXQsIHlvdSBzaG91bGQgY29uc2lkZXIgYWRkaW5nIG9uZS5cIixcblx0TUlTU0lOR19TRUxFQ1RJT05GSUVMRDogXCJEZWZpbmVkIFNlbGVjdGlvbiBGaWVsZCBpcyBub3QgZm91bmRcIixcblx0TUFMRk9STUVEX0RBVEFGSUVMRF9GT1JfSUJOOiB7XG5cdFx0UkVRVUlSRVNDT05URVhUOiBcIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbiBjYW5ub3QgdXNlIHJlcXVpcmVzIGNvbnRleHQgaW4gZm9ybS9oZWFkZXIuXCIsXG5cdFx0SU5MSU5FOiBcIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbiBjYW5ub3QgdXNlIElubGluZSBpbiBmb3JtL2hlYWRlci5cIixcblx0XHRERVRFUk1JTklORzogXCJEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gY2Fubm90IHVzZSBEZXRlcm1pbmluZyBpbiBmb3JtL2hlYWRlci5cIlxuXHR9LFxuXHRNQUxGT1JNRURfVklTVUFMRklMVEVSUzoge1xuXHRcdFZBTFVFTElTVDogXCJWYWx1ZUxpc3QgUGF0aCBtZW50aW9uZWQgaW4gdGhlIG1hbmlmZXN0IGlzIG5vdCBmb3VuZFwiLFxuXHRcdFBSRVNFTlRBVElPTlZBUklBTlQ6IFwiUHJlc2VudGF0aW9uIFZhcmlhbnQgQW5ub3RhdGlvbiBpcyBtaXNzaW5nIGZvciB0aGUgVmlzdWFsRmlsdGVyc1wiLFxuXHRcdENIQVJUOiBcIkNoYXJ0IEFubm90YXRpb24gaXMgbWlzc2luZyBmcm9tIHRoZSBQViBjb25maWd1cmVkIGZvciB0aGUgVmlzdWFsRmlsdGVyc1wiLFxuXHRcdFZBTFVFTElTVENPTkZJRzogXCJWYWx1ZUxpc3QgaXMgbm90IGJlZW4gY29uZmlndXJlZCBpbnNpZGUgdGhlIFZpc3VhbCBGaWx0ZXIgU2V0dGluZ3NcIlxuXHR9LFxuXHRGVUxMU0NSRUVOTU9ERV9OT1RfT05fTElTVFJFUE9SVDogXCJlbmFibGVGdWxsU2NyZWVuTW9kZSBpcyBub3Qgc3VwcG9ydGVkIG9uIGxpc3QgcmVwb3J0IHBhZ2VzLlwiLFxuXHRLUElfSVNTVUVTOiB7XG5cdFx0S1BJX05PVF9GT1VORDogXCJDb3VsZG4ndCBmaW5kIEtQSSBvciBTUFYgd2l0aCBxdWFsaWZpZXIgXCIsXG5cdFx0S1BJX0RFVEFJTF9OT1RfRk9VTkQ6IFwiQ2FuJ3QgZmluZCBwcm9wZXIgZGF0YXBvaW50IG9yIGNoYXJ0IGRlZmluaXRpb24gZm9yIEtQSSBcIixcblx0XHROT19BTkFMWVRJQ1M6IFwiVGhlIGZvbGxvd2luZyBlbnRpdHlTZXQgdXNlZCBpbiBhIEtQSSBkZWZpbml0aW9uIGRvZXNuJ3Qgc3VwcG9ydCAkYXBwbHkgcXVlcmllczpcIixcblx0XHRNQUlOX1BST1BFUlRZX05PVF9BR0dSRUdBVEFCTEU6IFwiTWFpbiBwcm9wZXJ0eSB1c2VkIGluIEtQSSBjYW5ub3QgYmUgYWdncmVnYXRlZCBcIlxuXHR9XG59O1xuIl19
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJc3N1ZVNldmVyaXR5IiwiSXNzdWVDYXRlZ29yeVR5cGUiLCJGYWNldHMiLCJNaXNzaW5nSUQiLCJVblN1cHBvcnRlZExldmVsIiwiQW5ub3RhdGlvbkNvbHVtbnMiLCJJbnZhbGlkS2V5IiwiQW5ub3RhdGlvbnMiLCJJZ25vcmVkQW5ub3RhdGlvbiIsIklzc3VlQ2F0ZWdvcnkiLCJJc3N1ZVR5cGUiLCJNSVNTSU5HX0xJTkVJVEVNIiwiTUlTU0lOR19TRUxFQ1RJT05GSUVMRCIsIk1BTEZPUk1FRF9EQVRBRklFTERfRk9SX0lCTiIsIlJFUVVJUkVTQ09OVEVYVCIsIklOTElORSIsIkRFVEVSTUlOSU5HIiwiTUFMRk9STUVEX1ZJU1VBTEZJTFRFUlMiLCJWQUxVRUxJU1QiLCJQUkVTRU5UQVRJT05WQVJJQU5UIiwiQ0hBUlQiLCJWQUxVRUxJU1RDT05GSUciLCJGVUxMU0NSRUVOTU9ERV9OT1RfT05fTElTVFJFUE9SVCIsIktQSV9JU1NVRVMiLCJLUElfTk9UX0ZPVU5EIiwiS1BJX0RFVEFJTF9OT1RfRk9VTkQiLCJOT19BTkFMWVRJQ1MiLCJNQUlOX1BST1BFUlRZX05PVF9BR0dSRUdBVEFCTEUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIklzc3VlTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBJc3N1ZVNldmVyaXR5IHtcblx0SGlnaCxcblx0TG93LFxuXHRNZWRpdW1cbn1cblxuZXhwb3J0IGNvbnN0IElzc3VlQ2F0ZWdvcnlUeXBlID0ge1xuXHRGYWNldHM6IHtcblx0XHRNaXNzaW5nSUQ6IFwiTWlzc2luZ0lEXCIsXG5cdFx0VW5TdXBwb3J0ZWRMZXZlbDogXCJVbnN1cHBvcnRlZExldmVsXCJcblx0fSxcblx0QW5ub3RhdGlvbkNvbHVtbnM6IHtcblx0XHRJbnZhbGlkS2V5OiBcIkludmFsaWRLZXlcIlxuXHR9LFxuXHRBbm5vdGF0aW9uczoge1xuXHRcdElnbm9yZWRBbm5vdGF0aW9uOiBcIklnbm9yZWRBbm5vdGF0aW9uXCJcblx0fVxufTtcblxuZXhwb3J0IGVudW0gSXNzdWVDYXRlZ29yeSB7XG5cdEFubm90YXRpb24gPSBcIkFubm90YXRpb25cIixcblx0VGVtcGxhdGUgPSBcIlRlbXBsYXRlXCIsXG5cdE1hbmlmZXN0ID0gXCJNYW5pZmVzdFwiLFxuXHRGYWNldHMgPSBcIkZhY2V0c1wiXG59XG5leHBvcnQgY29uc3QgSXNzdWVUeXBlID0ge1xuXHRNSVNTSU5HX0xJTkVJVEVNOiBcIldlIGNvdWxkbid0IGZpbmQgYSBsaW5lIGl0ZW0gYW5ub3RhdGlvbiBmb3IgdGhlIGN1cnJlbnQgZW50aXR5U2V0LCB5b3Ugc2hvdWxkIGNvbnNpZGVyIGFkZGluZyBvbmUuXCIsXG5cdE1JU1NJTkdfU0VMRUNUSU9ORklFTEQ6IFwiRGVmaW5lZCBTZWxlY3Rpb24gRmllbGQgaXMgbm90IGZvdW5kXCIsXG5cdE1BTEZPUk1FRF9EQVRBRklFTERfRk9SX0lCTjoge1xuXHRcdFJFUVVJUkVTQ09OVEVYVDogXCJEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gY2Fubm90IHVzZSByZXF1aXJlcyBjb250ZXh0IGluIGZvcm0vaGVhZGVyLlwiLFxuXHRcdElOTElORTogXCJEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gY2Fubm90IHVzZSBJbmxpbmUgaW4gZm9ybS9oZWFkZXIuXCIsXG5cdFx0REVURVJNSU5JTkc6IFwiRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uIGNhbm5vdCB1c2UgRGV0ZXJtaW5pbmcgaW4gZm9ybS9oZWFkZXIuXCJcblx0fSxcblx0TUFMRk9STUVEX1ZJU1VBTEZJTFRFUlM6IHtcblx0XHRWQUxVRUxJU1Q6IFwiVmFsdWVMaXN0IFBhdGggbWVudGlvbmVkIGluIHRoZSBtYW5pZmVzdCBpcyBub3QgZm91bmRcIixcblx0XHRQUkVTRU5UQVRJT05WQVJJQU5UOiBcIlByZXNlbnRhdGlvbiBWYXJpYW50IEFubm90YXRpb24gaXMgbWlzc2luZyBmb3IgdGhlIFZpc3VhbEZpbHRlcnNcIixcblx0XHRDSEFSVDogXCJDaGFydCBBbm5vdGF0aW9uIGlzIG1pc3NpbmcgZnJvbSB0aGUgUFYgY29uZmlndXJlZCBmb3IgdGhlIFZpc3VhbEZpbHRlcnNcIixcblx0XHRWQUxVRUxJU1RDT05GSUc6IFwiVmFsdWVMaXN0IGlzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgaW5zaWRlIHRoZSBWaXN1YWwgRmlsdGVyIFNldHRpbmdzXCJcblx0fSxcblx0RlVMTFNDUkVFTk1PREVfTk9UX09OX0xJU1RSRVBPUlQ6IFwiZW5hYmxlRnVsbFNjcmVlbk1vZGUgaXMgbm90IHN1cHBvcnRlZCBvbiBsaXN0IHJlcG9ydCBwYWdlcy5cIixcblx0S1BJX0lTU1VFUzoge1xuXHRcdEtQSV9OT1RfRk9VTkQ6IFwiQ291bGRuJ3QgZmluZCBLUEkgb3IgU1BWIHdpdGggcXVhbGlmaWVyIFwiLFxuXHRcdEtQSV9ERVRBSUxfTk9UX0ZPVU5EOiBcIkNhbid0IGZpbmQgcHJvcGVyIGRhdGFwb2ludCBvciBjaGFydCBkZWZpbml0aW9uIGZvciBLUEkgXCIsXG5cdFx0Tk9fQU5BTFlUSUNTOiBcIlRoZSBmb2xsb3dpbmcgZW50aXR5U2V0IHVzZWQgaW4gYSBLUEkgZGVmaW5pdGlvbiBkb2Vzbid0IHN1cHBvcnQgJGFwcGx5IHF1ZXJpZXM6XCIsXG5cdFx0TUFJTl9QUk9QRVJUWV9OT1RfQUdHUkVHQVRBQkxFOiBcIk1haW4gcHJvcGVydHkgdXNlZCBpbiBLUEkgY2Fubm90IGJlIGFnZ3JlZ2F0ZWQgXCJcblx0fVxufTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7O01BQVlBLGE7O2FBQUFBLGE7SUFBQUEsYSxDQUFBQSxhO0lBQUFBLGEsQ0FBQUEsYTtJQUFBQSxhLENBQUFBLGE7S0FBQUEsYSxLQUFBQSxhOzs7RUFNTCxJQUFNQyxpQkFBaUIsR0FBRztJQUNoQ0MsTUFBTSxFQUFFO01BQ1BDLFNBQVMsRUFBRSxXQURKO01BRVBDLGdCQUFnQixFQUFFO0lBRlgsQ0FEd0I7SUFLaENDLGlCQUFpQixFQUFFO01BQ2xCQyxVQUFVLEVBQUU7SUFETSxDQUxhO0lBUWhDQyxXQUFXLEVBQUU7TUFDWkMsaUJBQWlCLEVBQUU7SUFEUDtFQVJtQixDQUExQjs7TUFhS0MsYTs7YUFBQUEsYTtJQUFBQSxhO0lBQUFBLGE7SUFBQUEsYTtJQUFBQSxhO0tBQUFBLGEsS0FBQUEsYTs7O0VBTUwsSUFBTUMsU0FBUyxHQUFHO0lBQ3hCQyxnQkFBZ0IsRUFBRSxvR0FETTtJQUV4QkMsc0JBQXNCLEVBQUUsc0NBRkE7SUFHeEJDLDJCQUEyQixFQUFFO01BQzVCQyxlQUFlLEVBQUUsK0VBRFc7TUFFNUJDLE1BQU0sRUFBRSxxRUFGb0I7TUFHNUJDLFdBQVcsRUFBRTtJQUhlLENBSEw7SUFReEJDLHVCQUF1QixFQUFFO01BQ3hCQyxTQUFTLEVBQUUsdURBRGE7TUFFeEJDLG1CQUFtQixFQUFFLGtFQUZHO01BR3hCQyxLQUFLLEVBQUUsMEVBSGlCO01BSXhCQyxlQUFlLEVBQUU7SUFKTyxDQVJEO0lBY3hCQyxnQ0FBZ0MsRUFBRSw2REFkVjtJQWV4QkMsVUFBVSxFQUFFO01BQ1hDLGFBQWEsRUFBRSwwQ0FESjtNQUVYQyxvQkFBb0IsRUFBRSwwREFGWDtNQUdYQyxZQUFZLEVBQUUsa0ZBSEg7TUFJWEMsOEJBQThCLEVBQUU7SUFKckI7RUFmWSxDQUFsQiJ9