@sap/open.fe 1.94.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 (1783) hide show
  1. package/LICENSE.txt +23 -0
  2. package/README.md +10 -0
  3. package/package.json +21 -0
  4. package/packages/sap.fe.common/src/sap/fe/common/.library +36 -0
  5. package/packages/sap.fe.common/src/sap/fe/common/.theming +6 -0
  6. package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +1378 -0
  7. package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +6 -0
  8. package/packages/sap.fe.common/src/sap/fe/common/MessageFilter-dbg.js +36 -0
  9. package/packages/sap.fe.common/src/sap/fe/common/MessageFilter.js +6 -0
  10. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +56 -0
  11. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.js +6 -0
  12. package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +41 -0
  13. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +18 -0
  14. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js.map +9 -0
  15. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +68 -0
  16. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +9 -0
  17. package/packages/sap.fe.common/src/sap/fe/common/library.js +6 -0
  18. package/packages/sap.fe.common/src/sap/fe/common/manifest.json +40 -0
  19. package/packages/sap.fe.common/src/sap/fe/common/resources.json +186 -0
  20. package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -0
  21. package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -0
  22. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.jsmeta.json +1 -0
  23. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.jstemplates.json +1 -0
  24. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -0
  25. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmltemplates.json +1 -0
  26. package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.91.json +23 -0
  27. package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.94.json +23 -0
  28. package/packages/sap.fe.core/src/sap/fe/core/.library +60 -0
  29. package/packages/sap.fe.core/src/sap/fe/core/.supportrc +4 -0
  30. package/packages/sap.fe.core/src/sap/fe/core/.theming +6 -0
  31. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +409 -0
  32. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +6 -0
  33. package/packages/sap.fe.core/src/sap/fe/core/AppComponent-dbg.js +433 -0
  34. package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +6 -0
  35. package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +184 -0
  36. package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +6 -0
  37. package/packages/sap.fe.core/src/sap/fe/core/BaseController-dbg.js +65 -0
  38. package/packages/sap.fe.core/src/sap/fe/core/BaseController.js +6 -0
  39. package/packages/sap.fe.core/src/sap/fe/core/BusyLocker-dbg.js +112 -0
  40. package/packages/sap.fe.core/src/sap/fe/core/BusyLocker.js +6 -0
  41. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +2246 -0
  42. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +6 -0
  43. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +269 -0
  44. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +6 -0
  45. package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +120 -0
  46. package/packages/sap.fe.core/src/sap/fe/core/PageController.js +6 -0
  47. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +822 -0
  48. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +6 -0
  49. package/packages/sap.fe.core/src/sap/fe/core/Synchronization-dbg.js +38 -0
  50. package/packages/sap.fe.core/src/sap/fe/core/Synchronization.js +6 -0
  51. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +152 -0
  52. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +6 -0
  53. package/packages/sap.fe.core/src/sap/fe/core/TemplateModel-dbg.js +57 -0
  54. package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.js +6 -0
  55. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +1584 -0
  56. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +6 -0
  57. package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +584 -0
  58. package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +6 -0
  59. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +439 -0
  60. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +6 -0
  61. package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft-dbg.js +23 -0
  62. package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft.js +6 -0
  63. package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +1174 -0
  64. package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +6 -0
  65. package/packages/sap.fe.core/src/sap/fe/core/actions/sticky-dbg.js +121 -0
  66. package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.js +6 -0
  67. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata-dbg.js +75 -0
  68. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +6 -0
  69. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +1667 -0
  70. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +6 -0
  71. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +57 -0
  72. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +6 -0
  73. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +501 -0
  74. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +6 -0
  75. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +707 -0
  76. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +6 -0
  77. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +989 -0
  78. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +6 -0
  79. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +417 -0
  80. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +5 -0
  81. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +399 -0
  82. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +116 -0
  83. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +6 -0
  84. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +403 -0
  85. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +5 -0
  86. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.ts +350 -0
  87. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +135 -0
  88. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +6 -0
  89. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +287 -0
  90. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +6 -0
  91. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +109 -0
  92. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +6 -0
  93. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +9 -0
  94. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener.js +6 -0
  95. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +258 -0
  96. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +6 -0
  97. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +711 -0
  98. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +5 -0
  99. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +692 -0
  100. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +615 -0
  101. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +6 -0
  102. package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +76 -0
  103. package/packages/sap.fe.core/src/sap/fe/core/controls/ActionPartial.fragment.xml +91 -0
  104. package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution-dbg.js +71 -0
  105. package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution.js +6 -0
  106. package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +82 -0
  107. package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper.js +6 -0
  108. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +127 -0
  109. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +6 -0
  110. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +12 -0
  111. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +122 -0
  112. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +6 -0
  113. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +150 -0
  114. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +6 -0
  115. package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar-dbg.js +162 -0
  116. package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar.js +6 -0
  117. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +47 -0
  118. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +6 -0
  119. package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +61 -0
  120. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +122 -0
  121. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer.js +6 -0
  122. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +209 -0
  123. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.js +6 -0
  124. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +148 -0
  125. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +6 -0
  126. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +319 -0
  127. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +6 -0
  128. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +500 -0
  129. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +5 -0
  130. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +460 -0
  131. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +90 -0
  132. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +5 -0
  133. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +431 -0
  134. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +404 -0
  135. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +5 -0
  136. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +322 -0
  137. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +1294 -0
  138. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +5 -0
  139. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +1172 -0
  140. package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter-dbg.js +100 -0
  141. package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.js +5 -0
  142. package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.ts +126 -0
  143. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +335 -0
  144. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +5 -0
  145. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +306 -0
  146. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1692 -0
  147. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +5 -0
  148. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +349 -0
  149. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +5 -0
  150. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +353 -0
  151. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +206 -0
  152. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.js +5 -0
  153. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.ts +202 -0
  154. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality-dbg.js +50 -0
  155. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality.js +5 -0
  156. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality.ts +33 -0
  157. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +276 -0
  158. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.js +5 -0
  159. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +296 -0
  160. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +222 -0
  161. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +5 -0
  162. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +241 -0
  163. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +181 -0
  164. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.js +5 -0
  165. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +220 -0
  166. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +2100 -0
  167. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +5 -0
  168. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +2446 -0
  169. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +499 -0
  170. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +5 -0
  171. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +545 -0
  172. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +335 -0
  173. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +5 -0
  174. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +316 -0
  175. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +495 -0
  176. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +5 -0
  177. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +502 -0
  178. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +674 -0
  179. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +5 -0
  180. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +711 -0
  181. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +204 -0
  182. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +5 -0
  183. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.ts +176 -0
  184. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +96 -0
  185. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.js +5 -0
  186. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.ts +76 -0
  187. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +217 -0
  188. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject.js +5 -0
  189. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +211 -0
  190. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +90 -0
  191. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +5 -0
  192. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +45 -0
  193. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +61 -0
  194. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.js +5 -0
  195. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.ts +41 -0
  196. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key-dbg.js +86 -0
  197. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.js +5 -0
  198. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.ts +49 -0
  199. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper-dbg.js +93 -0
  200. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +5 -0
  201. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +92 -0
  202. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions-dbg.js +164 -0
  203. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions.js +5 -0
  204. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +160 -0
  205. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +427 -0
  206. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +5 -0
  207. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +414 -0
  208. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +552 -0
  209. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +5 -0
  210. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +601 -0
  211. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +320 -0
  212. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.js +5 -0
  213. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +314 -0
  214. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +93 -0
  215. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +6 -0
  216. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +8 -0
  217. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +9 -0
  218. package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter-dbg.js +77 -0
  219. package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter.js +5 -0
  220. package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter.ts +58 -0
  221. package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter-dbg.js +51 -0
  222. package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter.js +5 -0
  223. package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter.ts +41 -0
  224. package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter-dbg.js +103 -0
  225. package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter.js +5 -0
  226. package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter.ts +88 -0
  227. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +100 -0
  228. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +5 -0
  229. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +80 -0
  230. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes-dbg.js +23 -0
  231. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes.js +5 -0
  232. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes.ts +7 -0
  233. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +162 -0
  234. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.js +5 -0
  235. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +130 -0
  236. package/packages/sap.fe.core/src/sap/fe/core/fpm/Component-dbg.js +58 -0
  237. package/packages/sap.fe.core/src/sap/fe/core/fpm/Component.js +6 -0
  238. package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +64 -0
  239. package/packages/sap.fe.core/src/sap/fe/core/fpm/resources.json +18 -0
  240. package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum-dbg.js +49 -0
  241. package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum.js +5 -0
  242. package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum.ts +18 -0
  243. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +1667 -0
  244. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +5 -0
  245. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +1765 -0
  246. package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport-dbg.js +314 -0
  247. package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.js +5 -0
  248. package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.ts +232 -0
  249. package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +62 -0
  250. package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +6 -0
  251. package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState-dbg.js +92 -0
  252. package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState.js +6 -0
  253. package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +53 -0
  254. package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper.js +6 -0
  255. package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper-dbg.js +64 -0
  256. package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.js +6 -0
  257. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +150 -0
  258. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +6 -0
  259. package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper-dbg.js +130 -0
  260. package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper.js +6 -0
  261. package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +327 -0
  262. package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.js +6 -0
  263. package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +78 -0
  264. package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper.js +6 -0
  265. package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper-dbg.js +267 -0
  266. package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.js +9 -0
  267. package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.ts +228 -0
  268. package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx-dbg.js +75 -0
  269. package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx.js +5 -0
  270. package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx.ts +83 -0
  271. package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs-dbg.js +10 -0
  272. package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs.js +5 -0
  273. package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs.ts +3 -0
  274. package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +429 -0
  275. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +123 -0
  276. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +9 -0
  277. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +1201 -0
  278. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +9 -0
  279. package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +148 -0
  280. package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +9 -0
  281. package/packages/sap.fe.core/src/sap/fe/core/library.js +6 -0
  282. package/packages/sap.fe.core/src/sap/fe/core/library.support.js +32 -0
  283. package/packages/sap.fe.core/src/sap/fe/core/manifest.json +121 -0
  284. package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +417 -0
  285. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +273 -0
  286. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +273 -0
  287. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +273 -0
  288. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +273 -0
  289. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +273 -0
  290. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +273 -0
  291. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +273 -0
  292. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +273 -0
  293. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +273 -0
  294. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +273 -0
  295. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +273 -0
  296. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +275 -0
  297. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +273 -0
  298. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +273 -0
  299. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +273 -0
  300. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +273 -0
  301. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +273 -0
  302. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +273 -0
  303. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +273 -0
  304. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +273 -0
  305. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +273 -0
  306. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +273 -0
  307. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +273 -0
  308. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +273 -0
  309. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +273 -0
  310. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +273 -0
  311. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +273 -0
  312. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +273 -0
  313. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +273 -0
  314. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +273 -0
  315. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +273 -0
  316. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +273 -0
  317. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +273 -0
  318. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +273 -0
  319. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +273 -0
  320. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +273 -0
  321. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +273 -0
  322. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +273 -0
  323. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +273 -0
  324. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +273 -0
  325. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +273 -0
  326. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +273 -0
  327. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +273 -0
  328. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +273 -0
  329. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +273 -0
  330. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +273 -0
  331. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +273 -0
  332. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +273 -0
  333. package/packages/sap.fe.core/src/sap/fe/core/resources.json +4087 -0
  334. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +106 -0
  335. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.js +5 -0
  336. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +58 -0
  337. package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +205 -0
  338. package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.js +6 -0
  339. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +128 -0
  340. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +5 -0
  341. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +71 -0
  342. package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +303 -0
  343. package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.js +6 -0
  344. package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +84 -0
  345. package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.js +6 -0
  346. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +1099 -0
  347. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +6 -0
  348. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +819 -0
  349. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +5 -0
  350. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +720 -0
  351. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +731 -0
  352. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +5 -0
  353. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +668 -0
  354. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +471 -0
  355. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +6 -0
  356. package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +12 -0
  357. package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +6 -0
  358. package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +8 -0
  359. package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.js +38 -0
  360. package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.ts +20 -0
  361. package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetMissingID.support.js +38 -0
  362. package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetMissingID.support.ts +18 -0
  363. package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +38 -0
  364. package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +18 -0
  365. package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper-dbg.js +71 -0
  366. package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper.js +5 -0
  367. package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper.ts +67 -0
  368. package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics-dbg.js +73 -0
  369. package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics.js +5 -0
  370. package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics.ts +66 -0
  371. package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +156 -0
  372. package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters.js +5 -0
  373. package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters.ts +226 -0
  374. package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +77 -0
  375. package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters.js +5 -0
  376. package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters.ts +54 -0
  377. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +444 -0
  378. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +5 -0
  379. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +428 -0
  380. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +33 -0
  381. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +5 -0
  382. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +13 -0
  383. package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper-dbg.js +89 -0
  384. package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.js +5 -0
  385. package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.ts +53 -0
  386. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +331 -0
  387. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +5 -0
  388. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +310 -0
  389. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating-dbg.js +66 -0
  390. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating.js +5 -0
  391. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating.ts +39 -0
  392. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters-dbg.js +126 -0
  393. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters.js +5 -0
  394. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters.ts +86 -0
  395. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +303 -0
  396. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.js +5 -0
  397. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +209 -0
  398. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +525 -0
  399. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +5 -0
  400. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +489 -0
  401. package/packages/sap.fe.core/src/sap/fe/core/type/Email-dbg.js +20 -0
  402. package/packages/sap.fe.core/src/sap/fe/core/type/Email.js +5 -0
  403. package/packages/sap.fe.core/src/sap/fe/core/type/Email.ts +18 -0
  404. package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -0
  405. package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -0
  406. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -0
  407. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -0
  408. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -0
  409. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmltemplates.json +1 -0
  410. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/Component.js +56 -0
  411. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/App.controller.js +252 -0
  412. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/BaseController.js +46 -0
  413. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/ControllerExtensions.controller.js +380 -0
  414. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/CustomElements.controller.js +380 -0
  415. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/MacrosPage.controller.js +382 -0
  416. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/Overview.controller.js +99 -0
  417. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/Topic.controller.js +71 -0
  418. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controls/FileEditor.js +401 -0
  419. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/FileEditor.css +8 -0
  420. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/codesample.css +172 -0
  421. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/markdown-styles.css +3 -0
  422. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/style.css +48 -0
  423. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/topic.css +176 -0
  424. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/index.html +62 -0
  425. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/manifest.json +132 -0
  426. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/ControllerExtensionNavigationModel.js +174 -0
  427. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/CustomElementNavigationModel.js +327 -0
  428. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/ExploreSettingsModel.js +12 -0
  429. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +709 -0
  430. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/OverviewNavigationModel.js +15 -0
  431. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/scripts/boot.js +68 -0
  432. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/service-worker.js +100 -0
  433. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/.gitignore.tmpl +0 -0
  434. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/.npmrc.tmpl +0 -0
  435. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/README.md +43 -0
  436. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/package.json +31 -0
  437. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/ui5-local.yaml +25 -0
  438. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/ui5.yaml +25 -0
  439. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/Component.js +9 -0
  440. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/i18n/i18n.properties +9 -0
  441. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/index.html +28 -0
  442. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/manifest.json +165 -0
  443. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/Component.js +31 -0
  444. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/localService/Incidents.json +56 -0
  445. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/localService/service.cds +32 -0
  446. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/manifest.json +109 -0
  447. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.controller.js +6 -0
  448. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.view.xml +30 -0
  449. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FclNavigationButtons.html +37 -0
  450. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.html +24 -0
  451. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +23 -0
  452. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.controller.js +5 -0
  453. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +21 -0
  454. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/Component.js +36 -0
  455. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/ChildEntity.json +686 -0
  456. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/CreditLimitDetails.json +154 -0
  457. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/RootEntity.json +252 -0
  458. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/service.cds +122 -0
  459. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/manifest.json +69 -0
  460. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.controller.js +5 -0
  461. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.view.xml +20 -0
  462. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/Component.js +36 -0
  463. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/ChildEntity.json +686 -0
  464. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/CreditLimitDetails.json +154 -0
  465. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/RootEntity.json +252 -0
  466. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/service.cds +122 -0
  467. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/manifest.json +69 -0
  468. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.controller.js +5 -0
  469. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.view.xml +36 -0
  470. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/Component.js +36 -0
  471. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/ChildEntity.json +686 -0
  472. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/CreditLimitDetails.json +154 -0
  473. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/RootEntity.json +277 -0
  474. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/service.cds +122 -0
  475. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/manifest.json +69 -0
  476. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartDefault.html +37 -0
  477. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartQualifier.html +37 -0
  478. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartSelectionMode.html +37 -0
  479. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/Component.js +34 -0
  480. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/FieldDisplay.view.xml +64 -0
  481. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/ChildEntity.json +14 -0
  482. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/FieldDisplay.cds +94 -0
  483. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/RootEntity.json +23 -0
  484. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/ValueHelpEntity.js +11 -0
  485. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/manifest.json +68 -0
  486. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/Component.js +33 -0
  487. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.controller.js +10 -0
  488. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.view.xml +101 -0
  489. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/ChildEntity.json +14 -0
  490. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/FieldControlValueHelpEntity.json +14 -0
  491. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/FieldEdit.cds +77 -0
  492. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/RootEntity.json +14 -0
  493. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/localAnnotations.xml +38 -0
  494. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/manifest.json +75 -0
  495. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/Component.js +33 -0
  496. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.controller.js +23 -0
  497. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.view.xml +20 -0
  498. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/localService/Entities.json +6 -0
  499. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/localService/service.cds +6 -0
  500. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/manifest.json +68 -0
  501. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/Component.js +33 -0
  502. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.controller.js +10 -0
  503. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.view.xml +132 -0
  504. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Currencies.json +29 -0
  505. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Currencies_texts.json +38 -0
  506. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/FieldFormatOptions.cds +58 -0
  507. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Languages.json +17 -0
  508. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Languages_texts.json +38 -0
  509. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/RootEntity.json +13 -0
  510. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/UnitOfMeasure.json +12 -0
  511. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/manifest.json +68 -0
  512. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/Component.js +33 -0
  513. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.controller.js +10 -0
  514. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.view.xml +114 -0
  515. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/FieldNavProp.cds +161 -0
  516. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/NavProp1.json +25 -0
  517. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/NavProp2.json +7 -0
  518. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/RootEntity.json +14 -0
  519. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/ValueHelpEntity.json +14 -0
  520. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/manifest.json +68 -0
  521. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldDisplay.html +37 -0
  522. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldEdit.html +37 -0
  523. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldEvents.html +37 -0
  524. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldFormatOptions.html +37 -0
  525. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldNavProp.html +37 -0
  526. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/Component.js +36 -0
  527. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.controller.js +35 -0
  528. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.view.xml +58 -0
  529. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ChildEntity.json +686 -0
  530. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/CreditLimitDetails.json +154 -0
  531. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/RootEntity.json +102 -0
  532. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ValueHelpEntity.js +11 -0
  533. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +96 -0
  534. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/manifest.json +68 -0
  535. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarDefault.html +37 -0
  536. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/Component.js +33 -0
  537. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/FormElementCustomField.view.xml +49 -0
  538. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/localService/FormElementCustomField.cds +19 -0
  539. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/localService/RootEntity.json +13 -0
  540. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/manifest.json +68 -0
  541. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/Component.js +33 -0
  542. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/FormElementLabel.view.xml +32 -0
  543. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/localService/FormElementLabel.cds +19 -0
  544. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/localService/RootEntity.json +13 -0
  545. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/manifest.json +68 -0
  546. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElementCustomField.html +37 -0
  547. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElementLabel.html +37 -0
  548. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/i18n/i18n.properties +19 -0
  549. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartDefault.html +37 -0
  550. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartDynamicSize.html +37 -0
  551. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartHideOnNoData.html +37 -0
  552. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartShowOnlyChart.html +37 -0
  553. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/Component.js +36 -0
  554. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.controller.js +5 -0
  555. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.view.xml +83 -0
  556. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/ChildEntity.json +686 -0
  557. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/CreditLimitDetails.json +154 -0
  558. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/RootEntity.json +34 -0
  559. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/service.cds +308 -0
  560. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/manifest.json +69 -0
  561. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/Component.js +36 -0
  562. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.controller.js +5 -0
  563. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.view.xml +93 -0
  564. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/ChildEntity.json +686 -0
  565. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/CreditLimitDetails.json +154 -0
  566. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/RootEntity.json +34 -0
  567. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/service.cds +308 -0
  568. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/manifest.json +69 -0
  569. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/Component.js +36 -0
  570. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.controller.js +5 -0
  571. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.view.xml +91 -0
  572. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/ChildEntity.json +686 -0
  573. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/CreditLimitDetails.json +154 -0
  574. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/RootEntity.json +34 -0
  575. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/service.cds +308 -0
  576. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/manifest.json +69 -0
  577. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/Component.js +36 -0
  578. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.controller.js +5 -0
  579. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.view.xml +93 -0
  580. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/ChildEntity.json +686 -0
  581. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/CreditLimitDetails.json +154 -0
  582. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/RootEntity.json +34 -0
  583. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/service.cds +308 -0
  584. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/manifest.json +69 -0
  585. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/Component.js +36 -0
  586. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/PaginatorDefault.controller.js +27 -0
  587. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/PaginatorDefault.view.xml +45 -0
  588. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/RootEntity.json +102 -0
  589. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/ValueHelpEntity.js +11 -0
  590. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/service.cds +90 -0
  591. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/manifest.json +79 -0
  592. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginatorDefault.html +37 -0
  593. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Component.js +34 -0
  594. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Share.controller.js +5 -0
  595. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Share.view.xml +23 -0
  596. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/localService/RootEntity.json +5 -0
  597. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/localService/Share.cds +11 -0
  598. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/manifest.json +68 -0
  599. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/shareDefault.html +37 -0
  600. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Component.js +40 -0
  601. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +32 -0
  602. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +32 -0
  603. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/RootEntity.json +82 -0
  604. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/service.cds +82 -0
  605. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/manifest.json +78 -0
  606. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/Component.js +36 -0
  607. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.controller.js +5 -0
  608. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.view.xml +10 -0
  609. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/RootEntity.json +102 -0
  610. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/ValueHelpEntity.js +11 -0
  611. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/service.cds +90 -0
  612. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/manifest.json +79 -0
  613. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/Component.js +35 -0
  614. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.controller.js +19 -0
  615. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.view.xml +31 -0
  616. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/RootEntity.json +78 -0
  617. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/ValueHelpCurrencyEntity.json +5 -0
  618. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/ValueHelpEntity.js +11 -0
  619. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/service.cds +119 -0
  620. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/manifest.json +82 -0
  621. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableCustoms.html +37 -0
  622. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableDefault.html +37 -0
  623. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableEdit.html +37 -0
  624. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/Component.js +35 -0
  625. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/OPExtend.controller.js +41 -0
  626. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/RootEntity.json +12 -0
  627. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/service.cds +52 -0
  628. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/manifest.json +76 -0
  629. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility.html +37 -0
  630. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/controllerExtensionsOverview.html +24 -0
  631. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/controllerExtensionsOverview.md +18 -0
  632. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/Component.js +35 -0
  633. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/IntentBasedNavigation.controller.js +21 -0
  634. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/IntentBasedNavigation.view.xml +23 -0
  635. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/localService/RootEntity.json +12 -0
  636. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/localService/service.cds +40 -0
  637. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/manifest.json +76 -0
  638. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation.html +70 -0
  639. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/Component.js +35 -0
  640. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/extendLR.controller.js +63 -0
  641. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/extendOP.controller.js +13 -0
  642. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/localService/RootEntity.json +18 -0
  643. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/localService/service.cds +64 -0
  644. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/manifest.json +103 -0
  645. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility.html +70 -0
  646. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Component.js +35 -0
  647. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Share.controller.js +11 -0
  648. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Share.view.xml +21 -0
  649. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/ShareExtend.js +15 -0
  650. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/localService/RootEntity.json +5 -0
  651. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/localService/service.cds +11 -0
  652. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/manifest.json +68 -0
  653. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/shareExtensibility.html +37 -0
  654. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/Component.js +35 -0
  655. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/CustomSection.fragment.xml +15 -0
  656. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/OPExtend.controller.js +57 -0
  657. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/localService/RootEntity.json +12 -0
  658. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/localService/service.cds +40 -0
  659. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +86 -0
  660. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState.html +70 -0
  661. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/Component.js +35 -0
  662. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/CustomAction.js +41 -0
  663. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/extendOP.controller.js +9 -0
  664. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/ChildEntity.json +22 -0
  665. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/RootEntity.json +10 -0
  666. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/service.cds +73 -0
  667. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/manifest.json +133 -0
  668. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customActionContent.html +36 -0
  669. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/Component.js +35 -0
  670. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumn.js +25 -0
  671. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +11 -0
  672. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +5 -0
  673. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/ChildEntity.json +26 -0
  674. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/RootEntity.json +9 -0
  675. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +55 -0
  676. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +98 -0
  677. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumnContent.html +36 -0
  678. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.html +24 -0
  679. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.md +21 -0
  680. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/Component.js +35 -0
  681. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomFilter.js +28 -0
  682. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomRatingFilter.fragment.xml +8 -0
  683. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomRatingFilterOperator.fragment.xml +17 -0
  684. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/localService/RootEntity.json +37 -0
  685. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/localService/service.cds +75 -0
  686. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/manifest.json +87 -0
  687. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilterContent.html +36 -0
  688. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/Component.js +35 -0
  689. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetColumnChart.fragment.xml +19 -0
  690. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetDataPoint.fragment.xml +11 -0
  691. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetMicroChartAndFormElement.fragment.xml +42 -0
  692. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/RootEntity.json +12 -0
  693. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/service.cds +54 -0
  694. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/manifest.json +127 -0
  695. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacetContent.html +36 -0
  696. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/Component.js +35 -0
  697. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomDetailPage.controller.js +12 -0
  698. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomDetailPage.view.xml +64 -0
  699. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.controller.js +10 -0
  700. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.view.xml +39 -0
  701. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ChildEntity.json +23 -0
  702. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/RootEntity.json +41 -0
  703. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ValueHelpCurrencyEntity.json +5 -0
  704. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ValueHelpEntity.js +11 -0
  705. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/resources/275081.jpg +0 -0
  706. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/resources/275472.jpg +0 -0
  707. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/service.cds +144 -0
  708. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/manifest.json +119 -0
  709. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPageContent.html +70 -0
  710. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/Component.js +36 -0
  711. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSection.fragment.xml +13 -0
  712. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionFormElementAndTable.fragment.xml +36 -0
  713. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.fragment.xml +44 -0
  714. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.js +11 -0
  715. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/extendOP.controller.js +13 -0
  716. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ChildEntity.json +82 -0
  717. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/RootEntity.json +9 -0
  718. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ValueHelpCurrencyEntity.json +5 -0
  719. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ValueHelpEntity.js +11 -0
  720. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/service.cds +177 -0
  721. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/manifest.json +129 -0
  722. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSectionContent.html +36 -0
  723. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/Component.js +35 -0
  724. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomButton.js +12 -0
  725. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomViewWithButton.fragment.xml +12 -0
  726. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomViewWithTable.fragment.xml +46 -0
  727. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/LRExtend.controller.js +31 -0
  728. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/localService/RootEntity.json +37 -0
  729. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/localService/service.cds +70 -0
  730. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/manifest.json +100 -0
  731. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLRContent.html +36 -0
  732. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/i18n/i18n.properties +61 -0
  733. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/overview/introduction.html +24 -0
  734. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/overview/introduction.md +6 -0
  735. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/util/FileUtils.js +124 -0
  736. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/App.view.xml +60 -0
  737. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/ControllerExtensions.view.xml +97 -0
  738. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/CustomElements.view.xml +97 -0
  739. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/MacrosPage.view.xml +97 -0
  740. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/Overview.view.xml +13 -0
  741. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +140 -0
  742. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +142 -0
  743. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +504 -0
  744. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +751 -0
  745. package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.js +74 -0
  746. package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.ts +75 -0
  747. package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/BindingExpression-AnnotationExpression.spec.ts.snap +7 -0
  748. package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +17450 -0
  749. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +582 -0
  750. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +515 -0
  751. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +636 -0
  752. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +547 -0
  753. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +60 -0
  754. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +57 -0
  755. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +436 -0
  756. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +469 -0
  757. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPITag.spec.js +346 -0
  758. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPITag.spec.ts +357 -0
  759. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +255 -0
  760. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +254 -0
  761. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +67 -0
  762. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +43 -0
  763. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.js +577 -0
  764. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.ts +593 -0
  765. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +1206 -0
  766. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +1361 -0
  767. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +21 -0
  768. package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +16 -0
  769. package/packages/sap.fe.core/test/sap/fe/core/jest/data/BindingExpression-AnnotationExpression.xml +248 -0
  770. package/packages/sap.fe.core/test/sap/fe/core/jest/data/ConverterContext.cds +34 -0
  771. package/packages/sap.fe.core/test/sap/fe/core/jest/data/HeaderFacets.cds +199 -0
  772. package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPI.cds +320 -0
  773. package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPINone.cds +78 -0
  774. package/packages/sap.fe.core/test/sap/fe/core/jest/data/ListReportConverter.cds +164 -0
  775. package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverter.cds +43 -0
  776. package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverterBoundAction.cds +31 -0
  777. package/packages/sap.fe.core/test/sap/fe/core/jest/data/ObjectPageConverter.cds +161 -0
  778. package/packages/sap.fe.core/test/sap/fe/core/jest/data/PropertyHelper.cds +14 -0
  779. package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +285 -0
  780. package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +98 -0
  781. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +242 -0
  782. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionNoOperationAvailable.cds +22 -0
  783. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableFalse.cds +25 -0
  784. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableTrue.cds +24 -0
  785. package/packages/sap.fe.core/test/sap/fe/core/jest/data/salesOrderMetadata.xml +4824 -0
  786. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.js +54 -0
  787. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.ts +70 -0
  788. package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +607 -0
  789. package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +540 -0
  790. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.js +62 -0
  791. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.ts +45 -0
  792. package/packages/sap.fe.core/test/sap/fe/core/jest/type/Email.spec.js +34 -0
  793. package/packages/sap.fe.core/test/sap/fe/core/jest/type/Email.spec.ts +21 -0
  794. package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +1328 -0
  795. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.js +18 -0
  796. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +233 -0
  797. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/index.js +33 -0
  798. package/packages/sap.fe.core/test/sap/fe/core/qunit/common/testHelper.js +81 -0
  799. package/packages/sap.fe.core/test/sap/fe/core/qunit/common/utility.js +28 -0
  800. package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/ExcelFormatHelper.qunit.js +19 -0
  801. package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/SemanticDateOperators.qunit.js +253 -0
  802. package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/SemanticKeyHelper.qunit.js +211 -0
  803. package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/StableIdHelper.qunit.js +301 -0
  804. package/packages/sap.fe.core/test/sap/fe/core/qunit/services/CacheHandlerTest.qunit.js +924 -0
  805. package/packages/sap.fe.core/test/sap/fe/core/qunit/test/iteloMetadata.js +2752 -0
  806. package/packages/sap.fe.core/test/sap/fe/core/qunit/test/musicDraftMetadata.js +2301 -0
  807. package/packages/sap.fe.core/test/sap/fe/core/qunit/test/simpleMetadata.js +1186 -0
  808. package/packages/sap.fe.core/test/sap/fe/core/qunit/test/techServiceMetadata.js +3993 -0
  809. package/packages/sap.fe.core/test/sap/fe/core/qunit/testsuite.qunit.html +14 -0
  810. package/packages/sap.fe.core/test/sap/fe/core/qunit/testsuite.qunit.js +33 -0
  811. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.91.json +96 -0
  812. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.94.json +40 -0
  813. package/packages/sap.fe.macros/src/sap/fe/macros/.library +54 -0
  814. package/packages/sap.fe.macros/src/sap/fe/macros/.theming +6 -0
  815. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.fragment.xml +171 -0
  816. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +200 -0
  817. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +6 -0
  818. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +530 -0
  819. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +6 -0
  820. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +1256 -0
  821. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +6 -0
  822. package/packages/sap.fe.macros/src/sap/fe/macros/Contact-dbg.designtime.js +93 -0
  823. package/packages/sap.fe.macros/src/sap/fe/macros/Contact.designtime.js +6 -0
  824. package/packages/sap.fe.macros/src/sap/fe/macros/Contact.fragment.xml +38 -0
  825. package/packages/sap.fe.macros/src/sap/fe/macros/Contact.metadata-dbg.js +91 -0
  826. package/packages/sap.fe.macros/src/sap/fe/macros/Contact.metadata.js +6 -0
  827. package/packages/sap.fe.macros/src/sap/fe/macros/ContactHelper-dbg.js +96 -0
  828. package/packages/sap.fe.macros/src/sap/fe/macros/ContactHelper.js +6 -0
  829. package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +286 -0
  830. package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +6 -0
  831. package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.fragment.xml +37 -0
  832. package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.metadata-dbg.js +91 -0
  833. package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.metadata.js +6 -0
  834. package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicatorRuntime-dbg.js +138 -0
  835. package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicatorRuntime.js +6 -0
  836. package/packages/sap.fe.macros/src/sap/fe/macros/Field.fragment.xml +37 -0
  837. package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata-dbg.js +144 -0
  838. package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.js +5 -0
  839. package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.ts +136 -0
  840. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +234 -0
  841. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +5 -0
  842. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +177 -0
  843. package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +55 -0
  844. package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +6 -0
  845. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar-dbg.designtime.js +83 -0
  846. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.designtime.js +6 -0
  847. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +109 -0
  848. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +243 -0
  849. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +6 -0
  850. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +130 -0
  851. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +5 -0
  852. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +62 -0
  853. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +568 -0
  854. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +6 -0
  855. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper-dbg.js +48 -0
  856. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper.js +6 -0
  857. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField-dbg.designtime.js +339 -0
  858. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.designtime.js +6 -0
  859. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.fragment.xml +57 -0
  860. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata-dbg.js +130 -0
  861. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata.js +6 -0
  862. package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +24 -0
  863. package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.metadata-dbg.js +68 -0
  864. package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.metadata.js +6 -0
  865. package/packages/sap.fe.macros/src/sap/fe/macros/Form-dbg.designtime.js +188 -0
  866. package/packages/sap.fe.macros/src/sap/fe/macros/Form.designtime.js +6 -0
  867. package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +94 -0
  868. package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +209 -0
  869. package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +6 -0
  870. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer-dbg.designtime.js +42 -0
  871. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.designtime.js +6 -0
  872. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +196 -0
  873. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata-dbg.js +132 -0
  874. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata.js +6 -0
  875. package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.fragment.xml +25 -0
  876. package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata-dbg.js +123 -0
  877. package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata.js +5 -0
  878. package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata.ts +113 -0
  879. package/packages/sap.fe.macros/src/sap/fe/macros/FormWrapper.fragment.xml +26 -0
  880. package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.fragment.xml +33 -0
  881. package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata-dbg.js +103 -0
  882. package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata.js +5 -0
  883. package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata.ts +106 -0
  884. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +197 -0
  885. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +5 -0
  886. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.ts +120 -0
  887. package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +92 -0
  888. package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +6 -0
  889. package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime-dbg.js +33 -0
  890. package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime.js +5 -0
  891. package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime.ts +12 -0
  892. package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating-dbg.js +22 -0
  893. package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating.js +5 -0
  894. package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating.ts +9 -0
  895. package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart-dbg.designtime.js +361 -0
  896. package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.designtime.js +6 -0
  897. package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.fragment.xml +36 -0
  898. package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.metadata-dbg.js +149 -0
  899. package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.metadata.js +6 -0
  900. package/packages/sap.fe.macros/src/sap/fe/macros/ODataMetaModelUtil-dbg.js +600 -0
  901. package/packages/sap.fe.macros/src/sap/fe/macros/ODataMetaModelUtil.js +6 -0
  902. package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.fragment.xml +32 -0
  903. package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.metadata-dbg.js +61 -0
  904. package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.metadata.js +6 -0
  905. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +615 -0
  906. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +6 -0
  907. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm-dbg.designtime.js +215 -0
  908. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.designtime.js +6 -0
  909. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.fragment.xml +66 -0
  910. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata-dbg.js +84 -0
  911. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata.js +6 -0
  912. package/packages/sap.fe.macros/src/sap/fe/macros/ResourceModel-dbg.js +56 -0
  913. package/packages/sap.fe.macros/src/sap/fe/macros/ResourceModel.js +6 -0
  914. package/packages/sap.fe.macros/src/sap/fe/macros/Share.fragment.xml +21 -0
  915. package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata-dbg.js +90 -0
  916. package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata.js +6 -0
  917. package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper-dbg.js +41 -0
  918. package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper.js +6 -0
  919. package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +236 -0
  920. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +489 -0
  921. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +6 -0
  922. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +469 -0
  923. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +5 -0
  924. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +487 -0
  925. package/packages/sap.fe.macros/src/sap/fe/macros/TraceInfo-dbg.js +462 -0
  926. package/packages/sap.fe.macros/src/sap/fe/macros/TraceInfo.js +6 -0
  927. package/packages/sap.fe.macros/src/sap/fe/macros/ValueHelp.metadata-dbg.js +135 -0
  928. package/packages/sap.fe.macros/src/sap/fe/macros/ValueHelp.metadata.js +6 -0
  929. package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.fragment.xml +87 -0
  930. package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.metadata-dbg.js +217 -0
  931. package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.metadata.js +6 -0
  932. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +468 -0
  933. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +6 -0
  934. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartRuntime-dbg.js +118 -0
  935. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartRuntime.js +6 -0
  936. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils-dbg.js +221 -0
  937. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils.js +6 -0
  938. package/packages/sap.fe.macros/src/sap/fe/macros/designtime/library-preload.designtime.js +17 -0
  939. package/packages/sap.fe.macros/src/sap/fe/macros/designtime/library-preload.designtime.js.map +9 -0
  940. package/packages/sap.fe.macros/src/sap/fe/macros/field/DraftPopOverAdminData.fragment.xml +53 -0
  941. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +1670 -0
  942. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +6 -0
  943. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +400 -0
  944. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +6 -0
  945. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +538 -0
  946. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +5 -0
  947. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +541 -0
  948. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +95 -0
  949. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +1136 -0
  950. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +6 -0
  951. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +26 -0
  952. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForDataField.fragment.xml +95 -0
  953. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForEntity.fragment.xml +76 -0
  954. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkWithFacets.fragment.xml +40 -0
  955. package/packages/sap.fe.macros/src/sap/fe/macros/filter/CustomFilter.fragment.xml +38 -0
  956. package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState-dbg.js +179 -0
  957. package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState.fragment.xml +36 -0
  958. package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState.js +6 -0
  959. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper-dbg.js +149 -0
  960. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -0
  961. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating-dbg.js +23 -0
  962. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating.js +5 -0
  963. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating.ts +11 -0
  964. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +363 -0
  965. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +6 -0
  966. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue-dbg.js +53 -0
  967. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue.js +6 -0
  968. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range-dbg.js +38 -0
  969. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range.js +6 -0
  970. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value-dbg.js +219 -0
  971. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value.js +6 -0
  972. package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/FormDelegate-dbg.js +152 -0
  973. package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/FormDelegate.js +6 -0
  974. package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/ValueHelpWrapper.fragment.xml +3 -0
  975. package/packages/sap.fe.macros/src/sap/fe/macros/form/AddressSection.fragment.xml +35 -0
  976. package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +44 -0
  977. package/packages/sap.fe.macros/src/sap/fe/macros/form/FormElement.fragment.xml +42 -0
  978. package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper-dbg.js +118 -0
  979. package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper.js +6 -0
  980. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFormElement.fragment.xml +10 -0
  981. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.fragment.xml +13 -0
  982. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.metadata-dbg.js +73 -0
  983. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.metadata.js +6 -0
  984. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomHeaderFieldElement.fragment.xml +17 -0
  985. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.fragment.xml +13 -0
  986. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.metadata-dbg.js +82 -0
  987. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.metadata.js +6 -0
  988. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/fpm-dbg.js +15 -0
  989. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/fpm.js +6 -0
  990. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.fragment.xml +33 -0
  991. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +167 -0
  992. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +5 -0
  993. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +179 -0
  994. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +123 -0
  995. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +162 -0
  996. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +6 -0
  997. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field-dbg.designtime.js +811 -0
  998. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.designtime.js +6 -0
  999. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +20 -0
  1000. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +534 -0
  1001. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +6 -0
  1002. package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate-dbg.js +76 -0
  1003. package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate.js +6 -0
  1004. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/ConnectedDataField.fragment.xml +39 -0
  1005. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldContent.fragment.xml +94 -0
  1006. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +55 -0
  1007. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/AmountWithCurrency.fragment.xml +41 -0
  1008. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Avatar.fragment.xml +57 -0
  1009. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Button.fragment.xml +56 -0
  1010. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Contact.fragment.xml +38 -0
  1011. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +45 -0
  1012. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +18 -0
  1013. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/File.fragment.xml +31 -0
  1014. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +65 -0
  1015. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +30 -0
  1016. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +45 -0
  1017. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +56 -0
  1018. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +37 -0
  1019. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +16 -0
  1020. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +35 -0
  1021. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +33 -0
  1022. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/CheckBox.fragment.xml +28 -0
  1023. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +32 -0
  1024. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +33 -0
  1025. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +55 -0
  1026. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +33 -0
  1027. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +77 -0
  1028. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +73 -0
  1029. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/RatingIndicator.fragment.xml +23 -0
  1030. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TextArea.fragment.xml +34 -0
  1031. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +33 -0
  1032. package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating-dbg.js +65 -0
  1033. package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating.js +5 -0
  1034. package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating.ts +40 -0
  1035. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +244 -0
  1036. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +5 -0
  1037. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +229 -0
  1038. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +215 -0
  1039. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +6 -0
  1040. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp-dbg.designtime.js +466 -0
  1041. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp.designtime.js +6 -0
  1042. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp.fragment.xml +23 -0
  1043. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +62 -0
  1044. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating-dbg.js +155 -0
  1045. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.js +5 -0
  1046. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.ts +133 -0
  1047. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +57 -0
  1048. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListFilterBar.fragment.xml +20 -0
  1049. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +1286 -0
  1050. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +6 -0
  1051. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +67 -0
  1052. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListTableColumnHeader.fragment.xml +25 -0
  1053. package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +144 -0
  1054. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +190 -0
  1055. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +9 -0
  1056. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +696 -0
  1057. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +9 -0
  1058. package/packages/sap.fe.macros/src/sap/fe/macros/library.js +6 -0
  1059. package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary-dbg.js +126 -0
  1060. package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary.js +6 -0
  1061. package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +115 -0
  1062. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditDialog.fragment.xml +106 -0
  1063. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler-dbg.js +708 -0
  1064. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler.js +6 -0
  1065. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +115 -0
  1066. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +6 -0
  1067. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +215 -0
  1068. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +140 -0
  1069. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +140 -0
  1070. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +140 -0
  1071. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +140 -0
  1072. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +140 -0
  1073. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +140 -0
  1074. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +140 -0
  1075. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +140 -0
  1076. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +140 -0
  1077. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +140 -0
  1078. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +129 -0
  1079. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +129 -0
  1080. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +129 -0
  1081. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +140 -0
  1082. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +140 -0
  1083. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +140 -0
  1084. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +140 -0
  1085. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +140 -0
  1086. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +140 -0
  1087. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +140 -0
  1088. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +140 -0
  1089. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +140 -0
  1090. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +140 -0
  1091. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +140 -0
  1092. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +140 -0
  1093. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +140 -0
  1094. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +140 -0
  1095. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +140 -0
  1096. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +140 -0
  1097. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +140 -0
  1098. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +140 -0
  1099. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +140 -0
  1100. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +140 -0
  1101. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +140 -0
  1102. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +140 -0
  1103. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +140 -0
  1104. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +140 -0
  1105. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +140 -0
  1106. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +140 -0
  1107. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +140 -0
  1108. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +140 -0
  1109. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +140 -0
  1110. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +140 -0
  1111. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +140 -0
  1112. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +140 -0
  1113. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +140 -0
  1114. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +140 -0
  1115. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +140 -0
  1116. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartContainer-dbg.js +620 -0
  1117. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartContainer.js +6 -0
  1118. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper-dbg.js +491 -0
  1119. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper.js +6 -0
  1120. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/AreaMicroChart.fragment.xml +180 -0
  1121. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/BulletMicroChart.fragment.xml +111 -0
  1122. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/ColumnMicroChart.fragment.xml +99 -0
  1123. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/ComparisonMicroChart.fragment.xml +64 -0
  1124. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/HarveyBallMicroChart.fragment.xml +64 -0
  1125. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/LineMicroChart.fragment.xml +67 -0
  1126. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartContent.fragment.xml +41 -0
  1127. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +52 -0
  1128. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +58 -0
  1129. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/StackedBarMicroChart.fragment.xml +54 -0
  1130. package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +4885 -0
  1131. package/packages/sap.fe.macros/src/sap/fe/macros/share/ShareSheet.fragment.xml +26 -0
  1132. package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +215 -0
  1133. package/packages/sap.fe.macros/src/sap/fe/macros/table/BasicSearch-dbg.js +73 -0
  1134. package/packages/sap.fe.macros/src/sap/fe/macros/table/BasicSearch.js +6 -0
  1135. package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +27 -0
  1136. package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +133 -0
  1137. package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnProperty.fragment.xml +43 -0
  1138. package/packages/sap.fe.macros/src/sap/fe/macros/table/Columns.fragment.xml +37 -0
  1139. package/packages/sap.fe.macros/src/sap/fe/macros/table/CreationRow.fragment.xml +33 -0
  1140. package/packages/sap.fe.macros/src/sap/fe/macros/table/CustomColumn.fragment.xml +16 -0
  1141. package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer-dbg.js +298 -0
  1142. package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer.js +6 -0
  1143. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableFullScreenUtil-dbg.js +194 -0
  1144. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableFullScreenUtil.js +6 -0
  1145. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +1399 -0
  1146. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +6 -0
  1147. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime-dbg.js +231 -0
  1148. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +6 -0
  1149. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +468 -0
  1150. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +6 -0
  1151. package/packages/sap.fe.macros/src/sap/fe/macros/table/ValueHelp.fragment.xml +34 -0
  1152. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegate-dbg.js +32 -0
  1153. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegate.js +6 -0
  1154. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin-dbg.js +100 -0
  1155. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin.js +6 -0
  1156. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalALPTableDelegate-dbg.js +36 -0
  1157. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalALPTableDelegate.js +6 -0
  1158. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalTableDelegate-dbg.js +147 -0
  1159. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalTableDelegate.js +6 -0
  1160. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +818 -0
  1161. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +6 -0
  1162. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar-dbg.designtime.js +83 -0
  1163. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.designtime.js +6 -0
  1164. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +115 -0
  1165. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata-dbg.js +204 -0
  1166. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata.js +6 -0
  1167. package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper-dbg.js +476 -0
  1168. package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +6 -0
  1169. package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime-dbg.js +286 -0
  1170. package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -0
  1171. package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveBarChart.fragment.xml +70 -0
  1172. package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +69 -0
  1173. package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveLineChart.fragment.xml +70 -0
  1174. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +1001 -0
  1175. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -0
  1176. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -0
  1177. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jstemplates.json +1 -0
  1178. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -0
  1179. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmltemplates.json +1 -0
  1180. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +64 -0
  1181. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +67 -0
  1182. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +326 -0
  1183. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +349 -0
  1184. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +127 -0
  1185. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +127 -0
  1186. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +184 -0
  1187. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +263 -0
  1188. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithValueHelp.spec.js +63 -0
  1189. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithValueHelp.spec.ts +72 -0
  1190. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +32 -0
  1191. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +28 -0
  1192. package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.js +39 -0
  1193. package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.ts +26 -0
  1194. package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.js +53 -0
  1195. package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.ts +54 -0
  1196. package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +142 -0
  1197. package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +178 -0
  1198. package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +401 -0
  1199. package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +662 -0
  1200. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +571 -0
  1201. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +778 -0
  1202. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.js +712 -0
  1203. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.ts +800 -0
  1204. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.js +192 -0
  1205. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.ts +194 -0
  1206. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +37 -0
  1207. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MacroComponent.spec.ts.snap +7 -0
  1208. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/PhantomUtil.spec.ts.snap +184 -0
  1209. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +820 -0
  1210. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ValueHelpMacro.spec.ts.snap +279 -0
  1211. package/packages/sap.fe.macros/test/sap/fe/macros/jest/addTemplatingTest.md +51 -0
  1212. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/AdminDataPopOver.cds +8 -0
  1213. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/CollectionField.cds +48 -0
  1214. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +295 -0
  1215. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithSemanticKey.cds +62 -0
  1216. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithValueHelp.cds +131 -0
  1217. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterFieldMacro.cds +124 -0
  1218. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/MicroChart.cds +47 -0
  1219. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/PhantomUtil.cds +20 -0
  1220. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +248 -0
  1221. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +113 -0
  1222. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/ValueHelpMacro.cds +163 -0
  1223. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +129 -0
  1224. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.cds +115 -0
  1225. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +180 -0
  1226. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +215 -0
  1227. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/__snapshots__/FieldTemplating.spec.ts.snap +160 -0
  1228. package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragment.xml +15 -0
  1229. package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragmentRepeat.xml +27 -0
  1230. package/packages/sap.fe.macros/test/sap/fe/macros/jest/tsx/TestTSX.spec.tsx +49 -0
  1231. package/packages/sap.fe.macros/test/sap/fe/macros/jest/tsx/__snapshots__/TestTSX.spec.tsx.snap +33 -0
  1232. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/common/testHelper.js +24 -0
  1233. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +154 -0
  1234. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/AnalyticalTableDelegate.qunit.js +158 -0
  1235. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartDelegate.qunit.js +275 -0
  1236. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartHelper.qunit.js +601 -0
  1237. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartHelperTemplate.qunit.js +67 -0
  1238. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/CommonHelper.qunit.js +1607 -0
  1239. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +2478 -0
  1240. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +383 -0
  1241. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarDelegate.qunit.js +89 -0
  1242. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarHelper.qunit.js +223 -0
  1243. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterFieldHelper.qunit.js +712 -0
  1244. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormContainerTemplating.qunit.js +245 -0
  1245. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +83 -0
  1246. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormHelper.qunit.js +209 -0
  1247. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplating.qunit.js +577 -0
  1248. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +271 -0
  1249. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/InteractiveChartHelper.qunit.js +1227 -0
  1250. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +123 -0
  1251. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartContainer.qunit.js +1637 -0
  1252. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartHelper.qunit.js +619 -0
  1253. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartHelperForTemplate.qunit.js +360 -0
  1254. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/PhantomUtil.qunit.js +307 -0
  1255. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/QuickViewLinkDelegate.qunit.js +81 -0
  1256. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableDelegate.qunit.js +734 -0
  1257. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +2630 -0
  1258. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelperTemplate.qunit.js +201 -0
  1259. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableRuntime.qunit.js +861 -0
  1260. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueHelpTemplating.qunit.js +176 -0
  1261. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +1133 -0
  1262. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/chartMetadata/metadata.xml +461 -0
  1263. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/flexibility/FormDelegate.qunit.js +408 -0
  1264. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacro.fragment.xml +9 -0
  1265. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacroMissingID.fragment.xml +9 -0
  1266. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/TableMacro.fragment.xml +22 -0
  1267. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/metadata/simpleMetadata.js +1415 -0
  1268. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/teststarter.qunit.html +13 -0
  1269. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/testsuite.qunit.html +14 -0
  1270. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/testsuite.qunit.js +41 -0
  1271. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.91.json +76 -0
  1272. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.94.json +29 -0
  1273. package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +36 -0
  1274. package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +6 -0
  1275. package/packages/sap.fe.navigation/src/sap/fe/navigation/NavError-dbg.js +49 -0
  1276. package/packages/sap.fe.navigation/src/sap/fe/navigation/NavError.js +6 -0
  1277. package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler-dbg.js +2215 -0
  1278. package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler.js +6 -0
  1279. package/packages/sap.fe.navigation/src/sap/fe/navigation/PresentationVariant-dbg.js +347 -0
  1280. package/packages/sap.fe.navigation/src/sap/fe/navigation/PresentationVariant.js +6 -0
  1281. package/packages/sap.fe.navigation/src/sap/fe/navigation/SelectionVariant-dbg.js +774 -0
  1282. package/packages/sap.fe.navigation/src/sap/fe/navigation/SelectionVariant.js +6 -0
  1283. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +170 -0
  1284. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +19 -0
  1285. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js.map +9 -0
  1286. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +129 -0
  1287. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +9 -0
  1288. package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +6 -0
  1289. package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +44 -0
  1290. package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +215 -0
  1291. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -0
  1292. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -0
  1293. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.jsmeta.json +1 -0
  1294. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.jstemplates.json +1 -0
  1295. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -0
  1296. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmltemplates.json +1 -0
  1297. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/index.json +17 -0
  1298. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/CrossAppNavigationServiceMock.js +110 -0
  1299. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/NavigationHandlerTest.qunit.js +8625 -0
  1300. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/PresentationVariantTest.qunit.js +179 -0
  1301. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/SelectionVariantTest.qunit.js +1366 -0
  1302. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/teststarter.qunit.html +13 -0
  1303. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/testsuite.qunit.html +14 -0
  1304. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/testsuite.qunit.js +41 -0
  1305. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +35 -0
  1306. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +5 -0
  1307. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/controller/Placeholder-dbg.controller.js +60 -0
  1308. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/controller/Placeholder.controller.js +6 -0
  1309. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +41 -0
  1310. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +20 -0
  1311. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js.map +9 -0
  1312. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +21 -0
  1313. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +9 -0
  1314. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +6 -0
  1315. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +49 -0
  1316. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +725 -0
  1317. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/.theming +5 -0
  1318. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/Placeholder.less +504 -0
  1319. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.css +3 -0
  1320. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.less +4 -0
  1321. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.source.less +1439 -0
  1322. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library-RTL.css +3 -0
  1323. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library-parameters.json +1 -0
  1324. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.css +3 -0
  1325. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.less +511 -0
  1326. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.source.less +3 -0
  1327. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library_skeleton-RTL.css +1 -0
  1328. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library_skeleton.css +1 -0
  1329. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/resources.json +70 -0
  1330. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/.theming +27 -0
  1331. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.css +4 -0
  1332. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.less +1497 -0
  1333. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.source.less +1487 -0
  1334. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library-RTL.css +4 -0
  1335. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library-parameters.json +1 -0
  1336. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.css +4 -0
  1337. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.less +6 -0
  1338. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.source.less +3 -0
  1339. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library_skeleton-RTL.css +1 -0
  1340. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library_skeleton.css +1 -0
  1341. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/resources.json +64 -0
  1342. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/.theming +6 -0
  1343. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.css +3 -0
  1344. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.less +1463 -0
  1345. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.source.less +1453 -0
  1346. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library-RTL.css +3 -0
  1347. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library-parameters.json +1 -0
  1348. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.css +3 -0
  1349. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.less +6 -0
  1350. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.source.less +3 -0
  1351. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library_skeleton-RTL.css +1 -0
  1352. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library_skeleton.css +1 -0
  1353. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/resources.json +64 -0
  1354. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/.theming +6 -0
  1355. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.css +3 -0
  1356. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.less +1463 -0
  1357. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.source.less +1453 -0
  1358. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library-RTL.css +3 -0
  1359. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library-parameters.json +1 -0
  1360. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.css +3 -0
  1361. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.less +6 -0
  1362. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.source.less +3 -0
  1363. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library_skeleton-RTL.css +1 -0
  1364. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library_skeleton.css +1 -0
  1365. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/resources.json +64 -0
  1366. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/.theming +26 -0
  1367. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.css +4 -0
  1368. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.less +1497 -0
  1369. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.source.less +1487 -0
  1370. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library-RTL.css +4 -0
  1371. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library-parameters.json +1 -0
  1372. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.css +4 -0
  1373. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.less +6 -0
  1374. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.source.less +3 -0
  1375. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library_skeleton-RTL.css +1 -0
  1376. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library_skeleton.css +1 -0
  1377. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/resources.json +64 -0
  1378. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/.theming +6 -0
  1379. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.css +3 -0
  1380. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.less +1468 -0
  1381. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.source.less +1458 -0
  1382. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library-RTL.css +3 -0
  1383. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library-parameters.json +1 -0
  1384. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.css +3 -0
  1385. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.less +6 -0
  1386. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.source.less +3 -0
  1387. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library_skeleton-RTL.css +1 -0
  1388. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library_skeleton.css +1 -0
  1389. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/resources.json +64 -0
  1390. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/.theming +6 -0
  1391. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.css +3 -0
  1392. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.less +1468 -0
  1393. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.source.less +1458 -0
  1394. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library-RTL.css +3 -0
  1395. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library-parameters.json +1 -0
  1396. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.css +3 -0
  1397. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.less +6 -0
  1398. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.source.less +3 -0
  1399. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library_skeleton-RTL.css +1 -0
  1400. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library_skeleton.css +1 -0
  1401. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/resources.json +64 -0
  1402. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/.theming +6 -0
  1403. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.css +3 -0
  1404. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.less +1464 -0
  1405. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.source.less +1454 -0
  1406. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library-RTL.css +3 -0
  1407. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library-parameters.json +1 -0
  1408. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.css +3 -0
  1409. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.less +6 -0
  1410. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.source.less +3 -0
  1411. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library_skeleton-RTL.css +1 -0
  1412. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library_skeleton.css +1 -0
  1413. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/resources.json +64 -0
  1414. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/.theming +6 -0
  1415. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.css +3 -0
  1416. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.less +1464 -0
  1417. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.source.less +1454 -0
  1418. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library-RTL.css +3 -0
  1419. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library-parameters.json +1 -0
  1420. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.css +3 -0
  1421. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.less +6 -0
  1422. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.source.less +3 -0
  1423. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library_skeleton-RTL.css +1 -0
  1424. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library_skeleton.css +1 -0
  1425. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/resources.json +64 -0
  1426. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +10 -0
  1427. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.view.xml +11 -0
  1428. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderLR.fragment.html +8 -0
  1429. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderLR.view.xml +11 -0
  1430. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOP.fragment.html +8 -0
  1431. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOP.view.xml +11 -0
  1432. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +8 -0
  1433. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.view.xml +11 -0
  1434. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -0
  1435. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -0
  1436. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.jsmeta.json +1 -0
  1437. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.jstemplates.json +1 -0
  1438. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.xmlmeta.json +1 -0
  1439. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.xmltemplates.json +1 -0
  1440. package/packages/sap.fe.templates/src/sap/fe/templates/.library +74 -0
  1441. package/packages/sap.fe.templates/src/sap/fe/templates/.theming +6 -0
  1442. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/Component-dbg.js +15 -0
  1443. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/Component.js +6 -0
  1444. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate-dbg.js +37 -0
  1445. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +6 -0
  1446. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +27 -0
  1447. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/resources.json +27 -0
  1448. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +121 -0
  1449. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +6 -0
  1450. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component-dbg.js +42 -0
  1451. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component.js +6 -0
  1452. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +95 -0
  1453. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI.js +6 -0
  1454. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +199 -0
  1455. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +954 -0
  1456. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +6 -0
  1457. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +28 -0
  1458. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +52 -0
  1459. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +6 -0
  1460. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +124 -0
  1461. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share.js +6 -0
  1462. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +264 -0
  1463. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +6 -0
  1464. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +79 -0
  1465. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +32 -0
  1466. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/CustomView.fragment.xml +10 -0
  1467. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +49 -0
  1468. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +457 -0
  1469. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +6 -0
  1470. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +139 -0
  1471. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +6 -0
  1472. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +130 -0
  1473. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +6 -0
  1474. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +184 -0
  1475. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +1460 -0
  1476. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +6 -0
  1477. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +90 -0
  1478. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +6 -0
  1479. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableVBox-dbg.js +27 -0
  1480. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +6 -0
  1481. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock-dbg.js +57 -0
  1482. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +6 -0
  1483. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox-dbg.designtime.js +19 -0
  1484. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +6 -0
  1485. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableHBox-dbg.designtime.js +51 -0
  1486. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +6 -0
  1487. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableVBox-dbg.designtime.js +38 -0
  1488. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +6 -0
  1489. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility-dbg.js +19 -0
  1490. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +6 -0
  1491. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility-dbg.js +15 -0
  1492. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +6 -0
  1493. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +122 -0
  1494. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation-dbg.js +55 -0
  1495. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +6 -0
  1496. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/InternalRouting-dbg.js +20 -0
  1497. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +6 -0
  1498. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/MessageHandler-dbg.js +20 -0
  1499. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +6 -0
  1500. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Routing-dbg.js +21 -0
  1501. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Routing.js +6 -0
  1502. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +303 -0
  1503. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share.js +6 -0
  1504. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +45 -0
  1505. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +6 -0
  1506. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +282 -0
  1507. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +117 -0
  1508. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +5 -0
  1509. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +124 -0
  1510. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +183 -0
  1511. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +160 -0
  1512. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +117 -0
  1513. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +79 -0
  1514. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FormActions.fragment.xml +24 -0
  1515. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderContent.fragment.xml +54 -0
  1516. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +26 -0
  1517. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +69 -0
  1518. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +90 -0
  1519. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +41 -0
  1520. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +24 -0
  1521. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +20 -0
  1522. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +72 -0
  1523. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/RelatedApps.fragment.xml +22 -0
  1524. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +71 -0
  1525. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +175 -0
  1526. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionCustomSection.fragment.xml +18 -0
  1527. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +18 -0
  1528. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +18 -0
  1529. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionPresentationVisualization.fragment.xml +17 -0
  1530. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SideContentCustomContainer.fragment.xml +19 -0
  1531. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/TitleAndSubtitle.fragment.xml +24 -0
  1532. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +816 -0
  1533. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +6 -0
  1534. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +176 -0
  1535. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +6 -0
  1536. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +441 -0
  1537. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +6 -0
  1538. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/overrides/EditFlow-dbg.js +18 -0
  1539. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +6 -0
  1540. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +15 -0
  1541. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +9 -0
  1542. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/PlaceholderLR.view.xml +617 -0
  1543. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/PlaceholderOP.view.xml +588 -0
  1544. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Chart.fragment.xml +20 -0
  1545. package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +26 -0
  1546. package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +6 -0
  1547. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator-dbg.js +174 -0
  1548. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator.control.xml +24 -0
  1549. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator.js +6 -0
  1550. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +23 -0
  1551. package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js +10 -0
  1552. package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js.map +9 -0
  1553. package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +72 -0
  1554. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +77 -0
  1555. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +9 -0
  1556. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +154 -0
  1557. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +9 -0
  1558. package/packages/sap.fe.templates/src/sap/fe/templates/library.js +6 -0
  1559. package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +136 -0
  1560. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle.properties +210 -0
  1561. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ar.properties +135 -0
  1562. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_bg.properties +135 -0
  1563. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ca.properties +135 -0
  1564. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cs.properties +135 -0
  1565. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cy.properties +135 -0
  1566. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_da.properties +135 -0
  1567. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_de.properties +135 -0
  1568. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_el.properties +135 -0
  1569. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en.properties +135 -0
  1570. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_GB.properties +135 -0
  1571. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +135 -0
  1572. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +135 -0
  1573. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +135 -0
  1574. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +135 -0
  1575. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es_MX.properties +135 -0
  1576. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_et.properties +135 -0
  1577. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fi.properties +135 -0
  1578. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +135 -0
  1579. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr_CA.properties +135 -0
  1580. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hi.properties +135 -0
  1581. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hr.properties +135 -0
  1582. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hu.properties +135 -0
  1583. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_id.properties +135 -0
  1584. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_it.properties +135 -0
  1585. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_iw.properties +135 -0
  1586. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +135 -0
  1587. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_kk.properties +135 -0
  1588. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ko.properties +135 -0
  1589. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lt.properties +135 -0
  1590. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lv.properties +135 -0
  1591. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ms.properties +135 -0
  1592. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_nl.properties +135 -0
  1593. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_no.properties +135 -0
  1594. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pl.properties +135 -0
  1595. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt.properties +135 -0
  1596. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt_PT.properties +135 -0
  1597. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ro.properties +135 -0
  1598. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ru.properties +135 -0
  1599. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sh.properties +135 -0
  1600. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sk.properties +135 -0
  1601. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sl.properties +135 -0
  1602. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sv.properties +135 -0
  1603. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_th.properties +135 -0
  1604. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +135 -0
  1605. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_uk.properties +135 -0
  1606. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_vi.properties +135 -0
  1607. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_CN.properties +135 -0
  1608. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_TW.properties +135 -0
  1609. package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +2103 -0
  1610. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/Component.js +9 -0
  1611. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/WEB-INF/web.xml +120 -0
  1612. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/annotations/annotations.xml +43 -0
  1613. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/i18n/i18n.properties +13 -0
  1614. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +176 -0
  1615. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/manifestCreateDialogWithFCL.json +87 -0
  1616. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/testFLP.html +71 -0
  1617. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/testFLPService.html +82 -0
  1618. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/flpSandbox.html +24 -0
  1619. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/flpSandbox.js +225 -0
  1620. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/mockServer.js +780 -0
  1621. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/mockServerHelper.js +195 -0
  1622. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -0
  1623. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -0
  1624. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jsmeta.json +1 -0
  1625. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jstemplates.json +1 -0
  1626. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -0
  1627. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmltemplates.json +1 -0
  1628. package/packages/sap.fe.templates/test/sap/fe/templates/qunit/common/testHelper.js +80 -0
  1629. package/packages/sap.fe.templates/test/sap/fe/templates/qunit/common/utility.js +28 -0
  1630. package/packages/sap.fe.templates/test/sap/fe/templates/qunit/testsuite.qunit.html +14 -0
  1631. package/packages/sap.fe.templates/test/sap/fe/templates/qunit/testsuite.qunit.js +33 -0
  1632. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.91.json +134 -0
  1633. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.94.json +34 -0
  1634. package/packages/sap.fe.test/src/sap/fe/test/.library +30 -0
  1635. package/packages/sap.fe.test/src/sap/fe/test/.theming +6 -0
  1636. package/packages/sap.fe.test/src/sap/fe/test/BaseActions-dbg.js +107 -0
  1637. package/packages/sap.fe.test/src/sap/fe/test/BaseActions.js +6 -0
  1638. package/packages/sap.fe.test/src/sap/fe/test/BaseArrangements-dbg.js +199 -0
  1639. package/packages/sap.fe.test/src/sap/fe/test/BaseArrangements.js +6 -0
  1640. package/packages/sap.fe.test/src/sap/fe/test/BaseAssertions-dbg.js +56 -0
  1641. package/packages/sap.fe.test/src/sap/fe/test/BaseAssertions.js +6 -0
  1642. package/packages/sap.fe.test/src/sap/fe/test/ConfirmDialog-dbg.js +72 -0
  1643. package/packages/sap.fe.test/src/sap/fe/test/ConfirmDialog.js +6 -0
  1644. package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +86 -0
  1645. package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +6 -0
  1646. package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +743 -0
  1647. package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +6 -0
  1648. package/packages/sap.fe.test/src/sap/fe/test/FlexibleColumnLayout-dbg.js +149 -0
  1649. package/packages/sap.fe.test/src/sap/fe/test/FlexibleColumnLayout.js +6 -0
  1650. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +284 -0
  1651. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +5 -0
  1652. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +242 -0
  1653. package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner-dbg.js +314 -0
  1654. package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner.js +6 -0
  1655. package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +525 -0
  1656. package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +6 -0
  1657. package/packages/sap.fe.test/src/sap/fe/test/LocationUtil-dbg.js +54 -0
  1658. package/packages/sap.fe.test/src/sap/fe/test/LocationUtil.js +6 -0
  1659. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +857 -0
  1660. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +6 -0
  1661. package/packages/sap.fe.test/src/sap/fe/test/Shell-dbg.js +226 -0
  1662. package/packages/sap.fe.test/src/sap/fe/test/Shell.js +6 -0
  1663. package/packages/sap.fe.test/src/sap/fe/test/Stubs-dbg.js +97 -0
  1664. package/packages/sap.fe.test/src/sap/fe/test/Stubs.js +6 -0
  1665. package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +447 -0
  1666. package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +6 -0
  1667. package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils-dbg.js +243 -0
  1668. package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils.js +6 -0
  1669. package/packages/sap.fe.test/src/sap/fe/test/Utils-dbg.js +301 -0
  1670. package/packages/sap.fe.test/src/sap/fe/test/Utils.js +6 -0
  1671. package/packages/sap.fe.test/src/sap/fe/test/api/APIHelper-dbg.js +117 -0
  1672. package/packages/sap.fe.test/src/sap/fe/test/api/APIHelper.js +6 -0
  1673. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +285 -0
  1674. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI.js +6 -0
  1675. package/packages/sap.fe.test/src/sap/fe/test/api/ChartActions-dbg.js +131 -0
  1676. package/packages/sap.fe.test/src/sap/fe/test/api/ChartActions.js +6 -0
  1677. package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions-dbg.js +114 -0
  1678. package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions.js +6 -0
  1679. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +93 -0
  1680. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +6 -0
  1681. package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +101 -0
  1682. package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +6 -0
  1683. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +123 -0
  1684. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +6 -0
  1685. package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions-dbg.js +44 -0
  1686. package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions.js +6 -0
  1687. package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions-dbg.js +55 -0
  1688. package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions.js +6 -0
  1689. package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions-dbg.js +59 -0
  1690. package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions.js +6 -0
  1691. package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions-dbg.js +87 -0
  1692. package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions.js +6 -0
  1693. package/packages/sap.fe.test/src/sap/fe/test/api/DialogType-dbg.js +76 -0
  1694. package/packages/sap.fe.test/src/sap/fe/test/api/DialogType.js +6 -0
  1695. package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions-dbg.js +317 -0
  1696. package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions.js +6 -0
  1697. package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions-dbg.js +263 -0
  1698. package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions.js +6 -0
  1699. package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +67 -0
  1700. package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +6 -0
  1701. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI-dbg.js +197 -0
  1702. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI.js +6 -0
  1703. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +310 -0
  1704. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +6 -0
  1705. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAssertions-dbg.js +413 -0
  1706. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAssertions.js +6 -0
  1707. package/packages/sap.fe.test/src/sap/fe/test/api/FooterAPI-dbg.js +37 -0
  1708. package/packages/sap.fe.test/src/sap/fe/test/api/FooterAPI.js +6 -0
  1709. package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsBase-dbg.js +47 -0
  1710. package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsBase.js +6 -0
  1711. package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsOP-dbg.js +83 -0
  1712. package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsOP.js +6 -0
  1713. package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsBase-dbg.js +66 -0
  1714. package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsBase.js +6 -0
  1715. package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsOP-dbg.js +98 -0
  1716. package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsOP.js +6 -0
  1717. package/packages/sap.fe.test/src/sap/fe/test/api/FormAPI-dbg.js +82 -0
  1718. package/packages/sap.fe.test/src/sap/fe/test/api/FormAPI.js +6 -0
  1719. package/packages/sap.fe.test/src/sap/fe/test/api/FormActions-dbg.js +180 -0
  1720. package/packages/sap.fe.test/src/sap/fe/test/api/FormActions.js +6 -0
  1721. package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +182 -0
  1722. package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +6 -0
  1723. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAPI-dbg.js +152 -0
  1724. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAPI.js +6 -0
  1725. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActions-dbg.js +232 -0
  1726. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActions.js +6 -0
  1727. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActionsLR-dbg.js +94 -0
  1728. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActionsLR.js +6 -0
  1729. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertions-dbg.js +495 -0
  1730. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertions.js +6 -0
  1731. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertionsLR-dbg.js +110 -0
  1732. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertionsLR.js +6 -0
  1733. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderLR-dbg.js +74 -0
  1734. package/packages/sap.fe.test/src/sap/fe/test/api/HeaderLR.js +6 -0
  1735. package/packages/sap.fe.test/src/sap/fe/test/api/TableAPI-dbg.js +452 -0
  1736. package/packages/sap.fe.test/src/sap/fe/test/api/TableAPI.js +6 -0
  1737. package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +958 -0
  1738. package/packages/sap.fe.test/src/sap/fe/test/api/TableActions.js +6 -0
  1739. package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +697 -0
  1740. package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +6 -0
  1741. package/packages/sap.fe.test/src/sap/fe/test/builder/DialogBuilder-dbg.js +118 -0
  1742. package/packages/sap.fe.test/src/sap/fe/test/builder/DialogBuilder.js +6 -0
  1743. package/packages/sap.fe.test/src/sap/fe/test/builder/FEBuilder-dbg.js +428 -0
  1744. package/packages/sap.fe.test/src/sap/fe/test/builder/FEBuilder.js +6 -0
  1745. package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder-dbg.js +56 -0
  1746. package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder.js +6 -0
  1747. package/packages/sap.fe.test/src/sap/fe/test/builder/MacroFieldBuilder-dbg.js +174 -0
  1748. package/packages/sap.fe.test/src/sap/fe/test/builder/MacroFieldBuilder.js +6 -0
  1749. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFieldBuilder-dbg.js +254 -0
  1750. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFieldBuilder.js +6 -0
  1751. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterBarBuilder-dbg.js +112 -0
  1752. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterBarBuilder.js +6 -0
  1753. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterFieldBuilder-dbg.js +54 -0
  1754. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterFieldBuilder.js +6 -0
  1755. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +1069 -0
  1756. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.js +6 -0
  1757. package/packages/sap.fe.test/src/sap/fe/test/builder/OverflowToolbarBuilder-dbg.js +89 -0
  1758. package/packages/sap.fe.test/src/sap/fe/test/builder/OverflowToolbarBuilder.js +6 -0
  1759. package/packages/sap.fe.test/src/sap/fe/test/builder/VMBuilder-dbg.js +268 -0
  1760. package/packages/sap.fe.test/src/sap/fe/test/builder/VMBuilder.js +6 -0
  1761. package/packages/sap.fe.test/src/sap/fe/test/internal/FEArrangements-dbg.js +66 -0
  1762. package/packages/sap.fe.test/src/sap/fe/test/internal/FEArrangements.js +6 -0
  1763. package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner-dbg.js +55 -0
  1764. package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner.js +6 -0
  1765. package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +37 -0
  1766. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +78 -0
  1767. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +9 -0
  1768. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +587 -0
  1769. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +9 -0
  1770. package/packages/sap.fe.test/src/sap/fe/test/library.js +6 -0
  1771. package/packages/sap.fe.test/src/sap/fe/test/manifest.json +39 -0
  1772. package/packages/sap.fe.test/src/sap/fe/test/massEdit-dbg.js +99 -0
  1773. package/packages/sap.fe.test/src/sap/fe/test/massEdit.js +6 -0
  1774. package/packages/sap.fe.test/src/sap/fe/test/resources.json +1972 -0
  1775. package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -0
  1776. package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -0
  1777. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -0
  1778. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jstemplates.json +1 -0
  1779. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -0
  1780. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmltemplates.json +1 -0
  1781. package/packages/sap.fe.test/test/sap/fe/test/mockserver/MockServer.js +134870 -0
  1782. package/src/LICENSE.txt +23 -0
  1783. package/ui5.yaml +66 -0
@@ -0,0 +1,1206 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/fe/core/converters/controls/Common/Table", "path", "sap/fe/core/converters/MetaModelConverter", "sap/fe/test/JestTemplatingHelper", "sap/fe/core/converters/ManifestSettings", "sap/fe/core/helpers/BindingExpression", "sap/fe/core/converters/helpers/BindingHelper", "sap/fe/core/converters/helpers/ConfigurableObject"], function (Table, path, MetaModelConverter, JestTemplatingHelper, ManifestSettings, BindingExpression, BindingHelper, ConfigurableObject) {
6
+ "use strict";
7
+
8
+ var Placement = ConfigurableObject.Placement;
9
+ var UI = BindingHelper.UI;
10
+ var constant = BindingExpression.constant;
11
+ var compileBinding = BindingExpression.compileBinding;
12
+ var bindingExpression = BindingExpression.bindingExpression;
13
+ var TemplateType = ManifestSettings.TemplateType;
14
+ var HorizontalAlign = ManifestSettings.HorizontalAlign;
15
+ var CreationMode = ManifestSettings.CreationMode;
16
+ var getMetaModel = JestTemplatingHelper.getMetaModel;
17
+ var getConverterContextForTest = JestTemplatingHelper.getConverterContextForTest;
18
+ var compileCDS = JestTemplatingHelper.compileCDS;
19
+ var convertTypes = MetaModelConverter.convertTypes;
20
+ var getEnablementMassEdit = Table.getEnablementMassEdit;
21
+ var getVisibilityMassEdit = Table.getVisibilityMassEdit;
22
+ var getTableManifestConfiguration = Table.getTableManifestConfiguration;
23
+ var getTableColumns = Table.getTableColumns;
24
+ var getTableActions = Table.getTableActions;
25
+ var getSelectionMode = Table.getSelectionMode;
26
+ var getCreateVisible = Table.getCreateVisible;
27
+
28
+ var convertedTypes;
29
+ var convertedTypesNoOa;
30
+ var convertedTypesAnalyticalService;
31
+ var convertedTypesOaTrue;
32
+ var convertedTypesOaFalse;
33
+ var convertedTypesSelectionMode;
34
+ beforeAll(function () {
35
+ try {
36
+ var sMetadataUrl = compileCDS(path.join(__dirname, "../data/Table.cds"));
37
+ return Promise.resolve(getMetaModel(sMetadataUrl)).then(function (metaModel) {
38
+ convertedTypes = convertTypes(metaModel);
39
+ var sMetadataUrlSelectionMode = compileCDS(path.join(__dirname, "../data/TableGetSelectionMode.cds"));
40
+ return Promise.resolve(getMetaModel(sMetadataUrlSelectionMode)).then(function (metaModelSelectionMode) {
41
+ convertedTypesSelectionMode = convertTypes(metaModelSelectionMode);
42
+ var sMetadataUrlAnalyticalService = compileCDS(path.join(__dirname, "../data/AnalyticalService.cds"));
43
+ return Promise.resolve(getMetaModel(sMetadataUrlAnalyticalService)).then(function (metaModelAnalyticalService) {
44
+ convertedTypesAnalyticalService = convertTypes(metaModelAnalyticalService);
45
+ var sMetadataUrlNoOa = compileCDS(path.join(__dirname, "../data/TableNewActionNoOperationAvailable.cds"));
46
+ return Promise.resolve(getMetaModel(sMetadataUrlNoOa)).then(function (metaModelNoOa) {
47
+ convertedTypesNoOa = convertTypes(metaModelNoOa);
48
+ var sMetadataUrlOaTrue = compileCDS(path.join(__dirname, "../data/TableNewActionOperationAvailableTrue.cds"));
49
+ return Promise.resolve(getMetaModel(sMetadataUrlOaTrue)).then(function (metaModelOaTrue) {
50
+ convertedTypesOaTrue = convertTypes(metaModelOaTrue);
51
+ var sMetadataUrlOaFalse = compileCDS(path.join(__dirname, "../data/TableNewActionOperationAvailableFalse.cds"));
52
+ return Promise.resolve(getMetaModel(sMetadataUrlOaFalse)).then(function (metaModelOaFalse) {
53
+ convertedTypesOaFalse = convertTypes(metaModelOaFalse);
54
+ });
55
+ });
56
+ });
57
+ });
58
+ });
59
+ });
60
+ } catch (e) {
61
+ return Promise.reject(e);
62
+ }
63
+ });
64
+
65
+ var getTableConfigurationForTest = function (manifestSettings) {
66
+ var _basicContext$getEnti;
67
+
68
+ var isCondensedLayoutCompliant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
69
+ var userContentDensities = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "compact";
70
+ var converterOutput = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : convertedTypes;
71
+ manifestSettings.shellContentDensity = userContentDensities;
72
+ var basicContext = getConverterContextForTest(converterOutput, manifestSettings);
73
+ return getTableManifestConfiguration((_basicContext$getEnti = basicContext.getEntityType().annotations.UI) === null || _basicContext$getEnti === void 0 ? void 0 : _basicContext$getEnti.LineItem, "@com.sap.vocabularies.UI.v1.LineItem", basicContext, isCondensedLayoutCompliant);
74
+ };
75
+
76
+ describe("Table Converter - #getTableManifestConfiguration ", function () {
77
+ it("works with basic configuration", function () {
78
+ var tableConfiguration = getTableConfigurationForTest({
79
+ entitySet: "TestEntity",
80
+ converterType: TemplateType.ListReport
81
+ });
82
+ expect(tableConfiguration).toMatchSnapshot();
83
+ expect(tableConfiguration.type === "ResponsiveTable");
84
+ });
85
+ it("Influence the table type", function () {
86
+ var tableConfiguration = getTableConfigurationForTest({
87
+ entitySet: "TestEntity",
88
+ converterType: TemplateType.ListReport,
89
+ controlConfiguration: {
90
+ "@com.sap.vocabularies.UI.v1.LineItem": {
91
+ tableSettings: {
92
+ type: "GridTable"
93
+ }
94
+ }
95
+ }
96
+ });
97
+ expect(tableConfiguration.type).toEqual("GridTable");
98
+ });
99
+ it("Export Option Default", function () {
100
+ // If defined, then the value should be equal to the provided setting
101
+ var manifestSettings = {
102
+ entitySet: "TestEntity",
103
+ converterType: TemplateType.ListReport
104
+ };
105
+ var tableConfiguration = getTableConfigurationForTest(manifestSettings);
106
+ expect(tableConfiguration.enableExport).toBe(true);
107
+ manifestSettings.converterType = TemplateType.ObjectPage;
108
+ var tableConfigurationOP = getTableConfigurationForTest(manifestSettings);
109
+ expect(tableConfigurationOP.enableExport).toBe(true);
110
+ });
111
+ it("Influence the Export Option", function () {
112
+ // If defined, then the value should be equal to the provided setting
113
+ var manifestSettings = {
114
+ entitySet: "TestEntity",
115
+ converterType: TemplateType.ListReport,
116
+ controlConfiguration: {
117
+ "@com.sap.vocabularies.UI.v1.LineItem": {
118
+ tableSettings: {
119
+ enableExport: true
120
+ }
121
+ }
122
+ }
123
+ };
124
+ var tableConfiguration = getTableConfigurationForTest(manifestSettings);
125
+ expect(tableConfiguration.enableExport).toBe(true);
126
+ manifestSettings.converterType = TemplateType.ObjectPage;
127
+ var tableConfigurationOP = getTableConfigurationForTest(manifestSettings);
128
+ expect(tableConfigurationOP.enableExport).toBe(true);
129
+ var noPasteManifestSettings = {
130
+ entitySet: "TestEntity",
131
+ converterType: TemplateType.ListReport,
132
+ controlConfiguration: {
133
+ "@com.sap.vocabularies.UI.v1.LineItem": {
134
+ tableSettings: {
135
+ enablePaste: false
136
+ }
137
+ }
138
+ }
139
+ };
140
+ var tableConfigurationNoPaste = getTableConfigurationForTest(noPasteManifestSettings);
141
+ expect(tableConfigurationNoPaste.enableExport).toBe(true);
142
+ noPasteManifestSettings.converterType = TemplateType.ObjectPage;
143
+ var tableConfigurationNoPasteOP = getTableConfigurationForTest(noPasteManifestSettings);
144
+ expect(tableConfigurationNoPasteOP.enableExport).toBe(false);
145
+ });
146
+ it("Default checkbox is 'Deselect All' for a responsive Table in LR", function () {
147
+ var tableConfiguration = getTableConfigurationForTest({
148
+ entitySet: "TestEntity",
149
+ converterType: TemplateType.ListReport,
150
+ controlConfiguration: {
151
+ "@com.sap.vocabularies.UI.v1.LineItem": {
152
+ tableSettings: {
153
+ type: "ResponsiveTable"
154
+ }
155
+ }
156
+ }
157
+ });
158
+ expect(tableConfiguration.multiSelectMode).toEqual("ClearAll");
159
+ });
160
+ it("Checkbox is 'Select All' for a responsive Table in LR, when selectAll = true", function () {
161
+ var tableConfiguration = getTableConfigurationForTest({
162
+ entitySet: "TestEntity",
163
+ converterType: TemplateType.ListReport,
164
+ controlConfiguration: {
165
+ "@com.sap.vocabularies.UI.v1.LineItem": {
166
+ tableSettings: {
167
+ type: "ResponsiveTable",
168
+ selectAll: true
169
+ }
170
+ }
171
+ }
172
+ });
173
+ expect(tableConfiguration.multiSelectMode).toEqual("Default");
174
+ });
175
+ it("Default Checkbox is 'Deselect All' for responsive Tables in OP, within sections via tab bar (no anchor bar)", function () {
176
+ var tableConfiguration = getTableConfigurationForTest({
177
+ entitySet: "TestEntity",
178
+ converterType: TemplateType.ObjectPage,
179
+ sectionLayout: "Tabs",
180
+ controlConfiguration: {
181
+ "@com.sap.vocabularies.UI.v1.LineItem": {
182
+ tableSettings: {
183
+ type: "ResponsiveTable"
184
+ }
185
+ }
186
+ }
187
+ });
188
+ expect(tableConfiguration.multiSelectMode).toEqual("ClearAll");
189
+ });
190
+ it("Default Checkbox is 'Select All' for responsive Tables in OP, within sections using the anchor bar)", function () {
191
+ var tableConfiguration = getTableConfigurationForTest({
192
+ entitySet: "TestEntity",
193
+ converterType: TemplateType.ObjectPage,
194
+ sectionLayout: "Page",
195
+ controlConfiguration: {
196
+ "@com.sap.vocabularies.UI.v1.LineItem": {
197
+ tableSettings: {
198
+ type: "ResponsiveTable"
199
+ }
200
+ }
201
+ }
202
+ });
203
+ expect(tableConfiguration.multiSelectMode).toEqual("Default");
204
+ });
205
+ it("Checkbox is 'DeSelect All' for responsive Tables in OP, within sections using the anchor bar when selectAll is set to false)", function () {
206
+ var tableConfiguration = getTableConfigurationForTest({
207
+ entitySet: "TestEntity",
208
+ converterType: TemplateType.ObjectPage,
209
+ sectionLayout: "Page",
210
+ controlConfiguration: {
211
+ "@com.sap.vocabularies.UI.v1.LineItem": {
212
+ tableSettings: {
213
+ type: "ResponsiveTable",
214
+ selectAll: false
215
+ }
216
+ }
217
+ }
218
+ });
219
+ expect(tableConfiguration.multiSelectMode).toEqual("ClearAll");
220
+ });
221
+ });
222
+ describe("Table Converter - #getCreateVisible ", function () {
223
+ var IS_INSERTABLE_FALSE = constant(false);
224
+ var IS_INSERTABLE_TRUE = constant(true);
225
+ var IS_INSERTABLE_DYNAMIC = bindingExpression("SomeDynamicExpression");
226
+ var BASIC_CONTEXT_LR;
227
+ var BASIC_CONTEXT_OP;
228
+ var HIDDEN_CONTEXT_LR;
229
+ var HIDDEN_CONTEXT_OP;
230
+ var DYNAMIC_HIDDEN_CONTEXT_LR;
231
+ var DYNAMIC_HIDDEN_CONTEXT_OP;
232
+ var NEW_ACTION_NO_OA;
233
+ var NEW_ACTION_OA_TRUE;
234
+ var NEW_ACTION_OA_FALSE;
235
+ beforeAll(function () {
236
+ BASIC_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
237
+ entitySet: "TestEntity",
238
+ converterType: TemplateType.ListReport
239
+ });
240
+ BASIC_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
241
+ entitySet: "TestEntity",
242
+ converterType: TemplateType.ObjectPage
243
+ });
244
+ HIDDEN_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
245
+ entitySet: "CreateHiddenEntity",
246
+ converterType: TemplateType.ListReport
247
+ });
248
+ HIDDEN_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
249
+ entitySet: "CreateHiddenEntity",
250
+ converterType: TemplateType.ObjectPage
251
+ });
252
+ DYNAMIC_HIDDEN_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
253
+ entitySet: "CreateHiddenDynamicEntity",
254
+ converterType: TemplateType.ListReport
255
+ });
256
+ DYNAMIC_HIDDEN_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
257
+ entitySet: "CreateHiddenDynamicEntity",
258
+ converterType: TemplateType.ObjectPage
259
+ });
260
+ NEW_ACTION_NO_OA = getConverterContextForTest(convertedTypesNoOa, {
261
+ entitySet: "TestEntity",
262
+ converterType: TemplateType.ListReport
263
+ });
264
+ NEW_ACTION_OA_TRUE = getConverterContextForTest(convertedTypesOaTrue, {
265
+ entitySet: "TestEntity",
266
+ converterType: TemplateType.ListReport
267
+ });
268
+ NEW_ACTION_OA_FALSE = getConverterContextForTest(convertedTypesOaFalse, {
269
+ entitySet: "TestEntity",
270
+ converterType: TemplateType.ListReport
271
+ });
272
+ });
273
+ it("If it's statically not insertable -> create is not visible", function () {
274
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("false");
275
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, "External", IS_INSERTABLE_FALSE))).toEqual("false");
276
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("false");
277
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_OP, "External", IS_INSERTABLE_FALSE))).toEqual("false");
278
+ });
279
+ it("If create is statically hidden -> create is not visible", function () {
280
+ expect(compileBinding(getCreateVisible(HIDDEN_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("false");
281
+ expect(compileBinding(getCreateVisible(HIDDEN_CONTEXT_LR, "External", IS_INSERTABLE_TRUE))).toEqual("false");
282
+ expect(compileBinding(getCreateVisible(HIDDEN_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("false");
283
+ expect(compileBinding(getCreateVisible(HIDDEN_CONTEXT_OP, "External", IS_INSERTABLE_TRUE))).toEqual("false");
284
+ });
285
+ it("Otherwise if the create mode is external -> create is visible", function () {
286
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, "External", IS_INSERTABLE_TRUE))).toEqual("true");
287
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_OP, "External", IS_INSERTABLE_TRUE))).toEqual("true");
288
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, "External", IS_INSERTABLE_DYNAMIC))).toEqual("true");
289
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_OP, "External", IS_INSERTABLE_DYNAMIC))).toEqual("true");
290
+ expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_LR, "External", IS_INSERTABLE_TRUE))).toEqual("true");
291
+ expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_OP, "External", IS_INSERTABLE_TRUE))).toEqual("true");
292
+ expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_LR, "External", IS_INSERTABLE_DYNAMIC))).toEqual("true");
293
+ expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_OP, "External", IS_INSERTABLE_DYNAMIC))).toEqual("true");
294
+ });
295
+ it("If we're on the list report -> create is visible", function () {
296
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("true");
297
+ expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("{= !%{hiddenCreate}}");
298
+ expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_DYNAMIC))).toEqual("true");
299
+ expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_DYNAMIC))).toEqual("{= !%{hiddenCreate}}");
300
+ });
301
+ it("Otherwise this depends on the value of the the UI.IsEditable", function () {
302
+ expect(getCreateVisible(BASIC_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_TRUE)).toEqual(UI.IsEditable);
303
+ expect(getCreateVisible(BASIC_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_DYNAMIC)).toEqual(UI.IsEditable);
304
+ expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("{= (!%{hiddenCreate} && %{ui>/isEditable})}");
305
+ expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_DYNAMIC))).toEqual("{= (!%{hiddenCreate} && %{ui>/isEditable})}");
306
+ });
307
+ it("If a New Action exists create depends on the Core.OperationAvailable annotation", function () {
308
+ expect(compileBinding(getCreateVisible(NEW_ACTION_NO_OA, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("true");
309
+ expect(compileBinding(getCreateVisible(NEW_ACTION_NO_OA, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("true");
310
+ expect(compileBinding(getCreateVisible(NEW_ACTION_OA_TRUE, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("true");
311
+ expect(compileBinding(getCreateVisible(NEW_ACTION_OA_TRUE, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("true");
312
+ expect(compileBinding(getCreateVisible(NEW_ACTION_OA_FALSE, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("false");
313
+ expect(compileBinding(getCreateVisible(NEW_ACTION_OA_FALSE, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("false");
314
+ });
315
+ });
316
+ describe("Table Converter - #getVisibilityMassEdit", function () {
317
+ var BASIC_CONTEXT_LR;
318
+ var BASIC_CONTEXT_OP;
319
+ var BASIC_CONTEXT_OP_UPDATEHIDDEN;
320
+ var BASIC_CONTEXT_OP_UPDATEHIDDEN1;
321
+ var BASIC_CONTEXT_OP_UPDATEHIDDEN_PATH;
322
+ var tableManifestConfigurationWithMassEdit = {
323
+ enableMassEdit: true
324
+ };
325
+ var tableManifestConfigurationWithoutMassEdit = {
326
+ enableMassEdit: false
327
+ };
328
+ var tableConfWithMassEditSelectionLimit = {
329
+ enableMassEdit: false,
330
+ selectionLimit: 1
331
+ };
332
+ beforeAll(function () {
333
+ BASIC_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
334
+ entitySet: "TestEntity",
335
+ converterType: TemplateType.ListReport
336
+ });
337
+ BASIC_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
338
+ entitySet: "TestEntity",
339
+ converterType: TemplateType.ObjectPage
340
+ });
341
+ BASIC_CONTEXT_OP_UPDATEHIDDEN = getConverterContextForTest(convertedTypes, {
342
+ entitySet: "UpdateHiddenEntity",
343
+ converterType: TemplateType.ObjectPage
344
+ });
345
+ BASIC_CONTEXT_OP_UPDATEHIDDEN1 = getConverterContextForTest(convertedTypes, {
346
+ entitySet: "UpdateHiddenEntity1",
347
+ converterType: TemplateType.ObjectPage
348
+ });
349
+ BASIC_CONTEXT_OP_UPDATEHIDDEN_PATH = getConverterContextForTest(convertedTypes, {
350
+ entitySet: "MassEditUpdateHiddenDynamicEntity",
351
+ converterType: TemplateType.ObjectPage
352
+ });
353
+ });
354
+ it("For list report Mass edit should not be visible in any case.", function () {
355
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_LR, tableManifestConfigurationWithMassEdit, {
356
+ isUpdatable: true,
357
+ isDeletable: true
358
+ }, undefined)).toEqual(false);
359
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_LR, tableManifestConfigurationWithoutMassEdit, {
360
+ isUpdatable: true,
361
+ isDeletable: true
362
+ }, undefined)).toEqual(false);
363
+ });
364
+ it("Different cases of mass edit visibility in object page.", function () {
365
+ //Mass Edit is enabled from manifest, entity set updatable is static false => Mass edit should not be visible.
366
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableManifestConfigurationWithMassEdit, {
367
+ isUpdatable: false,
368
+ isDeletable: true
369
+ }, undefined)).toEqual(false); //Mass Edit is disabled from manifest, entity set updatable is static true => Mass edit should not be visible.
370
+
371
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableManifestConfigurationWithoutMassEdit, {
372
+ isUpdatable: true,
373
+ isDeletable: true
374
+ }, undefined)).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for List Report context => Mass edit should not be visible.
375
+
376
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_LR, tableManifestConfigurationWithMassEdit, {
377
+ isUpdatable: true,
378
+ isDeletable: true
379
+ }, undefined)).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context => Mass edit should be visible if object page is in edit mode.
380
+
381
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableManifestConfigurationWithMassEdit, {
382
+ isUpdatable: true,
383
+ isDeletable: true
384
+ }, undefined)).toEqual("{ui>/isEditable}"); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, selection mode is singal => Mass edit should not be visible.
385
+
386
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableManifestConfigurationWithMassEdit, {
387
+ isUpdatable: true,
388
+ isDeletable: true
389
+ }, "Single")).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, selection limit is set to 1 => Mass edit should not be visible.
390
+
391
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableConfWithMassEditSelectionLimit, {
392
+ isUpdatable: true,
393
+ isDeletable: true
394
+ }, undefined)).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, update hidden annotation is true => Mass edit should not be visible.
395
+
396
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_OP_UPDATEHIDDEN, tableManifestConfigurationWithMassEdit, {
397
+ isUpdatable: true,
398
+ isDeletable: true
399
+ }, undefined)).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, update hidden annotation is path based => Mass edit should be visible if the path value is false and object page is in edit mode.
400
+
401
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_OP_UPDATEHIDDEN_PATH, tableManifestConfigurationWithMassEdit, {
402
+ isUpdatable: true,
403
+ isDeletable: true
404
+ }, undefined)).toEqual("{= (%{ui>/isEditable} === true && %{updateHidden} === false)}"); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, update hidden annotation is false => Mass edit should be visible if object page is in edit mode.
405
+
406
+ expect(getVisibilityMassEdit(BASIC_CONTEXT_OP_UPDATEHIDDEN1, tableManifestConfigurationWithMassEdit, {
407
+ isUpdatable: true,
408
+ isDeletable: true
409
+ }, undefined)).toEqual("{ui>/isEditable}");
410
+ });
411
+ });
412
+ describe("Table Converter - #getEnablementMassEdit", function () {
413
+ var BASIC_CONTEXT_OP_PATH_BASED_UPDATE_RESTRICTION;
414
+ var BASIC_CONTEXT_OP_STATIC_UPDATE_RESTRICTION;
415
+ beforeAll(function () {
416
+ BASIC_CONTEXT_OP_PATH_BASED_UPDATE_RESTRICTION = getConverterContextForTest(convertedTypes, {
417
+ entitySet: "EntitySetWithPathBasedUpdateRestriction",
418
+ converterType: TemplateType.ObjectPage
419
+ });
420
+ BASIC_CONTEXT_OP_STATIC_UPDATE_RESTRICTION = getConverterContextForTest(convertedTypes, {
421
+ entitySet: "EntitySetWithStaticUpdateRestriction",
422
+ converterType: TemplateType.ObjectPage
423
+ });
424
+ }); //This scenario will be handled in tablehelper returning false from converter in this case
425
+
426
+ it("The mass edit is visible, and update restrictions are set to a path value of current entity set.", function () {
427
+ expect(getEnablementMassEdit(BASIC_CONTEXT_OP_PATH_BASED_UPDATE_RESTRICTION, true)).toEqual(false);
428
+ });
429
+ it("The mass edit is visible, and update restrictions are set to static true.", function () {
430
+ expect(getEnablementMassEdit(BASIC_CONTEXT_OP_STATIC_UPDATE_RESTRICTION, true)).toEqual("{= %{internal>numberOfSelectedContexts} >= 2 && true}");
431
+ });
432
+ it("The mass edit is not visible as update restrictions are set to static false.", function () {
433
+ expect(getEnablementMassEdit(BASIC_CONTEXT_OP_STATIC_UPDATE_RESTRICTION, false)).toEqual(false);
434
+ });
435
+ });
436
+ describe("Table Converter - #getSelectionMode ", function () {
437
+ var getSelectionModeForTest = function (isEntitySet, targetCapabilities, basicContext, visualizationPath) {
438
+ var _basicContext$getEnti2;
439
+
440
+ return getSelectionMode((_basicContext$getEnti2 = basicContext.getEntityType().annotations.UI) === null || _basicContext$getEnti2 === void 0 ? void 0 : _basicContext$getEnti2.LineItem, visualizationPath, basicContext, isEntitySet, targetCapabilities);
441
+ };
442
+
443
+ it("If the LR is not deletable and its table has not action : the tableSelectionMode is 'None' ", function () {
444
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
445
+ entitySet: "EntityWithoutActionOnTable",
446
+ converterType: TemplateType.ListReport
447
+ });
448
+ var result = getSelectionModeForTest(true, {
449
+ isDeletable: false,
450
+ isUpdatable: false
451
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
452
+ expect(result).toEqual("None");
453
+ });
454
+ it("If the LR is deletable and its table has not action : the tableSelectionMode is 'Multi' ", function () {
455
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
456
+ entitySet: "EntityWithoutActionOnTable",
457
+ converterType: TemplateType.ListReport
458
+ });
459
+ var result = getSelectionModeForTest(true, {
460
+ isDeletable: true,
461
+ isUpdatable: false
462
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
463
+ expect(result).toEqual("Multi");
464
+ });
465
+ it("If the LR is not deletable and its table has at least 1 bound action : the tableSelectionMode is 'Multi' ", function () {
466
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
467
+ entitySet: "EntityWithBoundActionOnTable",
468
+ converterType: TemplateType.ListReport
469
+ });
470
+ var result = getSelectionModeForTest(true, {
471
+ isDeletable: false,
472
+ isUpdatable: false
473
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
474
+ expect(result).toEqual("Multi");
475
+ });
476
+ it("If the LR is not deletable and its table has only unbound actions : the tableSelectionMode is 'None' ", function () {
477
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
478
+ entitySet: "EntityWithUnBoundActionOnTable",
479
+ converterType: TemplateType.ListReport
480
+ });
481
+ var result = getSelectionModeForTest(true, {
482
+ isDeletable: false,
483
+ isUpdatable: false
484
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
485
+ expect(result).toEqual("None");
486
+ });
487
+ it("If the LR is not deletable and its table has 1 bound action without hidden annotation : the tableSelectionMode is 'Multi' ", function () {
488
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
489
+ entitySet: "EntityWithBoundActionOnTable",
490
+ converterType: TemplateType.ListReport
491
+ });
492
+ var result = getSelectionModeForTest(true, {
493
+ isDeletable: false,
494
+ isUpdatable: false
495
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
496
+ expect(result).toEqual("Multi");
497
+ });
498
+ it("If the LR is not deletable and its table has 1 DataFieldForIntentBasedNavigation statically not hidden and requiring context : the tableSelectionMode is 'Multi' ", function () {
499
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
500
+ entitySet: "EntityWithActionRequingContextOnTable",
501
+ converterType: TemplateType.ListReport
502
+ });
503
+ var result = getSelectionModeForTest(true, {
504
+ isDeletable: false,
505
+ isUpdatable: false
506
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
507
+ expect(result).toEqual("Multi");
508
+ });
509
+ it("If the LR is not deletable and its table has 1 DataFieldForIntentBasedNavigation requiring a context with Hidden binding exp : the tableSelectionMode is '{= %{isHidden} === false ? 'Multi' : 'None'}' ", function () {
510
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
511
+ entitySet: "EntityWithActionRequingContextOnTableWithHiddenExp",
512
+ converterType: TemplateType.ListReport
513
+ });
514
+ var result = getSelectionModeForTest(true, {
515
+ isDeletable: false,
516
+ isUpdatable: false
517
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
518
+ expect(result).toEqual("{= %{isHidden} === false ? 'Multi' : 'None'}");
519
+ });
520
+ it("If the LR is not deletable and its table has 1 custom bound and statically visible action : the tableSelectionMode is 'Multi' ", function () {
521
+ var manifestSettings = {
522
+ entitySet: "EntityWithCustomActionOnTable",
523
+ converterType: TemplateType.ListReport,
524
+ controlConfiguration: {
525
+ "@com.sap.vocabularies.UI.v1.LineItem": {
526
+ tableSettings: {
527
+ enableExport: false
528
+ },
529
+ actions: {
530
+ "Action1": {
531
+ press: "xx",
532
+ visible: "true",
533
+ enabled: "true",
534
+ text: "Custom Action",
535
+ enableOnSelect: "xx",
536
+ requiresSelection: true
537
+ }
538
+ }
539
+ }
540
+ }
541
+ };
542
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, manifestSettings);
543
+ var result = getSelectionModeForTest(true, {
544
+ isDeletable: false,
545
+ isUpdatable: false
546
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
547
+ expect(result).toEqual("Multi");
548
+ });
549
+ it("If the LR is not deletable and its table has several custom bound actions with visible key as an expression binding : the tableSelectionMode is 'Multi' in Edit Mode, 'None' otherwise", function () {
550
+ var manifestSettings = {
551
+ entitySet: "EntityWithCustomActionOnTable",
552
+ converterType: TemplateType.ListReport,
553
+ controlConfiguration: {
554
+ "@com.sap.vocabularies.UI.v1.LineItem": {
555
+ tableSettings: {
556
+ enableExport: false
557
+ },
558
+ actions: {
559
+ "Action1": {
560
+ press: "xx",
561
+ visible: "{= ${ui>/editMode} === 'Editable' }",
562
+ enabled: "true",
563
+ text: "Custom Action1",
564
+ enableOnSelect: "xx",
565
+ requiresSelection: true
566
+ },
567
+ "Action2": {
568
+ press: "xx",
569
+ visible: "{= %{OverallSDProcessStatus} === 'B' }",
570
+ enabled: "true",
571
+ text: "Custom Action2",
572
+ enableOnSelect: "xx",
573
+ requiresSelection: true
574
+ }
575
+ }
576
+ }
577
+ }
578
+ };
579
+ var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, manifestSettings);
580
+ var result = getSelectionModeForTest(true, {
581
+ isDeletable: false,
582
+ isUpdatable: false
583
+ }, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
584
+ expect(result).toEqual("{= (( ${ui>/editMode} === 'Editable' ) || ( %{OverallSDProcessStatus} === 'B' )) ? 'Multi' : 'None'}");
585
+ });
586
+ it("If the OP is not deletable and and its table has not action : the tableSelectionMode is 'None' ", function () {
587
+ var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, {
588
+ entitySet: "EntityWithoutActionOnTable",
589
+ converterType: TemplateType.ObjectPage
590
+ });
591
+ var result = getSelectionModeForTest(false, {
592
+ isDeletable: false,
593
+ isUpdatable: false
594
+ }, basicContext_OP, "@com.sap.vocabularies.UI.v1.LineItem");
595
+ expect(result).toEqual("None");
596
+ });
597
+ it("If the OP is deletable and its table has not action : the tableSelectionMode is Multi in Edit Mode and None otherwise", function () {
598
+ var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, {
599
+ entitySet: "EntityWithoutActionOnTable",
600
+ converterType: TemplateType.ObjectPage
601
+ });
602
+ var result = getSelectionModeForTest(false, {
603
+ isDeletable: true,
604
+ isUpdatable: false
605
+ }, basicContext_OP, "@com.sap.vocabularies.UI.v1.LineItem");
606
+ expect(result).toEqual("{= %{ui>/editMode} === 'Editable' ? 'Multi' : 'None'}");
607
+ });
608
+ it("If the OP is deletable and its table has 1 DataFieldForIntentBasedNavigation requiring a context with Hidden binding exp with nav property", function () {
609
+ var manifestSettings = {
610
+ entitySet: "EntityWithBoundActionOnTableWithHiddenExp",
611
+ converterType: TemplateType.ObjectPage,
612
+ controlConfiguration: {
613
+ "_Item/@com.sap.vocabularies.UI.v1.LineItem": {
614
+ tableSettings: {
615
+ enableExport: false
616
+ }
617
+ }
618
+ }
619
+ };
620
+ var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, manifestSettings);
621
+ var dataModelObjectPath = basicContext_OP.getDataModelObjectPath();
622
+ dataModelObjectPath.targetObject._type = "NavigationProperty";
623
+ dataModelObjectPath.targetObject.partner = "owner";
624
+ var result = getSelectionModeForTest(false, {
625
+ isDeletable: true,
626
+ isUpdatable: false
627
+ }, basicContext_OP, "_Item/@com.sap.vocabularies.UI.v1.LineItem");
628
+ expect(result).toEqual("{= %{ui>/editMode} === 'Editable' ? 'Multi' : (%{Hidden} === false ? 'Multi' : 'None')}");
629
+ });
630
+ it("If the OP is deletable and its table has 1 DataFieldForIntentBasedNavigation requiring a context with an Hidden annotation (without navProp) : the tableSelectionMode is Multi in Edition, None otherwise", function () {
631
+ var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, {
632
+ entitySet: "EntityWithBoundAction2OnTableWithHiddenExp",
633
+ converterType: TemplateType.ObjectPage
634
+ });
635
+ var result = getSelectionModeForTest(false, {
636
+ isDeletable: true,
637
+ isUpdatable: false
638
+ }, basicContext_OP, "@com.sap.vocabularies.UI.v1.LineItem");
639
+ expect(result).toEqual("{= %{ui>/editMode} === 'Editable' ? 'Multi' : 'None'}");
640
+ });
641
+ it("If the OP is not deletable and its table has 1 always visible Bound Action but bound on a different context from the table one : the tableSelectionMode is Multi in Edition, None otherwise", function () {
642
+ var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, {
643
+ entitySet: "EntityWithBoundActionNotBoundOnTheTable",
644
+ converterType: TemplateType.ObjectPage
645
+ });
646
+ var result = getSelectionModeForTest(false, {
647
+ isDeletable: false,
648
+ isUpdatable: false
649
+ }, basicContext_OP, "_Partner/@com.sap.vocabularies.UI.v1.LineItem");
650
+ expect(result).toEqual("None");
651
+ });
652
+ it("If the OP is deletable and its table has a mix of visible actions with Hidden and visible binding exp with nav property", function () {
653
+ var manifestSettings = {
654
+ entitySet: "EntityWithMultipleActionsWithBindingExp",
655
+ converterType: TemplateType.ObjectPage,
656
+ controlConfiguration: {
657
+ "_Item/@com.sap.vocabularies.UI.v1.LineItem": {
658
+ tableSettings: {
659
+ enableExport: false
660
+ },
661
+ actions: {
662
+ "Action1": {
663
+ press: "xx",
664
+ visible: "{= ${ui>/editMode} === 'Editable' }",
665
+ enabled: "true",
666
+ text: "Custom Action1",
667
+ enableOnSelect: "xx",
668
+ requiresSelection: true
669
+ },
670
+ "Action2": {
671
+ press: "xx",
672
+ visible: "{= %{OverallSDProcessStatus} === 'B' }",
673
+ enabled: "true",
674
+ text: "Custom Action2",
675
+ enableOnSelect: "xx",
676
+ requiresSelection: true
677
+ }
678
+ }
679
+ }
680
+ }
681
+ };
682
+ var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, manifestSettings);
683
+ var dataModelObjectPath = basicContext_OP.getDataModelObjectPath();
684
+ dataModelObjectPath.targetObject._type = "NavigationProperty";
685
+ dataModelObjectPath.targetObject.partner = "owner";
686
+ var result = getSelectionModeForTest(false, {
687
+ isDeletable: true,
688
+ isUpdatable: false
689
+ }, basicContext_OP, "_Item/@com.sap.vocabularies.UI.v1.LineItem");
690
+ expect(result).toEqual("{= %{ui>/editMode} === 'Editable' ? 'Multi' : ((%{Hidden1} === false || %{Hidden2} === false || ( ${ui>/editMode} === 'Editable' ) || ( %{OverallSDProcessStatus} === 'B' )) ? 'Multi' : 'None')}");
691
+ });
692
+ });
693
+ describe("Show counts in table title", function () {
694
+ it("Default Value", {
695
+ "references": [{
696
+ "type": "Jira",
697
+ "ID": "FIORITECHP1-20353"
698
+ }]
699
+ }, function () {
700
+ var manifestSettings = {
701
+ entitySet: "TestEntity",
702
+ converterType: TemplateType.ListReport
703
+ };
704
+ var tableConfiguration = getTableConfigurationForTest(manifestSettings);
705
+ expect(tableConfiguration.showRowCount).toBe(true);
706
+ });
707
+ it("Show Counts set to true", {
708
+ "references": [{
709
+ "type": "Jira",
710
+ "ID": "FIORITECHP1-20353"
711
+ }]
712
+ }, function () {
713
+ var manifestSettings = {
714
+ entitySet: "TestEntity",
715
+ converterType: TemplateType.ListReport,
716
+ controlConfiguration: {
717
+ "@com.sap.vocabularies.UI.v1.LineItem": {
718
+ tableSettings: {
719
+ quickVariantSelection: {
720
+ showCounts: true,
721
+ paths: [{
722
+ annotationPath: "annotationString"
723
+ }]
724
+ }
725
+ }
726
+ }
727
+ }
728
+ };
729
+ var tableConfiguration = getTableConfigurationForTest(manifestSettings);
730
+ expect(tableConfiguration.showRowCount).toBe(false);
731
+ });
732
+ it("Show Counts set to false", {
733
+ "references": [{
734
+ "type": "Jira",
735
+ "ID": "FIORITECHP1-20353"
736
+ }]
737
+ }, function () {
738
+ var manifestSettings = {
739
+ entitySet: "TestEntity",
740
+ converterType: TemplateType.ListReport,
741
+ controlConfiguration: {
742
+ "@com.sap.vocabularies.UI.v1.LineItem": {
743
+ tableSettings: {
744
+ quickVariantSelection: {
745
+ showCounts: false,
746
+ paths: [{
747
+ annotationPath: "annotationString"
748
+ }]
749
+ }
750
+ }
751
+ }
752
+ }
753
+ };
754
+ var tableConfiguration = getTableConfigurationForTest(manifestSettings);
755
+ expect(tableConfiguration.showRowCount).toBe(true);
756
+ });
757
+ });
758
+ describe("Condensed Layout", function () {
759
+ it("Default Value", function () {
760
+ var manifestSettings = {
761
+ entitySet: "TestEntity",
762
+ converterType: TemplateType.ListReport
763
+ };
764
+ var tableConfiguration = getTableConfigurationForTest(manifestSettings);
765
+ expect(tableConfiguration.useCondensedTableLayout).toBe(false);
766
+ manifestSettings.converterType = TemplateType.ObjectPage;
767
+ var tableConfigurationOP = getTableConfigurationForTest(manifestSettings);
768
+ expect(tableConfigurationOP.useCondensedTableLayout).toBe(false);
769
+ });
770
+ it("Manifest Forces to true", function () {
771
+ var manifestSettings = {
772
+ entitySet: "TestEntity",
773
+ converterType: TemplateType.ListReport,
774
+ controlConfiguration: {
775
+ "@com.sap.vocabularies.UI.v1.LineItem": {
776
+ tableSettings: {
777
+ condensedTableLayout: true
778
+ }
779
+ }
780
+ }
781
+ }; // Even if defined, the value should be used only in cases where the setting is compatible
782
+
783
+ var tableConfiguration = getTableConfigurationForTest(manifestSettings);
784
+ expect(tableConfiguration.useCondensedTableLayout).toBe(false);
785
+ manifestSettings.converterType = TemplateType.ObjectPage;
786
+ var tableConfigurationOP = getTableConfigurationForTest(manifestSettings);
787
+ expect(tableConfigurationOP.useCondensedTableLayout).toBe(false); // In a Condensed Layout Compliant Setting, the value should be true
788
+
789
+ manifestSettings.converterType = TemplateType.ListReport;
790
+ var tableConfigurationCL = getTableConfigurationForTest(manifestSettings, true);
791
+ expect(tableConfigurationCL.useCondensedTableLayout).toBe(true);
792
+ manifestSettings.converterType = TemplateType.ObjectPage;
793
+ var tableConfigurationCLOP = getTableConfigurationForTest(manifestSettings, true);
794
+ expect(tableConfigurationCLOP.useCondensedTableLayout).toBe(true);
795
+ });
796
+ it("Manifest Forces to true in incorrect setting from manifest", function () {
797
+ var manifestSettings = {
798
+ entitySet: "TestEntity",
799
+ converterType: TemplateType.ListReport,
800
+ controlConfiguration: {
801
+ "@com.sap.vocabularies.UI.v1.LineItem": {
802
+ tableSettings: {
803
+ condensedTableLayout: true
804
+ }
805
+ }
806
+ },
807
+ contentDensities: {
808
+ cozy: true,
809
+ compact: false
810
+ }
811
+ }; // In a Condensed Layout Compliant Setting, the value should be true
812
+
813
+ var tableConfigurationCL = getTableConfigurationForTest(manifestSettings, true);
814
+ expect(tableConfigurationCL.useCondensedTableLayout).toBe(false);
815
+ manifestSettings.converterType = TemplateType.ObjectPage;
816
+ var tableConfigurationCLOP = getTableConfigurationForTest(manifestSettings, true);
817
+ expect(tableConfigurationCLOP.useCondensedTableLayout).toBe(false);
818
+ });
819
+ it("Manifest Forces to true in incorrect setting from environment", function () {
820
+ var manifestSettings = {
821
+ entitySet: "TestEntity",
822
+ converterType: TemplateType.ListReport,
823
+ controlConfiguration: {
824
+ "@com.sap.vocabularies.UI.v1.LineItem": {
825
+ tableSettings: {
826
+ condensedTableLayout: true
827
+ }
828
+ }
829
+ }
830
+ }; // In a Condensed Layout Compliant Setting, the value should be true
831
+
832
+ var tableConfigurationCL = getTableConfigurationForTest(manifestSettings, true, "cozy");
833
+ expect(tableConfigurationCL.useCondensedTableLayout).toBe(false);
834
+ manifestSettings.converterType = TemplateType.ObjectPage;
835
+ var tableConfigurationCLOP = getTableConfigurationForTest(manifestSettings, true, "cozy");
836
+ expect(tableConfigurationCLOP.useCondensedTableLayout).toBe(false);
837
+ });
838
+ });
839
+ describe("Table Type", function () {
840
+ var getTableConfigurationForAnalyticalTest = function (manifestSettings) {
841
+ var _basicContext$getEnti3;
842
+
843
+ var converterOutput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : convertedTypes;
844
+ var tableType = arguments.length > 2 ? arguments[2] : undefined;
845
+ var basicContext = getConverterContextForTest(converterOutput, manifestSettings);
846
+ basicContext.getManifestControlConfiguration("@com.sap.vocabularies.UI.v1.LineItem").tableSettings.type = (tableType === null || tableType === void 0 ? void 0 : tableType.type) || undefined;
847
+ return getTableManifestConfiguration((_basicContext$getEnti3 = basicContext.getEntityType().annotations.UI) === null || _basicContext$getEnti3 === void 0 ? void 0 : _basicContext$getEnti3.LineItem, "@com.sap.vocabularies.UI.v1.LineItem", basicContext);
848
+ };
849
+
850
+ it("If not specified, the default table type on an ALP template is 'AnalyticalTable' on a desktop when the service is Analytical compliant", function () {
851
+ var manifestSettings = {
852
+ entitySet: "TestEntity",
853
+ converterType: TemplateType.ListReport,
854
+ controlConfiguration: {
855
+ "@com.sap.vocabularies.UI.v1.LineItem": {
856
+ tableSettings: {
857
+ condensedTableLayout: true
858
+ }
859
+ }
860
+ },
861
+ isDesktop: true
862
+ };
863
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService);
864
+ expect(tableConfigurationALP.type).toEqual("AnalyticalTable");
865
+ });
866
+ it("If not specified, the default table type on an ListReport template is 'AnalyticalTable' on a desktop when the service is Analytical compliant", function () {
867
+ var manifestSettings = {
868
+ entitySet: "TestEntity",
869
+ converterType: TemplateType.ListReport,
870
+ controlConfiguration: {
871
+ "@com.sap.vocabularies.UI.v1.LineItem": {
872
+ tableSettings: {
873
+ condensedTableLayout: true
874
+ }
875
+ }
876
+ },
877
+ isDesktop: true
878
+ };
879
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService);
880
+ expect(tableConfigurationALP.type).toEqual("AnalyticalTable");
881
+ });
882
+ it("If not specified, the default table type is 'ResponsiveTable' for an ALP template on a desktop when the service is NOT Analytical compliant", function () {
883
+ var manifestSettings = {
884
+ entitySet: "TestEntity",
885
+ converterType: TemplateType.ListReport,
886
+ controlConfiguration: {
887
+ "@com.sap.vocabularies.UI.v1.LineItem": {
888
+ tableSettings: {
889
+ condensedTableLayout: true
890
+ }
891
+ }
892
+ },
893
+ isDesktop: true
894
+ };
895
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypes);
896
+ expect(tableConfigurationALP.type).toEqual("ResponsiveTable");
897
+ });
898
+ it("If not specified, the default table type is 'ResponsiveTable' for a LR template on a desktop when the service is NOT Analytical compliant", function () {
899
+ var manifestSettings = {
900
+ entitySet: "TestEntity",
901
+ converterType: TemplateType.ListReport,
902
+ controlConfiguration: {
903
+ "@com.sap.vocabularies.UI.v1.LineItem": {
904
+ tableSettings: {
905
+ condensedTableLayout: true
906
+ }
907
+ }
908
+ },
909
+ isDesktop: false
910
+ };
911
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypes);
912
+ expect(tableConfigurationALP.type).toEqual("ResponsiveTable");
913
+ });
914
+ it("If not specified, the default table type on an ALP template is 'ResponsiveTable' on a mobile/tablet device no matter the service", function () {
915
+ var manifestSettings = {
916
+ entitySet: "TestEntity",
917
+ converterType: TemplateType.ListReport,
918
+ controlConfiguration: {
919
+ "@com.sap.vocabularies.UI.v1.LineItem": {
920
+ tableSettings: {
921
+ condensedTableLayout: true
922
+ }
923
+ }
924
+ },
925
+ isDesktop: false
926
+ };
927
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService);
928
+ expect(tableConfigurationALP.type).toEqual("ResponsiveTable");
929
+ });
930
+ it("If not specified, the default table type on a LR template is 'ResponsiveTable' on a mobile/tablet device no matter the service", function () {
931
+ var manifestSettings = {
932
+ entitySet: "TestEntity",
933
+ converterType: TemplateType.ListReport,
934
+ controlConfiguration: {
935
+ "@com.sap.vocabularies.UI.v1.LineItem": {
936
+ tableSettings: {
937
+ condensedTableLayout: true
938
+ }
939
+ }
940
+ },
941
+ isDesktop: false
942
+ };
943
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService);
944
+ expect(tableConfigurationALP.type).toEqual("ResponsiveTable");
945
+ });
946
+ it("If the tableType is set to AnalyticalTable on an APL template, but the service is NOT Analytical compliant, the tableType is forced to 'GridTable'", function () {
947
+ var manifestSettings = {
948
+ converterType: TemplateType.ListReport,
949
+ entitySet: "TestEntity",
950
+ controlConfiguration: {
951
+ "@com.sap.vocabularies.UI.v1.LineItem": {
952
+ tableSettings: {
953
+ condensedTableLayout: true
954
+ }
955
+ }
956
+ },
957
+ isDesktop: true
958
+ };
959
+ var tableType = {
960
+ type: "AnalyticalTable"
961
+ };
962
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypes, tableType);
963
+ expect(tableConfigurationALP.type).toEqual("GridTable");
964
+ });
965
+ it("If the tableType is set to AnalyticalTable on a LR template, but the service is NOT Analytical compliant, the tableType is forced to 'GridTable'", function () {
966
+ var manifestSettings = {
967
+ converterType: TemplateType.ListReport,
968
+ entitySet: "TestEntity",
969
+ controlConfiguration: {
970
+ "@com.sap.vocabularies.UI.v1.LineItem": {
971
+ tableSettings: {
972
+ condensedTableLayout: true
973
+ }
974
+ }
975
+ },
976
+ isDesktop: true
977
+ };
978
+ var tableType = {
979
+ type: "AnalyticalTable"
980
+ };
981
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypes, tableType);
982
+ expect(tableConfigurationALP.type).toEqual("GridTable");
983
+ });
984
+ it("If the tableType is set to AnalyticalTable on an ALP template, with a service Analytical compliant, the tableType is 'AnalyticalTable'", function () {
985
+ var manifestSettings = {
986
+ converterType: TemplateType.ListReport,
987
+ entitySet: "TestEntity",
988
+ controlConfiguration: {
989
+ "@com.sap.vocabularies.UI.v1.LineItem": {
990
+ tableSettings: {
991
+ condensedTableLayout: true
992
+ }
993
+ }
994
+ },
995
+ isDesktop: true
996
+ };
997
+ var tableType = {
998
+ type: "AnalyticalTable"
999
+ };
1000
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService, tableType);
1001
+ expect(tableConfigurationALP.type).toEqual("AnalyticalTable");
1002
+ });
1003
+ it("If the tableType is set to AnalyticalTable on a LR template, with a service Analytical compliant, the tableType is 'AnalyticalTable'", function () {
1004
+ var manifestSettings = {
1005
+ converterType: TemplateType.ListReport,
1006
+ entitySet: "TestEntity",
1007
+ controlConfiguration: {
1008
+ "@com.sap.vocabularies.UI.v1.LineItem": {
1009
+ tableSettings: {
1010
+ condensedTableLayout: true
1011
+ }
1012
+ }
1013
+ },
1014
+ isDesktop: true
1015
+ };
1016
+ var tableType = {
1017
+ type: "AnalyticalTable"
1018
+ };
1019
+ var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService, tableType);
1020
+ expect(tableConfigurationALP.type).toEqual("AnalyticalTable");
1021
+ });
1022
+ });
1023
+ describe("TableConverter #getTableActions", function () {
1024
+ it("can retrieve basic actions", function () {
1025
+ var _converterContext$get;
1026
+
1027
+ var converterContext = getConverterContextForTest(convertedTypes, {
1028
+ converterType: TemplateType.ObjectPage,
1029
+ entitySet: "TestEntity"
1030
+ });
1031
+ var headerActions = getTableActions(((_converterContext$get = converterContext.getEntityType().annotations) === null || _converterContext$get === void 0 ? void 0 : _converterContext$get.UI)["LineItem#WithActions"], "com.sap.vocabularies.UI.v1.LineItem" + "#WithActions", converterContext);
1032
+ expect(headerActions.length).toEqual(1);
1033
+ expect(headerActions[0].type).toEqual("ForAction");
1034
+ expect(headerActions[0].key).toEqual("DataFieldForAction::sap.fe.test.JestService.nonDetermining");
1035
+ expect(headerActions[0].isNavigable).toEqual(true);
1036
+ expect(headerActions[0].enabled).toEqual(undefined);
1037
+ expect(headerActions[0].enableOnSelect).toEqual(undefined);
1038
+ expect(headerActions[0].enableAutoScroll).toEqual(undefined);
1039
+ });
1040
+ it("can override basic actions", function () {
1041
+ var _converterContext$get2;
1042
+
1043
+ var converterContext = getConverterContextForTest(convertedTypes, {
1044
+ converterType: TemplateType.ObjectPage,
1045
+ entitySet: "TestEntity",
1046
+ controlConfiguration: {
1047
+ "@com.sap.vocabularies.UI.v1.LineItem#WithActions": {
1048
+ actions: {
1049
+ "DataFieldForAction::sap.fe.test.JestService.nonDetermining": {
1050
+ enabled: "{ui>/isEditable}",
1051
+ enableOnSelect: "true",
1052
+ afterExecution: {
1053
+ enableAutoScroll: true,
1054
+ navigateToInstance: false
1055
+ }
1056
+ }
1057
+ }
1058
+ }
1059
+ }
1060
+ });
1061
+ var headerActions = getTableActions(((_converterContext$get2 = converterContext.getEntityType().annotations) === null || _converterContext$get2 === void 0 ? void 0 : _converterContext$get2.UI)["LineItem#WithActions"], "@" + "com.sap.vocabularies.UI.v1.LineItem" + "#WithActions", converterContext);
1062
+ expect(headerActions.length).toEqual(1);
1063
+ expect(headerActions[0].type).toEqual("ForAction");
1064
+ expect(headerActions[0].key).toEqual("DataFieldForAction::sap.fe.test.JestService.nonDetermining");
1065
+ expect(headerActions[0].isNavigable).toEqual(false);
1066
+ expect(headerActions[0].enabled).toEqual("{ui>/isEditable}");
1067
+ expect(headerActions[0].enableOnSelect).toEqual("true");
1068
+ expect(headerActions[0].enableAutoScroll).toEqual(true);
1069
+ });
1070
+ it("can add custom actions", {
1071
+ "references": [{
1072
+ "type": "BCP",
1073
+ "ID": "2180071284"
1074
+ }, {
1075
+ "type": "JIRA",
1076
+ "ID": "FIORITECHP1-16808"
1077
+ }]
1078
+ }, function () {
1079
+ var _converterContext$get3;
1080
+
1081
+ var converterContext = getConverterContextForTest(convertedTypes, {
1082
+ converterType: TemplateType.ObjectPage,
1083
+ entitySet: "TestEntity",
1084
+ controlConfiguration: {
1085
+ "@com.sap.vocabularies.UI.v1.LineItem#WithActions": {
1086
+ actions: {
1087
+ "customTableAction": {
1088
+ "press": "SalesOrder.custom.CustomActions.alert",
1089
+ "text": "Alert",
1090
+ "position": {
1091
+ "placement": Placement.After,
1092
+ "anchor": "customTableAction2"
1093
+ }
1094
+ },
1095
+ "customTableAction2": {
1096
+ "press": "SalesOrder.custom.CustomActions.accountDetails",
1097
+ "enabled": "{ui>/isEditable}",
1098
+ "text": "Display account details",
1099
+ "position": {
1100
+ "placement": Placement.Before,
1101
+ "anchor": "DataFieldForAction::sap.fe.test.JestService.nonDetermining"
1102
+ }
1103
+ }
1104
+ }
1105
+ }
1106
+ }
1107
+ });
1108
+ var headerActions = getTableActions(((_converterContext$get3 = converterContext.getEntityType().annotations) === null || _converterContext$get3 === void 0 ? void 0 : _converterContext$get3.UI)["LineItem#WithActions"], "@" + "com.sap.vocabularies.UI.v1.LineItem" + "#WithActions", converterContext);
1109
+ expect(headerActions.length).toEqual(3);
1110
+ expect(headerActions[2].type).toEqual("ForAction");
1111
+ expect(headerActions[2].key).toEqual("DataFieldForAction::sap.fe.test.JestService.nonDetermining");
1112
+ });
1113
+ });
1114
+ describe("TableConverter #getTableColumns", function () {
1115
+ it("can get the basic columns defined in the annotation", function () {
1116
+ var _converterContext$get4;
1117
+
1118
+ var converterContext = getConverterContextForTest(convertedTypes, {
1119
+ converterType: TemplateType.ObjectPage,
1120
+ entitySet: "TestEntity"
1121
+ });
1122
+ var columns = getTableColumns(((_converterContext$get4 = converterContext.getEntityType().annotations) === null || _converterContext$get4 === void 0 ? void 0 : _converterContext$get4.UI)["LineItem"], "@" + "com.sap.vocabularies.UI.v1.LineItem", converterContext, {});
1123
+ expect(columns.length).toBe(7);
1124
+ expect(columns[0].key).toBe("DataField::IsActiveEntity");
1125
+ expect(columns[3].key).toBe("DataField::ID");
1126
+ expect(columns[3].width).toBe(undefined);
1127
+ expect(columns[4].key).toBe("DataField::name");
1128
+ expect(columns[6].key).toBe("Property::name");
1129
+ });
1130
+ it("can also merge column with the ones defined in the manifest", {
1131
+ "references": [{
1132
+ "type": "BCP",
1133
+ "ID": "2180071284"
1134
+ }, {
1135
+ "type": "JIRA",
1136
+ "ID": "FIORITECHP1-16808"
1137
+ }]
1138
+ }, function () {
1139
+ var _converterContext$get5;
1140
+
1141
+ var converterContext = getConverterContextForTest(convertedTypes, {
1142
+ converterType: TemplateType.ObjectPage,
1143
+ entitySet: "TestEntity",
1144
+ controlConfiguration: {
1145
+ "@com.sap.vocabularies.UI.v1.LineItem": {
1146
+ columns: {
1147
+ "CustomColumnRating": {
1148
+ "header": "Custom Rating",
1149
+ "width": "10em",
1150
+ "horizontalAlign": HorizontalAlign.End,
1151
+ "position": {
1152
+ "placement": Placement.After,
1153
+ "anchor": "DataField::ID"
1154
+ },
1155
+ "template": "SalesOrder.custom.CustomColumnRating"
1156
+ },
1157
+ "CustomColumnButton": {
1158
+ "header": "Custom Button",
1159
+ "width": "10em",
1160
+ "position": {
1161
+ "placement": Placement.After,
1162
+ "anchor": "CustomColumnRating"
1163
+ },
1164
+ "template": "SalesOrder.custom.CustomColumnButton"
1165
+ },
1166
+ "CustomColumnSoldToParty": {
1167
+ "header": "Custom Sold-To Party",
1168
+ "width": "15em",
1169
+ "horizontalAlign": HorizontalAlign.Center,
1170
+ "position": {
1171
+ "placement": Placement.After,
1172
+ "anchor": "CustomColumnButton"
1173
+ },
1174
+ "template": "SalesOrder.custom.CustomColumnSoldToParty"
1175
+ },
1176
+ "CustomColumnFixedText": {
1177
+ "header": "Custom Fixed Text",
1178
+ "width": "10em",
1179
+ "horizontalAlign": HorizontalAlign.End,
1180
+ "position": {
1181
+ "placement": Placement.After,
1182
+ "anchor": "CustomColumnSoldToParty"
1183
+ },
1184
+ "template": "SalesOrder.custom.CustomColumnFixedText"
1185
+ },
1186
+ "DataField::ID": {
1187
+ "width": "20em"
1188
+ }
1189
+ }
1190
+ }
1191
+ }
1192
+ });
1193
+ var columns = getTableColumns(((_converterContext$get5 = converterContext.getEntityType().annotations) === null || _converterContext$get5 === void 0 ? void 0 : _converterContext$get5.UI)["LineItem"], "@" + "com.sap.vocabularies.UI.v1.LineItem", converterContext, {});
1194
+ expect(columns.length).toBe(11);
1195
+ expect(columns[0].key).toBe("DataField::IsActiveEntity");
1196
+ expect(columns[3].key).toBe("DataField::ID");
1197
+ expect(columns[3].width).toBe("20em");
1198
+ expect(columns[4].key).toBe("CustomColumnRating");
1199
+ expect(columns[5].key).toBe("CustomColumnButton");
1200
+ expect(columns[6].key).toBe("CustomColumnSoldToParty");
1201
+ expect(columns[7].key).toBe("CustomColumnFixedText");
1202
+ expect(columns[10].key).toBe("Property::name");
1203
+ });
1204
+ });
1205
+ }, false);
1206
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlLnNwZWMudHMiXSwibmFtZXMiOlsiY29udmVydGVkVHlwZXMiLCJjb252ZXJ0ZWRUeXBlc05vT2EiLCJjb252ZXJ0ZWRUeXBlc0FuYWx5dGljYWxTZXJ2aWNlIiwiY29udmVydGVkVHlwZXNPYVRydWUiLCJjb252ZXJ0ZWRUeXBlc09hRmFsc2UiLCJjb252ZXJ0ZWRUeXBlc1NlbGVjdGlvbk1vZGUiLCJiZWZvcmVBbGwiLCJzTWV0YWRhdGFVcmwiLCJjb21waWxlQ0RTIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJnZXRNZXRhTW9kZWwiLCJtZXRhTW9kZWwiLCJjb252ZXJ0VHlwZXMiLCJzTWV0YWRhdGFVcmxTZWxlY3Rpb25Nb2RlIiwibWV0YU1vZGVsU2VsZWN0aW9uTW9kZSIsInNNZXRhZGF0YVVybEFuYWx5dGljYWxTZXJ2aWNlIiwibWV0YU1vZGVsQW5hbHl0aWNhbFNlcnZpY2UiLCJzTWV0YWRhdGFVcmxOb09hIiwibWV0YU1vZGVsTm9PYSIsInNNZXRhZGF0YVVybE9hVHJ1ZSIsIm1ldGFNb2RlbE9hVHJ1ZSIsInNNZXRhZGF0YVVybE9hRmFsc2UiLCJtZXRhTW9kZWxPYUZhbHNlIiwiZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdCIsIm1hbmlmZXN0U2V0dGluZ3MiLCJpc0NvbmRlbnNlZExheW91dENvbXBsaWFudCIsInVzZXJDb250ZW50RGVuc2l0aWVzIiwiY29udmVydGVyT3V0cHV0Iiwic2hlbGxDb250ZW50RGVuc2l0eSIsImJhc2ljQ29udGV4dCIsImdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0IiwiZ2V0VGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb24iLCJnZXRFbnRpdHlUeXBlIiwiYW5ub3RhdGlvbnMiLCJVSSIsIkxpbmVJdGVtIiwiZGVzY3JpYmUiLCJpdCIsInRhYmxlQ29uZmlndXJhdGlvbiIsImVudGl0eVNldCIsImNvbnZlcnRlclR5cGUiLCJUZW1wbGF0ZVR5cGUiLCJMaXN0UmVwb3J0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidHlwZSIsImNvbnRyb2xDb25maWd1cmF0aW9uIiwidGFibGVTZXR0aW5ncyIsInRvRXF1YWwiLCJlbmFibGVFeHBvcnQiLCJ0b0JlIiwiT2JqZWN0UGFnZSIsInRhYmxlQ29uZmlndXJhdGlvbk9QIiwibm9QYXN0ZU1hbmlmZXN0U2V0dGluZ3MiLCJlbmFibGVQYXN0ZSIsInRhYmxlQ29uZmlndXJhdGlvbk5vUGFzdGUiLCJ0YWJsZUNvbmZpZ3VyYXRpb25Ob1Bhc3RlT1AiLCJtdWx0aVNlbGVjdE1vZGUiLCJzZWxlY3RBbGwiLCJzZWN0aW9uTGF5b3V0IiwiSVNfSU5TRVJUQUJMRV9GQUxTRSIsImNvbnN0YW50IiwiSVNfSU5TRVJUQUJMRV9UUlVFIiwiSVNfSU5TRVJUQUJMRV9EWU5BTUlDIiwiYmluZGluZ0V4cHJlc3Npb24iLCJCQVNJQ19DT05URVhUX0xSIiwiQkFTSUNfQ09OVEVYVF9PUCIsIkhJRERFTl9DT05URVhUX0xSIiwiSElEREVOX0NPTlRFWFRfT1AiLCJEWU5BTUlDX0hJRERFTl9DT05URVhUX0xSIiwiRFlOQU1JQ19ISURERU5fQ09OVEVYVF9PUCIsIk5FV19BQ1RJT05fTk9fT0EiLCJORVdfQUNUSU9OX09BX1RSVUUiLCJORVdfQUNUSU9OX09BX0ZBTFNFIiwiY29tcGlsZUJpbmRpbmciLCJnZXRDcmVhdGVWaXNpYmxlIiwiQ3JlYXRpb25Nb2RlIiwiQ3JlYXRpb25Sb3ciLCJJc0VkaXRhYmxlIiwiQkFTSUNfQ09OVEVYVF9PUF9VUERBVEVISURERU4iLCJCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTjEiLCJCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTl9QQVRIIiwidGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25XaXRoTWFzc0VkaXQiLCJlbmFibGVNYXNzRWRpdCIsInRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aG91dE1hc3NFZGl0IiwidGFibGVDb25mV2l0aE1hc3NFZGl0U2VsZWN0aW9uTGltaXQiLCJzZWxlY3Rpb25MaW1pdCIsImdldFZpc2liaWxpdHlNYXNzRWRpdCIsImlzVXBkYXRhYmxlIiwiaXNEZWxldGFibGUiLCJ1bmRlZmluZWQiLCJCQVNJQ19DT05URVhUX09QX1BBVEhfQkFTRURfVVBEQVRFX1JFU1RSSUNUSU9OIiwiQkFTSUNfQ09OVEVYVF9PUF9TVEFUSUNfVVBEQVRFX1JFU1RSSUNUSU9OIiwiZ2V0RW5hYmxlbWVudE1hc3NFZGl0IiwiZ2V0U2VsZWN0aW9uTW9kZUZvclRlc3QiLCJpc0VudGl0eVNldCIsInRhcmdldENhcGFiaWxpdGllcyIsInZpc3VhbGl6YXRpb25QYXRoIiwiZ2V0U2VsZWN0aW9uTW9kZSIsImJhc2ljQ29udGV4dF9MUiIsInJlc3VsdCIsImFjdGlvbnMiLCJwcmVzcyIsInZpc2libGUiLCJlbmFibGVkIiwidGV4dCIsImVuYWJsZU9uU2VsZWN0IiwicmVxdWlyZXNTZWxlY3Rpb24iLCJiYXNpY0NvbnRleHRfT1AiLCJkYXRhTW9kZWxPYmplY3RQYXRoIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsInRhcmdldE9iamVjdCIsIl90eXBlIiwicGFydG5lciIsInNob3dSb3dDb3VudCIsInF1aWNrVmFyaWFudFNlbGVjdGlvbiIsInNob3dDb3VudHMiLCJwYXRocyIsImFubm90YXRpb25QYXRoIiwidXNlQ29uZGVuc2VkVGFibGVMYXlvdXQiLCJjb25kZW5zZWRUYWJsZUxheW91dCIsInRhYmxlQ29uZmlndXJhdGlvbkNMIiwidGFibGVDb25maWd1cmF0aW9uQ0xPUCIsImNvbnRlbnREZW5zaXRpZXMiLCJjb3p5IiwiY29tcGFjdCIsImdldFRhYmxlQ29uZmlndXJhdGlvbkZvckFuYWx5dGljYWxUZXN0IiwidGFibGVUeXBlIiwiZ2V0TWFuaWZlc3RDb250cm9sQ29uZmlndXJhdGlvbiIsImlzRGVza3RvcCIsInRhYmxlQ29uZmlndXJhdGlvbkFMUCIsImNvbnZlcnRlckNvbnRleHQiLCJoZWFkZXJBY3Rpb25zIiwiZ2V0VGFibGVBY3Rpb25zIiwibGVuZ3RoIiwia2V5IiwiaXNOYXZpZ2FibGUiLCJlbmFibGVBdXRvU2Nyb2xsIiwiYWZ0ZXJFeGVjdXRpb24iLCJuYXZpZ2F0ZVRvSW5zdGFuY2UiLCJQbGFjZW1lbnQiLCJBZnRlciIsIkJlZm9yZSIsImNvbHVtbnMiLCJnZXRUYWJsZUNvbHVtbnMiLCJ3aWR0aCIsIkhvcml6b250YWxBbGlnbiIsIkVuZCIsIkNlbnRlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkJBLE1BQUlBLGNBQUo7QUFDQSxNQUFJQyxrQkFBSjtBQUNBLE1BQUlDLCtCQUFKO0FBQ0EsTUFBSUMsb0JBQUo7QUFDQSxNQUFJQyxxQkFBSjtBQUNBLE1BQUlDLDJCQUFKO0FBRUFDLEVBQUFBLFNBQVM7QUFBQSxRQUFrQjtBQUMxQixVQUFNQyxZQUFZLEdBQUdDLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsbUJBQXJCLENBQUQsQ0FBL0I7QUFEMEIsNkJBRUZDLFlBQVksQ0FBQ0wsWUFBRCxDQUZWLGlCQUVwQk0sU0FGb0I7QUFHMUJiLFFBQUFBLGNBQWMsR0FBR2MsWUFBWSxDQUFDRCxTQUFELENBQTdCO0FBRUEsWUFBTUUseUJBQXlCLEdBQUdQLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsbUNBQXJCLENBQUQsQ0FBNUM7QUFMMEIsK0JBTVdDLFlBQVksQ0FBQ0cseUJBQUQsQ0FOdkIsaUJBTXBCQyxzQkFOb0I7QUFPMUJYLFVBQUFBLDJCQUEyQixHQUFHUyxZQUFZLENBQUNFLHNCQUFELENBQTFDO0FBRUEsY0FBTUMsNkJBQTZCLEdBQUdULFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsK0JBQXJCLENBQUQsQ0FBaEQ7QUFUMEIsaUNBVWVDLFlBQVksQ0FBQ0ssNkJBQUQsQ0FWM0IsaUJBVXBCQywwQkFWb0I7QUFXMUJoQixZQUFBQSwrQkFBK0IsR0FBR1ksWUFBWSxDQUFDSSwwQkFBRCxDQUE5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VmlzaWJsZSxcblx0Z2V0U2VsZWN0aW9uTW9kZSxcblx0Z2V0VGFibGVBY3Rpb25zLFxuXHRnZXRUYWJsZUNvbHVtbnMsXG5cdGdldFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uLFxuXHRUYWJsZUNhcGFiaWxpdHlSZXN0cmljdGlvbixcblx0VGFibGVDb250cm9sQ29uZmlndXJhdGlvbixcblx0Z2V0VmlzaWJpbGl0eU1hc3NFZGl0LFxuXHRnZXRFbmFibGVtZW50TWFzc0VkaXRcbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgY29udmVydFR5cGVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgeyBjb21waWxlQ0RTLCBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdCwgZ2V0TWV0YU1vZGVsIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQge1xuXHRDcmVhdGlvbk1vZGUsXG5cdEhvcml6b250YWxBbGlnbixcblx0TGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3MsXG5cdFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uLFxuXHRUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uLFxuXHRUZW1wbGF0ZVR5cGVcbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHsgQ29udmVydGVyT3V0cHV0LCBMaW5lSXRlbSwgVUlBbm5vdGF0aW9uVGVybXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IGJpbmRpbmdFeHByZXNzaW9uLCBjb21waWxlQmluZGluZywgY29uc3RhbnQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgVUkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0JpbmRpbmdIZWxwZXJcIjtcbmltcG9ydCBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IFBsYWNlbWVudCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvQ29uZmlndXJhYmxlT2JqZWN0XCI7XG5pbXBvcnQgeyBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcblxubGV0IGNvbnZlcnRlZFR5cGVzOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgY29udmVydGVkVHlwZXNOb09hOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZTogQ29udmVydGVyT3V0cHV0O1xubGV0IGNvbnZlcnRlZFR5cGVzT2FUcnVlOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgY29udmVydGVkVHlwZXNPYUZhbHNlOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlOiBDb252ZXJ0ZXJPdXRwdXQ7XG5cbmJlZm9yZUFsbChhc3luYyBmdW5jdGlvbigpIHtcblx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uL2RhdGEvVGFibGUuY2RzXCIpKTtcblx0Y29uc3QgbWV0YU1vZGVsID0gYXdhaXQgZ2V0TWV0YU1vZGVsKHNNZXRhZGF0YVVybCk7XG5cdGNvbnZlcnRlZFR5cGVzID0gY29udmVydFR5cGVzKG1ldGFNb2RlbCk7XG5cblx0Y29uc3Qgc01ldGFkYXRhVXJsU2VsZWN0aW9uTW9kZSA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi9kYXRhL1RhYmxlR2V0U2VsZWN0aW9uTW9kZS5jZHNcIikpO1xuXHRjb25zdCBtZXRhTW9kZWxTZWxlY3Rpb25Nb2RlID0gYXdhaXQgZ2V0TWV0YU1vZGVsKHNNZXRhZGF0YVVybFNlbGVjdGlvbk1vZGUpO1xuXHRjb252ZXJ0ZWRUeXBlc1NlbGVjdGlvbk1vZGUgPSBjb252ZXJ0VHlwZXMobWV0YU1vZGVsU2VsZWN0aW9uTW9kZSk7XG5cblx0Y29uc3Qgc01ldGFkYXRhVXJsQW5hbHl0aWNhbFNlcnZpY2UgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGF0YS9BbmFseXRpY2FsU2VydmljZS5jZHNcIikpO1xuXHRjb25zdCBtZXRhTW9kZWxBbmFseXRpY2FsU2VydmljZSA9IGF3YWl0IGdldE1ldGFNb2RlbChzTWV0YWRhdGFVcmxBbmFseXRpY2FsU2VydmljZSk7XG5cdGNvbnZlcnRlZFR5cGVzQW5hbHl0aWNhbFNlcnZpY2UgPSBjb252ZXJ0VHlwZXMobWV0YU1vZGVsQW5hbHl0aWNhbFNlcnZpY2UpO1xuXG5cdGNvbnN0IHNNZXRhZGF0YVVybE5vT2EgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGF0YS9UYWJsZU5ld0FjdGlvbk5vT3BlcmF0aW9uQXZhaWxhYmxlLmNkc1wiKSk7XG5cdGNvbnN0IG1ldGFNb2RlbE5vT2EgPSBhd2FpdCBnZXRNZXRhTW9kZWwoc01ldGFkYXRhVXJsTm9PYSk7XG5cdGNvbnZlcnRlZFR5cGVzTm9PYSA9IGNvbnZlcnRUeXBlcyhtZXRhTW9kZWxOb09hKTtcblxuXHRjb25zdCBzTWV0YWRhdGFVcmxPYVRydWUgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGF0YS9UYWJsZU5ld0FjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZVRydWUuY2RzXCIpKTtcblx0Y29uc3QgbWV0YU1vZGVsT2FUcnVlID0gYXdhaXQgZ2V0TWV0YU1vZGVsKHNNZXRhZGF0YVVybE9hVHJ1ZSk7XG5cdGNvbnZlcnRlZFR5cGVzT2FUcnVlID0gY29udmVydFR5cGVzKG1ldGFNb2RlbE9hVHJ1ZSk7XG5cblx0Y29uc3Qgc01ldGFkYXRhVXJsT2FGYWxzZSA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi9kYXRhL1RhYmxlTmV3QWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlRmFsc2UuY2RzXCIpKTtcblx0Y29uc3QgbWV0YU1vZGVsT2FGYWxzZSA9IGF3YWl0IGdldE1ldGFNb2RlbChzTWV0YWRhdGFVcmxPYUZhbHNlKTtcblx0Y29udmVydGVkVHlwZXNPYUZhbHNlID0gY29udmVydFR5cGVzKG1ldGFNb2RlbE9hRmFsc2UpO1xufSk7XG5jb25zdCBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0ID0gKFxuXHRtYW5pZmVzdFNldHRpbmdzOiBMaXN0UmVwb3J0TWFuaWZlc3RTZXR0aW5ncyB8IE9iamVjdFBhZ2VNYW5pZmVzdFNldHRpbmdzLFxuXHRpc0NvbmRlbnNlZExheW91dENvbXBsaWFudDogYm9vbGVhbiA9IGZhbHNlLFxuXHR1c2VyQ29udGVudERlbnNpdGllczogc3RyaW5nID0gXCJjb21wYWN0XCIsXG5cdGNvbnZlcnRlck91dHB1dDogQ29udmVydGVyT3V0cHV0ID0gY29udmVydGVkVHlwZXNcbik6IFRhYmxlQ29udHJvbENvbmZpZ3VyYXRpb24gPT4ge1xuXHRtYW5pZmVzdFNldHRpbmdzLnNoZWxsQ29udGVudERlbnNpdHkgPSB1c2VyQ29udGVudERlbnNpdGllcztcblx0Y29uc3QgYmFzaWNDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVyT3V0cHV0LCBtYW5pZmVzdFNldHRpbmdzKTtcblx0cmV0dXJuIGdldFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uKFxuXHRcdGJhc2ljQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnMuVUk/LkxpbmVJdGVtLFxuXHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCIsXG5cdFx0YmFzaWNDb250ZXh0LFxuXHRcdGlzQ29uZGVuc2VkTGF5b3V0Q29tcGxpYW50XG5cdCk7XG59O1xuZGVzY3JpYmUoXCJUYWJsZSBDb252ZXJ0ZXIgLSAjZ2V0VGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb24gXCIsIGZ1bmN0aW9uKCkge1xuXHRpdChcIndvcmtzIHdpdGggYmFzaWMgY29uZmlndXJhdGlvblwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdCh7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLnR5cGUgPT09IFwiUmVzcG9uc2l2ZVRhYmxlXCIpO1xuXHR9KTtcblxuXHRpdChcIkluZmx1ZW5jZSB0aGUgdGFibGUgdHlwZVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdCh7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0dHlwZTogXCJHcmlkVGFibGVcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb24udHlwZSkudG9FcXVhbChcIkdyaWRUYWJsZVwiKTtcblx0fSk7XG5cblx0aXQoXCJFeHBvcnQgT3B0aW9uIERlZmF1bHRcIiwgKCkgPT4ge1xuXHRcdC8vIElmIGRlZmluZWQsIHRoZW4gdGhlIHZhbHVlIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgcHJvdmlkZWQgc2V0dGluZ1xuXHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9O1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbiA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5lbmFibGVFeHBvcnQpLnRvQmUodHJ1ZSk7XG5cdFx0bWFuaWZlc3RTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlID0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uT1AgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb25PUC5lbmFibGVFeHBvcnQpLnRvQmUodHJ1ZSk7XG5cdH0pO1xuXG5cdGl0KFwiSW5mbHVlbmNlIHRoZSBFeHBvcnQgT3B0aW9uXCIsICgpID0+IHtcblx0XHQvLyBJZiBkZWZpbmVkLCB0aGVuIHRoZSB2YWx1ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIHNldHRpbmdcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGVuYWJsZUV4cG9ydDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLmVuYWJsZUV4cG9ydCkudG9CZSh0cnVlKTtcblx0XHRtYW5pZmVzdFNldHRpbmdzLmNvbnZlcnRlclR5cGUgPSBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25PUCA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbk9QLmVuYWJsZUV4cG9ydCkudG9CZSh0cnVlKTtcblxuXHRcdGNvbnN0IG5vUGFzdGVNYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGVuYWJsZVBhc3RlOiBmYWxzZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uTm9QYXN0ZSA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3Qobm9QYXN0ZU1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb25Ob1Bhc3RlLmVuYWJsZUV4cG9ydCkudG9CZSh0cnVlKTtcblx0XHRub1Bhc3RlTWFuaWZlc3RTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlID0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uTm9QYXN0ZU9QID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChub1Bhc3RlTWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbk5vUGFzdGVPUC5lbmFibGVFeHBvcnQpLnRvQmUoZmFsc2UpO1xuXHR9KTtcblx0aXQoXCJEZWZhdWx0IGNoZWNrYm94IGlzICdEZXNlbGVjdCBBbGwnIGZvciBhIHJlc3BvbnNpdmUgVGFibGUgaW4gTFJcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbiA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3Qoe1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwiUmVzcG9uc2l2ZVRhYmxlXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLm11bHRpU2VsZWN0TW9kZSkudG9FcXVhbChcIkNsZWFyQWxsXCIpO1xuXHR9KTtcblx0aXQoXCJDaGVja2JveCBpcyAnU2VsZWN0IEFsbCcgZm9yIGEgcmVzcG9uc2l2ZSBUYWJsZSBpbiBMUiwgd2hlbiBzZWxlY3RBbGwgPSB0cnVlXCIsICgpID0+IHtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcIlJlc3BvbnNpdmVUYWJsZVwiLFxuXHRcdFx0XHRcdFx0c2VsZWN0QWxsOiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5tdWx0aVNlbGVjdE1vZGUpLnRvRXF1YWwoXCJEZWZhdWx0XCIpO1xuXHR9KTtcblx0aXQoXCJEZWZhdWx0IENoZWNrYm94IGlzICdEZXNlbGVjdCBBbGwnIGZvciByZXNwb25zaXZlIFRhYmxlcyBpbiBPUCwgd2l0aGluIHNlY3Rpb25zIHZpYSB0YWIgYmFyIChubyBhbmNob3IgYmFyKVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdCh7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UsXG5cdFx0XHRzZWN0aW9uTGF5b3V0OiBcIlRhYnNcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcIlJlc3BvbnNpdmVUYWJsZVwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5tdWx0aVNlbGVjdE1vZGUpLnRvRXF1YWwoXCJDbGVhckFsbFwiKTtcblx0fSk7XG5cdGl0KFwiRGVmYXVsdCBDaGVja2JveCBpcyAnU2VsZWN0IEFsbCcgZm9yIHJlc3BvbnNpdmUgVGFibGVzIGluIE9QLCB3aXRoaW4gc2VjdGlvbnMgdXNpbmcgdGhlIGFuY2hvciBiYXIpXCIsICgpID0+IHtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZSxcblx0XHRcdHNlY3Rpb25MYXlvdXQ6IFwiUGFnZVwiLFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwiUmVzcG9uc2l2ZVRhYmxlXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLm11bHRpU2VsZWN0TW9kZSkudG9FcXVhbChcIkRlZmF1bHRcIik7XG5cdH0pO1xuXHRpdChcIkNoZWNrYm94IGlzICdEZVNlbGVjdCBBbGwnIGZvciByZXNwb25zaXZlIFRhYmxlcyBpbiBPUCwgd2l0aGluIHNlY3Rpb25zIHVzaW5nIHRoZSBhbmNob3IgYmFyIHdoZW4gc2VsZWN0QWxsIGlzIHNldCB0byBmYWxzZSlcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbiA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3Qoe1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlLFxuXHRcdFx0c2VjdGlvbkxheW91dDogXCJQYWdlXCIsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0dHlwZTogXCJSZXNwb25zaXZlVGFibGVcIixcblx0XHRcdFx0XHRcdHNlbGVjdEFsbDogZmFsc2Vcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLm11bHRpU2VsZWN0TW9kZSkudG9FcXVhbChcIkNsZWFyQWxsXCIpO1xuXHR9KTtcbn0pO1xuXG5kZXNjcmliZShcIlRhYmxlIENvbnZlcnRlciAtICNnZXRDcmVhdGVWaXNpYmxlIFwiLCBmdW5jdGlvbigpIHtcblx0Y29uc3QgSVNfSU5TRVJUQUJMRV9GQUxTRSA9IGNvbnN0YW50KGZhbHNlKTtcblx0Y29uc3QgSVNfSU5TRVJUQUJMRV9UUlVFID0gY29uc3RhbnQodHJ1ZSk7XG5cdGNvbnN0IElTX0lOU0VSVEFCTEVfRFlOQU1JQyA9IGJpbmRpbmdFeHByZXNzaW9uKFwiU29tZUR5bmFtaWNFeHByZXNzaW9uXCIpO1xuXHRsZXQgQkFTSUNfQ09OVEVYVF9MUjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEJBU0lDX0NPTlRFWFRfT1A6IENvbnZlcnRlckNvbnRleHQ7XG5cdGxldCBISURERU5fQ09OVEVYVF9MUjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEhJRERFTl9DT05URVhUX09QOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgRFlOQU1JQ19ISURERU5fQ09OVEVYVF9MUjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IERZTkFNSUNfSElEREVOX0NPTlRFWFRfT1A6IENvbnZlcnRlckNvbnRleHQ7XG5cdGxldCBORVdfQUNUSU9OX05PX09BOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgTkVXX0FDVElPTl9PQV9UUlVFOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgTkVXX0FDVElPTl9PQV9GQUxTRTogQ29udmVydGVyQ29udGV4dDtcblxuXHRiZWZvcmVBbGwoZnVuY3Rpb24oKSB7XG5cdFx0QkFTSUNfQ09OVEVYVF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7IGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsIGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0IH0pO1xuXHRcdEJBU0lDX0NPTlRFWFRfT1AgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywgeyBlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLCBjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZSB9KTtcblx0XHRISURERU5fQ09OVEVYVF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiQ3JlYXRlSGlkZGVuRW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdEhJRERFTl9DT05URVhUX09QID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGVudGl0eVNldDogXCJDcmVhdGVIaWRkZW5FbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlXG5cdFx0fSk7XG5cdFx0RFlOQU1JQ19ISURERU5fQ09OVEVYVF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiQ3JlYXRlSGlkZGVuRHluYW1pY0VudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0XHREWU5BTUlDX0hJRERFTl9DT05URVhUX09QID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGVudGl0eVNldDogXCJDcmVhdGVIaWRkZW5EeW5hbWljRW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHRcdE5FV19BQ1RJT05fTk9fT0EgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlc05vT2EsIHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdE5FV19BQ1RJT05fT0FfVFJVRSA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzT2FUcnVlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0XHRORVdfQUNUSU9OX09BX0ZBTFNFID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNPYUZhbHNlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0fSk7XG5cblx0aXQoXCJJZiBpdCdzIHN0YXRpY2FsbHkgbm90IGluc2VydGFibGUgLT4gY3JlYXRlIGlzIG5vdCB2aXNpYmxlXCIsICgpID0+IHtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRkFMU0UpKSkudG9FcXVhbChcImZhbHNlXCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKEJBU0lDX0NPTlRFWFRfTFIsIFwiRXh0ZXJuYWxcIiwgSVNfSU5TRVJUQUJMRV9GQUxTRSkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9PUCwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX0ZBTFNFKSkpLnRvRXF1YWwoXCJmYWxzZVwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX09QLCBcIkV4dGVybmFsXCIsIElTX0lOU0VSVEFCTEVfRkFMU0UpKSkudG9FcXVhbChcImZhbHNlXCIpO1xuXHR9KTtcblxuXHRpdChcIklmIGNyZWF0ZSBpcyBzdGF0aWNhbGx5IGhpZGRlbiAtPiBjcmVhdGUgaXMgbm90IHZpc2libGVcIiwgKCkgPT4ge1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKEhJRERFTl9DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoSElEREVOX0NPTlRFWFRfTFIsIFwiRXh0ZXJuYWxcIiwgSVNfSU5TRVJUQUJMRV9UUlVFKSkpLnRvRXF1YWwoXCJmYWxzZVwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShISURERU5fQ09OVEVYVF9PUCwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcImZhbHNlXCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKEhJRERFTl9DT05URVhUX09QLCBcIkV4dGVybmFsXCIsIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdH0pO1xuXG5cdGl0KFwiT3RoZXJ3aXNlIGlmIHRoZSBjcmVhdGUgbW9kZSBpcyBleHRlcm5hbCAtPiBjcmVhdGUgaXMgdmlzaWJsZVwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9MUiwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9PUCwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9MUiwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX0RZTkFNSUMpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9PUCwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX0RZTkFNSUMpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9MUiwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9PUCwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9MUiwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX0RZTkFNSUMpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9PUCwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX0RZTkFNSUMpKSkudG9FcXVhbChcInRydWVcIik7XG5cdH0pO1xuXG5cdGl0KFwiSWYgd2UncmUgb24gdGhlIGxpc3QgcmVwb3J0IC0+IGNyZWF0ZSBpcyB2aXNpYmxlXCIsICgpID0+IHtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShEWU5BTUlDX0hJRERFTl9DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAhJXtoaWRkZW5DcmVhdGV9fVwiXG5cdFx0KTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRFlOQU1JQykpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShEWU5BTUlDX0hJRERFTl9DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRFlOQU1JQykpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAhJXtoaWRkZW5DcmVhdGV9fVwiXG5cdFx0KTtcblx0fSk7XG5cblx0aXQoXCJPdGhlcndpc2UgdGhpcyBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiB0aGUgdGhlIFVJLklzRWRpdGFibGVcIiwgKCkgPT4ge1xuXHRcdGV4cGVjdChnZXRDcmVhdGVWaXNpYmxlKEJBU0lDX0NPTlRFWFRfT1AsIENyZWF0aW9uTW9kZS5DcmVhdGlvblJvdywgSVNfSU5TRVJUQUJMRV9UUlVFKSkudG9FcXVhbChVSS5Jc0VkaXRhYmxlKTtcblx0XHRleHBlY3QoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX09QLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRFlOQU1JQykpLnRvRXF1YWwoVUkuSXNFZGl0YWJsZSk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9PUCwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcblx0XHRcdFwiez0gKCEle2hpZGRlbkNyZWF0ZX0gJiYgJXt1aT4vaXNFZGl0YWJsZX0pfVwiXG5cdFx0KTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShEWU5BTUlDX0hJRERFTl9DT05URVhUX09QLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRFlOQU1JQykpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAoISV7aGlkZGVuQ3JlYXRlfSAmJiAle3VpPi9pc0VkaXRhYmxlfSl9XCJcblx0XHQpO1xuXHR9KTtcblxuXHRpdChcIklmIGEgTmV3IEFjdGlvbiBleGlzdHMgY3JlYXRlIGRlcGVuZHMgb24gdGhlIENvcmUuT3BlcmF0aW9uQXZhaWxhYmxlIGFubm90YXRpb25cIiwgKCkgPT4ge1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKE5FV19BQ1RJT05fTk9fT0EsIENyZWF0aW9uTW9kZS5DcmVhdGlvblJvdywgSVNfSU5TRVJUQUJMRV9UUlVFKSkpLnRvRXF1YWwoXCJ0cnVlXCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKE5FV19BQ1RJT05fTk9fT0EsIENyZWF0aW9uTW9kZS5DcmVhdGlvblJvdywgSVNfSU5TRVJUQUJMRV9GQUxTRSkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblxuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKE5FV19BQ1RJT05fT0FfVFJVRSwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoTkVXX0FDVElPTl9PQV9UUlVFLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRkFMU0UpKSkudG9FcXVhbChcInRydWVcIik7XG5cblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShORVdfQUNUSU9OX09BX0ZBTFNFLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoTkVXX0FDVElPTl9PQV9GQUxTRSwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX0ZBTFNFKSkpLnRvRXF1YWwoXCJmYWxzZVwiKTtcblx0fSk7XG59KTtcblxuZGVzY3JpYmUoXCJUYWJsZSBDb252ZXJ0ZXIgLSAjZ2V0VmlzaWJpbGl0eU1hc3NFZGl0XCIsIGZ1bmN0aW9uKCkge1xuXHRsZXQgQkFTSUNfQ09OVEVYVF9MUjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEJBU0lDX0NPTlRFWFRfT1A6IENvbnZlcnRlckNvbnRleHQ7XG5cdGxldCBCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEJBU0lDX0NPTlRFWFRfT1BfVVBEQVRFSElEREVOMTogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEJBU0lDX0NPTlRFWFRfT1BfVVBEQVRFSElEREVOX1BBVEg6IENvbnZlcnRlckNvbnRleHQ7XG5cdGNvbnN0IHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0OiBhbnkgPSB7XG5cdFx0ZW5hYmxlTWFzc0VkaXQ6IHRydWVcblx0fTtcblx0Y29uc3QgdGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25XaXRob3V0TWFzc0VkaXQ6IGFueSA9IHtcblx0XHRlbmFibGVNYXNzRWRpdDogZmFsc2Vcblx0fTtcblx0Y29uc3QgdGFibGVDb25mV2l0aE1hc3NFZGl0U2VsZWN0aW9uTGltaXQ6IGFueSA9IHtcblx0XHRlbmFibGVNYXNzRWRpdDogZmFsc2UsXG5cdFx0c2VsZWN0aW9uTGltaXQ6IDFcblx0fTtcblx0YmVmb3JlQWxsKGZ1bmN0aW9uKCkge1xuXHRcdEJBU0lDX0NPTlRFWFRfTFIgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywgeyBlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLCBjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCB9KTtcblx0XHRCQVNJQ19DT05URVhUX09QID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHsgZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIiwgY29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UgfSk7XG5cdFx0QkFTSUNfQ09OVEVYVF9PUF9VUERBVEVISURERU4gPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlVwZGF0ZUhpZGRlbkVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2Vcblx0XHR9KTtcblx0XHRCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTjEgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlVwZGF0ZUhpZGRlbkVudGl0eTFcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlXG5cdFx0fSk7XG5cdFx0QkFTSUNfQ09OVEVYVF9PUF9VUERBVEVISURERU5fUEFUSCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiTWFzc0VkaXRVcGRhdGVIaWRkZW5EeW5hbWljRW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHR9KTtcblxuXHRpdChcIkZvciBsaXN0IHJlcG9ydCBNYXNzIGVkaXQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIGluIGFueSBjYXNlLlwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KFxuXHRcdFx0Z2V0VmlzaWJpbGl0eU1hc3NFZGl0KFxuXHRcdFx0XHRCQVNJQ19DT05URVhUX0xSLFxuXHRcdFx0XHR0YWJsZU1hbmlmZXN0Q29uZmlndXJhdGlvbldpdGhNYXNzRWRpdCxcblx0XHRcdFx0eyBpc1VwZGF0YWJsZTogdHJ1ZSwgaXNEZWxldGFibGU6IHRydWUgfSxcblx0XHRcdFx0dW5kZWZpbmVkXG5cdFx0XHQpXG5cdFx0KS50b0VxdWFsKGZhbHNlKTtcblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfTFIsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aG91dE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoZmFsc2UpO1xuXHR9KTtcblxuXHRpdChcIkRpZmZlcmVudCBjYXNlcyBvZiBtYXNzIGVkaXQgdmlzaWJpbGl0eSBpbiBvYmplY3QgcGFnZS5cIiwgKCkgPT4ge1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIGZhbHNlID0+IE1hc3MgZWRpdCBzaG91bGQgbm90IGJlIHZpc2libGUuXG5cdFx0ZXhwZWN0KFxuXHRcdFx0Z2V0VmlzaWJpbGl0eU1hc3NFZGl0KFxuXHRcdFx0XHRCQVNJQ19DT05URVhUX09QLFxuXHRcdFx0XHR0YWJsZU1hbmlmZXN0Q29uZmlndXJhdGlvbldpdGhNYXNzRWRpdCxcblx0XHRcdFx0eyBpc1VwZGF0YWJsZTogZmFsc2UsIGlzRGVsZXRhYmxlOiB0cnVlIH0sXG5cdFx0XHRcdHVuZGVmaW5lZFxuXHRcdFx0KVxuXHRcdCkudG9FcXVhbChmYWxzZSk7XG5cdFx0Ly9NYXNzIEVkaXQgaXMgZGlzYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgPT4gTWFzcyBlZGl0IHNob3VsZCBub3QgYmUgdmlzaWJsZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfT1AsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aG91dE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoZmFsc2UpO1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgZm9yIExpc3QgUmVwb3J0IGNvbnRleHQgPT4gTWFzcyBlZGl0IHNob3VsZCBub3QgYmUgdmlzaWJsZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfTFIsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoZmFsc2UpO1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgZm9yIG9iamVjdCBwYWdlIGNvbnRleHQgPT4gTWFzcyBlZGl0IHNob3VsZCBiZSB2aXNpYmxlIGlmIG9iamVjdCBwYWdlIGlzIGluIGVkaXQgbW9kZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfT1AsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoXCJ7dWk+L2lzRWRpdGFibGV9XCIpO1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgZm9yIG9iamVjdCBwYWdlIGNvbnRleHQsIHNlbGVjdGlvbiBtb2RlIGlzIHNpbmdhbCA9PiBNYXNzIGVkaXQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLlxuXHRcdGV4cGVjdChcblx0XHRcdGdldFZpc2liaWxpdHlNYXNzRWRpdChcblx0XHRcdFx0QkFTSUNfQ09OVEVYVF9PUCxcblx0XHRcdFx0dGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25XaXRoTWFzc0VkaXQsXG5cdFx0XHRcdHsgaXNVcGRhdGFibGU6IHRydWUsIGlzRGVsZXRhYmxlOiB0cnVlIH0sXG5cdFx0XHRcdFwiU2luZ2xlXCJcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoZmFsc2UpO1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgZm9yIG9iamVjdCBwYWdlIGNvbnRleHQsIHNlbGVjdGlvbiBsaW1pdCBpcyBzZXQgdG8gMSA9PiBNYXNzIGVkaXQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLlxuXHRcdGV4cGVjdChcblx0XHRcdGdldFZpc2liaWxpdHlNYXNzRWRpdChcblx0XHRcdFx0QkFTSUNfQ09OVEVYVF9PUCxcblx0XHRcdFx0dGFibGVDb25mV2l0aE1hc3NFZGl0U2VsZWN0aW9uTGltaXQsXG5cdFx0XHRcdHsgaXNVcGRhdGFibGU6IHRydWUsIGlzRGVsZXRhYmxlOiB0cnVlIH0sXG5cdFx0XHRcdHVuZGVmaW5lZFxuXHRcdFx0KVxuXHRcdCkudG9FcXVhbChmYWxzZSk7XG5cdFx0Ly9NYXNzIEVkaXQgaXMgZW5hYmxlZCBmcm9tIG1hbmlmZXN0LCBlbnRpdHkgc2V0IHVwZGF0YWJsZSBpcyBzdGF0aWMgdHJ1ZSBmb3Igb2JqZWN0IHBhZ2UgY29udGV4dCwgdXBkYXRlIGhpZGRlbiBhbm5vdGF0aW9uIGlzIHRydWUgPT4gTWFzcyBlZGl0IHNob3VsZCBub3QgYmUgdmlzaWJsZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfT1BfVVBEQVRFSElEREVOLFxuXHRcdFx0XHR0YWJsZU1hbmlmZXN0Q29uZmlndXJhdGlvbldpdGhNYXNzRWRpdCxcblx0XHRcdFx0eyBpc1VwZGF0YWJsZTogdHJ1ZSwgaXNEZWxldGFibGU6IHRydWUgfSxcblx0XHRcdFx0dW5kZWZpbmVkXG5cdFx0XHQpXG5cdFx0KS50b0VxdWFsKGZhbHNlKTtcblx0XHQvL01hc3MgRWRpdCBpcyBlbmFibGVkIGZyb20gbWFuaWZlc3QsIGVudGl0eSBzZXQgdXBkYXRhYmxlIGlzIHN0YXRpYyB0cnVlIGZvciBvYmplY3QgcGFnZSBjb250ZXh0LCB1cGRhdGUgaGlkZGVuIGFubm90YXRpb24gaXMgcGF0aCBiYXNlZCA9PiBNYXNzIGVkaXQgc2hvdWxkIGJlIHZpc2libGUgaWYgdGhlIHBhdGggdmFsdWUgaXMgZmFsc2UgYW5kIG9iamVjdCBwYWdlIGlzIGluIGVkaXQgbW9kZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfT1BfVVBEQVRFSElEREVOX1BBVEgsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoXCJ7PSAoJXt1aT4vaXNFZGl0YWJsZX0gPT09IHRydWUgJiYgJXt1cGRhdGVIaWRkZW59ID09PSBmYWxzZSl9XCIpO1xuXG5cdFx0Ly9NYXNzIEVkaXQgaXMgZW5hYmxlZCBmcm9tIG1hbmlmZXN0LCBlbnRpdHkgc2V0IHVwZGF0YWJsZSBpcyBzdGF0aWMgdHJ1ZSBmb3Igb2JqZWN0IHBhZ2UgY29udGV4dCwgdXBkYXRlIGhpZGRlbiBhbm5vdGF0aW9uIGlzIGZhbHNlID0+IE1hc3MgZWRpdCBzaG91bGQgYmUgdmlzaWJsZSBpZiBvYmplY3QgcGFnZSBpcyBpbiBlZGl0IG1vZGUuXG5cdFx0ZXhwZWN0KFxuXHRcdFx0Z2V0VmlzaWJpbGl0eU1hc3NFZGl0KFxuXHRcdFx0XHRCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTjEsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoXCJ7dWk+L2lzRWRpdGFibGV9XCIpO1xuXHR9KTtcbn0pO1xuXG5kZXNjcmliZShcIlRhYmxlIENvbnZlcnRlciAtICNnZXRFbmFibGVtZW50TWFzc0VkaXRcIiwgZnVuY3Rpb24oKSB7XG5cdGxldCBCQVNJQ19DT05URVhUX09QX1BBVEhfQkFTRURfVVBEQVRFX1JFU1RSSUNUSU9OOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgQkFTSUNfQ09OVEVYVF9PUF9TVEFUSUNfVVBEQVRFX1JFU1RSSUNUSU9OOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRiZWZvcmVBbGwoZnVuY3Rpb24oKSB7XG5cdFx0QkFTSUNfQ09OVEVYVF9PUF9QQVRIX0JBU0VEX1VQREFURV9SRVNUUklDVElPTiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5U2V0V2l0aFBhdGhCYXNlZFVwZGF0ZVJlc3RyaWN0aW9uXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHRcdEJBU0lDX0NPTlRFWFRfT1BfU1RBVElDX1VQREFURV9SRVNUUklDVElPTiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5U2V0V2l0aFN0YXRpY1VwZGF0ZVJlc3RyaWN0aW9uXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHR9KTtcblx0Ly9UaGlzIHNjZW5hcmlvIHdpbGwgYmUgaGFuZGxlZCBpbiB0YWJsZWhlbHBlciByZXR1cm5pbmcgZmFsc2UgZnJvbSBjb252ZXJ0ZXIgaW4gdGhpcyBjYXNlXG5cdGl0KFwiVGhlIG1hc3MgZWRpdCBpcyB2aXNpYmxlLCBhbmQgdXBkYXRlIHJlc3RyaWN0aW9ucyBhcmUgc2V0IHRvIGEgcGF0aCB2YWx1ZSBvZiBjdXJyZW50IGVudGl0eSBzZXQuXCIsICgpID0+IHtcblx0XHRleHBlY3QoZ2V0RW5hYmxlbWVudE1hc3NFZGl0KEJBU0lDX0NPTlRFWFRfT1BfUEFUSF9CQVNFRF9VUERBVEVfUkVTVFJJQ1RJT04sIHRydWUpKS50b0VxdWFsKGZhbHNlKTtcblx0fSk7XG5cdGl0KFwiVGhlIG1hc3MgZWRpdCBpcyB2aXNpYmxlLCBhbmQgdXBkYXRlIHJlc3RyaWN0aW9ucyBhcmUgc2V0IHRvIHN0YXRpYyB0cnVlLlwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KGdldEVuYWJsZW1lbnRNYXNzRWRpdChCQVNJQ19DT05URVhUX09QX1NUQVRJQ19VUERBVEVfUkVTVFJJQ1RJT04sIHRydWUpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAle2ludGVybmFsPm51bWJlck9mU2VsZWN0ZWRDb250ZXh0c30gPj0gMiAmJiB0cnVlfVwiXG5cdFx0KTtcblx0fSk7XG5cdGl0KFwiVGhlIG1hc3MgZWRpdCBpcyBub3QgdmlzaWJsZSBhcyB1cGRhdGUgcmVzdHJpY3Rpb25zIGFyZSBzZXQgdG8gc3RhdGljIGZhbHNlLlwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KGdldEVuYWJsZW1lbnRNYXNzRWRpdChCQVNJQ19DT05URVhUX09QX1NUQVRJQ19VUERBVEVfUkVTVFJJQ1RJT04sIGZhbHNlKSkudG9FcXVhbChmYWxzZSk7XG5cdH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiVGFibGUgQ29udmVydGVyIC0gI2dldFNlbGVjdGlvbk1vZGUgXCIsIGZ1bmN0aW9uKCkge1xuXHRjb25zdCBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdCA9IChcblx0XHRpc0VudGl0eVNldDogYm9vbGVhbixcblx0XHR0YXJnZXRDYXBhYmlsaXRpZXM6IFRhYmxlQ2FwYWJpbGl0eVJlc3RyaWN0aW9uLFxuXHRcdGJhc2ljQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0XHR2aXN1YWxpemF0aW9uUGF0aDogc3RyaW5nXG5cdCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdFx0cmV0dXJuIGdldFNlbGVjdGlvbk1vZGUoXG5cdFx0XHRiYXNpY0NvbnRleHQuZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbSxcblx0XHRcdHZpc3VhbGl6YXRpb25QYXRoLFxuXHRcdFx0YmFzaWNDb250ZXh0LFxuXHRcdFx0aXNFbnRpdHlTZXQsXG5cdFx0XHR0YXJnZXRDYXBhYmlsaXRpZXNcblx0XHQpO1xuXHR9O1xuXG5cdGl0KFwiSWYgdGhlIExSIGlzIG5vdCBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgbm90IGFjdGlvbiA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ05vbmUnIFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5V2l0aG91dEFjdGlvbk9uVGFibGVcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0XG5cdFx0fSk7XG5cdFx0Y29uc3QgcmVzdWx0ID0gZ2V0U2VsZWN0aW9uTW9kZUZvclRlc3QoXG5cdFx0XHR0cnVlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogZmFsc2UsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X0xSLFxuXHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcIk5vbmVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBMUiBpcyBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgbm90IGFjdGlvbiA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ011bHRpJyBcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhvdXRBY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0dHJ1ZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IHRydWUsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X0xSLFxuXHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcIk11bHRpXCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgTFIgaXMgbm90IGRlbGV0YWJsZSBhbmQgaXRzIHRhYmxlIGhhcyBhdCBsZWFzdCAxIGJvdW5kIGFjdGlvbiA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ011bHRpJyBcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhCb3VuZEFjdGlvbk9uVGFibGVcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0XG5cdFx0fSk7XG5cdFx0Y29uc3QgcmVzdWx0ID0gZ2V0U2VsZWN0aW9uTW9kZUZvclRlc3QoXG5cdFx0XHR0cnVlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogZmFsc2UsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X0xSLFxuXHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcIk11bHRpXCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgTFIgaXMgbm90IGRlbGV0YWJsZSBhbmQgaXRzIHRhYmxlIGhhcyBvbmx5IHVuYm91bmQgYWN0aW9ucyA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ05vbmUnIFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5V2l0aFVuQm91bmRBY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0dHJ1ZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IGZhbHNlLCBpc1VwZGF0YWJsZTogZmFsc2UgfSxcblx0XHRcdGJhc2ljQ29udGV4dF9MUixcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCJcblx0XHQpO1xuXHRcdGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoXCJOb25lXCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgTFIgaXMgbm90IGRlbGV0YWJsZSBhbmQgaXRzIHRhYmxlIGhhcyAxIGJvdW5kIGFjdGlvbiB3aXRob3V0IGhpZGRlbiBhbm5vdGF0aW9uIDogdGhlIHRhYmxlU2VsZWN0aW9uTW9kZSBpcyAnTXVsdGknIFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5V2l0aEJvdW5kQWN0aW9uT25UYWJsZVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdHRydWUsXG5cdFx0XHR7IGlzRGVsZXRhYmxlOiBmYWxzZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfTFIsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiTXVsdGlcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBMUiBpcyBub3QgZGVsZXRhYmxlIGFuZCBpdHMgdGFibGUgaGFzIDEgRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uIHN0YXRpY2FsbHkgbm90IGhpZGRlbiBhbmQgcmVxdWlyaW5nIGNvbnRleHQgOiB0aGUgdGFibGVTZWxlY3Rpb25Nb2RlIGlzICdNdWx0aScgXCIsICgpID0+IHtcblx0XHRjb25zdCBiYXNpY0NvbnRleHRfTFIgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlc1NlbGVjdGlvbk1vZGUsIHtcblx0XHRcdGVudGl0eVNldDogXCJFbnRpdHlXaXRoQWN0aW9uUmVxdWluZ0NvbnRleHRPblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0dHJ1ZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IGZhbHNlLCBpc1VwZGF0YWJsZTogZmFsc2UgfSxcblx0XHRcdGJhc2ljQ29udGV4dF9MUixcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCJcblx0XHQpO1xuXHRcdGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoXCJNdWx0aVwiKTtcblx0fSk7XG5cdGl0KFwiSWYgdGhlIExSIGlzIG5vdCBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgMSBEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gcmVxdWlyaW5nIGEgY29udGV4dCB3aXRoIEhpZGRlbiBiaW5kaW5nIGV4cCA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ3s9ICV7aXNIaWRkZW59ID09PSBmYWxzZSA/ICdNdWx0aScgOiAnTm9uZSd9JyBcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhBY3Rpb25SZXF1aW5nQ29udGV4dE9uVGFibGVXaXRoSGlkZGVuRXhwXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0dHJ1ZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IGZhbHNlLCBpc1VwZGF0YWJsZTogZmFsc2UgfSxcblx0XHRcdGJhc2ljQ29udGV4dF9MUixcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCJcblx0XHQpO1xuXHRcdGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVufSA9PT0gZmFsc2UgPyAnTXVsdGknIDogJ05vbmUnfVwiKTtcblx0fSk7XG5cdGl0KFwiSWYgdGhlIExSIGlzIG5vdCBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgMSBjdXN0b20gYm91bmQgYW5kIHN0YXRpY2FsbHkgdmlzaWJsZSBhY3Rpb24gOiB0aGUgdGFibGVTZWxlY3Rpb25Nb2RlIGlzICdNdWx0aScgXCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhDdXN0b21BY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRlbmFibGVFeHBvcnQ6IGZhbHNlXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRhY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHRcIkFjdGlvbjFcIjoge1xuXHRcdFx0XHRcdFx0XHRwcmVzczogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHR2aXNpYmxlOiBcInRydWVcIixcblx0XHRcdFx0XHRcdFx0ZW5hYmxlZDogXCJ0cnVlXCIsXG5cdFx0XHRcdFx0XHRcdHRleHQ6IFwiQ3VzdG9tIEFjdGlvblwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVPblNlbGVjdDogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHRyZXF1aXJlc1NlbGVjdGlvbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCBtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdHRydWUsXG5cdFx0XHR7IGlzRGVsZXRhYmxlOiBmYWxzZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfTFIsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiTXVsdGlcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBMUiBpcyBub3QgZGVsZXRhYmxlIGFuZCBpdHMgdGFibGUgaGFzIHNldmVyYWwgY3VzdG9tIGJvdW5kIGFjdGlvbnMgd2l0aCB2aXNpYmxlIGtleSBhcyBhbiBleHByZXNzaW9uIGJpbmRpbmcgOiB0aGUgdGFibGVTZWxlY3Rpb25Nb2RlIGlzICdNdWx0aScgaW4gRWRpdCBNb2RlLCAnTm9uZScgb3RoZXJ3aXNlXCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhDdXN0b21BY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRlbmFibGVFeHBvcnQ6IGZhbHNlXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRhY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHRcIkFjdGlvbjFcIjoge1xuXHRcdFx0XHRcdFx0XHRwcmVzczogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHR2aXNpYmxlOiBcIns9ICR7dWk+L2VkaXRNb2RlfSA9PT0gJ0VkaXRhYmxlJyB9XCIsXG5cdFx0XHRcdFx0XHRcdGVuYWJsZWQ6IFwidHJ1ZVwiLFxuXHRcdFx0XHRcdFx0XHR0ZXh0OiBcIkN1c3RvbSBBY3Rpb24xXCIsXG5cdFx0XHRcdFx0XHRcdGVuYWJsZU9uU2VsZWN0OiBcInh4XCIsXG5cdFx0XHRcdFx0XHRcdHJlcXVpcmVzU2VsZWN0aW9uOiB0cnVlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XCJBY3Rpb24yXCI6IHtcblx0XHRcdFx0XHRcdFx0cHJlc3M6IFwieHhcIixcblx0XHRcdFx0XHRcdFx0dmlzaWJsZTogXCJ7PSAle092ZXJhbGxTRFByb2Nlc3NTdGF0dXN9ID09PSAnQicgfVwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVkOiBcInRydWVcIixcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJDdXN0b20gQWN0aW9uMlwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVPblNlbGVjdDogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHRyZXF1aXJlc1NlbGVjdGlvbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCBtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdHRydWUsXG5cdFx0XHR7IGlzRGVsZXRhYmxlOiBmYWxzZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfTFIsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiez0gKCggJHt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnICkgfHwgKCAle092ZXJhbGxTRFByb2Nlc3NTdGF0dXN9ID09PSAnQicgKSkgPyAnTXVsdGknIDogJ05vbmUnfVwiKTtcblx0fSk7XG5cdGl0KFwiSWYgdGhlIE9QIGlzIG5vdCBkZWxldGFibGUgYW5kIGFuZCBpdHMgdGFibGUgaGFzIG5vdCBhY3Rpb24gOiB0aGUgdGFibGVTZWxlY3Rpb25Nb2RlIGlzICdOb25lJyBcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9PUCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhvdXRBY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0ZmFsc2UsXG5cdFx0XHR7IGlzRGVsZXRhYmxlOiBmYWxzZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfT1AsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiTm9uZVwiKTtcblx0fSk7XG5cdGl0KFwiSWYgdGhlIE9QIGlzIGRlbGV0YWJsZSBhbmQgaXRzIHRhYmxlIGhhcyBub3QgYWN0aW9uIDogdGhlIHRhYmxlU2VsZWN0aW9uTW9kZSBpcyBNdWx0aSBpbiBFZGl0IE1vZGUgYW5kIE5vbmUgb3RoZXJ3aXNlXCIsICgpID0+IHtcblx0XHRjb25zdCBiYXNpY0NvbnRleHRfT1AgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlc1NlbGVjdGlvbk1vZGUsIHtcblx0XHRcdGVudGl0eVNldDogXCJFbnRpdHlXaXRob3V0QWN0aW9uT25UYWJsZVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2Vcblx0XHR9KTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdGZhbHNlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogdHJ1ZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfT1AsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiez0gJXt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnID8gJ011bHRpJyA6ICdOb25lJ31cIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBPUCBpcyBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgMSBEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gcmVxdWlyaW5nIGEgY29udGV4dCB3aXRoIEhpZGRlbiBiaW5kaW5nIGV4cCB3aXRoIG5hdiBwcm9wZXJ0eVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGVudGl0eVNldDogXCJFbnRpdHlXaXRoQm91bmRBY3Rpb25PblRhYmxlV2l0aEhpZGRlbkV4cFwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIl9JdGVtL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0ZW5hYmxlRXhwb3J0OiBmYWxzZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X09QID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCBtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRjb25zdCBkYXRhTW9kZWxPYmplY3RQYXRoID0gYmFzaWNDb250ZXh0X09QLmdldERhdGFNb2RlbE9iamVjdFBhdGgoKTtcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5fdHlwZSA9IFwiTmF2aWdhdGlvblByb3BlcnR5XCI7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QucGFydG5lciA9IFwib3duZXJcIjtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdGZhbHNlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogdHJ1ZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfT1AsXG5cdFx0XHRcIl9JdGVtL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiez0gJXt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnID8gJ011bHRpJyA6ICgle0hpZGRlbn0gPT09IGZhbHNlID8gJ011bHRpJyA6ICdOb25lJyl9XCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgT1AgaXMgZGVsZXRhYmxlIGFuZCBpdHMgdGFibGUgaGFzIDEgRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uIHJlcXVpcmluZyBhIGNvbnRleHQgd2l0aCBhbiBIaWRkZW4gYW5ub3RhdGlvbiAod2l0aG91dCBuYXZQcm9wKSA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgTXVsdGkgaW4gRWRpdGlvbiwgTm9uZSBvdGhlcndpc2VcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9PUCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhCb3VuZEFjdGlvbjJPblRhYmxlV2l0aEhpZGRlbkV4cFwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2Vcblx0XHR9KTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdGZhbHNlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogdHJ1ZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfT1AsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiez0gJXt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnID8gJ011bHRpJyA6ICdOb25lJ31cIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBPUCBpcyBub3QgZGVsZXRhYmxlIGFuZCBpdHMgdGFibGUgaGFzIDEgYWx3YXlzIHZpc2libGUgQm91bmQgQWN0aW9uIGJ1dCBib3VuZCBvbiBhIGRpZmZlcmVudCBjb250ZXh0IGZyb20gdGhlIHRhYmxlIG9uZSA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgTXVsdGkgaW4gRWRpdGlvbiwgTm9uZSBvdGhlcndpc2VcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9PUCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhCb3VuZEFjdGlvbk5vdEJvdW5kT25UaGVUYWJsZVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2Vcblx0XHR9KTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdGZhbHNlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogZmFsc2UsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X09QLFxuXHRcdFx0XCJfUGFydG5lci9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcIk5vbmVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBPUCBpcyBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgYSBtaXggb2YgdmlzaWJsZSBhY3Rpb25zIHdpdGggSGlkZGVuIGFuZCB2aXNpYmxlIGJpbmRpbmcgZXhwIHdpdGggbmF2IHByb3BlcnR5XCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhNdWx0aXBsZUFjdGlvbnNXaXRoQmluZGluZ0V4cFwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIl9JdGVtL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0ZW5hYmxlRXhwb3J0OiBmYWxzZVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0YWN0aW9uczoge1xuXHRcdFx0XHRcdFx0XCJBY3Rpb24xXCI6IHtcblx0XHRcdFx0XHRcdFx0cHJlc3M6IFwieHhcIixcblx0XHRcdFx0XHRcdFx0dmlzaWJsZTogXCJ7PSAke3VpPi9lZGl0TW9kZX0gPT09ICdFZGl0YWJsZScgfVwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVkOiBcInRydWVcIixcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJDdXN0b20gQWN0aW9uMVwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVPblNlbGVjdDogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHRyZXF1aXJlc1NlbGVjdGlvbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFwiQWN0aW9uMlwiOiB7XG5cdFx0XHRcdFx0XHRcdHByZXNzOiBcInh4XCIsXG5cdFx0XHRcdFx0XHRcdHZpc2libGU6IFwiez0gJXtPdmVyYWxsU0RQcm9jZXNzU3RhdHVzfSA9PT0gJ0InIH1cIixcblx0XHRcdFx0XHRcdFx0ZW5hYmxlZDogXCJ0cnVlXCIsXG5cdFx0XHRcdFx0XHRcdHRleHQ6IFwiQ3VzdG9tIEFjdGlvbjJcIixcblx0XHRcdFx0XHRcdFx0ZW5hYmxlT25TZWxlY3Q6IFwieHhcIixcblx0XHRcdFx0XHRcdFx0cmVxdWlyZXNTZWxlY3Rpb246IHRydWVcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9O1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9PUCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwgbWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0Y29uc3QgZGF0YU1vZGVsT2JqZWN0UGF0aCA9IGJhc2ljQ29udGV4dF9PUC5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCk7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QuX3R5cGUgPSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVwiO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LnBhcnRuZXIgPSBcIm93bmVyXCI7XG5cdFx0Y29uc3QgcmVzdWx0ID0gZ2V0U2VsZWN0aW9uTW9kZUZvclRlc3QoXG5cdFx0XHRmYWxzZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IHRydWUsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X09QLFxuXHRcdFx0XCJfSXRlbS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcblx0XHRcdFwiez0gJXt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnID8gJ011bHRpJyA6ICgoJXtIaWRkZW4xfSA9PT0gZmFsc2UgfHwgJXtIaWRkZW4yfSA9PT0gZmFsc2UgfHwgKCAke3VpPi9lZGl0TW9kZX0gPT09ICdFZGl0YWJsZScgKSB8fCAoICV7T3ZlcmFsbFNEUHJvY2Vzc1N0YXR1c30gPT09ICdCJyApKSA/ICdNdWx0aScgOiAnTm9uZScpfVwiXG5cdFx0KTtcblx0fSk7XG59KTtcblxuZGVzY3JpYmUoXCJTaG93IGNvdW50cyBpbiB0YWJsZSB0aXRsZVwiLCAoKSA9PiB7XG5cdGl0KFxuXHRcdFwiRGVmYXVsdCBWYWx1ZVwiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJKaXJhXCIsXG5cdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIwMzUzXCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0sXG5cdFx0KCkgPT4ge1xuXHRcdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHRcdH07XG5cdFx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5zaG93Um93Q291bnQpLnRvQmUodHJ1ZSk7XG5cdFx0fVxuXHQpO1xuXG5cdGl0KFxuXHRcdFwiU2hvdyBDb3VudHMgc2V0IHRvIHRydWVcIixcblx0XHR7XG5cdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSmlyYVwiLFxuXHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMDM1M1wiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdFx0cXVpY2tWYXJpYW50U2VsZWN0aW9uOiB7XG5cdFx0XHRcdFx0XHRcdFx0c2hvd0NvdW50czogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRwYXRoczogW1xuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogXCJhbm5vdGF0aW9uU3RyaW5nXCJcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gYXMgTGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3M7XG5cdFx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5zaG93Um93Q291bnQpLnRvQmUoZmFsc2UpO1xuXHRcdH1cblx0KTtcblxuXHRpdChcblx0XHRcIlNob3cgQ291bnRzIHNldCB0byBmYWxzZVwiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJKaXJhXCIsXG5cdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIwMzUzXCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0sXG5cdFx0KCkgPT4ge1xuXHRcdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0XHRxdWlja1ZhcmlhbnRTZWxlY3Rpb246IHtcblx0XHRcdFx0XHRcdFx0XHRzaG93Q291bnRzOiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0XHRwYXRoczogW1xuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogXCJhbm5vdGF0aW9uU3RyaW5nXCJcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gYXMgTGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3M7XG5cdFx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5zaG93Um93Q291bnQpLnRvQmUodHJ1ZSk7XG5cdFx0fVxuXHQpO1xufSk7XG5cbmRlc2NyaWJlKFwiQ29uZGVuc2VkIExheW91dFwiLCAoKSA9PiB7XG5cdGl0KFwiRGVmYXVsdCBWYWx1ZVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLnVzZUNvbmRlbnNlZFRhYmxlTGF5b3V0KS50b0JlKGZhbHNlKTtcblx0XHRtYW5pZmVzdFNldHRpbmdzLmNvbnZlcnRlclR5cGUgPSBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25PUCA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbk9QLnVzZUNvbmRlbnNlZFRhYmxlTGF5b3V0KS50b0JlKGZhbHNlKTtcblx0fSk7XG5cdGl0KFwiTWFuaWZlc3QgRm9yY2VzIHRvIHRydWVcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0Y29uZGVuc2VkVGFibGVMYXlvdXQ6IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9O1xuXHRcdC8vIEV2ZW4gaWYgZGVmaW5lZCwgdGhlIHZhbHVlIHNob3VsZCBiZSB1c2VkIG9ubHkgaW4gY2FzZXMgd2hlcmUgdGhlIHNldHRpbmcgaXMgY29tcGF0aWJsZVxuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbiA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi51c2VDb25kZW5zZWRUYWJsZUxheW91dCkudG9CZShmYWxzZSk7XG5cdFx0bWFuaWZlc3RTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlID0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uT1AgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb25PUC51c2VDb25kZW5zZWRUYWJsZUxheW91dCkudG9CZShmYWxzZSk7XG5cblx0XHQvLyBJbiBhIENvbmRlbnNlZCBMYXlvdXQgQ29tcGxpYW50IFNldHRpbmcsIHRoZSB2YWx1ZSBzaG91bGQgYmUgdHJ1ZVxuXHRcdG1hbmlmZXN0U2V0dGluZ3MuY29udmVydGVyVHlwZSA9IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0O1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkNMID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzLCB0cnVlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQ0wudXNlQ29uZGVuc2VkVGFibGVMYXlvdXQpLnRvQmUodHJ1ZSk7XG5cdFx0bWFuaWZlc3RTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlID0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQ0xPUCA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncywgdHJ1ZSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkNMT1AudXNlQ29uZGVuc2VkVGFibGVMYXlvdXQpLnRvQmUodHJ1ZSk7XG5cdH0pO1xuXHRpdChcIk1hbmlmZXN0IEZvcmNlcyB0byB0cnVlIGluIGluY29ycmVjdCBzZXR0aW5nIGZyb20gbWFuaWZlc3RcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0Y29uZGVuc2VkVGFibGVMYXlvdXQ6IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRjb250ZW50RGVuc2l0aWVzOiB7XG5cdFx0XHRcdGNvenk6IHRydWUsXG5cdFx0XHRcdGNvbXBhY3Q6IGZhbHNlXG5cdFx0XHR9XG5cdFx0fTtcblx0XHQvLyBJbiBhIENvbmRlbnNlZCBMYXlvdXQgQ29tcGxpYW50IFNldHRpbmcsIHRoZSB2YWx1ZSBzaG91bGQgYmUgdHJ1ZVxuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkNMID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzLCB0cnVlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQ0wudXNlQ29uZGVuc2VkVGFibGVMYXlvdXQpLnRvQmUoZmFsc2UpO1xuXHRcdG1hbmlmZXN0U2V0dGluZ3MuY29udmVydGVyVHlwZSA9IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlO1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkNMT1AgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MsIHRydWUpO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb25DTE9QLnVzZUNvbmRlbnNlZFRhYmxlTGF5b3V0KS50b0JlKGZhbHNlKTtcblx0fSk7XG5cblx0aXQoXCJNYW5pZmVzdCBGb3JjZXMgdG8gdHJ1ZSBpbiBpbmNvcnJlY3Qgc2V0dGluZyBmcm9tIGVudmlyb25tZW50XCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fTtcblx0XHQvLyBJbiBhIENvbmRlbnNlZCBMYXlvdXQgQ29tcGxpYW50IFNldHRpbmcsIHRoZSB2YWx1ZSBzaG91bGQgYmUgdHJ1ZVxuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkNMID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzLCB0cnVlLCBcImNvenlcIik7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkNMLnVzZUNvbmRlbnNlZFRhYmxlTGF5b3V0KS50b0JlKGZhbHNlKTtcblx0XHRtYW5pZmVzdFNldHRpbmdzLmNvbnZlcnRlclR5cGUgPSBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25DTE9QID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzLCB0cnVlLCBcImNvenlcIik7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkNMT1AudXNlQ29uZGVuc2VkVGFibGVMYXlvdXQpLnRvQmUoZmFsc2UpO1xuXHR9KTtcbn0pO1xuXG5kZXNjcmliZShcIlRhYmxlIFR5cGVcIiwgKCkgPT4ge1xuXHRjb25zdCBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdCA9IChcblx0XHRtYW5pZmVzdFNldHRpbmdzOiBMaXN0UmVwb3J0TWFuaWZlc3RTZXR0aW5ncyxcblx0XHRjb252ZXJ0ZXJPdXRwdXQ6IENvbnZlcnRlck91dHB1dCA9IGNvbnZlcnRlZFR5cGVzLFxuXHRcdHRhYmxlVHlwZT86IFRhYmxlTWFuaWZlc3RTZXR0aW5nc0NvbmZpZ3VyYXRpb25cblx0KTogVGFibGVDb250cm9sQ29uZmlndXJhdGlvbiA9PiB7XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVyT3V0cHV0LCBtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRiYXNpY0NvbnRleHQuZ2V0TWFuaWZlc3RDb250cm9sQ29uZmlndXJhdGlvbihcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiKS50YWJsZVNldHRpbmdzLnR5cGUgPVxuXHRcdFx0dGFibGVUeXBlPy50eXBlIHx8IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4gZ2V0VGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb24oXG5cdFx0XHRiYXNpY0NvbnRleHQuZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbSxcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCIsXG5cdFx0XHRiYXNpY0NvbnRleHRcblx0XHQpO1xuXHR9O1xuXHRpdChcIklmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHRhYmxlIHR5cGUgb24gYW4gQUxQIHRlbXBsYXRlIGlzICdBbmFseXRpY2FsVGFibGUnIG9uIGEgZGVza3RvcCB3aGVuIHRoZSBzZXJ2aWNlIGlzIEFuYWx5dGljYWwgY29tcGxpYW50XCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aXNEZXNrdG9wOiB0cnVlXG5cdFx0fTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25BTFAgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdChtYW5pZmVzdFNldHRpbmdzLCBjb252ZXJ0ZWRUeXBlc0FuYWx5dGljYWxTZXJ2aWNlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJBbmFseXRpY2FsVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHRhYmxlIHR5cGUgb24gYW4gTGlzdFJlcG9ydCB0ZW1wbGF0ZSBpcyAnQW5hbHl0aWNhbFRhYmxlJyBvbiBhIGRlc2t0b3Agd2hlbiB0aGUgc2VydmljZSBpcyBBbmFseXRpY2FsIGNvbXBsaWFudFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogdHJ1ZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkFMUC50eXBlKS50b0VxdWFsKFwiQW5hbHl0aWNhbFRhYmxlXCIpO1xuXHR9KTtcblx0aXQoXCJJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB0YWJsZSB0eXBlIGlzICdSZXNwb25zaXZlVGFibGUnIGZvciBhbiBBTFAgdGVtcGxhdGUgb24gYSBkZXNrdG9wIHdoZW4gdGhlIHNlcnZpY2UgaXMgTk9UIEFuYWx5dGljYWwgY29tcGxpYW50XCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aXNEZXNrdG9wOiB0cnVlXG5cdFx0fTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25BTFAgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdChtYW5pZmVzdFNldHRpbmdzLCBjb252ZXJ0ZWRUeXBlcyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkFMUC50eXBlKS50b0VxdWFsKFwiUmVzcG9uc2l2ZVRhYmxlXCIpO1xuXHR9KTtcblx0aXQoXCJJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB0YWJsZSB0eXBlIGlzICdSZXNwb25zaXZlVGFibGUnIGZvciBhIExSIHRlbXBsYXRlIG9uIGEgZGVza3RvcCB3aGVuIHRoZSBzZXJ2aWNlIGlzIE5PVCBBbmFseXRpY2FsIGNvbXBsaWFudFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogZmFsc2Vcblx0XHR9O1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkFMUCA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvckFuYWx5dGljYWxUZXN0KG1hbmlmZXN0U2V0dGluZ3MsIGNvbnZlcnRlZFR5cGVzKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJSZXNwb25zaXZlVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHRhYmxlIHR5cGUgb24gYW4gQUxQIHRlbXBsYXRlIGlzICdSZXNwb25zaXZlVGFibGUnIG9uIGEgbW9iaWxlL3RhYmxldCBkZXZpY2Ugbm8gbWF0dGVyIHRoZSBzZXJ2aWNlXCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aXNEZXNrdG9wOiBmYWxzZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkFMUC50eXBlKS50b0VxdWFsKFwiUmVzcG9uc2l2ZVRhYmxlXCIpO1xuXHR9KTtcblx0aXQoXCJJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB0YWJsZSB0eXBlIG9uIGEgTFIgdGVtcGxhdGUgaXMgJ1Jlc3BvbnNpdmVUYWJsZScgb24gYSBtb2JpbGUvdGFibGV0IGRldmljZSBubyBtYXR0ZXIgdGhlIHNlcnZpY2VcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0Y29uZGVuc2VkVGFibGVMYXlvdXQ6IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRpc0Rlc2t0b3A6IGZhbHNlXG5cdFx0fTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25BTFAgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdChtYW5pZmVzdFNldHRpbmdzLCBjb252ZXJ0ZWRUeXBlc0FuYWx5dGljYWxTZXJ2aWNlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJSZXNwb25zaXZlVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSB0YWJsZVR5cGUgaXMgc2V0IHRvIEFuYWx5dGljYWxUYWJsZSBvbiBhbiBBUEwgdGVtcGxhdGUsIGJ1dCB0aGUgc2VydmljZSBpcyBOT1QgQW5hbHl0aWNhbCBjb21wbGlhbnQsIHRoZSB0YWJsZVR5cGUgaXMgZm9yY2VkIHRvICdHcmlkVGFibGUnXCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aXNEZXNrdG9wOiB0cnVlXG5cdFx0fTtcblx0XHRjb25zdCB0YWJsZVR5cGU6IFRhYmxlTWFuaWZlc3RTZXR0aW5nc0NvbmZpZ3VyYXRpb24gPSB7IHR5cGU6IFwiQW5hbHl0aWNhbFRhYmxlXCIgfTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25BTFAgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdChtYW5pZmVzdFNldHRpbmdzLCBjb252ZXJ0ZWRUeXBlcywgdGFibGVUeXBlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJHcmlkVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSB0YWJsZVR5cGUgaXMgc2V0IHRvIEFuYWx5dGljYWxUYWJsZSBvbiBhIExSIHRlbXBsYXRlLCBidXQgdGhlIHNlcnZpY2UgaXMgTk9UIEFuYWx5dGljYWwgY29tcGxpYW50LCB0aGUgdGFibGVUeXBlIGlzIGZvcmNlZCB0byAnR3JpZFRhYmxlJ1wiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogdHJ1ZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVUeXBlOiBUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uID0geyB0eXBlOiBcIkFuYWx5dGljYWxUYWJsZVwiIH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXMsIHRhYmxlVHlwZSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkFMUC50eXBlKS50b0VxdWFsKFwiR3JpZFRhYmxlXCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgdGFibGVUeXBlIGlzIHNldCB0byBBbmFseXRpY2FsVGFibGUgb24gYW4gQUxQIHRlbXBsYXRlLCB3aXRoIGEgc2VydmljZSBBbmFseXRpY2FsIGNvbXBsaWFudCwgdGhlIHRhYmxlVHlwZSBpcyAnQW5hbHl0aWNhbFRhYmxlJ1wiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogdHJ1ZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVUeXBlOiBUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uID0geyB0eXBlOiBcIkFuYWx5dGljYWxUYWJsZVwiIH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZSwgdGFibGVUeXBlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJBbmFseXRpY2FsVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSB0YWJsZVR5cGUgaXMgc2V0IHRvIEFuYWx5dGljYWxUYWJsZSBvbiBhIExSIHRlbXBsYXRlLCB3aXRoIGEgc2VydmljZSBBbmFseXRpY2FsIGNvbXBsaWFudCwgdGhlIHRhYmxlVHlwZSBpcyAnQW5hbHl0aWNhbFRhYmxlJ1wiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogdHJ1ZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVUeXBlOiBUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uID0geyB0eXBlOiBcIkFuYWx5dGljYWxUYWJsZVwiIH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZSwgdGFibGVUeXBlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJBbmFseXRpY2FsVGFibGVcIik7XG5cdH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiVGFibGVDb252ZXJ0ZXIgI2dldFRhYmxlQWN0aW9uc1wiLCBmdW5jdGlvbigpIHtcblx0aXQoXCJjYW4gcmV0cmlldmUgYmFzaWMgYWN0aW9uc1wiLCBmdW5jdGlvbigpIHtcblx0XHRjb25zdCBjb252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlLFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIlxuXHRcdH0pO1xuXHRcdGNvbnN0IGhlYWRlckFjdGlvbnMgPSBnZXRUYWJsZUFjdGlvbnMoXG5cdFx0XHQoY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnM/LlVJIGFzIGFueSlbXCJMaW5lSXRlbSNXaXRoQWN0aW9uc1wiXSBhcyBMaW5lSXRlbSxcblx0XHRcdFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtICsgXCIjV2l0aEFjdGlvbnNcIixcblx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHQpO1xuXHRcdGV4cGVjdChoZWFkZXJBY3Rpb25zLmxlbmd0aCkudG9FcXVhbCgxKTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1swXS50eXBlKS50b0VxdWFsKFwiRm9yQWN0aW9uXCIpO1xuXHRcdGV4cGVjdChoZWFkZXJBY3Rpb25zWzBdLmtleSkudG9FcXVhbChcIkRhdGFGaWVsZEZvckFjdGlvbjo6c2FwLmZlLnRlc3QuSmVzdFNlcnZpY2Uubm9uRGV0ZXJtaW5pbmdcIik7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0uaXNOYXZpZ2FibGUpLnRvRXF1YWwodHJ1ZSk7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0uZW5hYmxlZCkudG9FcXVhbCh1bmRlZmluZWQpO1xuXHRcdGV4cGVjdChoZWFkZXJBY3Rpb25zWzBdLmVuYWJsZU9uU2VsZWN0KS50b0VxdWFsKHVuZGVmaW5lZCk7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0uZW5hYmxlQXV0b1Njcm9sbCkudG9FcXVhbCh1bmRlZmluZWQpO1xuXHR9KTtcblx0aXQoXCJjYW4gb3ZlcnJpZGUgYmFzaWMgYWN0aW9uc1wiLCBmdW5jdGlvbigpIHtcblx0XHRjb25zdCBjb252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlLFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI1dpdGhBY3Rpb25zXCI6IHtcblx0XHRcdFx0XHRhY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHRcIkRhdGFGaWVsZEZvckFjdGlvbjo6c2FwLmZlLnRlc3QuSmVzdFNlcnZpY2Uubm9uRGV0ZXJtaW5pbmdcIjoge1xuXHRcdFx0XHRcdFx0XHRlbmFibGVkOiBcInt1aT4vaXNFZGl0YWJsZX1cIixcblx0XHRcdFx0XHRcdFx0ZW5hYmxlT25TZWxlY3Q6IFwidHJ1ZVwiLFxuXHRcdFx0XHRcdFx0XHRhZnRlckV4ZWN1dGlvbjoge1xuXHRcdFx0XHRcdFx0XHRcdGVuYWJsZUF1dG9TY3JvbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0bmF2aWdhdGVUb0luc3RhbmNlOiBmYWxzZVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGFzIFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uXG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0Y29uc3QgaGVhZGVyQWN0aW9ucyA9IGdldFRhYmxlQWN0aW9ucyhcblx0XHRcdChjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucz8uVUkgYXMgYW55KVtcIkxpbmVJdGVtI1dpdGhBY3Rpb25zXCJdIGFzIExpbmVJdGVtLFxuXHRcdFx0XCJAXCIgKyBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbSArIFwiI1dpdGhBY3Rpb25zXCIsXG5cdFx0XHRjb252ZXJ0ZXJDb250ZXh0XG5cdFx0KTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9ucy5sZW5ndGgpLnRvRXF1YWwoMSk7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0udHlwZSkudG9FcXVhbChcIkZvckFjdGlvblwiKTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1swXS5rZXkpLnRvRXF1YWwoXCJEYXRhRmllbGRGb3JBY3Rpb246OnNhcC5mZS50ZXN0Lkplc3RTZXJ2aWNlLm5vbkRldGVybWluaW5nXCIpO1xuXHRcdGV4cGVjdChoZWFkZXJBY3Rpb25zWzBdLmlzTmF2aWdhYmxlKS50b0VxdWFsKGZhbHNlKTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1swXS5lbmFibGVkKS50b0VxdWFsKFwie3VpPi9pc0VkaXRhYmxlfVwiKTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1swXS5lbmFibGVPblNlbGVjdCkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0uZW5hYmxlQXV0b1Njcm9sbCkudG9FcXVhbCh0cnVlKTtcblx0fSk7XG5cdGl0KFxuXHRcdFwiY2FuIGFkZCBjdXN0b20gYWN0aW9uc1wiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJCQ1BcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiMjE4MDA3MTI4NFwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJKSVJBXCIsXG5cdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTE2ODA4XCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0sXG5cdFx0ZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zdCBjb252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UsXG5cdFx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jV2l0aEFjdGlvbnNcIjoge1xuXHRcdFx0XHRcdFx0YWN0aW9uczoge1xuXHRcdFx0XHRcdFx0XHRcImN1c3RvbVRhYmxlQWN0aW9uXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcInByZXNzXCI6IFwiU2FsZXNPcmRlci5jdXN0b20uQ3VzdG9tQWN0aW9ucy5hbGVydFwiLFxuXHRcdFx0XHRcdFx0XHRcdFwidGV4dFwiOiBcIkFsZXJ0XCIsXG5cdFx0XHRcdFx0XHRcdFx0XCJwb3NpdGlvblwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcInBsYWNlbWVudFwiOiBQbGFjZW1lbnQuQWZ0ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcImFuY2hvclwiOiBcImN1c3RvbVRhYmxlQWN0aW9uMlwiXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcImN1c3RvbVRhYmxlQWN0aW9uMlwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XCJwcmVzc1wiOiBcIlNhbGVzT3JkZXIuY3VzdG9tLkN1c3RvbUFjdGlvbnMuYWNjb3VudERldGFpbHNcIixcblx0XHRcdFx0XHRcdFx0XHRcImVuYWJsZWRcIjogXCJ7dWk+L2lzRWRpdGFibGV9XCIsXG5cdFx0XHRcdFx0XHRcdFx0XCJ0ZXh0XCI6IFwiRGlzcGxheSBhY2NvdW50IGRldGFpbHNcIixcblx0XHRcdFx0XHRcdFx0XHRcInBvc2l0aW9uXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcdFwicGxhY2VtZW50XCI6IFBsYWNlbWVudC5CZWZvcmUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcImFuY2hvclwiOiBcIkRhdGFGaWVsZEZvckFjdGlvbjo6c2FwLmZlLnRlc3QuSmVzdFNlcnZpY2Uubm9uRGV0ZXJtaW5pbmdcIlxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gYXMgVGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRjb25zdCBoZWFkZXJBY3Rpb25zID0gZ2V0VGFibGVBY3Rpb25zKFxuXHRcdFx0XHQoY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnM/LlVJIGFzIGFueSlbXCJMaW5lSXRlbSNXaXRoQWN0aW9uc1wiXSBhcyBMaW5lSXRlbSxcblx0XHRcdFx0XCJAXCIgKyBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbSArIFwiI1dpdGhBY3Rpb25zXCIsXG5cdFx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHRcdCk7XG5cdFx0XHRleHBlY3QoaGVhZGVyQWN0aW9ucy5sZW5ndGgpLnRvRXF1YWwoMyk7XG5cdFx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1syXS50eXBlKS50b0VxdWFsKFwiRm9yQWN0aW9uXCIpO1xuXHRcdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMl0ua2V5KS50b0VxdWFsKFwiRGF0YUZpZWxkRm9yQWN0aW9uOjpzYXAuZmUudGVzdC5KZXN0U2VydmljZS5ub25EZXRlcm1pbmluZ1wiKTtcblx0XHR9XG5cdCk7XG59KTtcblxuZGVzY3JpYmUoXCJUYWJsZUNvbnZlcnRlciAjZ2V0VGFibGVDb2x1bW5zXCIsIGZ1bmN0aW9uKCkge1xuXHRpdChcImNhbiBnZXQgdGhlIGJhc2ljIGNvbHVtbnMgZGVmaW5lZCBpbiB0aGUgYW5ub3RhdGlvblwiLCBmdW5jdGlvbigpIHtcblx0XHRjb25zdCBjb252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlLFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIlxuXHRcdH0pO1xuXHRcdGNvbnN0IGNvbHVtbnMgPSBnZXRUYWJsZUNvbHVtbnMoXG5cdFx0XHQoY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnM/LlVJIGFzIGFueSlbXCJMaW5lSXRlbVwiXSBhcyBMaW5lSXRlbSxcblx0XHRcdFwiQFwiICsgVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0sXG5cdFx0XHRjb252ZXJ0ZXJDb250ZXh0LFxuXHRcdFx0e31cblx0XHQpO1xuXHRcdGV4cGVjdChjb2x1bW5zLmxlbmd0aCkudG9CZSg3KTtcblx0XHRleHBlY3QoY29sdW1uc1swXS5rZXkpLnRvQmUoXCJEYXRhRmllbGQ6OklzQWN0aXZlRW50aXR5XCIpO1xuXHRcdGV4cGVjdChjb2x1bW5zWzNdLmtleSkudG9CZShcIkRhdGFGaWVsZDo6SURcIik7XG5cdFx0ZXhwZWN0KGNvbHVtbnNbM10ud2lkdGgpLnRvQmUodW5kZWZpbmVkKTtcblx0XHRleHBlY3QoY29sdW1uc1s0XS5rZXkpLnRvQmUoXCJEYXRhRmllbGQ6Om5hbWVcIik7XG5cdFx0ZXhwZWN0KGNvbHVtbnNbNl0ua2V5KS50b0JlKFwiUHJvcGVydHk6Om5hbWVcIik7XG5cdH0pO1xuXHRpdChcblx0XHRcImNhbiBhbHNvIG1lcmdlIGNvbHVtbiB3aXRoIHRoZSBvbmVzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0XCIsXG5cdFx0e1xuXHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkJDUFwiLFxuXHRcdFx0XHRcdFwiSURcIjogXCIyMTgwMDcxMjg0XCJcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMTY4MDhcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSxcblx0XHRmdW5jdGlvbigpIHtcblx0XHRcdGNvbnN0IGNvbnZlcnRlckNvbnRleHQgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywge1xuXHRcdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZSxcblx0XHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0XHRjb2x1bW5zOiB7XG5cdFx0XHRcdFx0XHRcdFwiQ3VzdG9tQ29sdW1uUmF0aW5nXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcImhlYWRlclwiOiBcIkN1c3RvbSBSYXRpbmdcIixcblx0XHRcdFx0XHRcdFx0XHRcIndpZHRoXCI6IFwiMTBlbVwiLFxuXHRcdFx0XHRcdFx0XHRcdFwiaG9yaXpvbnRhbEFsaWduXCI6IEhvcml6b250YWxBbGlnbi5FbmQsXG5cdFx0XHRcdFx0XHRcdFx0XCJwb3NpdGlvblwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcInBsYWNlbWVudFwiOiBQbGFjZW1lbnQuQWZ0ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcImFuY2hvclwiOiBcIkRhdGFGaWVsZDo6SURcIlxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XCJ0ZW1wbGF0ZVwiOiBcIlNhbGVzT3JkZXIuY3VzdG9tLkN1c3RvbUNvbHVtblJhdGluZ1wiXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFwiQ3VzdG9tQ29sdW1uQnV0dG9uXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcImhlYWRlclwiOiBcIkN1c3RvbSBCdXR0b25cIixcblx0XHRcdFx0XHRcdFx0XHRcIndpZHRoXCI6IFwiMTBlbVwiLFxuXHRcdFx0XHRcdFx0XHRcdFwicG9zaXRpb25cIjoge1xuXHRcdFx0XHRcdFx0XHRcdFx0XCJwbGFjZW1lbnRcIjogUGxhY2VtZW50LkFmdGVyLFxuXHRcdFx0XHRcdFx0XHRcdFx0XCJhbmNob3JcIjogXCJDdXN0b21Db2x1bW5SYXRpbmdcIlxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XCJ0ZW1wbGF0ZVwiOiBcIlNhbGVzT3JkZXIuY3VzdG9tLkN1c3RvbUNvbHVtbkJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFwiQ3VzdG9tQ29sdW1uU29sZFRvUGFydHlcIjoge1xuXHRcdFx0XHRcdFx0XHRcdFwiaGVhZGVyXCI6IFwiQ3VzdG9tIFNvbGQtVG8gUGFydHlcIixcblx0XHRcdFx0XHRcdFx0XHRcIndpZHRoXCI6IFwiMTVlbVwiLFxuXHRcdFx0XHRcdFx0XHRcdFwiaG9yaXpvbnRhbEFsaWduXCI6IEhvcml6b250YWxBbGlnbi5DZW50ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XCJwb3NpdGlvblwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcInBsYWNlbWVudFwiOiBQbGFjZW1lbnQuQWZ0ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcImFuY2hvclwiOiBcIkN1c3RvbUNvbHVtbkJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcInRlbXBsYXRlXCI6IFwiU2FsZXNPcmRlci5jdXN0b20uQ3VzdG9tQ29sdW1uU29sZFRvUGFydHlcIlxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcIkN1c3RvbUNvbHVtbkZpeGVkVGV4dFwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XCJoZWFkZXJcIjogXCJDdXN0b20gRml4ZWQgVGV4dFwiLFxuXHRcdFx0XHRcdFx0XHRcdFwid2lkdGhcIjogXCIxMGVtXCIsXG5cdFx0XHRcdFx0XHRcdFx0XCJob3Jpem9udGFsQWxpZ25cIjogSG9yaXpvbnRhbEFsaWduLkVuZCxcblx0XHRcdFx0XHRcdFx0XHRcInBvc2l0aW9uXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcdFwicGxhY2VtZW50XCI6IFBsYWNlbWVudC5BZnRlcixcblx0XHRcdFx0XHRcdFx0XHRcdFwiYW5jaG9yXCI6IFwiQ3VzdG9tQ29sdW1uU29sZFRvUGFydHlcIlxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XCJ0ZW1wbGF0ZVwiOiBcIlNhbGVzT3JkZXIuY3VzdG9tLkN1c3RvbUNvbHVtbkZpeGVkVGV4dFwiXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFwiRGF0YUZpZWxkOjpJRFwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XCJ3aWR0aFwiOiBcIjIwZW1cIlxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGNvbHVtbnMgPSBnZXRUYWJsZUNvbHVtbnMoXG5cdFx0XHRcdChjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucz8uVUkgYXMgYW55KVtcIkxpbmVJdGVtXCJdIGFzIExpbmVJdGVtLFxuXHRcdFx0XHRcIkBcIiArIFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtLFxuXHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0LFxuXHRcdFx0XHR7fVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdChjb2x1bW5zLmxlbmd0aCkudG9CZSgxMSk7XG5cdFx0XHRleHBlY3QoY29sdW1uc1swXS5rZXkpLnRvQmUoXCJEYXRhRmllbGQ6OklzQWN0aXZlRW50aXR5XCIpO1xuXHRcdFx0ZXhwZWN0KGNvbHVtbnNbM10ua2V5KS50b0JlKFwiRGF0YUZpZWxkOjpJRFwiKTtcblx0XHRcdGV4cGVjdChjb2x1bW5zWzNdLndpZHRoKS50b0JlKFwiMjBlbVwiKTtcblx0XHRcdGV4cGVjdChjb2x1bW5zWzRdLmtleSkudG9CZShcIkN1c3RvbUNvbHVtblJhdGluZ1wiKTtcblx0XHRcdGV4cGVjdChjb2x1bW5zWzVdLmtleSkudG9CZShcIkN1c3RvbUNvbHVtbkJ1dHRvblwiKTtcblx0XHRcdGV4cGVjdChjb2x1bW5zWzZdLmtleSkudG9CZShcIkN1c3RvbUNvbHVtblNvbGRUb1BhcnR5XCIpO1xuXHRcdFx0ZXhwZWN0KGNvbHVtbnNbN10ua2V5KS50b0JlKFwiQ3VzdG9tQ29sdW1uRml4ZWRUZXh0XCIpO1xuXHRcdFx0ZXhwZWN0KGNvbHVtbnNbMTBdLmtleSkudG9CZShcIlByb3BlcnR5OjpuYW1lXCIpO1xuXHRcdH1cblx0KTtcbn0pO1xuIl19