barsa-sap-ui 2.0.135 → 2.1.1

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 (235) hide show
  1. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +4 -4
  2. package/esm2022/lib/avatar-size.pipe.mjs +4 -4
  3. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +4 -4
  4. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +4 -4
  5. package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +4 -4
  6. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +4 -4
  7. package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +4 -4
  8. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +4 -4
  9. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +8 -7
  10. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +4 -4
  11. package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +4 -4
  12. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +4 -4
  13. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +4 -4
  14. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +4 -4
  15. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +4 -4
  16. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +4 -4
  17. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +4 -4
  18. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +4 -4
  19. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +4 -4
  20. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +4 -4
  21. package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +4 -4
  22. package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +4 -4
  23. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +4 -4
  24. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +4 -4
  25. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +4 -4
  26. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +4 -4
  27. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +4 -4
  28. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +4 -4
  29. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +4 -4
  30. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +4 -4
  31. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +4 -4
  32. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +4 -4
  33. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +4 -4
  34. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +4 -4
  35. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +4 -4
  36. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +4 -4
  37. package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +4 -4
  38. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +4 -4
  39. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +4 -4
  40. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +5 -5
  41. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +4 -4
  42. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +4 -4
  43. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +4 -4
  44. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +4 -4
  45. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +4 -4
  46. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +4 -4
  47. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +4 -4
  48. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +4 -4
  49. package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +4 -4
  50. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +4 -4
  51. package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +4 -4
  52. package/esm2022/lib/barsa-sap-ui-routing.module.mjs +5 -5
  53. package/esm2022/lib/barsa-sap-ui.module.mjs +10 -6
  54. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +4 -4
  55. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +4 -4
  56. package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +4 -4
  57. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +4 -4
  58. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +4 -4
  59. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +4 -4
  60. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +4 -4
  61. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +4 -4
  62. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +4 -4
  63. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +4 -4
  64. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +4 -4
  65. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +4 -4
  66. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +4 -4
  67. package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +4 -4
  68. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +4 -4
  69. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +4 -4
  70. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +4 -4
  71. package/esm2022/lib/captcha-field/captcha-field.component.mjs +4 -4
  72. package/esm2022/lib/card-item/card-item.component.mjs +4 -4
  73. package/esm2022/lib/card-view-content/card-view-content.component.mjs +4 -4
  74. package/esm2022/lib/col-renderer.directive.mjs +4 -4
  75. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +4 -4
  76. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +4 -4
  77. package/esm2022/lib/column-renderer/column-renderer.component.mjs +4 -4
  78. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +4 -4
  79. package/esm2022/lib/device-info-field-base.mjs +4 -4
  80. package/esm2022/lib/dialog-handler.directive.mjs +4 -4
  81. package/esm2022/lib/download-files.directive.mjs +4 -4
  82. package/esm2022/lib/dynamic-page-size.pipe.mjs +4 -4
  83. package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +4 -4
  84. package/esm2022/lib/file-viewer/file-viewer.component.mjs +4 -4
  85. package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +4 -4
  86. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +4 -4
  87. package/esm2022/lib/form-dialog/form-dialog.component.mjs +4 -4
  88. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +4 -4
  89. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +4 -4
  90. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +4 -4
  91. package/esm2022/lib/form-wizard/form-wizard.component.mjs +4 -4
  92. package/esm2022/lib/fullscreen-dialog.directive.mjs +4 -4
  93. package/esm2022/lib/fullscreen-files.directive.mjs +4 -4
  94. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +29 -31
  95. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +4 -4
  96. package/esm2022/lib/global-search/global-search.component.mjs +4 -4
  97. package/esm2022/lib/global-search-module/global-search-module.component.mjs +4 -4
  98. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +4 -4
  99. package/esm2022/lib/header-avatar/header-avatar.component.mjs +4 -4
  100. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +4 -4
  101. package/esm2022/lib/hyperlink/hyperlink.component.mjs +4 -4
  102. package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +4 -4
  103. package/esm2022/lib/layout-actions/layout-actions.component.mjs +4 -4
  104. package/esm2022/lib/layout-control/layout-control.component.mjs +4 -4
  105. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +4 -4
  106. package/esm2022/lib/list-item/list-item.component.mjs +4 -4
  107. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +4 -4
  108. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +4 -4
  109. package/esm2022/lib/ly-label/ly-label.component.mjs +4 -4
  110. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +4 -4
  111. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +4 -4
  112. package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +4 -4
  113. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +4 -4
  114. package/esm2022/lib/ly-line/ly-line.component.mjs +4 -4
  115. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +4 -4
  116. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +11 -18
  117. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +4 -4
  118. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +4 -4
  119. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +4 -4
  120. package/esm2022/lib/mask/mask.component.mjs +4 -4
  121. package/esm2022/lib/message-strip/message-strip.component.mjs +4 -4
  122. package/esm2022/lib/no-data/no-data.component.mjs +4 -4
  123. package/esm2022/lib/notification-item/notification-item.component.mjs +4 -4
  124. package/esm2022/lib/notification-popup.service.mjs +4 -4
  125. package/esm2022/lib/object-status-icon.pipe.mjs +4 -4
  126. package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +4 -4
  127. package/esm2022/lib/report-navigator/report-navigator.component.mjs +4 -4
  128. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +4 -4
  129. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +4 -4
  130. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +4 -4
  131. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +4 -4
  132. package/esm2022/lib/report-tree-base.mjs +4 -4
  133. package/esm2022/lib/report-view-renderer.directive.mjs +4 -4
  134. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +4 -4
  135. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +4 -4
  136. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +4 -4
  137. package/esm2022/lib/sap-font-class.pipe.mjs +4 -4
  138. package/esm2022/lib/sap-font.pipe.mjs +4 -4
  139. package/esm2022/lib/sap-size.pipe.mjs +4 -4
  140. package/esm2022/lib/sap-ui-report-base.component.mjs +4 -4
  141. package/esm2022/lib/search-panel/search-panel.component.mjs +4 -4
  142. package/esm2022/lib/static-text/static-text.component.mjs +4 -4
  143. package/esm2022/lib/table-th.directive.mjs +4 -4
  144. package/esm2022/lib/title/title.component.mjs +4 -4
  145. package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +4 -4
  146. package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +4 -4
  147. package/esm2022/lib/ui-button/ui-button.component.mjs +4 -4
  148. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +4 -4
  149. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +7 -7
  150. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +6 -6
  151. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +4 -4
  152. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +4 -4
  153. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +4 -4
  154. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +4 -4
  155. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +4 -4
  156. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +4 -4
  157. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +4 -4
  158. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +4 -4
  159. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +4 -4
  160. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +4 -4
  161. package/esm2022/lib/ui-graph/ui-graph.component.mjs +4 -4
  162. package/esm2022/lib/ui-grid/ui-grid.component.mjs +4 -4
  163. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +4 -4
  164. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +4 -4
  165. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +4 -4
  166. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +4 -4
  167. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +4 -4
  168. package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +4 -4
  169. package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +4 -4
  170. package/esm2022/lib/ui-label/ui-label.component.mjs +4 -4
  171. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +4 -4
  172. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +4 -4
  173. package/esm2022/lib/ui-map/ui-map.component.mjs +4 -4
  174. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +4 -4
  175. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +4 -4
  176. package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +4 -4
  177. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +4 -4
  178. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +4 -4
  179. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +4 -4
  180. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +4 -4
  181. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +4 -4
  182. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +4 -4
  183. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +4 -4
  184. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +4 -4
  185. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +4 -4
  186. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +4 -4
  187. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +4 -4
  188. package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +4 -4
  189. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +4 -4
  190. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +4 -4
  191. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +4 -4
  192. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +4 -4
  193. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +4 -4
  194. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +4 -4
  195. package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +4 -4
  196. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +4 -4
  197. package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +4 -4
  198. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +4 -4
  199. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +4 -4
  200. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +4 -4
  201. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +4 -4
  202. package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +4 -4
  203. package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +4 -4
  204. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +4 -4
  205. package/esm2022/lib/ui-tree/ui-tree.component.mjs +4 -4
  206. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +4 -4
  207. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +4 -4
  208. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +4 -4
  209. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +4 -4
  210. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +4 -4
  211. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +4 -4
  212. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +4 -4
  213. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +4 -4
  214. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +4 -4
  215. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +4 -4
  216. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +4 -4
  217. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +4 -4
  218. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +4 -4
  219. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +4 -4
  220. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +4 -4
  221. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +4 -4
  222. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +4 -4
  223. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +4 -4
  224. package/esm2022/lib/upload-file-status.pipe.mjs +4 -4
  225. package/esm2022/lib/util-chat-time-badge.pipe.mjs +4 -4
  226. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +4 -4
  227. package/esm2022/lib/wizard-layout.directive.mjs +4 -4
  228. package/fesm2022/barsa-sap-ui.mjs +710 -715
  229. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  230. package/lib/barsa-sap-ui.module.d.ts +5 -4
  231. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +3 -3
  232. package/lib/ly-tab-container/ly-tab-container.component.d.ts +2 -4
  233. package/lib/ly-tab-page/ly-tab-page.component.d.ts +2 -2
  234. package/lib/report-view-renderer.directive.d.ts +1 -1
  235. package/package.json +3 -3
@@ -243,10 +243,10 @@ export class UiPicturesInfoComponent extends DeviceInfoFieldBaseComponent {
243
243
  _displayImages(value) {
244
244
  this.value = value;
245
245
  }
246
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiPicturesInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
247
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiPicturesInfoComponent, selector: "bsu-ui-pictures-info", inputs: { value: "value" }, providers: [UploadService], viewQueries: [{ propertyName: "gallery", first: true, predicate: ["gallery"], descendants: true }, { propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'pictures_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n accept=\".png,.jpg,.bpm,.jpeg,.gif,.png,.tif,.pdf\"\n [fileLimit]=\"maxFileCount === 0 ? 100 : maxFileCount\"\n [multiple]=\"maxFileCount === 0 || maxFileCount > 1\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n\n<ng-container *ngTemplateOutlet=\"layoutGridTpl\"></ng-container>\n<ng-template #layoutGridTpl let-inDialog=\"inDialog\" let-gallery=\"gallery\">\n <fd-layout-grid>\n @if (mediaData$ | async; as mediaData) {\n <div fdLayoutGridRow>\n @for (media of mediaData; track media; let i = $index) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\" (click)=\"onMedaiClick(gallery, media, i)\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTpl;\n context: { $implicit: media, mediaData: this.mediaData, inDialog: this.inDialog, index: i }\n \"\n ></ng-container>\n </div>\n } @if (!inDialog && (disableOrReadonly$ | async) === true ? false : true) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\">\n <ng-container *ngTemplateOutlet=\"newFile\"></ng-container>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n</ng-template>\n<ng-template #cardTpl let-media let-mediaData=\"mediaData\" let-inDialog=\"inDialog\" let-index=\"index\">\n <fd-card class=\"media\" [class.inDialog]=\"inDialog\">\n <fd-card-content style=\"text-align: center; height: 120px\">\n <img imgLazy [imgLazy]=\"media.thumbnailUrl\" [src]=\"media.thumbnailUrl\" #img />\n </fd-card-content>\n @if (!inDialog) {\n <fd-card-footer>\n <button\n glyph=\"message-information\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n [fd-inline-help]=\"media.title\"\n [triggers]=\"['click']\"\n [closeOnOutsideClick]=\"true\"\n ></button>\n <button *fdCardFooterActionItem fd-button glyph=\"rotate\" (click)=\"onRotate(img, media, index)\"></button>\n\n <button\n glyph=\"full-screen\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onFullscreen(media, mediaData)\"\n ></button>\n @if ((disableOrReadonly$ | async) === true ? false : true) {\n <button\n glyph=\"delete\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onDelete(index)\"\n ></button>\n }\n </fd-card-footer>\n }\n </fd-card>\n</ng-template>\n<ng-template #newFile>\n <div style=\"position: relative; height: 100%\">\n <fd-card>\n <fd-card-content style=\"display: flex; align-items: center; justify-content: center; min-height: 120px\">\n <button\n fd-button\n glyph=\"add-photo\"\n fdType=\"transparent\"\n [label]=\"'AttachFile' | bbbTranslate\"\n (click)=\"uploader.open()\"\n ></button>\n </fd-card-content>\n\n <fd-card-footer style=\"border-top: 1px solid #ccc\">\n <button fd-button [glyph]=\"'overflow'\" [fdType]=\"'transparent'\" [fdMenuTrigger]=\"menu\"></button>\n <fd-menu #menu>\n <li fd-menu-item (click)=\"onScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'Scan' | bbbTranslate }}</span>\n </a>\n </li>\n <li fd-menu-item (click)=\"onAdvanceScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'AdvancedScan' | bbbTranslate }}</span>\n </a>\n </li>\n </fd-menu>\n </fd-card-footer>\n </fd-card>\n @if ((uploadingState$ | async)?.uploading === true) {\n <bsu-mask></bsu-mask>\n }\n </div>\n</ng-template>\n<ng-template #dialogTemplate let-dialog let-dialogConfig=\"dialogConfig\">\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl class=\"vertical\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 fd-title>{{ Setting.ControlFieldCaptionTranslated }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n @if (!dialogConfig.fullscreen) {\n <fd-button-bar\n ariaLabel=\"Fit image size\"\n [glyph]=\"'resize'\"\n [fdType]=\"fillWidth ? 'emphasized' : 'transparent'\"\n (click)=\"fillWidth = !fillWidth\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"dialog.close()\"></fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body #fdbody>\n <div #gallery class=\"gallery inDialog\" style=\"flex: 1\">\n @for (media of dialog.data.mediaData; track media.FileId; let i = $index) {\n <div\n class=\"column big-imgs-box\"\n [class.fill-width]=\"fillWidth\"\n [class.fill-all]=\"fillAll\"\n [class.fill-original]=\"fillOriginal\"\n [ngClass]=\"selectedZoom\"\n >\n <fd-toolbar fdType=\"solid\" fdType=\"transparent\" [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <button fd-toolbar-item fd-button glyph=\"rotate\" (click)=\"onRotate(img, media, i)\"></button>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n </fd-toolbar>\n <div class=\"pics\" [id]=\"i\">\n <bsu-mask></bsu-mask>\n <img #img imgLazy [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\n </div>\n </div>\n }\n </div>\n @if ((deviceSize$ | async) !== 's') {\n <div class=\"thumbnail\" style=\"flex-shrink: 1\">\n <ng-cotainer\n *ngTemplateOutlet=\"layoutGridTpl; context: { inDialog: true, gallery: this.gallery }\"\n ></ng-cotainer>\n </div>\n }\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{position:relative}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}.big-imgs-box{position:relative}.big-imgs-box>fd-toolbar{position:absolute;z-index:5;opacity:.5}.big-imgs-box>fd-toolbar:hover{opacity:1}fd-toolbar{width:100%}fd-dialog-footer{justify-content:center}.hatchBackground{min-height:100px}.gallery{display:flex;width:100%;height:400px;column-gap:1px;background-color:var(--sapField_Background, #fff)}.gallery ::-webkit-scrollbar{width:7px;height:7px}.gallery ::-webkit-scrollbar-track{box-shadow:inset 0 0 5px gray;border-radius:4px}.gallery ::-webkit-scrollbar-thumb{background:#555454;border-radius:4px}.gallery ::-webkit-scrollbar-thumb:hover{background:#2c2b2b}.gallery .column{overflow-y:scroll;display:flex;flex-direction:column;row-gap:3%;align-items:center}.gallery .column .pics{width:100%;display:flex;justify-content:center}.gallery .column .pics img{border-radius:5px}.gallery .column.small-imgs-box{flex:10%}.gallery .column.big-imgs-box{flex:90%}.gallery .selected{background-color:#fff;border:3px solid #0294d8;padding:10px}.gallery .fill-all .pics{height:100%}.gallery .fill-all img{width:100%!important;height:100%!important;object-fit:fill!important}.gallery .fill-original img{width:unset;height:unset}.gallery .zoom1 img{zoom:1}.gallery .zoom1-5 img{zoom:1.5}.gallery .zoom2 img{zoom:2}fd-dialog .gallery{overflow:auto}fd-dialog .gallery .column{overflow:initial}fd-dialog .gallery .pics{position:relative}fd-dialog fd-dialog-body{display:flex}fd-dialog.horizontal fd-dialog-body{flex-direction:column}fd-dialog.horizontal .gallery{flex-direction:row}fd-dialog.horizontal .thumbnail{border-top:1px solid #ccc;overflow-x:auto}fd-dialog.vertical fd-dialog-body{flex-direction:row-reverse}fd-dialog.vertical .gallery{flex-direction:column;height:100%}fd-dialog.vertical .thumbnail{border-left:1px solid #ccc;height:100%;width:200px;overflow-y:auto}fd-dialog.vertical .thumbnail ::ng-deep .fd-row>div{width:100%;min-width:100%}fd-card.media fd-card-footer button{border:none}fd-card.inDialog fd-card-header{padding-top:5px;padding-bottom:5px}.fd-col{min-width:165px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ImageLazyDirective, selector: "[imgLazy]", inputs: ["auto", "threshold", "imgLazy"], outputs: ["imageLoaded"] }, { kind: "directive", type: i3.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "component", type: i5.CardFooterComponent, selector: "fd-card-footer" }, { kind: "directive", type: i5.CardFooterActionItemDirective, selector: "[fdCardFooterActionItem]" }, { kind: "component", type: i6.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }, { kind: "directive", type: i7.InlineHelpDirective, selector: "[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help"] }, { kind: "component", type: i8.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i8.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i8.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i9.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i9.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i9.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i9.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i9.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i10.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i10.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i10.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i11.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i12.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i13.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i13.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i13.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i14.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
246
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiPicturesInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
247
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiPicturesInfoComponent, selector: "bsu-ui-pictures-info", inputs: { value: "value" }, providers: [UploadService], viewQueries: [{ propertyName: "gallery", first: true, predicate: ["gallery"], descendants: true }, { propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'pictures_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n accept=\".png,.jpg,.bpm,.jpeg,.gif,.png,.tif,.pdf\"\n [fileLimit]=\"maxFileCount === 0 ? 100 : maxFileCount\"\n [multiple]=\"maxFileCount === 0 || maxFileCount > 1\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n\n<ng-container *ngTemplateOutlet=\"layoutGridTpl\"></ng-container>\n<ng-template #layoutGridTpl let-inDialog=\"inDialog\" let-gallery=\"gallery\">\n <fd-layout-grid>\n @if (mediaData$ | async; as mediaData) {\n <div fdLayoutGridRow>\n @for (media of mediaData; track media; let i = $index) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\" (click)=\"onMedaiClick(gallery, media, i)\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTpl;\n context: { $implicit: media, mediaData: this.mediaData, inDialog: this.inDialog, index: i }\n \"\n ></ng-container>\n </div>\n } @if (!inDialog && (disableOrReadonly$ | async) === true ? false : true) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\">\n <ng-container *ngTemplateOutlet=\"newFile\"></ng-container>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n</ng-template>\n<ng-template #cardTpl let-media let-mediaData=\"mediaData\" let-inDialog=\"inDialog\" let-index=\"index\">\n <fd-card class=\"media\" [class.inDialog]=\"inDialog\">\n <fd-card-content style=\"text-align: center; height: 120px\">\n <img imgLazy [imgLazy]=\"media.thumbnailUrl\" [src]=\"media.thumbnailUrl\" #img />\n </fd-card-content>\n @if (!inDialog) {\n <fd-card-footer>\n <button\n glyph=\"message-information\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n [fd-inline-help]=\"media.title\"\n [triggers]=\"['click']\"\n [closeOnOutsideClick]=\"true\"\n ></button>\n <button *fdCardFooterActionItem fd-button glyph=\"rotate\" (click)=\"onRotate(img, media, index)\"></button>\n\n <button\n glyph=\"full-screen\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onFullscreen(media, mediaData)\"\n ></button>\n @if ((disableOrReadonly$ | async) === true ? false : true) {\n <button\n glyph=\"delete\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onDelete(index)\"\n ></button>\n }\n </fd-card-footer>\n }\n </fd-card>\n</ng-template>\n<ng-template #newFile>\n <div style=\"position: relative; height: 100%\">\n <fd-card>\n <fd-card-content style=\"display: flex; align-items: center; justify-content: center; min-height: 120px\">\n <button\n fd-button\n glyph=\"add-photo\"\n fdType=\"transparent\"\n [label]=\"'AttachFile' | bbbTranslate\"\n (click)=\"uploader.open()\"\n ></button>\n </fd-card-content>\n\n <fd-card-footer style=\"border-top: 1px solid #ccc\">\n <button fd-button [glyph]=\"'overflow'\" [fdType]=\"'transparent'\" [fdMenuTrigger]=\"menu\"></button>\n <fd-menu #menu>\n <li fd-menu-item (click)=\"onScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'Scan' | bbbTranslate }}</span>\n </a>\n </li>\n <li fd-menu-item (click)=\"onAdvanceScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'AdvancedScan' | bbbTranslate }}</span>\n </a>\n </li>\n </fd-menu>\n </fd-card-footer>\n </fd-card>\n @if ((uploadingState$ | async)?.uploading === true) {\n <bsu-mask></bsu-mask>\n }\n </div>\n</ng-template>\n<ng-template #dialogTemplate let-dialog let-dialogConfig=\"dialogConfig\">\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl class=\"vertical\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 fd-title>{{ Setting.ControlFieldCaptionTranslated }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n @if (!dialogConfig.fullscreen) {\n <fd-button-bar\n ariaLabel=\"Fit image size\"\n [glyph]=\"'resize'\"\n [fdType]=\"fillWidth ? 'emphasized' : 'transparent'\"\n (click)=\"fillWidth = !fillWidth\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"dialog.close()\"></fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body #fdbody>\n <div #gallery class=\"gallery inDialog\" style=\"flex: 1\">\n @for (media of dialog.data.mediaData; track media.FileId; let i = $index) {\n <div\n class=\"column big-imgs-box\"\n [class.fill-width]=\"fillWidth\"\n [class.fill-all]=\"fillAll\"\n [class.fill-original]=\"fillOriginal\"\n [ngClass]=\"selectedZoom\"\n >\n <fd-toolbar fdType=\"solid\" fdType=\"transparent\" [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <button fd-toolbar-item fd-button glyph=\"rotate\" (click)=\"onRotate(img, media, i)\"></button>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n </fd-toolbar>\n <div class=\"pics\" [id]=\"i\">\n <bsu-mask></bsu-mask>\n <img #img imgLazy [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\n </div>\n </div>\n }\n </div>\n @if ((deviceSize$ | async) !== 's') {\n <div class=\"thumbnail\" style=\"flex-shrink: 1\">\n <ng-cotainer\n *ngTemplateOutlet=\"layoutGridTpl; context: { inDialog: true, gallery: this.gallery }\"\n ></ng-cotainer>\n </div>\n }\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{position:relative}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}.big-imgs-box{position:relative}.big-imgs-box>fd-toolbar{position:absolute;z-index:5;opacity:.5}.big-imgs-box>fd-toolbar:hover{opacity:1}fd-toolbar{width:100%}fd-dialog-footer{justify-content:center}.hatchBackground{min-height:100px}.gallery{display:flex;width:100%;height:400px;column-gap:1px;background-color:var(--sapField_Background, #fff)}.gallery ::-webkit-scrollbar{width:7px;height:7px}.gallery ::-webkit-scrollbar-track{box-shadow:inset 0 0 5px gray;border-radius:4px}.gallery ::-webkit-scrollbar-thumb{background:#555454;border-radius:4px}.gallery ::-webkit-scrollbar-thumb:hover{background:#2c2b2b}.gallery .column{overflow-y:scroll;display:flex;flex-direction:column;row-gap:3%;align-items:center}.gallery .column .pics{width:100%;display:flex;justify-content:center}.gallery .column .pics img{border-radius:5px}.gallery .column.small-imgs-box{flex:10%}.gallery .column.big-imgs-box{flex:90%}.gallery .selected{background-color:#fff;border:3px solid #0294d8;padding:10px}.gallery .fill-all .pics{height:100%}.gallery .fill-all img{width:100%!important;height:100%!important;object-fit:fill!important}.gallery .fill-original img{width:unset;height:unset}.gallery .zoom1 img{zoom:1}.gallery .zoom1-5 img{zoom:1.5}.gallery .zoom2 img{zoom:2}fd-dialog .gallery{overflow:auto}fd-dialog .gallery .column{overflow:initial}fd-dialog .gallery .pics{position:relative}fd-dialog fd-dialog-body{display:flex}fd-dialog.horizontal fd-dialog-body{flex-direction:column}fd-dialog.horizontal .gallery{flex-direction:row}fd-dialog.horizontal .thumbnail{border-top:1px solid #ccc;overflow-x:auto}fd-dialog.vertical fd-dialog-body{flex-direction:row-reverse}fd-dialog.vertical .gallery{flex-direction:column;height:100%}fd-dialog.vertical .thumbnail{border-left:1px solid #ccc;height:100%;width:200px;overflow-y:auto}fd-dialog.vertical .thumbnail ::ng-deep .fd-row>div{width:100%;min-width:100%}fd-card.media fd-card-footer button{border:none}fd-card.inDialog fd-card-header{padding-top:5px;padding-bottom:5px}.fd-col{min-width:165px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ImageLazyDirective, selector: "[imgLazy]", inputs: ["auto", "threshold", "imgLazy"], outputs: ["imageLoaded"] }, { kind: "directive", type: i3.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "component", type: i5.CardFooterComponent, selector: "fd-card-footer" }, { kind: "directive", type: i5.CardFooterActionItemDirective, selector: "[fdCardFooterActionItem]" }, { kind: "component", type: i6.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }, { kind: "directive", type: i7.InlineHelpDirective, selector: "[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help"] }, { kind: "component", type: i8.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i8.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i8.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i9.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i9.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i9.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i9.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i9.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i10.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i10.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i10.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i11.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i12.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i13.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i13.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i13.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i14.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
248
248
  }
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiPicturesInfoComponent, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiPicturesInfoComponent, decorators: [{
250
250
  type: Component,
251
251
  args: [{ selector: 'bsu-ui-pictures-info', providers: [UploadService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-file-uploader\n #uploader\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'pictures_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n accept=\".png,.jpg,.bpm,.jpeg,.gif,.png,.tif,.pdf\"\n [fileLimit]=\"maxFileCount === 0 ? 100 : maxFileCount\"\n [multiple]=\"maxFileCount === 0 || maxFileCount > 1\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n></fd-file-uploader>\n\n<ng-container *ngTemplateOutlet=\"layoutGridTpl\"></ng-container>\n<ng-template #layoutGridTpl let-inDialog=\"inDialog\" let-gallery=\"gallery\">\n <fd-layout-grid>\n @if (mediaData$ | async; as mediaData) {\n <div fdLayoutGridRow>\n @for (media of mediaData; track media; let i = $index) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\" (click)=\"onMedaiClick(gallery, media, i)\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTpl;\n context: { $implicit: media, mediaData: this.mediaData, inDialog: this.inDialog, index: i }\n \"\n ></ng-container>\n </div>\n } @if (!inDialog && (disableOrReadonly$ | async) === true ? false : true) {\n <div [fdLayoutGridCol]=\"6\" [colMd]=\"3\" [colLg]=\"2\" [colXl]=\"2\">\n <ng-container *ngTemplateOutlet=\"newFile\"></ng-container>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n</ng-template>\n<ng-template #cardTpl let-media let-mediaData=\"mediaData\" let-inDialog=\"inDialog\" let-index=\"index\">\n <fd-card class=\"media\" [class.inDialog]=\"inDialog\">\n <fd-card-content style=\"text-align: center; height: 120px\">\n <img imgLazy [imgLazy]=\"media.thumbnailUrl\" [src]=\"media.thumbnailUrl\" #img />\n </fd-card-content>\n @if (!inDialog) {\n <fd-card-footer>\n <button\n glyph=\"message-information\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n [fd-inline-help]=\"media.title\"\n [triggers]=\"['click']\"\n [closeOnOutsideClick]=\"true\"\n ></button>\n <button *fdCardFooterActionItem fd-button glyph=\"rotate\" (click)=\"onRotate(img, media, index)\"></button>\n\n <button\n glyph=\"full-screen\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onFullscreen(media, mediaData)\"\n ></button>\n @if ((disableOrReadonly$ | async) === true ? false : true) {\n <button\n glyph=\"delete\"\n *fdCardFooterActionItem\n fd-button\n fdType=\"transparent\"\n (click)=\"onDelete(index)\"\n ></button>\n }\n </fd-card-footer>\n }\n </fd-card>\n</ng-template>\n<ng-template #newFile>\n <div style=\"position: relative; height: 100%\">\n <fd-card>\n <fd-card-content style=\"display: flex; align-items: center; justify-content: center; min-height: 120px\">\n <button\n fd-button\n glyph=\"add-photo\"\n fdType=\"transparent\"\n [label]=\"'AttachFile' | bbbTranslate\"\n (click)=\"uploader.open()\"\n ></button>\n </fd-card-content>\n\n <fd-card-footer style=\"border-top: 1px solid #ccc\">\n <button fd-button [glyph]=\"'overflow'\" [fdType]=\"'transparent'\" [fdMenuTrigger]=\"menu\"></button>\n <fd-menu #menu>\n <li fd-menu-item (click)=\"onScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'Scan' | bbbTranslate }}</span>\n </a>\n </li>\n <li fd-menu-item (click)=\"onAdvanceScan()\">\n <a fd-menu-interactive>\n <span fd-menu-title>{{ 'AdvancedScan' | bbbTranslate }}</span>\n </a>\n </li>\n </fd-menu>\n </fd-card-footer>\n </fd-card>\n @if ((uploadingState$ | async)?.uploading === true) {\n <bsu-mask></bsu-mask>\n }\n </div>\n</ng-template>\n<ng-template #dialogTemplate let-dialog let-dialogConfig=\"dialogConfig\">\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTpl class=\"vertical\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 fd-title>{{ Setting.ControlFieldCaptionTranslated }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n @if (!dialogConfig.fullscreen) {\n <fd-button-bar\n ariaLabel=\"Fit image size\"\n [glyph]=\"'resize'\"\n [fdType]=\"fillWidth ? 'emphasized' : 'transparent'\"\n (click)=\"fillWidth = !fillWidth\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"dialog.close()\"></fd-button-bar>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body #fdbody>\n <div #gallery class=\"gallery inDialog\" style=\"flex: 1\">\n @for (media of dialog.data.mediaData; track media.FileId; let i = $index) {\n <div\n class=\"column big-imgs-box\"\n [class.fill-width]=\"fillWidth\"\n [class.fill-all]=\"fillAll\"\n [class.fill-original]=\"fillOriginal\"\n [ngClass]=\"selectedZoom\"\n >\n <fd-toolbar fdType=\"solid\" fdType=\"transparent\" [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <button fd-toolbar-item fd-button glyph=\"rotate\" (click)=\"onRotate(img, media, i)\"></button>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n </fd-toolbar>\n <div class=\"pics\" [id]=\"i\">\n <bsu-mask></bsu-mask>\n <img #img imgLazy [imgLazy]=\"media.mediaUrl\" [src]=\"media.mediaUrl\" />\n </div>\n </div>\n }\n </div>\n @if ((deviceSize$ | async) !== 's') {\n <div class=\"thumbnail\" style=\"flex-shrink: 1\">\n <ng-cotainer\n *ngTemplateOutlet=\"layoutGridTpl; context: { inDialog: true, gallery: this.gallery }\"\n ></ng-cotainer>\n </div>\n }\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n", styles: [":host{position:relative}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}.big-imgs-box{position:relative}.big-imgs-box>fd-toolbar{position:absolute;z-index:5;opacity:.5}.big-imgs-box>fd-toolbar:hover{opacity:1}fd-toolbar{width:100%}fd-dialog-footer{justify-content:center}.hatchBackground{min-height:100px}.gallery{display:flex;width:100%;height:400px;column-gap:1px;background-color:var(--sapField_Background, #fff)}.gallery ::-webkit-scrollbar{width:7px;height:7px}.gallery ::-webkit-scrollbar-track{box-shadow:inset 0 0 5px gray;border-radius:4px}.gallery ::-webkit-scrollbar-thumb{background:#555454;border-radius:4px}.gallery ::-webkit-scrollbar-thumb:hover{background:#2c2b2b}.gallery .column{overflow-y:scroll;display:flex;flex-direction:column;row-gap:3%;align-items:center}.gallery .column .pics{width:100%;display:flex;justify-content:center}.gallery .column .pics img{border-radius:5px}.gallery .column.small-imgs-box{flex:10%}.gallery .column.big-imgs-box{flex:90%}.gallery .selected{background-color:#fff;border:3px solid #0294d8;padding:10px}.gallery .fill-all .pics{height:100%}.gallery .fill-all img{width:100%!important;height:100%!important;object-fit:fill!important}.gallery .fill-original img{width:unset;height:unset}.gallery .zoom1 img{zoom:1}.gallery .zoom1-5 img{zoom:1.5}.gallery .zoom2 img{zoom:2}fd-dialog .gallery{overflow:auto}fd-dialog .gallery .column{overflow:initial}fd-dialog .gallery .pics{position:relative}fd-dialog fd-dialog-body{display:flex}fd-dialog.horizontal fd-dialog-body{flex-direction:column}fd-dialog.horizontal .gallery{flex-direction:row}fd-dialog.horizontal .thumbnail{border-top:1px solid #ccc;overflow-x:auto}fd-dialog.vertical fd-dialog-body{flex-direction:row-reverse}fd-dialog.vertical .gallery{flex-direction:column;height:100%}fd-dialog.vertical .thumbnail{border-left:1px solid #ccc;height:100%;width:200px;overflow-y:auto}fd-dialog.vertical .thumbnail ::ng-deep .fd-row>div{width:100%;min-width:100%}fd-card.media fd-card-footer button{border:none}fd-card.inDialog fd-card-header{padding-top:5px;padding-bottom:5px}.fd-col{min-width:165px}\n"] }]
252
252
  }], propDecorators: { value: [{
@@ -258,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
258
258
  type: ViewChild,
259
259
  args: ['dialogTemplate', { read: TemplateRef }]
260
260
  }] } });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcGljdHVyZXMtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1waWN0dXJlcy1pbmZvL3VpLXBpY3R1cmVzLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcGljdHVyZXMtaW5mby91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEVBQ1QsV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkUsT0FBTyxFQUNILFFBQVEsRUFDUixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUV4QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBU3pFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSw0QkFBNEI7SUFQekU7O1FBb0JJLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUduQyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFVLEVBQUUsQ0FBQyxDQUFDO1FBR25ELGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFJbkIsaUJBQVksR0FBa0MsT0FBTyxDQUFDO1FBSzlDLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO0tBK1A3RDtJQTdQRyxRQUFR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ekNwRCxncE9BbUtBOzsyRkRwSWEsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLHNCQUFzQixhQUdyQixDQUFDLGFBQWEsQ0FBQyxtQkFDVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBUWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDZ0MsY0FBYztzQkFBakUsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgY29uY2F0TWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29udGVudERlbnNpdHkgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhcnNhQXBpLFxuICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXG4gICAgRmlsZXNWYWxpZGF0aW9uSGVscGVyLFxuICAgIElVcGxvYWRpbmdTdGF0ZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGV2aWNlLWluZm8tZmllbGQtYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVpLXBpY3R1cmVzLWluZm8nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbVXBsb2FkU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlQaWN0dXJlc0luZm9Db21wb25lbnQgZXh0ZW5kcyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHZhbHVlOiB7XG4gICAgICAgIElkOiBzdHJpbmc7XG4gICAgICAgIEZpbGVJZDogc3RyaW5nO1xuICAgICAgICBGaWxlTmFtZTogc3RyaW5nO1xuICAgICAgICBXaWR0aDogc3RyaW5nO1xuICAgICAgICBIZWlnaHQ6IHN0cmluZztcbiAgICAgICAgU2l6ZTogc3RyaW5nO1xuICAgIH1bXTtcbiAgICBAVmlld0NoaWxkKCdnYWxsZXJ5JykgZ2FsbGVyeSE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ2RpYWxvZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBkaWFsb2dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHVwbG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxJVXBsb2FkaW5nU3RhdGU+O1xuICAgIGNhbmNlbGF0aW9uJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgY29udGVudERlbnNpdHkkOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5PjtcbiAgICBmaWxlczogRmlsZVtdO1xuICAgIG1lZGlhRGF0YVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVkaWFbXT4oW10pO1xuICAgIG1lZGlhRGF0YSQ6IE9ic2VydmFibGU8TWVkaWFbXT47XG4gICAgaXNNb2JpbGU6IGFueTtcbiAgICBzZWxlY3RlZEluZGV4ID0gLTE7XG4gICAgZmlsbFdpZHRoOiBib29sZWFuO1xuICAgIGZpbGxBbGw6IGJvb2xlYW47XG4gICAgZmlsbE9yaWdpbmFsOiBib29sZWFuO1xuICAgIHNlbGVjdGVkWm9vbTogJ3pvb20xJyB8ICd6b29tMS01JyB8ICd6b29tMicgPSAnem9vbTEnO1xuICAgIGZpbGVzVmFsaWRhdGlvbkhlbHBlcjogRmlsZXNWYWxpZGF0aW9uSGVscGVyO1xuICAgIG1heEZpbGVDb3VudDogbnVtYmVyO1xuICAgIGZpbGVDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgIHByaXZhdGUgX2ZpbGVDb3VudFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVDb3VudCQgPSB0aGlzLl9maWxlQ291bnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMubWVkaWFEYXRhJCA9IHRoaXMubWVkaWFEYXRhU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdTdGF0ZSQgPSB0aGlzLl91cGxvYWRTZXJ2aWNlLnVwbG9hZGluZ1N0YXRlJDtcbiAgICAgICAgdGhpcy52YWx1ZSQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5fc2V0RmlsZUNvdW50KHZhbHVlKSk7XG5cbiAgICAgICAgdGhpcy5maWxlc1ZhbGlkYXRpb25IZWxwZXIgPSBuZXcgRmlsZXNWYWxpZGF0aW9uSGVscGVyKFxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFBpY3R1cmVDb3VudCxcbiAgICAgICAgICAgIHRoaXMuU2V0dGluZy5NYXhGaWxlU2l6ZUtiLFxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFRvdGFsRmlsZVNpemVLYlxuICAgICAgICApO1xuICAgICAgICB0aGlzLm1heEZpbGVDb3VudCA9IHRoaXMuZmlsZXNWYWxpZGF0aW9uSGVscGVyLm1heEZpbGVDb3VudDtcblxuICAgICAgICB0aGlzLl9wcmVwYXJlR2FsbGVyeSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm9uKHtcbiAgICAgICAgICAgIERpc3BsYXlJbWFnZXM6IHRoaXMuX2Rpc3BsYXlJbWFnZXMuYmluZCh0aGlzKVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuY29udGV4dC51bignRGlzcGxheUltYWdlcycsIHRoaXMuX2Rpc3BsYXlJbWFnZXMpO1xuICAgIH1cbiAgICBvblJvdGF0ZShpbWdFbDogSFRNTEltYWdlRWxlbWVudCwgbWVkaWEyOiBNZWRpYSwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSAxO1xuICAgICAgICBjb25zdCBtZWRpYTogYW55ID0gbWVkaWEyO1xuICAgICAgICBjb25zdCBicElkID0gbWVkaWEuRmlsZUlkO1xuICAgICAgICBjb25zdCBhbmdsZSA9IDkwICogZGlyZWN0aW9uO1xuICAgICAgICBpZiAobWVkaWEuUm90YXRpb25BbmdsZSkge1xuICAgICAgICAgICAgbWVkaWEuUm90YXRpb25BbmdsZSA9IChtZWRpYS5Sb3RhdGlvbkFuZ2xlICsgYW5nbGUpICUgMzYwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWVkaWEuUm90YXRpb25BbmdsZSA9IGFuZ2xlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdyA9IGltZ0VsLm9mZnNldFdpZHRoO1xuICAgICAgICBjb25zdCBoID0gaW1nRWwub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBsZXQgbWFyZ2luID0gKHcgLSBoKSAvIDI7XG4gICAgICAgIGxldCBzY2FsZUZhY3RvciA9IHcgLyBoO1xuICAgICAgICBpZiAobWVkaWEuc2NhbGVGYWN0b3IpIHtcbiAgICAgICAgICAgIHNjYWxlRmFjdG9yID0gMTtcbiAgICAgICAgICAgIG1lZGlhLnNjYWxlRmFjdG9yID0gbnVsbDtcbiAgICAgICAgICAgIG1hcmdpbiA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtZWRpYS5zY2FsZUZhY3RvciA9IHNjYWxlRmFjdG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNjYWxlRmFjdG9yIDwgMSkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGltZ0VsLCAndHJhbnNmb3JtJywgYHJvdGF0ZSgke21lZGlhLlJvdGF0aW9uQW5nbGV9ZGVnKSBzY2FsZSgke3NjYWxlRmFjdG9yfSlgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShpbWdFbCwgJ3RyYW5zZm9ybScsIGByb3RhdGUoJHttZWRpYS5Sb3RhdGlvbkFuZ2xlfWRlZylgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoaW1nRWwsICdtYXJnaW4tYm90dG9tJywgbWFyZ2luICsgJ3B4Jyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShpbWdFbCwgJ21hcmdpbi10b3AnLCBtYXJnaW4gKyAncHgnKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnU2V0dGluZ3NDaGFuZ2UnLCB0aGlzLCB7XG4gICAgICAgICAgICBGaWxlSWQ6IGJwSWQsXG4gICAgICAgICAgICBBbmdsZTogbWVkaWEuUm90YXRpb25BbmdsZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgb25GdWxsc2NyZWVuKG1lZGlhLCBtZWRpYURhdGEpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGlhbG9nQ29uZmlnID0ge1xuICAgICAgICAgICAgZGF0YTogeyBtZWRpYSwgbWVkaWFEYXRhIH0sXG4gICAgICAgICAgICBlc2NLZXlDbG9zZWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgbW9iaWxlOiB0cnVlLFxuICAgICAgICAgICAgdmVydGljYWxQYWRkaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5kaWFsb2dUZW1wbGF0ZSwgZGlhbG9nQ29uZmlnKTtcbiAgICB9XG4gICAgb25NZWRhaUNsaWNrKGdhbGxlcnksIG1lZGlhLCBpbmRleCk6IHZvaWQge1xuICAgICAgICBnYWxsZXJ5ICYmIGdhbGxlcnkucXVlcnlTZWxlY3RvcignW2lkPVwiJyArIFN0cmluZyhpbmRleCkgKyAnXCJdJyk/LnNjcm9sbEludG9WaWV3KHRydWUpO1xuICAgIH1cbiAgICBvblRodW1ibmFpbENsaWNrZWQoaW1nSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpbWdJbmRleDtcbiAgICAgICAgdGhpcy5nYWxsZXJ5Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW2lkPVwiJyArIFN0cmluZyhpbWdJbmRleCkgKyAnXCJdJyk/LnNjcm9sbEludG9WaWV3KHRydWUpO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGluZGV4KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTWVkaWEgPSB0aGlzLnZhbHVlW2luZGV4XTtcbiAgICAgICAgdGhpcy5fZGVsZXRlTWVkaWEoc2VsZWN0ZWRNZWRpYSk7XG4gICAgfVxuICAgIG9uU2NhbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2NhbkhlbHBlcihmYWxzZSk7XG4gICAgfVxuXG4gICAgb25BZHZhbmNlU2NhbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2NhbkhlbHBlcih0cnVlKTtcbiAgICB9XG5cbiAgICBvblpvb21JbigpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkWm9vbSkge1xuICAgICAgICAgICAgY2FzZSAnem9vbTEnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0gJ3pvb20xLTUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnem9vbTEtNSc6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSAnem9vbTInO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25ab29tT3V0KCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0ZWRab29tKSB7XG4gICAgICAgICAgICBjYXNlICd6b29tMic6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSAnem9vbTEtNSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd6b29tMS01JzpcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9ICd6b29tMSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZpbGxPcmlnaW5hbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maWxsQWxsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlsbE9yaWdpbmFsID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkZpbGxXaWR0aCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWxsV2lkdGggPSB0cnVlO1xuICAgICAgICB0aGlzLmZpbGxBbGwgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maWxsT3JpZ2luYWwgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkZpbGxBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsbEFsbCA9IHRydWU7XG4gICAgICAgIHRoaXMuZmlsbE9yaWdpbmFsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlsbFdpZHRoID0gZmFsc2U7XG4gICAgfVxuICAgIG9uRmlsZVNlbGVjdGlvbihmaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsZXNWYWxpZGF0aW9uSGVscGVyLnZhbGlkYXRlRmlsZXMoZmlsZXMpO1xuICAgICAgICB0aGlzLnVwbG9hZFRvU2VydmVyKGZpbGVzKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZGVsZXRlTWVkaWEoc2VsZWN0ZWRNZWRpYSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IElkLCBGaWxlSWQgfSA9IHNlbGVjdGVkTWVkaWE7XG4gICAgICAgIGxldCBzZWxlY3RlZElkID0gSWQ7XG4gICAgICAgIGlmICghc2VsZWN0ZWRJZCkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJZCA9IEZpbGVJZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWxlY3RlZFBpY0luZGV4ID0gdGhpcy52YWx1ZS5maW5kSW5kZXgoKGMpID0+IGMuSWQgPT09IHNlbGVjdGVkSWQgfHwgYy5GaWxlSWQgPT09IHNlbGVjdGVkSWQpO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5maWx0ZXIoKGMpID0+IGMuSWQgIT09IHNlbGVjdGVkSWQgJiYgYy5GaWxlSWQgIT09IHNlbGVjdGVkSWQpO1xuICAgICAgICB0aGlzLl9wcmVwYXJlR2FsbGVyeSh0aGlzLnZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnQ2hhbmdlJywge1xuICAgICAgICAgICAgRmlsZUlkOiBzZWxlY3RlZElkLFxuICAgICAgICAgICAgSXNEZWxldGVkOiB0cnVlLFxuICAgICAgICAgICAgT2xkSW5kZXg6IHNlbGVjdGVkUGljSW5kZXhcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2NhbkhlbHBlcihpc0FkdmFuY2VkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNjYW5uZXIgPSBuZXcgQmFyc2FBcGkuQ29tbW9uLkJhcnNhU2Nhbm5lcih7XG4gICAgICAgICAgICBTY2FubmVyQWdlbnRQYXJhbXM6IHRoaXMuY29udGV4dC5TY2FubmVyQWdlbnRQYXJhbXNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc2Nhbm5lci5vbihCYXJzYUFwaS5Db21tb24uQmFyc2FTY2FubmVyLkV2ZW50RW51bS5TY2FuUmVzdWx0UmVhZHksIHRoaXMuX29uU2NhblJlc3VsdF9SZWFkeSwgdGhpcyk7XG4gICAgICAgIHNjYW5uZXIub24oQmFyc2FBcGkuQ29tbW9uLkJhcnNhU2Nhbm5lci5FdmVudEVudW0uU2NhbkVycm9yLCB0aGlzLl9vblNjYW5fRXJyb3IsIHRoaXMpO1xuICAgICAgICBzY2FubmVyLm9uKEJhcnNhQXBpLkNvbW1vbi5CYXJzYVNjYW5uZXIuRXZlbnRFbnVtLlNob3dXYXJybmluZywgdGhpcy5fb25TY2FuX1dhcnJuaW5nLCB0aGlzKTtcbiAgICAgICAgQmFyc2FBcGkuVWwuTG9hZGluZ01hc2suTWFzayh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBzY2FubmVyLlNjYW4oaXNBZHZhbmNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9vblNjYW5SZXN1bHRfUmVhZHkoY29udGVudHMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXBsb2FkU2Nhbihjb250ZW50cyk7XG4gICAgICAgIEJhcnNhQXBpLlVsLkxvYWRpbmdNYXNrLlVubWFzayh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfb25TY2FuX1dhcnJuaW5nKHRleHQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgQmFyc2FBcGkuVWwuTXNnQm94LkVycm9yKHRleHQpO1xuICAgICAgICB9XG4gICAgICAgIEJhcnNhQXBpLlVsLkxvYWRpbmdNYXNrLlVubWFzayh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfb25TY2FuX0Vycm9yKGVycik6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIGVyciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIEJhcnNhQXBpLlVsLk1zZ0JveC5FcnJvcihlcnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQmFyc2FBcGkuVWwuTG9hZGluZ01hc2suVW5tYXNrKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF91cGxvYWRTY2FuKGNvbnRlbnRzKTogdm9pZCB7XG4gICAgICAgIGlmIChjb250ZW50cyAmJiBjb250ZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb250ZW50cy5mb3JFYWNoKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkJhcnNhU2Nhbm5lci5VcGxvYWRTY2FuQ29udGVudCh0aGlzLmNvbnRleHQuRmllbGREZWZJZCwgY29udGVudCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiAoZmlsZU9iaikgdGhpcy5fb25VcGxvYWRXaW5fTmV3RmlsZVVwbG9hZChudWxsLCBmaWxlT2JqKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEJhcnNhQXBpLlVsLk1zZ0JveC5XYXJuaW5nKHRoaXMuX2JiYlBpcGUudHJhbnNmb3JtKCdTY2FuUmVzdWx0Tm90Rm91bmQnKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3ByZXBhcmVHYWxsZXJ5KHZhbHVlOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhOiBhbnlbXSA9IFtdO1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZWRpYVVybCA9IHRoaXMuX3BpY0ZpZWxkU3JjLnRyYW5zZm9ybShpdGVtLkZpbGVJZCwgJ0JhcnNhUGljdHVyZS5GdWxsJywgbnVsbCk7XG4gICAgICAgICAgICBjb25zdCB0aHVtYm5haWxVcmwgPSB0aGlzLl9waWNGaWVsZFNyYy50cmFuc2Zvcm0oaXRlbS5GaWxlSWQsICdCYXJzYVBpY3R1cmUuVGh1bWJuYWlsJywgbnVsbCk7XG4gICAgICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgICAgICAgIElkOiBpdGVtLklkLFxuICAgICAgICAgICAgICAgIEZpbGVJZDogaXRlbS5GaWxlSWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0uRmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgbWVkaWFUeXBlOiAnaW1hZ2UnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBpdGVtLkZpbGVOYW1lLFxuICAgICAgICAgICAgICAgIG1lZGlhVXJsOiBgJHttZWRpYVVybH0mY3JlYXRlRGF0ZT0ke2l0ZW0uQ3JlYXRlRGF0ZX1gLFxuICAgICAgICAgICAgICAgIHRodW1ibmFpbFVybDogYCR7dGh1bWJuYWlsVXJsfSZjcmVhdGVEYXRlPSR7aXRlbS5DcmVhdGVEYXRlfWAsXG4gICAgICAgICAgICAgICAgYWx0OiAnRmFpbGVkIHRvIGxvYWQgJyArIG1lZGlhVXJsLFxuICAgICAgICAgICAgICAgIGNyZWF0ZURhdGU6IGl0ZW0uQ3JlYXRlRGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1lZGlhRGF0YVNvdXJjZS5uZXh0KGRhdGEpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGxvYWRUb1NlcnZlcihmaWxlczogRmlsZVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwbG9hZFNlcnZpY2UuY29tcHJlc3NGaWxlcyQoZmlsZXMpLnBpcGUoXG4gICAgICAgICAgICBjb25jYXRNYXAoKGZvcm1EYXRhKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwbG9hZFNlcnZpY2UudXBsb2FkKGZvcm1EYXRhLCB0aGlzLlNldHRpbmcuQ29udHJvbEZpZWxkRGVmSWQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRhcCgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShyZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihlcnIpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3NldEZpbGVDb3VudCh2YWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maWxlQ291bnRTb3VyY2UubmV4dCh2YWx1ZS5maWx0ZXIoKGMpID0+ICFjLklzRGVsZXRlZCkubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWUobmV3VmFsOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIC4uLm5ld1ZhbF07XG4gICAgICAgIHRoaXMuX3ByZXBhcmVHYWxsZXJ5KHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLmZpcmVDb250ZXh0RXZlbnQoJ0NoYW5nZScsIG5ld1ZhbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9kaXNwbGF5SW1hZ2VzKFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgSWQ6IHN0cmluZztcbiAgICAgICAgICAgIEZpbGVJZDogc3RyaW5nO1xuICAgICAgICAgICAgRmlsZU5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIFdpZHRoOiBzdHJpbmc7XG4gICAgICAgICAgICBIZWlnaHQ6IHN0cmluZztcbiAgICAgICAgICAgIFNpemU6IHN0cmluZztcbiAgICAgICAgfVtdXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHRodW1ibmFpbFVybDogc3RyaW5nO1xuICAgIG1lZGlhVHlwZTogc3RyaW5nO1xuICAgIG1lZGlhVXJsOiBzdHJpbmc7XG4gICAgY2FwdGlvbkZpbGU/OiBzdHJpbmc7XG4gICAgYXVkaW9EZXNjRmlsZT86IHN0cmluZztcbiAgICBhbHQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgICBvdmVybGF5UmVxdWlyZWQ/OiBib29sZWFuO1xufVxuIiwiPGZkLWZpbGUtdXBsb2FkZXJcbiAgICAjdXBsb2FkZXJcbiAgICBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW25hbWVdPVwiJ3BpY3R1cmVzXycgKyBpZFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIidBdHRhY2hQaWN0dXJlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgW2J1dHRvbkxhYmVsXT1cIidBdHRhY2hQaWN0dXJlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgW2J1dHRvbkFyaWFMYWJlbF09XCInQXR0YWNoUGljdHVyZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgIGFjY2VwdD1cIi5wbmcsLmpwZywuYnBtLC5qcGVnLC5naWYsLnBuZywudGlmLC5wZGZcIlxuICAgIFtmaWxlTGltaXRdPVwibWF4RmlsZUNvdW50ID09PSAwID8gMTAwIDogbWF4RmlsZUNvdW50XCJcbiAgICBbbXVsdGlwbGVdPVwibWF4RmlsZUNvdW50ID09PSAwIHx8IG1heEZpbGVDb3VudCA+IDFcIlxuICAgIChzZWxlY3RlZEZpbGVzQ2hhbmdlZCk9XCJvbkZpbGVTZWxlY3Rpb24oJGV2ZW50KVwiXG4+PC9mZC1maWxlLXVwbG9hZGVyPlxuXG48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGF5b3V0R3JpZFRwbFwiPjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNsYXlvdXRHcmlkVHBsIGxldC1pbkRpYWxvZz1cImluRGlhbG9nXCIgbGV0LWdhbGxlcnk9XCJnYWxsZXJ5XCI+XG4gICAgPGZkLWxheW91dC1ncmlkPlxuICAgICAgICBAaWYgKG1lZGlhRGF0YSQgfCBhc3luYzsgYXMgbWVkaWFEYXRhKSB7XG4gICAgICAgIDxkaXYgZmRMYXlvdXRHcmlkUm93PlxuICAgICAgICAgICAgQGZvciAobWVkaWEgb2YgbWVkaWFEYXRhOyB0cmFjayBtZWRpYTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCI2XCIgW2NvbE1kXT1cIjNcIiBbY29sTGddPVwiMlwiIFtjb2xYbF09XCIyXCIgKGNsaWNrKT1cIm9uTWVkYWlDbGljayhnYWxsZXJ5LCBtZWRpYSwgaSlcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXJkVHBsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IG1lZGlhLCBtZWRpYURhdGE6IHRoaXMubWVkaWFEYXRhLCBpbkRpYWxvZzogdGhpcy5pbkRpYWxvZywgaW5kZXg6IGkgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAaWYgKCFpbkRpYWxvZyAmJiAoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gZmFsc2UgOiB0cnVlKSB7XG4gICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiNlwiIFtjb2xNZF09XCIzXCIgW2NvbExnXT1cIjJcIiBbY29sWGxdPVwiMlwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJuZXdGaWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2ZkLWxheW91dC1ncmlkPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY2FyZFRwbCBsZXQtbWVkaWEgbGV0LW1lZGlhRGF0YT1cIm1lZGlhRGF0YVwiIGxldC1pbkRpYWxvZz1cImluRGlhbG9nXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZmQtY2FyZCBjbGFzcz1cIm1lZGlhXCIgW2NsYXNzLmluRGlhbG9nXT1cImluRGlhbG9nXCI+XG4gICAgICAgIDxmZC1jYXJkLWNvbnRlbnQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGhlaWdodDogMTIwcHhcIj5cbiAgICAgICAgICAgIDxpbWcgaW1nTGF6eSBbaW1nTGF6eV09XCJtZWRpYS50aHVtYm5haWxVcmxcIiBbc3JjXT1cIm1lZGlhLnRodW1ibmFpbFVybFwiICNpbWcgLz5cbiAgICAgICAgPC9mZC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIEBpZiAoIWluRGlhbG9nKSB7XG4gICAgICAgIDxmZC1jYXJkLWZvb3Rlcj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBnbHlwaD1cIm1lc3NhZ2UtaW5mb3JtYXRpb25cIlxuICAgICAgICAgICAgICAgICpmZENhcmRGb290ZXJBY3Rpb25JdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIFtmZC1pbmxpbmUtaGVscF09XCJtZWRpYS50aXRsZVwiXG4gICAgICAgICAgICAgICAgW3RyaWdnZXJzXT1cIlsnY2xpY2snXVwiXG4gICAgICAgICAgICAgICAgW2Nsb3NlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uICpmZENhcmRGb290ZXJBY3Rpb25JdGVtIGZkLWJ1dHRvbiBnbHlwaD1cInJvdGF0ZVwiIChjbGljayk9XCJvblJvdGF0ZShpbWcsIG1lZGlhLCBpbmRleClcIj48L2J1dHRvbj5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGdseXBoPVwiZnVsbC1zY3JlZW5cIlxuICAgICAgICAgICAgICAgICpmZENhcmRGb290ZXJBY3Rpb25JdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkZ1bGxzY3JlZW4obWVkaWEsIG1lZGlhRGF0YSlcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgQGlmICgoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gZmFsc2UgOiB0cnVlKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgICpmZENhcmRGb290ZXJBY3Rpb25JdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShpbmRleClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLWNhcmQtZm9vdGVyPlxuICAgICAgICB9XG4gICAgPC9mZC1jYXJkPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbmV3RmlsZT5cbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMCVcIj5cbiAgICAgICAgPGZkLWNhcmQ+XG4gICAgICAgICAgICA8ZmQtY2FyZC1jb250ZW50IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1pbi1oZWlnaHQ6IDEyMHB4XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhZGQtcGhvdG9cIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQXR0YWNoRmlsZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBsb2FkZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2ZkLWNhcmQtY29udGVudD5cblxuICAgICAgICAgICAgPGZkLWNhcmQtZm9vdGVyIHN0eWxlPVwiYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBbZ2x5cGhdPVwiJ292ZXJmbG93J1wiIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiIFtmZE1lbnVUcmlnZ2VyXT1cIm1lbnVcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZmQtbWVudSAjbWVudT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGZkLW1lbnUtaXRlbSAoY2xpY2spPVwib25TY2FuKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyAnU2NhbicgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uQWR2YW5jZVNjYW4oKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7ICdBZHZhbmNlZFNjYW4nIHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvZmQtbWVudT5cbiAgICAgICAgICAgIDwvZmQtY2FyZC1mb290ZXI+XG4gICAgICAgIDwvZmQtY2FyZD5cbiAgICAgICAgQGlmICgodXBsb2FkaW5nU3RhdGUkIHwgYXN5bmMpPy51cGxvYWRpbmcgPT09IHRydWUpIHtcbiAgICAgICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RpYWxvZ1RlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiPlxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiICNkaWFsb2dUcGwgY2xhc3M9XCJ2ZXJ0aWNhbFwiPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBmZC10aXRsZT57eyBTZXR0aW5nLkNvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkIH19PC9oMT5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgQGlmICghZGlhbG9nQ29uZmlnLmZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIkZpdCBpbWFnZSBzaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCIncmVzaXplJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cImZpbGxXaWR0aCA/ICdlbXBoYXNpemVkJyA6ICd0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbGxXaWR0aCA9ICFmaWxsV2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGFyaWFMYWJlbD1cImNsb3NlXCIgZ2x5cGg9XCJkZWNsaW5lXCIgKGNsaWNrKT1cImRpYWxvZy5jbG9zZSgpXCI+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHkgI2ZkYm9keT5cbiAgICAgICAgICAgIDxkaXYgI2dhbGxlcnkgY2xhc3M9XCJnYWxsZXJ5IGluRGlhbG9nXCIgc3R5bGU9XCJmbGV4OiAxXCI+XG4gICAgICAgICAgICAgICAgQGZvciAobWVkaWEgb2YgZGlhbG9nLmRhdGEubWVkaWFEYXRhOyB0cmFjayBtZWRpYS5GaWxlSWQ7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbHVtbiBiaWctaW1ncy1ib3hcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmlsbC13aWR0aF09XCJmaWxsV2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmlsbC1hbGxdPVwiZmlsbEFsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maWxsLW9yaWdpbmFsXT1cImZpbGxPcmlnaW5hbFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkWm9vbVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhciBmZFR5cGU9XCJzb2xpZFwiIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNwYWNlcj48L2ZkLXRvb2xiYXItc3BhY2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC10b29sYmFyLWl0ZW0gZmQtYnV0dG9uIGdseXBoPVwicm90YXRlXCIgKGNsaWNrKT1cIm9uUm90YXRlKGltZywgbWVkaWEsIGkpXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhci1zcGFjZXI+PC9mZC10b29sYmFyLXNwYWNlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC10b29sYmFyPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGljc1wiIFtpZF09XCJpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgI2ltZyBpbWdMYXp5IFtpbWdMYXp5XT1cIm1lZGlhLm1lZGlhVXJsXCIgW3NyY109XCJtZWRpYS5tZWRpYVVybFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmICgoZGV2aWNlU2l6ZSQgfCBhc3luYykgIT09ICdzJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbFwiIHN0eWxlPVwiZmxleC1zaHJpbms6IDFcIj5cbiAgICAgICAgICAgICAgICA8bmctY290YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYXlvdXRHcmlkVHBsOyBjb250ZXh0OiB7IGluRGlhbG9nOiB0cnVlLCBnYWxsZXJ5OiB0aGlzLmdhbGxlcnkgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY290YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cbiAgICA8L2ZkLWRpYWxvZz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcGljdHVyZXMtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1waWN0dXJlcy1pbmZvL3VpLXBpY3R1cmVzLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcGljdHVyZXMtaW5mby91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEVBQ1QsV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkUsT0FBTyxFQUNILFFBQVEsRUFDUixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUV4QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBU3pFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSw0QkFBNEI7SUFQekU7O1FBb0JJLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUduQyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFVLEVBQUUsQ0FBQyxDQUFDO1FBR25ELGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFJbkIsaUJBQVksR0FBa0MsT0FBTyxDQUFDO1FBSzlDLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO0tBK1A3RDtJQTdQRyxRQUFR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ekNwRCxncE9BbUtBOzs0RkRwSWEsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLHNCQUFzQixhQUdyQixDQUFDLGFBQWEsQ0FBQyxtQkFDVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBUWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDZ0MsY0FBYztzQkFBakUsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgY29uY2F0TWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29udGVudERlbnNpdHkgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhcnNhQXBpLFxuICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXG4gICAgRmlsZXNWYWxpZGF0aW9uSGVscGVyLFxuICAgIElVcGxvYWRpbmdTdGF0ZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGV2aWNlLWluZm8tZmllbGQtYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVpLXBpY3R1cmVzLWluZm8nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbVXBsb2FkU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlQaWN0dXJlc0luZm9Db21wb25lbnQgZXh0ZW5kcyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHZhbHVlOiB7XG4gICAgICAgIElkOiBzdHJpbmc7XG4gICAgICAgIEZpbGVJZDogc3RyaW5nO1xuICAgICAgICBGaWxlTmFtZTogc3RyaW5nO1xuICAgICAgICBXaWR0aDogc3RyaW5nO1xuICAgICAgICBIZWlnaHQ6IHN0cmluZztcbiAgICAgICAgU2l6ZTogc3RyaW5nO1xuICAgIH1bXTtcbiAgICBAVmlld0NoaWxkKCdnYWxsZXJ5JykgZ2FsbGVyeSE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ2RpYWxvZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBkaWFsb2dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHVwbG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxJVXBsb2FkaW5nU3RhdGU+O1xuICAgIGNhbmNlbGF0aW9uJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgY29udGVudERlbnNpdHkkOiBPYnNlcnZhYmxlPENvbnRlbnREZW5zaXR5PjtcbiAgICBmaWxlczogRmlsZVtdO1xuICAgIG1lZGlhRGF0YVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVkaWFbXT4oW10pO1xuICAgIG1lZGlhRGF0YSQ6IE9ic2VydmFibGU8TWVkaWFbXT47XG4gICAgaXNNb2JpbGU6IGFueTtcbiAgICBzZWxlY3RlZEluZGV4ID0gLTE7XG4gICAgZmlsbFdpZHRoOiBib29sZWFuO1xuICAgIGZpbGxBbGw6IGJvb2xlYW47XG4gICAgZmlsbE9yaWdpbmFsOiBib29sZWFuO1xuICAgIHNlbGVjdGVkWm9vbTogJ3pvb20xJyB8ICd6b29tMS01JyB8ICd6b29tMicgPSAnem9vbTEnO1xuICAgIGZpbGVzVmFsaWRhdGlvbkhlbHBlcjogRmlsZXNWYWxpZGF0aW9uSGVscGVyO1xuICAgIG1heEZpbGVDb3VudDogbnVtYmVyO1xuICAgIGZpbGVDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgIHByaXZhdGUgX2ZpbGVDb3VudFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVDb3VudCQgPSB0aGlzLl9maWxlQ291bnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMubWVkaWFEYXRhJCA9IHRoaXMubWVkaWFEYXRhU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdTdGF0ZSQgPSB0aGlzLl91cGxvYWRTZXJ2aWNlLnVwbG9hZGluZ1N0YXRlJDtcbiAgICAgICAgdGhpcy52YWx1ZSQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5fc2V0RmlsZUNvdW50KHZhbHVlKSk7XG5cbiAgICAgICAgdGhpcy5maWxlc1ZhbGlkYXRpb25IZWxwZXIgPSBuZXcgRmlsZXNWYWxpZGF0aW9uSGVscGVyKFxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFBpY3R1cmVDb3VudCxcbiAgICAgICAgICAgIHRoaXMuU2V0dGluZy5NYXhGaWxlU2l6ZUtiLFxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFRvdGFsRmlsZVNpemVLYlxuICAgICAgICApO1xuICAgICAgICB0aGlzLm1heEZpbGVDb3VudCA9IHRoaXMuZmlsZXNWYWxpZGF0aW9uSGVscGVyLm1heEZpbGVDb3VudDtcblxuICAgICAgICB0aGlzLl9wcmVwYXJlR2FsbGVyeSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm9uKHtcbiAgICAgICAgICAgIERpc3BsYXlJbWFnZXM6IHRoaXMuX2Rpc3BsYXlJbWFnZXMuYmluZCh0aGlzKVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuY29udGV4dC51bignRGlzcGxheUltYWdlcycsIHRoaXMuX2Rpc3BsYXlJbWFnZXMpO1xuICAgIH1cbiAgICBvblJvdGF0ZShpbWdFbDogSFRNTEltYWdlRWxlbWVudCwgbWVkaWEyOiBNZWRpYSwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSAxO1xuICAgICAgICBjb25zdCBtZWRpYTogYW55ID0gbWVkaWEyO1xuICAgICAgICBjb25zdCBicElkID0gbWVkaWEuRmlsZUlkO1xuICAgICAgICBjb25zdCBhbmdsZSA9IDkwICogZGlyZWN0aW9uO1xuICAgICAgICBpZiAobWVkaWEuUm90YXRpb25BbmdsZSkge1xuICAgICAgICAgICAgbWVkaWEuUm90YXRpb25BbmdsZSA9IChtZWRpYS5Sb3RhdGlvbkFuZ2xlICsgYW5nbGUpICUgMzYwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWVkaWEuUm90YXRpb25BbmdsZSA9IGFuZ2xlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdyA9IGltZ0VsLm9mZnNldFdpZHRoO1xuICAgICAgICBjb25zdCBoID0gaW1nRWwub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBsZXQgbWFyZ2luID0gKHcgLSBoKSAvIDI7XG4gICAgICAgIGxldCBzY2FsZUZhY3RvciA9IHcgLyBoO1xuICAgICAgICBpZiAobWVkaWEuc2NhbGVGYWN0b3IpIHtcbiAgICAgICAgICAgIHNjYWxlRmFjdG9yID0gMTtcbiAgICAgICAgICAgIG1lZGlhLnNjYWxlRmFjdG9yID0gbnVsbDtcbiAgICAgICAgICAgIG1hcmdpbiA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtZWRpYS5zY2FsZUZhY3RvciA9IHNjYWxlRmFjdG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNjYWxlRmFjdG9yIDwgMSkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGltZ0VsLCAndHJhbnNmb3JtJywgYHJvdGF0ZSgke21lZGlhLlJvdGF0aW9uQW5nbGV9ZGVnKSBzY2FsZSgke3NjYWxlRmFjdG9yfSlgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShpbWdFbCwgJ3RyYW5zZm9ybScsIGByb3RhdGUoJHttZWRpYS5Sb3RhdGlvbkFuZ2xlfWRlZylgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoaW1nRWwsICdtYXJnaW4tYm90dG9tJywgbWFyZ2luICsgJ3B4Jyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShpbWdFbCwgJ21hcmdpbi10b3AnLCBtYXJnaW4gKyAncHgnKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnU2V0dGluZ3NDaGFuZ2UnLCB0aGlzLCB7XG4gICAgICAgICAgICBGaWxlSWQ6IGJwSWQsXG4gICAgICAgICAgICBBbmdsZTogbWVkaWEuUm90YXRpb25BbmdsZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgb25GdWxsc2NyZWVuKG1lZGlhLCBtZWRpYURhdGEpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGlhbG9nQ29uZmlnID0ge1xuICAgICAgICAgICAgZGF0YTogeyBtZWRpYSwgbWVkaWFEYXRhIH0sXG4gICAgICAgICAgICBlc2NLZXlDbG9zZWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgbW9iaWxlOiB0cnVlLFxuICAgICAgICAgICAgdmVydGljYWxQYWRkaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5kaWFsb2dUZW1wbGF0ZSwgZGlhbG9nQ29uZmlnKTtcbiAgICB9XG4gICAgb25NZWRhaUNsaWNrKGdhbGxlcnksIG1lZGlhLCBpbmRleCk6IHZvaWQge1xuICAgICAgICBnYWxsZXJ5ICYmIGdhbGxlcnkucXVlcnlTZWxlY3RvcignW2lkPVwiJyArIFN0cmluZyhpbmRleCkgKyAnXCJdJyk/LnNjcm9sbEludG9WaWV3KHRydWUpO1xuICAgIH1cbiAgICBvblRodW1ibmFpbENsaWNrZWQoaW1nSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpbWdJbmRleDtcbiAgICAgICAgdGhpcy5nYWxsZXJ5Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW2lkPVwiJyArIFN0cmluZyhpbWdJbmRleCkgKyAnXCJdJyk/LnNjcm9sbEludG9WaWV3KHRydWUpO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGluZGV4KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTWVkaWEgPSB0aGlzLnZhbHVlW2luZGV4XTtcbiAgICAgICAgdGhpcy5fZGVsZXRlTWVkaWEoc2VsZWN0ZWRNZWRpYSk7XG4gICAgfVxuICAgIG9uU2NhbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2NhbkhlbHBlcihmYWxzZSk7XG4gICAgfVxuXG4gICAgb25BZHZhbmNlU2NhbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2NhbkhlbHBlcih0cnVlKTtcbiAgICB9XG5cbiAgICBvblpvb21JbigpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkWm9vbSkge1xuICAgICAgICAgICAgY2FzZSAnem9vbTEnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0gJ3pvb20xLTUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnem9vbTEtNSc6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSAnem9vbTInO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25ab29tT3V0KCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0ZWRab29tKSB7XG4gICAgICAgICAgICBjYXNlICd6b29tMic6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSAnem9vbTEtNSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd6b29tMS01JzpcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9ICd6b29tMSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZpbGxPcmlnaW5hbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maWxsQWxsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlsbE9yaWdpbmFsID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkZpbGxXaWR0aCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWxsV2lkdGggPSB0cnVlO1xuICAgICAgICB0aGlzLmZpbGxBbGwgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maWxsT3JpZ2luYWwgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkZpbGxBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsbEFsbCA9IHRydWU7XG4gICAgICAgIHRoaXMuZmlsbE9yaWdpbmFsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlsbFdpZHRoID0gZmFsc2U7XG4gICAgfVxuICAgIG9uRmlsZVNlbGVjdGlvbihmaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsZXNWYWxpZGF0aW9uSGVscGVyLnZhbGlkYXRlRmlsZXMoZmlsZXMpO1xuICAgICAgICB0aGlzLnVwbG9hZFRvU2VydmVyKGZpbGVzKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZGVsZXRlTWVkaWEoc2VsZWN0ZWRNZWRpYSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IElkLCBGaWxlSWQgfSA9IHNlbGVjdGVkTWVkaWE7XG4gICAgICAgIGxldCBzZWxlY3RlZElkID0gSWQ7XG4gICAgICAgIGlmICghc2VsZWN0ZWRJZCkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJZCA9IEZpbGVJZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWxlY3RlZFBpY0luZGV4ID0gdGhpcy52YWx1ZS5maW5kSW5kZXgoKGMpID0+IGMuSWQgPT09IHNlbGVjdGVkSWQgfHwgYy5GaWxlSWQgPT09IHNlbGVjdGVkSWQpO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5maWx0ZXIoKGMpID0+IGMuSWQgIT09IHNlbGVjdGVkSWQgJiYgYy5GaWxlSWQgIT09IHNlbGVjdGVkSWQpO1xuICAgICAgICB0aGlzLl9wcmVwYXJlR2FsbGVyeSh0aGlzLnZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnQ2hhbmdlJywge1xuICAgICAgICAgICAgRmlsZUlkOiBzZWxlY3RlZElkLFxuICAgICAgICAgICAgSXNEZWxldGVkOiB0cnVlLFxuICAgICAgICAgICAgT2xkSW5kZXg6IHNlbGVjdGVkUGljSW5kZXhcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2NhbkhlbHBlcihpc0FkdmFuY2VkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNjYW5uZXIgPSBuZXcgQmFyc2FBcGkuQ29tbW9uLkJhcnNhU2Nhbm5lcih7XG4gICAgICAgICAgICBTY2FubmVyQWdlbnRQYXJhbXM6IHRoaXMuY29udGV4dC5TY2FubmVyQWdlbnRQYXJhbXNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc2Nhbm5lci5vbihCYXJzYUFwaS5Db21tb24uQmFyc2FTY2FubmVyLkV2ZW50RW51bS5TY2FuUmVzdWx0UmVhZHksIHRoaXMuX29uU2NhblJlc3VsdF9SZWFkeSwgdGhpcyk7XG4gICAgICAgIHNjYW5uZXIub24oQmFyc2FBcGkuQ29tbW9uLkJhcnNhU2Nhbm5lci5FdmVudEVudW0uU2NhbkVycm9yLCB0aGlzLl9vblNjYW5fRXJyb3IsIHRoaXMpO1xuICAgICAgICBzY2FubmVyLm9uKEJhcnNhQXBpLkNvbW1vbi5CYXJzYVNjYW5uZXIuRXZlbnRFbnVtLlNob3dXYXJybmluZywgdGhpcy5fb25TY2FuX1dhcnJuaW5nLCB0aGlzKTtcbiAgICAgICAgQmFyc2FBcGkuVWwuTG9hZGluZ01hc2suTWFzayh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBzY2FubmVyLlNjYW4oaXNBZHZhbmNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9vblNjYW5SZXN1bHRfUmVhZHkoY29udGVudHMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXBsb2FkU2Nhbihjb250ZW50cyk7XG4gICAgICAgIEJhcnNhQXBpLlVsLkxvYWRpbmdNYXNrLlVubWFzayh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfb25TY2FuX1dhcnJuaW5nKHRleHQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgQmFyc2FBcGkuVWwuTXNnQm94LkVycm9yKHRleHQpO1xuICAgICAgICB9XG4gICAgICAgIEJhcnNhQXBpLlVsLkxvYWRpbmdNYXNrLlVubWFzayh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfb25TY2FuX0Vycm9yKGVycik6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIGVyciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIEJhcnNhQXBpLlVsLk1zZ0JveC5FcnJvcihlcnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQmFyc2FBcGkuVWwuTG9hZGluZ01hc2suVW5tYXNrKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF91cGxvYWRTY2FuKGNvbnRlbnRzKTogdm9pZCB7XG4gICAgICAgIGlmIChjb250ZW50cyAmJiBjb250ZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb250ZW50cy5mb3JFYWNoKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkJhcnNhU2Nhbm5lci5VcGxvYWRTY2FuQ29udGVudCh0aGlzLmNvbnRleHQuRmllbGREZWZJZCwgY29udGVudCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiAoZmlsZU9iaikgdGhpcy5fb25VcGxvYWRXaW5fTmV3RmlsZVVwbG9hZChudWxsLCBmaWxlT2JqKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEJhcnNhQXBpLlVsLk1zZ0JveC5XYXJuaW5nKHRoaXMuX2JiYlBpcGUudHJhbnNmb3JtKCdTY2FuUmVzdWx0Tm90Rm91bmQnKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3ByZXBhcmVHYWxsZXJ5KHZhbHVlOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhOiBhbnlbXSA9IFtdO1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZWRpYVVybCA9IHRoaXMuX3BpY0ZpZWxkU3JjLnRyYW5zZm9ybShpdGVtLkZpbGVJZCwgJ0JhcnNhUGljdHVyZS5GdWxsJywgbnVsbCk7XG4gICAgICAgICAgICBjb25zdCB0aHVtYm5haWxVcmwgPSB0aGlzLl9waWNGaWVsZFNyYy50cmFuc2Zvcm0oaXRlbS5GaWxlSWQsICdCYXJzYVBpY3R1cmUuVGh1bWJuYWlsJywgbnVsbCk7XG4gICAgICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgICAgICAgIElkOiBpdGVtLklkLFxuICAgICAgICAgICAgICAgIEZpbGVJZDogaXRlbS5GaWxlSWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0uRmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgbWVkaWFUeXBlOiAnaW1hZ2UnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBpdGVtLkZpbGVOYW1lLFxuICAgICAgICAgICAgICAgIG1lZGlhVXJsOiBgJHttZWRpYVVybH0mY3JlYXRlRGF0ZT0ke2l0ZW0uQ3JlYXRlRGF0ZX1gLFxuICAgICAgICAgICAgICAgIHRodW1ibmFpbFVybDogYCR7dGh1bWJuYWlsVXJsfSZjcmVhdGVEYXRlPSR7aXRlbS5DcmVhdGVEYXRlfWAsXG4gICAgICAgICAgICAgICAgYWx0OiAnRmFpbGVkIHRvIGxvYWQgJyArIG1lZGlhVXJsLFxuICAgICAgICAgICAgICAgIGNyZWF0ZURhdGU6IGl0ZW0uQ3JlYXRlRGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm1lZGlhRGF0YVNvdXJjZS5uZXh0KGRhdGEpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGxvYWRUb1NlcnZlcihmaWxlczogRmlsZVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwbG9hZFNlcnZpY2UuY29tcHJlc3NGaWxlcyQoZmlsZXMpLnBpcGUoXG4gICAgICAgICAgICBjb25jYXRNYXAoKGZvcm1EYXRhKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwbG9hZFNlcnZpY2UudXBsb2FkKGZvcm1EYXRhLCB0aGlzLlNldHRpbmcuQ29udHJvbEZpZWxkRGVmSWQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRhcCgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShyZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihlcnIpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3NldEZpbGVDb3VudCh2YWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maWxlQ291bnRTb3VyY2UubmV4dCh2YWx1ZS5maWx0ZXIoKGMpID0+ICFjLklzRGVsZXRlZCkubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWUobmV3VmFsOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIC4uLm5ld1ZhbF07XG4gICAgICAgIHRoaXMuX3ByZXBhcmVHYWxsZXJ5KHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLmZpcmVDb250ZXh0RXZlbnQoJ0NoYW5nZScsIG5ld1ZhbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9kaXNwbGF5SW1hZ2VzKFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgSWQ6IHN0cmluZztcbiAgICAgICAgICAgIEZpbGVJZDogc3RyaW5nO1xuICAgICAgICAgICAgRmlsZU5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIFdpZHRoOiBzdHJpbmc7XG4gICAgICAgICAgICBIZWlnaHQ6IHN0cmluZztcbiAgICAgICAgICAgIFNpemU6IHN0cmluZztcbiAgICAgICAgfVtdXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHRodW1ibmFpbFVybDogc3RyaW5nO1xuICAgIG1lZGlhVHlwZTogc3RyaW5nO1xuICAgIG1lZGlhVXJsOiBzdHJpbmc7XG4gICAgY2FwdGlvbkZpbGU/OiBzdHJpbmc7XG4gICAgYXVkaW9EZXNjRmlsZT86IHN0cmluZztcbiAgICBhbHQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgICBvdmVybGF5UmVxdWlyZWQ/OiBib29sZWFuO1xufVxuIiwiPGZkLWZpbGUtdXBsb2FkZXJcbiAgICAjdXBsb2FkZXJcbiAgICBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW25hbWVdPVwiJ3BpY3R1cmVzXycgKyBpZFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIidBdHRhY2hQaWN0dXJlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgW2J1dHRvbkxhYmVsXT1cIidBdHRhY2hQaWN0dXJlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgW2J1dHRvbkFyaWFMYWJlbF09XCInQXR0YWNoUGljdHVyZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgIGFjY2VwdD1cIi5wbmcsLmpwZywuYnBtLC5qcGVnLC5naWYsLnBuZywudGlmLC5wZGZcIlxuICAgIFtmaWxlTGltaXRdPVwibWF4RmlsZUNvdW50ID09PSAwID8gMTAwIDogbWF4RmlsZUNvdW50XCJcbiAgICBbbXVsdGlwbGVdPVwibWF4RmlsZUNvdW50ID09PSAwIHx8IG1heEZpbGVDb3VudCA+IDFcIlxuICAgIChzZWxlY3RlZEZpbGVzQ2hhbmdlZCk9XCJvbkZpbGVTZWxlY3Rpb24oJGV2ZW50KVwiXG4+PC9mZC1maWxlLXVwbG9hZGVyPlxuXG48bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGF5b3V0R3JpZFRwbFwiPjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNsYXlvdXRHcmlkVHBsIGxldC1pbkRpYWxvZz1cImluRGlhbG9nXCIgbGV0LWdhbGxlcnk9XCJnYWxsZXJ5XCI+XG4gICAgPGZkLWxheW91dC1ncmlkPlxuICAgICAgICBAaWYgKG1lZGlhRGF0YSQgfCBhc3luYzsgYXMgbWVkaWFEYXRhKSB7XG4gICAgICAgIDxkaXYgZmRMYXlvdXRHcmlkUm93PlxuICAgICAgICAgICAgQGZvciAobWVkaWEgb2YgbWVkaWFEYXRhOyB0cmFjayBtZWRpYTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCI2XCIgW2NvbE1kXT1cIjNcIiBbY29sTGddPVwiMlwiIFtjb2xYbF09XCIyXCIgKGNsaWNrKT1cIm9uTWVkYWlDbGljayhnYWxsZXJ5LCBtZWRpYSwgaSlcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXJkVHBsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IG1lZGlhLCBtZWRpYURhdGE6IHRoaXMubWVkaWFEYXRhLCBpbkRpYWxvZzogdGhpcy5pbkRpYWxvZywgaW5kZXg6IGkgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAaWYgKCFpbkRpYWxvZyAmJiAoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gZmFsc2UgOiB0cnVlKSB7XG4gICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiNlwiIFtjb2xNZF09XCIzXCIgW2NvbExnXT1cIjJcIiBbY29sWGxdPVwiMlwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJuZXdGaWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2ZkLWxheW91dC1ncmlkPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY2FyZFRwbCBsZXQtbWVkaWEgbGV0LW1lZGlhRGF0YT1cIm1lZGlhRGF0YVwiIGxldC1pbkRpYWxvZz1cImluRGlhbG9nXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZmQtY2FyZCBjbGFzcz1cIm1lZGlhXCIgW2NsYXNzLmluRGlhbG9nXT1cImluRGlhbG9nXCI+XG4gICAgICAgIDxmZC1jYXJkLWNvbnRlbnQgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGhlaWdodDogMTIwcHhcIj5cbiAgICAgICAgICAgIDxpbWcgaW1nTGF6eSBbaW1nTGF6eV09XCJtZWRpYS50aHVtYm5haWxVcmxcIiBbc3JjXT1cIm1lZGlhLnRodW1ibmFpbFVybFwiICNpbWcgLz5cbiAgICAgICAgPC9mZC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIEBpZiAoIWluRGlhbG9nKSB7XG4gICAgICAgIDxmZC1jYXJkLWZvb3Rlcj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBnbHlwaD1cIm1lc3NhZ2UtaW5mb3JtYXRpb25cIlxuICAgICAgICAgICAgICAgICpmZENhcmRGb290ZXJBY3Rpb25JdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIFtmZC1pbmxpbmUtaGVscF09XCJtZWRpYS50aXRsZVwiXG4gICAgICAgICAgICAgICAgW3RyaWdnZXJzXT1cIlsnY2xpY2snXVwiXG4gICAgICAgICAgICAgICAgW2Nsb3NlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uICpmZENhcmRGb290ZXJBY3Rpb25JdGVtIGZkLWJ1dHRvbiBnbHlwaD1cInJvdGF0ZVwiIChjbGljayk9XCJvblJvdGF0ZShpbWcsIG1lZGlhLCBpbmRleClcIj48L2J1dHRvbj5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGdseXBoPVwiZnVsbC1zY3JlZW5cIlxuICAgICAgICAgICAgICAgICpmZENhcmRGb290ZXJBY3Rpb25JdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkZ1bGxzY3JlZW4obWVkaWEsIG1lZGlhRGF0YSlcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgQGlmICgoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gZmFsc2UgOiB0cnVlKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgICpmZENhcmRGb290ZXJBY3Rpb25JdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShpbmRleClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLWNhcmQtZm9vdGVyPlxuICAgICAgICB9XG4gICAgPC9mZC1jYXJkPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbmV3RmlsZT5cbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMCVcIj5cbiAgICAgICAgPGZkLWNhcmQ+XG4gICAgICAgICAgICA8ZmQtY2FyZC1jb250ZW50IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1pbi1oZWlnaHQ6IDEyMHB4XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhZGQtcGhvdG9cIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQXR0YWNoRmlsZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBsb2FkZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2ZkLWNhcmQtY29udGVudD5cblxuICAgICAgICAgICAgPGZkLWNhcmQtZm9vdGVyIHN0eWxlPVwiYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBbZ2x5cGhdPVwiJ292ZXJmbG93J1wiIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiIFtmZE1lbnVUcmlnZ2VyXT1cIm1lbnVcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZmQtbWVudSAjbWVudT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGZkLW1lbnUtaXRlbSAoY2xpY2spPVwib25TY2FuKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyAnU2NhbicgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uQWR2YW5jZVNjYW4oKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7ICdBZHZhbmNlZFNjYW4nIHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvZmQtbWVudT5cbiAgICAgICAgICAgIDwvZmQtY2FyZC1mb290ZXI+XG4gICAgICAgIDwvZmQtY2FyZD5cbiAgICAgICAgQGlmICgodXBsb2FkaW5nU3RhdGUkIHwgYXN5bmMpPy51cGxvYWRpbmcgPT09IHRydWUpIHtcbiAgICAgICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RpYWxvZ1RlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiPlxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiICNkaWFsb2dUcGwgY2xhc3M9XCJ2ZXJ0aWNhbFwiPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBmZC10aXRsZT57eyBTZXR0aW5nLkNvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkIH19PC9oMT5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgQGlmICghZGlhbG9nQ29uZmlnLmZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIkZpdCBpbWFnZSBzaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCIncmVzaXplJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cImZpbGxXaWR0aCA/ICdlbXBoYXNpemVkJyA6ICd0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbGxXaWR0aCA9ICFmaWxsV2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGFyaWFMYWJlbD1cImNsb3NlXCIgZ2x5cGg9XCJkZWNsaW5lXCIgKGNsaWNrKT1cImRpYWxvZy5jbG9zZSgpXCI+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHkgI2ZkYm9keT5cbiAgICAgICAgICAgIDxkaXYgI2dhbGxlcnkgY2xhc3M9XCJnYWxsZXJ5IGluRGlhbG9nXCIgc3R5bGU9XCJmbGV4OiAxXCI+XG4gICAgICAgICAgICAgICAgQGZvciAobWVkaWEgb2YgZGlhbG9nLmRhdGEubWVkaWFEYXRhOyB0cmFjayBtZWRpYS5GaWxlSWQ7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbHVtbiBiaWctaW1ncy1ib3hcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmlsbC13aWR0aF09XCJmaWxsV2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmlsbC1hbGxdPVwiZmlsbEFsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maWxsLW9yaWdpbmFsXT1cImZpbGxPcmlnaW5hbFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkWm9vbVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhciBmZFR5cGU9XCJzb2xpZFwiIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNwYWNlcj48L2ZkLXRvb2xiYXItc3BhY2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC10b29sYmFyLWl0ZW0gZmQtYnV0dG9uIGdseXBoPVwicm90YXRlXCIgKGNsaWNrKT1cIm9uUm90YXRlKGltZywgbWVkaWEsIGkpXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhci1zcGFjZXI+PC9mZC10b29sYmFyLXNwYWNlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC10b29sYmFyPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGljc1wiIFtpZF09XCJpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgI2ltZyBpbWdMYXp5IFtpbWdMYXp5XT1cIm1lZGlhLm1lZGlhVXJsXCIgW3NyY109XCJtZWRpYS5tZWRpYVVybFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmICgoZGV2aWNlU2l6ZSQgfCBhc3luYykgIT09ICdzJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbFwiIHN0eWxlPVwiZmxleC1zaHJpbms6IDFcIj5cbiAgICAgICAgICAgICAgICA8bmctY290YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYXlvdXRHcmlkVHBsOyBjb250ZXh0OiB7IGluRGlhbG9nOiB0cnVlLCBnYWxsZXJ5OiB0aGlzLmdhbGxlcnkgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY290YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cbiAgICA8L2ZkLWRpYWxvZz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -38,11 +38,11 @@ export class UiRadioGroupComponent extends DeviceInfoFieldBaseComponent {
38
38
  }
39
39
  super._setValue(val);
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiRadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiRadioGroupComponent, selector: "bsu-ui-radio-group", usesInheritance: true, ngImport: i0, template: "<fd-form-group [isInline]=\"!isVertically && !(isMobileDevice && onlyInMobileVertically)\">\n @for (item of context.items; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n @if (!item.IsEmpty) {\n <fd-radio-button\n [value]=\"item.inputValue\"\n [id]=\"'radio-' + id + i\"\n [name]=\"'radio' + id + i\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [ngModel]=\"value?.inputValue\"\n (click)=\"onRadioClicked(item)\"\n [selectedValue]=\"value?.inputValue\"\n >\n {{ item.boxLabel }}\n </fd-radio-button>\n }\n </div>\n }\n</fd-form-group>\n", styles: [":host ::ng-deep span{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: i3.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiRadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiRadioGroupComponent, selector: "bsu-ui-radio-group", usesInheritance: true, ngImport: i0, template: "<fd-form-group [isInline]=\"!isVertically && !(isMobileDevice && onlyInMobileVertically)\">\n @for (item of context.items; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n @if (!item.IsEmpty) {\n <fd-radio-button\n [value]=\"item.inputValue\"\n [id]=\"'radio-' + id + i\"\n [name]=\"'radio' + id + i\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [ngModel]=\"value?.inputValue\"\n (click)=\"onRadioClicked(item)\"\n [selectedValue]=\"value?.inputValue\"\n >\n {{ item.boxLabel }}\n </fd-radio-button>\n }\n </div>\n }\n</fd-form-group>\n", styles: [":host ::ng-deep span{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i2.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: i3.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiRadioGroupComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiRadioGroupComponent, decorators: [{
45
45
  type: Component,
46
46
  args: [{ selector: 'bsu-ui-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-form-group [isInline]=\"!isVertically && !(isMobileDevice && onlyInMobileVertically)\">\n @for (item of context.items; track item; let i = $index; let first = $first) {\n <div fd-form-item>\n @if (!item.IsEmpty) {\n <fd-radio-button\n [value]=\"item.inputValue\"\n [id]=\"'radio-' + id + i\"\n [name]=\"'radio' + id + i\"\n [disabled]=\"(disableOrReadonly$ | async)!!\"\n [ngModel]=\"value?.inputValue\"\n (click)=\"onRadioClicked(item)\"\n [selectedValue]=\"value?.inputValue\"\n >\n {{ item.boxLabel }}\n </fd-radio-button>\n }\n </div>\n }\n</fd-form-group>\n", styles: [":host ::ng-deep span{-webkit-user-select:none;user-select:none}\n"] }]
47
47
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSw0QkFBNEI7SUFOdkU7O1FBT0ksaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO0tBNkJsQztJQTNCRyxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLEVBQUUsc0JBQXNCLENBQUM7UUFDakUsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDUyxTQUFTLENBQUMsS0FBVTtRQUMxQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQztRQUNELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzs4R0E5QlEscUJBQXFCO2tHQUFyQixxQkFBcUIsaUZDUmxDLCtyQkFtQkE7OzJGRFhhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGV2aWNlSW5mb0ZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2RldmljZS1pbmZvLWZpZWxkLWJhc2UnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktcmFkaW8tZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaVJhZGlvR3JvdXBDb21wb25lbnQgZXh0ZW5kcyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBpc1ZlcnRpY2FsbHkgPSBmYWxzZTtcbiAgICBvbmx5SW5Nb2JpbGVWZXJ0aWNhbGx5ID0gZmFsc2U7XG4gICAgc2VsZWN0ZWRJdGVtOiBJdGVtVHlwZTtcbiAgICBnZXQgaXRlbXMoKTogSXRlbVR5cGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuaXRlbXM7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1zLmZpbmQoKGMpID0+IGMuaW5wdXRWYWx1ZSA9PT0gdGhpcy52YWx1ZS5pbnB1dFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1zLmZpbmQoKGMpID0+IGMuaW5wdXRWYWx1ZSA9PT0gdGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbmx5SW5Nb2JpbGVWZXJ0aWNhbGx5ID0gcGFyYW1ldGVycz8uT25seUluTW9iaWxlVmVydGljYWxseTtcbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsbHkgPSBwYXJhbWV0ZXJzPy5Jc1ZlcnRpY2FsbHk7XG4gICAgfVxuXG4gICAgb25SYWRpb0NsaWNrZWQoaXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGl0ZW0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbCA9IHRoaXMuaXRlbXMuZmluZCgoYykgPT4gYy5Jc0VtcHR5KTtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMuZmluZCgoYykgPT4gYy5pbnB1dFZhbHVlID09PSB2YWx1ZSk7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICB2YWwgPSBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWwpO1xuICAgIH1cbn1cbnR5cGUgSXRlbVR5cGUgPSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIElzRW1wdHk6IGJvb2xlYW47XG4gICAgaW5wdXRWYWx1ZTogc3RyaW5nO1xufTtcbiIsIjxmZC1mb3JtLWdyb3VwIFtpc0lubGluZV09XCIhaXNWZXJ0aWNhbGx5ICYmICEoaXNNb2JpbGVEZXZpY2UgJiYgb25seUluTW9iaWxlVmVydGljYWxseSlcIj5cbiAgICBAZm9yIChpdGVtIG9mIGNvbnRleHQuaXRlbXM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4OyBsZXQgZmlyc3QgPSAkZmlyc3QpIHtcbiAgICA8ZGl2IGZkLWZvcm0taXRlbT5cbiAgICAgICAgQGlmICghaXRlbS5Jc0VtcHR5KSB7XG4gICAgICAgIDxmZC1yYWRpby1idXR0b25cbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmlucHV0VmFsdWVcIlxuICAgICAgICAgICAgW2lkXT1cIidyYWRpby0nICsgaWQgKyBpXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIidyYWRpbycgKyBpZCArIGlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykhIVwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZT8uaW5wdXRWYWx1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25SYWRpb0NsaWNrZWQoaXRlbSlcIlxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwidmFsdWU/LmlucHV0VmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmJveExhYmVsIH19XG4gICAgICAgIDwvZmQtcmFkaW8tYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgfVxuPC9mZC1mb3JtLWdyb3VwPlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSw0QkFBNEI7SUFOdkU7O1FBT0ksaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO0tBNkJsQztJQTNCRyxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLEVBQUUsc0JBQXNCLENBQUM7UUFDakUsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDUyxTQUFTLENBQUMsS0FBVTtRQUMxQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQztRQUNELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzsrR0E5QlEscUJBQXFCO21HQUFyQixxQkFBcUIsaUZDUmxDLCtyQkFtQkE7OzRGRFhhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGV2aWNlSW5mb0ZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2RldmljZS1pbmZvLWZpZWxkLWJhc2UnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktcmFkaW8tZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaVJhZGlvR3JvdXBDb21wb25lbnQgZXh0ZW5kcyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBpc1ZlcnRpY2FsbHkgPSBmYWxzZTtcbiAgICBvbmx5SW5Nb2JpbGVWZXJ0aWNhbGx5ID0gZmFsc2U7XG4gICAgc2VsZWN0ZWRJdGVtOiBJdGVtVHlwZTtcbiAgICBnZXQgaXRlbXMoKTogSXRlbVR5cGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuaXRlbXM7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1zLmZpbmQoKGMpID0+IGMuaW5wdXRWYWx1ZSA9PT0gdGhpcy52YWx1ZS5pbnB1dFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1zLmZpbmQoKGMpID0+IGMuaW5wdXRWYWx1ZSA9PT0gdGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbmx5SW5Nb2JpbGVWZXJ0aWNhbGx5ID0gcGFyYW1ldGVycz8uT25seUluTW9iaWxlVmVydGljYWxseTtcbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsbHkgPSBwYXJhbWV0ZXJzPy5Jc1ZlcnRpY2FsbHk7XG4gICAgfVxuXG4gICAgb25SYWRpb0NsaWNrZWQoaXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGl0ZW0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbCA9IHRoaXMuaXRlbXMuZmluZCgoYykgPT4gYy5Jc0VtcHR5KTtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMuZmluZCgoYykgPT4gYy5pbnB1dFZhbHVlID09PSB2YWx1ZSk7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICB2YWwgPSBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWwpO1xuICAgIH1cbn1cbnR5cGUgSXRlbVR5cGUgPSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIElzRW1wdHk6IGJvb2xlYW47XG4gICAgaW5wdXRWYWx1ZTogc3RyaW5nO1xufTtcbiIsIjxmZC1mb3JtLWdyb3VwIFtpc0lubGluZV09XCIhaXNWZXJ0aWNhbGx5ICYmICEoaXNNb2JpbGVEZXZpY2UgJiYgb25seUluTW9iaWxlVmVydGljYWxseSlcIj5cbiAgICBAZm9yIChpdGVtIG9mIGNvbnRleHQuaXRlbXM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4OyBsZXQgZmlyc3QgPSAkZmlyc3QpIHtcbiAgICA8ZGl2IGZkLWZvcm0taXRlbT5cbiAgICAgICAgQGlmICghaXRlbS5Jc0VtcHR5KSB7XG4gICAgICAgIDxmZC1yYWRpby1idXR0b25cbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmlucHV0VmFsdWVcIlxuICAgICAgICAgICAgW2lkXT1cIidyYWRpby0nICsgaWQgKyBpXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIidyYWRpbycgKyBpZCArIGlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykhIVwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZT8uaW5wdXRWYWx1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25SYWRpb0NsaWNrZWQoaXRlbSlcIlxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwidmFsdWU/LmlucHV0VmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmJveExhYmVsIH19XG4gICAgICAgIDwvZmQtcmFkaW8tYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgfVxuPC9mZC1mb3JtLWdyb3VwPlxuIl19
@@ -26,11 +26,11 @@ export class UiReadOnlyFieldComponent extends FieldBaseComponent {
26
26
  this.text = text?.replace(/<br\s*[\/]?>/gi, '\n');
27
27
  this._cdr.markForCheck();
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiReadOnlyFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiReadOnlyFieldComponent, selector: "bsu-ui-read-only-field", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"controlTpl; context: { maxlines: parameters?.MaxLines }\"></ng-container>\n\n@if (parameters?.ShowCopy && text) {\n<button fd-button glyph=\"copy\" [fdCompact] fdType=\"transparent\" [copy]=\"text | bbbTranslate\"></button>\n}\n<!-- <fd-popover *ngIf=\"text\">\n<fd-popover-control>\n <button\n *ngIf=\"isEllipsis\"\n fd-button\n glyph=\"overflow\"\n [fdCompact]\n fdType=\"transparent\"\n [title]=\"text | bbbTranslate\"\n ></button>\n</fd-popover-control>\n<fd-popover-body>\n <ng-container *ngTemplateOutlet=\"controlTpl\"></ng-container>\n</fd-popover-body>\n</fd-popover>\n-->\n<ng-template #controlTpl let-maxlines>\n <fd-text\n style=\"color: var(--fdIcon_Tab_Bar_Selection_Color)\"\n [class.empty-bracket]=\"!text\"\n [text]=\"!text && parameters?.HideTextOnEmpty ? '' : (text || 'Empty_Bracket' | bbbTranslate)\"\n [class.bold]=\"text !== null && text !== '' && !parameters?.NotBold\"\n [whitespaces]=\"true\"\n [maxLines]=\"maxlines ? maxlines : 0\"\n [style.color]=\"parameters?.ColorValue ? parameters?.ColorValue : null\"\n ></fd-text>\n</ng-template>\n", styles: [":host{display:flex;width:100%;min-height:var(--sapElement_Height);align-items:center;min-width:2.75rem}:host.isMobile{height:auto}label{overflow:hidden;text-align:justify;line-height:1.6rem}.empty-bracket{opacity:.3}fd-text ::ng-deep p{color:inherit}fd-text ::ng-deep p span{color:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CopyDirective, selector: "[copy]", inputs: ["copy"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiReadOnlyFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiReadOnlyFieldComponent, selector: "bsu-ui-read-only-field", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"controlTpl; context: { maxlines: parameters?.MaxLines }\"></ng-container>\n\n@if (parameters?.ShowCopy && text) {\n<button fd-button glyph=\"copy\" [fdCompact] fdType=\"transparent\" [copy]=\"text | bbbTranslate\"></button>\n}\n<!-- <fd-popover *ngIf=\"text\">\n<fd-popover-control>\n <button\n *ngIf=\"isEllipsis\"\n fd-button\n glyph=\"overflow\"\n [fdCompact]\n fdType=\"transparent\"\n [title]=\"text | bbbTranslate\"\n ></button>\n</fd-popover-control>\n<fd-popover-body>\n <ng-container *ngTemplateOutlet=\"controlTpl\"></ng-container>\n</fd-popover-body>\n</fd-popover>\n-->\n<ng-template #controlTpl let-maxlines>\n <fd-text\n style=\"color: var(--fdIcon_Tab_Bar_Selection_Color)\"\n [class.empty-bracket]=\"!text\"\n [text]=\"!text && parameters?.HideTextOnEmpty ? '' : (text || 'Empty_Bracket' | bbbTranslate)\"\n [class.bold]=\"text !== null && text !== '' && !parameters?.NotBold\"\n [whitespaces]=\"true\"\n [maxLines]=\"maxlines ? maxlines : 0\"\n [style.color]=\"parameters?.ColorValue ? parameters?.ColorValue : null\"\n ></fd-text>\n</ng-template>\n", styles: [":host{display:flex;width:100%;min-height:var(--sapElement_Height);align-items:center;min-width:2.75rem}:host.isMobile{height:auto}label{overflow:hidden;text-align:justify;line-height:1.6rem}.empty-bracket{opacity:.3}fd-text ::ng-deep p{color:inherit}fd-text ::ng-deep p span{color:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CopyDirective, selector: "[copy]", inputs: ["copy"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiReadOnlyFieldComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiReadOnlyFieldComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: 'bsu-ui-read-only-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngTemplateOutlet=\"controlTpl; context: { maxlines: parameters?.MaxLines }\"></ng-container>\n\n@if (parameters?.ShowCopy && text) {\n<button fd-button glyph=\"copy\" [fdCompact] fdType=\"transparent\" [copy]=\"text | bbbTranslate\"></button>\n}\n<!-- <fd-popover *ngIf=\"text\">\n<fd-popover-control>\n <button\n *ngIf=\"isEllipsis\"\n fd-button\n glyph=\"overflow\"\n [fdCompact]\n fdType=\"transparent\"\n [title]=\"text | bbbTranslate\"\n ></button>\n</fd-popover-control>\n<fd-popover-body>\n <ng-container *ngTemplateOutlet=\"controlTpl\"></ng-container>\n</fd-popover-body>\n</fd-popover>\n-->\n<ng-template #controlTpl let-maxlines>\n <fd-text\n style=\"color: var(--fdIcon_Tab_Bar_Selection_Color)\"\n [class.empty-bracket]=\"!text\"\n [text]=\"!text && parameters?.HideTextOnEmpty ? '' : (text || 'Empty_Bracket' | bbbTranslate)\"\n [class.bold]=\"text !== null && text !== '' && !parameters?.NotBold\"\n [whitespaces]=\"true\"\n [maxLines]=\"maxlines ? maxlines : 0\"\n [style.color]=\"parameters?.ColorValue ? parameters?.ColorValue : null\"\n ></fd-text>\n</ng-template>\n", styles: [":host{display:flex;width:100%;min-height:var(--sapElement_Height);align-items:center;min-width:2.75rem}:host.isMobile{height:auto}label{overflow:hidden;text-align:justify;line-height:1.6rem}.empty-bracket{opacity:.3}fd-text ::ng-deep p{color:inherit}fd-text ::ng-deep p span{color:inherit}\n"] }]
35
35
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcmVhZC1vbmx5LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmVhZC1vbmx5LWZpZWxkL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBdUIsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVEvRSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsa0JBQWtCO0lBTmhFOztRQVFJLGVBQVUsR0FBRyxJQUFJLENBQUM7S0FpQnJCO0lBZkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNTLFNBQVMsQ0FBQyxLQUFVO1FBQzFCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDTyxRQUFRO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBbEJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHFGQ1RyQywwcENBZ0NBOzsyRkR2QmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1yZWFkLW9ubHktZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVpUmVhZE9ubHlGaWVsZENvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGlzRWxsaXBzaXMgPSB0cnVlO1xuICAgIHBhcmFtZXRlcnM6IFVpUmVhZE9ubHlGaWVsZFNldHRpbmc7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX3NldFRleHQoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3NldFRleHQoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0VGV4dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICBjb25zdCB0ZXh0ID0gdmFsdWU/LiRDYXB0aW9uID8gdmFsdWUuJENhcHRpb24gOiB2YWx1ZTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIHRoaXMudGV4dCA9IHRleHQ/LnJlcGxhY2UoLzxiclxccypbXFwvXT8+L2dpLCAnXFxuJyk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG5pbnRlcmZhY2UgVWlSZWFkT25seUZpZWxkU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENvbG9yVmFsdWU6IHN0cmluZztcbiAgICBNYXhMaW5lczogbnVtYmVyO1xuICAgIFNob3dDb3B5OiBib29sZWFuO1xuICAgIE5vdEJvbGQ6IGJvb2xlYW47XG4gICAgSGlkZVRleHRPbkVtcHR5OiBib29sZWFuO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUcGw7IGNvbnRleHQ6IHsgbWF4bGluZXM6IHBhcmFtZXRlcnM/Lk1heExpbmVzIH1cIj48L25nLWNvbnRhaW5lcj5cblxuQGlmIChwYXJhbWV0ZXJzPy5TaG93Q29weSAmJiB0ZXh0KSB7XG48YnV0dG9uIGZkLWJ1dHRvbiBnbHlwaD1cImNvcHlcIiBbZmRDb21wYWN0XSBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIFtjb3B5XT1cInRleHQgfCBiYmJUcmFuc2xhdGVcIj48L2J1dHRvbj5cbn1cbjwhLS0gPGZkLXBvcG92ZXIgKm5nSWY9XCJ0ZXh0XCI+XG48ZmQtcG9wb3Zlci1jb250cm9sPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJpc0VsbGlwc2lzXCJcbiAgICBmZC1idXR0b25cbiAgICBnbHlwaD1cIm92ZXJmbG93XCJcbiAgICBbZmRDb21wYWN0XVxuICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICBbdGl0bGVdPVwidGV4dCB8IGJiYlRyYW5zbGF0ZVwiXG4gID48L2J1dHRvbj5cbjwvZmQtcG9wb3Zlci1jb250cm9sPlxuPGZkLXBvcG92ZXItYm9keT5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUcGxcIj48L25nLWNvbnRhaW5lcj5cbjwvZmQtcG9wb3Zlci1ib2R5PlxuPC9mZC1wb3BvdmVyPlxuLS0+XG48bmctdGVtcGxhdGUgI2NvbnRyb2xUcGwgbGV0LW1heGxpbmVzPlxuICAgIDxmZC10ZXh0XG4gICAgICAgIHN0eWxlPVwiY29sb3I6IHZhcigtLWZkSWNvbl9UYWJfQmFyX1NlbGVjdGlvbl9Db2xvcilcIlxuICAgICAgICBbY2xhc3MuZW1wdHktYnJhY2tldF09XCIhdGV4dFwiXG4gICAgICAgIFt0ZXh0XT1cIiF0ZXh0ICYmIHBhcmFtZXRlcnM/LkhpZGVUZXh0T25FbXB0eSA/ICcnIDogKHRleHQgfHwgJ0VtcHR5X0JyYWNrZXQnIHwgYmJiVHJhbnNsYXRlKVwiXG4gICAgICAgIFtjbGFzcy5ib2xkXT1cInRleHQgIT09IG51bGwgJiYgdGV4dCAhPT0gJycgJiYgIXBhcmFtZXRlcnM/Lk5vdEJvbGRcIlxuICAgICAgICBbd2hpdGVzcGFjZXNdPVwidHJ1ZVwiXG4gICAgICAgIFttYXhMaW5lc109XCJtYXhsaW5lcyA/IG1heGxpbmVzIDogMFwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJwYXJhbWV0ZXJzPy5Db2xvclZhbHVlID8gcGFyYW1ldGVycz8uQ29sb3JWYWx1ZSA6IG51bGxcIlxuICAgID48L2ZkLXRleHQ+XG48L25nLXRlbXBsYXRlPlxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcmVhZC1vbmx5LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktcmVhZC1vbmx5LWZpZWxkL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBdUIsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVEvRSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsa0JBQWtCO0lBTmhFOztRQVFJLGVBQVUsR0FBRyxJQUFJLENBQUM7S0FpQnJCO0lBZkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNTLFNBQVMsQ0FBQyxLQUFVO1FBQzFCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDTyxRQUFRO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBbEJRLHdCQUF3QjttR0FBeEIsd0JBQXdCLHFGQ1RyQywwcENBZ0NBOzs0RkR2QmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1yZWFkLW9ubHktZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVpUmVhZE9ubHlGaWVsZENvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGlzRWxsaXBzaXMgPSB0cnVlO1xuICAgIHBhcmFtZXRlcnM6IFVpUmVhZE9ubHlGaWVsZFNldHRpbmc7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX3NldFRleHQoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3NldFRleHQoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0VGV4dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICBjb25zdCB0ZXh0ID0gdmFsdWU/LiRDYXB0aW9uID8gdmFsdWUuJENhcHRpb24gOiB2YWx1ZTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIHRoaXMudGV4dCA9IHRleHQ/LnJlcGxhY2UoLzxiclxccypbXFwvXT8+L2dpLCAnXFxuJyk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG5pbnRlcmZhY2UgVWlSZWFkT25seUZpZWxkU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENvbG9yVmFsdWU6IHN0cmluZztcbiAgICBNYXhMaW5lczogbnVtYmVyO1xuICAgIFNob3dDb3B5OiBib29sZWFuO1xuICAgIE5vdEJvbGQ6IGJvb2xlYW47XG4gICAgSGlkZVRleHRPbkVtcHR5OiBib29sZWFuO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUcGw7IGNvbnRleHQ6IHsgbWF4bGluZXM6IHBhcmFtZXRlcnM/Lk1heExpbmVzIH1cIj48L25nLWNvbnRhaW5lcj5cblxuQGlmIChwYXJhbWV0ZXJzPy5TaG93Q29weSAmJiB0ZXh0KSB7XG48YnV0dG9uIGZkLWJ1dHRvbiBnbHlwaD1cImNvcHlcIiBbZmRDb21wYWN0XSBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIFtjb3B5XT1cInRleHQgfCBiYmJUcmFuc2xhdGVcIj48L2J1dHRvbj5cbn1cbjwhLS0gPGZkLXBvcG92ZXIgKm5nSWY9XCJ0ZXh0XCI+XG48ZmQtcG9wb3Zlci1jb250cm9sPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJpc0VsbGlwc2lzXCJcbiAgICBmZC1idXR0b25cbiAgICBnbHlwaD1cIm92ZXJmbG93XCJcbiAgICBbZmRDb21wYWN0XVxuICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICBbdGl0bGVdPVwidGV4dCB8IGJiYlRyYW5zbGF0ZVwiXG4gID48L2J1dHRvbj5cbjwvZmQtcG9wb3Zlci1jb250cm9sPlxuPGZkLXBvcG92ZXItYm9keT5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xUcGxcIj48L25nLWNvbnRhaW5lcj5cbjwvZmQtcG9wb3Zlci1ib2R5PlxuPC9mZC1wb3BvdmVyPlxuLS0+XG48bmctdGVtcGxhdGUgI2NvbnRyb2xUcGwgbGV0LW1heGxpbmVzPlxuICAgIDxmZC10ZXh0XG4gICAgICAgIHN0eWxlPVwiY29sb3I6IHZhcigtLWZkSWNvbl9UYWJfQmFyX1NlbGVjdGlvbl9Db2xvcilcIlxuICAgICAgICBbY2xhc3MuZW1wdHktYnJhY2tldF09XCIhdGV4dFwiXG4gICAgICAgIFt0ZXh0XT1cIiF0ZXh0ICYmIHBhcmFtZXRlcnM/LkhpZGVUZXh0T25FbXB0eSA/ICcnIDogKHRleHQgfHwgJ0VtcHR5X0JyYWNrZXQnIHwgYmJiVHJhbnNsYXRlKVwiXG4gICAgICAgIFtjbGFzcy5ib2xkXT1cInRleHQgIT09IG51bGwgJiYgdGV4dCAhPT0gJycgJiYgIXBhcmFtZXRlcnM/Lk5vdEJvbGRcIlxuICAgICAgICBbd2hpdGVzcGFjZXNdPVwidHJ1ZVwiXG4gICAgICAgIFttYXhMaW5lc109XCJtYXhsaW5lcyA/IG1heGxpbmVzIDogMFwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJwYXJhbWV0ZXJzPy5Db2xvclZhbHVlID8gcGFyYW1ldGVycz8uQ29sb3JWYWx1ZSA6IG51bGxcIlxuICAgID48L2ZkLXRleHQ+XG48L25nLXRlbXBsYXRlPlxuIl19