@eo-sdk/client 11.5.0-rc.2 → 11.7.0-beta.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 (385) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +35 -35
  3. package/assets/_default/README.md +2 -2
  4. package/assets/_default/config/extend.json +6 -6
  5. package/assets/_default/config/main.json +44 -44
  6. package/assets/_default/fonts/roboto_bold_macroman/Roboto-Bold-webfont.svg +765 -765
  7. package/assets/_default/fonts/roboto_light_macroman/Roboto-Light-webfont.svg +818 -818
  8. package/assets/_default/fonts/roboto_medium_macroman/Roboto-Medium-webfont.svg +765 -765
  9. package/assets/_default/fonts/roboto_regular_macroman/Roboto-Regular-webfont.svg +795 -795
  10. package/assets/_default/i18n/de.json +1130 -1130
  11. package/assets/_default/i18n/de_after.json +1137 -0
  12. package/assets/_default/i18n/en.json +1130 -1130
  13. package/assets/_default/i18n/po/de.po +310 -310
  14. package/assets/_default/i18n/po/en.po +310 -310
  15. package/assets/_default/svg/ic_delete_sweep.svg +3 -3
  16. package/assets/_default/svg/ic_emoticon-cool.svg +1 -1
  17. package/assets/_default/svg/ic_kitt-loader.svg +1 -1
  18. package/assets/_default/svg/ic_link.svg +6 -6
  19. package/assets/_default/svg/ic_not_listed_location.svg +4 -4
  20. package/assets/_default/theme/theme.css +13 -13
  21. package/assets/dashboard.json +47 -47
  22. package/assets/i18n/temp.json +584 -584
  23. package/assets/i18n/temp.pot +1753 -1753
  24. package/esm2022/app/eo-client/about-state/about-state.component.mjs +4 -4
  25. package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +3 -3
  26. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +3 -3
  27. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +3 -3
  28. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
  29. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +3 -3
  30. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +3 -3
  31. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +1 -1
  32. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +1 -1
  33. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +3 -3
  34. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +3 -3
  35. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +3 -3
  36. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +3 -3
  37. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +3 -3
  38. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +3 -3
  39. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.mjs +1 -1
  40. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +3 -3
  41. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +3 -3
  42. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.mjs +1 -1
  43. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +3 -3
  44. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +3 -3
  45. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.mjs +1 -1
  46. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.mjs +3 -3
  47. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.mjs +3 -3
  48. package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +3 -3
  49. package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-setup/todo-setup.component.mjs +3 -3
  50. package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.mjs +3 -3
  51. package/esm2022/app/eo-client/eo-client-routing.module.mjs +1 -1
  52. package/esm2022/app/eo-client/eo-client.module.mjs +1 -1
  53. package/esm2022/app/eo-client/favorite-state/favorite-state.component.mjs +14 -14
  54. package/esm2022/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +18 -18
  55. package/esm2022/app/eo-client/inbox-state/inbox-state/inbox.types.enum.mjs +1 -1
  56. package/esm2022/app/eo-client/inbox-state/inbox-state-routing.module.mjs +1 -1
  57. package/esm2022/app/eo-client/inbox-state/inbox-state.module.mjs +1 -1
  58. package/esm2022/app/eo-client/index.mjs +1 -1
  59. package/esm2022/app/eo-client/login/login.component.mjs +3 -3
  60. package/esm2022/app/eo-client/notifications-state/notifications-state.component.mjs +16 -16
  61. package/esm2022/app/eo-client/notifications-state/notifications-state.interface.mjs +1 -1
  62. package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +3 -3
  63. package/esm2022/app/eo-client/object-state/object-state-routing.module.mjs +1 -1
  64. package/esm2022/app/eo-client/object-state/object-state-service/object-state.interface.mjs +1 -1
  65. package/esm2022/app/eo-client/object-state/object-state-service/object-state.service.mjs +1 -1
  66. package/esm2022/app/eo-client/object-state/object-state.module.mjs +1 -1
  67. package/esm2022/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +14 -14
  68. package/esm2022/app/eo-client/prepare-state/prepare-state-routing.module.mjs +1 -1
  69. package/esm2022/app/eo-client/prepare-state/prepare-state.module.mjs +1 -1
  70. package/esm2022/app/eo-client/process-state/filter-label.mjs +1 -1
  71. package/esm2022/app/eo-client/process-state/process-state.component.mjs +22 -22
  72. package/esm2022/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +16 -16
  73. package/esm2022/app/eo-client/result-state/result-state.component.mjs +3 -3
  74. package/esm2022/app/eo-client/settings/agent-lock-settings.enum.mjs +1 -1
  75. package/esm2022/app/eo-client/settings/settings.component.mjs +3 -3
  76. package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +14 -14
  77. package/esm2022/app/eo-client/version-state/version-state.component.mjs +16 -16
  78. package/esm2022/app/eo-framework/accordion/accordion.module.mjs +1 -1
  79. package/esm2022/app/eo-framework/accordion/index.mjs +1 -1
  80. package/esm2022/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +3 -3
  81. package/esm2022/app/eo-framework/actions/action-menu/action-component-anchor/action-component-anchor.directive.mjs +1 -1
  82. package/esm2022/app/eo-framework/actions/action-menu/action-menu.component.mjs +3 -3
  83. package/esm2022/app/eo-framework/actions/action-service/action.service.mjs +1 -1
  84. package/esm2022/app/eo-framework/actions/action-target.mjs +1 -1
  85. package/esm2022/app/eo-framework/actions/action.module.mjs +1 -1
  86. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +3 -3
  87. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.mjs +1 -1
  88. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
  89. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.mjs +1 -1
  90. package/esm2022/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.mjs +3 -3
  91. package/esm2022/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing-action.mjs +1 -1
  92. package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-action.mjs +1 -1
  93. package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +3 -3
  94. package/esm2022/app/eo-framework/actions/actions/copy-action/copy-action.mjs +1 -1
  95. package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +1 -1
  96. package/esm2022/app/eo-framework/actions/actions/cut-action/cut-action.mjs +1 -1
  97. package/esm2022/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +3 -3
  98. package/esm2022/app/eo-framework/actions/actions/delete-action/delete-action.mjs +1 -1
  99. package/esm2022/app/eo-framework/actions/actions/delete-action/delete-prepared-action.mjs +1 -1
  100. package/esm2022/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.mjs +3 -3
  101. package/esm2022/app/eo-framework/actions/actions/delete-content-action/delete-content-action.mjs +1 -1
  102. package/esm2022/app/eo-framework/actions/actions/download-action/download-action.mjs +1 -1
  103. package/esm2022/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.mjs +3 -3
  104. package/esm2022/app/eo-framework/actions/actions/email/email/email.component.mjs +3 -3
  105. package/esm2022/app/eo-framework/actions/actions/email/email-action.mjs +1 -1
  106. package/esm2022/app/eo-framework/actions/actions/favorite-action/favorite-action.mjs +1 -1
  107. package/esm2022/app/eo-framework/actions/actions/finalize/definalize-action.mjs +1 -1
  108. package/esm2022/app/eo-framework/actions/actions/finalize/finalize-action.mjs +1 -1
  109. package/esm2022/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.mjs +3 -3
  110. package/esm2022/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +1 -1
  111. package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +3 -3
  112. package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.mjs +1 -1
  113. package/esm2022/app/eo-framework/actions/actions/open-versions-action/open-versions-action.mjs +1 -1
  114. package/esm2022/app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action.mjs +1 -1
  115. package/esm2022/app/eo-framework/actions/actions/restore-version-action/restore-version-action.mjs +1 -1
  116. package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +3 -3
  117. package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object-action.mjs +1 -1
  118. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +3 -3
  119. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +3 -3
  120. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
  121. package/esm2022/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +1 -1
  122. package/esm2022/app/eo-framework/actions/actions/signature-action/signature.model.mjs +1 -1
  123. package/esm2022/app/eo-framework/actions/actions/unlock-action/unlock-action.mjs +1 -1
  124. package/esm2022/app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action.mjs +1 -1
  125. package/esm2022/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +1 -1
  126. package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +3 -3
  127. package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow-action.component.mjs +1 -1
  128. package/esm2022/app/eo-framework/actions/index.mjs +1 -1
  129. package/esm2022/app/eo-framework/actions/interfaces/action-component.interface.mjs +1 -1
  130. package/esm2022/app/eo-framework/actions/interfaces/action-list-entry.mjs +1 -1
  131. package/esm2022/app/eo-framework/actions/interfaces/action.interface.mjs +1 -1
  132. package/esm2022/app/eo-framework/actions/selection-range.enum.mjs +1 -1
  133. package/esm2022/app/eo-framework/animations/animations.mjs +1 -1
  134. package/esm2022/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +3 -3
  135. package/esm2022/app/eo-framework/app-shell/app-bar/app-add/app-add.component.mjs +3 -3
  136. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +3 -3
  137. package/esm2022/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +3 -3
  138. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +3 -3
  139. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.interface.mjs +1 -1
  140. package/esm2022/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
  141. package/esm2022/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +3 -3
  142. package/esm2022/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +3 -3
  143. package/esm2022/app/eo-framework/app-shell/app-shell-routing.module.mjs +1 -1
  144. package/esm2022/app/eo-framework/app-shell/app-shell.module.mjs +1 -1
  145. package/esm2022/app/eo-framework/app-shell/index.mjs +1 -1
  146. package/esm2022/app/eo-framework/app-shell/license-warning/license-warning.component.mjs +3 -3
  147. package/esm2022/app/eo-framework/cta/component/cta.component.mjs +3 -3
  148. package/esm2022/app/eo-framework/cta/cta.module.mjs +1 -1
  149. package/esm2022/app/eo-framework/cta/index.mjs +1 -1
  150. package/esm2022/app/eo-framework/eo-framework.module.mjs +1 -1
  151. package/esm2022/app/eo-framework/error/error.module.mjs +1 -1
  152. package/esm2022/app/eo-framework/error/error404/error404.component.mjs +3 -3
  153. package/esm2022/app/eo-framework/error/index.mjs +1 -1
  154. package/esm2022/app/eo-framework/error/not-found/not-found.component.mjs +1 -1
  155. package/esm2022/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +3 -3
  156. package/esm2022/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +3 -3
  157. package/esm2022/app/eo-framework/form-elements/date/date.component.mjs +3 -3
  158. package/esm2022/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +1 -1
  159. package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +3 -3
  160. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +3 -3
  161. package/esm2022/app/eo-framework/form-elements/form-elements.module.mjs +1 -1
  162. package/esm2022/app/eo-framework/form-elements/form-input/form-input.component.mjs +3 -3
  163. package/esm2022/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.mjs +1 -1
  164. package/esm2022/app/eo-framework/form-elements/id-reference/animation/reference-finder.animation.mjs +1 -1
  165. package/esm2022/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +3 -3
  166. package/esm2022/app/eo-framework/form-elements/id-reference/interface/reference-finder.interface.mjs +1 -1
  167. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +3 -3
  168. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +3 -3
  169. package/esm2022/app/eo-framework/form-elements/id-reference/service/reference-finder.service.mjs +1 -1
  170. package/esm2022/app/eo-framework/form-elements/index.mjs +1 -1
  171. package/esm2022/app/eo-framework/form-elements/number/number.component.mjs +3 -3
  172. package/esm2022/app/eo-framework/form-elements/number-range/number-range.component.mjs +3 -3
  173. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +3 -3
  174. package/esm2022/app/eo-framework/form-elements/password/password.component.mjs +3 -3
  175. package/esm2022/app/eo-framework/form-elements/reference/reference.component.mjs +3 -3
  176. package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +3 -3
  177. package/esm2022/app/eo-framework/frame/frame.component.mjs +3 -3
  178. package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +3 -3
  179. package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +3 -3
  180. package/esm2022/app/eo-framework/grid/extensions/empty/empty.component.mjs +3 -3
  181. package/esm2022/app/eo-framework/grid/extensions/filter/abstract-filter.component.mjs +1 -1
  182. package/esm2022/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +3 -3
  183. package/esm2022/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +3 -3
  184. package/esm2022/app/eo-framework/grid/extensions/filter/setFilters/set-filters.interface.mjs +1 -1
  185. package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +3 -3
  186. package/esm2022/app/eo-framework/grid/extensions/pagination/pagination.component.mjs +3 -3
  187. package/esm2022/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.mjs +21 -21
  188. package/esm2022/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.mjs +3 -3
  189. package/esm2022/app/eo-framework/grid/extensions/services/list-settings.service.mjs +1 -1
  190. package/esm2022/app/eo-framework/grid/extensions/total-count/total-count.component.mjs +3 -3
  191. package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +3 -3
  192. package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +3 -3
  193. package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
  194. package/esm2022/app/eo-framework/grid/filters/filesize-filter.component.mjs +1 -1
  195. package/esm2022/app/eo-framework/grid/filters/list-filter.component.mjs +3 -3
  196. package/esm2022/app/eo-framework/grid/filters/organization-filter.component.mjs +3 -3
  197. package/esm2022/app/eo-framework/grid/grid-filter.model.mjs +1 -1
  198. package/esm2022/app/eo-framework/grid/grid.component.mjs +3 -3
  199. package/esm2022/app/eo-framework/grid/grid.module.mjs +1 -1
  200. package/esm2022/app/eo-framework/grid/index.mjs +1 -1
  201. package/esm2022/app/eo-framework/grid/loader.interface.mjs +1 -1
  202. package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +1 -1
  203. package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +1 -1
  204. package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +1 -1
  205. package/esm2022/app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component.mjs +3 -3
  206. package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -3
  207. package/esm2022/app/eo-framework/index.mjs +1 -1
  208. package/esm2022/app/eo-framework/list-container/index.mjs +1 -1
  209. package/esm2022/app/eo-framework/list-container/list-container.component.mjs +3 -3
  210. package/esm2022/app/eo-framework/list-container/list-container.module.mjs +1 -1
  211. package/esm2022/app/eo-framework/media/content-preview.service.mjs +1 -1
  212. package/esm2022/app/eo-framework/media/index.mjs +1 -1
  213. package/esm2022/app/eo-framework/media/media.component.mjs +3 -3
  214. package/esm2022/app/eo-framework/media/media.module.mjs +1 -1
  215. package/esm2022/app/eo-framework/object-details/edit-icon/edit-icon.component.mjs +3 -3
  216. package/esm2022/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +3 -3
  217. package/esm2022/app/eo-framework/object-details/index.mjs +1 -1
  218. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +3 -3
  219. package/esm2022/app/eo-framework/object-details/object-details.module.mjs +1 -1
  220. package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter-pipe/history-filter.pipe.mjs +1 -1
  221. package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter.component.mjs +3 -3
  222. package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter.mjs +1 -1
  223. package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +3 -3
  224. package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +3 -3
  225. package/esm2022/app/eo-framework/object-form/form-status-changed-event.interface.mjs +1 -1
  226. package/esm2022/app/eo-framework/object-form/index.mjs +1 -1
  227. package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +1 -1
  228. package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
  229. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +11 -11
  230. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +1 -1
  231. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +3 -3
  232. package/esm2022/app/eo-framework/object-form/object-form/form-validation/form-validation.mjs +1 -1
  233. package/esm2022/app/eo-framework/object-form/object-form/object-form-control-wrapper.mjs +1 -1
  234. package/esm2022/app/eo-framework/object-form/object-form/object-form-control.mjs +1 -1
  235. package/esm2022/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +3 -3
  236. package/esm2022/app/eo-framework/object-form/object-form/object-form-group.model.mjs +1 -1
  237. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.interface.mjs +1 -1
  238. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +1 -1
  239. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +1 -1
  240. package/esm2022/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -3
  241. package/esm2022/app/eo-framework/object-form/object-form/object-form.model.mjs +1 -1
  242. package/esm2022/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +3 -3
  243. package/esm2022/app/eo-framework/object-form/object-form-helper.service.mjs +1 -1
  244. package/esm2022/app/eo-framework/object-form/object-form-options.interface.mjs +1 -1
  245. package/esm2022/app/eo-framework/object-form/object-form.module.mjs +1 -1
  246. package/esm2022/app/eo-framework/object-state-details/object-state-details.component.mjs +3 -3
  247. package/esm2022/app/eo-framework/plugins/index.mjs +1 -1
  248. package/esm2022/app/eo-framework/plugins/plugin.component.mjs +15 -15
  249. package/esm2022/app/eo-framework/plugins/plugin.directive.mjs +1 -1
  250. package/esm2022/app/eo-framework/plugins/plugin.service.mjs +1 -1
  251. package/esm2022/app/eo-framework/plugins/plugins.module.mjs +1 -1
  252. package/esm2022/app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component.mjs +3 -3
  253. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +10 -10
  254. package/esm2022/app/eo-framework/process/details/process-details.component.mjs +3 -3
  255. package/esm2022/app/eo-framework/process/history/process-history.component.mjs +3 -3
  256. package/esm2022/app/eo-framework/process/process-file/file-entry-permissions.interface.mjs +1 -1
  257. package/esm2022/app/eo-framework/process/process-file/process-file.component.mjs +3 -3
  258. package/esm2022/app/eo-framework/process-form/process-form.component.mjs +3 -3
  259. package/esm2022/app/eo-framework/process-form/process-form.module.mjs +1 -1
  260. package/esm2022/app/eo-framework/quick-search/index.mjs +1 -1
  261. package/esm2022/app/eo-framework/quick-search/quick-search/quick-search-result.interface.mjs +1 -1
  262. package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +3 -3
  263. package/esm2022/app/eo-framework/quick-search/quick-search.module.mjs +1 -1
  264. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +3 -3
  265. package/esm2022/app/eo-framework/result-list/index.mjs +1 -1
  266. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +3 -3
  267. package/esm2022/app/eo-framework/result-list/result-list.module.mjs +1 -1
  268. package/esm2022/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.mjs +3 -3
  269. package/esm2022/app/eo-framework/settings/change-password/change-password.interface.mjs +1 -1
  270. package/esm2022/app/eo-framework/settings/index.mjs +1 -1
  271. package/esm2022/app/eo-framework/settings/permissions/permissions.component.mjs +3 -3
  272. package/esm2022/app/eo-framework/settings/settings.module.mjs +1 -1
  273. package/esm2022/app/eo-framework/shortcuts/global-shortcut-action.interface.mjs +1 -1
  274. package/esm2022/app/eo-framework/shortcuts/global-shortcut-component.interface.mjs +1 -1
  275. package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.mjs +3 -3
  276. package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts.component.mjs +3 -3
  277. package/esm2022/app/eo-framework/shortcuts/index.mjs +1 -1
  278. package/esm2022/app/eo-framework/shortcuts/shortcut.interface.mjs +4 -4
  279. package/esm2022/app/eo-framework/shortcuts/shortcuts.directive.mjs +1 -1
  280. package/esm2022/app/eo-framework/shortcuts/shortcuts.module.mjs +1 -1
  281. package/esm2022/app/eo-framework/shortcuts/shortcuts.service.mjs +1 -1
  282. package/esm2022/app/eo-framework/stored-query/index.mjs +1 -1
  283. package/esm2022/app/eo-framework/stored-query/stored-query/stored-query.component.mjs +3 -3
  284. package/esm2022/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +3 -3
  285. package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +3 -3
  286. package/esm2022/app/eo-framework/stored-query/stored-query-type-filter.enum.mjs +1 -1
  287. package/esm2022/app/eo-framework/stored-query/stored-query.interface.mjs +1 -1
  288. package/esm2022/app/eo-framework/stored-query/stored-query.module.mjs +1 -1
  289. package/esm2022/app/eo-framework/tree/index.mjs +1 -1
  290. package/esm2022/app/eo-framework/tree/tree-node/tree-node.component.mjs +3 -3
  291. package/esm2022/app/eo-framework/tree/tree.component.interface.mjs +1 -1
  292. package/esm2022/app/eo-framework/tree/tree.component.mjs +3 -3
  293. package/esm2022/app/eo-framework/tree/tree.module.mjs +1 -1
  294. package/esm2022/app/eo-framework/ui/animations/panel-loading.animation.mjs +1 -1
  295. package/esm2022/app/eo-framework/ui/clipboard/clipboard.component.mjs +3 -3
  296. package/esm2022/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +3 -3
  297. package/esm2022/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +1 -1
  298. package/esm2022/app/eo-framework/ui/error-message/error-message.component.mjs +3 -3
  299. package/esm2022/app/eo-framework/ui/index.mjs +1 -1
  300. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +3 -3
  301. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry.interface.mjs +1 -1
  302. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +3 -3
  303. package/esm2022/app/eo-framework/ui/loading-spinner/loading-spinner.component.mjs +7 -7
  304. package/esm2022/app/eo-framework/ui/outside-click/outside-click.directive.mjs +1 -1
  305. package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +3 -3
  306. package/esm2022/app/eo-framework/ui/query-scope-select/query-scope-select.component.mjs +3 -3
  307. package/esm2022/app/eo-framework/ui/router-link/router-link.directive.mjs +1 -1
  308. package/esm2022/app/eo-framework/ui/rtl-aware/rtl-aware.directive.mjs +1 -1
  309. package/esm2022/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -3
  310. package/esm2022/app/eo-framework/ui/ui.module.mjs +1 -1
  311. package/esm2022/app/eo-framework/ui/user-avatar/user-avatar.component.mjs +1 -1
  312. package/esm2022/app/eo-framework/upload-overlay/upload-overlay-guard.service.mjs +1 -1
  313. package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
  314. package/esm2022/app/eo-framework/util/directive/prevent-double-click.directive.mjs +1 -1
  315. package/esm2022/app/eo-framework/util/directive/trap-focus.directive.mjs +1 -1
  316. package/esm2022/app/eo-framework/util/index.mjs +1 -1
  317. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +1 -1
  318. package/esm2022/app/eo-framework/util/sortable/order-by.pipe.mjs +1 -1
  319. package/esm2022/app/eo-framework/util/util.module.mjs +1 -1
  320. package/esm2022/app/eo-framework-core/agent/agent.interface.mjs +1 -1
  321. package/esm2022/app/eo-framework-core/agent/agent.service.mjs +1 -1
  322. package/esm2022/app/eo-framework-core/api/grid.service.mjs +3 -3
  323. package/esm2022/app/eo-framework-core/api/model/dms-object.api.interface.mjs +1 -1
  324. package/esm2022/app/eo-framework-core/api/plugins.service.mjs +1 -1
  325. package/esm2022/app/eo-framework-core/empty-state/empty-state.interface.mjs +1 -1
  326. package/esm2022/app/eo-framework-core/empty-state/empty-state.service.mjs +1 -1
  327. package/esm2022/app/eo-framework-core/eo-framework-core.module.mjs +1 -1
  328. package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +1 -1
  329. package/esm2022/app/eo-framework-core/error-handler/error-keys.mjs +1 -1
  330. package/esm2022/app/eo-framework-core/index.mjs +1 -1
  331. package/esm2022/app/eo-framework-core/layout/layout.service.mjs +1 -1
  332. package/esm2022/app/eo-framework-core/location/location.service.mjs +1 -1
  333. package/esm2022/app/eo-framework-core/pending-changes/pending-changes-component.interface.mjs +1 -1
  334. package/esm2022/app/eo-framework-core/pending-changes/pending-changes-guard.service.mjs +1 -1
  335. package/esm2022/app/eo-framework-core/pending-changes/pending-changes.service.mjs +1 -1
  336. package/esm2022/app/eo-framework-core/pipes/filesize.pipe.mjs +1 -1
  337. package/esm2022/app/eo-framework-core/pipes/keys.pipe.mjs +1 -1
  338. package/esm2022/app/eo-framework-core/pipes/locale-date.pipe.mjs +1 -1
  339. package/esm2022/app/eo-framework-core/pipes/locale-number.pipe.mjs +1 -1
  340. package/esm2022/app/eo-framework-core/pipes/pipes.module.mjs +1 -1
  341. package/esm2022/app/eo-framework-core/pipes/safe-html.pipe.mjs +1 -1
  342. package/esm2022/app/eo-framework-core/references/reference.service.mjs +1 -1
  343. package/esm2022/app/eo-framework-core/route-guards/auth/auth-guard.service.mjs +1 -1
  344. package/esm2022/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.mjs +1 -1
  345. package/esm2022/app/eo-framework-core/search/app-search.service.mjs +1 -1
  346. package/esm2022/app/eo-framework-core/selection/selection.service.mjs +1 -1
  347. package/esm2022/app/eo-framework-core/title/page-title.service.mjs +1 -1
  348. package/esm2022/public_api.mjs +1 -1
  349. package/fesm2022/eo-sdk-client.mjs +439 -439
  350. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  351. package/languages/ar.json +523 -523
  352. package/languages/es.json +523 -523
  353. package/languages/fr.json +523 -523
  354. package/languages/po/ar.po +457 -457
  355. package/languages/pt.json +523 -523
  356. package/languages/temp.pot +928 -928
  357. package/languages/zh.json +523 -523
  358. package/misc/client.properties +1 -1
  359. package/misc/doc-styles/style.css +175 -175
  360. package/misc/scripts/copy-client-assets.js +26 -26
  361. package/misc/scripts/copy-core-styles.js +3 -3
  362. package/misc/scripts/exclude-core-ng-package.js +11 -11
  363. package/misc/scripts/helper.js +64 -64
  364. package/misc/scripts/i18n-apply.js +46 -46
  365. package/misc/scripts/i18n-diff.js +100 -100
  366. package/misc/scripts/injectdocbase.js +7 -7
  367. package/misc/scripts/mvn-deploy.js +66 -66
  368. package/misc/scripts/prebuild-about-state.js +32 -32
  369. package/misc/scripts/preparedist.js +39 -39
  370. package/misc/scripts/zipdist.js +21 -21
  371. package/misc/template.yml +4 -4
  372. package/misc/tsscheme.xml +34 -34
  373. package/package.json +2 -2
  374. package/proxy.config.json +97 -97
  375. package/scss/_ag-grid.scss +59 -59
  376. package/scss/_animation.scss +55 -55
  377. package/scss/_eo-variables.scss +78 -78
  378. package/scss/_form.scss +660 -660
  379. package/scss/_main.scss +394 -394
  380. package/scss/_migrationTemp.scss +27 -27
  381. package/scss/_mixins.scss +201 -201
  382. package/scss/_theme-dark.scss +22 -22
  383. package/scss/_timeline.scss +98 -98
  384. package/scss/_yuuvis-components.scss +40 -40
  385. package/styles.scss +141 -141
@@ -342,7 +342,7 @@ let ResultListComponent = class ResultListComponent {
342
342
  this.router.navigate(['/result'], uriParamQuery);
343
343
  }
344
344
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ResultListComponent, deps: [{ token: i1.Config }, { token: i1.TranslateService }, { token: i2.GridService }, { token: i1.BackendService }, { token: i3.AppSearchService }, { token: i1.SearchService }, { token: i1.EventService }, { token: i1.LocalStorageService }, { token: i1.StoredQueriesService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
345
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ResultListComponent, selector: "eo-result-list", inputs: { title: "title", configType: "configType", configContext: "configContext", clearAfterExecute: "clearAfterExecute", emptyMessage: "emptyMessage", selectFirst: "selectFirst", gridOptions: "gridOptions", hasIcon: "hasIcon", reference: "reference", query: "query", searchResult: "searchResult" }, outputs: { onSelectionChanged: "onSelectionChanged", onFocusChanged: "onFocusChanged", onDoubleClick: "onDoubleClick", onContextMenu: "onContextMenu", onCountChanged: "onCountChanged", onRefresh: "onRefresh", onResult: "onResult", onQueryInvalid: "onQueryInvalid" }, viewQueries: [{ propertyName: "grid", first: true, predicate: ["eoGrid"], descendants: true }, { propertyName: "list", first: true, predicate: ["eoList"], descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"result-list__loader\" [size]=\"'medium'\"></eo-loading-spinner>\n</div>\n<eo-column-configurator *ngIf=\"visibleConfig\" [visible]=\"visibleConfig\"\n [configType]=\"configType\" [configContext]=\"configContext\" [eoGrid]=\"grid\"\n (onConfigChanged)=\"visibleConfig = false; onConfigChanged($event)\" ></eo-column-configurator>\n\n<eo-list-container #eoList [applySelection]=\"{}\" [loading]=\"false\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"hasIcon\" [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\">{{title || ('eo.search.title' | translate)}}</div>\n <div class=\"eo-header-subtitle\">\n <span *ngIf=\"!storedQuery; else storedQueryText\" class=\"eo-header-subtitle__label\" [title]=\"querySubtitle\">{{querySubtitle}}</span>\n <ng-template #storedQueryText>\n <ng-container *ngIf=\"storedQuery.parameter.length === 0; else storedQueryDialog\">\n <span class=\"eo-header-subtitle__label\" [title]=\"('eo.search.aside.summary.storedquery' | translate) + ': ' + storedQuery.name\">\n {{'eo.search.aside.summary.storedquery' | translate}}: {{storedQuery.name}}\n </span>\n </ng-container>\n </ng-template>\n <ng-template #storedQueryDialog>\n <div class=\"stored-query\">\n <span>\n {{'eo.search.aside.summary.storedquery' | translate}}:\n </span>\n <button class=\"sq\" (click)=\"savedSearchClicked = true\" (keyup.enter)=\"savedSearchClicked = true\" tabindex=\"0\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_stored_query.svg'\"></eo-icon>\n <span>{{storedQuery.name}}</span>\n </button>\n </div>\n </ng-template>\n <span *ngIf=\"query?.contextFolderTypes.length === 1\" translate\n [translateParams]=\"{type: query.contextFolderTypes[0].label}\">eo.search.objecttype.form.context</span>\n <span class=\"term\" *ngIf=\"!storedQuery && query?.term && !clearAfterExecute\" [title]=\"('eo.search.result.term' | translate) + ': ' + query.term\">{{'eo.search.result.term' | translate}} : \"{{query.term}}\"</span>\n <div class=\"suggest\" *ngIf=\"searchResult?.suggests\">{{'eo.search.suggest' | translate}}<a href=\"javascript:void(0)\" (click)=\"executeSuggestSearch()\">{{searchResult.suggests[0]}}</a> ?\n </div>\n </div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n <eo-icon class=\"button export-button\" [hidden]=\"!query\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.resultlist.export.csv' | translate)\"\n (click)=\"exportCSV()\" *ngIf=\"!csvLoadingSpinnerVisibility\"></eo-icon>\n <eo-loading-spinner [size]=\"'small'\" *ngIf=\"csvLoadingSpinnerVisibility\" class=\"spinner\"></eo-loading-spinner>\n <eo-icon class=\"button config-button\" [iconSrc]=\"'assets/_default/svg/ic_settings.svg'\" [iconTitle]=\"('eo.column.config.title' | translate)\"\n (click)=\"visibleConfig = !visibleConfig\"></eo-icon>\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\" [iconTitle]=\"('eo.object.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\" *ngIf=\"!reference\"></eo-icon>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"resultGridOptions\" *ngIf=\"hasGridOptions; else error\"\n [showFooter]=\"true\" (eoGridColumnResized)=\"onColumnResized($event)\" [selectFirst]=\"selectFirst\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged.emit($event);\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event);onContextMenu.emit($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event);onSelectionChanged.emit($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event);onDoubleClick.emit($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event);onFocusChanged.emit($event)\">\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <!--<eo-quick-filter [eoGrid]=\"eoGrid\"></eo-quick-filter>-->\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{text: emptyMessage || 'eo.search.result.expired'}\"></eo-error-message>\n </div>\n </eo-grid>\n </div>\n <ng-template #error>\n\n <eo-error-message *ngIf=\"hasGridOptions\" [emptyState]=\"{text:'eo.search.mode.expert.result.empty'}\">\n </eo-error-message>\n\n </ng-template>\n</eo-list-container>\n\n<eo-dialog [visible]=\"savedSearchClicked\" (hide)=\"savedSearchClicked = false\" [title]=\"'eo.search.aside.summary.storedquery' | translate\">\n <eo-stored-query [query]=\"storedQuery\"\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\n</eo-dialog>\n\n<eo-dialog [title]=\"'eo.resultlist.export.csv.threshold.dialog.title' | translate\"\n [(visible)]=\"showWarnExportCSVThresholdDialog\" [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'threshold__dialog'\">\n\n <div>{{'eo.resultlist.export.csv.threshold.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showWarnExportCSVThresholdDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"exportCSV(true)\" class=\"button primary\"\n translate>eo.resultlist.export.csv.threshold.dialog.export</button>\n </div>\n</eo-dialog>\n\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background);height:100%}:host .spinner{padding:calc(var(--app-pane-padding) / 4)}:host .result-head{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .result-head .header-info{flex:1}:host .result-head .header-info .header-sub-title .term{margin:0 var(--app-pane-padding)}:host .result-head .header-info .header-title{padding-bottom:calc(var(--app-pane-padding) / 4);font-size:20px;-webkit-user-select:none;user-select:none}:host .result-head .header-info .status{display:flex}:host .result-head .header-info .status .term{flex:1}:host .result-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .result-list__loader{margin:auto}:host .stored-query{display:flex;max-height:45vh}:host .stored-query span{padding-right:calc(var(--app-pane-padding) / 2)}:host .stored-query>div{background-color:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin:0 1px;border-radius:2px 0 0 2px}:host .stored-query>div eo-icon{padding:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}:host .stored-query .sq{overflow:hidden;border-radius:2px;padding:calc(var(--app-pane-padding) / 100);background-color:var(--color-white);color:var(--text-color-caption);text-decoration:none;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;flex-flow:row;align-items:center;background-color:var(--list-item-hover-background)}:host .stored-query .sq>eo-icon{color:var(--text-color-hint);flex-shrink:0}:host .stored-query .sq>span{text-overflow:ellipsis;overflow:hidden;padding:0 calc(var(--app-pane-padding) / 2)}eo-stored-query{border-radius:0 2px 2px 0;background-color:var(--color-white);padding:var(--app-pane-padding);overflow-y:auto}::ng-deep .threshold__dialog{padding:8px;min-height:unset!important}::ng-deep .threshold__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i7.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i8.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i9.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i10.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i11.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i12.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i13.ColumnConfiguratorComponent, selector: "eo-column-configurator", inputs: ["configType", "configContext", "visible", "eoGrid"], outputs: ["onConfigChanged"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i16.StoredQueryComponent, selector: "eo-stored-query", inputs: ["query", "formOnly"], outputs: ["onQueryLoaded", "onQueryExecute"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
345
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ResultListComponent, selector: "eo-result-list", inputs: { title: "title", configType: "configType", configContext: "configContext", clearAfterExecute: "clearAfterExecute", emptyMessage: "emptyMessage", selectFirst: "selectFirst", gridOptions: "gridOptions", hasIcon: "hasIcon", reference: "reference", query: "query", searchResult: "searchResult" }, outputs: { onSelectionChanged: "onSelectionChanged", onFocusChanged: "onFocusChanged", onDoubleClick: "onDoubleClick", onContextMenu: "onContextMenu", onCountChanged: "onCountChanged", onRefresh: "onRefresh", onResult: "onResult", onQueryInvalid: "onQueryInvalid" }, viewQueries: [{ propertyName: "grid", first: true, predicate: ["eoGrid"], descendants: true }, { propertyName: "list", first: true, predicate: ["eoList"], descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\r\n <eo-loading-spinner class=\"result-list__loader\" [size]=\"'medium'\"></eo-loading-spinner>\r\n</div>\r\n<eo-column-configurator *ngIf=\"visibleConfig\" [visible]=\"visibleConfig\"\r\n [configType]=\"configType\" [configContext]=\"configContext\" [eoGrid]=\"grid\"\r\n (onConfigChanged)=\"visibleConfig = false; onConfigChanged($event)\" ></eo-column-configurator>\r\n\r\n<eo-list-container #eoList [applySelection]=\"{}\" [loading]=\"false\" [parseDmsParams]=\"parseDmsParams\">\r\n <div class=\"eo-header\">\r\n <eo-icon class=\"eo-header-icon\" *ngIf=\"hasIcon\" [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\r\n <div class=\"eo-header-info\">\r\n <div class=\"eo-header-title\">{{title || ('eo.search.title' | translate)}}</div>\r\n <div class=\"eo-header-subtitle\">\r\n <span *ngIf=\"!storedQuery; else storedQueryText\" class=\"eo-header-subtitle__label\" [title]=\"querySubtitle\">{{querySubtitle}}</span>\r\n <ng-template #storedQueryText>\r\n <ng-container *ngIf=\"storedQuery.parameter.length === 0; else storedQueryDialog\">\r\n <span class=\"eo-header-subtitle__label\" [title]=\"('eo.search.aside.summary.storedquery' | translate) + ': ' + storedQuery.name\">\r\n {{'eo.search.aside.summary.storedquery' | translate}}: {{storedQuery.name}}\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #storedQueryDialog>\r\n <div class=\"stored-query\">\r\n <span>\r\n {{'eo.search.aside.summary.storedquery' | translate}}:\r\n </span>\r\n <button class=\"sq\" (click)=\"savedSearchClicked = true\" (keyup.enter)=\"savedSearchClicked = true\" tabindex=\"0\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_stored_query.svg'\"></eo-icon>\r\n <span>{{storedQuery.name}}</span>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <span *ngIf=\"query?.contextFolderTypes.length === 1\" translate\r\n [translateParams]=\"{type: query.contextFolderTypes[0].label}\">eo.search.objecttype.form.context</span>\r\n <span class=\"term\" *ngIf=\"!storedQuery && query?.term && !clearAfterExecute\" [title]=\"('eo.search.result.term' | translate) + ': ' + query.term\">{{'eo.search.result.term' | translate}} : \"{{query.term}}\"</span>\r\n <div class=\"suggest\" *ngIf=\"searchResult?.suggests\">{{'eo.search.suggest' | translate}}<a href=\"javascript:void(0)\" (click)=\"executeSuggestSearch()\">{{searchResult.suggests[0]}}</a> ?\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"eo-header-actions\">\r\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refreshGrid()\"\r\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\r\n <eo-icon class=\"button export-button\" [hidden]=\"!query\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.resultlist.export.csv' | translate)\"\r\n (click)=\"exportCSV()\" *ngIf=\"!csvLoadingSpinnerVisibility\"></eo-icon>\r\n <eo-loading-spinner [size]=\"'small'\" *ngIf=\"csvLoadingSpinnerVisibility\" class=\"spinner\"></eo-loading-spinner>\r\n <eo-icon class=\"button config-button\" [iconSrc]=\"'assets/_default/svg/ic_settings.svg'\" [iconTitle]=\"('eo.column.config.title' | translate)\"\r\n (click)=\"visibleConfig = !visibleConfig\"></eo-icon>\r\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\" [iconTitle]=\"('eo.object.actions.title' | translate)\"\r\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\" *ngIf=\"!reference\"></eo-icon>\r\n </div>\r\n </div>\r\n <div class=\"eo-body\">\r\n <eo-grid #eoGrid [gridOptions]=\"resultGridOptions\" *ngIf=\"hasGridOptions; else error\"\r\n [showFooter]=\"true\" (eoGridColumnResized)=\"onColumnResized($event)\" [selectFirst]=\"selectFirst\"\r\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged.emit($event);\"\r\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event);onContextMenu.emit($event)\"\r\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event);onSelectionChanged.emit($event)\"\r\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event);onDoubleClick.emit($event)\"\r\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event);onFocusChanged.emit($event)\">\r\n\r\n <div class=\"footer\">\r\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\r\n <!--<eo-quick-filter [eoGrid]=\"eoGrid\"></eo-quick-filter>-->\r\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\r\n </div>\r\n\r\n <div class=\"empty\">\r\n <eo-error-message [emptyState]=\"{text: emptyMessage || 'eo.search.result.expired'}\"></eo-error-message>\r\n </div>\r\n </eo-grid>\r\n </div>\r\n <ng-template #error>\r\n\r\n <eo-error-message *ngIf=\"hasGridOptions\" [emptyState]=\"{text:'eo.search.mode.expert.result.empty'}\">\r\n </eo-error-message>\r\n\r\n </ng-template>\r\n</eo-list-container>\r\n\r\n<eo-dialog [visible]=\"savedSearchClicked\" (hide)=\"savedSearchClicked = false\" [title]=\"'eo.search.aside.summary.storedquery' | translate\">\r\n <eo-stored-query [query]=\"storedQuery\"\r\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\r\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\r\n</eo-dialog>\r\n\r\n<eo-dialog [title]=\"'eo.resultlist.export.csv.threshold.dialog.title' | translate\"\r\n [(visible)]=\"showWarnExportCSVThresholdDialog\" [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'threshold__dialog'\">\r\n\r\n <div>{{'eo.resultlist.export.csv.threshold.dialog.message' | translate}}</div>\r\n\r\n <div class=\"action-buttons flex-row\">\r\n <button type=\"button\" class=\"button cancel\" (click)=\"showWarnExportCSVThresholdDialog = false\"\r\n translate>eo.cta.button.cancel</button>\r\n <button type=\"button\" cdkFocusInitial (click)=\"exportCSV(true)\" class=\"button primary\"\r\n translate>eo.resultlist.export.csv.threshold.dialog.export</button>\r\n </div>\r\n</eo-dialog>\r\n\r\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background);height:100%}:host .spinner{padding:calc(var(--app-pane-padding) / 4)}:host .result-head{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .result-head .header-info{flex:1}:host .result-head .header-info .header-sub-title .term{margin:0 var(--app-pane-padding)}:host .result-head .header-info .header-title{padding-bottom:calc(var(--app-pane-padding) / 4);font-size:20px;-webkit-user-select:none;user-select:none}:host .result-head .header-info .status{display:flex}:host .result-head .header-info .status .term{flex:1}:host .result-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .result-list__loader{margin:auto}:host .stored-query{display:flex;max-height:45vh}:host .stored-query span{padding-right:calc(var(--app-pane-padding) / 2)}:host .stored-query>div{background-color:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin:0 1px;border-radius:2px 0 0 2px}:host .stored-query>div eo-icon{padding:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}:host .stored-query .sq{overflow:hidden;border-radius:2px;padding:calc(var(--app-pane-padding) / 100);background-color:var(--color-white);color:var(--text-color-caption);text-decoration:none;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;flex-flow:row;align-items:center;background-color:var(--list-item-hover-background)}:host .stored-query .sq>eo-icon{color:var(--text-color-hint);flex-shrink:0}:host .stored-query .sq>span{text-overflow:ellipsis;overflow:hidden;padding:0 calc(var(--app-pane-padding) / 2)}eo-stored-query{border-radius:0 2px 2px 0;background-color:var(--color-white);padding:var(--app-pane-padding);overflow-y:auto}::ng-deep .threshold__dialog{padding:8px;min-height:unset!important}::ng-deep .threshold__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i7.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i8.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i9.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i10.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i11.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i12.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i13.ColumnConfiguratorComponent, selector: "eo-column-configurator", inputs: ["configType", "configContext", "visible", "eoGrid"], outputs: ["onConfigChanged"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i16.StoredQueryComponent, selector: "eo-stored-query", inputs: ["query", "formOnly"], outputs: ["onQueryLoaded", "onQueryExecute"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
346
346
  };
347
347
  ResultListComponent = ResultListComponent_1 = __decorate([
348
348
  UntilDestroy()
@@ -350,7 +350,7 @@ ResultListComponent = ResultListComponent_1 = __decorate([
350
350
  export { ResultListComponent };
351
351
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ResultListComponent, decorators: [{
352
352
  type: Component,
353
- args: [{ selector: 'eo-result-list', template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"result-list__loader\" [size]=\"'medium'\"></eo-loading-spinner>\n</div>\n<eo-column-configurator *ngIf=\"visibleConfig\" [visible]=\"visibleConfig\"\n [configType]=\"configType\" [configContext]=\"configContext\" [eoGrid]=\"grid\"\n (onConfigChanged)=\"visibleConfig = false; onConfigChanged($event)\" ></eo-column-configurator>\n\n<eo-list-container #eoList [applySelection]=\"{}\" [loading]=\"false\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"hasIcon\" [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\">{{title || ('eo.search.title' | translate)}}</div>\n <div class=\"eo-header-subtitle\">\n <span *ngIf=\"!storedQuery; else storedQueryText\" class=\"eo-header-subtitle__label\" [title]=\"querySubtitle\">{{querySubtitle}}</span>\n <ng-template #storedQueryText>\n <ng-container *ngIf=\"storedQuery.parameter.length === 0; else storedQueryDialog\">\n <span class=\"eo-header-subtitle__label\" [title]=\"('eo.search.aside.summary.storedquery' | translate) + ': ' + storedQuery.name\">\n {{'eo.search.aside.summary.storedquery' | translate}}: {{storedQuery.name}}\n </span>\n </ng-container>\n </ng-template>\n <ng-template #storedQueryDialog>\n <div class=\"stored-query\">\n <span>\n {{'eo.search.aside.summary.storedquery' | translate}}:\n </span>\n <button class=\"sq\" (click)=\"savedSearchClicked = true\" (keyup.enter)=\"savedSearchClicked = true\" tabindex=\"0\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_stored_query.svg'\"></eo-icon>\n <span>{{storedQuery.name}}</span>\n </button>\n </div>\n </ng-template>\n <span *ngIf=\"query?.contextFolderTypes.length === 1\" translate\n [translateParams]=\"{type: query.contextFolderTypes[0].label}\">eo.search.objecttype.form.context</span>\n <span class=\"term\" *ngIf=\"!storedQuery && query?.term && !clearAfterExecute\" [title]=\"('eo.search.result.term' | translate) + ': ' + query.term\">{{'eo.search.result.term' | translate}} : \"{{query.term}}\"</span>\n <div class=\"suggest\" *ngIf=\"searchResult?.suggests\">{{'eo.search.suggest' | translate}}<a href=\"javascript:void(0)\" (click)=\"executeSuggestSearch()\">{{searchResult.suggests[0]}}</a> ?\n </div>\n </div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n <eo-icon class=\"button export-button\" [hidden]=\"!query\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.resultlist.export.csv' | translate)\"\n (click)=\"exportCSV()\" *ngIf=\"!csvLoadingSpinnerVisibility\"></eo-icon>\n <eo-loading-spinner [size]=\"'small'\" *ngIf=\"csvLoadingSpinnerVisibility\" class=\"spinner\"></eo-loading-spinner>\n <eo-icon class=\"button config-button\" [iconSrc]=\"'assets/_default/svg/ic_settings.svg'\" [iconTitle]=\"('eo.column.config.title' | translate)\"\n (click)=\"visibleConfig = !visibleConfig\"></eo-icon>\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\" [iconTitle]=\"('eo.object.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\" *ngIf=\"!reference\"></eo-icon>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"resultGridOptions\" *ngIf=\"hasGridOptions; else error\"\n [showFooter]=\"true\" (eoGridColumnResized)=\"onColumnResized($event)\" [selectFirst]=\"selectFirst\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged.emit($event);\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event);onContextMenu.emit($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event);onSelectionChanged.emit($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event);onDoubleClick.emit($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event);onFocusChanged.emit($event)\">\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <!--<eo-quick-filter [eoGrid]=\"eoGrid\"></eo-quick-filter>-->\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{text: emptyMessage || 'eo.search.result.expired'}\"></eo-error-message>\n </div>\n </eo-grid>\n </div>\n <ng-template #error>\n\n <eo-error-message *ngIf=\"hasGridOptions\" [emptyState]=\"{text:'eo.search.mode.expert.result.empty'}\">\n </eo-error-message>\n\n </ng-template>\n</eo-list-container>\n\n<eo-dialog [visible]=\"savedSearchClicked\" (hide)=\"savedSearchClicked = false\" [title]=\"'eo.search.aside.summary.storedquery' | translate\">\n <eo-stored-query [query]=\"storedQuery\"\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\n</eo-dialog>\n\n<eo-dialog [title]=\"'eo.resultlist.export.csv.threshold.dialog.title' | translate\"\n [(visible)]=\"showWarnExportCSVThresholdDialog\" [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'threshold__dialog'\">\n\n <div>{{'eo.resultlist.export.csv.threshold.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showWarnExportCSVThresholdDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"exportCSV(true)\" class=\"button primary\"\n translate>eo.resultlist.export.csv.threshold.dialog.export</button>\n </div>\n</eo-dialog>\n\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background);height:100%}:host .spinner{padding:calc(var(--app-pane-padding) / 4)}:host .result-head{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .result-head .header-info{flex:1}:host .result-head .header-info .header-sub-title .term{margin:0 var(--app-pane-padding)}:host .result-head .header-info .header-title{padding-bottom:calc(var(--app-pane-padding) / 4);font-size:20px;-webkit-user-select:none;user-select:none}:host .result-head .header-info .status{display:flex}:host .result-head .header-info .status .term{flex:1}:host .result-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .result-list__loader{margin:auto}:host .stored-query{display:flex;max-height:45vh}:host .stored-query span{padding-right:calc(var(--app-pane-padding) / 2)}:host .stored-query>div{background-color:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin:0 1px;border-radius:2px 0 0 2px}:host .stored-query>div eo-icon{padding:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}:host .stored-query .sq{overflow:hidden;border-radius:2px;padding:calc(var(--app-pane-padding) / 100);background-color:var(--color-white);color:var(--text-color-caption);text-decoration:none;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;flex-flow:row;align-items:center;background-color:var(--list-item-hover-background)}:host .stored-query .sq>eo-icon{color:var(--text-color-hint);flex-shrink:0}:host .stored-query .sq>span{text-overflow:ellipsis;overflow:hidden;padding:0 calc(var(--app-pane-padding) / 2)}eo-stored-query{border-radius:0 2px 2px 0;background-color:var(--color-white);padding:var(--app-pane-padding);overflow-y:auto}::ng-deep .threshold__dialog{padding:8px;min-height:unset!important}::ng-deep .threshold__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"] }]
353
+ args: [{ selector: 'eo-result-list', template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\r\n <eo-loading-spinner class=\"result-list__loader\" [size]=\"'medium'\"></eo-loading-spinner>\r\n</div>\r\n<eo-column-configurator *ngIf=\"visibleConfig\" [visible]=\"visibleConfig\"\r\n [configType]=\"configType\" [configContext]=\"configContext\" [eoGrid]=\"grid\"\r\n (onConfigChanged)=\"visibleConfig = false; onConfigChanged($event)\" ></eo-column-configurator>\r\n\r\n<eo-list-container #eoList [applySelection]=\"{}\" [loading]=\"false\" [parseDmsParams]=\"parseDmsParams\">\r\n <div class=\"eo-header\">\r\n <eo-icon class=\"eo-header-icon\" *ngIf=\"hasIcon\" [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\r\n <div class=\"eo-header-info\">\r\n <div class=\"eo-header-title\">{{title || ('eo.search.title' | translate)}}</div>\r\n <div class=\"eo-header-subtitle\">\r\n <span *ngIf=\"!storedQuery; else storedQueryText\" class=\"eo-header-subtitle__label\" [title]=\"querySubtitle\">{{querySubtitle}}</span>\r\n <ng-template #storedQueryText>\r\n <ng-container *ngIf=\"storedQuery.parameter.length === 0; else storedQueryDialog\">\r\n <span class=\"eo-header-subtitle__label\" [title]=\"('eo.search.aside.summary.storedquery' | translate) + ': ' + storedQuery.name\">\r\n {{'eo.search.aside.summary.storedquery' | translate}}: {{storedQuery.name}}\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #storedQueryDialog>\r\n <div class=\"stored-query\">\r\n <span>\r\n {{'eo.search.aside.summary.storedquery' | translate}}:\r\n </span>\r\n <button class=\"sq\" (click)=\"savedSearchClicked = true\" (keyup.enter)=\"savedSearchClicked = true\" tabindex=\"0\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_stored_query.svg'\"></eo-icon>\r\n <span>{{storedQuery.name}}</span>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <span *ngIf=\"query?.contextFolderTypes.length === 1\" translate\r\n [translateParams]=\"{type: query.contextFolderTypes[0].label}\">eo.search.objecttype.form.context</span>\r\n <span class=\"term\" *ngIf=\"!storedQuery && query?.term && !clearAfterExecute\" [title]=\"('eo.search.result.term' | translate) + ': ' + query.term\">{{'eo.search.result.term' | translate}} : \"{{query.term}}\"</span>\r\n <div class=\"suggest\" *ngIf=\"searchResult?.suggests\">{{'eo.search.suggest' | translate}}<a href=\"javascript:void(0)\" (click)=\"executeSuggestSearch()\">{{searchResult.suggests[0]}}</a> ?\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"eo-header-actions\">\r\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refreshGrid()\"\r\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\r\n <eo-icon class=\"button export-button\" [hidden]=\"!query\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.resultlist.export.csv' | translate)\"\r\n (click)=\"exportCSV()\" *ngIf=\"!csvLoadingSpinnerVisibility\"></eo-icon>\r\n <eo-loading-spinner [size]=\"'small'\" *ngIf=\"csvLoadingSpinnerVisibility\" class=\"spinner\"></eo-loading-spinner>\r\n <eo-icon class=\"button config-button\" [iconSrc]=\"'assets/_default/svg/ic_settings.svg'\" [iconTitle]=\"('eo.column.config.title' | translate)\"\r\n (click)=\"visibleConfig = !visibleConfig\"></eo-icon>\r\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\" [iconTitle]=\"('eo.object.actions.title' | translate)\"\r\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\" *ngIf=\"!reference\"></eo-icon>\r\n </div>\r\n </div>\r\n <div class=\"eo-body\">\r\n <eo-grid #eoGrid [gridOptions]=\"resultGridOptions\" *ngIf=\"hasGridOptions; else error\"\r\n [showFooter]=\"true\" (eoGridColumnResized)=\"onColumnResized($event)\" [selectFirst]=\"selectFirst\"\r\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged.emit($event);\"\r\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event);onContextMenu.emit($event)\"\r\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event);onSelectionChanged.emit($event)\"\r\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event);onDoubleClick.emit($event)\"\r\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event);onFocusChanged.emit($event)\">\r\n\r\n <div class=\"footer\">\r\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\r\n <!--<eo-quick-filter [eoGrid]=\"eoGrid\"></eo-quick-filter>-->\r\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\r\n </div>\r\n\r\n <div class=\"empty\">\r\n <eo-error-message [emptyState]=\"{text: emptyMessage || 'eo.search.result.expired'}\"></eo-error-message>\r\n </div>\r\n </eo-grid>\r\n </div>\r\n <ng-template #error>\r\n\r\n <eo-error-message *ngIf=\"hasGridOptions\" [emptyState]=\"{text:'eo.search.mode.expert.result.empty'}\">\r\n </eo-error-message>\r\n\r\n </ng-template>\r\n</eo-list-container>\r\n\r\n<eo-dialog [visible]=\"savedSearchClicked\" (hide)=\"savedSearchClicked = false\" [title]=\"'eo.search.aside.summary.storedquery' | translate\">\r\n <eo-stored-query [query]=\"storedQuery\"\r\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\r\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\r\n</eo-dialog>\r\n\r\n<eo-dialog [title]=\"'eo.resultlist.export.csv.threshold.dialog.title' | translate\"\r\n [(visible)]=\"showWarnExportCSVThresholdDialog\" [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'threshold__dialog'\">\r\n\r\n <div>{{'eo.resultlist.export.csv.threshold.dialog.message' | translate}}</div>\r\n\r\n <div class=\"action-buttons flex-row\">\r\n <button type=\"button\" class=\"button cancel\" (click)=\"showWarnExportCSVThresholdDialog = false\"\r\n translate>eo.cta.button.cancel</button>\r\n <button type=\"button\" cdkFocusInitial (click)=\"exportCSV(true)\" class=\"button primary\"\r\n translate>eo.resultlist.export.csv.threshold.dialog.export</button>\r\n </div>\r\n</eo-dialog>\r\n\r\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background);height:100%}:host .spinner{padding:calc(var(--app-pane-padding) / 4)}:host .result-head{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .result-head .header-info{flex:1}:host .result-head .header-info .header-sub-title .term{margin:0 var(--app-pane-padding)}:host .result-head .header-info .header-title{padding-bottom:calc(var(--app-pane-padding) / 4);font-size:20px;-webkit-user-select:none;user-select:none}:host .result-head .header-info .status{display:flex}:host .result-head .header-info .status .term{flex:1}:host .result-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .result-list__loader{margin:auto}:host .stored-query{display:flex;max-height:45vh}:host .stored-query span{padding-right:calc(var(--app-pane-padding) / 2)}:host .stored-query>div{background-color:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin:0 1px;border-radius:2px 0 0 2px}:host .stored-query>div eo-icon{padding:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}:host .stored-query .sq{overflow:hidden;border-radius:2px;padding:calc(var(--app-pane-padding) / 100);background-color:var(--color-white);color:var(--text-color-caption);text-decoration:none;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;flex-flow:row;align-items:center;background-color:var(--list-item-hover-background)}:host .stored-query .sq>eo-icon{color:var(--text-color-hint);flex-shrink:0}:host .stored-query .sq>span{text-overflow:ellipsis;overflow:hidden;padding:0 calc(var(--app-pane-padding) / 2)}eo-stored-query{border-radius:0 2px 2px 0;background-color:var(--color-white);padding:var(--app-pane-padding);overflow-y:auto}::ng-deep .threshold__dialog{padding:8px;min-height:unset!important}::ng-deep .threshold__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"] }]
354
354
  }], ctorParameters: () => [{ type: i1.Config }, { type: i1.TranslateService }, { type: i2.GridService }, { type: i1.BackendService }, { type: i3.AppSearchService }, { type: i1.SearchService }, { type: i1.EventService }, { type: i1.LocalStorageService }, { type: i1.StoredQueriesService }, { type: i4.Router }], propDecorators: { grid: [{
355
355
  type: ViewChild,
356
356
  args: ['eoGrid']
@@ -396,4 +396,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
396
396
  }], searchResult: [{
397
397
  type: Input
398
398
  }] } });
399
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVzdWx0LWxpc3QvcmVzdWx0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVzdWx0LWxpc3QvcmVzdWx0LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUdMLFVBQVUsRUFFVixlQUFlLEVBR2YsV0FBVyxFQUVYLFVBQVUsRUFFUSxLQUFLLEVBQ3hCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLEVBQUUsSUFBSSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVTlDLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW1COzthQVN2Qix1QkFBa0IsR0FBRyx1Q0FBdUMsQUFBMUMsQ0FBMkM7SUF3Q3BFLElBQ0ksS0FBSyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxD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RFIsS0FBSztnQkFvREYsWUFBWTtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25FeHRyYXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEJhY2tlbmRTZXJ2aWNlLFxuICBDb25maWcsXG4gIEVuYWlvRXZlbnQsXG4gIEV2ZW50U2VydmljZSxcbiAgRmllbGREZWZpbml0aW9uLFxuICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICBPYmplY3RUeXBlLFxuICBTZWFyY2hRdWVyeSwgU2VhcmNoUmVzdWx0LFxuICBTZWFyY2hTZXJ2aWNlLFxuICBTb3J0T3B0aW9uLFxuICBTdG9yZWRRdWVyaWVzU2VydmljZSwgU3RvcmVkUXVlcnksXG4gIFRyYW5zbGF0ZVNlcnZpY2UsIFV0aWxzXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge29mIGFzIG9ic2VydmFibGVPZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7QXBwU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VhcmNoL2FwcC1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge0dyaWRGaWx0ZXJ9IGZyb20gJy4uL2dyaWQvZ3JpZC1maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7TGlzdENvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi4vbGlzdC1jb250YWluZXInO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXJlc3VsdC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3VsdC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzdWx0LWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN1bHRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBAVmlld0NoaWxkKCdlb0dyaWQnKSBncmlkOiBHcmlkQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdlb0xpc3QnKSBsaXN0OiBMaXN0Q29udGFpbmVyQ29tcG9uZW50O1xuXG4gIC8vIGZvciBsaXN0cyB0aGF0IGV4Y2VlZCB0aGUgY29uZmlndXJlZCBtYXggcmVzdWx0IHNpemUsIGRhdGEgd2lsbCBiZSBmZXRjaGVkIGluIGNodW5rc1xuICBwcml2YXRlIFZJUlRVQUxfTElTVF9DSFVOS19TSVpFOiBudW1iZXI7XG4gIHJlc29sdmVSZWZlcmVuY2VzQ3N2OiBib29sZWFuO1xuICByZXNvbHZlUmVmZXJlbmNlc0NzdlRocmVzaG9sZDogbnVtYmVyO1xuICBzdGF0aWMgQ09MVU1OU19ERUZJTklUSU9OID0gJ2VvLmZyYW1ld29yay5jYWNoZS5jb2x1bW5zLmRlZmluaXRpb24nO1xuXG4gIHByaXZhdGUgX3Jlc3VsdDogU2VhcmNoUmVzdWx0O1xuICBwcml2YXRlIF9xdWVyeTogU2VhcmNoUXVlcnk7XG4gIHByaXZhdGUgX2NhY2hlZENvbHVtbnM6IGFueVtdO1xuICBwcml2YXRlIGRlZmF1bHRRdWVyeTogU2VhcmNoUXVlcnk7XG4gIGNzdkxvYWRpbmdTcGlubmVyVmlzaWJpbGl0eSA9IGZhbHNlO1xuXG4gIHZpc2libGVDb25maWcgPSBmYWxzZTtcbiAgc2hvd0xvYWRlciA9IGZhbHNlO1xuICBwdWJsaWMgdG90YWxIaXRzOiBhbnk7XG4gIHB1YmxpYyBsaW1pdGVkTGlzdCA9IGZhbHNlO1xuICBwdWJsaWMgcmVzdWx0R3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zID0ge307XG4gIHNldHRpbmdzID0ge307XG4gIHF1ZXJ5U3VidGl0bGUgPSAnJztcbiAgc2F2ZWRTZWFyY2hDbGlja2VkID0gZmFsc2U7XG4gIHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeTtcbiAgc2hvd1dhcm5FeHBvcnRDU1ZUaHJlc2hvbGREaWFsb2cgPSBmYWxzZTtcblxuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuICBASW5wdXQoKSBjb25maWdUeXBlOiBPYmplY3RUeXBlIHwgbnVsbDtcbiAgQElucHV0KCkgY29uZmlnQ29udGV4dDogT2JqZWN0VHlwZSB8IG51bGw7XG5cbiAgLy8gSWYgc2V0IHRvIHRydWUgcXVlcnkgd2lsbCBiZSB0cmVhdGVkIGxpa2UgYSB0ZW1wb3Jhcnkgc2VhcmNoLlxuICAvLyBUaGF0IG1lYW5zLCBnbG9iYWwgc2VhcmNoIHdpbGwgbm90IGJlIGFmZmVjdGVkIChnbG9iYWwgcXVlcnkgd2lsbCBiZSByZXNldCBhZnRlciBleGVjdXRpb24pXG4gIEBJbnB1dCgpIGNsZWFyQWZ0ZXJFeGVjdXRlOiBib29sZWFuO1xuICBASW5wdXQoKSBlbXB0eU1lc3NhZ2UgPSAnJztcbiAgQElucHV0KCkgc2VsZWN0Rmlyc3QgPSB0cnVlO1xuICBASW5wdXQoKSBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIEBJbnB1dCgpIGhhc0ljb24gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVmZXJlbmNlID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkZvY3VzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uRG91YmxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkNvbnRleHRNZW51ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Db3VudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblJlc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uUXVlcnlJbnZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBxdWVyeShxdWVyeTogYW55KSB7XG4gICAgdGhpcy5zdG9yZWRRdWVyeSA9IHVuZGVmaW5lZDtcbiAgICBpZiAoIXF1ZXJ5KSB7XG4gICAgICB0aGlzLmludmFsaWRRdWVyeSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocXVlcnkubmFtZSkge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLmdldFN0b3JlZFF1ZXJpZXMkKClcbiAgICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChxdWVyaWVzU3Vic2NyaXB0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBxdWVyaWVzU3Vic2NyaXB0aW9uLnF1ZXJpZXMuZmlsdGVyKHEgPT4gcS5uYW1lID09PSBxdWVyeS5uYW1lKVswXTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkocXVlcnkpO1xuICAgICAgaWYgKHRoaXMuX3F1ZXJ5KSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFF1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCkpO1xuICAgICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2Uuc2V0UXVlcnkodGhpcy5kZWZhdWx0UXVlcnkpO1xuICAgICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2UuYWdncmVnYXRlKCk7XG5cbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmdldFJlc3VsdEZpZWxkRGVmaW5pdGlvbkNvbmZpZyh0aGlzLnF1ZXJ5KTtcbiAgICAgICAgdGhpcy5jb25maWdUeXBlID0gY29uZmlnLnR5cGU7XG4gICAgICAgIHRoaXMuY29uZmlnQ29udGV4dCA9IGNvbmZpZy5jb250ZXh0VHlwZTtcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAgICAgLmdldENodW5rZWRSZXN1bHQodGhpcy5fcXVlcnksIDAsIHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNsZWFyUXVlcnkodGhpcy5jbGVhckFmdGVyRXhlY3V0ZSk7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdCA9IHJlc3VsdDtcbiAgICAgICAgICB9LCBVdGlscy50aHJvdygoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJRdWVyeSh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZFF1ZXJ5KCk7XG4gICAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLnF1ZXJ5U3VidGl0bGUgPSAnJztcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnF1ZXJ5LnR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdGhpcy5xdWVyeVN1YnRpdGxlICs9IHRoaXMucXVlcnkudHlwZXNbaV0ubGFiZWw7XG4gICAgICAgICAgaWYgKGkgIT09IHRoaXMucXVlcnkudHlwZXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVN1YnRpdGxlICs9ICcsICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmludmFsaWRRdWVyeSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBxdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc2VhcmNoUmVzdWx0KHJlc3VsdDogU2VhcmNoUmVzdWx0KSB7XG4gICAgLy8gdG9kbzogYmFja2VuZCBzaG91bGQgcmVzb2x2ZSBxdWVyeS5maWVsZHMgYW5kIHJldHVybiBjb25maWcgaW4gc3BlY2lmaWMgb3JkZXJcbiAgICBjb25zdCBfZmllbGRzID0gcmVzdWx0LmZpZWxkcyA/IG9ic2VydmFibGVPZihyZXN1bHQuZmllbGRzKSA6XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmV0Y2hSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQsICdBTEwnKTtcbiAgICBfZmllbGRzLnN1YnNjcmliZShmaWVsZHMgPT4ge1xuICAgICAgaWYgKGZpZWxkcyAmJiB0aGlzLnF1ZXJ5ICYmIHRoaXMucXVlcnkuZmllbGRzICYmIHRoaXMucXVlcnkuZmllbGRzLmxlbmd0aCkge1xuICAgICAgICBmaWVsZHMuZWxlbWVudHMgPSB0aGlzLnF1ZXJ5LmZpZWxkcy5tYXAoZiA9PiBmaWVsZHMuZWxlbWVudHMuZmluZChlID0+IGYgPT09IGUuaGl0bmFtZSkpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmZpZWxkcyA9IGZpZWxkcyB8fCBuZXcgRmllbGREZWZpbml0aW9uKCk7XG4gICAgICB0aGlzLl9yZXN1bHQgPSByZXN1bHQ7XG4gICAgICB0aGlzLnByb2Nlc3NSZXN1bHRzKHRoaXMuX3Jlc3VsdCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgc2VhcmNoUmVzdWx0KCkge1xuICAgIHJldHVybiB0aGlzLl9yZXN1bHQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlnLCBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwdWJsaWMgZ3JpZEFwaTogR3JpZFNlcnZpY2UsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgYXBwU2VhcmNoU2VydmljZTogQXBwU2VhcmNoU2VydmljZSwgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLCBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLCBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ3NlYXJjaC5saW1pdCcpIGFzIG51bWJlcjtcbiAgICB0aGlzLnJlc29sdmVSZWZlcmVuY2VzQ3N2ID0gdGhpcy5jb25maWcuZ2V0UmF3KCdzZWFyY2gucmVzb2x2ZVJlZmVyZW5jZXNDU1YnKSBhcyBib29sZWFuIHx8IGZhbHNlO1xuICAgIHRoaXMucmVzb2x2ZVJlZmVyZW5jZXNDc3ZUaHJlc2hvbGQgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ3NlYXJjaC5yZXNvbHZlUmVmZXJlbmNlc0NTVlRocmVzaG9sZCcpIGFzIG51bWJlciB8fCAxMDAwMDtcbiAgICB0aGlzLl9jYWNoZWRDb2x1bW5zID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKFJlc3VsdExpc3RDb21wb25lbnQuQ09MVU1OU19ERUZJTklUSU9OKSB8fCBbXTtcbiAgfVxuXG4gIGNsZWFyUXVlcnkoY2xlYXJBZnRlckV4ZWN1dGUpIHtcbiAgICBpZiAoY2xlYXJBZnRlckV4ZWN1dGUpIHtcbiAgICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5jbGVhclF1ZXJ5KCk7XG4gICAgfVxuICB9XG5cbiAgaW52YWxpZFF1ZXJ5KCkge1xuICAgIHRoaXMub25RdWVyeUludmFsaWQuZW1pdCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfREVMRVRFRClcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZCkge1xuICAgICAgICAgIHRoaXMuZ3JpZC51cGRhdGVSb3dzKHRoaXMuYmFja2VuZC51cGRhdGUoW3Jlcy5kYXRhXSwgW3tpZDogcmVzLmRhdGEuaWR9XSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlXG4gICAgICAub24oRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQpXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmdyaWQpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVJvdyhyZXMuZGF0YS5pZCwgcmVzLmRhdGEuZGF0YSlcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ncmlkICYmIHRoaXMuX3F1ZXJ5KSB7XG4gICAgICAgIHRoaXMuX3F1ZXJ5LnNvcnRPcHRpb25zID0gKHRoaXMuZ3JpZC5hcGkuZ2V0Q29sdW1uU3RhdGUoKSB8fCBbXSlcbiAgICAgICAgICAubWFwKG1vZGVsID0+IG5ldyBTb3J0T3B0aW9uKEdyaWRTZXJ2aWNlLnFuYW1lRm9ybWF0dGVyKG1vZGVsLmNvbElkICsgdGhpcy5wb3N0Zml4U29ydChtb2RlbC5jb2xJZCkpLCBtb2RlbC5zb3J0KSk7XG4gICAgICAgIHRoaXMucXVlcnkgPSB0aGlzLl9xdWVyeTtcbiAgICAgIH1cbiAgICB9LCAyMDApO1xuICB9XG5cbiAgdXBkYXRlUm93KGlkOiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICAgIGNvbnN0IG1hdGNoUm93ID0gdGhpcy5yZXN1bHRHcmlkT3B0aW9ucy5yb3dEYXRhLmZpbmQoKHIpID0+IHIuaWQgPT09IGlkKTtcbiAgICBjb25zdCBzeXN0ZW1GaWVsZHMgPSBbJ2NyZWF0ZWQnLCAnY3JlYXRvcnRpdGxlJywgJ21vZGlmaWVkJywgJ21vZGlmaWVydGl0bGUnLCAndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZScsICd2ZXJzaW9uJywgJ2ZpbGVzaXplJywgJ2ZpbGVuYW1lJywgJ21pbWV0eXBlZ3JvdXAnLCAnbWltZXR5cGUnXTtcbiAgICBsZXQgbWlzc2luZ0NvbHVtbnMgPSB0aGlzLnJlc3VsdEdyaWRPcHRpb25zLmNvbHVtbkRlZnM7XG4gICAgaWYgKG1hdGNoUm93KSB7XG4gICAgICBPYmplY3Qua2V5cyhtYXRjaFJvdykuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrKSkge1xuICAgICAgICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KGsgKyAnX21ldGEnKSkge1xuICAgICAgICAgICAgLy8gaWYgaXQgaXMgYW4gb3JnIGZpZWxkLCBpdCB3aWxsIGhhdmUgYSB0aXRsZSB0byBzaG93LCBvdGhlcndpc2UgaXQgaXMgYSBjb2Rlc3lzdGVtIGFuZCB3ZSBzaG93IHRoZSBsYWJlbFxuICAgICAgICAgICAgbWF0Y2hSb3dba10gPSBkYXRhW2sgKyAnX21ldGEnXS50aXRsZSA/IGRhdGFbayArICdfbWV0YSddLnRpdGxlIDogZGF0YVtrICsgJ19tZXRhJ10ubGFiZWw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1hdGNoUm93W2tdID0gZGF0YVtrXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbWlzc2luZ0NvbHVtbnMgPSBtaXNzaW5nQ29sdW1ucy5maWx0ZXIoKGNvbHVtbjogQ29sRGVmKSA9PiBjb2x1bW4uZmllbGQgIT09IGspO1xuICAgICAgICB9IGVsc2UgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoay5zcGxpdCgnLicpWzFdKSkge1xuICAgICAgICAgIC8vIHNvbWUgdGVjaG5pY2FsIG5hbWVzIGhhdmUgdGhlIG9iamVjdCB0eXBlIGFzIGEgcHJlZml4LCB3ZSBoYXZlIHRvIGdldCByaWQgb2YgaXRcbiAgICAgICAgICBjb25zdCBrU3BsaXQgPSBrLnNwbGl0KCcuJylbMV07XG4gICAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa1NwbGl0ICsgJ19tZXRhJykpIHtcbiAgICAgICAgICAgIG1hdGNoUm93W2tdID0gZGF0YVtrU3BsaXQgKyAnX21ldGEnXS50aXRsZSA/IGRhdGFba1NwbGl0ICsgJ19tZXRhJ10udGl0bGUgOiBkYXRhW2tTcGxpdCArICdfbWV0YSddLmxhYmVsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXRjaFJvd1trXSA9IGRhdGFba1NwbGl0XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbWlzc2luZ0NvbHVtbnMgPSBtaXNzaW5nQ29sdW1ucy5maWx0ZXIoKGNvbHVtbjogQ29sRGVmKSA9PiBjb2x1bW4uZmllbGQgIT09IGspO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIC8vIHdlIG5lZWQgdG8gaXRlcmF0ZSB0aHJvdWdoIHRoZSBub3QgYWxyZWFkeSBhcHBsaWVkIGNvbHVtbnMsIHdoaWNoIHdlcmUgY2hhbmdlZCBmcm9tIG51bGwgb3IgdG8gbnVsbFxuICAgICAgbWlzc2luZ0NvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBDb2xEZWYpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoY29sdW1uLmZpZWxkKSkge1xuICAgICAgICAgIG1hdGNoUm93W2NvbHVtbi5maWVsZF0gPSBkYXRhW2NvbHVtbi5maWVsZF07XG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShjb2x1bW4uZmllbGQuc3BsaXQoJy4nKVsxXSkpIHtcbiAgICAgICAgICBtYXRjaFJvd1tjb2x1bW4uZmllbGRdID0gZGF0YVtjb2x1bW4uZmllbGQuc3BsaXQoJy4nKVsxXV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFzeXN0ZW1GaWVsZHMuaW5jbHVkZXMoY29sdW1uLmZpZWxkKSkge1xuICAgICAgICAgICAgbWF0Y2hSb3dbY29sdW1uLmZpZWxkXSA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG1hdGNoUm93LmlkID0gaWQ7XG4gICAgICBjb25zdCByb3dOb2RlID0gdGhpcy5ncmlkLmFwaS5nZXRSb3dOb2RlKGlkKTtcbiAgICAgIHJvd05vZGUgJiYgcm93Tm9kZS5zZXREYXRhKG1hdGNoUm93KTtcbiAgICB9XG4gIH1cblxuICByZWZyZXNoR3JpZCgpIHtcbiAgICBpZiAodGhpcy5xdWVyeSkge1xuICAgICAgdGhpcy5fcXVlcnkuc29ydE9wdGlvbnMgPSAodGhpcy5ncmlkLmFwaS5nZXRDb2x1bW5TdGF0ZSgpIHx8IFtdKVxuICAgICAgICAgICAgLm1hcChtb2RlbCA9PiBuZXcgU29ydE9wdGlvbihHcmlkU2VydmljZS5xbmFtZUZvcm1hdHRlcihtb2RlbC5jb2xJZCArIHRoaXMucG9zdGZpeFNvcnQobW9kZWwuY29sSWQpKSwgbW9kZWwuc29ydCkpO1xuICAgICAgdGhpcy5xdWVyeSA9IHRoaXMuX3F1ZXJ5O1xuICAgIH1cbiAgICB0aGlzLm9uUmVmcmVzaC5lbWl0KHRoaXMucXVlcnkpO1xuICB9XG5cbiAgb25Db2x1bW5SZXNpemVkKGNvbHVtbjogYW55KSB7XG4gICAgbGV0IGNvbCA9IHRoaXMuX2NhY2hlZENvbHVtbnMuZmluZChjID0+IGMucW5hbWUgPT09IGNvbHVtbi5jb2xEZWYucmVmRGF0YS5xbmFtZSk7XG4gICAgaWYgKGNvbCkge1xuICAgICAgY29sLndpZHRoID0gY29sdW1uLmFjdHVhbFdpZHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jYWNoZWRDb2x1bW5zLnB1c2goe3FuYW1lOiBjb2x1bW4uY29sRGVmLnJlZkRhdGEucW5hbWUsIHdpZHRoOiBjb2x1bW4uYWN0dWFsV2lkdGh9KTtcbiAgICB9XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKFJlc3VsdExpc3RDb21wb25lbnQuQ09MVU1OU19ERUZJTklUSU9OLCB0aGlzLl9jYWNoZWRDb2x1bW5zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciBncmlkIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtICRldmVudFxuICAgKi9cbiAgb25Db25maWdDaGFuZ2VkKHJlZnJlc2gpIHtcbiAgICBpZiAocmVmcmVzaCkge1xuICAgICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIFNlYXJjaCByZXN1bHQgJiBnZW5lcmF0ZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAgICogQHBhcmFtIHJlc3VsdFxuICAgKi9cbiAgcHJpdmF0ZSBwcm9jZXNzUmVzdWx0cyhyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xuICAgIHRoaXMudmlzaWJsZUNvbmZpZyA9IGZhbHNlO1xuICAgIHRoaXMub25SZXN1bHQuZW1pdChyZXN1bHQpO1xuICAgIHRoaXMudG90YWxIaXRzID0gcmVzdWx0LmNvdW50LnZhbHVlO1xuICAgIHRoaXMubGltaXRlZExpc3QgPSB0aGlzLnRvdGFsSGl0cyA+IHJlc3VsdC5oaXRzLmxlbmd0aDtcbiAgICBsZXQgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zID0ge2NvbnRleHQ6IHt9LCBvblNvcnRDaGFuZ2VkOiAoKSA9PiB0aGlzLm9uUGFnZUNoYW5nZWQoKSwgb25GaWx0ZXJDaGFuZ2VkOiAoKSA9PiB0aGlzLm9uUGFnZUNoYW5nZWQoKX07XG4gICAgY29uc3Qgc2VhcmNoTW9kZSA9IHJlc3VsdC5maWVsZHMubW9kZSA/IHJlc3VsdC5maWVsZHMubW9kZSA6IG51bGw7XG5cbiAgICB0aGlzLnNldHRpbmdzID0gdGhpcy5saW1pdGVkTGlzdCAmJiB0aGlzLnF1ZXJ5ID8ge3RvdGFsOiB0aGlzLnRvdGFsSGl0cywgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSwgcmVsYXRpb246IHJlc3VsdC5jb3VudC5yZWxhdGlvbn0gOiBudWxsO1xuICAgIGdyaWRPcHRpb25zLnJvd0RhdGEgPSByZXN1bHQuaGl0cztcblxuICAgIGNvbnN0IHtlbGVtZW50cywgc29ydG9yZGVyLCBncm91cG9yZGVyLCBwaW5uZWQsIGFsaWdubWVudHh9ID0gcmVzdWx0LmZpZWxkcztcblxuICAgIGdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSByZXN1bHQuY291bnQ7XG4gICAgZ3JpZE9wdGlvbnMuY29sdW1uRGVmcyA9IHRoaXMuZ3JpZEFwaS5nZXRDb2x1bW5EZWZzKGVsZW1lbnRzLCBzb3J0b3JkZXIsIGdyb3Vwb3JkZXIsIHBpbm5lZCwgYWxpZ25tZW50eCwgZmFsc2UsIHRoaXMuX2NhY2hlZENvbHVtbnMsIHNlYXJjaE1vZGUpO1xuXG4gICAgY29uc3QgcmVmcmVzaEdyaWQgPSB0aGlzLmhhc0dyaWRPcHRpb25zO1xuICAgIE9iamVjdC5hc3NpZ24odGhpcy5yZXN1bHRHcmlkT3B0aW9ucywgZ3JpZE9wdGlvbnMsIHRoaXMuZ3JpZE9wdGlvbnMpO1xuXG4gICAgaWYgKHJlZnJlc2hHcmlkKSB7XG4gICAgICAvLyByZWxvYWQgZ3JpZCBjb21wb25lbnRcbiAgICAgIHRoaXMucmVzdWx0R3JpZE9wdGlvbnMgPSB7fTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gT2JqZWN0LmFzc2lnbih0aGlzLnJlc3VsdEdyaWRPcHRpb25zLCBncmlkT3B0aW9ucywgdGhpcy5ncmlkT3B0aW9ucyksIDApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9zdGZpeFNvcnQoaWQpIHtcbiAgICAvLyB0b2RvOiByZW1vdmUgd2hlbiBpdCdzIGZpeGVkIG9uIGJhY2tlbmRcbiAgICByZXR1cm4gaWQubWF0Y2goLyhec3lzb2JqZWN0XFwufF5zeXNkb2N1bWVudFxcLikoY3JlYXRvciR8bW9kaWZpZXIkKS8pID8gJ3RpdGxlJyA6ICcnO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIgPSAxKSB7XG4gICAgaWYgKHRoaXMubGltaXRlZExpc3QgJiYgdGhpcy5xdWVyeSkge1xuICAgICAgdGhpcy5mZXRjaFJvd0RhdGEoe1xuICAgICAgICBzdGFydFJvdzogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSAqIChwYWdlIC0gMSksXG4gICAgICAgIHNvcnRNb2RlbDogdGhpcy5ncmlkLmFwaS5nZXRDb2x1bW5TdGF0ZSgpLFxuICAgICAgICBmaWx0ZXJNb2RlbDogdGhpcy5ncmlkLmFwaS5nZXRGaWx0ZXJNb2RlbCgpLFxuICAgICAgICBzdWNjZXNzQ2FsbGJhY2s6IChyb3dzLCB0b3RhbCwgcmVsYXRpb24pID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsLCByZWxhdGlvbiwgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSwgcGFnZX07XG4gICAgICAgICAgdGhpcy5ncmlkLmFwaS5zZXRHcmlkT3B0aW9uKCdyb3dEYXRhJywgcm93cyk7XG4gICAgICAgICAgdGhpcy5ncmlkLnNlbGVjdFJvdygwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIGZvciBmZXRjaGluZyB0aGUgaXRlbXMgdG8gYmUgZGlzcGxheWVkIHdpdGggYSB2aXJ0dWFsIHJvdyBtb2RlbC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIHJvdyBtb2RlbCBwYXJhbXMgKGluY2wuIHN0YXJ0Um93LCBlbmRSb3csIHNvcnRNb2RlbCBhbmQgZmlsdGVyTW9kZWwpXG4gICAqL1xuICBwcml2YXRlIGZldGNoUm93RGF0YShwYXJhbXM6IGFueSkge1xuXG4gICAgaWYgKHRoaXMucXVlcnkpIHtcblxuICAgICAgdGhpcy51cGRhdGVRdWVyeShwYXJhbXMpO1xuXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgICAgLmdldENodW5rZWRSZXN1bHQodGhpcy5xdWVyeSwgcGFyYW1zLnN0YXJ0Um93LCB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFKVxuICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgdGhpcy50b3RhbEhpdHMgPSB0aGlzLmdyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dDb3VudCA9IHJlc3VsdC5jb3VudC52YWx1ZTtcbiAgICAgICAgICB0aGlzLmdyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHJlc3VsdC5jb3VudDtcbiAgICAgICAgICBwYXJhbXMuc3VjY2Vzc0NhbGxiYWNrKHJlc3VsdC5oaXRzLCB0aGlzLnRvdGFsSGl0cywgcmVzdWx0LmNvdW50LnJlbGF0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVRdWVyeShwYXJhbXM6IGFueSkge1xuICAgIHRoaXMucXVlcnkuc29ydE9wdGlvbnMgPSAocGFyYW1zLnNvcnRNb2RlbCB8fCB0aGlzLmdyaWQuYXBpLmdldENvbHVtblN0YXRlKCkgfHwgW10pXG4gICAgICAgIC5tYXAobW9kZWwgPT4gbmV3IFNvcnRPcHRpb24oR3JpZFNlcnZpY2UucW5hbWVGb3JtYXR0ZXIobW9kZWwuY29sSWQgKyB0aGlzLnBvc3RmaXhTb3J0KG1vZGVsLmNvbElkKSksIG1vZGVsLnNvcnQpKTtcblxuICAgIHRoaXMucXVlcnkuZmlsdGVycyA9IHRoaXMuZGVmYXVsdFF1ZXJ5LmZpbHRlcnNcbiAgICAgIC5jb25jYXQoKE9iamVjdC5rZXlzKHBhcmFtcy5maWx0ZXJNb2RlbCB8fCB0aGlzLmdyaWQuYXBpLmdldEZpbHRlck1vZGVsKCkpIHx8IFtdKVxuICAgICAgICAubWFwKGtleSA9PiBHcmlkRmlsdGVyLm9wZXJhdG9yKEdyaWRTZXJ2aWNlLnFuYW1lRm9ybWF0dGVyKGtleSksIChwYXJhbXMuZmlsdGVyTW9kZWwgfHwgdGhpcy5ncmlkLmFwaS5nZXRGaWx0ZXJNb2RlbCgpKVtrZXldKSkpO1xuXG4gICAgdGhpcy5xdWVyeS5zZWFyY2hNb2RlID0gU2VhcmNoUXVlcnkuREVGQVVMVF9TRUFSQ0hfTU9ERTtcbiAgfVxuXG4gIGV4ZWN1dGVTdWdnZXN0U2VhcmNoKCkge1xuICAgIC8vIHRvZG86IGltcGxlbWVudFxuICB9XG5cbiAgcHJpdmF0ZSByZXN1bHRIYXNSZWZlcmVuY2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXN1bHQuZmllbGRzLmVsZW1lbnRzLnNvbWUoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdPUkdBTklaQVRJT04nIHx8IGVsZW1lbnQudHlwZSA9PT0gJ1JFRkVSRU5DRScpO1xuICB9XG5cbiAgZXhwb3J0Q1NWKGlnbm9yZVRocmVzaG9sZCA9IGZhbHNlKSB7XG4gICAgaWYgKCFpZ25vcmVUaHJlc2hvbGQgJiYgdGhpcy5yZXNvbHZlUmVmZXJlbmNlc0NzdlxuICAgICAgJiYgKHRoaXMubGlzdC5ncmlkQ291bnQudG90YWxDb3VudCA+IHRoaXMucmVzb2x2ZVJlZmVyZW5jZXNDc3ZUaHJlc2hvbGQgfHwgdGhpcy5saXN0LmdyaWRDb3VudC5yZWxhdGlvbiA9PT0gJ2d0ZScpXG4gICAgICAmJiB0aGlzLnJlc3VsdEhhc1JlZmVyZW5jZXMoKSkge1xuICAgICAgdGhpcy5zaG93V2FybkV4cG9ydENTVlRocmVzaG9sZERpYWxvZyA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY3N2TG9hZGluZ1NwaW5uZXJWaXNpYmlsaXR5ID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5KHt9KTtcbiAgICB0aGlzLnNob3dXYXJuRXhwb3J0Q1NWVGhyZXNob2xkRGlhbG9nID0gZmFsc2U7XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmRvd25sb2FkQ3N2RnJvbVF1ZXJ5KHRoaXMucXVlcnkuZ2V0UXVlcnlKc29uKHRoaXMucmVzb2x2ZVJlZmVyZW5jZXNDc3YpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jc3ZMb2FkaW5nU3Bpbm5lclZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHBhcnNlRG1zUGFyYW1zKGRhdGEpIHtcbiAgICByZXR1cm4ge2lkOiBkYXRhICYmIGRhdGEuaWQgPyBkYXRhLmlkIDogbnVsbCwgdHlwZTogZGF0YSAmJiBkYXRhLnR5cGUgPyBkYXRhLnR5cGUgOiBudWxsfTtcbiAgfVxuXG4gIGdldCBoYXNHcmlkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gISEodGhpcy5yZXN1bHRHcmlkT3B0aW9ucy5kYXRhc291cmNlIHx8IHRoaXMucmVzdWx0R3JpZE9wdGlvbnMucm93RGF0YSk7XG4gIH1cblxuICBvblN0b3JlZFF1ZXJ5TG9hZGVkKCkge1xuICAgIHRoaXMuc2F2ZWRTZWFyY2hDbGlja2VkID0gZmFsc2U7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7bW9kYWw6ICdzZWFyY2gnfX1dKTtcbiAgfVxuXG4gIG9uU3RvcmVkUXVlcnlFeGVjdXRlKGV2dCkge1xuICAgIHRoaXMuc2F2ZWRTZWFyY2hDbGlja2VkID0gZmFsc2U7XG4gICAgY29uc3QgdXJpUGFyYW0gPSBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZXZ0LnF1ZXJ5SnNvbikpO1xuICAgIGNvbnN0IHVyaVBhcmFtUXVlcnk6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsncXVlcnknOiB1cmlQYXJhbX19O1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3Jlc3VsdCddLCB1cmlQYXJhbVF1ZXJ5KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+XG4gIDxlby1sb2FkaW5nLXNwaW5uZXIgY2xhc3M9XCJyZXN1bHQtbGlzdF9fbG9hZGVyXCIgW3NpemVdPVwiJ21lZGl1bSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbjwvZGl2PlxuPGVvLWNvbHVtbi1jb25maWd1cmF0b3IgKm5nSWY9XCJ2aXNpYmxlQ29uZmlnXCIgW3Zpc2libGVdPVwidmlzaWJsZUNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnVHlwZV09XCJjb25maWdUeXBlXCIgW2NvbmZpZ0NvbnRleHRdPVwiY29uZmlnQ29udGV4dFwiIFtlb0dyaWRdPVwiZ3JpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAob25Db25maWdDaGFuZ2VkKT1cInZpc2libGVDb25maWcgPSBmYWxzZTsgb25Db25maWdDaGFuZ2VkKCRldmVudClcIiA+PC9lby1jb2x1bW4tY29uZmlndXJhdG9yPlxuXG48ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie31cIiBbbG9hZGluZ109XCJmYWxzZVwiIFtwYXJzZURtc1BhcmFtc109XCJwYXJzZURtc1BhcmFtc1wiPlxuICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiICpuZ0lmPVwiaGFzSWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NlYXJjaC5zdmcnXCI+PC9lby1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItaW5mb1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiPnt7dGl0bGUgfHwgKCdlby5zZWFyY2gudGl0bGUnIHwgdHJhbnNsYXRlKX19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLXN1YnRpdGxlXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIXN0b3JlZFF1ZXJ5OyBlbHNlIHN0b3JlZFF1ZXJ5VGV4dFwiIGNsYXNzPVwiZW8taGVhZGVyLXN1YnRpdGxlX19sYWJlbFwiIFt0aXRsZV09XCJxdWVyeVN1YnRpdGxlXCI+e3txdWVyeVN1YnRpdGxlfX08L3NwYW4+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RvcmVkUXVlcnlUZXh0PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZWRRdWVyeS5wYXJhbWV0ZXIubGVuZ3RoID09PSAwOyBlbHNlIHN0b3JlZFF1ZXJ5RGlhbG9nXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVvLWhlYWRlci1zdWJ0aXRsZV9fbGFiZWxcIiBbdGl0bGVdPVwiKCdlby5zZWFyY2guYXNpZGUuc3VtbWFyeS5zdG9yZWRxdWVyeScgfCB0cmFuc2xhdGUpICsgJzogJyArIHN0b3JlZFF1ZXJ5Lm5hbWVcIj5cbiAgICAgICAgICAgICAge3snZW8uc2VhcmNoLmFzaWRlLnN1bW1hcnkuc3RvcmVkcXVlcnknIHwgdHJhbnNsYXRlfX06IHt7c3RvcmVkUXVlcnkubmFtZX19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RvcmVkUXVlcnlEaWFsb2c+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b3JlZC1xdWVyeVwiPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIHt7J2VvLnNlYXJjaC5hc2lkZS5zdW1tYXJ5LnN0b3JlZHF1ZXJ5JyB8IHRyYW5zbGF0ZX19OlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNxXCIgKGNsaWNrKT1cInNhdmVkU2VhcmNoQ2xpY2tlZCA9IHRydWVcIiAoa2V5dXAuZW50ZXIpPVwic2F2ZWRTZWFyY2hDbGlja2VkID0gdHJ1ZVwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zdG9yZWRfcXVlcnkuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3tzdG9yZWRRdWVyeS5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJxdWVyeT8uY29udGV4dEZvbGRlclR5cGVzLmxlbmd0aCA9PT0gMVwiIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInt0eXBlOiBxdWVyeS5jb250ZXh0Rm9sZGVyVHlwZXNbMF0ubGFiZWx9XCI+ZW8uc2VhcmNoLm9iamVjdHR5cGUuZm9ybS5jb250ZXh0PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRlcm1cIiAqbmdJZj1cIiFzdG9yZWRRdWVyeSAmJiBxdWVyeT8udGVybSAmJiAhY2xlYXJBZnRlckV4ZWN1dGVcIiBbdGl0bGVdPVwiKCdlby5zZWFyY2gucmVzdWx0LnRlcm0nIHwgdHJhbnNsYXRlKSArICc6ICcgKyBxdWVyeS50ZXJtXCI+e3snZW8uc2VhcmNoLnJlc3VsdC50ZXJtJyB8IHRyYW5zbGF0ZX19IDogXCJ7e3F1ZXJ5LnRlcm19fVwiPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3VnZ2VzdFwiICpuZ0lmPVwic2VhcmNoUmVzdWx0Py5zdWdnZXN0c1wiPnt7J2VvLnNlYXJjaC5zdWdnZXN0JyB8IHRyYW5zbGF0ZX19PGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJleGVjdXRlU3VnZ2VzdFNlYXJjaCgpXCI+e3tzZWFyY2hSZXN1bHQuc3VnZ2VzdHNbMF19fTwvYT4gP1xuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItYWN0aW9uc1wiPlxuICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcmVmcmVzaC1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIiAoY2xpY2spPVwicmVmcmVzaEdyaWQoKVwiXG4gICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBleHBvcnQtYnV0dG9uXCIgW2hpZGRlbl09XCIhcXVlcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jb250ZW50LWRvd25sb2FkLnN2ZydcIiBbaWNvblRpdGxlXT1cIignZW8ucmVzdWx0bGlzdC5leHBvcnQuY3N2JyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImV4cG9ydENTVigpXCIgKm5nSWY9XCIhY3N2TG9hZGluZ1NwaW5uZXJWaXNpYmlsaXR5XCI+PC9lby1pY29uPlxuICAgICAgPGVvLWxvYWRpbmctc3Bpbm5lciBbc2l6ZV09XCInc21hbGwnXCIgKm5nSWY9XCJjc3ZMb2FkaW5nU3Bpbm5lclZpc2liaWxpdHlcIiBjbGFzcz1cInNwaW5uZXJcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbiAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIGNvbmZpZy1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zZXR0aW5ncy5zdmcnXCIgW2ljb25UaXRsZV09XCIoJ2VvLmNvbHVtbi5jb25maWcudGl0bGUnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwidmlzaWJsZUNvbmZpZyA9ICF2aXNpYmxlQ29uZmlnXCI+PC9lby1pY29uPlxuICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gYWN0aW9ucy1idXR0b25cIiAoY2xpY2spPVwiZW9MaXN0LnNob3dBY3Rpb25zKClcIiBbaWNvblRpdGxlXT1cIignZW8ub2JqZWN0LmFjdGlvbnMudGl0bGUnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19tb3JlLnN2ZydcIiAqbmdJZj1cIiFyZWZlcmVuY2VcIj48L2VvLWljb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgIDxlby1ncmlkICNlb0dyaWQgW2dyaWRPcHRpb25zXT1cInJlc3VsdEdyaWRPcHRpb25zXCIgKm5nSWY9XCJoYXNHcmlkT3B0aW9uczsgZWxzZSBlcnJvclwiXG4gICAgICAgICAgICAgW3Nob3dGb290ZXJdPVwidHJ1ZVwiIChlb0dyaWRDb2x1bW5SZXNpemVkKT1cIm9uQ29sdW1uUmVzaXplZCgkZXZlbnQpXCIgW3NlbGVjdEZpcnN0XT1cInNlbGVjdEZpcnN0XCJcbiAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpO29uQ291bnRDaGFuZ2VkLmVtaXQoJGV2ZW50KTtcIlxuICAgICAgICAgICAgIChlb0dyaWRDb250ZXh0TWVudUNsaWNrKT1cImVvTGlzdC5vbkNvbnRleHRNZW51KCRldmVudCk7b25Db250ZXh0TWVudS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KTtvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoZW9HcmlkRG91YmxlQ2xpY2spPVwiZW9MaXN0Lm9uRG91YmxlQ2xpY2soJGV2ZW50KTtvbkRvdWJsZUNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KTtvbkZvY3VzQ2hhbmdlZC5lbWl0KCRldmVudClcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICA8ZW8tdG90YWwtY291bnQgW2dyaWRDb3VudF09XCJlb0xpc3QuZ3JpZENvdW50XCIgW291dHNpZGVHcmlkXT1cImZhbHNlXCIgY2xhc3M9XCJmbGV4LXJvd1wiPjwvZW8tdG90YWwtY291bnQ+XG4gICAgICAgIDwhLS08ZW8tcXVpY2stZmlsdGVyIFtlb0dyaWRdPVwiZW9HcmlkXCI+PC9lby1xdWljay1maWx0ZXI+LS0+XG4gICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cInt0ZXh0OiBlbXB0eU1lc3NhZ2UgfHwgJ2VvLnNlYXJjaC5yZXN1bHQuZXhwaXJlZCd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1ncmlkPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNlcnJvcj5cblxuICAgIDxlby1lcnJvci1tZXNzYWdlICpuZ0lmPVwiaGFzR3JpZE9wdGlvbnNcIiBbZW1wdHlTdGF0ZV09XCJ7dGV4dDonZW8uc2VhcmNoLm1vZGUuZXhwZXJ0LnJlc3VsdC5lbXB0eSd9XCI+XG4gICAgPC9lby1lcnJvci1tZXNzYWdlPlxuXG4gIDwvbmctdGVtcGxhdGU+XG48L2VvLWxpc3QtY29udGFpbmVyPlxuXG48ZW8tZGlhbG9nIFt2aXNpYmxlXT1cInNhdmVkU2VhcmNoQ2xpY2tlZFwiIChoaWRlKT1cInNhdmVkU2VhcmNoQ2xpY2tlZCA9IGZhbHNlXCIgW3RpdGxlXT1cIidlby5zZWFyY2guYXNpZGUuc3VtbWFyeS5zdG9yZWRxdWVyeScgfCB0cmFuc2xhdGVcIj5cbiAgPGVvLXN0b3JlZC1xdWVyeSBbcXVlcnldPVwic3RvcmVkUXVlcnlcIlxuICAgICAgICAgICAgICAgICAgIChvblF1ZXJ5TG9hZGVkKT1cIm9uU3RvcmVkUXVlcnlMb2FkZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgKG9uUXVlcnlFeGVjdXRlKT1cIm9uU3RvcmVkUXVlcnlFeGVjdXRlKCRldmVudClcIj48L2VvLXN0b3JlZC1xdWVyeT5cbjwvZW8tZGlhbG9nPlxuXG48ZW8tZGlhbG9nIFt0aXRsZV09XCInZW8ucmVzdWx0bGlzdC5leHBvcnQuY3N2LnRocmVzaG9sZC5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgWyh2aXNpYmxlKV09XCJzaG93V2FybkV4cG9ydENTVlRocmVzaG9sZERpYWxvZ1wiIFtmb2N1c09uU2hvd109XCJmYWxzZVwiIFttaW5XaWR0aF09XCI0MDBcIiBbc3R5bGVDbGFzc109XCIndGhyZXNob2xkX19kaWFsb2cnXCI+XG5cbiAgPGRpdj57eydlby5yZXN1bHRsaXN0LmV4cG9ydC5jc3YudGhyZXNob2xkLmRpYWxvZy5tZXNzYWdlJyB8IHRyYW5zbGF0ZX19PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b25zIGZsZXgtcm93XCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gY2FuY2VsXCIgKGNsaWNrKT1cInNob3dXYXJuRXhwb3J0Q1NWVGhyZXNob2xkRGlhbG9nID0gZmFsc2VcIlxuICAgICAgICAgICAgdHJhbnNsYXRlPmVvLmN0YS5idXR0b24uY2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2RrRm9jdXNJbml0aWFsIChjbGljayk9XCJleHBvcnRDU1YodHJ1ZSlcIiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCJcbiAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5yZXN1bHRsaXN0LmV4cG9ydC5jc3YudGhyZXNob2xkLmRpYWxvZy5leHBvcnQ8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cblxuIl19
399
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVzdWx0LWxpc3QvcmVzdWx0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVzdWx0LWxpc3QvcmVzdWx0LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUdMLFVBQVUsRUFFVixlQUFlLEVBR2YsV0FBVyxFQUVYLFVBQVUsRUFFUSxLQUFLLEVBQ3hCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLEVBQUUsSUFBSSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVTlDLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW1COzthQVN2Qix1QkFBa0IsR0FBRyx1Q0FBdUMsQUFBMUMsQ0FBMkM7SUF3Q3BFLElBQ0ksS0FBSyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxD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RFIsS0FBSztnQkFvREYsWUFBWTtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XHJcbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgQmFja2VuZFNlcnZpY2UsXHJcbiAgQ29uZmlnLFxyXG4gIEVuYWlvRXZlbnQsXHJcbiAgRXZlbnRTZXJ2aWNlLFxyXG4gIEZpZWxkRGVmaW5pdGlvbixcclxuICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gIE9iamVjdFR5cGUsXHJcbiAgU2VhcmNoUXVlcnksIFNlYXJjaFJlc3VsdCxcclxuICBTZWFyY2hTZXJ2aWNlLFxyXG4gIFNvcnRPcHRpb24sXHJcbiAgU3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LFxyXG4gIFRyYW5zbGF0ZVNlcnZpY2UsIFV0aWxzXHJcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcclxuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xyXG5pbXBvcnQge29mIGFzIG9ic2VydmFibGVPZn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7R3JpZFNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2FwaS9ncmlkLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FwcFNlYXJjaFNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlYXJjaC9hcHAtc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQge0dyaWRGaWx0ZXJ9IGZyb20gJy4uL2dyaWQvZ3JpZC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQge0dyaWRDb21wb25lbnR9IGZyb20gJy4uL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xpc3RDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4uL2xpc3QtY29udGFpbmVyJztcclxuXHJcbkBVbnRpbERlc3Ryb3koKVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VvLXJlc3VsdC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdWx0LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Jlc3VsdC1saXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3VsdExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBAVmlld0NoaWxkKCdlb0dyaWQnKSBncmlkOiBHcmlkQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2VvTGlzdCcpIGxpc3Q6IExpc3RDb250YWluZXJDb21wb25lbnQ7XHJcblxyXG4gIC8vIGZvciBsaXN0cyB0aGF0IGV4Y2VlZCB0aGUgY29uZmlndXJlZCBtYXggcmVzdWx0IHNpemUsIGRhdGEgd2lsbCBiZSBmZXRjaGVkIGluIGNodW5rc1xyXG4gIHByaXZhdGUgVklSVFVBTF9MSVNUX0NIVU5LX1NJWkU6IG51bWJlcjtcclxuICByZXNvbHZlUmVmZXJlbmNlc0NzdjogYm9vbGVhbjtcclxuICByZXNvbHZlUmVmZXJlbmNlc0NzdlRocmVzaG9sZDogbnVtYmVyO1xyXG4gIHN0YXRpYyBDT0xVTU5TX0RFRklOSVRJT04gPSAnZW8uZnJhbWV3b3JrLmNhY2hlLmNvbHVtbnMuZGVmaW5pdGlvbic7XHJcblxyXG4gIHByaXZhdGUgX3Jlc3VsdDogU2VhcmNoUmVzdWx0O1xyXG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeTtcclxuICBwcml2YXRlIF9jYWNoZWRDb2x1bW5zOiBhbnlbXTtcclxuICBwcml2YXRlIGRlZmF1bHRRdWVyeTogU2VhcmNoUXVlcnk7XHJcbiAgY3N2TG9hZGluZ1NwaW5uZXJWaXNpYmlsaXR5ID0gZmFsc2U7XHJcblxyXG4gIHZpc2libGVDb25maWcgPSBmYWxzZTtcclxuICBzaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgcHVibGljIHRvdGFsSGl0czogYW55O1xyXG4gIHB1YmxpYyBsaW1pdGVkTGlzdCA9IGZhbHNlO1xyXG4gIHB1YmxpYyByZXN1bHRHcmlkT3B0aW9uczogR3JpZE9wdGlvbnMgPSB7fTtcclxuICBzZXR0aW5ncyA9IHt9O1xyXG4gIHF1ZXJ5U3VidGl0bGUgPSAnJztcclxuICBzYXZlZFNlYXJjaENsaWNrZWQgPSBmYWxzZTtcclxuICBzdG9yZWRRdWVyeTogU3RvcmVkUXVlcnk7XHJcbiAgc2hvd1dhcm5FeHBvcnRDU1ZUaHJlc2hvbGREaWFsb2cgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcclxuICBASW5wdXQoKSBjb25maWdUeXBlOiBPYmplY3RUeXBlIHwgbnVsbDtcclxuICBASW5wdXQoKSBjb25maWdDb250ZXh0OiBPYmplY3RUeXBlIHwgbnVsbDtcclxuXHJcbiAgLy8gSWYgc2V0IHRvIHRydWUgcXVlcnkgd2lsbCBiZSB0cmVhdGVkIGxpa2UgYSB0ZW1wb3Jhcnkgc2VhcmNoLlxyXG4gIC8vIFRoYXQgbWVhbnMsIGdsb2JhbCBzZWFyY2ggd2lsbCBub3QgYmUgYWZmZWN0ZWQgKGdsb2JhbCBxdWVyeSB3aWxsIGJlIHJlc2V0IGFmdGVyIGV4ZWN1dGlvbilcclxuICBASW5wdXQoKSBjbGVhckFmdGVyRXhlY3V0ZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBlbXB0eU1lc3NhZ2UgPSAnJztcclxuICBASW5wdXQoKSBzZWxlY3RGaXJzdCA9IHRydWU7XHJcbiAgQElucHV0KCkgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xyXG4gIEBJbnB1dCgpIGhhc0ljb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSByZWZlcmVuY2UgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkZvY3VzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Eb3VibGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Db250ZXh0TWVudSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Db3VudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uUmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25SZXN1bHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uUXVlcnlJbnZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBxdWVyeShxdWVyeTogYW55KSB7XHJcbiAgICB0aGlzLnN0b3JlZFF1ZXJ5ID0gdW5kZWZpbmVkO1xyXG4gICAgaWYgKCFxdWVyeSkge1xyXG4gICAgICB0aGlzLmludmFsaWRRdWVyeSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHF1ZXJ5Lm5hbWUpIHtcclxuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLmdldFN0b3JlZFF1ZXJpZXMkKClcclxuICAgICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocXVlcmllc1N1YnNjcmlwdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBxdWVyaWVzU3Vic2NyaXB0aW9uLnF1ZXJpZXMuZmlsdGVyKHEgPT4gcS5uYW1lID09PSBxdWVyeS5uYW1lKVswXTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkocXVlcnkpO1xyXG4gICAgICBpZiAodGhpcy5fcXVlcnkpIHtcclxuICAgICAgICB0aGlzLmRlZmF1bHRRdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpKTtcclxuICAgICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2Uuc2V0UXVlcnkodGhpcy5kZWZhdWx0UXVlcnkpO1xyXG4gICAgICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5hZ2dyZWdhdGUoKTtcclxuXHJcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmdldFJlc3VsdEZpZWxkRGVmaW5pdGlvbkNvbmZpZyh0aGlzLnF1ZXJ5KTtcclxuICAgICAgICB0aGlzLmNvbmZpZ1R5cGUgPSBjb25maWcudHlwZTtcclxuICAgICAgICB0aGlzLmNvbmZpZ0NvbnRleHQgPSBjb25maWcuY29udGV4dFR5cGU7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2VcclxuICAgICAgICAgIC5nZXRDaHVua2VkUmVzdWx0KHRoaXMuX3F1ZXJ5LCAwLCB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jbGVhclF1ZXJ5KHRoaXMuY2xlYXJBZnRlckV4ZWN1dGUpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdCA9IHJlc3VsdDtcclxuICAgICAgICAgIH0sIFV0aWxzLnRocm93KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXJRdWVyeSh0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkUXVlcnkoKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICB0aGlzLnF1ZXJ5U3VidGl0bGUgPSAnJztcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucXVlcnkudHlwZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMucXVlcnlTdWJ0aXRsZSArPSB0aGlzLnF1ZXJ5LnR5cGVzW2ldLmxhYmVsO1xyXG4gICAgICAgICAgaWYgKGkgIT09IHRoaXMucXVlcnkudHlwZXMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5U3VidGl0bGUgKz0gJywgJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pbnZhbGlkUXVlcnkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VhcmNoUmVzdWx0KHJlc3VsdDogU2VhcmNoUmVzdWx0KSB7XHJcbiAgICAvLyB0b2RvOiBiYWNrZW5kIHNob3VsZCByZXNvbHZlIHF1ZXJ5LmZpZWxkcyBhbmQgcmV0dXJuIGNvbmZpZyBpbiBzcGVjaWZpYyBvcmRlclxyXG4gICAgY29uc3QgX2ZpZWxkcyA9IHJlc3VsdC5maWVsZHMgPyBvYnNlcnZhYmxlT2YocmVzdWx0LmZpZWxkcykgOlxyXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmV0Y2hSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQsICdBTEwnKTtcclxuICAgIF9maWVsZHMuc3Vic2NyaWJlKGZpZWxkcyA9PiB7XHJcbiAgICAgIGlmIChmaWVsZHMgJiYgdGhpcy5xdWVyeSAmJiB0aGlzLnF1ZXJ5LmZpZWxkcyAmJiB0aGlzLnF1ZXJ5LmZpZWxkcy5sZW5ndGgpIHtcclxuICAgICAgICBmaWVsZHMuZWxlbWVudHMgPSB0aGlzLnF1ZXJ5LmZpZWxkcy5tYXAoZiA9PiBmaWVsZHMuZWxlbWVudHMuZmluZChlID0+IGYgPT09IGUuaGl0bmFtZSkpO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdC5maWVsZHMgPSBmaWVsZHMgfHwgbmV3IEZpZWxkRGVmaW5pdGlvbigpO1xyXG4gICAgICB0aGlzLl9yZXN1bHQgPSByZXN1bHQ7XHJcbiAgICAgIHRoaXMucHJvY2Vzc1Jlc3VsdHModGhpcy5fcmVzdWx0KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlYXJjaFJlc3VsdCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlnLCBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwdWJsaWMgZ3JpZEFwaTogR3JpZFNlcnZpY2UsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhcHBTZWFyY2hTZXJ2aWNlOiBBcHBTZWFyY2hTZXJ2aWNlLCBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSwgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU2VydmljZTogU3RvcmVkUXVlcmllc1NlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICAgIHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ3NlYXJjaC5saW1pdCcpIGFzIG51bWJlcjtcclxuICAgIHRoaXMucmVzb2x2ZVJlZmVyZW5jZXNDc3YgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ3NlYXJjaC5yZXNvbHZlUmVmZXJlbmNlc0NTVicpIGFzIGJvb2xlYW4gfHwgZmFsc2U7XHJcbiAgICB0aGlzLnJlc29sdmVSZWZlcmVuY2VzQ3N2VGhyZXNob2xkID0gdGhpcy5jb25maWcuZ2V0UmF3KCdzZWFyY2gucmVzb2x2ZVJlZmVyZW5jZXNDU1ZUaHJlc2hvbGQnKSBhcyBudW1iZXIgfHwgMTAwMDA7XHJcbiAgICB0aGlzLl9jYWNoZWRDb2x1bW5zID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKFJlc3VsdExpc3RDb21wb25lbnQuQ09MVU1OU19ERUZJTklUSU9OKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGNsZWFyUXVlcnkoY2xlYXJBZnRlckV4ZWN1dGUpIHtcclxuICAgIGlmIChjbGVhckFmdGVyRXhlY3V0ZSkge1xyXG4gICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2UuY2xlYXJRdWVyeSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW52YWxpZFF1ZXJ5KCkge1xyXG4gICAgdGhpcy5vblF1ZXJ5SW52YWxpZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlXHJcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfREVMRVRFRClcclxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3JpZCkge1xyXG4gICAgICAgICAgdGhpcy5ncmlkLnVwZGF0ZVJvd3ModGhpcy5iYWNrZW5kLnVwZGF0ZShbcmVzLmRhdGFdLCBbe2lkOiByZXMuZGF0YS5pZH1dKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmV2ZW50U2VydmljZVxyXG4gICAgICAub24oRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQpXHJcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmdyaWQpIHtcclxuICAgICAgICAgIHRoaXMudXBkYXRlUm93KHJlcy5kYXRhLmlkLCByZXMuZGF0YS5kYXRhKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuZ3JpZCAmJiB0aGlzLl9xdWVyeSkge1xyXG4gICAgICAgIHRoaXMuX3F1ZXJ5LnNvcnRPcHRpb25zID0gKHRoaXMuZ3JpZC5hcGkuZ2V0Q29sdW1uU3RhdGUoKSB8fCBbXSlcclxuICAgICAgICAgIC5tYXAobW9kZWwgPT4gbmV3IFNvcnRPcHRpb24oR3JpZFNlcnZpY2UucW5hbWVGb3JtYXR0ZXIobW9kZWwuY29sSWQgKyB0aGlzLnBvc3RmaXhTb3J0KG1vZGVsLmNvbElkKSksIG1vZGVsLnNvcnQpKTtcclxuICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5fcXVlcnk7XHJcbiAgICAgIH1cclxuICAgIH0sIDIwMCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVSb3coaWQ6IHN0cmluZywgZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBtYXRjaFJvdyA9IHRoaXMucmVzdWx0R3JpZE9wdGlvbnMucm93RGF0YS5maW5kKChyKSA9PiByLmlkID09PSBpZCk7XHJcbiAgICBjb25zdCBzeXN0ZW1GaWVsZHMgPSBbJ2NyZWF0ZWQnLCAnY3JlYXRvcnRpdGxlJywgJ21vZGlmaWVkJywgJ21vZGlmaWVydGl0bGUnLCAndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZScsICd2ZXJzaW9uJywgJ2ZpbGVzaXplJywgJ2ZpbGVuYW1lJywgJ21pbWV0eXBlZ3JvdXAnLCAnbWltZXR5cGUnXTtcclxuICAgIGxldCBtaXNzaW5nQ29sdW1ucyA9IHRoaXMucmVzdWx0R3JpZE9wdGlvbnMuY29sdW1uRGVmcztcclxuICAgIGlmIChtYXRjaFJvdykge1xyXG4gICAgICBPYmplY3Qua2V5cyhtYXRjaFJvdykuZm9yRWFjaCgoaykgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KGspKSB7XHJcbiAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrICsgJ19tZXRhJykpIHtcclxuICAgICAgICAgICAgLy8gaWYgaXQgaXMgYW4gb3JnIGZpZWxkLCBpdCB3aWxsIGhhdmUgYSB0aXRsZSB0byBzaG93LCBvdGhlcndpc2UgaXQgaXMgYSBjb2Rlc3lzdGVtIGFuZCB3ZSBzaG93IHRoZSBsYWJlbFxyXG4gICAgICAgICAgICBtYXRjaFJvd1trXSA9IGRhdGFbayArICdfbWV0YSddLnRpdGxlID8gZGF0YVtrICsgJ19tZXRhJ10udGl0bGUgOiBkYXRhW2sgKyAnX21ldGEnXS5sYWJlbDtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1hdGNoUm93W2tdID0gZGF0YVtrXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIG1pc3NpbmdDb2x1bW5zID0gbWlzc2luZ0NvbHVtbnMuZmlsdGVyKChjb2x1bW46IENvbERlZikgPT4gY29sdW1uLmZpZWxkICE9PSBrKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoay5zcGxpdCgnLicpWzFdKSkge1xyXG4gICAgICAgICAgLy8gc29tZSB0ZWNobmljYWwgbmFtZXMgaGF2ZSB0aGUgb2JqZWN0IHR5cGUgYXMgYSBwcmVmaXgsIHdlIGhhdmUgdG8gZ2V0IHJpZCBvZiBpdFxyXG4gICAgICAgICAgY29uc3Qga1NwbGl0ID0gay5zcGxpdCgnLicpWzFdO1xyXG4gICAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa1NwbGl0ICsgJ19tZXRhJykpIHtcclxuICAgICAgICAgICAgbWF0Y2hSb3dba10gPSBkYXRhW2tTcGxpdCArICdfbWV0YSddLnRpdGxlID8gZGF0YVtrU3BsaXQgKyAnX21ldGEnXS50aXRsZSA6IGRhdGFba1NwbGl0ICsgJ19tZXRhJ10ubGFiZWw7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtYXRjaFJvd1trXSA9IGRhdGFba1NwbGl0XTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIG1pc3NpbmdDb2x1bW5zID0gbWlzc2luZ0NvbHVtbnMuZmlsdGVyKChjb2x1bW46IENvbERlZikgPT4gY29sdW1uLmZpZWxkICE9PSBrKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyB3ZSBuZWVkIHRvIGl0ZXJhdGUgdGhyb3VnaCB0aGUgbm90IGFscmVhZHkgYXBwbGllZCBjb2x1bW5zLCB3aGljaCB3ZXJlIGNoYW5nZWQgZnJvbSBudWxsIG9yIHRvIG51bGxcclxuICAgICAgbWlzc2luZ0NvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBDb2xEZWYpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShjb2x1bW4uZmllbGQpKSB7XHJcbiAgICAgICAgICBtYXRjaFJvd1tjb2x1bW4uZmllbGRdID0gZGF0YVtjb2x1bW4uZmllbGRdO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShjb2x1bW4uZmllbGQuc3BsaXQoJy4nKVsxXSkpIHtcclxuICAgICAgICAgIG1hdGNoUm93W2NvbHVtbi5maWVsZF0gPSBkYXRhW2NvbHVtbi5maWVsZC5zcGxpdCgnLicpWzFdXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKCFzeXN0ZW1GaWVsZHMuaW5jbHVkZXMoY29sdW1uLmZpZWxkKSkge1xyXG4gICAgICAgICAgICBtYXRjaFJvd1tjb2x1bW4uZmllbGRdID0gbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBtYXRjaFJvdy5pZCA9IGlkO1xyXG4gICAgICBjb25zdCByb3dOb2RlID0gdGhpcy5ncmlkLmFwaS5nZXRSb3dOb2RlKGlkKTtcclxuICAgICAgcm93Tm9kZSAmJiByb3dOb2RlLnNldERhdGEobWF0Y2hSb3cpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaEdyaWQoKSB7XHJcbiAgICBpZiAodGhpcy5xdWVyeSkge1xyXG4gICAgICB0aGlzLl9xdWVyeS5zb3J0T3B0aW9ucyA9ICh0aGlzLmdyaWQuYXBpLmdldENvbHVtblN0YXRlKCkgfHwgW10pXHJcbiAgICAgICAgICAgIC5tYXAobW9kZWwgPT4gbmV3IFNvcnRPcHRpb24oR3JpZFNlcnZpY2UucW5hbWVGb3JtYXR0ZXIobW9kZWwuY29sSWQgKyB0aGlzLnBvc3RmaXhTb3J0KG1vZGVsLmNvbElkKSksIG1vZGVsLnNvcnQpKTtcclxuICAgICAgdGhpcy5xdWVyeSA9IHRoaXMuX3F1ZXJ5O1xyXG4gICAgfVxyXG4gICAgdGhpcy5vblJlZnJlc2guZW1pdCh0aGlzLnF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIG9uQ29sdW1uUmVzaXplZChjb2x1bW46IGFueSkge1xyXG4gICAgbGV0IGNvbCA9IHRoaXMuX2NhY2hlZENvbHVtbnMuZmluZChjID0+IGMucW5hbWUgPT09IGNvbHVtbi5jb2xEZWYucmVmRGF0YS5xbmFtZSk7XHJcbiAgICBpZiAoY29sKSB7XHJcbiAgICAgIGNvbC53aWR0aCA9IGNvbHVtbi5hY3R1YWxXaWR0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2NhY2hlZENvbHVtbnMucHVzaCh7cW5hbWU6IGNvbHVtbi5jb2xEZWYucmVmRGF0YS5xbmFtZSwgd2lkdGg6IGNvbHVtbi5hY3R1YWxXaWR0aH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKFJlc3VsdExpc3RDb21wb25lbnQuQ09MVU1OU19ERUZJTklUSU9OLCB0aGlzLl9jYWNoZWRDb2x1bW5zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGhhbmRsZXIgZm9yIGdyaWQgY29uZmlndXJhdGlvblxyXG4gICAqIEBwYXJhbSAkZXZlbnRcclxuICAgKi9cclxuICBvbkNvbmZpZ0NoYW5nZWQocmVmcmVzaCkge1xyXG4gICAgaWYgKHJlZnJlc2gpIHtcclxuICAgICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJvY2VzcyBTZWFyY2ggcmVzdWx0ICYgZ2VuZXJhdGUgY29sdW1uIGRlZmluaXRpb25zXHJcbiAgICogQHBhcmFtIHJlc3VsdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcHJvY2Vzc1Jlc3VsdHMocmVzdWx0OiBTZWFyY2hSZXN1bHQpIHtcclxuICAgIHRoaXMudmlzaWJsZUNvbmZpZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5vblJlc3VsdC5lbWl0KHJlc3VsdCk7XHJcbiAgICB0aGlzLnRvdGFsSGl0cyA9IHJlc3VsdC5jb3VudC52YWx1ZTtcclxuICAgIHRoaXMubGltaXRlZExpc3QgPSB0aGlzLnRvdGFsSGl0cyA+IHJlc3VsdC5oaXRzLmxlbmd0aDtcclxuICAgIGxldCBncmlkT3B0aW9uczogR3JpZE9wdGlvbnMgPSB7Y29udGV4dDoge30sIG9uU29ydENoYW5nZWQ6ICgpID0+IHRoaXMub25QYWdlQ2hhbmdlZCgpLCBvbkZpbHRlckNoYW5nZWQ6ICgpID0+IHRoaXMub25QYWdlQ2hhbmdlZCgpfTtcclxuICAgIGNvbnN0IHNlYXJjaE1vZGUgPSByZXN1bHQuZmllbGRzLm1vZGUgPyByZXN1bHQuZmllbGRzLm1vZGUgOiBudWxsO1xyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MgPSB0aGlzLmxpbWl0ZWRMaXN0ICYmIHRoaXMucXVlcnkgPyB7dG90YWw6IHRoaXMudG90YWxIaXRzLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCByZWxhdGlvbjogcmVzdWx0LmNvdW50LnJlbGF0aW9ufSA6IG51bGw7XHJcbiAgICBncmlkT3B0aW9ucy5yb3dEYXRhID0gcmVzdWx0LmhpdHM7XHJcblxyXG4gICAgY29uc3Qge2VsZW1lbnRzLCBzb3J0b3JkZXIsIGdyb3Vwb3JkZXIsIHBpbm5lZCwgYWxpZ25tZW50eH0gPSByZXN1bHQuZmllbGRzO1xyXG5cclxuICAgIGdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSByZXN1bHQuY291bnQ7XHJcbiAgICBncmlkT3B0aW9ucy5jb2x1bW5EZWZzID0gdGhpcy5ncmlkQXBpLmdldENvbHVtbkRlZnMoZWxlbWVudHMsIHNvcnRvcmRlciwgZ3JvdXBvcmRlciwgcGlubmVkLCBhbGlnbm1lbnR4LCBmYWxzZSwgdGhpcy5fY2FjaGVkQ29sdW1ucywgc2VhcmNoTW9kZSk7XHJcblxyXG4gICAgY29uc3QgcmVmcmVzaEdyaWQgPSB0aGlzLmhhc0dyaWRPcHRpb25zO1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnJlc3VsdEdyaWRPcHRpb25zLCBncmlkT3B0aW9ucywgdGhpcy5ncmlkT3B0aW9ucyk7XHJcblxyXG4gICAgaWYgKHJlZnJlc2hHcmlkKSB7XHJcbiAgICAgIC8vIHJlbG9hZCBncmlkIGNvbXBvbmVudFxyXG4gICAgICB0aGlzLnJlc3VsdEdyaWRPcHRpb25zID0ge307XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gT2JqZWN0LmFzc2lnbih0aGlzLnJlc3VsdEdyaWRPcHRpb25zLCBncmlkT3B0aW9ucywgdGhpcy5ncmlkT3B0aW9ucyksIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwb3N0Zml4U29ydChpZCkge1xyXG4gICAgLy8gdG9kbzogcmVtb3ZlIHdoZW4gaXQncyBmaXhlZCBvbiBiYWNrZW5kXHJcbiAgICByZXR1cm4gaWQubWF0Y2goLyhec3lzb2JqZWN0XFwufF5zeXNkb2N1bWVudFxcLikoY3JlYXRvciR8bW9kaWZpZXIkKS8pID8gJ3RpdGxlJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIgPSAxKSB7XHJcbiAgICBpZiAodGhpcy5saW1pdGVkTGlzdCAmJiB0aGlzLnF1ZXJ5KSB7XHJcbiAgICAgIHRoaXMuZmV0Y2hSb3dEYXRhKHtcclxuICAgICAgICBzdGFydFJvdzogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSAqIChwYWdlIC0gMSksXHJcbiAgICAgICAgc29ydE1vZGVsOiB0aGlzLmdyaWQuYXBpLmdldENvbHVtblN0YXRlKCksXHJcbiAgICAgICAgZmlsdGVyTW9kZWw6IHRoaXMuZ3JpZC5hcGkuZ2V0RmlsdGVyTW9kZWwoKSxcclxuICAgICAgICBzdWNjZXNzQ2FsbGJhY2s6IChyb3dzLCB0b3RhbCwgcmVsYXRpb24pID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWwsIHJlbGF0aW9uLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlfTtcclxuICAgICAgICAgIHRoaXMuZ3JpZC5hcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIHJvd3MpO1xyXG4gICAgICAgICAgdGhpcy5ncmlkLnNlbGVjdFJvdygwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gZm9yIGZldGNoaW5nIHRoZSBpdGVtcyB0byBiZSBkaXNwbGF5ZWQgd2l0aCBhIHZpcnR1YWwgcm93IG1vZGVsLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIHJvdyBtb2RlbCBwYXJhbXMgKGluY2wuIHN0YXJ0Um93LCBlbmRSb3csIHNvcnRNb2RlbCBhbmQgZmlsdGVyTW9kZWwpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmZXRjaFJvd0RhdGEocGFyYW1zOiBhbnkpIHtcclxuXHJcbiAgICBpZiAodGhpcy5xdWVyeSkge1xyXG5cclxuICAgICAgdGhpcy51cGRhdGVRdWVyeShwYXJhbXMpO1xyXG5cclxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlXHJcbiAgICAgICAgLmdldENodW5rZWRSZXN1bHQodGhpcy5xdWVyeSwgcGFyYW1zLnN0YXJ0Um93LCB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFKVxyXG4gICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgIHRoaXMudG90YWxIaXRzID0gdGhpcy5ncmlkLmdyaWRPcHRpb25zLmNvbnRleHQucm93Q291bnQgPSByZXN1bHQuY291bnQudmFsdWU7XHJcbiAgICAgICAgICB0aGlzLmdyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHJlc3VsdC5jb3VudDtcclxuICAgICAgICAgIHBhcmFtcy5zdWNjZXNzQ2FsbGJhY2socmVzdWx0LmhpdHMsIHRoaXMudG90YWxIaXRzLCByZXN1bHQuY291bnQucmVsYXRpb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVRdWVyeShwYXJhbXM6IGFueSkge1xyXG4gICAgdGhpcy5xdWVyeS5zb3J0T3B0aW9ucyA9IChwYXJhbXMuc29ydE1vZGVsIHx8IHRoaXMuZ3JpZC5hcGkuZ2V0Q29sdW1uU3RhdGUoKSB8fCBbXSlcclxuICAgICAgICAubWFwKG1vZGVsID0+IG5ldyBTb3J0T3B0aW9uKEdyaWRTZXJ2aWNlLnFuYW1lRm9ybWF0dGVyKG1vZGVsLmNvbElkICsgdGhpcy5wb3N0Zml4U29ydChtb2RlbC5jb2xJZCkpLCBtb2RlbC5zb3J0KSk7XHJcblxyXG4gICAgdGhpcy5xdWVyeS5maWx0ZXJzID0gdGhpcy5kZWZhdWx0UXVlcnkuZmlsdGVyc1xyXG4gICAgICAuY29uY2F0KChPYmplY3Qua2V5cyhwYXJhbXMuZmlsdGVyTW9kZWwgfHwgdGhpcy5ncmlkLmFwaS5nZXRGaWx0ZXJNb2RlbCgpKSB8fCBbXSlcclxuICAgICAgICAubWFwKGtleSA9PiBHcmlkRmlsdGVyLm9wZXJhdG9yKEdyaWRTZXJ2aWNlLnFuYW1lRm9ybWF0dGVyKGtleSksIChwYXJhbXMuZmlsdGVyTW9kZWwgfHwgdGhpcy5ncmlkLmFwaS5nZXRGaWx0ZXJNb2RlbCgpKVtrZXldKSkpO1xyXG5cclxuICAgIHRoaXMucXVlcnkuc2VhcmNoTW9kZSA9IFNlYXJjaFF1ZXJ5LkRFRkFVTFRfU0VBUkNIX01PREU7XHJcbiAgfVxyXG5cclxuICBleGVjdXRlU3VnZ2VzdFNlYXJjaCgpIHtcclxuICAgIC8vIHRvZG86IGltcGxlbWVudFxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXN1bHRIYXNSZWZlcmVuY2VzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jlc3VsdC5maWVsZHMuZWxlbWVudHMuc29tZShlbGVtZW50ID0+IGVsZW1lbnQudHlwZSA9PT0gJ09SR0FOSVpBVElPTicgfHwgZWxlbWVudC50eXBlID09PSAnUkVGRVJFTkNFJyk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRDU1YoaWdub3JlVGhyZXNob2xkID0gZmFsc2UpIHtcclxuICAgIGlmICghaWdub3JlVGhyZXNob2xkICYmIHRoaXMucmVzb2x2ZVJlZmVyZW5jZXNDc3ZcclxuICAgICAgJiYgKHRoaXMubGlzdC5ncmlkQ291bnQudG90YWxDb3VudCA+IHRoaXMucmVzb2x2ZVJlZmVyZW5jZXNDc3ZUaHJlc2hvbGQgfHwgdGhpcy5saXN0LmdyaWRDb3VudC5yZWxhdGlvbiA9PT0gJ2d0ZScpXHJcbiAgICAgICYmIHRoaXMucmVzdWx0SGFzUmVmZXJlbmNlcygpKSB7XHJcbiAgICAgIHRoaXMuc2hvd1dhcm5FeHBvcnRDU1ZUaHJlc2hvbGREaWFsb2cgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNzdkxvYWRpbmdTcGlubmVyVmlzaWJpbGl0eSA9IHRydWU7XHJcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5KHt9KTtcclxuICAgIHRoaXMuc2hvd1dhcm5FeHBvcnRDU1ZUaHJlc2hvbGREaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VhcmNoU2VydmljZS5kb3dubG9hZENzdkZyb21RdWVyeSh0aGlzLnF1ZXJ5LmdldFF1ZXJ5SnNvbih0aGlzLnJlc29sdmVSZWZlcmVuY2VzQ3N2KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jc3ZMb2FkaW5nU3Bpbm5lclZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcGFyc2VEbXNQYXJhbXMoZGF0YSkge1xyXG4gICAgcmV0dXJuIHtpZDogZGF0YSAmJiBkYXRhLmlkID8gZGF0YS5pZCA6IG51bGwsIHR5cGU6IGRhdGEgJiYgZGF0YS50eXBlID8gZGF0YS50eXBlIDogbnVsbH07XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzR3JpZE9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gISEodGhpcy5yZXN1bHRHcmlkT3B0aW9ucy5kYXRhc291cmNlIHx8IHRoaXMucmVzdWx0R3JpZE9wdGlvbnMucm93RGF0YSk7XHJcbiAgfVxyXG5cclxuICBvblN0b3JlZFF1ZXJ5TG9hZGVkKCkge1xyXG4gICAgdGhpcy5zYXZlZFNlYXJjaENsaWNrZWQgPSBmYWxzZTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XHJcbiAgfVxyXG5cclxuICBvblN0b3JlZFF1ZXJ5RXhlY3V0ZShldnQpIHtcclxuICAgIHRoaXMuc2F2ZWRTZWFyY2hDbGlja2VkID0gZmFsc2U7XHJcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShldnQucXVlcnlKc29uKSk7XHJcbiAgICBjb25zdCB1cmlQYXJhbVF1ZXJ5OiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3F1ZXJ5JzogdXJpUGFyYW19fTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3Jlc3VsdCddLCB1cmlQYXJhbVF1ZXJ5KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+XHJcbiAgPGVvLWxvYWRpbmctc3Bpbm5lciBjbGFzcz1cInJlc3VsdC1saXN0X19sb2FkZXJcIiBbc2l6ZV09XCInbWVkaXVtJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxyXG48L2Rpdj5cclxuPGVvLWNvbHVtbi1jb25maWd1cmF0b3IgKm5nSWY9XCJ2aXNpYmxlQ29uZmlnXCIgW3Zpc2libGVdPVwidmlzaWJsZUNvbmZpZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdUeXBlXT1cImNvbmZpZ1R5cGVcIiBbY29uZmlnQ29udGV4dF09XCJjb25maWdDb250ZXh0XCIgW2VvR3JpZF09XCJncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ29uZmlnQ2hhbmdlZCk9XCJ2aXNpYmxlQ29uZmlnID0gZmFsc2U7IG9uQ29uZmlnQ2hhbmdlZCgkZXZlbnQpXCIgPjwvZW8tY29sdW1uLWNvbmZpZ3VyYXRvcj5cclxuXHJcbjxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7fVwiIFtsb2FkaW5nXT1cImZhbHNlXCIgW3BhcnNlRG1zUGFyYW1zXT1cInBhcnNlRG1zUGFyYW1zXCI+XHJcbiAgPGRpdiBjbGFzcz1cImVvLWhlYWRlclwiPlxyXG4gICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiICpuZ0lmPVwiaGFzSWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NlYXJjaC5zdmcnXCI+PC9lby1pY29uPlxyXG4gICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIj57e3RpdGxlIHx8ICgnZW8uc2VhcmNoLnRpdGxlJyB8IHRyYW5zbGF0ZSl9fTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLXN1YnRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhc3RvcmVkUXVlcnk7IGVsc2Ugc3RvcmVkUXVlcnlUZXh0XCIgY2xhc3M9XCJlby1oZWFkZXItc3VidGl0bGVfX2xhYmVsXCIgW3RpdGxlXT1cInF1ZXJ5U3VidGl0bGVcIj57e3F1ZXJ5U3VidGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3N0b3JlZFF1ZXJ5VGV4dD5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZWRRdWVyeS5wYXJhbWV0ZXIubGVuZ3RoID09PSAwOyBlbHNlIHN0b3JlZFF1ZXJ5RGlhbG9nXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW8taGVhZGVyLXN1YnRpdGxlX19sYWJlbFwiIFt0aXRsZV09XCIoJ2VvLnNlYXJjaC5hc2lkZS5zdW1tYXJ5LnN0b3JlZHF1ZXJ5JyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgc3RvcmVkUXVlcnkubmFtZVwiPlxyXG4gICAgICAgICAgICAgIHt7J2VvLnNlYXJjaC5hc2lkZS5zdW1tYXJ5LnN0b3JlZHF1ZXJ5JyB8IHRyYW5zbGF0ZX19OiB7e3N0b3JlZFF1ZXJ5Lm5hbWV9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RvcmVkUXVlcnlEaWFsb2c+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcmVkLXF1ZXJ5XCI+XHJcbiAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgIHt7J2VvLnNlYXJjaC5hc2lkZS5zdW1tYXJ5LnN0b3JlZHF1ZXJ5JyB8IHRyYW5zbGF0ZX19OlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzcVwiIChjbGljayk9XCJzYXZlZFNlYXJjaENsaWNrZWQgPSB0cnVlXCIgKGtleXVwLmVudGVyKT1cInNhdmVkU2VhcmNoQ2xpY2tlZCA9IHRydWVcIiB0YWJpbmRleD1cIjBcIj5cclxuICAgICAgICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zdG9yZWRfcXVlcnkuc3ZnJ1wiPjwvZW8taWNvbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57e3N0b3JlZFF1ZXJ5Lm5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwicXVlcnk/LmNvbnRleHRGb2xkZXJUeXBlcy5sZW5ndGggPT09IDFcIiB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInt0eXBlOiBxdWVyeS5jb250ZXh0Rm9sZGVyVHlwZXNbMF0ubGFiZWx9XCI+ZW8uc2VhcmNoLm9iamVjdHR5cGUuZm9ybS5jb250ZXh0PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGVybVwiICpuZ0lmPVwiIXN0b3JlZFF1ZXJ5ICYmIHF1ZXJ5Py50ZXJtICYmICFjbGVhckFmdGVyRXhlY3V0ZVwiIFt0aXRsZV09XCIoJ2VvLnNlYXJjaC5yZXN1bHQudGVybScgfCB0cmFuc2xhdGUpICsgJzogJyArIHF1ZXJ5LnRlcm1cIj57eydlby5zZWFyY2gucmVzdWx0LnRlcm0nIHwgdHJhbnNsYXRlfX0gOiBcInt7cXVlcnkudGVybX19XCI8L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN1Z2dlc3RcIiAqbmdJZj1cInNlYXJjaFJlc3VsdD8uc3VnZ2VzdHNcIj57eydlby5zZWFyY2guc3VnZ2VzdCcgfCB0cmFuc2xhdGV9fTxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwiZXhlY3V0ZVN1Z2dlc3RTZWFyY2goKVwiPnt7c2VhcmNoUmVzdWx0LnN1Z2dlc3RzWzBdfX08L2E+ID9cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItYWN0aW9uc1wiPlxyXG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiIChjbGljayk9XCJyZWZyZXNoR3JpZCgpXCJcclxuICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmxpc3QucmVmcmVzaCcgfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxyXG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBleHBvcnQtYnV0dG9uXCIgW2hpZGRlbl09XCIhcXVlcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jb250ZW50LWRvd25sb2FkLnN2ZydcIiBbaWNvblRpdGxlXT1cIignZW8ucmVzdWx0bGlzdC5leHBvcnQuY3N2JyB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiZXhwb3J0Q1NWKClcIiAqbmdJZj1cIiFjc3ZMb2FkaW5nU3Bpbm5lclZpc2liaWxpdHlcIj48L2VvLWljb24+XHJcbiAgICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgW3NpemVdPVwiJ3NtYWxsJ1wiICpuZ0lmPVwiY3N2TG9hZGluZ1NwaW5uZXJWaXNpYmlsaXR5XCIgY2xhc3M9XCJzcGlubmVyXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XHJcbiAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIGNvbmZpZy1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zZXR0aW5ncy5zdmcnXCIgW2ljb25UaXRsZV09XCIoJ2VvLmNvbHVtbi5jb25maWcudGl0bGUnIHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJ2aXNpYmxlQ29uZmlnID0gIXZpc2libGVDb25maWdcIj48L2VvLWljb24+XHJcbiAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIGFjdGlvbnMtYnV0dG9uXCIgKGNsaWNrKT1cImVvTGlzdC5zaG93QWN0aW9ucygpXCIgW2ljb25UaXRsZV09XCIoJ2VvLm9iamVjdC5hY3Rpb25zLnRpdGxlJyB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19tb3JlLnN2ZydcIiAqbmdJZj1cIiFyZWZlcmVuY2VcIj48L2VvLWljb24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxyXG4gICAgPGVvLWdyaWQgI2VvR3JpZCBbZ3JpZE9wdGlvbnNdPVwicmVzdWx0R3JpZE9wdGlvbnNcIiAqbmdJZj1cImhhc0dyaWRPcHRpb25zOyBlbHNlIGVycm9yXCJcclxuICAgICAgICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIiAoZW9HcmlkQ29sdW1uUmVzaXplZCk9XCJvbkNvbHVtblJlc2l6ZWQoJGV2ZW50KVwiIFtzZWxlY3RGaXJzdF09XCJzZWxlY3RGaXJzdFwiXHJcbiAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpO29uQ291bnRDaGFuZ2VkLmVtaXQoJGV2ZW50KTtcIlxyXG4gICAgICAgICAgICAgKGVvR3JpZENvbnRleHRNZW51Q2xpY2spPVwiZW9MaXN0Lm9uQ29udGV4dE1lbnUoJGV2ZW50KTtvbkNvbnRleHRNZW51LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAoZW9HcmlkU2VsZWN0aW9uQ2hhbmdlZCk9XCJlb0xpc3Qub25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudCk7b25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAoZW9HcmlkRG91YmxlQ2xpY2spPVwiZW9MaXN0Lm9uRG91YmxlQ2xpY2soJGV2ZW50KTtvbkRvdWJsZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAoZW9HcmlkRm9jdXNDaGFuZ2VkKT1cImVvTGlzdC5vbkZvY3VzQ2hhbmdlZCgkZXZlbnQpO29uRm9jdXNDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxyXG4gICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cclxuICAgICAgICA8IS0tPGVvLXF1aWNrLWZpbHRlciBbZW9HcmlkXT1cImVvR3JpZFwiPjwvZW8tcXVpY2stZmlsdGVyPi0tPlxyXG4gICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XHJcbiAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2UgW2VtcHR5U3RhdGVdPVwie3RleHQ6IGVtcHR5TWVzc2FnZSB8fCAnZW8uc2VhcmNoLnJlc3VsdC5leHBpcmVkJ31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9lby1ncmlkPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy10ZW1wbGF0ZSAjZXJyb3I+XHJcblxyXG4gICAgPGVvLWVycm9yLW1lc3NhZ2UgKm5nSWY9XCJoYXNHcmlkT3B0aW9uc1wiIFtlbXB0eVN0YXRlXT1cInt0ZXh0Oidlby5zZWFyY2gubW9kZS5leHBlcnQucmVzdWx0LmVtcHR5J31cIj5cclxuICAgIDwvZW8tZXJyb3ItbWVzc2FnZT5cclxuXHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9lby1saXN0LWNvbnRhaW5lcj5cclxuXHJcbjxlby1kaWFsb2cgW3Zpc2libGVdPVwic2F2ZWRTZWFyY2hDbGlja2VkXCIgKGhpZGUpPVwic2F2ZWRTZWFyY2hDbGlja2VkID0gZmFsc2VcIiBbdGl0bGVdPVwiJ2VvLnNlYXJjaC5hc2lkZS5zdW1tYXJ5LnN0b3JlZHF1ZXJ5JyB8IHRyYW5zbGF0ZVwiPlxyXG4gIDxlby1zdG9yZWQtcXVlcnkgW3F1ZXJ5XT1cInN0b3JlZFF1ZXJ5XCJcclxuICAgICAgICAgICAgICAgICAgIChvblF1ZXJ5TG9hZGVkKT1cIm9uU3RvcmVkUXVlcnlMb2FkZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAob25RdWVyeUV4ZWN1dGUpPVwib25TdG9yZWRRdWVyeUV4ZWN1dGUoJGV2ZW50KVwiPjwvZW8tc3RvcmVkLXF1ZXJ5PlxyXG48L2VvLWRpYWxvZz5cclxuXHJcbjxlby1kaWFsb2cgW3RpdGxlXT1cIidlby5yZXN1bHRsaXN0LmV4cG9ydC5jc3YudGhyZXNob2xkLmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgIFsodmlzaWJsZSldPVwic2hvd1dhcm5FeHBvcnRDU1ZUaHJlc2hvbGREaWFsb2dcIiBbZm9jdXNPblNob3ddPVwiZmFsc2VcIiBbbWluV2lkdGhdPVwiNDAwXCIgW3N0eWxlQ2xhc3NdPVwiJ3RocmVzaG9sZF9fZGlhbG9nJ1wiPlxyXG5cclxuICA8ZGl2Pnt7J2VvLnJlc3VsdGxpc3QuZXhwb3J0LmNzdi50aHJlc2hvbGQuZGlhbG9nLm1lc3NhZ2UnIHwgdHJhbnNsYXRlfX08L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b25zIGZsZXgtcm93XCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwic2hvd1dhcm5FeHBvcnRDU1ZUaHJlc2hvbGREaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5jdGEuYnV0dG9uLmNhbmNlbDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2RrRm9jdXNJbml0aWFsIChjbGljayk9XCJleHBvcnRDU1YodHJ1ZSlcIiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCJcclxuICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnJlc3VsdGxpc3QuZXhwb3J0LmNzdi50aHJlc2hvbGQuZGlhbG9nLmV4cG9ydDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2VvLWRpYWxvZz5cclxuXHJcbiJdfQ==
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
29
29
  declarations: [ResultListComponent]
30
30
  }]
31
31
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVzdWx0LWxpc3QvcmVzdWx0LWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFZdEUsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBRlosbUJBQW1CLGFBTmhDLFFBQVE7WUFDUixtQkFBbUI7WUFDbkIsVUFBVTtZQUNWLGlCQUFpQixhQUVULG1CQUFtQjsrR0FHbEIsZ0JBQWdCLFlBUnpCLFFBQVE7WUFDUixtQkFBbUI7WUFDbkIsVUFBVTtZQUNWLGlCQUFpQjs7MkZBS1IsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxRQUFRO3dCQUNSLG1CQUFtQjt3QkFDbkIsVUFBVTt3QkFDVixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VWlNb2R1bGV9IGZyb20gJy4uL3VpL3VpLm1vZHVsZSc7XG5pbXBvcnQge0dyaWRNb2R1bGV9IGZyb20gJy4uL2dyaWQvZ3JpZC5tb2R1bGUnO1xuaW1wb3J0IHtSZXN1bHRMaXN0Q29tcG9uZW50fSBmcm9tICcuL3Jlc3VsdC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3RDb250YWluZXJNb2R1bGV9IGZyb20gJy4uL2xpc3QtY29udGFpbmVyL2xpc3QtY29udGFpbmVyLm1vZHVsZSc7XG5pbXBvcnQge1N0b3JlZFF1ZXJ5TW9kdWxlfSBmcm9tICcuLi9zdG9yZWQtcXVlcnkvc3RvcmVkLXF1ZXJ5Lm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBVaU1vZHVsZSxcbiAgICBMaXN0Q29udGFpbmVyTW9kdWxlLFxuICAgIEdyaWRNb2R1bGUsXG4gICAgU3RvcmVkUXVlcnlNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1Jlc3VsdExpc3RDb21wb25lbnRdLFxuICBkZWNsYXJhdGlvbnM6IFtSZXN1bHRMaXN0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBSZXN1bHRMaXN0TW9kdWxlIHtcbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVzdWx0LWxpc3QvcmVzdWx0LWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFZdEUsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBRlosbUJBQW1CLGFBTmhDLFFBQVE7WUFDUixtQkFBbUI7WUFDbkIsVUFBVTtZQUNWLGlCQUFpQixhQUVULG1CQUFtQjsrR0FHbEIsZ0JBQWdCLFlBUnpCLFFBQVE7WUFDUixtQkFBbUI7WUFDbkIsVUFBVTtZQUNWLGlCQUFpQjs7MkZBS1IsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxRQUFRO3dCQUNSLG1CQUFtQjt3QkFDbkIsVUFBVTt3QkFDVixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtVaU1vZHVsZX0gZnJvbSAnLi4vdWkvdWkubW9kdWxlJztcclxuaW1wb3J0IHtHcmlkTW9kdWxlfSBmcm9tICcuLi9ncmlkL2dyaWQubW9kdWxlJztcclxuaW1wb3J0IHtSZXN1bHRMaXN0Q29tcG9uZW50fSBmcm9tICcuL3Jlc3VsdC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGlzdENvbnRhaW5lck1vZHVsZX0gZnJvbSAnLi4vbGlzdC1jb250YWluZXIvbGlzdC1jb250YWluZXIubW9kdWxlJztcclxuaW1wb3J0IHtTdG9yZWRRdWVyeU1vZHVsZX0gZnJvbSAnLi4vc3RvcmVkLXF1ZXJ5L3N0b3JlZC1xdWVyeS5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBVaU1vZHVsZSxcclxuICAgIExpc3RDb250YWluZXJNb2R1bGUsXHJcbiAgICBHcmlkTW9kdWxlLFxyXG4gICAgU3RvcmVkUXVlcnlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtSZXN1bHRMaXN0Q29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtSZXN1bHRMaXN0Q29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzdWx0TGlzdE1vZHVsZSB7XHJcbn1cclxuIl19
@@ -112,14 +112,14 @@ export class ChangePasswordFormComponent {
112
112
  .subscribe(() => this.changePasswordOnSuccess(), (error) => this.changePasswordOnError(error));
113
113
  }
114
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ChangePasswordFormComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.UserService }, { token: i2.TranslateService }, { token: i2.NotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ChangePasswordFormComponent, selector: "eo-change-password-form", inputs: { userRegex: "userRegex" }, outputs: { onFormSumbit: "onFormSumbit" }, ngImport: i0, template: "<section class=\"change-password\">\n <form #changePasswordFormElement [formGroup]=\"changePasswordForm\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\">\n <div class=\"form-item\">\n\n <eo-form-input [label]=\"('eo.password.reset.current-password' | translate)\" [required]=\"true\" [invalid]=\"passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'currentPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.current-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.new-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords || passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'password'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.new-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.confirm-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'confirmPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.confirm-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <div class=\"invalid error\" *ngIf=\"passwordIsNew\">\n {{'eo.password.reset.error.same.password' | translate}}\n </div>\n\n <div class=\"invalid error\" *ngIf=\"matchingPasswords\">\n {{'eo.password.reset.error.matiching.password' | translate}}\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'short'\">\n eo.password.reset.error.new.password.short\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'number'\">\n eo.password.reset.error.new.password.number\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'specialchars'\">\n eo.password.reset.error.new.password.specialchars\n </div>\n\n <section class=\"change-password__cta\">\n <button class=\"change-password__submit-button\" type=\"submit\"\n [disabled]=\"changePasswordForm.invalid || passwordValidation.type !== 'valid'\" translate>eo.password.reset.confirm-button</button>\n\n <a (click)=\"showPasswords()\" tabindex=\"0\" (keydown.enter)=\"showPasswords()\" >\n <eo-icon class=\"change-password__icon-show\"\n [iconSrc]=\"'assets/_default/svg/ic_eye.svg'\"\n [iconTitle]=\"('eo.password.reset.toogle.icon' | translate)\"\n [ngClass]=\"{'visible': passwordIsVisible}\"></eo-icon>\n </a>\n </section>\n </div>\n </form>\n\n</section>\n", styles: [".change-password .invalid.error{color:var(--color-error);padding:5px 0}.change-password :focus{outline:2px solid var(--text-color-caption)}.change-password__cta{margin-top:10px;display:flex;align-items:center}.change-password__submit-button{margin-right:10px}.change-password__icon-show{cursor:pointer;color:var(--text-color-caption)}.change-password__icon-show:hover{color:var(--color-accent)}.change-password__icon-show.visible{color:var(--color-primary-3)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i5.PasswordComponent, selector: "eo-password", inputs: ["pattern", "parent", "element", "placeholder", "canChangepasswordVisiblety", "passwordVisible"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i7.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ChangePasswordFormComponent, selector: "eo-change-password-form", inputs: { userRegex: "userRegex" }, outputs: { onFormSumbit: "onFormSumbit" }, ngImport: i0, template: "<section class=\"change-password\">\r\n <form #changePasswordFormElement [formGroup]=\"changePasswordForm\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\">\r\n <div class=\"form-item\">\r\n\r\n <eo-form-input [label]=\"('eo.password.reset.current-password' | translate)\" [required]=\"true\" [invalid]=\"passwordIsNew\">\r\n <eo-password [parent]=\"changePasswordForm\"\r\n [element]=\"'currentPassword'\"\r\n [canChangepasswordVisiblety]=\"false\"\r\n [passwordVisible]=\"passwordIsVisible\"\r\n [placeholder]=\"('eo.password.reset.current-password' | translate)\"></eo-password>\r\n </eo-form-input>\r\n\r\n <eo-form-input [label]=\"('eo.password.reset.new-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords || passwordIsNew\">\r\n <eo-password [parent]=\"changePasswordForm\"\r\n [element]=\"'password'\"\r\n [canChangepasswordVisiblety]=\"false\"\r\n [passwordVisible]=\"passwordIsVisible\"\r\n [placeholder]=\"('eo.password.reset.new-password' | translate)\"></eo-password>\r\n </eo-form-input>\r\n\r\n <eo-form-input [label]=\"('eo.password.reset.confirm-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords\">\r\n <eo-password [parent]=\"changePasswordForm\"\r\n [element]=\"'confirmPassword'\"\r\n [canChangepasswordVisiblety]=\"false\"\r\n [passwordVisible]=\"passwordIsVisible\"\r\n [placeholder]=\"('eo.password.reset.confirm-password' | translate)\"></eo-password>\r\n </eo-form-input>\r\n\r\n <div class=\"invalid error\" *ngIf=\"passwordIsNew\">\r\n {{'eo.password.reset.error.same.password' | translate}}\r\n </div>\r\n\r\n <div class=\"invalid error\" *ngIf=\"matchingPasswords\">\r\n {{'eo.password.reset.error.matiching.password' | translate}}\r\n </div>\r\n\r\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'short'\">\r\n eo.password.reset.error.new.password.short\r\n </div>\r\n\r\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'number'\">\r\n eo.password.reset.error.new.password.number\r\n </div>\r\n\r\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'specialchars'\">\r\n eo.password.reset.error.new.password.specialchars\r\n </div>\r\n\r\n <section class=\"change-password__cta\">\r\n <button class=\"change-password__submit-button\" type=\"submit\"\r\n [disabled]=\"changePasswordForm.invalid || passwordValidation.type !== 'valid'\" translate>eo.password.reset.confirm-button</button>\r\n\r\n <a (click)=\"showPasswords()\" tabindex=\"0\" (keydown.enter)=\"showPasswords()\" >\r\n <eo-icon class=\"change-password__icon-show\"\r\n [iconSrc]=\"'assets/_default/svg/ic_eye.svg'\"\r\n [iconTitle]=\"('eo.password.reset.toogle.icon' | translate)\"\r\n [ngClass]=\"{'visible': passwordIsVisible}\"></eo-icon>\r\n </a>\r\n </section>\r\n </div>\r\n </form>\r\n\r\n</section>\r\n", styles: [".change-password .invalid.error{color:var(--color-error);padding:5px 0}.change-password :focus{outline:2px solid var(--text-color-caption)}.change-password__cta{margin-top:10px;display:flex;align-items:center}.change-password__submit-button{margin-right:10px}.change-password__icon-show{cursor:pointer;color:var(--text-color-caption)}.change-password__icon-show:hover{color:var(--color-accent)}.change-password__icon-show.visible{color:var(--color-primary-3)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i5.PasswordComponent, selector: "eo-password", inputs: ["pattern", "parent", "element", "placeholder", "canChangepasswordVisiblety", "passwordVisible"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i7.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
116
116
  }
117
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ChangePasswordFormComponent, decorators: [{
118
118
  type: Component,
119
- args: [{ selector: 'eo-change-password-form', template: "<section class=\"change-password\">\n <form #changePasswordFormElement [formGroup]=\"changePasswordForm\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\">\n <div class=\"form-item\">\n\n <eo-form-input [label]=\"('eo.password.reset.current-password' | translate)\" [required]=\"true\" [invalid]=\"passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'currentPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.current-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.new-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords || passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'password'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.new-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.confirm-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'confirmPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.confirm-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <div class=\"invalid error\" *ngIf=\"passwordIsNew\">\n {{'eo.password.reset.error.same.password' | translate}}\n </div>\n\n <div class=\"invalid error\" *ngIf=\"matchingPasswords\">\n {{'eo.password.reset.error.matiching.password' | translate}}\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'short'\">\n eo.password.reset.error.new.password.short\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'number'\">\n eo.password.reset.error.new.password.number\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'specialchars'\">\n eo.password.reset.error.new.password.specialchars\n </div>\n\n <section class=\"change-password__cta\">\n <button class=\"change-password__submit-button\" type=\"submit\"\n [disabled]=\"changePasswordForm.invalid || passwordValidation.type !== 'valid'\" translate>eo.password.reset.confirm-button</button>\n\n <a (click)=\"showPasswords()\" tabindex=\"0\" (keydown.enter)=\"showPasswords()\" >\n <eo-icon class=\"change-password__icon-show\"\n [iconSrc]=\"'assets/_default/svg/ic_eye.svg'\"\n [iconTitle]=\"('eo.password.reset.toogle.icon' | translate)\"\n [ngClass]=\"{'visible': passwordIsVisible}\"></eo-icon>\n </a>\n </section>\n </div>\n </form>\n\n</section>\n", styles: [".change-password .invalid.error{color:var(--color-error);padding:5px 0}.change-password :focus{outline:2px solid var(--text-color-caption)}.change-password__cta{margin-top:10px;display:flex;align-items:center}.change-password__submit-button{margin-right:10px}.change-password__icon-show{cursor:pointer;color:var(--text-color-caption)}.change-password__icon-show:hover{color:var(--color-accent)}.change-password__icon-show.visible{color:var(--color-primary-3)}\n"] }]
119
+ args: [{ selector: 'eo-change-password-form', template: "<section class=\"change-password\">\r\n <form #changePasswordFormElement [formGroup]=\"changePasswordForm\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\">\r\n <div class=\"form-item\">\r\n\r\n <eo-form-input [label]=\"('eo.password.reset.current-password' | translate)\" [required]=\"true\" [invalid]=\"passwordIsNew\">\r\n <eo-password [parent]=\"changePasswordForm\"\r\n [element]=\"'currentPassword'\"\r\n [canChangepasswordVisiblety]=\"false\"\r\n [passwordVisible]=\"passwordIsVisible\"\r\n [placeholder]=\"('eo.password.reset.current-password' | translate)\"></eo-password>\r\n </eo-form-input>\r\n\r\n <eo-form-input [label]=\"('eo.password.reset.new-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords || passwordIsNew\">\r\n <eo-password [parent]=\"changePasswordForm\"\r\n [element]=\"'password'\"\r\n [canChangepasswordVisiblety]=\"false\"\r\n [passwordVisible]=\"passwordIsVisible\"\r\n [placeholder]=\"('eo.password.reset.new-password' | translate)\"></eo-password>\r\n </eo-form-input>\r\n\r\n <eo-form-input [label]=\"('eo.password.reset.confirm-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords\">\r\n <eo-password [parent]=\"changePasswordForm\"\r\n [element]=\"'confirmPassword'\"\r\n [canChangepasswordVisiblety]=\"false\"\r\n [passwordVisible]=\"passwordIsVisible\"\r\n [placeholder]=\"('eo.password.reset.confirm-password' | translate)\"></eo-password>\r\n </eo-form-input>\r\n\r\n <div class=\"invalid error\" *ngIf=\"passwordIsNew\">\r\n {{'eo.password.reset.error.same.password' | translate}}\r\n </div>\r\n\r\n <div class=\"invalid error\" *ngIf=\"matchingPasswords\">\r\n {{'eo.password.reset.error.matiching.password' | translate}}\r\n </div>\r\n\r\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'short'\">\r\n eo.password.reset.error.new.password.short\r\n </div>\r\n\r\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'number'\">\r\n eo.password.reset.error.new.password.number\r\n </div>\r\n\r\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'specialchars'\">\r\n eo.password.reset.error.new.password.specialchars\r\n </div>\r\n\r\n <section class=\"change-password__cta\">\r\n <button class=\"change-password__submit-button\" type=\"submit\"\r\n [disabled]=\"changePasswordForm.invalid || passwordValidation.type !== 'valid'\" translate>eo.password.reset.confirm-button</button>\r\n\r\n <a (click)=\"showPasswords()\" tabindex=\"0\" (keydown.enter)=\"showPasswords()\" >\r\n <eo-icon class=\"change-password__icon-show\"\r\n [iconSrc]=\"'assets/_default/svg/ic_eye.svg'\"\r\n [iconTitle]=\"('eo.password.reset.toogle.icon' | translate)\"\r\n [ngClass]=\"{'visible': passwordIsVisible}\"></eo-icon>\r\n </a>\r\n </section>\r\n </div>\r\n </form>\r\n\r\n</section>\r\n", styles: [".change-password .invalid.error{color:var(--color-error);padding:5px 0}.change-password :focus{outline:2px solid var(--text-color-caption)}.change-password__cta{margin-top:10px;display:flex;align-items:center}.change-password__submit-button{margin-right:10px}.change-password__icon-show{cursor:pointer;color:var(--text-color-caption)}.change-password__icon-show:hover{color:var(--color-accent)}.change-password__icon-show.visible{color:var(--color-primary-3)}\n"] }]
120
120
  }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.UserService }, { type: i2.TranslateService }, { type: i2.NotificationsService }], propDecorators: { userRegex: [{
121
121
  type: Input
122
122
  }], onFormSumbit: [{
123
123
  type: Output
124
124
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc2V0dGluZ3MvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC1mb3JtL2NoYW5nZS1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3NldHRpbmdzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQtZm9ybS9jaGFuZ2UtcGFzc3dvcmQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBdUMsVUFBVSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVM3RixNQUFNLE9BQU8sMkJBQTJCO0lBVXRDLFlBQW9CLEVBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLFNBQTJCLEVBQzNCLE9BQTZCO1FBSDdCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBVnhDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR3BFLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQix1QkFBa0IsR0FBRyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDO1FBTWpELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sRUFB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ICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOb3RpZmljYXRpb25zU2VydmljZSwgVXNlclNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWNoYW5nZS1wYXNzd29yZC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhbmdlLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VQYXNzd29yZEZvcm1Db21wb25lbnQge1xuXG5cbiAgQElucHV0KCkgdXNlclJlZ2V4ID0gJyc7XG4gIEBPdXRwdXQoKSBvbkZvcm1TdW1iaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY2hhbmdlUGFzc3dvcmRGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwYXNzd29yZElzVmlzaWJsZSA9IGZhbHNlO1xuICBwYXNzd29yZFZhbGlkYXRpb24gPSB7dHlwZTogJ3ZhbGlkJywgYW1vdW50OiBudWxsfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0b2FzdGVyOiBOb3RpZmljYXRpb25zU2VydmljZSkge1xuICAgIHRoaXMuZ2VuZXJhdGVGb3JtKCk7XG4gIH1cblxuICBnZW5lcmF0ZUZvcm0oKSB7XG4gICAgY29uc3Qge2NvbXBvc2UsIHJlcXVpcmVkLCBtaW5MZW5ndGh9ID0gVmFsaWRhdG9ycztcbiAgICB0aGlzLmNoYW5nZVBhc3N3b3JkRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgY3VycmVudFBhc3N3b3JkOiBbJycsIGNvbXBvc2UoW3JlcXVpcmVkLCBtaW5MZW5ndGgoMSldKV0sXG4gICAgICBwYXNzd29yZDogWycnLCBjb21wb3NlKFtyZXF1aXJlZCwgbWluTGVuZ3RoKDEpXSldLFxuICAgICAgY29uZmlybVBhc3N3b3JkOiBbJycsIGNvbXBvc2UoW3JlcXVpcmVkLCBtaW5MZW5ndGgoMSldKV1cbiAgICB9LCB7XG4gICAgICB2YWxpZGF0b3I6IGNvbXBvc2UoW1xuICAgICAgICB0aGlzLm5ld1Bhc3N3b3JkVmFsaWRhdG9yKCdjdXJyZW50UGFzc3dvcmQnLCAncGFzc3dvcmQnKSxcbiAgICAgICAgdGhpcy5tYXRjaGluZ1Bhc3N3b3Jkc1ZhbGlkYXRvcigncGFzc3dvcmQnLCAnY29uZmlybVBhc3N3b3JkJylcbiAgICAgIF0pXG4gICAgfSk7XG5cbiAgICB0aGlzLm9uQ2hhbmdlcygpO1xuICB9XG5cbiAgbmV3UGFzc3dvcmRWYWxpZGF0b3IoY3VycmVudCwgcGFzc3dvcmQpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChncm91cDogVW50eXBlZEZvcm1Hcm91cCkgPT4ge1xuICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzW2N1cnJlbnRdLnZhbHVlICE9PSBncm91cC5jb250cm9sc1twYXNzd29yZF0udmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4geydTQU1FX1BBU1NXT1JEJzogdHJ1ZX07XG4gICAgfVxuICB9XG5cbiAgbWF0Y2hpbmdQYXNzd29yZHNWYWxpZGF0b3IocGFzc3dvcmQsIGNvbmZpcm0pOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChncm91cDogVW50eXBlZEZvcm1Hcm91cCkgPT4ge1xuICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzW3Bhc3N3b3JkXS52YWx1ZSA9PT0gZ3JvdXAuY29udHJvbHNbY29uZmlybV0udmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4geydtYXRjaGluZ1Bhc3N3b3Jkcyc6IHRydWV9XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlUGFzc3dvcmRGb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZS5wYXNzd29yZCkge1xuICAgICAgICAgIHRoaXMucGFzc3dvcmRWYWxpZGF0aW9uID0gdGhpcy51c2VyU2VydmljZS52YWxpZGF0ZVBhc3N3b3JkKHZhbHVlLnBhc3N3b3JkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tYXRjaGluZ1Bhc3N3b3JkcztcbiAgICAgIH0pO1xuICB9XG5cbiAgc2hvd1Bhc3N3b3JkcygpIHtcbiAgICB0aGlzLnBhc3N3b3JkSXNWaXNpYmxlID0gIXRoaXMucGFzc3dvcmRJc1Zpc2libGU7XG4gIH1cblxuICBnZXQgcGFzc3dvcmRJc05ldygpIHtcbiAgICBjb25zdCB7ZXJyb3JzLCBjb250cm9sc30gPSB0aGlzLmNoYW5nZVBhc3N3b3JkRm9ybTtcbiAgICBsZXQgcGFzc3dvcmRJc05ld0Vycm9yID0gZmFsc2U7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgY29uc3QgY3VycmVudFBhc3N3b3JkID0gY29udHJvbHMuY3VycmVudFBhc3N3b3JkLnRvdWNoZWQgJiYgY29udHJvbHMuY3VycmVudFBhc3N3b3JkLmRpcnR5O1xuICAgICAgY29uc3QgcGFzc3dvcmQgPSBjb250cm9scy5wYXNzd29yZC50b3VjaGVkICYmIGNvbnRyb2xzLnBhc3N3b3JkLmRpcnR5O1xuICAgICAgcGFzc3dvcmRJc05ld0Vycm9yID0gZXJyb3JzLlNBTUVfUEFTU1dPUkQgJiYgY3VycmVudFBhc3N3b3JkICYmIHBhc3N3b3JkO1xuICAgIH1cbiAgICByZXR1cm4gcGFzc3dvcmRJc05ld0Vycm9yO1xuICB9XG5cbiAgZ2V0IG1hdGNoaW5nUGFzc3dvcmRzKCkge1xuICAgIGNvbnN0IHtlcnJvcnMsIGNvbnRyb2xzfSA9IHRoaXMuY2hhbmdlUGFzc3dvcmRGb3JtO1xuICAgIGxldCBtYXRjaGluZ1Bhc3N3b3Jkc0Vycm9yID0gZmFsc2U7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgY29uc3QgcGFzc3dvcmQgPSBjb250cm9scy5wYXNzd29yZC50b3VjaGVkICYmIGNvbnRyb2xzLnBhc3N3b3JkLmRpcnR5O1xuICAgICAgY29uc3QgY29uZmlybVBhc3N3b3JkID0gY29udHJvbHMuY29uZmlybVBhc3N3b3JkLnRvdWNoZWQgJiYgY29udHJvbHMuY29uZmlybVBhc3N3b3JkLmRpcnR5O1xuICAgICAgbWF0Y2hpbmdQYXNzd29yZHNFcnJvciA9IGVycm9ycy5tYXRjaGluZ1Bhc3N3b3JkcyAmJiBwYXNzd29yZCAmJiBjb25maXJtUGFzc3dvcmQ7XG4gICAgfVxuICAgIHJldHVybiBtYXRjaGluZ1Bhc3N3b3Jkc0Vycm9yO1xuICB9XG5cblxuICBjaGFuZ2VQYXNzd29yZE9uU3VjY2VzcygpIHtcbiAgICB0aGlzLmNoYW5nZVBhc3N3b3JkRm9ybS5yZXNldCgpO1xuICAgIHRoaXMuY2hhbmdlUGFzc3dvcmRGb3JtLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgdGhpcy5jaGFuZ2VQYXNzd29yZEZvcm0ubWFya0FzVW50b3VjaGVkKCk7XG4gICAgdGhpcy5vbkZvcm1TdW1iaXQuZW1pdCh0cnVlKTtcbiAgICB0aGlzLnRvYXN0ZXIuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wYXNzd29yZC5yZXNldC5zdWNjZXNzJykpO1xuICB9XG5cbiAgY2hhbmdlUGFzc3dvcmRPbkVycm9yKGVycm9yKSB7XG4gICAgY29uc3QgZXJyb3JUaXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnBhc3N3b3JkLnJlc2V0LmVycm9yLnBhc3N3b3JkLnRpdGxlJyk7XG4gICAgaWYgKGVycm9yLmVycm9yLmtleSA9PT0gJ1VTRVJfT0xEX1BBU1NXT1JEX1dST05HJykge1xuICAgICAgdGhpcy50b2FzdGVyLmVycm9yKGVycm9yVGl0bGUsIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnBhc3N3b3JkLnJlc2V0LmVycm9yLm9sZC5wYXNzd29yZC5tZXNzYWdlJykpO1xuICAgIH0gZWxzZSBpZiAoZXJyb3IuZXJyb3Iua2V5ID09PSAnVVNFUl9ORVdfUEFTU1dPUkRfSU5WQUxJRCcpIHtcbiAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihlcnJvclRpdGxlLCB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wYXNzd29yZC5yZXNldC5lcnJvci5uZXcucGFzc3dvcmQubWVzc2FnZScpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b2FzdGVyLmVycm9yKGVycm9yVGl0bGUpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGNvbnN0IHtjdXJyZW50UGFzc3dvcmQsIHBhc3N3b3JkfSA9IHRoaXMuY2hhbmdlUGFzc3dvcmRGb3JtLnZhbHVlO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBvbGQ6IGN1cnJlbnRQYXNzd29yZCxcbiAgICAgIG5ldzogcGFzc3dvcmRcbiAgICB9O1xuXG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLmNoYW5nZVBhc3N3b3JkKHBheWxvYWQpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hhbmdlUGFzc3dvcmRPblN1Y2Nlc3MoKSwgKGVycm9yKSA9PiB0aGlzLmNoYW5nZVBhc3N3b3JkT25FcnJvcihlcnJvcikpO1xuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImNoYW5nZS1wYXNzd29yZFwiPlxuICA8Zm9ybSAjY2hhbmdlUGFzc3dvcmRGb3JtRWxlbWVudCBbZm9ybUdyb3VwXT1cImNoYW5nZVBhc3N3b3JkRm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0taXRlbVwiPlxuXG4gICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5wYXNzd29yZC5yZXNldC5jdXJyZW50LXBhc3N3b3JkJyB8IHRyYW5zbGF0ZSlcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtpbnZhbGlkXT1cInBhc3N3b3JkSXNOZXdcIj5cbiAgICAgICAgPGVvLXBhc3N3b3JkIFtwYXJlbnRdPVwiY2hhbmdlUGFzc3dvcmRGb3JtXCJcbiAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50XT1cIidjdXJyZW50UGFzc3dvcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgIFtjYW5DaGFuZ2VwYXNzd29yZFZpc2libGV0eV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICBbcGFzc3dvcmRWaXNpYmxlXT1cInBhc3N3b3JkSXNWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0LmN1cnJlbnQtcGFzc3dvcmQnIHwgdHJhbnNsYXRlKVwiPjwvZW8tcGFzc3dvcmQ+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG5cbiAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0Lm5ldy1wYXNzd29yZCcgfCB0cmFuc2xhdGUpXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbaW52YWxpZF09XCJtYXRjaGluZ1Bhc3N3b3JkcyB8fCBwYXNzd29yZElzTmV3XCI+XG4gICAgICAgIDxlby1wYXNzd29yZCBbcGFyZW50XT1cImNoYW5nZVBhc3N3b3JkRm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICBbZWxlbWVudF09XCIncGFzc3dvcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgIFtjYW5DaGFuZ2VwYXNzd29yZFZpc2libGV0eV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICBbcGFzc3dvcmRWaXNpYmxlXT1cInBhc3N3b3JkSXNWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0Lm5ldy1wYXNzd29yZCcgfCB0cmFuc2xhdGUpXCI+PC9lby1wYXNzd29yZD5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8ucGFzc3dvcmQucmVzZXQuY29uZmlybS1wYXNzd29yZCcgfCB0cmFuc2xhdGUpXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbaW52YWxpZF09XCJtYXRjaGluZ1Bhc3N3b3Jkc1wiPlxuICAgICAgICA8ZW8tcGFzc3dvcmQgW3BhcmVudF09XCJjaGFuZ2VQYXNzd29yZEZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRdPVwiJ2NvbmZpcm1QYXNzd29yZCdcIlxuICAgICAgICAgICAgICAgICAgICAgW2NhbkNoYW5nZXBhc3N3b3JkVmlzaWJsZXR5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtwYXNzd29yZFZpc2libGVdPVwicGFzc3dvcmRJc1Zpc2libGVcIlxuICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIignZW8ucGFzc3dvcmQucmVzZXQuY29uZmlybS1wYXNzd29yZCcgfCB0cmFuc2xhdGUpXCI+PC9lby1wYXNzd29yZD5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQgZXJyb3JcIiAqbmdJZj1cInBhc3N3b3JkSXNOZXdcIj5cbiAgICAgICAge3snZW8ucGFzc3dvcmQucmVzZXQuZXJyb3Iuc2FtZS5wYXNzd29yZCcgfCB0cmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkIGVycm9yXCIgKm5nSWY9XCJtYXRjaGluZ1Bhc3N3b3Jkc1wiPlxuICAgICAgICB7eydlby5wYXNzd29yZC5yZXNldC5lcnJvci5tYXRpY2hpbmcucGFzc3dvcmQnIHwgdHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZCBlcnJvclwiIHRyYW5zbGF0ZSBbdHJhbnNsYXRlUGFyYW1zXT1cInthbW91bnQ6IHBhc3N3b3JkVmFsaWRhdGlvbi5hbW91bnR9XCIgKm5nSWY9XCJwYXNzd29yZFZhbGlkYXRpb24udHlwZSA9PT0gJ3Nob3J0J1wiPlxuICAgICAgICBlby5wYXNzd29yZC5yZXNldC5lcnJvci5uZXcucGFzc3dvcmQuc2hvcnRcbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZCBlcnJvclwiIHRyYW5zbGF0ZSBbdHJhbnNsYXRlUGFyYW1zXT1cInthbW91bnQ6IHBhc3N3b3JkVmFsaWRhdGlvbi5hbW91bnR9XCIgKm5nSWY9XCJwYXNzd29yZFZhbGlkYXRpb24udHlwZSA9PT0gJ251bWJlcidcIj5cbiAgICAgICBlby5wYXNzd29yZC5yZXNldC5lcnJvci5uZXcucGFzc3dvcmQubnVtYmVyXG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQgZXJyb3JcIiB0cmFuc2xhdGUgW3RyYW5zbGF0ZVBhcmFtc109XCJ7YW1vdW50OiBwYXNzd29yZFZhbGlkYXRpb24uYW1vdW50fVwiICpuZ0lmPVwicGFzc3dvcmRWYWxpZGF0aW9uLnR5cGUgPT09ICdzcGVjaWFsY2hhcnMnXCI+XG4gICAgICAgZW8ucGFzc3dvcmQucmVzZXQuZXJyb3IubmV3LnBhc3N3b3JkLnNwZWNpYWxjaGFyc1xuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiY2hhbmdlLXBhc3N3b3JkX19jdGFcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNoYW5nZS1wYXNzd29yZF9fc3VibWl0LWJ1dHRvblwiIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjaGFuZ2VQYXNzd29yZEZvcm0uaW52YWxpZCB8fCBwYXNzd29yZFZhbGlkYXRpb24udHlwZSAhPT0gJ3ZhbGlkJ1wiIHRyYW5zbGF0ZT5lby5wYXNzd29yZC5yZXNldC5jb25maXJtLWJ1dHRvbjwvYnV0dG9uPlxuXG4gICAgICAgIDxhIChjbGljayk9XCJzaG93UGFzc3dvcmRzKClcIiB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bi5lbnRlcik9XCJzaG93UGFzc3dvcmRzKClcIiA+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJjaGFuZ2UtcGFzc3dvcmRfX2ljb24tc2hvd1wiXG4gICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZXllLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5wYXNzd29yZC5yZXNldC50b29nbGUuaWNvbicgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3Zpc2libGUnOiBwYXNzd29yZElzVmlzaWJsZX1cIj48L2VvLWljb24+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuXG48L3NlY3Rpb24+XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc2V0dGluZ3MvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC1mb3JtL2NoYW5nZS1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3NldHRpbmdzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQtZm9ybS9jaGFuZ2UtcGFzc3dvcmQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBdUMsVUFBVSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVM3RixNQUFNLE9BQU8sMkJBQTJCO0lBVXRDLFlBQW9CLEVBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLFNBQTJCLEVBQzNCLE9BQTZCO1FBSDdCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBVnhDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR3BFLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQix1QkFBa0IsR0FBRyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDO1FBTWpELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sRUFB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ICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7Tm90aWZpY2F0aW9uc1NlcnZpY2UsIFVzZXJTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VvLWNoYW5nZS1wYXNzd29yZC1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbmdlLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoYW5nZS1wYXNzd29yZC1mb3JtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkRm9ybUNvbXBvbmVudCB7XHJcblxyXG5cclxuICBASW5wdXQoKSB1c2VyUmVnZXggPSAnJztcclxuICBAT3V0cHV0KCkgb25Gb3JtU3VtYml0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjaGFuZ2VQYXNzd29yZEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcGFzc3dvcmRJc1Zpc2libGUgPSBmYWxzZTtcclxuICBwYXNzd29yZFZhbGlkYXRpb24gPSB7dHlwZTogJ3ZhbGlkJywgYW1vdW50OiBudWxsfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgdG9hc3RlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UpIHtcclxuICAgIHRoaXMuZ2VuZXJhdGVGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUZvcm0oKSB7XHJcbiAgICBjb25zdCB7Y29tcG9zZSwgcmVxdWlyZWQsIG1pbkxlbmd0aH0gPSBWYWxpZGF0b3JzO1xyXG4gICAgdGhpcy5jaGFuZ2VQYXNzd29yZEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgY3VycmVudFBhc3N3b3JkOiBbJycsIGNvbXBvc2UoW3JlcXVpcmVkLCBtaW5MZW5ndGgoMSldKV0sXHJcbiAgICAgIHBhc3N3b3JkOiBbJycsIGNvbXBvc2UoW3JlcXVpcmVkLCBtaW5MZW5ndGgoMSldKV0sXHJcbiAgICAgIGNvbmZpcm1QYXNzd29yZDogWycnLCBjb21wb3NlKFtyZXF1aXJlZCwgbWluTGVuZ3RoKDEpXSldXHJcbiAgICB9LCB7XHJcbiAgICAgIHZhbGlkYXRvcjogY29tcG9zZShbXHJcbiAgICAgICAgdGhpcy5uZXdQYXNzd29yZFZhbGlkYXRvcignY3VycmVudFBhc3N3b3JkJywgJ3Bhc3N3b3JkJyksXHJcbiAgICAgICAgdGhpcy5tYXRjaGluZ1Bhc3N3b3Jkc1ZhbGlkYXRvcigncGFzc3dvcmQnLCAnY29uZmlybVBhc3N3b3JkJylcclxuICAgICAgXSlcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXdQYXNzd29yZFZhbGlkYXRvcihjdXJyZW50LCBwYXNzd29yZCk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoZ3JvdXA6IFVudHlwZWRGb3JtR3JvdXApID0+IHtcclxuICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzW2N1cnJlbnRdLnZhbHVlICE9PSBncm91cC5jb250cm9sc1twYXNzd29yZF0udmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geydTQU1FX1BBU1NXT1JEJzogdHJ1ZX07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYXRjaGluZ1Bhc3N3b3Jkc1ZhbGlkYXRvcihwYXNzd29yZCwgY29uZmlybSk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoZ3JvdXA6IFVudHlwZWRGb3JtR3JvdXApID0+IHtcclxuICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzW3Bhc3N3b3JkXS52YWx1ZSA9PT0gZ3JvdXAuY29udHJvbHNbY29uZmlybV0udmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geydtYXRjaGluZ1Bhc3N3b3Jkcyc6IHRydWV9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZVBhc3N3b3JkRm9ybS52YWx1ZUNoYW5nZXNcclxuICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlLnBhc3N3b3JkKSB7XHJcbiAgICAgICAgICB0aGlzLnBhc3N3b3JkVmFsaWRhdGlvbiA9IHRoaXMudXNlclNlcnZpY2UudmFsaWRhdGVQYXNzd29yZCh2YWx1ZS5wYXNzd29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLm1hdGNoaW5nUGFzc3dvcmRzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dQYXNzd29yZHMoKSB7XHJcbiAgICB0aGlzLnBhc3N3b3JkSXNWaXNpYmxlID0gIXRoaXMucGFzc3dvcmRJc1Zpc2libGU7XHJcbiAgfVxyXG5cclxuICBnZXQgcGFzc3dvcmRJc05ldygpIHtcclxuICAgIGNvbnN0IHtlcnJvcnMsIGNvbnRyb2xzfSA9IHRoaXMuY2hhbmdlUGFzc3dvcmRGb3JtO1xyXG4gICAgbGV0IHBhc3N3b3JkSXNOZXdFcnJvciA9IGZhbHNlO1xyXG4gICAgaWYgKGVycm9ycykge1xyXG4gICAgICBjb25zdCBjdXJyZW50UGFzc3dvcmQgPSBjb250cm9scy5jdXJyZW50UGFzc3dvcmQudG91Y2hlZCAmJiBjb250cm9scy5jdXJyZW50UGFzc3dvcmQuZGlydHk7XHJcbiAgICAgIGNvbnN0IHBhc3N3b3JkID0gY29udHJvbHMucGFzc3dvcmQudG91Y2hlZCAmJiBjb250cm9scy5wYXNzd29yZC5kaXJ0eTtcclxuICAgICAgcGFzc3dvcmRJc05ld0Vycm9yID0gZXJyb3JzLlNBTUVfUEFTU1dPUkQgJiYgY3VycmVudFBhc3N3b3JkICYmIHBhc3N3b3JkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhc3N3b3JkSXNOZXdFcnJvcjtcclxuICB9XHJcblxyXG4gIGdldCBtYXRjaGluZ1Bhc3N3b3JkcygpIHtcclxuICAgIGNvbnN0IHtlcnJvcnMsIGNvbnRyb2xzfSA9IHRoaXMuY2hhbmdlUGFzc3dvcmRGb3JtO1xyXG4gICAgbGV0IG1hdGNoaW5nUGFzc3dvcmRzRXJyb3IgPSBmYWxzZTtcclxuICAgIGlmIChlcnJvcnMpIHtcclxuICAgICAgY29uc3QgcGFzc3dvcmQgPSBjb250cm9scy5wYXNzd29yZC50b3VjaGVkICYmIGNvbnRyb2xzLnBhc3N3b3JkLmRpcnR5O1xyXG4gICAgICBjb25zdCBjb25maXJtUGFzc3dvcmQgPSBjb250cm9scy5jb25maXJtUGFzc3dvcmQudG91Y2hlZCAmJiBjb250cm9scy5jb25maXJtUGFzc3dvcmQuZGlydHk7XHJcbiAgICAgIG1hdGNoaW5nUGFzc3dvcmRzRXJyb3IgPSBlcnJvcnMubWF0Y2hpbmdQYXNzd29yZHMgJiYgcGFzc3dvcmQgJiYgY29uZmlybVBhc3N3b3JkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hdGNoaW5nUGFzc3dvcmRzRXJyb3I7XHJcbiAgfVxyXG5cclxuXHJcbiAgY2hhbmdlUGFzc3dvcmRPblN1Y2Nlc3MoKSB7XHJcbiAgICB0aGlzLmNoYW5nZVBhc3N3b3JkRm9ybS5yZXNldCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VQYXNzd29yZEZvcm0ubWFya0FzUHJpc3RpbmUoKTtcclxuICAgIHRoaXMuY2hhbmdlUGFzc3dvcmRGb3JtLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICAgdGhpcy5vbkZvcm1TdW1iaXQuZW1pdCh0cnVlKTtcclxuICAgIHRoaXMudG9hc3Rlci5zdWNjZXNzKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnBhc3N3b3JkLnJlc2V0LnN1Y2Nlc3MnKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYXNzd29yZE9uRXJyb3IoZXJyb3IpIHtcclxuICAgIGNvbnN0IGVycm9yVGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wYXNzd29yZC5yZXNldC5lcnJvci5wYXNzd29yZC50aXRsZScpO1xyXG4gICAgaWYgKGVycm9yLmVycm9yLmtleSA9PT0gJ1VTRVJfT0xEX1BBU1NXT1JEX1dST05HJykge1xyXG4gICAgICB0aGlzLnRvYXN0ZXIuZXJyb3IoZXJyb3JUaXRsZSwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucGFzc3dvcmQucmVzZXQuZXJyb3Iub2xkLnBhc3N3b3JkLm1lc3NhZ2UnKSk7XHJcbiAgICB9IGVsc2UgaWYgKGVycm9yLmVycm9yLmtleSA9PT0gJ1VTRVJfTkVXX1BBU1NXT1JEX0lOVkFMSUQnKSB7XHJcbiAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihlcnJvclRpdGxlLCB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wYXNzd29yZC5yZXNldC5lcnJvci5uZXcucGFzc3dvcmQubWVzc2FnZScpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihlcnJvclRpdGxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3Qge2N1cnJlbnRQYXNzd29yZCwgcGFzc3dvcmR9ID0gdGhpcy5jaGFuZ2VQYXNzd29yZEZvcm0udmFsdWU7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICBvbGQ6IGN1cnJlbnRQYXNzd29yZCxcclxuICAgICAgbmV3OiBwYXNzd29yZFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXHJcbiAgICAgIC5jaGFuZ2VQYXNzd29yZChwYXlsb2FkKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hhbmdlUGFzc3dvcmRPblN1Y2Nlc3MoKSwgKGVycm9yKSA9PiB0aGlzLmNoYW5nZVBhc3N3b3JkT25FcnJvcihlcnJvcikpO1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cImNoYW5nZS1wYXNzd29yZFwiPlxyXG4gIDxmb3JtICNjaGFuZ2VQYXNzd29yZEZvcm1FbGVtZW50IFtmb3JtR3JvdXBdPVwiY2hhbmdlUGFzc3dvcmRGb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWl0ZW1cIj5cclxuXHJcbiAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0LmN1cnJlbnQtcGFzc3dvcmQnIHwgdHJhbnNsYXRlKVwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2ludmFsaWRdPVwicGFzc3dvcmRJc05ld1wiPlxyXG4gICAgICAgIDxlby1wYXNzd29yZCBbcGFyZW50XT1cImNoYW5nZVBhc3N3b3JkRm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50XT1cIidjdXJyZW50UGFzc3dvcmQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NhbkNoYW5nZXBhc3N3b3JkVmlzaWJsZXR5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Bhc3N3b3JkVmlzaWJsZV09XCJwYXNzd29yZElzVmlzaWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0LmN1cnJlbnQtcGFzc3dvcmQnIHwgdHJhbnNsYXRlKVwiPjwvZW8tcGFzc3dvcmQ+XHJcbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cclxuXHJcbiAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0Lm5ldy1wYXNzd29yZCcgfCB0cmFuc2xhdGUpXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbaW52YWxpZF09XCJtYXRjaGluZ1Bhc3N3b3JkcyB8fCBwYXNzd29yZElzTmV3XCI+XHJcbiAgICAgICAgPGVvLXBhc3N3b3JkIFtwYXJlbnRdPVwiY2hhbmdlUGFzc3dvcmRGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRdPVwiJ3Bhc3N3b3JkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjYW5DaGFuZ2VwYXNzd29yZFZpc2libGV0eV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtwYXNzd29yZFZpc2libGVdPVwicGFzc3dvcmRJc1Zpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdlby5wYXNzd29yZC5yZXNldC5uZXctcGFzc3dvcmQnIHwgdHJhbnNsYXRlKVwiPjwvZW8tcGFzc3dvcmQ+XHJcbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cclxuXHJcbiAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0LmNvbmZpcm0tcGFzc3dvcmQnIHwgdHJhbnNsYXRlKVwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2ludmFsaWRdPVwibWF0Y2hpbmdQYXNzd29yZHNcIj5cclxuICAgICAgICA8ZW8tcGFzc3dvcmQgW3BhcmVudF09XCJjaGFuZ2VQYXNzd29yZEZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZWxlbWVudF09XCInY29uZmlybVBhc3N3b3JkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjYW5DaGFuZ2VwYXNzd29yZFZpc2libGV0eV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtwYXNzd29yZFZpc2libGVdPVwicGFzc3dvcmRJc1Zpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdlby5wYXNzd29yZC5yZXNldC5jb25maXJtLXBhc3N3b3JkJyB8IHRyYW5zbGF0ZSlcIj48L2VvLXBhc3N3b3JkPlxyXG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZCBlcnJvclwiICpuZ0lmPVwicGFzc3dvcmRJc05ld1wiPlxyXG4gICAgICAgIHt7J2VvLnBhc3N3b3JkLnJlc2V0LmVycm9yLnNhbWUucGFzc3dvcmQnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZCBlcnJvclwiICpuZ0lmPVwibWF0Y2hpbmdQYXNzd29yZHNcIj5cclxuICAgICAgICB7eydlby5wYXNzd29yZC5yZXNldC5lcnJvci5tYXRpY2hpbmcucGFzc3dvcmQnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZCBlcnJvclwiIHRyYW5zbGF0ZSBbdHJhbnNsYXRlUGFyYW1zXT1cInthbW91bnQ6IHBhc3N3b3JkVmFsaWRhdGlvbi5hbW91bnR9XCIgKm5nSWY9XCJwYXNzd29yZFZhbGlkYXRpb24udHlwZSA9PT0gJ3Nob3J0J1wiPlxyXG4gICAgICAgIGVvLnBhc3N3b3JkLnJlc2V0LmVycm9yLm5ldy5wYXNzd29yZC5zaG9ydFxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkIGVycm9yXCIgdHJhbnNsYXRlIFt0cmFuc2xhdGVQYXJhbXNdPVwie2Ftb3VudDogcGFzc3dvcmRWYWxpZGF0aW9uLmFtb3VudH1cIiAqbmdJZj1cInBhc3N3b3JkVmFsaWRhdGlvbi50eXBlID09PSAnbnVtYmVyJ1wiPlxyXG4gICAgICAgZW8ucGFzc3dvcmQucmVzZXQuZXJyb3IubmV3LnBhc3N3b3JkLm51bWJlclxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkIGVycm9yXCIgdHJhbnNsYXRlIFt0cmFuc2xhdGVQYXJhbXNdPVwie2Ftb3VudDogcGFzc3dvcmRWYWxpZGF0aW9uLmFtb3VudH1cIiAqbmdJZj1cInBhc3N3b3JkVmFsaWRhdGlvbi50eXBlID09PSAnc3BlY2lhbGNoYXJzJ1wiPlxyXG4gICAgICAgZW8ucGFzc3dvcmQucmVzZXQuZXJyb3IubmV3LnBhc3N3b3JkLnNwZWNpYWxjaGFyc1xyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiY2hhbmdlLXBhc3N3b3JkX19jdGFcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2hhbmdlLXBhc3N3b3JkX19zdWJtaXQtYnV0dG9uXCIgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiY2hhbmdlUGFzc3dvcmRGb3JtLmludmFsaWQgfHwgcGFzc3dvcmRWYWxpZGF0aW9uLnR5cGUgIT09ICd2YWxpZCdcIiB0cmFuc2xhdGU+ZW8ucGFzc3dvcmQucmVzZXQuY29uZmlybS1idXR0b248L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPGEgKGNsaWNrKT1cInNob3dQYXNzd29yZHMoKVwiIHRhYmluZGV4PVwiMFwiIChrZXlkb3duLmVudGVyKT1cInNob3dQYXNzd29yZHMoKVwiID5cclxuICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiY2hhbmdlLXBhc3N3b3JkX19pY29uLXNob3dcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZXllLnN2ZydcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0LnRvb2dsZS5pY29uJyB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd2aXNpYmxlJzogcGFzc3dvcmRJc1Zpc2libGV9XCI+PC9lby1pY29uPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9zZWN0aW9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG5cclxuPC9zZWN0aW9uPlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3NldHRpbmdzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENoYW5nZVBhc3N3b3JkSW50ZXJmYWNlIHtcbiAgb2xkOiBzdHJpbmc7XG4gIG5ldzogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3NldHRpbmdzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENoYW5nZVBhc3N3b3JkSW50ZXJmYWNlIHtcclxuICBvbGQ6IHN0cmluZztcclxuICBuZXc6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -2,4 +2,4 @@ export * from './settings.module';
2
2
  export * from './change-password/change-password.interface';
3
3
  export * from './change-password/change-password-form/change-password-form.component';
4
4
  export * from './permissions/permissions.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9zZXR0aW5ncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5ncy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQtZm9ybS9jaGFuZ2UtcGFzc3dvcmQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQnO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9zZXR0aW5ncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5ncy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2UtcGFzc3dvcmQvY2hhbmdlLXBhc3N3b3JkLWZvcm0vY2hhbmdlLXBhc3N3b3JkLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQnO1xyXG4iXX0=
@@ -7,12 +7,12 @@ export class PermissionsComponent {
7
7
  this.roles = [];
8
8
  }
9
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PermissionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PermissionsComponent, selector: "eo-permissions", inputs: { roles: "roles" }, ngImport: i0, template: "<div class=\"role\" *ngFor=\"let role of roles\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_shield.svg'\"></eo-icon>\n <div>\n <div class=\"name\">{{role.name}}</div>\n <div class=\"description\">{{role.description}}</div>\n </div>\n</div>\n", styles: [".role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.role>div{padding:0 calc(var(--app-pane-padding) / 2)}.role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }] }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PermissionsComponent, selector: "eo-permissions", inputs: { roles: "roles" }, ngImport: i0, template: "<div class=\"role\" *ngFor=\"let role of roles\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_shield.svg'\"></eo-icon>\r\n <div>\r\n <div class=\"name\">{{role.name}}</div>\r\n <div class=\"description\">{{role.description}}</div>\r\n </div>\r\n</div>\r\n", styles: [".role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.role>div{padding:0 calc(var(--app-pane-padding) / 2)}.role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }] }); }
11
11
  }
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PermissionsComponent, decorators: [{
13
13
  type: Component,
14
- args: [{ selector: 'eo-permissions', template: "<div class=\"role\" *ngFor=\"let role of roles\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_shield.svg'\"></eo-icon>\n <div>\n <div class=\"name\">{{role.name}}</div>\n <div class=\"description\">{{role.description}}</div>\n </div>\n</div>\n", styles: [".role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.role>div{padding:0 calc(var(--app-pane-padding) / 2)}.role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}\n"] }]
14
+ args: [{ selector: 'eo-permissions', template: "<div class=\"role\" *ngFor=\"let role of roles\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_shield.svg'\"></eo-icon>\r\n <div>\r\n <div class=\"name\">{{role.name}}</div>\r\n <div class=\"description\">{{role.description}}</div>\r\n </div>\r\n</div>\r\n", styles: [".role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.role>div{padding:0 calc(var(--app-pane-padding) / 2)}.role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}\n"] }]
15
15
  }], propDecorators: { roles: [{
16
16
  type: Input
17
17
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc2V0dGluZ3MvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc2V0dGluZ3MvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQVFXLFVBQUssR0FBZSxFQUFFLENBQUM7S0FDakM7OEdBSlksb0JBQW9CO2tHQUFwQixvQkFBb0Isa0ZDUGpDLGlRQU9BOzsyRkRBYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQU9qQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXBlcm1pc3Npb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGVybWlzc2lvbnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uc0NvbXBvbmVudCB7XG5cblxuICBASW5wdXQoKSByb2xlczogQXJyYXk8YW55PiA9IFtdO1xufVxuIiwiPGRpdiBjbGFzcz1cInJvbGVcIiAqbmdGb3I9XCJsZXQgcm9sZSBvZiByb2xlc1wiPlxuICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zaGllbGQuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7cm9sZS5uYW1lfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e3JvbGUuZGVzY3JpcHRpb259fTwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc2V0dGluZ3MvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc2V0dGluZ3MvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQVFXLFVBQUssR0FBZSxFQUFFLENBQUM7S0FDakM7OEdBSlksb0JBQW9CO2tHQUFwQixvQkFBb0Isa0ZDUGpDLCtRQU9BOzsyRkRBYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQU9qQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VvLXBlcm1pc3Npb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zQ29tcG9uZW50IHtcclxuXHJcblxyXG4gIEBJbnB1dCgpIHJvbGVzOiBBcnJheTxhbnk+ID0gW107XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvbGVcIiAqbmdGb3I9XCJsZXQgcm9sZSBvZiByb2xlc1wiPlxyXG4gIDxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NoaWVsZC5zdmcnXCI+PC9lby1pY29uPlxyXG4gIDxkaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7cm9sZS5uYW1lfX08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7cm9sZS5kZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=