@sapui5/sap.fe.core 1.113.0 → 1.115.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 (375) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime-dbg.js +68 -5
  4. package/src/sap/fe/core/ActionRuntime.js +1 -1
  5. package/src/sap/fe/core/ActionRuntime.js.map +1 -1
  6. package/src/sap/fe/core/ActionRuntime.ts +120 -4
  7. package/src/sap/fe/core/AppComponent-dbg.js +8 -2
  8. package/src/sap/fe/core/AppComponent.js +1 -1
  9. package/src/sap/fe/core/AppComponent.js.map +1 -1
  10. package/src/sap/fe/core/AppComponent.ts +19 -3
  11. package/src/sap/fe/core/AppStateHandler-dbg.js +14 -10
  12. package/src/sap/fe/core/AppStateHandler.js +1 -1
  13. package/src/sap/fe/core/AppStateHandler.js.map +1 -1
  14. package/src/sap/fe/core/AppStateHandler.ts +17 -11
  15. package/src/sap/fe/core/BaseController-dbg.js +1 -1
  16. package/src/sap/fe/core/BaseController.ts +13 -2
  17. package/src/sap/fe/core/CommonUtils-dbg.js +74 -317
  18. package/src/sap/fe/core/CommonUtils.js +1 -1
  19. package/src/sap/fe/core/CommonUtils.js.map +1 -1
  20. package/src/sap/fe/core/CommonUtils.ts +96 -473
  21. package/src/sap/fe/core/ExtensionAPI-dbg.js +1 -1
  22. package/src/sap/fe/core/ExtensionAPI.ts +2 -2
  23. package/src/sap/fe/core/StateFilterToSelectionVariant-dbg.js +263 -0
  24. package/src/sap/fe/core/StateFilterToSelectionVariant.js +6 -0
  25. package/src/sap/fe/core/StateFilterToSelectionVariant.js.map +1 -0
  26. package/src/sap/fe/core/StateFilterToSelectionVariant.ts +316 -0
  27. package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
  28. package/src/sap/fe/core/TemplateComponent.ts +6 -0
  29. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +10 -3
  30. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
  31. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
  32. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +8 -1
  33. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +1 -1
  34. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +1 -0
  35. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +8 -8
  36. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
  37. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +7 -7
  38. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +1 -1
  39. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +1 -1
  40. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +68 -36
  41. package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  42. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
  43. package/src/sap/fe/core/controllerextensions/EditFlow.ts +83 -43
  44. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +12 -11
  45. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  46. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
  47. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +17 -21
  48. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +233 -133
  49. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  50. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
  51. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +260 -145
  52. package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +1 -1
  53. package/src/sap/fe/core/controllerextensions/MassEdit.ts +3 -3
  54. package/src/sap/fe/core/controllerextensions/Routing-dbg.js +5 -3
  55. package/src/sap/fe/core/controllerextensions/Routing.js.map +1 -1
  56. package/src/sap/fe/core/controllerextensions/Routing.ts +5 -4
  57. package/src/sap/fe/core/controllerextensions/Share-dbg.js +3 -2
  58. package/src/sap/fe/core/controllerextensions/Share.js +1 -1
  59. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
  60. package/src/sap/fe/core/controllerextensions/Share.ts +2 -1
  61. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +19 -14
  62. package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  63. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
  64. package/src/sap/fe/core/controllerextensions/SideEffects.ts +25 -18
  65. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +40 -26
  66. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  67. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
  68. package/src/sap/fe/core/controllerextensions/ViewState.ts +59 -33
  69. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +8 -8
  70. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
  71. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
  72. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +23 -25
  73. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +7 -45
  74. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
  75. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
  76. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +5 -48
  77. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +2 -2
  78. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +1 -1
  79. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -1
  80. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +7 -3
  81. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +73 -90
  82. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  83. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  84. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +88 -101
  85. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +26 -4
  86. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
  87. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
  88. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +29 -3
  89. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +13 -10
  90. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +1 -1
  91. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
  92. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +7 -20
  93. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +64 -4
  94. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
  95. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
  96. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +91 -8
  97. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +2 -4
  98. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
  99. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
  100. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +3 -5
  101. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +9 -9
  102. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
  103. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
  104. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +8 -8
  105. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -0
  106. package/src/sap/fe/core/controls/CommandExecution-dbg.js +4 -9
  107. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  108. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
  109. package/src/sap/fe/core/controls/CommandExecution.ts +0 -8
  110. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +335 -0
  111. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +6 -0
  112. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js.map +1 -0
  113. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +336 -0
  114. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
  115. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +3 -28
  116. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
  117. package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -1
  118. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +8 -29
  119. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters-dbg.js +435 -0
  120. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.js +6 -0
  121. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.js.map +1 -0
  122. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.ts +532 -0
  123. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +30 -1
  124. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
  125. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
  126. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +38 -0
  127. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
  128. package/src/sap/fe/core/converters/ManifestSettings.ts +7 -5
  129. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +36 -4
  130. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  131. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
  132. package/src/sap/fe/core/converters/MetaModelConverter.ts +45 -4
  133. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -3
  134. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  135. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
  136. package/src/sap/fe/core/converters/TemplateConverter.ts +1 -6
  137. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +18 -3
  138. package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  139. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
  140. package/src/sap/fe/core/converters/annotations/DataField.ts +18 -2
  141. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +679 -676
  142. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  143. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
  144. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +32 -20
  145. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  146. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  147. package/src/sap/fe/core/converters/controls/Common/Chart.ts +30 -18
  148. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +4 -5
  149. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  150. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  151. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +6 -37
  152. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +100 -72
  153. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  154. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  155. package/src/sap/fe/core/converters/controls/Common/Table.ts +146 -99
  156. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +37 -10
  157. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  158. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  159. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +49 -16
  160. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +47 -18
  161. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  162. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
  163. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +74 -20
  164. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +26 -9
  165. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  166. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
  167. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +24 -8
  168. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +28 -2
  169. package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  170. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
  171. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -9
  172. package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +39 -0
  173. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +6 -0
  174. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -0
  175. package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +45 -0
  176. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +13 -15
  177. package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  178. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
  179. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +18 -54
  180. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +12 -12
  181. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  182. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
  183. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +16 -11
  184. package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +17 -33
  185. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  186. package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -1
  187. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +27 -22
  188. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -11
  189. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  190. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
  191. package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -25
  192. package/src/sap/fe/core/fpm/Component-dbg.js +3 -1
  193. package/src/sap/fe/core/fpm/Component.js +1 -1
  194. package/src/sap/fe/core/fpm/Component.js.map +1 -1
  195. package/src/sap/fe/core/fpm/Component.ts +3 -1
  196. package/src/sap/fe/core/fpm/manifest.json +1 -1
  197. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +74 -26
  198. package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
  199. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  200. package/src/sap/fe/core/helpers/BindingToolkit.ts +116 -33
  201. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +82 -37
  202. package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
  203. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
  204. package/src/sap/fe/core/helpers/DeleteHelper.ts +109 -56
  205. package/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +1 -1
  206. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +7 -5
  207. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +13 -3
  208. package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
  209. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
  210. package/src/sap/fe/core/helpers/MassEditHelper.ts +28 -18
  211. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +1 -1
  212. package/src/sap/fe/core/helpers/MessageStrip.ts +2 -1
  213. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +1 -1
  214. package/src/sap/fe/core/helpers/ModelHelper.ts +3 -3
  215. package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +71 -0
  216. package/src/sap/fe/core/helpers/RecommendationHelper.js +6 -0
  217. package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -0
  218. package/src/sap/fe/core/helpers/RecommendationHelper.ts +94 -0
  219. package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +5 -2
  220. package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
  221. package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
  222. package/src/sap/fe/core/helpers/ResourceModelHelper.ts +5 -0
  223. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +24 -2
  224. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  225. package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
  226. package/src/sap/fe/core/helpers/StableIdHelper.ts +23 -1
  227. package/src/sap/fe/core/helpers/TitleHelper-dbg.js +239 -0
  228. package/src/sap/fe/core/helpers/TitleHelper.js +6 -0
  229. package/src/sap/fe/core/helpers/TitleHelper.js.map +1 -0
  230. package/src/sap/fe/core/helpers/TitleHelper.ts +295 -0
  231. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +4 -1
  232. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +1 -1
  233. package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
  234. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +3 -0
  235. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +41 -17
  236. package/src/sap/fe/core/jsx-runtime/jsx-control.js +1 -1
  237. package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -1
  238. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +45 -21
  239. package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
  240. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -0
  241. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +8 -4
  242. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
  243. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
  244. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +7 -2
  245. package/src/sap/fe/core/library-dbg.js +4 -3
  246. package/src/sap/fe/core/library-preload.js +91 -74
  247. package/src/sap/fe/core/library-preload.js.map +1 -1
  248. package/src/sap/fe/core/library.js +1 -1
  249. package/src/sap/fe/core/library.js.map +1 -1
  250. package/src/sap/fe/core/library.ts +1 -1
  251. package/src/sap/fe/core/manifest.json +1 -1
  252. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +4 -3
  253. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  254. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
  255. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +3 -2
  256. package/src/sap/fe/core/messagebundle.properties +12 -8
  257. package/src/sap/fe/core/messagebundle_ar.properties +7 -5
  258. package/src/sap/fe/core/messagebundle_bg.properties +7 -5
  259. package/src/sap/fe/core/messagebundle_ca.properties +7 -5
  260. package/src/sap/fe/core/messagebundle_cs.properties +7 -5
  261. package/src/sap/fe/core/messagebundle_cy.properties +7 -5
  262. package/src/sap/fe/core/messagebundle_da.properties +7 -5
  263. package/src/sap/fe/core/messagebundle_de.properties +7 -5
  264. package/src/sap/fe/core/messagebundle_el.properties +7 -5
  265. package/src/sap/fe/core/messagebundle_en.properties +7 -5
  266. package/src/sap/fe/core/messagebundle_en_GB.properties +6 -4
  267. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -4
  268. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +6 -4
  269. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +7 -4
  270. package/src/sap/fe/core/messagebundle_es.properties +7 -5
  271. package/src/sap/fe/core/messagebundle_es_MX.properties +7 -5
  272. package/src/sap/fe/core/messagebundle_et.properties +7 -5
  273. package/src/sap/fe/core/messagebundle_fi.properties +7 -5
  274. package/src/sap/fe/core/messagebundle_fr.properties +7 -5
  275. package/src/sap/fe/core/messagebundle_fr_CA.properties +8 -6
  276. package/src/sap/fe/core/messagebundle_hi.properties +7 -5
  277. package/src/sap/fe/core/messagebundle_hr.properties +7 -5
  278. package/src/sap/fe/core/messagebundle_hu.properties +7 -5
  279. package/src/sap/fe/core/messagebundle_id.properties +7 -5
  280. package/src/sap/fe/core/messagebundle_it.properties +8 -6
  281. package/src/sap/fe/core/messagebundle_iw.properties +7 -5
  282. package/src/sap/fe/core/messagebundle_ja.properties +7 -5
  283. package/src/sap/fe/core/messagebundle_kk.properties +7 -5
  284. package/src/sap/fe/core/messagebundle_ko.properties +7 -5
  285. package/src/sap/fe/core/messagebundle_lt.properties +7 -5
  286. package/src/sap/fe/core/messagebundle_lv.properties +7 -5
  287. package/src/sap/fe/core/messagebundle_ms.properties +7 -5
  288. package/src/sap/fe/core/messagebundle_nl.properties +7 -5
  289. package/src/sap/fe/core/messagebundle_no.properties +7 -5
  290. package/src/sap/fe/core/messagebundle_pl.properties +7 -5
  291. package/src/sap/fe/core/messagebundle_pt.properties +7 -5
  292. package/src/sap/fe/core/messagebundle_pt_PT.properties +7 -5
  293. package/src/sap/fe/core/messagebundle_ro.properties +7 -5
  294. package/src/sap/fe/core/messagebundle_ru.properties +7 -5
  295. package/src/sap/fe/core/messagebundle_sh.properties +7 -5
  296. package/src/sap/fe/core/messagebundle_sk.properties +7 -5
  297. package/src/sap/fe/core/messagebundle_sl.properties +7 -5
  298. package/src/sap/fe/core/messagebundle_sv.properties +7 -5
  299. package/src/sap/fe/core/messagebundle_th.properties +7 -5
  300. package/src/sap/fe/core/messagebundle_tr.properties +7 -5
  301. package/src/sap/fe/core/messagebundle_uk.properties +7 -5
  302. package/src/sap/fe/core/messagebundle_vi.properties +7 -5
  303. package/src/sap/fe/core/messagebundle_zh_CN.properties +7 -5
  304. package/src/sap/fe/core/messagebundle_zh_TW.properties +7 -5
  305. package/src/sap/fe/core/operationsHelper-dbg.js +1 -1
  306. package/src/sap/fe/core/operationsHelper.ts +1 -1
  307. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +8 -2
  308. package/src/sap/fe/core/rootView/Fcl.controller.js +1 -1
  309. package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -1
  310. package/src/sap/fe/core/rootView/Fcl.controller.ts +8 -1
  311. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +8 -2
  312. package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
  313. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
  314. package/src/sap/fe/core/rootView/NavContainer.controller.ts +10 -3
  315. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +16 -6
  316. package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
  317. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
  318. package/src/sap/fe/core/rootView/RootViewBaseController.ts +10 -4
  319. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +54 -5
  320. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  321. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  322. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +52 -6
  323. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +31 -14
  324. package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
  325. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
  326. package/src/sap/fe/core/services/NavigationServiceFactory.ts +15 -1
  327. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +10 -4
  328. package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  329. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
  330. package/src/sap/fe/core/services/RoutingServiceFactory.ts +29 -7
  331. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +5 -2
  332. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  333. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
  334. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +9 -5
  335. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -2
  336. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
  337. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +2 -18
  338. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +8 -8
  339. package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
  340. package/src/sap/fe/core/templating/CommonFormatters.ts +9 -9
  341. package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +1 -1
  342. package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
  343. package/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +38 -2
  344. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  345. package/src/sap/fe/core/templating/DataFieldFormatters.js.map +1 -1
  346. package/src/sap/fe/core/templating/DataFieldFormatters.ts +40 -0
  347. package/src/sap/fe/core/templating/FieldControlHelper-dbg.js +5 -6
  348. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  349. package/src/sap/fe/core/templating/FieldControlHelper.js.map +1 -1
  350. package/src/sap/fe/core/templating/FieldControlHelper.ts +13 -11
  351. package/src/sap/fe/core/templating/FilterHelper-dbg.js +13 -1
  352. package/src/sap/fe/core/templating/FilterHelper.js +1 -1
  353. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
  354. package/src/sap/fe/core/templating/FilterHelper.ts +13 -1
  355. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +1 -1
  356. package/src/sap/fe/core/templating/PropertyHelper.ts +7 -7
  357. package/src/sap/fe/core/templating/UIFormatters-dbg.js +5 -6
  358. package/src/sap/fe/core/templating/UIFormatters.js +1 -1
  359. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
  360. package/src/sap/fe/core/templating/UIFormatters.ts +6 -7
  361. package/src/sap/fe/core/type/TypeUtil-dbg.js +2 -2
  362. package/src/sap/fe/core/type/TypeUtil.js +1 -1
  363. package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
  364. package/src/sap/fe/core/type/TypeUtil.ts +2 -2
  365. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +0 -243
  366. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +0 -6
  367. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +0 -1
  368. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +0 -283
  369. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +0 -121
  370. package/src/sap/fe/core/controllerextensions/collaboration/UserDetails.fragment.xml +0 -11
  371. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +0 -59
  372. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +0 -171
  373. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +0 -6
  374. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +0 -1
  375. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +0 -184
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/fe/core/converters/annotations/DataField", "sap/fe/core/converters/controls/Common/Action", "sap/fe/core/converters/helpers/ConfigurableObject", "sap/fe/core/converters/helpers/Key", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/templating/DataModelPathHelper", "sap/ui/core/Core", "../../helpers/Aggregation", "../../helpers/ID", "../../ManifestSettings"], function (Log, DataField, Action, ConfigurableObject, Key, BindingToolkit, DataModelPathHelper, Core, Aggregation, ID, ManifestSettings) {
5
+ sap.ui.define(["sap/base/Log", "sap/fe/core/converters/annotations/DataField", "sap/fe/core/converters/controls/Common/Action", "sap/fe/core/converters/helpers/ConfigurableObject", "sap/fe/core/converters/helpers/Key", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/templating/DataModelPathHelper", "sap/ui/core/Core", "../../helpers/Aggregation", "../../helpers/ID", "../../helpers/InsightsHelpers", "../../ManifestSettings"], function (Log, DataField, Action, ConfigurableObject, Key, BindingToolkit, DataModelPathHelper, Core, Aggregation, ID, InsightsHelpers, ManifestSettings) {
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
@@ -10,6 +10,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/converters/annotations/DataField", "
10
10
  var VariantManagementType = ManifestSettings.VariantManagementType;
11
11
  var TemplateType = ManifestSettings.TemplateType;
12
12
  var ActionType = ManifestSettings.ActionType;
13
+ var getInsightsVisibility = InsightsHelpers.getInsightsVisibility;
13
14
  var getFilterBarID = ID.getFilterBarID;
14
15
  var getChartID = ID.getChartID;
15
16
  var AggregationHelper = Aggregation.AggregationHelper;
@@ -130,6 +131,24 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/converters/annotations/DataField", "
130
131
  var _viewConfiguration$an;
131
132
  return (viewConfiguration === null || viewConfiguration === void 0 ? void 0 : (_viewConfiguration$an = viewConfiguration.annotationPath) === null || _viewConfiguration$an === void 0 ? void 0 : _viewConfiguration$an.indexOf(`@${"com.sap.vocabularies.UI.v1.SelectionPresentationVariant"}`)) !== -1 ? viewConfiguration === null || viewConfiguration === void 0 ? void 0 : viewConfiguration.annotationPath : undefined;
132
133
  }
134
+ function getAggregatablePropertiesObject(aggProp) {
135
+ let obj;
136
+ if (aggProp !== null && aggProp !== void 0 && aggProp.Property) {
137
+ var _Property;
138
+ obj = {
139
+ Property: {
140
+ $PropertyPath: aggProp === null || aggProp === void 0 ? void 0 : (_Property = aggProp.Property) === null || _Property === void 0 ? void 0 : _Property.value
141
+ }
142
+ };
143
+ } else {
144
+ obj = {
145
+ Property: {
146
+ $PropertyPath: aggProp === null || aggProp === void 0 ? void 0 : aggProp.name
147
+ }
148
+ };
149
+ }
150
+ return obj;
151
+ }
133
152
  /**
134
153
  * Create the ChartVisualization configuration that will be used to display a chart using the Chart building block.
135
154
  *
@@ -138,11 +157,12 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/converters/annotations/DataField", "
138
157
  * @param converterContext The converter context
139
158
  * @param doNotCheckApplySupported Flag that indicates whether ApplySupported needs to be checked or not
140
159
  * @param viewConfiguration
160
+ * @param isInsightsEnabled Flag that indicates whether insights enabled
141
161
  * @returns The chart visualization based on the annotation
142
162
  */
143
- function createChartVisualization(chartAnnotation, visualizationPath, converterContext, doNotCheckApplySupported, viewConfiguration) {
163
+ function createChartVisualization(chartAnnotation, visualizationPath, converterContext, doNotCheckApplySupported, viewConfiguration, isInsightsEnabled) {
144
164
  var _chartAnnotation$Titl;
145
- const aggregationHelper = new AggregationHelper(converterContext.getEntityType(), converterContext);
165
+ const aggregationHelper = new AggregationHelper(converterContext.getEntityType(), converterContext, true); // passing the last parameter as true to consider the old annotations i.e. Aggregation.Aggregatable for backward compatibility in case of chart
146
166
  if (!doNotCheckApplySupported && !aggregationHelper.isAnalyticsSupported()) {
147
167
  throw new Error("ApplySupported is not added to the annotations");
148
168
  }
@@ -198,22 +218,13 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/converters/annotations/DataField", "
198
218
  mApplySupported.$Type = "Org.OData.Aggregation.V1.ApplySupportedType";
199
219
  mApplySupported.AggregatableProperties = [];
200
220
  mApplySupported.GroupableProperties = [];
201
- for (let i = 0; aAggProps && i < aAggProps.length; i++) {
202
- var _aAggProps$i, _aAggProps$i2, _aAggProps$i2$Propert;
203
- const obj = {
204
- $Type: (_aAggProps$i = aAggProps[i]) === null || _aAggProps$i === void 0 ? void 0 : _aAggProps$i.$Type,
205
- Property: {
206
- $PropertyPath: (_aAggProps$i2 = aAggProps[i]) === null || _aAggProps$i2 === void 0 ? void 0 : (_aAggProps$i2$Propert = _aAggProps$i2.Property) === null || _aAggProps$i2$Propert === void 0 ? void 0 : _aAggProps$i2$Propert.value
207
- }
208
- };
209
- mApplySupported.AggregatableProperties.push(obj);
221
+ if (aAggProps) {
222
+ mApplySupported.AggregatableProperties = aAggProps.map(prop => getAggregatablePropertiesObject(prop));
210
223
  }
211
- for (let i = 0; aGrpProps && i < aGrpProps.length; i++) {
212
- var _aGrpProps$i;
213
- const obj = {
214
- $PropertyPath: (_aGrpProps$i = aGrpProps[i]) === null || _aGrpProps$i === void 0 ? void 0 : _aGrpProps$i.value
215
- };
216
- mApplySupported.GroupableProperties.push(obj);
224
+ if (aGrpProps) {
225
+ mApplySupported.GroupableProperties = aGrpProps.map(prop => ({
226
+ ["$PropertyPath"]: prop.value
227
+ }));
217
228
  }
218
229
  const chartActions = getChartActions(chartAnnotation, visualizationPath, converterContext);
219
230
  let [navigationPropertyPath /*, annotationPath*/] = visualizationPath.split("@");
@@ -268,7 +279,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/converters/annotations/DataField", "
268
279
  transAgg: mTransAggregations,
269
280
  applySupported: mApplySupported,
270
281
  selectionPresentationVariantPath: mSelectionPresentationVariantPath,
271
- variantManagement: findVariantManagement(p13nMode, variantManagement)
282
+ variantManagement: findVariantManagement(p13nMode, variantManagement),
283
+ isInsightsEnabled: (isInsightsEnabled ?? false) && getInsightsVisibility("Analytical", converterContext, visualizationPath)
272
284
  };
273
285
  }
274
286
  /**
@@ -335,4 +347,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/converters/annotations/DataField", "
335
347
  _exports.createBlankChartVisualization = createBlankChartVisualization;
336
348
  return _exports;
337
349
  }, false);
338
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRDaGFydEFjdGlvbnNGcm9tQW5ub3RhdGlvbnMiLCJjaGFydEFubm90YXRpb24iLCJ2aXN1YWxpemF0aW9uUGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJjaGFydEFjdGlvbnMiLCJhQWN0aW9ucyIsIkFjdGlvbnMiLCJmb3JFYWNoIiwiZGF0YUZpZWxkIiwiY2hhcnRBY3Rpb24iLCJpc0RhdGFGaWVsZEZvckFjdGlvbkFic3RyYWN0IiwiSW5saW5lIiwiRGV0ZXJtaW5pbmciLCJrZXkiLCJLZXlIZWxwZXIiLCJnZW5lcmF0ZUtleUZyb21EYXRhRmllbGQiLCIkVHlwZSIsIkFjdGlvblRhcmdldCIsImlzQm91bmQiLCJ0eXBlIiwiQWN0aW9uVHlwZSIsIkRhdGFGaWVsZEZvckFjdGlvbiIsImFubm90YXRpb25QYXRoIiwiZ2V0RW50aXR5U2V0QmFzZWRBbm5vdGF0aW9uUGF0aCIsImZ1bGx5UXVhbGlmaWVkTmFtZSIsInZpc2libGUiLCJnZXRDb21waWxlRXhwcmVzc2lvbkZvckFjdGlvbiIsIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbiIsImlzTmF2aWdhYmxlIiwicHVzaCIsImdldENoYXJ0QWN0aW9ucyIsImFBbm5vdGF0aW9uQWN0aW9ucyIsIm1hbmlmZXN0QWN0aW9ucyIsImdldEFjdGlvbnNGcm9tTWFuaWZlc3QiLCJnZXRNYW5pZmVzdENvbnRyb2xDb25maWd1cmF0aW9uIiwiYWN0aW9ucyIsImFjdGlvbk92ZXJ3cml0ZUNvbmZpZyIsImVuYWJsZWQiLCJPdmVycmlkZVR5cGUiLCJvdmVyd3JpdGUiLCJlbmFibGVPblNlbGVjdCIsImNvbW1hbmQiLCJpbnNlcnRDdXN0b21FbGVtZW50cyIsImNvbW1hbmRBY3Rpb25zIiwiZ2V0UDEzbk1vZGUiLCJtYW5pZmVzdFdyYXBwZXIiLCJnZXRNYW5pZmVzdFdyYXBwZXIiLCJjaGFydE1hbmlmZXN0U2V0dGluZ3MiLCJ2YXJpYW50TWFuYWdlbWVudCIsImdldFZhcmlhbnRNYW5hZ2VtZW50IiwiYVBlcnNvbmFsaXphdGlvbiIsInBlcnNvbmFsaXphdGlvbiIsImNoYXJ0U2V0dGluZ3MiLCJpc0NvbnRyb2xWYXJpYW50IiwiVmFyaWFudE1hbmFnZW1lbnRUeXBlIiwiQ29udHJvbCIsInVuZGVmaW5lZCIsIml0ZW0iLCJzb3J0IiwiZmlsdGVyIiwiam9pbiIsImNoZWNrRm9yU1BWIiwidmlld0NvbmZpZ3VyYXRpb24iLCJpbmRleE9mIiwiY3JlYXRlQ2hhcnRWaXN1YWxpemF0aW9uIiwiZG9Ob3RDaGVja0FwcGx5U3VwcG9ydGVkIiwiYWdncmVnYXRpb25IZWxwZXIiLCJBZ2dyZWdhdGlvbkhlbHBlciIsImdldEVudGl0eVR5cGUiLCJpc0FuYWx5dGljc1N1cHBvcnRlZCIsIkVycm9yIiwiYVRyYW5zQWdncmVnYXRpb25zIiwiZ2V0VHJhbnNBZ2dyZWdhdGlvbnMiLCJhQ3VzdG9tQWdncmVnYXRlcyIsImdldEN1c3RvbUFnZ3JlZ2F0ZURlZmluaXRpb25zIiwicGFnZU1hbmlmZXN0U2V0dGluZ3MiLCJwMTNuTW9kZSIsIkxvZyIsIndhcm5pbmciLCJtQ3VzdG9tQWdncmVnYXRlcyIsIm1TZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50UGF0aCIsImVudGl0eVR5cGUiLCJjdXN0b21BZ2dyZWdhdGUiLCJhQ29udGV4dERlZmluaW5nUHJvcGVydGllcyIsImFubm90YXRpb25zIiwiQWdncmVnYXRpb24iLCJDb250ZXh0RGVmaW5pbmdQcm9wZXJ0aWVzIiwicXVhbGlmaWVyIiwicmVsYXRlZEN1c3RvbUFnZ3JlZ2F0ZVByb3BlcnR5IiwiZW50aXR5UHJvcGVydGllcyIsImZpbmQiLCJwcm9wZXJ0eSIsIm5hbWUiLCJsYWJlbCIsIkNvbW1vbiIsIkxhYmVsIiwidG9TdHJpbmciLCJzb3J0YWJsZSIsInNvcnRPcmRlciIsImNvbnRleHREZWZpbmluZ1Byb3BlcnR5IiwibWFwIiwib0N0eERlZlByb3BlcnR5IiwidmFsdWUiLCJtVHJhbnNBZ2dyZWdhdGlvbnMiLCJvUmVzb3VyY2VCdW5kbGVDb3JlIiwiQ29yZSIsImdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZSIsImkiLCJsZW5ndGgiLCJOYW1lIiwicHJvcGVydHlQYXRoIiwiQWdncmVnYXRhYmxlUHJvcGVydHkiLCJ2YWx1ZU9mIiwiYWdncmVnYXRpb25NZXRob2QiLCJBZ2dyZWdhdGlvbk1ldGhvZCIsImdldFRleHQiLCJjdXN0b20iLCJhQWdnUHJvcHMiLCJnZXRBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzIiwiYUdycFByb3BzIiwiZ2V0R3JvdXBhYmxlUHJvcGVydGllcyIsIm1BcHBseVN1cHBvcnRlZCIsIkFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMiLCJHcm91cGFibGVQcm9wZXJ0aWVzIiwib2JqIiwiUHJvcGVydHkiLCIkUHJvcGVydHlQYXRoIiwibmF2aWdhdGlvblByb3BlcnR5UGF0aCIsInNwbGl0IiwibGFzdEluZGV4T2YiLCJzdWJzdHIiLCJ0aXRsZSIsIlRpdGxlIiwiZGF0YU1vZGVsUGF0aCIsImdldERhdGFNb2RlbE9iamVjdFBhdGgiLCJpc0VudGl0eVNldCIsImVudGl0eU5hbWUiLCJ0YXJnZXRFbnRpdHlTZXQiLCJzdGFydGluZ0VudGl0eVNldCIsInNGaWx0ZXJiYXJJZCIsImdldEZpbHRlckJhcklEIiwiZ2V0Q29udGV4dFBhdGgiLCJvVml6UHJvcGVydGllcyIsImxlZ2VuZEdyb3VwIiwibGF5b3V0IiwicG9zaXRpb24iLCJhdXRvQmluZE9uSW5pdCIsImdldFRlbXBsYXRlVHlwZSIsIlRlbXBsYXRlVHlwZSIsIk9iamVjdFBhZ2UiLCJMaXN0UmVwb3J0IiwiQW5hbHl0aWNhbExpc3RQYWdlIiwiaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucyIsIm9uU2VnbWVudGVkQnV0dG9uUHJlc3NlZCIsImFsbG93ZWRUcmFuc2Zvcm1hdGlvbnMiLCJnZXRBbGxvd2VkVHJhbnNmb3JtYXRpb25zIiwiZW5hYmxlU2VhcmNoIiwiVmlzdWFsaXphdGlvblR5cGUiLCJDaGFydCIsImlkIiwiZ2V0Q2hhcnRJRCIsImNvbGxlY3Rpb24iLCJnZXRUYXJnZXRPYmplY3RQYXRoIiwibmF2aWdhdGlvblBhdGgiLCJnZXRBYnNvbHV0ZUFubm90YXRpb25QYXRoIiwiZmlsdGVySWQiLCJ2aXpQcm9wZXJ0aWVzIiwiSlNPTiIsInN0cmluZ2lmeSIsImN1c3RvbUFnZyIsInRyYW5zQWdnIiwiYXBwbHlTdXBwb3J0ZWQiLCJzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50UGF0aCIsImZpbmRWYXJpYW50TWFuYWdlbWVudCIsIk5vbmUiLCJjb21waWxlRXhwcmVzc2lvbiIsIm5vdCIsImVxdWFsIiwiZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIiwiVUkiLCJIaWRkZW4iLCJnZXRSZWxhdGl2ZU1vZGVsUGF0aEZ1bmN0aW9uIiwiY3JlYXRlQmxhbmtDaGFydFZpc3VhbGl6YXRpb24iLCJ2aXN1YWxpemF0aW9uIiwibXVsdGlWaWV3cyJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQ2hhcnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eVBhdGggfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQWdncmVnYXRhYmxlUHJvcGVydHlUeXBlLCBBZ2dyZWdhdGlvbk1ldGhvZCB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQWdncmVnYXRpb25cIjtcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9BZ2dyZWdhdGlvblwiO1xuaW1wb3J0IHsgQ2hhcnQsIERhdGFGaWVsZEFic3RyYWN0VHlwZXMsIFVJQW5ub3RhdGlvblRlcm1zLCBVSUFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHsgaXNEYXRhRmllbGRGb3JBY3Rpb25BYnN0cmFjdCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2Fubm90YXRpb25zL0RhdGFGaWVsZFwiO1xuaW1wb3J0IHR5cGUge1xuXHRBbm5vdGF0aW9uQWN0aW9uLFxuXHRCYXNlQWN0aW9uLFxuXHRDb21iaW5lZEFjdGlvbixcblx0Q3VzdG9tQWN0aW9uLFxuXHRPdmVycmlkZVR5cGVBY3Rpb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL0FjdGlvblwiO1xuaW1wb3J0IHsgZ2V0QWN0aW9uc0Zyb21NYW5pZmVzdCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0NvbW1vbi9BY3Rpb25cIjtcbmltcG9ydCB7IGluc2VydEN1c3RvbUVsZW1lbnRzLCBPdmVycmlkZVR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0NvbmZpZ3VyYWJsZU9iamVjdFwiO1xuaW1wb3J0IHsgS2V5SGVscGVyIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9LZXlcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uLCBlcXVhbCwgZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uLCBub3QgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgZ2V0VGFyZ2V0T2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgdHlwZSB7IEV4cGFuZFBhdGhUeXBlLCBNZXRhTW9kZWxUeXBlIH0gZnJvbSBcInR5cGVzL21ldGFtb2RlbF90eXBlc1wiO1xuaW1wb3J0IHR5cGUgQ29udmVydGVyQ29udGV4dCBmcm9tIFwiLi4vLi4vQ29udmVydGVyQ29udGV4dFwiO1xuaW1wb3J0IHsgQWdncmVnYXRpb25IZWxwZXIgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9BZ2dyZWdhdGlvblwiO1xuaW1wb3J0IHsgZ2V0Q2hhcnRJRCwgZ2V0RmlsdGVyQmFySUQgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9JRFwiO1xuaW1wb3J0IHR5cGUgeyBDaGFydE1hbmlmZXN0Q29uZmlndXJhdGlvbiwgVmlld1BhdGhDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB7IEFjdGlvblR5cGUsIFRlbXBsYXRlVHlwZSwgVmFyaWFudE1hbmFnZW1lbnRUeXBlLCBWaXN1YWxpemF0aW9uVHlwZSB9IGZyb20gXCIuLi8uLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgdHlwZSBNYW5pZmVzdFdyYXBwZXIgZnJvbSBcIi4uLy4uL01hbmlmZXN0V3JhcHBlclwiO1xuXG50eXBlIENoYXJ0QXBwbHlTdXBwb3J0ZWQgPSB7XG5cdCRUeXBlOiBzdHJpbmc7XG5cdGVuYWJsZVNlYXJjaDogYm9vbGVhbjtcblx0QWdncmVnYXRhYmxlUHJvcGVydGllczogdW5rbm93bltdO1xuXHRHcm91cGFibGVQcm9wZXJ0aWVzOiB1bmtub3duW107XG59O1xuLyoqXG4gKiBAdHlwZWRlZiBDaGFydFZpc3VhbGl6YXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgQ2hhcnRWaXN1YWxpemF0aW9uID0ge1xuXHR0eXBlOiBWaXN1YWxpemF0aW9uVHlwZS5DaGFydDtcblx0aWQ6IHN0cmluZztcblx0Y29sbGVjdGlvbjogc3RyaW5nO1xuXHRlbnRpdHlOYW1lOiBzdHJpbmc7XG5cdHBlcnNvbmFsaXphdGlvbj86IHN0cmluZztcblx0bmF2aWdhdGlvblBhdGg6IHN0cmluZztcblx0YW5ub3RhdGlvblBhdGg6IHN0cmluZztcblx0ZmlsdGVySWQ/OiBzdHJpbmc7XG5cdHZpelByb3BlcnRpZXM6IHN0cmluZztcblx0YWN0aW9uczogQmFzZUFjdGlvbltdO1xuXHRjb21tYW5kQWN0aW9uczogUmVjb3JkPHN0cmluZywgQ3VzdG9tQWN0aW9uPjtcblx0dGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0YXV0b0JpbmRPbkluaXQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cdG9uU2VnbWVudGVkQnV0dG9uUHJlc3NlZDogc3RyaW5nO1xuXHR2aXNpYmxlOiBzdHJpbmc7XG5cdGN1c3RvbUFnZzogb2JqZWN0O1xuXHR0cmFuc0FnZzogb2JqZWN0O1xuXHRhcHBseVN1cHBvcnRlZDogQ2hhcnRBcHBseVN1cHBvcnRlZDtcblx0bXVsdGlWaWV3cz86IGJvb2xlYW47XG5cdHZhcmlhbnRNYW5hZ2VtZW50OiBWYXJpYW50TWFuYWdlbWVudFR5cGU7XG5cdHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnRQYXRoPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBNZXRob2QgdG8gcmV0cmlldmUgYWxsIGNoYXJ0IGFjdGlvbnMgZnJvbSBhbm5vdGF0aW9ucy5cbiAqXG4gKiBAcGFyYW0gY2hhcnRBbm5vdGF0aW9uXG4gKiBAcGFyYW0gdmlzdWFsaXphdGlvblBhdGhcbiAqIEBwYXJhbSBjb252ZXJ0ZXJDb250ZXh0XG4gKiBAcmV0dXJucyBUaGUgY2hhcnQgYWN0aW9ucyBmcm9tIHRoZSBhbm5vdGF0aW9uXG4gKi9cbmZ1bmN0aW9uIGdldENoYXJ0QWN0aW9uc0Zyb21Bbm5vdGF0aW9ucyhcblx0Y2hhcnRBbm5vdGF0aW9uOiBDaGFydCxcblx0dmlzdWFsaXphdGlvblBhdGg6IHN0cmluZyxcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dFxuKTogQmFzZUFjdGlvbltdIHtcblx0Y29uc3QgY2hhcnRBY3Rpb25zOiBCYXNlQWN0aW9uW10gPSBbXTtcblx0aWYgKGNoYXJ0QW5ub3RhdGlvbikge1xuXHRcdGNvbnN0IGFBY3Rpb25zID0gY2hhcnRBbm5vdGF0aW9uLkFjdGlvbnMgfHwgW107XG5cdFx0YUFjdGlvbnMuZm9yRWFjaCgoZGF0YUZpZWxkOiBEYXRhRmllbGRBYnN0cmFjdFR5cGVzKSA9PiB7XG5cdFx0XHRsZXQgY2hhcnRBY3Rpb246IEFubm90YXRpb25BY3Rpb24gfCB1bmRlZmluZWQ7XG5cdFx0XHRpZiAoaXNEYXRhRmllbGRGb3JBY3Rpb25BYnN0cmFjdChkYXRhRmllbGQpICYmICFkYXRhRmllbGQuSW5saW5lICYmICFkYXRhRmllbGQuRGV0ZXJtaW5pbmcpIHtcblx0XHRcdFx0Y29uc3Qga2V5ID0gS2V5SGVscGVyLmdlbmVyYXRlS2V5RnJvbURhdGFGaWVsZChkYXRhRmllbGQpO1xuXHRcdFx0XHRzd2l0Y2ggKGRhdGFGaWVsZC4kVHlwZSkge1xuXHRcdFx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuRGF0YUZpZWxkRm9yQWN0aW9uOlxuXHRcdFx0XHRcdFx0aWYgKCFkYXRhRmllbGQuQWN0aW9uVGFyZ2V0Py5pc0JvdW5kKSB7XG5cdFx0XHRcdFx0XHRcdGNoYXJ0QWN0aW9uID0ge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IEFjdGlvblR5cGUuRGF0YUZpZWxkRm9yQWN0aW9uLFxuXHRcdFx0XHRcdFx0XHRcdGFubm90YXRpb25QYXRoOiBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgoZGF0YUZpZWxkLmZ1bGx5UXVhbGlmaWVkTmFtZSksXG5cdFx0XHRcdFx0XHRcdFx0a2V5OiBrZXksXG5cdFx0XHRcdFx0XHRcdFx0dmlzaWJsZTogZ2V0Q29tcGlsZUV4cHJlc3Npb25Gb3JBY3Rpb24oZGF0YUZpZWxkLCBjb252ZXJ0ZXJDb250ZXh0KVxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0XHRjYXNlIFVJQW5ub3RhdGlvblR5cGVzLkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbjpcblx0XHRcdFx0XHRcdGNoYXJ0QWN0aW9uID0ge1xuXHRcdFx0XHRcdFx0XHR0eXBlOiBBY3Rpb25UeXBlLkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbixcblx0XHRcdFx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0QmFzZWRBbm5vdGF0aW9uUGF0aChkYXRhRmllbGQuZnVsbHlRdWFsaWZpZWROYW1lKSxcblx0XHRcdFx0XHRcdFx0a2V5OiBrZXksXG5cdFx0XHRcdFx0XHRcdHZpc2libGU6IGdldENvbXBpbGVFeHByZXNzaW9uRm9yQWN0aW9uKGRhdGFGaWVsZCwgY29udmVydGVyQ29udGV4dCksXG5cdFx0XHRcdFx0XHRcdGlzTmF2aWdhYmxlOiB0cnVlXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmIChjaGFydEFjdGlvbikge1xuXHRcdFx0XHRjaGFydEFjdGlvbnMucHVzaChjaGFydEFjdGlvbik7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGNoYXJ0QWN0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENoYXJ0QWN0aW9ucyhjaGFydEFubm90YXRpb246IENoYXJ0LCB2aXN1YWxpemF0aW9uUGF0aDogc3RyaW5nLCBjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0KTogQ29tYmluZWRBY3Rpb24ge1xuXHRjb25zdCBhQW5ub3RhdGlvbkFjdGlvbnM6IEJhc2VBY3Rpb25bXSA9IGdldENoYXJ0QWN0aW9uc0Zyb21Bbm5vdGF0aW9ucyhjaGFydEFubm90YXRpb24sIHZpc3VhbGl6YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0Y29uc3QgbWFuaWZlc3RBY3Rpb25zID0gZ2V0QWN0aW9uc0Zyb21NYW5pZmVzdChcblx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0Q29udHJvbENvbmZpZ3VyYXRpb24odmlzdWFsaXphdGlvblBhdGgpLmFjdGlvbnMsXG5cdFx0Y29udmVydGVyQ29udGV4dCxcblx0XHRhQW5ub3RhdGlvbkFjdGlvbnNcblx0KTtcblx0Y29uc3QgYWN0aW9uT3ZlcndyaXRlQ29uZmlnOiBPdmVycmlkZVR5cGVBY3Rpb24gPSB7XG5cdFx0ZW5hYmxlZDogT3ZlcnJpZGVUeXBlLm92ZXJ3cml0ZSxcblx0XHRlbmFibGVPblNlbGVjdDogT3ZlcnJpZGVUeXBlLm92ZXJ3cml0ZSxcblx0XHR2aXNpYmxlOiBPdmVycmlkZVR5cGUub3ZlcndyaXRlLFxuXHRcdGNvbW1hbmQ6IE92ZXJyaWRlVHlwZS5vdmVyd3JpdGVcblx0fTtcblx0Y29uc3QgY2hhcnRBY3Rpb25zID0gaW5zZXJ0Q3VzdG9tRWxlbWVudHMoYUFubm90YXRpb25BY3Rpb25zLCBtYW5pZmVzdEFjdGlvbnMuYWN0aW9ucywgYWN0aW9uT3ZlcndyaXRlQ29uZmlnKTtcblx0cmV0dXJuIHtcblx0XHRhY3Rpb25zOiBjaGFydEFjdGlvbnMsXG5cdFx0Y29tbWFuZEFjdGlvbnM6IG1hbmlmZXN0QWN0aW9ucy5jb21tYW5kQWN0aW9uc1xuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UDEzbk1vZGUodmlzdWFsaXphdGlvblBhdGg6IHN0cmluZywgY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IG1hbmlmZXN0V3JhcHBlcjogTWFuaWZlc3RXcmFwcGVyID0gY29udmVydGVyQ29udGV4dC5nZXRNYW5pZmVzdFdyYXBwZXIoKTtcblx0Y29uc3QgY2hhcnRNYW5pZmVzdFNldHRpbmdzOiBDaGFydE1hbmlmZXN0Q29uZmlndXJhdGlvbiA9IGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RDb250cm9sQ29uZmlndXJhdGlvbih2aXN1YWxpemF0aW9uUGF0aCk7XG5cdGNvbnN0IHZhcmlhbnRNYW5hZ2VtZW50OiBWYXJpYW50TWFuYWdlbWVudFR5cGUgPSBtYW5pZmVzdFdyYXBwZXIuZ2V0VmFyaWFudE1hbmFnZW1lbnQoKTtcblx0Y29uc3QgYVBlcnNvbmFsaXphdGlvbjogc3RyaW5nW10gPSBbXTtcblx0Ly8gUGVyc29uYWxpemF0aW9uIGNvbmZpZ3VyZWQgaW4gbWFuaWZlc3QuXG5cdGNvbnN0IHBlcnNvbmFsaXphdGlvbjogYW55ID0gY2hhcnRNYW5pZmVzdFNldHRpbmdzPy5jaGFydFNldHRpbmdzPy5wZXJzb25hbGl6YXRpb247XG5cdGNvbnN0IGlzQ29udHJvbFZhcmlhbnQgPSB2YXJpYW50TWFuYWdlbWVudCA9PT0gVmFyaWFudE1hbmFnZW1lbnRUeXBlLkNvbnRyb2wgPyB0cnVlIDogZmFsc2U7XG5cdC8vIGlmIHBlcnNvbmFsaXphdGlvbiBpcyBzZXQgdG8gZmFsc2UgZG8gbm90IHNob3cgYW55IG9wdGlvblxuXHRpZiAoKHBlcnNvbmFsaXphdGlvbiAhPT0gdW5kZWZpbmVkICYmICFwZXJzb25hbGl6YXRpb24pIHx8IHBlcnNvbmFsaXphdGlvbiA9PSBcImZhbHNlXCIpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cdHN3aXRjaCAodHJ1ZSkge1xuXHRcdGNhc2UgdHlwZW9mIHBlcnNvbmFsaXphdGlvbiA9PT0gXCJvYmplY3RcIjpcblx0XHRcdC8vIFNwZWNpZmljIHBlcnNvbmFsaXphdGlvbiBvcHRpb25zIGVuYWJsZWQgaW4gbWFuaWZlc3QuIFVzZSB0aGVtIGFzIGlzLlxuXHRcdFx0aWYgKHBlcnNvbmFsaXphdGlvbi50eXBlKSB7XG5cdFx0XHRcdGFQZXJzb25hbGl6YXRpb24ucHVzaChcIlR5cGVcIik7XG5cdFx0XHR9XG5cdFx0XHRpZiAocGVyc29uYWxpemF0aW9uLml0ZW0pIHtcblx0XHRcdFx0YVBlcnNvbmFsaXphdGlvbi5wdXNoKFwiSXRlbVwiKTtcblx0XHRcdH1cblx0XHRcdGlmIChwZXJzb25hbGl6YXRpb24uc29ydCkge1xuXHRcdFx0XHRhUGVyc29uYWxpemF0aW9uLnB1c2goXCJTb3J0XCIpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHBlcnNvbmFsaXphdGlvbi5maWx0ZXIpIHtcblx0XHRcdFx0YVBlcnNvbmFsaXphdGlvbi5wdXNoKFwiRmlsdGVyXCIpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGFQZXJzb25hbGl6YXRpb24uam9pbihcIixcIik7XG5cdFx0Y2FzZSBpc0NvbnRyb2xWYXJpYW50OlxuXHRcdGNhc2UgISFwZXJzb25hbGl6YXRpb246XG5cdFx0XHQvLyBtYW5pZmVzdCBoYXMgcGVyc29uYWxpemF0aW9uIGNvbmZpZ3VyZWQsIGNoZWNrIGlmIGl0J3MgdHJ1ZVxuXHRcdFx0Ly8gaWYgbWFuaWZlc3QgZG9lc24ndCBoYXZlIHBlcnNvbmFsaXphdGlvbiwgY2hlY2sgZm9yIHZhcmlhbnQgbWFuYWdlbWVudCBpcyBzZXQgdG8gY29udHJvbFxuXHRcdFx0cmV0dXJuIFwiU29ydCxUeXBlLEl0ZW0sRmlsdGVyXCI7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdC8vIGlmIG1hbmlmZXN0IGRvZXNuJ3QgaGF2ZSBwZXJzb25hbGl6YXRpb24sIHNob3cgZGVmYXVsdCBvcHRpb25zIHdpdGhvdXQgZmlsdGVyXG5cdFx0XHRyZXR1cm4gXCJTb3J0LFR5cGUsSXRlbVwiO1xuXHR9XG59XG5leHBvcnQgdHlwZSBDaGFydEN1c3RvbUFnZ3JlZ2F0ZSA9IHtcblx0bmFtZTogc3RyaW5nO1xuXHRsYWJlbDogc3RyaW5nO1xuXHRzb3J0YWJsZTogYm9vbGVhbjtcblx0c29ydE9yZGVyOiBcImJvdGhcIjtcblx0Y29udGV4dERlZmluaW5nUHJvcGVydHk6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgVHJhbnNBZ2cgPSB7XG5cdG5hbWU6IHN0cmluZztcblx0cHJvcGVydHlQYXRoOiBzdHJpbmc7XG5cdGFnZ3JlZ2F0aW9uTWV0aG9kOiBBZ2dyZWdhdGlvbk1ldGhvZDtcblx0bGFiZWw6IHN0cmluZztcblx0c29ydGFibGU6IGJvb2xlYW47XG5cdHNvcnRPcmRlcjogXCJib3RoXCI7XG5cdGN1c3RvbTogYm9vbGVhbjtcbn07XG4vLyBjaGVjayBpZiBhbm5vYXRhdGlvbiBwYXRoIGhhcyBTUFYgYW5kIHN0b3JlIHRoZSBwYXRoXG5mdW5jdGlvbiBjaGVja0ZvclNQVih2aWV3Q29uZmlndXJhdGlvbjogVmlld1BhdGhDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkKSB7XG5cdHJldHVybiB2aWV3Q29uZmlndXJhdGlvbj8uYW5ub3RhdGlvblBhdGg/LmluZGV4T2YoYEAke1VJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnR9YCkgIT09IC0xXG5cdFx0PyB2aWV3Q29uZmlndXJhdGlvbj8uYW5ub3RhdGlvblBhdGhcblx0XHQ6IHVuZGVmaW5lZDtcbn1cbi8qKlxuICogQ3JlYXRlIHRoZSBDaGFydFZpc3VhbGl6YXRpb24gY29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IGEgY2hhcnQgdXNpbmcgdGhlIENoYXJ0IGJ1aWxkaW5nIGJsb2NrLlxuICpcbiAqIEBwYXJhbSBjaGFydEFubm90YXRpb24gVGhlIHRhcmdldGVkIGNoYXJ0IGFubm90YXRpb25cbiAqIEBwYXJhbSB2aXN1YWxpemF0aW9uUGF0aCBUaGUgcGF0aCBvZiB0aGUgdmlzdWFsaXphdGlvbiBhbm5vdGF0aW9uXG4gKiBAcGFyYW0gY29udmVydGVyQ29udGV4dCBUaGUgY29udmVydGVyIGNvbnRleHRcbiAqIEBwYXJhbSBkb05vdENoZWNrQXBwbHlTdXBwb3J0ZWQgRmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIEFwcGx5U3VwcG9ydGVkIG5lZWRzIHRvIGJlIGNoZWNrZWQgb3Igbm90XG4gKiBAcGFyYW0gdmlld0NvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIFRoZSBjaGFydCB2aXN1YWxpemF0aW9uIGJhc2VkIG9uIHRoZSBhbm5vdGF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDaGFydFZpc3VhbGl6YXRpb24oXG5cdGNoYXJ0QW5ub3RhdGlvbjogQ2hhcnQsXG5cdHZpc3VhbGl6YXRpb25QYXRoOiBzdHJpbmcsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdGRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZD86IGJvb2xlYW4sXG5cdHZpZXdDb25maWd1cmF0aW9uPzogVmlld1BhdGhDb25maWd1cmF0aW9uXG4pOiBDaGFydFZpc3VhbGl6YXRpb24ge1xuXHRjb25zdCBhZ2dyZWdhdGlvbkhlbHBlciA9IG5ldyBBZ2dyZWdhdGlvbkhlbHBlcihjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKSwgY29udmVydGVyQ29udGV4dCk7XG5cdGlmICghZG9Ob3RDaGVja0FwcGx5U3VwcG9ydGVkICYmICFhZ2dyZWdhdGlvbkhlbHBlci5pc0FuYWx5dGljc1N1cHBvcnRlZCgpKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQXBwbHlTdXBwb3J0ZWQgaXMgbm90IGFkZGVkIHRvIHRoZSBhbm5vdGF0aW9uc1wiKTtcblx0fVxuXHRjb25zdCBhVHJhbnNBZ2dyZWdhdGlvbnMgPSBhZ2dyZWdhdGlvbkhlbHBlci5nZXRUcmFuc0FnZ3JlZ2F0aW9ucygpO1xuXHRjb25zdCBhQ3VzdG9tQWdncmVnYXRlcyA9IGFnZ3JlZ2F0aW9uSGVscGVyLmdldEN1c3RvbUFnZ3JlZ2F0ZURlZmluaXRpb25zKCk7XG5cdGNvbnN0IHBhZ2VNYW5pZmVzdFNldHRpbmdzOiBNYW5pZmVzdFdyYXBwZXIgPSBjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpO1xuXHRjb25zdCB2YXJpYW50TWFuYWdlbWVudDogVmFyaWFudE1hbmFnZW1lbnRUeXBlID0gcGFnZU1hbmlmZXN0U2V0dGluZ3MuZ2V0VmFyaWFudE1hbmFnZW1lbnQoKTtcblx0Y29uc3QgcDEzbk1vZGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGdldFAxM25Nb2RlKHZpc3VhbGl6YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0aWYgKHAxM25Nb2RlID09PSB1bmRlZmluZWQgJiYgdmFyaWFudE1hbmFnZW1lbnQgPT09IFwiQ29udHJvbFwiKSB7XG5cdFx0TG9nLndhcm5pbmcoXCJWYXJpYW50IE1hbmFnZW1lbnQgY2Fubm90IGJlIGVuYWJsZWQgd2hlbiBwZXJzb25hbGl6YXRpb24gaXMgZGlzYWJsZWRcIik7XG5cdH1cblx0Y29uc3QgbUN1c3RvbUFnZ3JlZ2F0ZXMgPSB7fSBhcyBhbnk7XG5cdC8vIGNoZWNrIGlmIGFubm9hdGF0aW9uIHBhdGggaGFzIFNQViBhbmQgc3RvcmUgdGhlIHBhdGhcblx0Y29uc3QgbVNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnRQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjaGVja0ZvclNQVih2aWV3Q29uZmlndXJhdGlvbik7XG5cdGlmIChhQ3VzdG9tQWdncmVnYXRlcykge1xuXHRcdGNvbnN0IGVudGl0eVR5cGUgPSBhZ2dyZWdhdGlvbkhlbHBlci5nZXRFbnRpdHlUeXBlKCk7XG5cdFx0Zm9yIChjb25zdCBjdXN0b21BZ2dyZWdhdGUgb2YgYUN1c3RvbUFnZ3JlZ2F0ZXMpIHtcblx0XHRcdGNvbnN0IGFDb250ZXh0RGVmaW5pbmdQcm9wZXJ0aWVzID0gY3VzdG9tQWdncmVnYXRlPy5hbm5vdGF0aW9ucz8uQWdncmVnYXRpb24/LkNvbnRleHREZWZpbmluZ1Byb3BlcnRpZXM7XG5cdFx0XHRjb25zdCBxdWFsaWZpZXIgPSBjdXN0b21BZ2dyZWdhdGU/LnF1YWxpZmllcjtcblx0XHRcdGNvbnN0IHJlbGF0ZWRDdXN0b21BZ2dyZWdhdGVQcm9wZXJ0eSA9IHF1YWxpZmllciAmJiBlbnRpdHlUeXBlLmVudGl0eVByb3BlcnRpZXMuZmluZCgocHJvcGVydHkpID0+IHByb3BlcnR5Lm5hbWUgPT09IHF1YWxpZmllcik7XG5cdFx0XHRjb25zdCBsYWJlbCA9IHJlbGF0ZWRDdXN0b21BZ2dyZWdhdGVQcm9wZXJ0eSAmJiByZWxhdGVkQ3VzdG9tQWdncmVnYXRlUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsPy50b1N0cmluZygpO1xuXHRcdFx0bUN1c3RvbUFnZ3JlZ2F0ZXNbcXVhbGlmaWVyXSA9IHtcblx0XHRcdFx0bmFtZTogcXVhbGlmaWVyLFxuXHRcdFx0XHRsYWJlbDogbGFiZWwgfHwgYEN1c3RvbSBBZ2dyZWdhdGUgKCR7cXVhbGlmaWVyfSlgLFxuXHRcdFx0XHRzb3J0YWJsZTogdHJ1ZSxcblx0XHRcdFx0c29ydE9yZGVyOiBcImJvdGhcIixcblx0XHRcdFx0Y29udGV4dERlZmluaW5nUHJvcGVydHk6IGFDb250ZXh0RGVmaW5pbmdQcm9wZXJ0aWVzXG5cdFx0XHRcdFx0PyBhQ29udGV4dERlZmluaW5nUHJvcGVydGllcy5tYXAoKG9DdHhEZWZQcm9wZXJ0eSkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gb0N0eERlZlByb3BlcnR5LnZhbHVlO1xuXHRcdFx0XHRcdCAgfSlcblx0XHRcdFx0XHQ6IFtdXG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0IG1UcmFuc0FnZ3JlZ2F0aW9uczogUmVjb3JkPHN0cmluZywgVHJhbnNBZ2c+ID0ge307XG5cdGNvbnN0IG9SZXNvdXJjZUJ1bmRsZUNvcmUgPSBDb3JlLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5jb3JlXCIpO1xuXHRpZiAoYVRyYW5zQWdncmVnYXRpb25zKSB7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhVHJhbnNBZ2dyZWdhdGlvbnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdG1UcmFuc0FnZ3JlZ2F0aW9uc1thVHJhbnNBZ2dyZWdhdGlvbnNbaV0uTmFtZV0gPSB7XG5cdFx0XHRcdG5hbWU6IGFUcmFuc0FnZ3JlZ2F0aW9uc1tpXS5OYW1lLFxuXHRcdFx0XHRwcm9wZXJ0eVBhdGg6IGFUcmFuc0FnZ3JlZ2F0aW9uc1tpXS5BZ2dyZWdhdGFibGVQcm9wZXJ0eS52YWx1ZU9mKCkudmFsdWUsXG5cdFx0XHRcdGFnZ3JlZ2F0aW9uTWV0aG9kOiBhVHJhbnNBZ2dyZWdhdGlvbnNbaV0uQWdncmVnYXRpb25NZXRob2QsXG5cdFx0XHRcdGxhYmVsOiBhVHJhbnNBZ2dyZWdhdGlvbnNbaV0/LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsXG5cdFx0XHRcdFx0PyBhVHJhbnNBZ2dyZWdhdGlvbnNbaV0/LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsLnRvU3RyaW5nKClcblx0XHRcdFx0XHQ6IGAke29SZXNvdXJjZUJ1bmRsZUNvcmUuZ2V0VGV4dChcIkFHR1JFR0FUQUJMRV9QUk9QRVJUWVwiKX0gKCR7YVRyYW5zQWdncmVnYXRpb25zW2ldLk5hbWV9KWAsXG5cdFx0XHRcdHNvcnRhYmxlOiB0cnVlLFxuXHRcdFx0XHRzb3J0T3JkZXI6IFwiYm90aFwiLFxuXHRcdFx0XHRjdXN0b206IGZhbHNlXG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0IGFBZ2dQcm9wcyA9IGFnZ3JlZ2F0aW9uSGVscGVyLmdldEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMoKTtcblx0Y29uc3QgYUdycFByb3BzID0gYWdncmVnYXRpb25IZWxwZXIuZ2V0R3JvdXBhYmxlUHJvcGVydGllcygpO1xuXHRjb25zdCBtQXBwbHlTdXBwb3J0ZWQgPSB7fSBhcyBDaGFydEFwcGx5U3VwcG9ydGVkO1xuXHRtQXBwbHlTdXBwb3J0ZWQuJFR5cGUgPSBBZ2dyZWdhdGlvbkFubm90YXRpb25UeXBlcy5BcHBseVN1cHBvcnRlZFR5cGU7XG5cdG1BcHBseVN1cHBvcnRlZC5BZ2dyZWdhdGFibGVQcm9wZXJ0aWVzID0gW107XG5cdG1BcHBseVN1cHBvcnRlZC5Hcm91cGFibGVQcm9wZXJ0aWVzID0gW107XG5cblx0Zm9yIChsZXQgaSA9IDA7IGFBZ2dQcm9wcyAmJiBpIDwgYUFnZ1Byb3BzLmxlbmd0aDsgaSsrKSB7XG5cdFx0Y29uc3Qgb2JqOiBNZXRhTW9kZWxUeXBlPEFnZ3JlZ2F0YWJsZVByb3BlcnR5VHlwZT4gPSB7XG5cdFx0XHQkVHlwZTogYUFnZ1Byb3BzW2ldPy4kVHlwZSxcblx0XHRcdFByb3BlcnR5OiB7XG5cdFx0XHRcdCRQcm9wZXJ0eVBhdGg6IGFBZ2dQcm9wc1tpXT8uUHJvcGVydHk/LnZhbHVlXG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdG1BcHBseVN1cHBvcnRlZC5BZ2dyZWdhdGFibGVQcm9wZXJ0aWVzLnB1c2gob2JqKTtcblx0fVxuXG5cdGZvciAobGV0IGkgPSAwOyBhR3JwUHJvcHMgJiYgaSA8IGFHcnBQcm9wcy5sZW5ndGg7IGkrKykge1xuXHRcdGNvbnN0IG9iajogRXhwYW5kUGF0aFR5cGU8UHJvcGVydHlQYXRoPiA9IHsgJFByb3BlcnR5UGF0aDogYUdycFByb3BzW2ldPy52YWx1ZSB9O1xuXG5cdFx0bUFwcGx5U3VwcG9ydGVkLkdyb3VwYWJsZVByb3BlcnRpZXMucHVzaChvYmopO1xuXHR9XG5cblx0Y29uc3QgY2hhcnRBY3Rpb25zID0gZ2V0Q2hhcnRBY3Rpb25zKGNoYXJ0QW5ub3RhdGlvbiwgdmlzdWFsaXphdGlvblBhdGgsIGNvbnZlcnRlckNvbnRleHQpO1xuXHRsZXQgW25hdmlnYXRpb25Qcm9wZXJ0eVBhdGggLyosIGFubm90YXRpb25QYXRoKi9dID0gdmlzdWFsaXphdGlvblBhdGguc3BsaXQoXCJAXCIpO1xuXHRpZiAobmF2aWdhdGlvblByb3BlcnR5UGF0aC5sYXN0SW5kZXhPZihcIi9cIikgPT09IG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgubGVuZ3RoIC0gMSkge1xuXHRcdC8vIERyb3AgdHJhaWxpbmcgc2xhc2hcblx0XHRuYXZpZ2F0aW9uUHJvcGVydHlQYXRoID0gbmF2aWdhdGlvblByb3BlcnR5UGF0aC5zdWJzdHIoMCwgbmF2aWdhdGlvblByb3BlcnR5UGF0aC5sZW5ndGggLSAxKTtcblx0fVxuXHRjb25zdCB0aXRsZSA9IGNoYXJ0QW5ub3RhdGlvbi5UaXRsZT8udG9TdHJpbmcoKSB8fCBcIlwiOyAvLyByZWFkIHRpdGxlIGZyb20gY2hhcnQgYW5ub3RhdGlvblxuXHRjb25zdCBkYXRhTW9kZWxQYXRoID0gY29udmVydGVyQ29udGV4dC5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCk7XG5cdGNvbnN0IGlzRW50aXR5U2V0OiBib29sZWFuID0gbmF2aWdhdGlvblByb3BlcnR5UGF0aC5sZW5ndGggPT09IDA7XG5cdGNvbnN0IGVudGl0eU5hbWU6IHN0cmluZyA9IGRhdGFNb2RlbFBhdGgudGFyZ2V0RW50aXR5U2V0ID8gZGF0YU1vZGVsUGF0aC50YXJnZXRFbnRpdHlTZXQubmFtZSA6IGRhdGFNb2RlbFBhdGguc3RhcnRpbmdFbnRpdHlTZXQubmFtZTtcblx0Y29uc3Qgc0ZpbHRlcmJhcklkID0gaXNFbnRpdHlTZXQgPyBnZXRGaWx0ZXJCYXJJRChjb252ZXJ0ZXJDb250ZXh0LmdldENvbnRleHRQYXRoKCkpIDogdW5kZWZpbmVkO1xuXHRjb25zdCBvVml6UHJvcGVydGllcyA9IHtcblx0XHRsZWdlbmRHcm91cDoge1xuXHRcdFx0bGF5b3V0OiB7XG5cdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiXG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHRsZXQgYXV0b0JpbmRPbkluaXQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cdGlmIChjb252ZXJ0ZXJDb250ZXh0LmdldFRlbXBsYXRlVHlwZSgpID09PSBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZSkge1xuXHRcdGF1dG9CaW5kT25Jbml0ID0gdHJ1ZTtcblx0fSBlbHNlIGlmIChcblx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldFRlbXBsYXRlVHlwZSgpID09PSBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCB8fFxuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0VGVtcGxhdGVUeXBlKCkgPT09IFRlbXBsYXRlVHlwZS5BbmFseXRpY2FsTGlzdFBhZ2Vcblx0KSB7XG5cdFx0YXV0b0JpbmRPbkluaXQgPSBmYWxzZTtcblx0fVxuXHRjb25zdCBoYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zID1cblx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpLmhhc011bHRpcGxlVmlzdWFsaXphdGlvbnMoKSB8fFxuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0VGVtcGxhdGVUeXBlKCkgPT09IFRlbXBsYXRlVHlwZS5BbmFseXRpY2FsTGlzdFBhZ2U7XG5cdGNvbnN0IG9uU2VnbWVudGVkQnV0dG9uUHJlc3NlZCA9IGhhc011bHRpcGxlVmlzdWFsaXphdGlvbnMgPyBcIi5oYW5kbGVycy5vblNlZ21lbnRlZEJ1dHRvblByZXNzZWRcIiA6IFwiXCI7XG5cdGNvbnN0IHZpc2libGUgPSBoYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zID8gXCJ7PSAke3BhZ2VJbnRlcm5hbD5hbHBDb250ZW50Vmlld30gIT09ICdUYWJsZSd9XCIgOiBcInRydWVcIjtcblx0Y29uc3QgYWxsb3dlZFRyYW5zZm9ybWF0aW9ucyA9IGFnZ3JlZ2F0aW9uSGVscGVyLmdldEFsbG93ZWRUcmFuc2Zvcm1hdGlvbnMoKTtcblx0bUFwcGx5U3VwcG9ydGVkLmVuYWJsZVNlYXJjaCA9IGFsbG93ZWRUcmFuc2Zvcm1hdGlvbnMgPyBhbGxvd2VkVHJhbnNmb3JtYXRpb25zLmluZGV4T2YoXCJzZWFyY2hcIikgPj0gMCA6IHRydWU7XG5cdGxldCBxdWFsaWZpZXIgPSBcIlwiO1xuXHRpZiAoY2hhcnRBbm5vdGF0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZS5zcGxpdChcIiNcIikubGVuZ3RoID4gMSkge1xuXHRcdHF1YWxpZmllciA9IGNoYXJ0QW5ub3RhdGlvbi5mdWxseVF1YWxpZmllZE5hbWUuc3BsaXQoXCIjXCIpWzFdO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0dHlwZTogVmlzdWFsaXphdGlvblR5cGUuQ2hhcnQsXG5cdFx0aWQ6IHF1YWxpZmllclxuXHRcdFx0PyBnZXRDaGFydElEKGlzRW50aXR5U2V0ID8gZW50aXR5TmFtZSA6IG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgsIHF1YWxpZmllciwgVmlzdWFsaXphdGlvblR5cGUuQ2hhcnQpXG5cdFx0XHQ6IGdldENoYXJ0SUQoaXNFbnRpdHlTZXQgPyBlbnRpdHlOYW1lIDogbmF2aWdhdGlvblByb3BlcnR5UGF0aCwgVmlzdWFsaXphdGlvblR5cGUuQ2hhcnQpLFxuXHRcdGNvbGxlY3Rpb246IGdldFRhcmdldE9iamVjdFBhdGgoY29udmVydGVyQ29udGV4dC5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCkpLFxuXHRcdGVudGl0eU5hbWU6IGVudGl0eU5hbWUsXG5cdFx0cGVyc29uYWxpemF0aW9uOiBnZXRQMTNuTW9kZSh2aXN1YWxpemF0aW9uUGF0aCwgY29udmVydGVyQ29udGV4dCksXG5cdFx0bmF2aWdhdGlvblBhdGg6IG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgsXG5cdFx0YW5ub3RhdGlvblBhdGg6IGNvbnZlcnRlckNvbnRleHQuZ2V0QWJzb2x1dGVBbm5vdGF0aW9uUGF0aCh2aXN1YWxpemF0aW9uUGF0aCksXG5cdFx0ZmlsdGVySWQ6IHNGaWx0ZXJiYXJJZCxcblx0XHR2aXpQcm9wZXJ0aWVzOiBKU09OLnN0cmluZ2lmeShvVml6UHJvcGVydGllcyksXG5cdFx0YWN0aW9uczogY2hhcnRBY3Rpb25zLmFjdGlvbnMsXG5cdFx0Y29tbWFuZEFjdGlvbnM6IGNoYXJ0QWN0aW9ucy5jb21tYW5kQWN0aW9ucyxcblx0XHR0aXRsZTogdGl0bGUsXG5cdFx0YXV0b0JpbmRPbkluaXQ6IGF1dG9CaW5kT25Jbml0LFxuXHRcdG9uU2VnbWVudGVkQnV0dG9uUHJlc3NlZDogb25TZWdtZW50ZWRCdXR0b25QcmVzc2VkLFxuXHRcdHZpc2libGU6IHZpc2libGUsXG5cdFx0Y3VzdG9tQWdnOiBtQ3VzdG9tQWdncmVnYXRlcyxcblx0XHR0cmFuc0FnZzogbVRyYW5zQWdncmVnYXRpb25zLFxuXHRcdGFwcGx5U3VwcG9ydGVkOiBtQXBwbHlTdXBwb3J0ZWQsXG5cdFx0c2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudFBhdGg6IG1TZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50UGF0aCxcblx0XHR2YXJpYW50TWFuYWdlbWVudDogZmluZFZhcmlhbnRNYW5hZ2VtZW50KHAxM25Nb2RlLCB2YXJpYW50TWFuYWdlbWVudClcblx0fTtcbn1cbi8qKlxuICogTWV0aG9kIHRvIGRldGVybWluZSB0aGUgdmFyaWFudCBtYW5hZ2VtZW50LlxuICpcbiAqIEBwYXJhbSBwMTNuTW9kZVxuICogQHBhcmFtIHZhcmlhbnRNYW5hZ2VtZW50XG4gKiBAcmV0dXJucyBUaGUgdmFyaWFudCBtYW5hZ2VtZW50IGZvciB0aGUgY2hhcnRcbiAqL1xuZnVuY3Rpb24gZmluZFZhcmlhbnRNYW5hZ2VtZW50KHAxM25Nb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQsIHZhcmlhbnRNYW5hZ2VtZW50OiBWYXJpYW50TWFuYWdlbWVudFR5cGUpIHtcblx0cmV0dXJuIHZhcmlhbnRNYW5hZ2VtZW50ID09PSBcIkNvbnRyb2xcIiAmJiAhcDEzbk1vZGUgPyBWYXJpYW50TWFuYWdlbWVudFR5cGUuTm9uZSA6IHZhcmlhbnRNYW5hZ2VtZW50O1xufVxuXG4vKipcbiAqIE1ldGhvZCB0byBnZXQgY29tcGlsZSBleHByZXNzaW9uIGZvciBEYXRhRmllbGRGb3JBY3Rpb24gYW5kIERhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbi5cbiAqXG4gKiBAcGFyYW0gZGF0YUZpZWxkXG4gKiBAcGFyYW0gY29udmVydGVyQ29udGV4dFxuICogQHJldHVybnMgQ29tcGlsZSBleHByZXNzaW9uIGZvciBEYXRhRmllbGRGb3JBY3Rpb24gYW5kIERhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvblxuICovXG5mdW5jdGlvbiBnZXRDb21waWxlRXhwcmVzc2lvbkZvckFjdGlvbihkYXRhRmllbGQ6IERhdGFGaWVsZEFic3RyYWN0VHlwZXMsIGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpIHtcblx0cmV0dXJuIGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdG5vdChcblx0XHRcdGVxdWFsKFxuXHRcdFx0XHRnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24oXG5cdFx0XHRcdFx0ZGF0YUZpZWxkLmFubm90YXRpb25zPy5VST8uSGlkZGVuLFxuXHRcdFx0XHRcdFtdLFxuXHRcdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldFJlbGF0aXZlTW9kZWxQYXRoRnVuY3Rpb24oKVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR0cnVlXG5cdFx0XHQpXG5cdFx0KVxuXHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQmxhbmtDaGFydFZpc3VhbGl6YXRpb24oY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IENoYXJ0VmlzdWFsaXphdGlvbiB7XG5cdGNvbnN0IGhhc011bHRpcGxlVmlzdWFsaXphdGlvbnMgPVxuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RXcmFwcGVyKCkuaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucygpIHx8XG5cdFx0Y29udmVydGVyQ29udGV4dC5nZXRUZW1wbGF0ZVR5cGUoKSA9PT0gVGVtcGxhdGVUeXBlLkFuYWx5dGljYWxMaXN0UGFnZTtcblx0Y29uc3QgZGF0YU1vZGVsUGF0aCA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpO1xuXHRjb25zdCBlbnRpdHlOYW1lID0gZGF0YU1vZGVsUGF0aC50YXJnZXRFbnRpdHlTZXQgPyBkYXRhTW9kZWxQYXRoLnRhcmdldEVudGl0eVNldC5uYW1lIDogZGF0YU1vZGVsUGF0aC5zdGFydGluZ0VudGl0eVNldC5uYW1lO1xuXG5cdGNvbnN0IHZpc3VhbGl6YXRpb246IENoYXJ0VmlzdWFsaXphdGlvbiA9IHtcblx0XHR0eXBlOiBWaXN1YWxpemF0aW9uVHlwZS5DaGFydCxcblx0XHRpZDogZ2V0Q2hhcnRJRChlbnRpdHlOYW1lLCBWaXN1YWxpemF0aW9uVHlwZS5DaGFydCksXG5cdFx0ZW50aXR5TmFtZTogZW50aXR5TmFtZSxcblx0XHR0aXRsZTogXCJcIixcblx0XHRjb2xsZWN0aW9uOiBcIlwiLFxuXHRcdHBlcnNvbmFsaXphdGlvbjogdW5kZWZpbmVkLFxuXHRcdG5hdmlnYXRpb25QYXRoOiBcIlwiLFxuXHRcdGFubm90YXRpb25QYXRoOiBcIlwiLFxuXHRcdHZpelByb3BlcnRpZXM6IEpTT04uc3RyaW5naWZ5KHtcblx0XHRcdGxlZ2VuZEdyb3VwOiB7XG5cdFx0XHRcdGxheW91dDoge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KSxcblx0XHRhY3Rpb25zOiBbXSxcblx0XHRjb21tYW5kQWN0aW9uczoge30sXG5cdFx0YXV0b0JpbmRPbkluaXQ6IGZhbHNlLFxuXHRcdG9uU2VnbWVudGVkQnV0dG9uUHJlc3NlZDogXCJcIixcblx0XHR2aXNpYmxlOiBoYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zID8gXCJ7PSAke3BhZ2VJbnRlcm5hbD5hbHBDb250ZW50Vmlld30gIT09ICdUYWJsZSd9XCIgOiBcInRydWVcIixcblx0XHRjdXN0b21BZ2c6IHt9LFxuXHRcdHRyYW5zQWdnOiB7fSxcblx0XHRhcHBseVN1cHBvcnRlZDoge1xuXHRcdFx0JFR5cGU6IFwiT3JnLk9EYXRhLkFnZ3JlZ2F0aW9uLlYxLkFwcGx5U3VwcG9ydGVkVHlwZVwiLFxuXHRcdFx0QWdncmVnYXRhYmxlUHJvcGVydGllczogW10sXG5cdFx0XHRHcm91cGFibGVQcm9wZXJ0aWVzOiBbXSxcblx0XHRcdGVuYWJsZVNlYXJjaDogZmFsc2Vcblx0XHR9LFxuXHRcdG11bHRpVmlld3M6IGZhbHNlLFxuXHRcdHZhcmlhbnRNYW5hZ2VtZW50OiBWYXJpYW50TWFuYWdlbWVudFR5cGUuTm9uZVxuXHR9O1xuXG5cdHJldHVybiB2aXN1YWxpemF0aW9uO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxTQUFTQSw4QkFBOEIsQ0FDdENDLGVBQXNCLEVBQ3RCQyxpQkFBeUIsRUFDekJDLGdCQUFrQyxFQUNuQjtJQUNmLE1BQU1DLFlBQTBCLEdBQUcsRUFBRTtJQUNyQyxJQUFJSCxlQUFlLEVBQUU7TUFDcEIsTUFBTUksUUFBUSxHQUFHSixlQUFlLENBQUNLLE9BQU8sSUFBSSxFQUFFO01BQzlDRCxRQUFRLENBQUNFLE9BQU8sQ0FBRUMsU0FB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
350
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRDaGFydEFjdGlvbnNGcm9tQW5ub3RhdGlvbnMiLCJjaGFydEFubm90YXRpb24iLCJ2aXN1YWxpemF0aW9uUGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJjaGFydEFjdGlvbnMiLCJhQWN0aW9ucyIsIkFjdGlvbnMiLCJmb3JFYWNoIiwiZGF0YUZpZWxkIiwiY2hhcnRBY3Rpb24iLCJpc0RhdGFGaWVsZEZvckFjdGlvbkFic3RyYWN0IiwiSW5saW5lIiwiRGV0ZXJtaW5pbmciLCJrZXkiLCJLZXlIZWxwZXIiLCJnZW5lcmF0ZUtleUZyb21EYXRhRmllbGQiLCIkVHlwZSIsIkFjdGlvblRhcmdldCIsImlzQm91bmQiLCJ0eXBlIiwiQWN0aW9uVHlwZSIsIkRhdGFGaWVsZEZvckFjdGlvbiIsImFubm90YXRpb25QYXRoIiwiZ2V0RW50aXR5U2V0QmFzZWRBbm5vdGF0aW9uUGF0aCIsImZ1bGx5UXVhbGlmaWVkTmFtZSIsInZpc2libGUiLCJnZXRDb21waWxlRXhwcmVzc2lvbkZvckFjdGlvbiIsIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbiIsImlzTmF2aWdhYmxlIiwicHVzaCIsImdldENoYXJ0QWN0aW9ucyIsImFBbm5vdGF0aW9uQWN0aW9ucyIsIm1hbmlmZXN0QWN0aW9ucyIsImdldEFjdGlvbnNGcm9tTWFuaWZlc3QiLCJnZXRNYW5pZmVzdENvbnRyb2xDb25maWd1cmF0aW9uIiwiYWN0aW9ucyIsImFjdGlvbk92ZXJ3cml0ZUNvbmZpZyIsImVuYWJsZWQiLCJPdmVycmlkZVR5cGUiLCJvdmVyd3JpdGUiLCJlbmFibGVPblNlbGVjdCIsImNvbW1hbmQiLCJpbnNlcnRDdXN0b21FbGVtZW50cyIsImNvbW1hbmRBY3Rpb25zIiwiZ2V0UDEzbk1vZGUiLCJtYW5pZmVzdFdyYXBwZXIiLCJnZXRNYW5pZmVzdFdyYXBwZXIiLCJjaGFydE1hbmlmZXN0U2V0dGluZ3MiLCJ2YXJpYW50TWFuYWdlbWVudCIsImdldFZhcmlhbnRNYW5hZ2VtZW50IiwiYVBlcnNvbmFsaXphdGlvbiIsInBlcnNvbmFsaXphdGlvbiIsImNoYXJ0U2V0dGluZ3MiLCJpc0NvbnRyb2xWYXJpYW50IiwiVmFyaWFudE1hbmFnZW1lbnRUeXBlIiwiQ29udHJvbCIsInVuZGVmaW5lZCIsIml0ZW0iLCJzb3J0IiwiZmlsdGVyIiwiam9pbiIsImNoZWNrRm9yU1BWIiwidmlld0NvbmZpZ3VyYXRpb24iLCJpbmRleE9mIiwiZ2V0QWdncmVnYXRhYmxlUHJvcGVydGllc09iamVjdCIsImFnZ1Byb3AiLCJvYmoiLCJQcm9wZXJ0eSIsIiRQcm9wZXJ0eVBhdGgiLCJ2YWx1ZSIsIm5hbWUiLCJjcmVhdGVDaGFydFZpc3VhbGl6YXRpb24iLCJkb05vdENoZWNrQXBwbHlTdXBwb3J0ZWQiLCJpc0luc2lnaHRzRW5hYmxlZCIsImFnZ3JlZ2F0aW9uSGVscGVyIiwiQWdncmVnYXRpb25IZWxwZXIiLCJnZXRFbnRpdHlUeXBlIiwiaXNBbmFseXRpY3NTdXBwb3J0ZWQiLCJFcnJvciIsImFUcmFuc0FnZ3JlZ2F0aW9ucyIsImdldFRyYW5zQWdncmVnYXRpb25zIiwiYUN1c3RvbUFnZ3JlZ2F0ZXMiLCJnZXRDdXN0b21BZ2dyZWdhdGVEZWZpbml0aW9ucyIsInBhZ2VNYW5pZmVzdFNldHRpbmdzIiwicDEzbk1vZGUiLCJMb2ciLCJ3YXJuaW5nIiwibUN1c3RvbUFnZ3JlZ2F0ZXMiLCJtU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudFBhdGgiLCJlbnRpdHlUeXBlIiwiY3VzdG9tQWdncmVnYXRlIiwiYUNvbnRleHREZWZpbmluZ1Byb3BlcnRpZXMiLCJhbm5vdGF0aW9ucyIsIkFnZ3JlZ2F0aW9uIiwiQ29udGV4dERlZmluaW5nUHJvcGVydGllcyIsInF1YWxpZmllciIsInJlbGF0ZWRDdXN0b21BZ2dyZWdhdGVQcm9wZXJ0eSIsImVudGl0eVByb3BlcnRpZXMiLCJmaW5kIiwicHJvcGVydHkiLCJsYWJlbCIsIkNvbW1vbiIsIkxhYmVsIiwidG9TdHJpbmciLCJzb3J0YWJsZSIsInNvcnRPcmRlciIsImNvbnRleHREZWZpbmluZ1Byb3BlcnR5IiwibWFwIiwib0N0eERlZlByb3BlcnR5IiwibVRyYW5zQWdncmVnYXRpb25zIiwib1Jlc291cmNlQnVuZGxlQ29yZSIsIkNvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJpIiwibGVuZ3RoIiwiTmFtZSIsInByb3BlcnR5UGF0aCIsIkFnZ3JlZ2F0YWJsZVByb3BlcnR5IiwidmFsdWVPZiIsImFnZ3JlZ2F0aW9uTWV0aG9kIiwiQWdncmVnYXRpb25NZXRob2QiLCJnZXRUZXh0IiwiY3VzdG9tIiwiYUFnZ1Byb3BzIiwiZ2V0QWdncmVnYXRhYmxlUHJvcGVydGllcyIsImFHcnBQcm9wcyIsImdldEdyb3VwYWJsZVByb3BlcnRpZXMiLCJtQXBwbHlTdXBwb3J0ZWQiLCJBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzIiwiR3JvdXBhYmxlUHJvcGVydGllcyIsInByb3AiLCJuYXZpZ2F0aW9uUHJvcGVydHlQYXRoIiwic3BsaXQiLCJsYXN0SW5kZXhPZiIsInN1YnN0ciIsInRpdGxlIiwiVGl0bGUiLCJkYXRhTW9kZWxQYXRoIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsImlzRW50aXR5U2V0IiwiZW50aXR5TmFtZSIsInRhcmdldEVudGl0eVNldCIsInN0YXJ0aW5nRW50aXR5U2V0Iiwic0ZpbHRlcmJhcklkIiwiZ2V0RmlsdGVyQmFySUQiLCJnZXRDb250ZXh0UGF0aCIsIm9WaXpQcm9wZXJ0aWVzIiwibGVnZW5kR3JvdXAiLCJsYXlvdXQiLCJwb3NpdGlvbiIsImF1dG9CaW5kT25Jbml0IiwiZ2V0VGVtcGxhdGVUeXBlIiwiVGVtcGxhdGVUeXBlIiwiT2JqZWN0UGFnZSIsIkxpc3RSZXBvcnQiLCJBbmFseXRpY2FsTGlzdFBhZ2UiLCJoYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zIiwib25TZWdtZW50ZWRCdXR0b25QcmVzc2VkIiwiYWxsb3dlZFRyYW5zZm9ybWF0aW9ucyIsImdldEFsbG93ZWRUcmFuc2Zvcm1hdGlvbnMiLCJlbmFibGVTZWFyY2giLCJWaXN1YWxpemF0aW9uVHlwZSIsIkNoYXJ0IiwiaWQiLCJnZXRDaGFydElEIiwiY29sbGVjdGlvbiIsImdldFRhcmdldE9iamVjdFBhdGgiLCJuYXZpZ2F0aW9uUGF0aCIsImdldEFic29sdXRlQW5ub3RhdGlvblBhdGgiLCJmaWx0ZXJJZCIsInZpelByb3BlcnRpZXMiLCJKU09OIiwic3RyaW5naWZ5IiwiY3VzdG9tQWdnIiwidHJhbnNBZ2ciLCJhcHBseVN1cHBvcnRlZCIsInNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnRQYXRoIiwiZmluZFZhcmlhbnRNYW5hZ2VtZW50IiwiZ2V0SW5zaWdodHNWaXNpYmlsaXR5IiwiTm9uZSIsImNvbXBpbGVFeHByZXNzaW9uIiwibm90IiwiZXF1YWwiLCJnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24iLCJVSSIsIkhpZGRlbiIsImdldFJlbGF0aXZlTW9kZWxQYXRoRnVuY3Rpb24iLCJjcmVhdGVCbGFua0NoYXJ0VmlzdWFsaXphdGlvbiIsInZpc3VhbGl6YXRpb24iLCJtdWx0aVZpZXdzIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDaGFydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEFnZ3JlZ2F0YWJsZVByb3BlcnR5VHlwZSwgQWdncmVnYXRpb25NZXRob2QgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0FnZ3JlZ2F0aW9uXCI7XG5pbXBvcnQgeyBBZ2dyZWdhdGlvbkFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQWdncmVnYXRpb25cIjtcbmltcG9ydCB7IENoYXJ0LCBEYXRhRmllbGRBYnN0cmFjdFR5cGVzLCBVSUFubm90YXRpb25UZXJtcywgVUlBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB7IGlzRGF0YUZpZWxkRm9yQWN0aW9uQWJzdHJhY3QgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9hbm5vdGF0aW9ucy9EYXRhRmllbGRcIjtcbmltcG9ydCB0eXBlIHtcblx0QW5ub3RhdGlvbkFjdGlvbixcblx0QmFzZUFjdGlvbixcblx0Q29tYmluZWRBY3Rpb24sXG5cdEN1c3RvbUFjdGlvbixcblx0T3ZlcnJpZGVUeXBlQWN0aW9uXG59IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0NvbW1vbi9BY3Rpb25cIjtcbmltcG9ydCB7IGdldEFjdGlvbnNGcm9tTWFuaWZlc3QgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9jb250cm9scy9Db21tb24vQWN0aW9uXCI7XG5pbXBvcnQgeyBpbnNlcnRDdXN0b21FbGVtZW50cywgT3ZlcnJpZGVUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9Db25maWd1cmFibGVPYmplY3RcIjtcbmltcG9ydCB7IEtleUhlbHBlciB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvS2V5XCI7XG5pbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiwgZXF1YWwsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiwgbm90IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGdldFRhcmdldE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgQ29yZSBmcm9tIFwic2FwL3VpL2NvcmUvQ29yZVwiO1xuaW1wb3J0IHR5cGUgQ29udmVydGVyQ29udGV4dCBmcm9tIFwiLi4vLi4vQ29udmVydGVyQ29udGV4dFwiO1xuaW1wb3J0IHsgQWdncmVnYXRpb25IZWxwZXIgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9BZ2dyZWdhdGlvblwiO1xuaW1wb3J0IHsgZ2V0Q2hhcnRJRCwgZ2V0RmlsdGVyQmFySUQgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9JRFwiO1xuaW1wb3J0IHsgZ2V0SW5zaWdodHNWaXNpYmlsaXR5IH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvSW5zaWdodHNIZWxwZXJzXCI7XG5pbXBvcnQgdHlwZSB7IENoYXJ0TWFuaWZlc3RDb25maWd1cmF0aW9uLCBWaWV3UGF0aENvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vLi4vTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHsgQWN0aW9uVHlwZSwgVGVtcGxhdGVUeXBlLCBWYXJpYW50TWFuYWdlbWVudFR5cGUsIFZpc3VhbGl6YXRpb25UeXBlIH0gZnJvbSBcIi4uLy4uL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB0eXBlIE1hbmlmZXN0V3JhcHBlciBmcm9tIFwiLi4vLi4vTWFuaWZlc3RXcmFwcGVyXCI7XG5cbnR5cGUgQ2hhcnRBcHBseVN1cHBvcnRlZCA9IHtcblx0JFR5cGU6IHN0cmluZztcblx0ZW5hYmxlU2VhcmNoOiBib29sZWFuO1xuXHRBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzOiB1bmtub3duW107XG5cdEdyb3VwYWJsZVByb3BlcnRpZXM6IHVua25vd25bXTtcbn07XG4vKipcbiAqIEB0eXBlZGVmIENoYXJ0VmlzdWFsaXphdGlvblxuICovXG5leHBvcnQgdHlwZSBDaGFydFZpc3VhbGl6YXRpb24gPSB7XG5cdHR5cGU6IFZpc3VhbGl6YXRpb25UeXBlLkNoYXJ0O1xuXHRpZDogc3RyaW5nO1xuXHRjb2xsZWN0aW9uOiBzdHJpbmc7XG5cdGVudGl0eU5hbWU6IHN0cmluZztcblx0cGVyc29uYWxpemF0aW9uPzogc3RyaW5nO1xuXHRuYXZpZ2F0aW9uUGF0aDogc3RyaW5nO1xuXHRhbm5vdGF0aW9uUGF0aDogc3RyaW5nO1xuXHRmaWx0ZXJJZD86IHN0cmluZztcblx0dml6UHJvcGVydGllczogc3RyaW5nO1xuXHRhY3Rpb25zOiBCYXNlQWN0aW9uW107XG5cdGNvbW1hbmRBY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBDdXN0b21BY3Rpb24+O1xuXHR0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHRhdXRvQmluZE9uSW5pdDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblx0b25TZWdtZW50ZWRCdXR0b25QcmVzc2VkOiBzdHJpbmc7XG5cdHZpc2libGU6IHN0cmluZztcblx0Y3VzdG9tQWdnOiBvYmplY3Q7XG5cdHRyYW5zQWdnOiBvYmplY3Q7XG5cdGFwcGx5U3VwcG9ydGVkOiBDaGFydEFwcGx5U3VwcG9ydGVkO1xuXHRtdWx0aVZpZXdzPzogYm9vbGVhbjtcblx0dmFyaWFudE1hbmFnZW1lbnQ6IFZhcmlhbnRNYW5hZ2VtZW50VHlwZTtcblx0c2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudFBhdGg/OiBzdHJpbmc7XG5cdGlzSW5zaWdodHNFbmFibGVkPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogTWV0aG9kIHRvIHJldHJpZXZlIGFsbCBjaGFydCBhY3Rpb25zIGZyb20gYW5ub3RhdGlvbnMuXG4gKlxuICogQHBhcmFtIGNoYXJ0QW5ub3RhdGlvblxuICogQHBhcmFtIHZpc3VhbGl6YXRpb25QYXRoXG4gKiBAcGFyYW0gY29udmVydGVyQ29udGV4dFxuICogQHJldHVybnMgVGhlIGNoYXJ0IGFjdGlvbnMgZnJvbSB0aGUgYW5ub3RhdGlvblxuICovXG5mdW5jdGlvbiBnZXRDaGFydEFjdGlvbnNGcm9tQW5ub3RhdGlvbnMoXG5cdGNoYXJ0QW5ub3RhdGlvbjogQ2hhcnQsXG5cdHZpc3VhbGl6YXRpb25QYXRoOiBzdHJpbmcsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHRcbik6IEJhc2VBY3Rpb25bXSB7XG5cdGNvbnN0IGNoYXJ0QWN0aW9uczogQmFzZUFjdGlvbltdID0gW107XG5cdGlmIChjaGFydEFubm90YXRpb24pIHtcblx0XHRjb25zdCBhQWN0aW9ucyA9IGNoYXJ0QW5ub3RhdGlvbi5BY3Rpb25zIHx8IFtdO1xuXHRcdGFBY3Rpb25zLmZvckVhY2goKGRhdGFGaWVsZDogRGF0YUZpZWxkQWJzdHJhY3RUeXBlcykgPT4ge1xuXHRcdFx0bGV0IGNoYXJ0QWN0aW9uOiBBbm5vdGF0aW9uQWN0aW9uIHwgdW5kZWZpbmVkO1xuXHRcdFx0aWYgKGlzRGF0YUZpZWxkRm9yQWN0aW9uQWJzdHJhY3QoZGF0YUZpZWxkKSAmJiAhZGF0YUZpZWxkLklubGluZSAmJiAhZGF0YUZpZWxkLkRldGVybWluaW5nKSB7XG5cdFx0XHRcdGNvbnN0IGtleSA9IEtleUhlbHBlci5nZW5lcmF0ZUtleUZyb21EYXRhRmllbGQoZGF0YUZpZWxkKTtcblx0XHRcdFx0c3dpdGNoIChkYXRhRmllbGQuJFR5cGUpIHtcblx0XHRcdFx0XHRjYXNlIFVJQW5ub3RhdGlvblR5cGVzLkRhdGFGaWVsZEZvckFjdGlvbjpcblx0XHRcdFx0XHRcdGlmICghZGF0YUZpZWxkLkFjdGlvblRhcmdldD8uaXNCb3VuZCkge1xuXHRcdFx0XHRcdFx0XHRjaGFydEFjdGlvbiA9IHtcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBBY3Rpb25UeXBlLkRhdGFGaWVsZEZvckFjdGlvbixcblx0XHRcdFx0XHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXRCYXNlZEFubm90YXRpb25QYXRoKGRhdGFGaWVsZC5mdWxseVF1YWxpZmllZE5hbWUpLFxuXHRcdFx0XHRcdFx0XHRcdGtleToga2V5LFxuXHRcdFx0XHRcdFx0XHRcdHZpc2libGU6IGdldENvbXBpbGVFeHByZXNzaW9uRm9yQWN0aW9uKGRhdGFGaWVsZCwgY29udmVydGVyQ29udGV4dClcblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRcdFx0Y2FzZSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb246XG5cdFx0XHRcdFx0XHRjaGFydEFjdGlvbiA9IHtcblx0XHRcdFx0XHRcdFx0dHlwZTogQWN0aW9uVHlwZS5EYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24sXG5cdFx0XHRcdFx0XHRcdGFubm90YXRpb25QYXRoOiBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgoZGF0YUZpZWxkLmZ1bGx5UXVhbGlmaWVkTmFtZSksXG5cdFx0XHRcdFx0XHRcdGtleToga2V5LFxuXHRcdFx0XHRcdFx0XHR2aXNpYmxlOiBnZXRDb21waWxlRXhwcmVzc2lvbkZvckFjdGlvbihkYXRhRmllbGQsIGNvbnZlcnRlckNvbnRleHQpLFxuXHRcdFx0XHRcdFx0XHRpc05hdmlnYWJsZTogdHJ1ZVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAoY2hhcnRBY3Rpb24pIHtcblx0XHRcdFx0Y2hhcnRBY3Rpb25zLnB1c2goY2hhcnRBY3Rpb24pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdHJldHVybiBjaGFydEFjdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGFydEFjdGlvbnMoY2hhcnRBbm5vdGF0aW9uOiBDaGFydCwgdmlzdWFsaXphdGlvblBhdGg6IHN0cmluZywgY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IENvbWJpbmVkQWN0aW9uIHtcblx0Y29uc3QgYUFubm90YXRpb25BY3Rpb25zOiBCYXNlQWN0aW9uW10gPSBnZXRDaGFydEFjdGlvbnNGcm9tQW5ub3RhdGlvbnMoY2hhcnRBbm5vdGF0aW9uLCB2aXN1YWxpemF0aW9uUGF0aCwgY29udmVydGVyQ29udGV4dCk7XG5cdGNvbnN0IG1hbmlmZXN0QWN0aW9ucyA9IGdldEFjdGlvbnNGcm9tTWFuaWZlc3QoXG5cdFx0Y29udmVydGVyQ29udGV4dC5nZXRNYW5pZmVzdENvbnRyb2xDb25maWd1cmF0aW9uKHZpc3VhbGl6YXRpb25QYXRoKS5hY3Rpb25zLFxuXHRcdGNvbnZlcnRlckNvbnRleHQsXG5cdFx0YUFubm90YXRpb25BY3Rpb25zXG5cdCk7XG5cdGNvbnN0IGFjdGlvbk92ZXJ3cml0ZUNvbmZpZzogT3ZlcnJpZGVUeXBlQWN0aW9uID0ge1xuXHRcdGVuYWJsZWQ6IE92ZXJyaWRlVHlwZS5vdmVyd3JpdGUsXG5cdFx0ZW5hYmxlT25TZWxlY3Q6IE92ZXJyaWRlVHlwZS5vdmVyd3JpdGUsXG5cdFx0dmlzaWJsZTogT3ZlcnJpZGVUeXBlLm92ZXJ3cml0ZSxcblx0XHRjb21tYW5kOiBPdmVycmlkZVR5cGUub3ZlcndyaXRlXG5cdH07XG5cdGNvbnN0IGNoYXJ0QWN0aW9ucyA9IGluc2VydEN1c3RvbUVsZW1lbnRzKGFBbm5vdGF0aW9uQWN0aW9ucywgbWFuaWZlc3RBY3Rpb25zLmFjdGlvbnMsIGFjdGlvbk92ZXJ3cml0ZUNvbmZpZyk7XG5cdHJldHVybiB7XG5cdFx0YWN0aW9uczogY2hhcnRBY3Rpb25zLFxuXHRcdGNvbW1hbmRBY3Rpb25zOiBtYW5pZmVzdEFjdGlvbnMuY29tbWFuZEFjdGlvbnNcblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFAxM25Nb2RlKHZpc3VhbGl6YXRpb25QYXRoOiBzdHJpbmcsIGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRjb25zdCBtYW5pZmVzdFdyYXBwZXI6IE1hbmlmZXN0V3JhcHBlciA9IGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RXcmFwcGVyKCk7XG5cdGNvbnN0IGNoYXJ0TWFuaWZlc3RTZXR0aW5nczogQ2hhcnRNYW5pZmVzdENvbmZpZ3VyYXRpb24gPSBjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0Q29udHJvbENvbmZpZ3VyYXRpb24odmlzdWFsaXphdGlvblBhdGgpO1xuXHRjb25zdCB2YXJpYW50TWFuYWdlbWVudDogVmFyaWFudE1hbmFnZW1lbnRUeXBlID0gbWFuaWZlc3RXcmFwcGVyLmdldFZhcmlhbnRNYW5hZ2VtZW50KCk7XG5cdGNvbnN0IGFQZXJzb25hbGl6YXRpb246IHN0cmluZ1tdID0gW107XG5cdC8vIFBlcnNvbmFsaXphdGlvbiBjb25maWd1cmVkIGluIG1hbmlmZXN0LlxuXHRjb25zdCBwZXJzb25hbGl6YXRpb246IGFueSA9IGNoYXJ0TWFuaWZlc3RTZXR0aW5ncz8uY2hhcnRTZXR0aW5ncz8ucGVyc29uYWxpemF0aW9uO1xuXHRjb25zdCBpc0NvbnRyb2xWYXJpYW50ID0gdmFyaWFudE1hbmFnZW1lbnQgPT09IFZhcmlhbnRNYW5hZ2VtZW50VHlwZS5Db250cm9sID8gdHJ1ZSA6IGZhbHNlO1xuXHQvLyBpZiBwZXJzb25hbGl6YXRpb24gaXMgc2V0IHRvIGZhbHNlIGRvIG5vdCBzaG93IGFueSBvcHRpb25cblx0aWYgKChwZXJzb25hbGl6YXRpb24gIT09IHVuZGVmaW5lZCAmJiAhcGVyc29uYWxpemF0aW9uKSB8fCBwZXJzb25hbGl6YXRpb24gPT0gXCJmYWxzZVwiKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRzd2l0Y2ggKHRydWUpIHtcblx0XHRjYXNlIHR5cGVvZiBwZXJzb25hbGl6YXRpb24gPT09IFwib2JqZWN0XCI6XG5cdFx0XHQvLyBTcGVjaWZpYyBwZXJzb25hbGl6YXRpb24gb3B0aW9ucyBlbmFibGVkIGluIG1hbmlmZXN0LiBVc2UgdGhlbSBhcyBpcy5cblx0XHRcdGlmIChwZXJzb25hbGl6YXRpb24udHlwZSkge1xuXHRcdFx0XHRhUGVyc29uYWxpemF0aW9uLnB1c2goXCJUeXBlXCIpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHBlcnNvbmFsaXphdGlvbi5pdGVtKSB7XG5cdFx0XHRcdGFQZXJzb25hbGl6YXRpb24ucHVzaChcIkl0ZW1cIik7XG5cdFx0XHR9XG5cdFx0XHRpZiAocGVyc29uYWxpemF0aW9uLnNvcnQpIHtcblx0XHRcdFx0YVBlcnNvbmFsaXphdGlvbi5wdXNoKFwiU29ydFwiKTtcblx0XHRcdH1cblx0XHRcdGlmIChwZXJzb25hbGl6YXRpb24uZmlsdGVyKSB7XG5cdFx0XHRcdGFQZXJzb25hbGl6YXRpb24ucHVzaChcIkZpbHRlclwiKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBhUGVyc29uYWxpemF0aW9uLmpvaW4oXCIsXCIpO1xuXHRcdGNhc2UgaXNDb250cm9sVmFyaWFudDpcblx0XHRjYXNlICEhcGVyc29uYWxpemF0aW9uOlxuXHRcdFx0Ly8gbWFuaWZlc3QgaGFzIHBlcnNvbmFsaXphdGlvbiBjb25maWd1cmVkLCBjaGVjayBpZiBpdCdzIHRydWVcblx0XHRcdC8vIGlmIG1hbmlmZXN0IGRvZXNuJ3QgaGF2ZSBwZXJzb25hbGl6YXRpb24sIGNoZWNrIGZvciB2YXJpYW50IG1hbmFnZW1lbnQgaXMgc2V0IHRvIGNvbnRyb2xcblx0XHRcdHJldHVybiBcIlNvcnQsVHlwZSxJdGVtLEZpbHRlclwiO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHQvLyBpZiBtYW5pZmVzdCBkb2Vzbid0IGhhdmUgcGVyc29uYWxpemF0aW9uLCBzaG93IGRlZmF1bHQgb3B0aW9ucyB3aXRob3V0IGZpbHRlclxuXHRcdFx0cmV0dXJuIFwiU29ydCxUeXBlLEl0ZW1cIjtcblx0fVxufVxuZXhwb3J0IHR5cGUgQ2hhcnRDdXN0b21BZ2dyZWdhdGUgPSB7XG5cdG5hbWU6IHN0cmluZztcblx0bGFiZWw6IHN0cmluZztcblx0c29ydGFibGU6IGJvb2xlYW47XG5cdHNvcnRPcmRlcjogXCJib3RoXCI7XG5cdGNvbnRleHREZWZpbmluZ1Byb3BlcnR5OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYW5zQWdnID0ge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHByb3BlcnR5UGF0aDogc3RyaW5nO1xuXHRhZ2dyZWdhdGlvbk1ldGhvZDogQWdncmVnYXRpb25NZXRob2Q7XG5cdGxhYmVsOiBzdHJpbmc7XG5cdHNvcnRhYmxlOiBib29sZWFuO1xuXHRzb3J0T3JkZXI6IFwiYm90aFwiO1xuXHRjdXN0b206IGJvb2xlYW47XG59O1xuLy8gY2hlY2sgaWYgYW5ub2F0YXRpb24gcGF0aCBoYXMgU1BWIGFuZCBzdG9yZSB0aGUgcGF0aFxuZnVuY3Rpb24gY2hlY2tGb3JTUFYodmlld0NvbmZpZ3VyYXRpb246IFZpZXdQYXRoQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCkge1xuXHRyZXR1cm4gdmlld0NvbmZpZ3VyYXRpb24/LmFubm90YXRpb25QYXRoPy5pbmRleE9mKGBAJHtVSUFubm90YXRpb25UZXJtcy5TZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50fWApICE9PSAtMVxuXHRcdD8gdmlld0NvbmZpZ3VyYXRpb24/LmFubm90YXRpb25QYXRoXG5cdFx0OiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBnZXRBZ2dyZWdhdGFibGVQcm9wZXJ0aWVzT2JqZWN0KGFnZ1Byb3A6IEFnZ3JlZ2F0YWJsZVByb3BlcnR5VHlwZSB8IFByb3BlcnR5KSB7XG5cdGxldCBvYmo7XG5cdGlmICgoYWdnUHJvcCBhcyBBZ2dyZWdhdGFibGVQcm9wZXJ0eVR5cGUpPy5Qcm9wZXJ0eSkge1xuXHRcdG9iaiA9IHtcblx0XHRcdFByb3BlcnR5OiB7XG5cdFx0XHRcdCRQcm9wZXJ0eVBhdGg6IChhZ2dQcm9wIGFzIEFnZ3JlZ2F0YWJsZVByb3BlcnR5VHlwZSk/LlByb3BlcnR5Py52YWx1ZVxuXHRcdFx0fVxuXHRcdH07XG5cdH0gZWxzZSB7XG5cdFx0b2JqID0ge1xuXHRcdFx0UHJvcGVydHk6IHtcblx0XHRcdFx0JFByb3BlcnR5UGF0aDogKGFnZ1Byb3AgYXMgUHJvcGVydHkpPy5uYW1lXG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXHRyZXR1cm4gb2JqO1xufVxuLyoqXG4gKiBDcmVhdGUgdGhlIENoYXJ0VmlzdWFsaXphdGlvbiBjb25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgYSBjaGFydCB1c2luZyB0aGUgQ2hhcnQgYnVpbGRpbmcgYmxvY2suXG4gKlxuICogQHBhcmFtIGNoYXJ0QW5ub3RhdGlvbiBUaGUgdGFyZ2V0ZWQgY2hhcnQgYW5ub3RhdGlvblxuICogQHBhcmFtIHZpc3VhbGl6YXRpb25QYXRoIFRoZSBwYXRoIG9mIHRoZSB2aXN1YWxpemF0aW9uIGFubm90YXRpb25cbiAqIEBwYXJhbSBjb252ZXJ0ZXJDb250ZXh0IFRoZSBjb252ZXJ0ZXIgY29udGV4dFxuICogQHBhcmFtIGRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZCBGbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgQXBwbHlTdXBwb3J0ZWQgbmVlZHMgdG8gYmUgY2hlY2tlZCBvciBub3RcbiAqIEBwYXJhbSB2aWV3Q29uZmlndXJhdGlvblxuICogQHBhcmFtIGlzSW5zaWdodHNFbmFibGVkIEZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciBpbnNpZ2h0cyBlbmFibGVkXG4gKiBAcmV0dXJucyBUaGUgY2hhcnQgdmlzdWFsaXphdGlvbiBiYXNlZCBvbiB0aGUgYW5ub3RhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2hhcnRWaXN1YWxpemF0aW9uKFxuXHRjaGFydEFubm90YXRpb246IENoYXJ0LFxuXHR2aXN1YWxpemF0aW9uUGF0aDogc3RyaW5nLFxuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0LFxuXHRkb05vdENoZWNrQXBwbHlTdXBwb3J0ZWQ/OiBib29sZWFuLFxuXHR2aWV3Q29uZmlndXJhdGlvbj86IFZpZXdQYXRoQ29uZmlndXJhdGlvbixcblx0aXNJbnNpZ2h0c0VuYWJsZWQ/OiBib29sZWFuXG4pOiBDaGFydFZpc3VhbGl6YXRpb24ge1xuXHRjb25zdCBhZ2dyZWdhdGlvbkhlbHBlciA9IG5ldyBBZ2dyZWdhdGlvbkhlbHBlcihjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKSwgY29udmVydGVyQ29udGV4dCwgdHJ1ZSk7IC8vIHBhc3NpbmcgdGhlIGxhc3QgcGFyYW1ldGVyIGFzIHRydWUgdG8gY29uc2lkZXIgdGhlIG9sZCBhbm5vdGF0aW9ucyBpLmUuIEFnZ3JlZ2F0aW9uLkFnZ3JlZ2F0YWJsZSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpbiBjYXNlIG9mIGNoYXJ0XG5cdGlmICghZG9Ob3RDaGVja0FwcGx5U3VwcG9ydGVkICYmICFhZ2dyZWdhdGlvbkhlbHBlci5pc0FuYWx5dGljc1N1cHBvcnRlZCgpKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQXBwbHlTdXBwb3J0ZWQgaXMgbm90IGFkZGVkIHRvIHRoZSBhbm5vdGF0aW9uc1wiKTtcblx0fVxuXHRjb25zdCBhVHJhbnNBZ2dyZWdhdGlvbnMgPSBhZ2dyZWdhdGlvbkhlbHBlci5nZXRUcmFuc0FnZ3JlZ2F0aW9ucygpO1xuXHRjb25zdCBhQ3VzdG9tQWdncmVnYXRlcyA9IGFnZ3JlZ2F0aW9uSGVscGVyLmdldEN1c3RvbUFnZ3JlZ2F0ZURlZmluaXRpb25zKCk7XG5cdGNvbnN0IHBhZ2VNYW5pZmVzdFNldHRpbmdzOiBNYW5pZmVzdFdyYXBwZXIgPSBjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpO1xuXHRjb25zdCB2YXJpYW50TWFuYWdlbWVudDogVmFyaWFudE1hbmFnZW1lbnRUeXBlID0gcGFnZU1hbmlmZXN0U2V0dGluZ3MuZ2V0VmFyaWFudE1hbmFnZW1lbnQoKTtcblx0Y29uc3QgcDEzbk1vZGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGdldFAxM25Nb2RlKHZpc3VhbGl6YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0aWYgKHAxM25Nb2RlID09PSB1bmRlZmluZWQgJiYgdmFyaWFudE1hbmFnZW1lbnQgPT09IFwiQ29udHJvbFwiKSB7XG5cdFx0TG9nLndhcm5pbmcoXCJWYXJpYW50IE1hbmFnZW1lbnQgY2Fubm90IGJlIGVuYWJsZWQgd2hlbiBwZXJzb25hbGl6YXRpb24gaXMgZGlzYWJsZWRcIik7XG5cdH1cblx0Y29uc3QgbUN1c3RvbUFnZ3JlZ2F0ZXMgPSB7fSBhcyBhbnk7XG5cdC8vIGNoZWNrIGlmIGFubm9hdGF0aW9uIHBhdGggaGFzIFNQViBhbmQgc3RvcmUgdGhlIHBhdGhcblx0Y29uc3QgbVNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnRQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjaGVja0ZvclNQVih2aWV3Q29uZmlndXJhdGlvbik7XG5cdGlmIChhQ3VzdG9tQWdncmVnYXRlcykge1xuXHRcdGNvbnN0IGVudGl0eVR5cGUgPSBhZ2dyZWdhdGlvbkhlbHBlci5nZXRFbnRpdHlUeXBlKCk7XG5cdFx0Zm9yIChjb25zdCBjdXN0b21BZ2dyZWdhdGUgb2YgYUN1c3RvbUFnZ3JlZ2F0ZXMpIHtcblx0XHRcdGNvbnN0IGFDb250ZXh0RGVmaW5pbmdQcm9wZXJ0aWVzID0gY3VzdG9tQWdncmVnYXRlPy5hbm5vdGF0aW9ucz8uQWdncmVnYXRpb24/LkNvbnRleHREZWZpbmluZ1Byb3BlcnRpZXM7XG5cdFx0XHRjb25zdCBxdWFsaWZpZXIgPSBjdXN0b21BZ2dyZWdhdGU/LnF1YWxpZmllcjtcblx0XHRcdGNvbnN0IHJlbGF0ZWRDdXN0b21BZ2dyZWdhdGVQcm9wZXJ0eSA9IHF1YWxpZmllciAmJiBlbnRpdHlUeXBlLmVudGl0eVByb3BlcnRpZXMuZmluZCgocHJvcGVydHkpID0+IHByb3BlcnR5Lm5hbWUgPT09IHF1YWxpZmllcik7XG5cdFx0XHRjb25zdCBsYWJlbCA9IHJlbGF0ZWRDdXN0b21BZ2dyZWdhdGVQcm9wZXJ0eSAmJiByZWxhdGVkQ3VzdG9tQWdncmVnYXRlUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsPy50b1N0cmluZygpO1xuXHRcdFx0bUN1c3RvbUFnZ3JlZ2F0ZXNbcXVhbGlmaWVyXSA9IHtcblx0XHRcdFx0bmFtZTogcXVhbGlmaWVyLFxuXHRcdFx0XHRsYWJlbDogbGFiZWwgfHwgYEN1c3RvbSBBZ2dyZWdhdGUgKCR7cXVhbGlmaWVyfSlgLFxuXHRcdFx0XHRzb3J0YWJsZTogdHJ1ZSxcblx0XHRcdFx0c29ydE9yZGVyOiBcImJvdGhcIixcblx0XHRcdFx0Y29udGV4dERlZmluaW5nUHJvcGVydHk6IGFDb250ZXh0RGVmaW5pbmdQcm9wZXJ0aWVzXG5cdFx0XHRcdFx0PyBhQ29udGV4dERlZmluaW5nUHJvcGVydGllcy5tYXAoKG9DdHhEZWZQcm9wZXJ0eSkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gb0N0eERlZlByb3BlcnR5LnZhbHVlO1xuXHRcdFx0XHRcdCAgfSlcblx0XHRcdFx0XHQ6IFtdXG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0IG1UcmFuc0FnZ3JlZ2F0aW9uczogUmVjb3JkPHN0cmluZywgVHJhbnNBZ2c+ID0ge307XG5cdGNvbnN0IG9SZXNvdXJjZUJ1bmRsZUNvcmUgPSBDb3JlLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5jb3JlXCIpO1xuXHRpZiAoYVRyYW5zQWdncmVnYXRpb25zKSB7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhVHJhbnNBZ2dyZWdhdGlvbnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdG1UcmFuc0FnZ3JlZ2F0aW9uc1thVHJhbnNBZ2dyZWdhdGlvbnNbaV0uTmFtZV0gPSB7XG5cdFx0XHRcdG5hbWU6IGFUcmFuc0FnZ3JlZ2F0aW9uc1tpXS5OYW1lLFxuXHRcdFx0XHRwcm9wZXJ0eVBhdGg6IGFUcmFuc0FnZ3JlZ2F0aW9uc1tpXS5BZ2dyZWdhdGFibGVQcm9wZXJ0eS52YWx1ZU9mKCkudmFsdWUsXG5cdFx0XHRcdGFnZ3JlZ2F0aW9uTWV0aG9kOiBhVHJhbnNBZ2dyZWdhdGlvbnNbaV0uQWdncmVnYXRpb25NZXRob2QsXG5cdFx0XHRcdGxhYmVsOiBhVHJhbnNBZ2dyZWdhdGlvbnNbaV0/LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsXG5cdFx0XHRcdFx0PyBhVHJhbnNBZ2dyZWdhdGlvbnNbaV0/LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsLnRvU3RyaW5nKClcblx0XHRcdFx0XHQ6IGAke29SZXNvdXJjZUJ1bmRsZUNvcmUuZ2V0VGV4dChcIkFHR1JFR0FUQUJMRV9QUk9QRVJUWVwiKX0gKCR7YVRyYW5zQWdncmVnYXRpb25zW2ldLk5hbWV9KWAsXG5cdFx0XHRcdHNvcnRhYmxlOiB0cnVlLFxuXHRcdFx0XHRzb3J0T3JkZXI6IFwiYm90aFwiLFxuXHRcdFx0XHRjdXN0b206IGZhbHNlXG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0IGFBZ2dQcm9wcyA9IGFnZ3JlZ2F0aW9uSGVscGVyLmdldEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMoKTtcblx0Y29uc3QgYUdycFByb3BzID0gYWdncmVnYXRpb25IZWxwZXIuZ2V0R3JvdXBhYmxlUHJvcGVydGllcygpO1xuXHRjb25zdCBtQXBwbHlTdXBwb3J0ZWQgPSB7fSBhcyBDaGFydEFwcGx5U3VwcG9ydGVkO1xuXHRtQXBwbHlTdXBwb3J0ZWQuJFR5cGUgPSBBZ2dyZWdhdGlvbkFubm90YXRpb25UeXBlcy5BcHBseVN1cHBvcnRlZFR5cGU7XG5cdG1BcHBseVN1cHBvcnRlZC5BZ2dyZWdhdGFibGVQcm9wZXJ0aWVzID0gW107XG5cdG1BcHBseVN1cHBvcnRlZC5Hcm91cGFibGVQcm9wZXJ0aWVzID0gW107XG5cblx0aWYgKGFBZ2dQcm9wcykge1xuXHRcdG1BcHBseVN1cHBvcnRlZC5BZ2dyZWdhdGFibGVQcm9wZXJ0aWVzID0gYUFnZ1Byb3BzLm1hcCgocHJvcCkgPT4gZ2V0QWdncmVnYXRhYmxlUHJvcGVydGllc09iamVjdChwcm9wKSk7XG5cdH1cblxuXHRpZiAoYUdycFByb3BzKSB7XG5cdFx0bUFwcGx5U3VwcG9ydGVkLkdyb3VwYWJsZVByb3BlcnRpZXMgPSBhR3JwUHJvcHMubWFwKChwcm9wKSA9PiAoeyBbXCIkUHJvcGVydHlQYXRoXCJdOiBwcm9wLnZhbHVlIH0pKTtcblx0fVxuXG5cdGNvbnN0IGNoYXJ0QWN0aW9ucyA9IGdldENoYXJ0QWN0aW9ucyhjaGFydEFubm90YXRpb24sIHZpc3VhbGl6YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0bGV0IFtuYXZpZ2F0aW9uUHJvcGVydHlQYXRoIC8qLCBhbm5vdGF0aW9uUGF0aCovXSA9IHZpc3VhbGl6YXRpb25QYXRoLnNwbGl0KFwiQFwiKTtcblx0aWYgKG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgubGFzdEluZGV4T2YoXCIvXCIpID09PSBuYXZpZ2F0aW9uUHJvcGVydHlQYXRoLmxlbmd0aCAtIDEpIHtcblx0XHQvLyBEcm9wIHRyYWlsaW5nIHNsYXNoXG5cdFx0bmF2aWdhdGlvblByb3BlcnR5UGF0aCA9IG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGguc3Vic3RyKDAsIG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgubGVuZ3RoIC0gMSk7XG5cdH1cblx0Y29uc3QgdGl0bGUgPSBjaGFydEFubm90YXRpb24uVGl0bGU/LnRvU3RyaW5nKCkgfHwgXCJcIjsgLy8gcmVhZCB0aXRsZSBmcm9tIGNoYXJ0IGFubm90YXRpb25cblx0Y29uc3QgZGF0YU1vZGVsUGF0aCA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpO1xuXHRjb25zdCBpc0VudGl0eVNldDogYm9vbGVhbiA9IG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgubGVuZ3RoID09PSAwO1xuXHRjb25zdCBlbnRpdHlOYW1lOiBzdHJpbmcgPSBkYXRhTW9kZWxQYXRoLnRhcmdldEVudGl0eVNldCA/IGRhdGFNb2RlbFBhdGgudGFyZ2V0RW50aXR5U2V0Lm5hbWUgOiBkYXRhTW9kZWxQYXRoLnN0YXJ0aW5nRW50aXR5U2V0Lm5hbWU7XG5cdGNvbnN0IHNGaWx0ZXJiYXJJZCA9IGlzRW50aXR5U2V0ID8gZ2V0RmlsdGVyQmFySUQoY29udmVydGVyQ29udGV4dC5nZXRDb250ZXh0UGF0aCgpKSA6IHVuZGVmaW5lZDtcblx0Y29uc3Qgb1ZpelByb3BlcnRpZXMgPSB7XG5cdFx0bGVnZW5kR3JvdXA6IHtcblx0XHRcdGxheW91dDoge1xuXHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIlxuXHRcdFx0fVxuXHRcdH1cblx0fTtcblx0bGV0IGF1dG9CaW5kT25Jbml0OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXHRpZiAoY29udmVydGVyQ29udGV4dC5nZXRUZW1wbGF0ZVR5cGUoKSA9PT0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UpIHtcblx0XHRhdXRvQmluZE9uSW5pdCA9IHRydWU7XG5cdH0gZWxzZSBpZiAoXG5cdFx0Y29udmVydGVyQ29udGV4dC5nZXRUZW1wbGF0ZVR5cGUoKSA9PT0gVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQgfHxcblx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldFRlbXBsYXRlVHlwZSgpID09PSBUZW1wbGF0ZVR5cGUuQW5hbHl0aWNhbExpc3RQYWdlXG5cdCkge1xuXHRcdGF1dG9CaW5kT25Jbml0ID0gZmFsc2U7XG5cdH1cblx0Y29uc3QgaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucyA9XG5cdFx0Y29udmVydGVyQ29udGV4dC5nZXRNYW5pZmVzdFdyYXBwZXIoKS5oYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zKCkgfHxcblx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldFRlbXBsYXRlVHlwZSgpID09PSBUZW1wbGF0ZVR5cGUuQW5hbHl0aWNhbExpc3RQYWdlO1xuXHRjb25zdCBvblNlZ21lbnRlZEJ1dHRvblByZXNzZWQgPSBoYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zID8gXCIuaGFuZGxlcnMub25TZWdtZW50ZWRCdXR0b25QcmVzc2VkXCIgOiBcIlwiO1xuXHRjb25zdCB2aXNpYmxlID0gaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucyA/IFwiez0gJHtwYWdlSW50ZXJuYWw+YWxwQ29udGVudFZpZXd9ICE9PSAnVGFibGUnfVwiIDogXCJ0cnVlXCI7XG5cdGNvbnN0IGFsbG93ZWRUcmFuc2Zvcm1hdGlvbnMgPSBhZ2dyZWdhdGlvbkhlbHBlci5nZXRBbGxvd2VkVHJhbnNmb3JtYXRpb25zKCk7XG5cdG1BcHBseVN1cHBvcnRlZC5lbmFibGVTZWFyY2ggPSBhbGxvd2VkVHJhbnNmb3JtYXRpb25zID8gYWxsb3dlZFRyYW5zZm9ybWF0aW9ucy5pbmRleE9mKFwic2VhcmNoXCIpID49IDAgOiB0cnVlO1xuXHRsZXQgcXVhbGlmaWVyID0gXCJcIjtcblx0aWYgKGNoYXJ0QW5ub3RhdGlvbi5mdWxseVF1YWxpZmllZE5hbWUuc3BsaXQoXCIjXCIpLmxlbmd0aCA+IDEpIHtcblx0XHRxdWFsaWZpZXIgPSBjaGFydEFubm90YXRpb24uZnVsbHlRdWFsaWZpZWROYW1lLnNwbGl0KFwiI1wiKVsxXTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdHR5cGU6IFZpc3VhbGl6YXRpb25UeXBlLkNoYXJ0LFxuXHRcdGlkOiBxdWFsaWZpZXJcblx0XHRcdD8gZ2V0Q2hhcnRJRChpc0VudGl0eVNldCA/IGVudGl0eU5hbWUgOiBuYXZpZ2F0aW9uUHJvcGVydHlQYXRoLCBxdWFsaWZpZXIsIFZpc3VhbGl6YXRpb25UeXBlLkNoYXJ0KVxuXHRcdFx0OiBnZXRDaGFydElEKGlzRW50aXR5U2V0ID8gZW50aXR5TmFtZSA6IG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgsIFZpc3VhbGl6YXRpb25UeXBlLkNoYXJ0KSxcblx0XHRjb2xsZWN0aW9uOiBnZXRUYXJnZXRPYmplY3RQYXRoKGNvbnZlcnRlckNvbnRleHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpKSxcblx0XHRlbnRpdHlOYW1lOiBlbnRpdHlOYW1lLFxuXHRcdHBlcnNvbmFsaXphdGlvbjogZ2V0UDEzbk1vZGUodmlzdWFsaXphdGlvblBhdGgsIGNvbnZlcnRlckNvbnRleHQpLFxuXHRcdG5hdmlnYXRpb25QYXRoOiBuYXZpZ2F0aW9uUHJvcGVydHlQYXRoLFxuXHRcdGFubm90YXRpb25QYXRoOiBjb252ZXJ0ZXJDb250ZXh0LmdldEFic29sdXRlQW5ub3RhdGlvblBhdGgodmlzdWFsaXphdGlvblBhdGgpLFxuXHRcdGZpbHRlcklkOiBzRmlsdGVyYmFySWQsXG5cdFx0dml6UHJvcGVydGllczogSlNPTi5zdHJpbmdpZnkob1ZpelByb3BlcnRpZXMpLFxuXHRcdGFjdGlvbnM6IGNoYXJ0QWN0aW9ucy5hY3Rpb25zLFxuXHRcdGNvbW1hbmRBY3Rpb25zOiBjaGFydEFjdGlvbnMuY29tbWFuZEFjdGlvbnMsXG5cdFx0dGl0bGU6IHRpdGxlLFxuXHRcdGF1dG9CaW5kT25Jbml0OiBhdXRvQmluZE9uSW5pdCxcblx0XHRvblNlZ21lbnRlZEJ1dHRvblByZXNzZWQ6IG9uU2VnbWVudGVkQnV0dG9uUHJlc3NlZCxcblx0XHR2aXNpYmxlOiB2aXNpYmxlLFxuXHRcdGN1c3RvbUFnZzogbUN1c3RvbUFnZ3JlZ2F0ZXMsXG5cdFx0dHJhbnNBZ2c6IG1UcmFuc0FnZ3JlZ2F0aW9ucyxcblx0XHRhcHBseVN1cHBvcnRlZDogbUFwcGx5U3VwcG9ydGVkLFxuXHRcdHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnRQYXRoOiBtU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudFBhdGgsXG5cdFx0dmFyaWFudE1hbmFnZW1lbnQ6IGZpbmRWYXJpYW50TWFuYWdlbWVudChwMTNuTW9kZSwgdmFyaWFudE1hbmFnZW1lbnQpLFxuXHRcdGlzSW5zaWdodHNFbmFibGVkOiAoaXNJbnNpZ2h0c0VuYWJsZWQgPz8gZmFsc2UpICYmIGdldEluc2lnaHRzVmlzaWJpbGl0eShcIkFuYWx5dGljYWxcIiwgY29udmVydGVyQ29udGV4dCwgdmlzdWFsaXphdGlvblBhdGgpXG5cdH07XG59XG4vKipcbiAqIE1ldGhvZCB0byBkZXRlcm1pbmUgdGhlIHZhcmlhbnQgbWFuYWdlbWVudC5cbiAqXG4gKiBAcGFyYW0gcDEzbk1vZGVcbiAqIEBwYXJhbSB2YXJpYW50TWFuYWdlbWVudFxuICogQHJldHVybnMgVGhlIHZhcmlhbnQgbWFuYWdlbWVudCBmb3IgdGhlIGNoYXJ0XG4gKi9cbmZ1bmN0aW9uIGZpbmRWYXJpYW50TWFuYWdlbWVudChwMTNuTW9kZTogc3RyaW5nIHwgdW5kZWZpbmVkLCB2YXJpYW50TWFuYWdlbWVudDogVmFyaWFudE1hbmFnZW1lbnRUeXBlKSB7XG5cdHJldHVybiB2YXJpYW50TWFuYWdlbWVudCA9PT0gXCJDb250cm9sXCIgJiYgIXAxM25Nb2RlID8gVmFyaWFudE1hbmFnZW1lbnRUeXBlLk5vbmUgOiB2YXJpYW50TWFuYWdlbWVudDtcbn1cblxuLyoqXG4gKiBNZXRob2QgdG8gZ2V0IGNvbXBpbGUgZXhwcmVzc2lvbiBmb3IgRGF0YUZpZWxkRm9yQWN0aW9uIGFuZCBEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24uXG4gKlxuICogQHBhcmFtIGRhdGFGaWVsZFxuICogQHBhcmFtIGNvbnZlcnRlckNvbnRleHRcbiAqIEByZXR1cm5zIENvbXBpbGUgZXhwcmVzc2lvbiBmb3IgRGF0YUZpZWxkRm9yQWN0aW9uIGFuZCBEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb25cbiAqL1xuZnVuY3Rpb24gZ2V0Q29tcGlsZUV4cHJlc3Npb25Gb3JBY3Rpb24oZGF0YUZpZWxkOiBEYXRhRmllbGRBYnN0cmFjdFR5cGVzLCBjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0KSB7XG5cdHJldHVybiBjb21waWxlRXhwcmVzc2lvbihcblx0XHRub3QoXG5cdFx0XHRlcXVhbChcblx0XHRcdFx0Z2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKFxuXHRcdFx0XHRcdGRhdGFGaWVsZC5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbixcblx0XHRcdFx0XHRbXSxcblx0XHRcdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dC5nZXRSZWxhdGl2ZU1vZGVsUGF0aEZ1bmN0aW9uKClcblx0XHRcdFx0KSxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KVxuXHRcdClcblx0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJsYW5rQ2hhcnRWaXN1YWxpemF0aW9uKGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpOiBDaGFydFZpc3VhbGl6YXRpb24ge1xuXHRjb25zdCBoYXNNdWx0aXBsZVZpc3VhbGl6YXRpb25zID1cblx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpLmhhc011bHRpcGxlVmlzdWFsaXphdGlvbnMoKSB8fFxuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0VGVtcGxhdGVUeXBlKCkgPT09IFRlbXBsYXRlVHlwZS5BbmFseXRpY2FsTGlzdFBhZ2U7XG5cdGNvbnN0IGRhdGFNb2RlbFBhdGggPSBjb252ZXJ0ZXJDb250ZXh0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKTtcblx0Y29uc3QgZW50aXR5TmFtZSA9IGRhdGFNb2RlbFBhdGgudGFyZ2V0RW50aXR5U2V0ID8gZGF0YU1vZGVsUGF0aC50YXJnZXRFbnRpdHlTZXQubmFtZSA6IGRhdGFNb2RlbFBhdGguc3RhcnRpbmdFbnRpdHlTZXQubmFtZTtcblxuXHRjb25zdCB2aXN1YWxpemF0aW9uOiBDaGFydFZpc3VhbGl6YXRpb24gPSB7XG5cdFx0dHlwZTogVmlzdWFsaXphdGlvblR5cGUuQ2hhcnQsXG5cdFx0aWQ6IGdldENoYXJ0SUQoZW50aXR5TmFtZSwgVmlzdWFsaXphdGlvblR5cGUuQ2hhcnQpLFxuXHRcdGVudGl0eU5hbWU6IGVudGl0eU5hbWUsXG5cdFx0dGl0bGU6IFwiXCIsXG5cdFx0Y29sbGVjdGlvbjogXCJcIixcblx0XHRwZXJzb25hbGl6YXRpb246IHVuZGVmaW5lZCxcblx0XHRuYXZpZ2F0aW9uUGF0aDogXCJcIixcblx0XHRhbm5vdGF0aW9uUGF0aDogXCJcIixcblx0XHR2aXpQcm9wZXJ0aWVzOiBKU09OLnN0cmluZ2lmeSh7XG5cdFx0XHRsZWdlbmRHcm91cDoge1xuXHRcdFx0XHRsYXlvdXQ6IHtcblx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIlxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSksXG5cdFx0YWN0aW9uczogW10sXG5cdFx0Y29tbWFuZEFjdGlvbnM6IHt9LFxuXHRcdGF1dG9CaW5kT25Jbml0OiBmYWxzZSxcblx0XHRvblNlZ21lbnRlZEJ1dHRvblByZXNzZWQ6IFwiXCIsXG5cdFx0dmlzaWJsZTogaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucyA/IFwiez0gJHtwYWdlSW50ZXJuYWw+YWxwQ29udGVudFZpZXd9ICE9PSAnVGFibGUnfVwiIDogXCJ0cnVlXCIsXG5cdFx0Y3VzdG9tQWdnOiB7fSxcblx0XHR0cmFuc0FnZzoge30sXG5cdFx0YXBwbHlTdXBwb3J0ZWQ6IHtcblx0XHRcdCRUeXBlOiBcIk9yZy5PRGF0YS5BZ2dyZWdhdGlvbi5WMS5BcHBseVN1cHBvcnRlZFR5cGVcIixcblx0XHRcdEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXM6IFtdLFxuXHRcdFx0R3JvdXBhYmxlUHJvcGVydGllczogW10sXG5cdFx0XHRlbmFibGVTZWFyY2g6IGZhbHNlXG5cdFx0fSxcblx0XHRtdWx0aVZpZXdzOiBmYWxzZSxcblx0XHR2YXJpYW50TWFuYWdlbWVudDogVmFyaWFudE1hbmFnZW1lbnRUeXBlLk5vbmVcblx0fTtcblxuXHRyZXR1cm4gdmlzdWFsaXphdGlvbjtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE2REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLFNBQVNBLDhCQUE4QixDQUN0Q0MsZUFBc0IsRUFDdEJDLGlCQUF5QixFQUN6QkMsZ0JBQWtDLEVBQ25CO0lBQ2YsTUFBTUMsWUFBMEIsR0FBRyxFQUFFO0lBQ3JDLElBQUlILGVBQWUsRUFBRTtNQUNwQixNQUFNSSxRQUFRLEdBQUdKLGVBQWUsQ0FBQ0ssT0FBTyxJQUFJLEVBQUU7TUFDOUNELFFBQVEsQ0FBQ0UsT0FBTyxDQUFFQyxTQUFpQyxJQUFLO1FBQUE7UUFDdkQsSUFBSUMsV0FBeUM7UUFDN0MsSUFBSUMsNEJBQTRCLENBQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUNBLFNBQVMsQ0FBQ0csTUFBTSxJQUFJLENBQUNILFNBQVMsQ0FBQ0ksV0FBVyxFQUFFO1VBQzNGLE1BQU1DLEdBQUcsR0FBR0MsU0FBUyxDQUFDQyx3QkFBd0IsQ0FBQ1AsU0FBUyxDQUFDO1VBQ3pELFFBQVFBLFNBQVMsQ0FBQ1EsS0FBSztZQUN0Qjtj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
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log","sap/fe/core/converters/annotations/DataField","sap/fe/core/converters/controls/Common/Action","sap/fe/core/converters/helpers/ConfigurableObject","sap/fe/core/converters/helpers/Key","sap/fe/core/helpers/BindingToolkit","sap/fe/core/templating/DataModelPathHelper","sap/ui/core/Core","../../helpers/Aggregation","../../helpers/ID","../../ManifestSettings"],function(t,e,n,a,o,i,r,l,s,g,c){"use strict";var p={};var u=c.VisualizationType;var d=c.VariantManagementType;var v=c.TemplateType;var f=c.ActionType;var m=g.getFilterBarID;var y=g.getChartID;var h=s.AggregationHelper;var b=r.getTargetObjectPath;var P=i.not;var A=i.getExpressionFromAnnotation;var T=i.equal;var S=i.compileExpression;var C=o.KeyHelper;var M=a.OverrideType;var O=a.insertCustomElements;var D=n.getActionsFromManifest;var F=e.isDataFieldForActionAbstract;function I(t,e,n){const a=[];if(t){const e=t.Actions||[];e.forEach(t=>{var e;let o;if(F(t)&&!t.Inline&&!t.Determining){const a=C.generateKeyFromDataField(t);switch(t.$Type){case"com.sap.vocabularies.UI.v1.DataFieldForAction":if(!((e=t.ActionTarget)!==null&&e!==void 0&&e.isBound)){o={type:f.DataFieldForAction,annotationPath:n.getEntitySetBasedAnnotationPath(t.fullyQualifiedName),key:a,visible:$(t,n)}}break;case"com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation":o={type:f.DataFieldForIntentBasedNavigation,annotationPath:n.getEntitySetBasedAnnotationPath(t.fullyQualifiedName),key:a,visible:$(t,n),isNavigable:true};break}}if(o){a.push(o)}})}return a}function E(t,e,n){const a=I(t,e,n);const o=D(n.getManifestControlConfiguration(e).actions,n,a);const i={enabled:M.overwrite,enableOnSelect:M.overwrite,visible:M.overwrite,command:M.overwrite};const r=O(a,o.actions,i);return{actions:r,commandActions:o.commandActions}}p.getChartActions=E;function N(t,e){var n;const a=e.getManifestWrapper();const o=e.getManifestControlConfiguration(t);const i=a.getVariantManagement();const r=[];const l=o===null||o===void 0?void 0:(n=o.chartSettings)===null||n===void 0?void 0:n.personalization;const s=i===d.Control?true:false;if(l!==undefined&&!l||l=="false"){return undefined}switch(true){case typeof l==="object":if(l.type){r.push("Type")}if(l.item){r.push("Item")}if(l.sort){r.push("Sort")}if(l.filter){r.push("Filter")}return r.join(",");case s:case!!l:return"Sort,Type,Item,Filter";default:return"Sort,Type,Item"}}p.getP13nMode=N;function V(t){var e;return(t===null||t===void 0?void 0:(e=t.annotationPath)===null||e===void 0?void 0:e.indexOf(`@${"com.sap.vocabularies.UI.v1.SelectionPresentationVariant"}`))!==-1?t===null||t===void 0?void 0:t.annotationPath:undefined}function w(e,n,a,o,i){var r;const s=new h(a.getEntityType(),a);if(!o&&!s.isAnalyticsSupported()){throw new Error("ApplySupported is not added to the annotations")}const g=s.getTransAggregations();const c=s.getCustomAggregateDefinitions();const p=a.getManifestWrapper();const d=p.getVariantManagement();const f=N(n,a);if(f===undefined&&d==="Control"){t.warning("Variant Management cannot be enabled when personalization is disabled")}const P={};const A=V(i);if(c){const t=s.getEntityType();for(const e of c){var T,S,C,M,O;const n=e===null||e===void 0?void 0:(T=e.annotations)===null||T===void 0?void 0:(S=T.Aggregation)===null||S===void 0?void 0:S.ContextDefiningProperties;const a=e===null||e===void 0?void 0:e.qualifier;const o=a&&t.entityProperties.find(t=>t.name===a);const i=o&&(o===null||o===void 0?void 0:(C=o.annotations)===null||C===void 0?void 0:(M=C.Common)===null||M===void 0?void 0:(O=M.Label)===null||O===void 0?void 0:O.toString());P[a]={name:a,label:i||`Custom Aggregate (${a})`,sortable:true,sortOrder:"both",contextDefiningProperty:n?n.map(t=>t.value):[]}}}const D={};const F=l.getLibraryResourceBundle("sap.fe.core");if(g){for(let t=0;t<g.length;t++){var I,w,$,z,L,x;D[g[t].Name]={name:g[t].Name,propertyPath:g[t].AggregatableProperty.valueOf().value,aggregationMethod:g[t].AggregationMethod,label:(I=g[t])!==null&&I!==void 0&&(w=I.annotations)!==null&&w!==void 0&&($=w.Common)!==null&&$!==void 0&&$.Label?(z=g[t])===null||z===void 0?void 0:(L=z.annotations)===null||L===void 0?void 0:(x=L.Common)===null||x===void 0?void 0:x.Label.toString():`${F.getText("AGGREGATABLE_PROPERTY")} (${g[t].Name})`,sortable:true,sortOrder:"both",custom:false}}}const G=s.getAggregatableProperties();const j=s.getGroupableProperties();const k={};k.$Type="Org.OData.Aggregation.V1.ApplySupportedType";k.AggregatableProperties=[];k.GroupableProperties=[];for(let t=0;G&&t<G.length;t++){var R,H,Q;const e={$Type:(R=G[t])===null||R===void 0?void 0:R.$Type,Property:{$PropertyPath:(H=G[t])===null||H===void 0?void 0:(Q=H.Property)===null||Q===void 0?void 0:Q.value}};k.AggregatableProperties.push(e)}for(let t=0;j&&t<j.length;t++){var U;const e={$PropertyPath:(U=j[t])===null||U===void 0?void 0:U.value};k.GroupableProperties.push(e)}const W=E(e,n,a);let[K]=n.split("@");if(K.lastIndexOf("/")===K.length-1){K=K.substr(0,K.length-1)}const q=((r=e.Title)===null||r===void 0?void 0:r.toString())||"";const J=a.getDataModelObjectPath();const Y=K.length===0;const _=J.targetEntitySet?J.targetEntitySet.name:J.startingEntitySet.name;const X=Y?m(a.getContextPath()):undefined;const Z={legendGroup:{layout:{position:"bottom"}}};let tt;if(a.getTemplateType()===v.ObjectPage){tt=true}else if(a.getTemplateType()===v.ListReport||a.getTemplateType()===v.AnalyticalListPage){tt=false}const et=a.getManifestWrapper().hasMultipleVisualizations()||a.getTemplateType()===v.AnalyticalListPage;const nt=et?".handlers.onSegmentedButtonPressed":"";const at=et?"{= ${pageInternal>alpContentView} !== 'Table'}":"true";const ot=s.getAllowedTransformations();k.enableSearch=ot?ot.indexOf("search")>=0:true;let it="";if(e.fullyQualifiedName.split("#").length>1){it=e.fullyQualifiedName.split("#")[1]}return{type:u.Chart,id:it?y(Y?_:K,it,u.Chart):y(Y?_:K,u.Chart),collection:b(a.getDataModelObjectPath()),entityName:_,personalization:N(n,a),navigationPath:K,annotationPath:a.getAbsoluteAnnotationPath(n),filterId:X,vizProperties:JSON.stringify(Z),actions:W.actions,commandActions:W.commandActions,title:q,autoBindOnInit:tt,onSegmentedButtonPressed:nt,visible:at,customAgg:P,transAgg:D,applySupported:k,selectionPresentationVariantPath:A,variantManagement:B(f,d)}}p.createChartVisualization=w;function B(t,e){return e==="Control"&&!t?d.None:e}function $(t,e){var n,a;return S(P(T(A((n=t.annotations)===null||n===void 0?void 0:(a=n.UI)===null||a===void 0?void 0:a.Hidden,[],undefined,e.getRelativeModelPathFunction()),true)))}function z(t){const e=t.getManifestWrapper().hasMultipleVisualizations()||t.getTemplateType()===v.AnalyticalListPage;const n=t.getDataModelObjectPath();const a=n.targetEntitySet?n.targetEntitySet.name:n.startingEntitySet.name;const o={type:u.Chart,id:y(a,u.Chart),entityName:a,title:"",collection:"",personalization:undefined,navigationPath:"",annotationPath:"",vizProperties:JSON.stringify({legendGroup:{layout:{position:"bottom"}}}),actions:[],commandActions:{},autoBindOnInit:false,onSegmentedButtonPressed:"",visible:e?"{= ${pageInternal>alpContentView} !== 'Table'}":"true",customAgg:{},transAgg:{},applySupported:{$Type:"Org.OData.Aggregation.V1.ApplySupportedType",AggregatableProperties:[],GroupableProperties:[],enableSearch:false},multiViews:false,variantManagement:d.None};return o}p.createBlankChartVisualization=z;return p},false);
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/converters/annotations/DataField","sap/fe/core/converters/controls/Common/Action","sap/fe/core/converters/helpers/ConfigurableObject","sap/fe/core/converters/helpers/Key","sap/fe/core/helpers/BindingToolkit","sap/fe/core/templating/DataModelPathHelper","sap/ui/core/Core","../../helpers/Aggregation","../../helpers/ID","../../helpers/InsightsHelpers","../../ManifestSettings"],function(t,e,n,a,o,i,r,s,l,g,c,p){"use strict";var u={};var d=p.VisualizationType;var v=p.VariantManagementType;var f=p.TemplateType;var m=p.ActionType;var y=c.getInsightsVisibility;var h=g.getFilterBarID;var P=g.getChartID;var b=l.AggregationHelper;var A=r.getTargetObjectPath;var T=i.not;var S=i.getExpressionFromAnnotation;var C=i.equal;var M=i.compileExpression;var O=o.KeyHelper;var I=a.OverrideType;var D=a.insertCustomElements;var E=n.getActionsFromManifest;var F=e.isDataFieldForActionAbstract;function V(t,e,n){const a=[];if(t){const e=t.Actions||[];e.forEach(t=>{var e;let o;if(F(t)&&!t.Inline&&!t.Determining){const a=O.generateKeyFromDataField(t);switch(t.$Type){case"com.sap.vocabularies.UI.v1.DataFieldForAction":if(!((e=t.ActionTarget)!==null&&e!==void 0&&e.isBound)){o={type:m.DataFieldForAction,annotationPath:n.getEntitySetBasedAnnotationPath(t.fullyQualifiedName),key:a,visible:x(t,n)}}break;case"com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation":o={type:m.DataFieldForIntentBasedNavigation,annotationPath:n.getEntitySetBasedAnnotationPath(t.fullyQualifiedName),key:a,visible:x(t,n),isNavigable:true};break}}if(o){a.push(o)}})}return a}function N(t,e,n){const a=V(t,e,n);const o=E(n.getManifestControlConfiguration(e).actions,n,a);const i={enabled:I.overwrite,enableOnSelect:I.overwrite,visible:I.overwrite,command:I.overwrite};const r=D(a,o.actions,i);return{actions:r,commandActions:o.commandActions}}u.getChartActions=N;function w(t,e){var n;const a=e.getManifestWrapper();const o=e.getManifestControlConfiguration(t);const i=a.getVariantManagement();const r=[];const s=o===null||o===void 0?void 0:(n=o.chartSettings)===null||n===void 0?void 0:n.personalization;const l=i===v.Control?true:false;if(s!==undefined&&!s||s=="false"){return undefined}switch(true){case typeof s==="object":if(s.type){r.push("Type")}if(s.item){r.push("Item")}if(s.sort){r.push("Sort")}if(s.filter){r.push("Filter")}return r.join(",");case l:case!!s:return"Sort,Type,Item,Filter";default:return"Sort,Type,Item"}}u.getP13nMode=w;function B(t){var e;return(t===null||t===void 0?void 0:(e=t.annotationPath)===null||e===void 0?void 0:e.indexOf(`@${"com.sap.vocabularies.UI.v1.SelectionPresentationVariant"}`))!==-1?t===null||t===void 0?void 0:t.annotationPath:undefined}function $(t){let e;if(t!==null&&t!==void 0&&t.Property){var n;e={Property:{$PropertyPath:t===null||t===void 0?void 0:(n=t.Property)===null||n===void 0?void 0:n.value}}}else{e={Property:{$PropertyPath:t===null||t===void 0?void 0:t.name}}}return e}function z(e,n,a,o,i,r){var l;const g=new b(a.getEntityType(),a,true);if(!o&&!g.isAnalyticsSupported()){throw new Error("ApplySupported is not added to the annotations")}const c=g.getTransAggregations();const p=g.getCustomAggregateDefinitions();const u=a.getManifestWrapper();const v=u.getVariantManagement();const m=w(n,a);if(m===undefined&&v==="Control"){t.warning("Variant Management cannot be enabled when personalization is disabled")}const T={};const S=B(i);if(p){const t=g.getEntityType();for(const e of p){var C,M,O,I,D;const n=e===null||e===void 0?void 0:(C=e.annotations)===null||C===void 0?void 0:(M=C.Aggregation)===null||M===void 0?void 0:M.ContextDefiningProperties;const a=e===null||e===void 0?void 0:e.qualifier;const o=a&&t.entityProperties.find(t=>t.name===a);const i=o&&(o===null||o===void 0?void 0:(O=o.annotations)===null||O===void 0?void 0:(I=O.Common)===null||I===void 0?void 0:(D=I.Label)===null||D===void 0?void 0:D.toString());T[a]={name:a,label:i||`Custom Aggregate (${a})`,sortable:true,sortOrder:"both",contextDefiningProperty:n?n.map(t=>t.value):[]}}}const E={};const F=s.getLibraryResourceBundle("sap.fe.core");if(c){for(let t=0;t<c.length;t++){var V,z,x,G,j,k;E[c[t].Name]={name:c[t].Name,propertyPath:c[t].AggregatableProperty.valueOf().value,aggregationMethod:c[t].AggregationMethod,label:(V=c[t])!==null&&V!==void 0&&(z=V.annotations)!==null&&z!==void 0&&(x=z.Common)!==null&&x!==void 0&&x.Label?(G=c[t])===null||G===void 0?void 0:(j=G.annotations)===null||j===void 0?void 0:(k=j.Common)===null||k===void 0?void 0:k.Label.toString():`${F.getText("AGGREGATABLE_PROPERTY")} (${c[t].Name})`,sortable:true,sortOrder:"both",custom:false}}}const R=g.getAggregatableProperties();const H=g.getGroupableProperties();const Q={};Q.$Type="Org.OData.Aggregation.V1.ApplySupportedType";Q.AggregatableProperties=[];Q.GroupableProperties=[];if(R){Q.AggregatableProperties=R.map(t=>$(t))}if(H){Q.GroupableProperties=H.map(t=>({["$PropertyPath"]:t.value}))}const U=N(e,n,a);let[W]=n.split("@");if(W.lastIndexOf("/")===W.length-1){W=W.substr(0,W.length-1)}const K=((l=e.Title)===null||l===void 0?void 0:l.toString())||"";const q=a.getDataModelObjectPath();const J=W.length===0;const Y=q.targetEntitySet?q.targetEntitySet.name:q.startingEntitySet.name;const _=J?h(a.getContextPath()):undefined;const X={legendGroup:{layout:{position:"bottom"}}};let Z;if(a.getTemplateType()===f.ObjectPage){Z=true}else if(a.getTemplateType()===f.ListReport||a.getTemplateType()===f.AnalyticalListPage){Z=false}const tt=a.getManifestWrapper().hasMultipleVisualizations()||a.getTemplateType()===f.AnalyticalListPage;const et=tt?".handlers.onSegmentedButtonPressed":"";const nt=tt?"{= ${pageInternal>alpContentView} !== 'Table'}":"true";const at=g.getAllowedTransformations();Q.enableSearch=at?at.indexOf("search")>=0:true;let ot="";if(e.fullyQualifiedName.split("#").length>1){ot=e.fullyQualifiedName.split("#")[1]}return{type:d.Chart,id:ot?P(J?Y:W,ot,d.Chart):P(J?Y:W,d.Chart),collection:A(a.getDataModelObjectPath()),entityName:Y,personalization:w(n,a),navigationPath:W,annotationPath:a.getAbsoluteAnnotationPath(n),filterId:_,vizProperties:JSON.stringify(X),actions:U.actions,commandActions:U.commandActions,title:K,autoBindOnInit:Z,onSegmentedButtonPressed:et,visible:nt,customAgg:T,transAgg:E,applySupported:Q,selectionPresentationVariantPath:S,variantManagement:L(m,v),isInsightsEnabled:(r??false)&&y("Analytical",a,n)}}u.createChartVisualization=z;function L(t,e){return e==="Control"&&!t?v.None:e}function x(t,e){var n,a;return M(T(C(S((n=t.annotations)===null||n===void 0?void 0:(a=n.UI)===null||a===void 0?void 0:a.Hidden,[],undefined,e.getRelativeModelPathFunction()),true)))}function G(t){const e=t.getManifestWrapper().hasMultipleVisualizations()||t.getTemplateType()===f.AnalyticalListPage;const n=t.getDataModelObjectPath();const a=n.targetEntitySet?n.targetEntitySet.name:n.startingEntitySet.name;const o={type:d.Chart,id:P(a,d.Chart),entityName:a,title:"",collection:"",personalization:undefined,navigationPath:"",annotationPath:"",vizProperties:JSON.stringify({legendGroup:{layout:{position:"bottom"}}}),actions:[],commandActions:{},autoBindOnInit:false,onSegmentedButtonPressed:"",visible:e?"{= ${pageInternal>alpContentView} !== 'Table'}":"true",customAgg:{},transAgg:{},applySupported:{$Type:"Org.OData.Aggregation.V1.ApplySupportedType",AggregatableProperties:[],GroupableProperties:[],enableSearch:false},multiViews:false,variantManagement:v.None};return o}u.createBlankChartVisualization=G;return u},false);
6
6
  //# sourceMappingURL=Chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["sap","ui","define","Log","DataField","Action","ConfigurableObject","Key","BindingToolkit","DataModelPathHelper","Core","Aggregation","ID","ManifestSettings","_exports","VisualizationType","VariantManagementType","TemplateType","ActionType","getFilterBarID","getChartID","AggregationHelper","getTargetObjectPath","not","getExpressionFromAnnotation","equal","compileExpression","KeyHelper","OverrideType","insertCustomElements","getActionsFromManifest","isDataFieldForActionAbstract","getChartActionsFromAnnotations","chartAnnotation","visualizationPath","converterContext","chartActions","aActions","Actions","forEach","dataField","_dataField$ActionTarg","chartAction","Inline","Determining","key","generateKeyFromDataField","$Type","ActionTarget","isBound","type","DataFieldForAction","annotationPath","getEntitySetBasedAnnotationPath","fullyQualifiedName","visible","getCompileExpressionForAction","DataFieldForIntentBasedNavigation","isNavigable","push","getChartActions","aAnnotationActions","manifestActions","getManifestControlConfiguration","actions","actionOverwriteConfig","enabled","overwrite","enableOnSelect","command","commandActions","getP13nMode","_chartManifestSetting","manifestWrapper","getManifestWrapper","chartManifestSettings","variantManagement","getVariantManagement","aPersonalization","personalization","chartSettings","isControlVariant","Control","undefined","item","sort","filter","join","checkForSPV","viewConfiguration","_viewConfiguration$an","indexOf","createChartVisualization","doNotCheckApplySupported","_chartAnnotation$Titl","aggregationHelper","getEntityType","isAnalyticsSupported","Error","aTransAggregations","getTransAggregations","aCustomAggregates","getCustomAggregateDefinitions","pageManifestSettings","p13nMode","warning","mCustomAggregates","mSelectionPresentationVariantPath","entityType","customAggregate","_customAggregate$anno","_customAggregate$anno2","_relatedCustomAggrega","_relatedCustomAggrega2","_relatedCustomAggrega3","aContextDefiningProperties","annotations","ContextDefiningProperties","qualifier","relatedCustomAggregateProperty","entityProperties","find","property","name","label","Common","Label","toString","sortable","sortOrder","contextDefiningProperty","map","oCtxDefProperty","value","mTransAggregations","oResourceBundleCore","getLibraryResourceBundle","i","length","_aTransAggregations$i","_aTransAggregations$i2","_aTransAggregations$i3","_aTransAggregations$i4","_aTransAggregations$i5","_aTransAggregations$i6","Name","propertyPath","AggregatableProperty","valueOf","aggregationMethod","AggregationMethod","getText","custom","aAggProps","getAggregatableProperties","aGrpProps","getGroupableProperties","mApplySupported","AggregatableProperties","GroupableProperties","_aAggProps$i","_aAggProps$i2","_aAggProps$i2$Propert","obj","Property","$PropertyPath","_aGrpProps$i","navigationPropertyPath","split","lastIndexOf","substr","title","Title","dataModelPath","getDataModelObjectPath","isEntitySet","entityName","targetEntitySet","startingEntitySet","sFilterbarId","getContextPath","oVizProperties","legendGroup","layout","position","autoBindOnInit","getTemplateType","ObjectPage","ListReport","AnalyticalListPage","hasMultipleVisualizations","onSegmentedButtonPressed","allowedTransformations","getAllowedTransformations","enableSearch","Chart","id","collection","navigationPath","getAbsoluteAnnotationPath","filterId","vizProperties","JSON","stringify","customAgg","transAgg","applySupported","selectionPresentationVariantPath","findVariantManagement","None","_dataField$annotation","_dataField$annotation2","UI","Hidden","getRelativeModelPathFunction","createBlankChartVisualization","visualization","multiViews"],"sources":["Chart-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"Chart.js","names":["sap","ui","define","Log","DataField","Action","ConfigurableObject","Key","BindingToolkit","DataModelPathHelper","Core","Aggregation","ID","InsightsHelpers","ManifestSettings","_exports","VisualizationType","VariantManagementType","TemplateType","ActionType","getInsightsVisibility","getFilterBarID","getChartID","AggregationHelper","getTargetObjectPath","not","getExpressionFromAnnotation","equal","compileExpression","KeyHelper","OverrideType","insertCustomElements","getActionsFromManifest","isDataFieldForActionAbstract","getChartActionsFromAnnotations","chartAnnotation","visualizationPath","converterContext","chartActions","aActions","Actions","forEach","dataField","_dataField$ActionTarg","chartAction","Inline","Determining","key","generateKeyFromDataField","$Type","ActionTarget","isBound","type","DataFieldForAction","annotationPath","getEntitySetBasedAnnotationPath","fullyQualifiedName","visible","getCompileExpressionForAction","DataFieldForIntentBasedNavigation","isNavigable","push","getChartActions","aAnnotationActions","manifestActions","getManifestControlConfiguration","actions","actionOverwriteConfig","enabled","overwrite","enableOnSelect","command","commandActions","getP13nMode","_chartManifestSetting","manifestWrapper","getManifestWrapper","chartManifestSettings","variantManagement","getVariantManagement","aPersonalization","personalization","chartSettings","isControlVariant","Control","undefined","item","sort","filter","join","checkForSPV","viewConfiguration","_viewConfiguration$an","indexOf","getAggregatablePropertiesObject","aggProp","obj","Property","_Property","$PropertyPath","value","name","createChartVisualization","doNotCheckApplySupported","isInsightsEnabled","_chartAnnotation$Titl","aggregationHelper","getEntityType","isAnalyticsSupported","Error","aTransAggregations","getTransAggregations","aCustomAggregates","getCustomAggregateDefinitions","pageManifestSettings","p13nMode","warning","mCustomAggregates","mSelectionPresentationVariantPath","entityType","customAggregate","_customAggregate$anno","_customAggregate$anno2","_relatedCustomAggrega","_relatedCustomAggrega2","_relatedCustomAggrega3","aContextDefiningProperties","annotations","ContextDefiningProperties","qualifier","relatedCustomAggregateProperty","entityProperties","find","property","label","Common","Label","toString","sortable","sortOrder","contextDefiningProperty","map","oCtxDefProperty","mTransAggregations","oResourceBundleCore","getLibraryResourceBundle","i","length","_aTransAggregations$i","_aTransAggregations$i2","_aTransAggregations$i3","_aTransAggregations$i4","_aTransAggregations$i5","_aTransAggregations$i6","Name","propertyPath","AggregatableProperty","valueOf","aggregationMethod","AggregationMethod","getText","custom","aAggProps","getAggregatableProperties","aGrpProps","getGroupableProperties","mApplySupported","AggregatableProperties","GroupableProperties","prop","navigationPropertyPath","split","lastIndexOf","substr","title","Title","dataModelPath","getDataModelObjectPath","isEntitySet","entityName","targetEntitySet","startingEntitySet","sFilterbarId","getContextPath","oVizProperties","legendGroup","layout","position","autoBindOnInit","getTemplateType","ObjectPage","ListReport","AnalyticalListPage","hasMultipleVisualizations","onSegmentedButtonPressed","allowedTransformations","getAllowedTransformations","enableSearch","Chart","id","collection","navigationPath","getAbsoluteAnnotationPath","filterId","vizProperties","JSON","stringify","customAgg","transAgg","applySupported","selectionPresentationVariantPath","findVariantManagement","None","_dataField$annotation","_dataField$annotation2","UI","Hidden","getRelativeModelPathFunction","createBlankChartVisualization","visualization","multiViews"],"sources":["Chart-dbg.js"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PropertyPath } from "@sap-ux/vocabularies-types";
1
+ import type { Property } from "@sap-ux/vocabularies-types";
2
2
  import type { AggregatablePropertyType, AggregationMethod } from "@sap-ux/vocabularies-types/vocabularies/Aggregation";
3
3
  import { AggregationAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/Aggregation";
4
4
  import { Chart, DataFieldAbstractTypes, UIAnnotationTerms, UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
@@ -17,10 +17,10 @@ import { KeyHelper } from "sap/fe/core/converters/helpers/Key";
17
17
  import { compileExpression, equal, getExpressionFromAnnotation, not } from "sap/fe/core/helpers/BindingToolkit";
18
18
  import { getTargetObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
19
19
  import Core from "sap/ui/core/Core";
20
- import type { ExpandPathType, MetaModelType } from "types/metamodel_types";
21
20
  import type ConverterContext from "../../ConverterContext";
22
21
  import { AggregationHelper } from "../../helpers/Aggregation";
23
22
  import { getChartID, getFilterBarID } from "../../helpers/ID";
23
+ import { getInsightsVisibility } from "../../helpers/InsightsHelpers";
24
24
  import type { ChartManifestConfiguration, ViewPathConfiguration } from "../../ManifestSettings";
25
25
  import { ActionType, TemplateType, VariantManagementType, VisualizationType } from "../../ManifestSettings";
26
26
  import type ManifestWrapper from "../../ManifestWrapper";
@@ -56,6 +56,7 @@ export type ChartVisualization = {
56
56
  multiViews?: boolean;
57
57
  variantManagement: VariantManagementType;
58
58
  selectionPresentationVariantPath?: string;
59
+ isInsightsEnabled?: boolean;
59
60
  };
60
61
 
61
62
  /**
@@ -190,6 +191,23 @@ function checkForSPV(viewConfiguration: ViewPathConfiguration | undefined) {
190
191
  ? viewConfiguration?.annotationPath
191
192
  : undefined;
192
193
  }
194
+ function getAggregatablePropertiesObject(aggProp: AggregatablePropertyType | Property) {
195
+ let obj;
196
+ if ((aggProp as AggregatablePropertyType)?.Property) {
197
+ obj = {
198
+ Property: {
199
+ $PropertyPath: (aggProp as AggregatablePropertyType)?.Property?.value
200
+ }
201
+ };
202
+ } else {
203
+ obj = {
204
+ Property: {
205
+ $PropertyPath: (aggProp as Property)?.name
206
+ }
207
+ };
208
+ }
209
+ return obj;
210
+ }
193
211
  /**
194
212
  * Create the ChartVisualization configuration that will be used to display a chart using the Chart building block.
195
213
  *
@@ -198,6 +216,7 @@ function checkForSPV(viewConfiguration: ViewPathConfiguration | undefined) {
198
216
  * @param converterContext The converter context
199
217
  * @param doNotCheckApplySupported Flag that indicates whether ApplySupported needs to be checked or not
200
218
  * @param viewConfiguration
219
+ * @param isInsightsEnabled Flag that indicates whether insights enabled
201
220
  * @returns The chart visualization based on the annotation
202
221
  */
203
222
  export function createChartVisualization(
@@ -205,9 +224,10 @@ export function createChartVisualization(
205
224
  visualizationPath: string,
206
225
  converterContext: ConverterContext,
207
226
  doNotCheckApplySupported?: boolean,
208
- viewConfiguration?: ViewPathConfiguration
227
+ viewConfiguration?: ViewPathConfiguration,
228
+ isInsightsEnabled?: boolean
209
229
  ): ChartVisualization {
210
- const aggregationHelper = new AggregationHelper(converterContext.getEntityType(), converterContext);
230
+ const aggregationHelper = new AggregationHelper(converterContext.getEntityType(), converterContext, true); // passing the last parameter as true to consider the old annotations i.e. Aggregation.Aggregatable for backward compatibility in case of chart
211
231
  if (!doNotCheckApplySupported && !aggregationHelper.isAnalyticsSupported()) {
212
232
  throw new Error("ApplySupported is not added to the annotations");
213
233
  }
@@ -268,21 +288,12 @@ export function createChartVisualization(
268
288
  mApplySupported.AggregatableProperties = [];
269
289
  mApplySupported.GroupableProperties = [];
270
290
 
271
- for (let i = 0; aAggProps && i < aAggProps.length; i++) {
272
- const obj: MetaModelType<AggregatablePropertyType> = {
273
- $Type: aAggProps[i]?.$Type,
274
- Property: {
275
- $PropertyPath: aAggProps[i]?.Property?.value
276
- }
277
- };
278
-
279
- mApplySupported.AggregatableProperties.push(obj);
291
+ if (aAggProps) {
292
+ mApplySupported.AggregatableProperties = aAggProps.map((prop) => getAggregatablePropertiesObject(prop));
280
293
  }
281
294
 
282
- for (let i = 0; aGrpProps && i < aGrpProps.length; i++) {
283
- const obj: ExpandPathType<PropertyPath> = { $PropertyPath: aGrpProps[i]?.value };
284
-
285
- mApplySupported.GroupableProperties.push(obj);
295
+ if (aGrpProps) {
296
+ mApplySupported.GroupableProperties = aGrpProps.map((prop) => ({ ["$PropertyPath"]: prop.value }));
286
297
  }
287
298
 
288
299
  const chartActions = getChartActions(chartAnnotation, visualizationPath, converterContext);
@@ -345,7 +356,8 @@ export function createChartVisualization(
345
356
  transAgg: mTransAggregations,
346
357
  applySupported: mApplySupported,
347
358
  selectionPresentationVariantPath: mSelectionPresentationVariantPath,
348
- variantManagement: findVariantManagement(p13nMode, variantManagement)
359
+ variantManagement: findVariantManagement(p13nMode, variantManagement),
360
+ isInsightsEnabled: (isInsightsEnabled ?? false) && getInsightsVisibility("Analytical", converterContext, visualizationPath)
349
361
  };
350
362
  }
351
363
  /**