@eo-sdk/client 10.7.0-rc.5 → 11.0.0-rc.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 (890) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  3. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +1 -1
  4. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
  5. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +3 -1
  6. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
  7. package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +2 -0
  8. package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -1
  9. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts +1 -1
  10. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts +1 -1
  11. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts +1 -1
  12. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts.map +1 -1
  13. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +1 -1
  14. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +1 -1
  15. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts +1 -1
  16. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +1 -1
  17. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts +1 -1
  18. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +1 -1
  19. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts +1 -1
  20. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts +21 -0
  21. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts.map +1 -0
  22. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +15 -8
  23. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -1
  24. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts +7 -0
  25. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts.map +1 -0
  26. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +1 -1
  27. package/app/eo-client/eo-client.module.d.ts +18 -17
  28. package/app/eo-client/eo-client.module.d.ts.map +1 -1
  29. package/app/eo-client/settings/settings.component.d.ts +2 -11
  30. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  31. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  32. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +1 -1
  33. package/app/eo-framework/actions/action.module.d.ts.map +1 -1
  34. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +1 -1
  35. package/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.d.ts +1 -1
  36. package/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.d.ts +1 -1
  37. package/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.d.ts +1 -1
  38. package/app/eo-framework/actions/actions/custom-actions/custom-actions.component.d.ts +1 -1
  39. package/app/eo-framework/actions/actions/delete-action/delete/delete.component.d.ts +1 -1
  40. package/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.d.ts +1 -1
  41. package/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.d.ts +1 -1
  42. package/app/eo-framework/actions/actions/email/email/email.component.d.ts +1 -1
  43. package/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.d.ts +1 -1
  44. package/app/eo-framework/actions/actions/open-document-action/open-document-action.component.d.ts +1 -1
  45. package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts +1 -1
  46. package/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.d.ts +1 -1
  47. package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts +1 -1
  48. package/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.d.ts +1 -1
  49. package/app/eo-framework/actions/actions/workflow-action/workflow-action.component.d.ts +1 -1
  50. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +1 -1
  51. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +7 -3
  52. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  53. package/app/eo-framework/app-shell/app-bar/context-search/context-search.component.d.ts +1 -1
  54. package/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.d.ts +1 -1
  55. package/app/eo-framework/app-shell/app-shell.module.d.ts +17 -16
  56. package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
  57. package/app/eo-framework/app-shell/index.d.ts +1 -0
  58. package/app/eo-framework/app-shell/index.d.ts.map +1 -1
  59. package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts +10 -0
  60. package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts.map +1 -0
  61. package/app/eo-framework/cta/component/cta.component.d.ts +1 -1
  62. package/app/eo-framework/form-elements/checkbox/checkbox.component.d.ts +1 -1
  63. package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts +1 -1
  64. package/app/eo-framework/form-elements/date/date.component.d.ts +1 -1
  65. package/app/eo-framework/form-elements/date/year-range/year-range.directive.d.ts +1 -1
  66. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +2 -1
  67. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
  68. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts +1 -1
  69. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
  70. package/app/eo-framework/form-elements/form-input/form-input.component.d.ts +1 -1
  71. package/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.d.ts +1 -1
  72. package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts +1 -1
  73. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -1
  74. package/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.d.ts +1 -1
  75. package/app/eo-framework/form-elements/number/number.component.d.ts +1 -1
  76. package/app/eo-framework/form-elements/number-range/number-range.component.d.ts +1 -1
  77. package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -1
  78. package/app/eo-framework/form-elements/password/password.component.d.ts +1 -1
  79. package/app/eo-framework/form-elements/reference/reference.component.d.ts +1 -1
  80. package/app/eo-framework/form-elements/string/string.component.d.ts +1 -1
  81. package/app/eo-framework/grid/column-configurator/column-configurator.component.d.ts +1 -1
  82. package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts +1 -1
  83. package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts.map +1 -1
  84. package/app/eo-framework/grid/extensions/filter/abstract-filter.component.d.ts +3 -3
  85. package/app/eo-framework/grid/extensions/filter/abstract-filter.component.d.ts.map +1 -1
  86. package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts +1 -1
  87. package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +1 -1
  88. package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts +3 -3
  89. package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts.map +1 -1
  90. package/app/eo-framework/grid/extensions/pagination/pagination.component.d.ts +1 -1
  91. package/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.d.ts +1 -1
  92. package/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.d.ts +1 -1
  93. package/app/eo-framework/grid/extensions/total-count/total-count.component.d.ts +1 -1
  94. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
  95. package/app/eo-framework/grid/grid.component.d.ts +6 -17
  96. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  97. package/app/eo-framework/grid/grid.module.d.ts +0 -3
  98. package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
  99. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +13 -0
  100. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +1 -0
  101. package/app/eo-framework/grid/row-grouping/group-stage.d.ts +14 -14
  102. package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +1 -1
  103. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +1 -0
  104. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +1 -1
  105. package/app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component.d.ts +1 -1
  106. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -1
  107. package/app/eo-framework/list-container/list-container.component.d.ts +1 -1
  108. package/app/eo-framework/media/media.component.d.ts +1 -1
  109. package/app/eo-framework/object-details/edit-icon/edit-icon.component.d.ts +1 -1
  110. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +1 -1
  111. package/app/eo-framework/object-details/object-details.component.d.ts +1 -1
  112. package/app/eo-framework/object-details/object-history/history-filter/history-filter.component.d.ts +1 -1
  113. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +1 -1
  114. package/app/eo-framework/object-details/object-links/object-links.component.d.ts +1 -1
  115. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +1 -1
  116. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +1 -1
  117. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +4 -1
  118. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  119. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +1 -1
  120. package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts +1 -1
  121. package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -1
  122. package/app/eo-framework/object-form/object-form-edit/object-form-edit.component.d.ts +1 -1
  123. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -1
  124. package/app/eo-framework/plugins/plugin.component.d.ts +2 -2
  125. package/app/eo-framework/plugins/plugins.module.d.ts.map +1 -1
  126. package/app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component.d.ts +1 -1
  127. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +1 -1
  128. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  129. package/app/eo-framework/process/details/process-details.component.d.ts +1 -1
  130. package/app/eo-framework/process/history/process-history.component.d.ts +1 -1
  131. package/app/eo-framework/process/process-file/process-file.component.d.ts +1 -1
  132. package/app/eo-framework/process-form/process-form.component.d.ts +1 -1
  133. package/app/eo-framework/quick-search/quick-search/quick-search.component.d.ts +1 -1
  134. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +1 -1
  135. package/app/eo-framework/result-list/result-list.component.d.ts +1 -1
  136. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  137. package/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.d.ts +1 -1
  138. package/app/eo-framework/settings/permissions/permissions.component.d.ts +1 -1
  139. package/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.d.ts +1 -1
  140. package/app/eo-framework/shortcuts/shortcuts.directive.d.ts +1 -1
  141. package/app/eo-framework/stored-query/stored-query/stored-query.component.d.ts +1 -1
  142. package/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.d.ts +1 -1
  143. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +1 -1
  144. package/app/eo-framework/tree/tree-node/tree-node.component.d.ts +1 -1
  145. package/app/eo-framework/tree/tree.component.d.ts +1 -1
  146. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +1 -1
  147. package/app/eo-framework/ui/eo-icon/eo-icon.component.d.ts +1 -1
  148. package/app/eo-framework/ui/error-message/error-message.component.d.ts +1 -1
  149. package/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.d.ts +1 -1
  150. package/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.d.ts.map +1 -1
  151. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +1 -1
  152. package/app/eo-framework/ui/loading-spinner/loading-spinner.component.d.ts +1 -1
  153. package/app/eo-framework/ui/overlay/overlay.component.d.ts +1 -1
  154. package/app/eo-framework/ui/query-scope-select/query-scope-select.component.d.ts +1 -1
  155. package/app/eo-framework/ui/rtl-aware/rtl-aware.directive.d.ts +1 -1
  156. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +1 -1
  157. package/app/eo-framework/ui/user-avatar/user-avatar.component.d.ts +1 -1
  158. package/app/eo-framework/upload-overlay/upload-overlay-guard.service.d.ts +2 -2
  159. package/app/eo-framework/upload-overlay/upload-overlay-guard.service.d.ts.map +1 -1
  160. package/app/eo-framework/util/directive/prevent-double-click.directive.d.ts +1 -1
  161. package/app/eo-framework-core/api/grid.service.d.ts +4 -3
  162. package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
  163. package/app/eo-framework-core/error-handler/error-handler.service.d.ts.map +1 -1
  164. package/app/eo-framework-core/pending-changes/pending-changes-guard.service.d.ts +1 -2
  165. package/app/eo-framework-core/pending-changes/pending-changes-guard.service.d.ts.map +1 -1
  166. package/app/eo-framework-core/route-guards/auth/auth-guard.service.d.ts +2 -2
  167. package/app/eo-framework-core/route-guards/auth/auth-guard.service.d.ts.map +1 -1
  168. package/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.d.ts +2 -2
  169. package/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.d.ts.map +1 -1
  170. package/assets/_default/i18n/de.json +11 -5
  171. package/assets/_default/i18n/en.json +13 -7
  172. package/esm2022/app/eo-client/about-state/about-state.component.mjs +81 -0
  173. package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +307 -0
  174. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +296 -0
  175. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +296 -0
  176. package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
  177. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +121 -0
  178. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +125 -0
  179. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +193 -0
  180. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +164 -0
  181. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +59 -0
  182. package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +8 -8
  183. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +60 -0
  184. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +42 -0
  185. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +69 -0
  186. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +43 -0
  187. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +69 -0
  188. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +185 -0
  189. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.mjs +2 -0
  190. package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +123 -0
  191. package/{esm2020 → esm2022}/app/eo-client/eo-client-routing.module.mjs +5 -5
  192. package/esm2022/app/eo-client/eo-client.module.mjs +173 -0
  193. package/esm2022/app/eo-client/favorite-state/favorite-state.component.mjs +150 -0
  194. package/esm2022/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +218 -0
  195. package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state-routing.module.mjs +5 -5
  196. package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state.module.mjs +13 -13
  197. package/esm2022/app/eo-client/login/login.component.mjs +111 -0
  198. package/esm2022/app/eo-client/notifications-state/notifications-state.component.mjs +227 -0
  199. package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +342 -0
  200. package/{esm2020 → esm2022}/app/eo-client/object-state/object-state-routing.module.mjs +5 -5
  201. package/esm2022/app/eo-client/object-state/object-state-service/object-state.service.mjs +134 -0
  202. package/{esm2020 → esm2022}/app/eo-client/object-state/object-state.module.mjs +11 -11
  203. package/esm2022/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +159 -0
  204. package/{esm2020 → esm2022}/app/eo-client/prepare-state/prepare-state-routing.module.mjs +5 -5
  205. package/{esm2020 → esm2022}/app/eo-client/prepare-state/prepare-state.module.mjs +15 -15
  206. package/esm2022/app/eo-client/process-state/process-state.component.mjs +330 -0
  207. package/esm2022/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +150 -0
  208. package/esm2022/app/eo-client/result-state/result-state.component.mjs +71 -0
  209. package/esm2022/app/eo-client/settings/settings.component.mjs +275 -0
  210. package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +209 -0
  211. package/esm2022/app/eo-client/version-state/version-state.component.mjs +142 -0
  212. package/{esm2020 → esm2022}/app/eo-framework/accordion/accordion.module.mjs +5 -5
  213. package/{esm2020 → esm2022}/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +4 -4
  214. package/{esm2020 → esm2022}/app/eo-framework/actions/action-menu/action-component-anchor/action-component-anchor.directive.mjs +5 -5
  215. package/esm2022/app/eo-framework/actions/action-menu/action-menu.component.mjs +208 -0
  216. package/esm2022/app/eo-framework/actions/action-service/action.service.mjs +185 -0
  217. package/esm2022/app/eo-framework/actions/action-target.mjs +28 -0
  218. package/esm2022/app/eo-framework/actions/action.module.mjs +269 -0
  219. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +201 -0
  220. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.mjs +50 -0
  221. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +134 -0
  222. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.mjs +50 -0
  223. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.mjs +6 -6
  224. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing-action.mjs +5 -5
  225. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/clipboard/clipboard-action.mjs +5 -5
  226. package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +95 -0
  227. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/copy-action/copy-action.mjs +5 -5
  228. package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +88 -0
  229. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cut-action/cut-action.mjs +5 -5
  230. package/esm2022/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +111 -0
  231. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-action/delete-action.mjs +5 -5
  232. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-action/delete-prepared-action.mjs +5 -5
  233. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.mjs +6 -6
  234. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-content-action/delete-content-action.mjs +5 -5
  235. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/download-action/download-action.mjs +5 -5
  236. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.mjs +6 -6
  237. package/esm2022/app/eo-framework/actions/actions/email/email/email.component.mjs +97 -0
  238. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/email/email-action.mjs +5 -5
  239. package/esm2022/app/eo-framework/actions/actions/favorite-action/favorite-action.mjs +76 -0
  240. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/definalize-action.mjs +5 -5
  241. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/finalize-action.mjs +6 -6
  242. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.mjs +6 -6
  243. package/esm2022/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +56 -0
  244. package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +69 -0
  245. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/open-document-action/open-document-action.mjs +5 -5
  246. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/open-versions-action/open-versions-action.mjs +5 -5
  247. package/esm2022/app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action.mjs +45 -0
  248. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/restore-version-action/restore-version-action.mjs +5 -5
  249. package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +89 -0
  250. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/share-object-action/share-object-action.mjs +5 -5
  251. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +184 -0
  252. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +53 -0
  253. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +146 -0
  254. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -5
  255. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/unlock-action/unlock-action.mjs +5 -5
  256. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action.mjs +5 -5
  257. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +5 -5
  258. package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +107 -0
  259. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/workflow-action/workflow-action.component.mjs +5 -5
  260. package/esm2022/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +173 -0
  261. package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/app-add/app-add.component.mjs +5 -5
  262. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +204 -0
  263. package/esm2022/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +112 -0
  264. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +805 -0
  265. package/esm2022/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +46 -0
  266. package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +6 -6
  267. package/esm2022/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +42 -0
  268. package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-shell-routing.module.mjs +5 -5
  269. package/esm2022/app/eo-framework/app-shell/app-shell.module.mjs +108 -0
  270. package/{esm2020 → esm2022}/app/eo-framework/app-shell/index.mjs +2 -1
  271. package/esm2022/app/eo-framework/app-shell/license-warning/license-warning.component.mjs +26 -0
  272. package/{esm2020 → esm2022}/app/eo-framework/cta/component/cta.component.mjs +4 -4
  273. package/{esm2020 → esm2022}/app/eo-framework/cta/cta.module.mjs +5 -5
  274. package/{esm2020 → esm2022}/app/eo-framework/eo-framework.module.mjs +110 -110
  275. package/{esm2020 → esm2022}/app/eo-framework/error/error.module.mjs +9 -9
  276. package/{esm2020 → esm2022}/app/eo-framework/error/error404/error404.component.mjs +4 -4
  277. package/{esm2020 → esm2022}/app/eo-framework/error/not-found/not-found.component.mjs +5 -5
  278. package/esm2022/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +62 -0
  279. package/esm2022/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +312 -0
  280. package/esm2022/app/eo-framework/form-elements/date/date.component.mjs +101 -0
  281. package/esm2022/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +44 -0
  282. package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +188 -0
  283. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +306 -0
  284. package/{esm2020 → esm2022}/app/eo-framework/form-elements/form-elements.module.mjs +76 -76
  285. package/esm2022/app/eo-framework/form-elements/form-input/form-input.component.mjs +73 -0
  286. package/esm2022/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.mjs +35 -0
  287. package/esm2022/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +252 -0
  288. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +253 -0
  289. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +33 -0
  290. package/esm2022/app/eo-framework/form-elements/id-reference/service/reference-finder.service.mjs +106 -0
  291. package/esm2022/app/eo-framework/form-elements/number/number.component.mjs +171 -0
  292. package/esm2022/app/eo-framework/form-elements/number-range/number-range.component.mjs +138 -0
  293. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +216 -0
  294. package/{esm2020 → esm2022}/app/eo-framework/form-elements/password/password.component.mjs +4 -4
  295. package/esm2022/app/eo-framework/form-elements/reference/reference.component.mjs +223 -0
  296. package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +254 -0
  297. package/{esm2020 → esm2022}/app/eo-framework/frame/frame.component.mjs +5 -5
  298. package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +211 -0
  299. package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +83 -0
  300. package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/empty/empty.component.mjs +4 -4
  301. package/esm2022/app/eo-framework/grid/extensions/filter/abstract-filter.component.mjs +65 -0
  302. package/esm2022/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +82 -0
  303. package/esm2022/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +85 -0
  304. package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +98 -0
  305. package/esm2022/app/eo-framework/grid/extensions/pagination/pagination.component.mjs +52 -0
  306. package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.mjs +6 -6
  307. package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.mjs +4 -4
  308. package/esm2022/app/eo-framework/grid/extensions/services/list-settings.service.mjs +42 -0
  309. package/esm2022/app/eo-framework/grid/extensions/total-count/total-count.component.mjs +36 -0
  310. package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +94 -0
  311. package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +75 -0
  312. package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +96 -0
  313. package/esm2022/app/eo-framework/grid/filters/list-filter.component.mjs +54 -0
  314. package/esm2022/app/eo-framework/grid/filters/organization-filter.component.mjs +64 -0
  315. package/esm2022/app/eo-framework/grid/grid.component.mjs +420 -0
  316. package/esm2022/app/eo-framework/grid/grid.module.mjs +97 -0
  317. package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +50 -0
  318. package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +623 -0
  319. package/{esm2020 → esm2022}/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +2 -1
  320. package/{esm2020 → esm2022}/app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component.mjs +5 -5
  321. package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +457 -0
  322. package/esm2022/app/eo-framework/list-container/list-container.component.mjs +101 -0
  323. package/{esm2020 → esm2022}/app/eo-framework/list-container/list-container.module.mjs +7 -7
  324. package/esm2022/app/eo-framework/media/content-preview.service.mjs +42 -0
  325. package/esm2022/app/eo-framework/media/media.component.mjs +315 -0
  326. package/{esm2020 → esm2022}/app/eo-framework/media/media.module.mjs +13 -13
  327. package/{esm2020 → esm2022}/app/eo-framework/object-details/edit-icon/edit-icon.component.mjs +5 -5
  328. package/esm2022/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +104 -0
  329. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +439 -0
  330. package/{esm2020 → esm2022}/app/eo-framework/object-details/object-details.module.mjs +42 -42
  331. package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter-pipe/history-filter.pipe.mjs +32 -0
  332. package/{esm2020 → esm2022}/app/eo-framework/object-details/object-history/history-filter/history-filter.component.mjs +4 -4
  333. package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +82 -0
  334. package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +292 -0
  335. package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +5 -5
  336. package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +123 -0
  337. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +639 -0
  338. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +238 -0
  339. package/esm2022/app/eo-framework/object-form/object-form/form-validation/form-validation.mjs +40 -0
  340. package/esm2022/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +81 -0
  341. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +113 -0
  342. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +267 -0
  343. package/esm2022/app/eo-framework/object-form/object-form/object-form.component.mjs +148 -0
  344. package/esm2022/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +216 -0
  345. package/esm2022/app/eo-framework/object-form/object-form-helper.service.mjs +717 -0
  346. package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form.module.mjs +37 -37
  347. package/esm2022/app/eo-framework/object-state-details/object-state-details.component.mjs +135 -0
  348. package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.component.mjs +16 -16
  349. package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.directive.mjs +5 -5
  350. package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.service.mjs +6 -6
  351. package/esm2022/app/eo-framework/plugins/plugins.module.mjs +55 -0
  352. package/{esm2020 → esm2022}/app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component.mjs +4 -4
  353. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +568 -0
  354. package/esm2022/app/eo-framework/process/details/process-details.component.mjs +226 -0
  355. package/{esm2020 → esm2022}/app/eo-framework/process/history/process-history.component.mjs +4 -4
  356. package/{esm2020 → esm2022}/app/eo-framework/process/process-file/process-file.component.mjs +6 -6
  357. package/esm2022/app/eo-framework/process-form/process-form.component.mjs +50 -0
  358. package/{esm2020 → esm2022}/app/eo-framework/process-form/process-form.module.mjs +11 -11
  359. package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +220 -0
  360. package/{esm2020 → esm2022}/app/eo-framework/quick-search/quick-search.module.mjs +11 -11
  361. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +271 -0
  362. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +384 -0
  363. package/{esm2020 → esm2022}/app/eo-framework/result-list/result-list.module.mjs +11 -11
  364. package/esm2022/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.mjs +125 -0
  365. package/{esm2020 → esm2022}/app/eo-framework/settings/permissions/permissions.component.mjs +4 -4
  366. package/{esm2020 → esm2022}/app/eo-framework/settings/settings.module.mjs +13 -13
  367. package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.mjs +65 -0
  368. package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts.component.mjs +130 -0
  369. package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcut.interface.mjs +1 -1
  370. package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcuts.directive.mjs +5 -5
  371. package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcuts.module.mjs +9 -9
  372. package/esm2022/app/eo-framework/shortcuts/shortcuts.service.mjs +45 -0
  373. package/esm2022/app/eo-framework/stored-query/stored-query/stored-query.component.mjs +225 -0
  374. package/esm2022/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +46 -0
  375. package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +501 -0
  376. package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query.module.mjs +20 -20
  377. package/{esm2020 → esm2022}/app/eo-framework/tree/tree-node/tree-node.component.mjs +5 -5
  378. package/esm2022/app/eo-framework/tree/tree.component.mjs +281 -0
  379. package/{esm2020 → esm2022}/app/eo-framework/tree/tree.module.mjs +7 -7
  380. package/{esm2020 → esm2022}/app/eo-framework/ui/animations/panel-loading.animation.mjs +1 -1
  381. package/esm2022/app/eo-framework/ui/clipboard/clipboard.component.mjs +159 -0
  382. package/esm2022/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +130 -0
  383. package/esm2022/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +119 -0
  384. package/esm2022/app/eo-framework/ui/error-message/error-message.component.mjs +33 -0
  385. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +50 -0
  386. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +147 -0
  387. package/{esm2020 → esm2022}/app/eo-framework/ui/loading-spinner/loading-spinner.component.mjs +8 -8
  388. package/esm2022/app/eo-framework/ui/outside-click/outside-click.directive.mjs +60 -0
  389. package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +71 -0
  390. package/{esm2020 → esm2022}/app/eo-framework/ui/query-scope-select/query-scope-select.component.mjs +5 -5
  391. package/esm2022/app/eo-framework/ui/router-link/router-link.directive.mjs +26 -0
  392. package/esm2022/app/eo-framework/ui/rtl-aware/rtl-aware.directive.mjs +57 -0
  393. package/esm2022/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +32 -0
  394. package/{esm2020 → esm2022}/app/eo-framework/ui/ui.module.mjs +59 -59
  395. package/esm2022/app/eo-framework/ui/user-avatar/user-avatar.component.mjs +54 -0
  396. package/esm2022/app/eo-framework/upload-overlay/upload-overlay-guard.service.mjs +17 -0
  397. package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +397 -0
  398. package/{esm2020 → esm2022}/app/eo-framework/util/directive/prevent-double-click.directive.mjs +5 -5
  399. package/esm2022/app/eo-framework/util/directive/trap-focus.directive.mjs +69 -0
  400. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +25 -0
  401. package/esm2022/app/eo-framework/util/sortable/order-by.pipe.mjs +48 -0
  402. package/{esm2020 → esm2022}/app/eo-framework/util/util.module.mjs +5 -5
  403. package/esm2022/app/eo-framework-core/agent/agent.service.mjs +178 -0
  404. package/esm2022/app/eo-framework-core/api/grid.service.mjs +728 -0
  405. package/esm2022/app/eo-framework-core/api/plugins.service.mjs +258 -0
  406. package/esm2022/app/eo-framework-core/empty-state/empty-state.service.mjs +53 -0
  407. package/esm2022/app/eo-framework-core/eo-framework-core.module.mjs +105 -0
  408. package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +89 -0
  409. package/esm2022/app/eo-framework-core/layout/layout.service.mjs +106 -0
  410. package/esm2022/app/eo-framework-core/location/location.service.mjs +146 -0
  411. package/esm2022/app/eo-framework-core/pending-changes/pending-changes-guard.service.mjs +18 -0
  412. package/esm2022/app/eo-framework-core/pending-changes/pending-changes.service.mjs +112 -0
  413. package/esm2022/app/eo-framework-core/pipes/filesize.pipe.mjs +30 -0
  414. package/{esm2020 → esm2022}/app/eo-framework-core/pipes/keys.pipe.mjs +4 -4
  415. package/esm2022/app/eo-framework-core/pipes/locale-date.pipe.mjs +63 -0
  416. package/esm2022/app/eo-framework-core/pipes/locale-number.pipe.mjs +109 -0
  417. package/{esm2020 → esm2022}/app/eo-framework-core/pipes/pipes.module.mjs +19 -19
  418. package/{esm2020 → esm2022}/app/eo-framework-core/pipes/safe-html.pipe.mjs +5 -5
  419. package/esm2022/app/eo-framework-core/references/reference.service.mjs +266 -0
  420. package/esm2022/app/eo-framework-core/route-guards/auth/auth-guard.service.mjs +29 -0
  421. package/esm2022/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.mjs +55 -0
  422. package/esm2022/app/eo-framework-core/search/app-search.service.mjs +387 -0
  423. package/esm2022/app/eo-framework-core/selection/selection.service.mjs +63 -0
  424. package/esm2022/app/eo-framework-core/title/page-title.service.mjs +42 -0
  425. package/{fesm2020 → fesm2022}/eo-sdk-client.mjs +2617 -2254
  426. package/fesm2022/eo-sdk-client.mjs.map +1 -0
  427. package/misc/scripts/copy-client-assets.js +1 -1
  428. package/package.json +31 -44
  429. package/styles.css +725 -550
  430. package/styles.scss +3 -3
  431. package/esm2020/app/eo-client/about-state/about-state.component.mjs +0 -81
  432. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +0 -305
  433. package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +0 -288
  434. package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +0 -265
  435. package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +0 -121
  436. package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +0 -125
  437. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +0 -192
  438. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +0 -164
  439. package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +0 -59
  440. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +0 -60
  441. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +0 -42
  442. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +0 -69
  443. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +0 -43
  444. package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +0 -116
  445. package/esm2020/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +0 -123
  446. package/esm2020/app/eo-client/eo-client.module.mjs +0 -170
  447. package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +0 -150
  448. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +0 -218
  449. package/esm2020/app/eo-client/login/login.component.mjs +0 -111
  450. package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +0 -227
  451. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +0 -342
  452. package/esm2020/app/eo-client/object-state/object-state-service/object-state.service.mjs +0 -134
  453. package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +0 -159
  454. package/esm2020/app/eo-client/process-state/process-state.component.mjs +0 -330
  455. package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +0 -150
  456. package/esm2020/app/eo-client/result-state/result-state.component.mjs +0 -71
  457. package/esm2020/app/eo-client/settings/settings.component.mjs +0 -287
  458. package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +0 -209
  459. package/esm2020/app/eo-client/version-state/version-state.component.mjs +0 -142
  460. package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +0 -208
  461. package/esm2020/app/eo-framework/actions/action-service/action.service.mjs +0 -185
  462. package/esm2020/app/eo-framework/actions/action-target.mjs +0 -28
  463. package/esm2020/app/eo-framework/actions/action.module.mjs +0 -274
  464. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +0 -201
  465. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.mjs +0 -50
  466. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +0 -134
  467. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.mjs +0 -50
  468. package/esm2020/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +0 -95
  469. package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +0 -88
  470. package/esm2020/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +0 -111
  471. package/esm2020/app/eo-framework/actions/actions/email/email/email.component.mjs +0 -97
  472. package/esm2020/app/eo-framework/actions/actions/favorite-action/favorite-action.mjs +0 -76
  473. package/esm2020/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +0 -56
  474. package/esm2020/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +0 -69
  475. package/esm2020/app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action.mjs +0 -45
  476. package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +0 -89
  477. package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +0 -184
  478. package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +0 -53
  479. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +0 -146
  480. package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +0 -107
  481. package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +0 -173
  482. package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +0 -203
  483. package/esm2020/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +0 -112
  484. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +0 -793
  485. package/esm2020/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +0 -46
  486. package/esm2020/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +0 -42
  487. package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +0 -102
  488. package/esm2020/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +0 -62
  489. package/esm2020/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +0 -312
  490. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +0 -101
  491. package/esm2020/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +0 -44
  492. package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +0 -184
  493. package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +0 -303
  494. package/esm2020/app/eo-framework/form-elements/form-input/form-input.component.mjs +0 -73
  495. package/esm2020/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.mjs +0 -35
  496. package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +0 -252
  497. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +0 -253
  498. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +0 -33
  499. package/esm2020/app/eo-framework/form-elements/id-reference/service/reference-finder.service.mjs +0 -106
  500. package/esm2020/app/eo-framework/form-elements/number/number.component.mjs +0 -171
  501. package/esm2020/app/eo-framework/form-elements/number-range/number-range.component.mjs +0 -138
  502. package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +0 -216
  503. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +0 -223
  504. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +0 -254
  505. package/esm2020/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +0 -211
  506. package/esm2020/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +0 -83
  507. package/esm2020/app/eo-framework/grid/extensions/filter/abstract-filter.component.mjs +0 -65
  508. package/esm2020/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +0 -82
  509. package/esm2020/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +0 -85
  510. package/esm2020/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +0 -98
  511. package/esm2020/app/eo-framework/grid/extensions/pagination/pagination.component.mjs +0 -52
  512. package/esm2020/app/eo-framework/grid/extensions/services/list-settings.service.mjs +0 -42
  513. package/esm2020/app/eo-framework/grid/extensions/total-count/total-count.component.mjs +0 -36
  514. package/esm2020/app/eo-framework/grid/filters/codesystem-filter.component.mjs +0 -94
  515. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +0 -75
  516. package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +0 -96
  517. package/esm2020/app/eo-framework/grid/filters/list-filter.component.mjs +0 -54
  518. package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +0 -64
  519. package/esm2020/app/eo-framework/grid/grid.component.mjs +0 -421
  520. package/esm2020/app/eo-framework/grid/grid.module.mjs +0 -107
  521. package/esm2020/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -528
  522. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +0 -457
  523. package/esm2020/app/eo-framework/list-container/list-container.component.mjs +0 -101
  524. package/esm2020/app/eo-framework/media/content-preview.service.mjs +0 -42
  525. package/esm2020/app/eo-framework/media/media.component.mjs +0 -314
  526. package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +0 -104
  527. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +0 -439
  528. package/esm2020/app/eo-framework/object-details/object-history/history-filter/history-filter-pipe/history-filter.pipe.mjs +0 -32
  529. package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +0 -82
  530. package/esm2020/app/eo-framework/object-details/object-links/object-links.component.mjs +0 -292
  531. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +0 -123
  532. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +0 -634
  533. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +0 -238
  534. package/esm2020/app/eo-framework/object-form/object-form/form-validation/form-validation.mjs +0 -40
  535. package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +0 -81
  536. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +0 -113
  537. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +0 -267
  538. package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +0 -148
  539. package/esm2020/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +0 -216
  540. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +0 -717
  541. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +0 -134
  542. package/esm2020/app/eo-framework/plugins/plugins.module.mjs +0 -59
  543. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +0 -557
  544. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +0 -226
  545. package/esm2020/app/eo-framework/process-form/process-form.component.mjs +0 -50
  546. package/esm2020/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +0 -220
  547. package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +0 -271
  548. package/esm2020/app/eo-framework/result-list/result-list.component.mjs +0 -368
  549. package/esm2020/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.mjs +0 -125
  550. package/esm2020/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.mjs +0 -65
  551. package/esm2020/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts.component.mjs +0 -130
  552. package/esm2020/app/eo-framework/shortcuts/shortcuts.service.mjs +0 -45
  553. package/esm2020/app/eo-framework/stored-query/stored-query/stored-query.component.mjs +0 -225
  554. package/esm2020/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +0 -46
  555. package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +0 -501
  556. package/esm2020/app/eo-framework/tree/tree.component.mjs +0 -281
  557. package/esm2020/app/eo-framework/ui/clipboard/clipboard.component.mjs +0 -159
  558. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +0 -130
  559. package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +0 -119
  560. package/esm2020/app/eo-framework/ui/error-message/error-message.component.mjs +0 -33
  561. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +0 -41
  562. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +0 -146
  563. package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +0 -60
  564. package/esm2020/app/eo-framework/ui/overlay/overlay.component.mjs +0 -71
  565. package/esm2020/app/eo-framework/ui/router-link/router-link.directive.mjs +0 -26
  566. package/esm2020/app/eo-framework/ui/rtl-aware/rtl-aware.directive.mjs +0 -57
  567. package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +0 -32
  568. package/esm2020/app/eo-framework/ui/user-avatar/user-avatar.component.mjs +0 -54
  569. package/esm2020/app/eo-framework/upload-overlay/upload-overlay-guard.service.mjs +0 -17
  570. package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +0 -397
  571. package/esm2020/app/eo-framework/util/directive/trap-focus.directive.mjs +0 -69
  572. package/esm2020/app/eo-framework/util/services/utilities.service.mjs +0 -25
  573. package/esm2020/app/eo-framework/util/sortable/order-by.pipe.mjs +0 -48
  574. package/esm2020/app/eo-framework-core/agent/agent.service.mjs +0 -178
  575. package/esm2020/app/eo-framework-core/api/grid.service.mjs +0 -732
  576. package/esm2020/app/eo-framework-core/api/plugins.service.mjs +0 -258
  577. package/esm2020/app/eo-framework-core/empty-state/empty-state.service.mjs +0 -53
  578. package/esm2020/app/eo-framework-core/eo-framework-core.module.mjs +0 -105
  579. package/esm2020/app/eo-framework-core/error-handler/error-handler.service.mjs +0 -89
  580. package/esm2020/app/eo-framework-core/layout/layout.service.mjs +0 -106
  581. package/esm2020/app/eo-framework-core/location/location.service.mjs +0 -146
  582. package/esm2020/app/eo-framework-core/pending-changes/pending-changes-guard.service.mjs +0 -18
  583. package/esm2020/app/eo-framework-core/pending-changes/pending-changes.service.mjs +0 -112
  584. package/esm2020/app/eo-framework-core/pipes/filesize.pipe.mjs +0 -30
  585. package/esm2020/app/eo-framework-core/pipes/locale-date.pipe.mjs +0 -63
  586. package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +0 -109
  587. package/esm2020/app/eo-framework-core/references/reference.service.mjs +0 -266
  588. package/esm2020/app/eo-framework-core/route-guards/auth/auth-guard.service.mjs +0 -29
  589. package/esm2020/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.mjs +0 -55
  590. package/esm2020/app/eo-framework-core/search/app-search.service.mjs +0 -387
  591. package/esm2020/app/eo-framework-core/selection/selection.service.mjs +0 -63
  592. package/esm2020/app/eo-framework-core/title/page-title.service.mjs +0 -42
  593. package/esm2020/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.mjs +0 -5
  594. package/esm2020/projects/eo-sdk/core/lib/config/core-config.mjs +0 -23
  595. package/esm2020/projects/eo-sdk/core/lib/config/core-init.service.mjs +0 -71
  596. package/esm2020/projects/eo-sdk/core/lib/config/core-init.tokens.mjs +0 -8
  597. package/esm2020/projects/eo-sdk/core/lib/config/initialize-module.mjs +0 -11
  598. package/esm2020/projects/eo-sdk/core/lib/config/missing-translation-handler.mjs +0 -15
  599. package/esm2020/projects/eo-sdk/core/lib/config/translate-json-loader.mjs +0 -130
  600. package/esm2020/projects/eo-sdk/core/lib/environment.enaio.mjs +0 -12
  601. package/esm2020/projects/eo-sdk/core/lib/eo-core-shared.module.mjs +0 -24
  602. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +0 -117
  603. package/esm2020/projects/eo-sdk/core/lib/interface/change-password.interface.mjs +0 -2
  604. package/esm2020/projects/eo-sdk/core/lib/interface/event.interface.mjs +0 -2
  605. package/esm2020/projects/eo-sdk/core/lib/interface/http-options.interface.mjs +0 -2
  606. package/esm2020/projects/eo-sdk/core/lib/interface/logger.interface.mjs +0 -7
  607. package/esm2020/projects/eo-sdk/core/lib/interface/organization-objects.interface.mjs +0 -2
  608. package/esm2020/projects/eo-sdk/core/lib/interface/tree-node.interface.mjs +0 -2
  609. package/esm2020/projects/eo-sdk/core/lib/model/baseparams.model.mjs +0 -2
  610. package/esm2020/projects/eo-sdk/core/lib/model/bpm.model.mjs +0 -70
  611. package/esm2020/projects/eo-sdk/core/lib/model/custom-action.model.mjs +0 -2
  612. package/esm2020/projects/eo-sdk/core/lib/model/dms-object-history.model.mjs +0 -30
  613. package/esm2020/projects/eo-sdk/core/lib/model/dms-object.model.mjs +0 -140
  614. package/esm2020/projects/eo-sdk/core/lib/model/eo-error.model.mjs +0 -37
  615. package/esm2020/projects/eo-sdk/core/lib/model/eo-user.model.mjs +0 -86
  616. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +0 -36
  617. package/esm2020/projects/eo-sdk/core/lib/model/object-type.model.mjs +0 -39
  618. package/esm2020/projects/eo-sdk/core/lib/model/org.model.mjs +0 -2
  619. package/esm2020/projects/eo-sdk/core/lib/model/prepared-item.model.mjs +0 -35
  620. package/esm2020/projects/eo-sdk/core/lib/model/range-value.model.mjs +0 -45
  621. package/esm2020/projects/eo-sdk/core/lib/model/upload-file-item.model.mjs +0 -17
  622. package/esm2020/projects/eo-sdk/core/lib/model/upload-target.model.mjs +0 -50
  623. package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +0 -54
  624. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-interceptor.mjs +0 -29
  625. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.mjs +0 -2
  626. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +0 -215
  627. package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +0 -2
  628. package/esm2020/projects/eo-sdk/core/lib/service/backend/backend.service.mjs +0 -358
  629. package/esm2020/projects/eo-sdk/core/lib/service/bpm/bpm.service.mjs +0 -286
  630. package/esm2020/projects/eo-sdk/core/lib/service/cache/app-cache.service.mjs +0 -117
  631. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +0 -2
  632. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +0 -60
  633. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.mjs +0 -6
  634. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.mjs +0 -2
  635. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.mjs +0 -100
  636. package/esm2020/projects/eo-sdk/core/lib/service/config/config.enum.mjs +0 -6
  637. package/esm2020/projects/eo-sdk/core/lib/service/config/config.interface.mjs +0 -2
  638. package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +0 -135
  639. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +0 -507
  640. package/esm2020/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.mjs +0 -2
  641. package/esm2020/projects/eo-sdk/core/lib/service/events/event.service.mjs +0 -44
  642. package/esm2020/projects/eo-sdk/core/lib/service/events/events.mjs +0 -27
  643. package/esm2020/projects/eo-sdk/core/lib/service/inbox/inbox.service.mjs +0 -111
  644. package/esm2020/projects/eo-sdk/core/lib/service/logger/console-log.service.mjs +0 -41
  645. package/esm2020/projects/eo-sdk/core/lib/service/logger/logger.mjs +0 -47
  646. package/esm2020/projects/eo-sdk/core/lib/service/notifications/notifications.service.mjs +0 -136
  647. package/esm2020/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.mjs +0 -2
  648. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +0 -305
  649. package/esm2020/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.mjs +0 -2
  650. package/esm2020/projects/eo-sdk/core/lib/service/search/search-query.model.mjs +0 -510
  651. package/esm2020/projects/eo-sdk/core/lib/service/search/search.service.mjs +0 -478
  652. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +0 -60
  653. package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +0 -111
  654. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.mjs +0 -2
  655. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +0 -216
  656. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.mjs +0 -98
  657. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +0 -345
  658. package/esm2020/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.mjs +0 -2
  659. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system-status.service.mjs +0 -104
  660. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.enum.mjs +0 -9
  661. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.interface.mjs +0 -2
  662. package/esm2020/projects/eo-sdk/core/lib/service/upload/upload.service.mjs +0 -46
  663. package/esm2020/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.mjs +0 -83
  664. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +0 -399
  665. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +0 -304
  666. package/esm2020/projects/eo-sdk/core/public_api.mjs +0 -85
  667. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6118
  668. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  669. package/fesm2015/eo-sdk-client.mjs +0 -27040
  670. package/fesm2015/eo-sdk-client.mjs.map +0 -1
  671. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6133
  672. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  673. package/fesm2020/eo-sdk-client.mjs.map +0 -1
  674. package/projects/eo-sdk/core/README.md +0 -113
  675. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.d.ts.map +0 -1
  676. package/projects/eo-sdk/core/index.d.ts +0 -6
  677. package/projects/eo-sdk/core/lib/config/core-config.d.ts +0 -14
  678. package/projects/eo-sdk/core/lib/config/core-config.d.ts.map +0 -1
  679. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts +0 -33
  680. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts.map +0 -1
  681. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts +0 -8
  682. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts.map +0 -1
  683. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts +0 -7
  684. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts.map +0 -1
  685. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts +0 -14
  686. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts.map +0 -1
  687. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts +0 -21
  688. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts.map +0 -1
  689. package/projects/eo-sdk/core/lib/environment.enaio.d.ts +0 -6
  690. package/projects/eo-sdk/core/lib/environment.enaio.d.ts.map +0 -1
  691. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts +0 -12
  692. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts.map +0 -1
  693. package/projects/eo-sdk/core/lib/eo-core.module.d.ts +0 -46
  694. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +0 -1
  695. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts +0 -8
  696. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts.map +0 -1
  697. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts +0 -14
  698. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts.map +0 -1
  699. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts +0 -17
  700. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts.map +0 -1
  701. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts +0 -20
  702. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts.map +0 -1
  703. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts +0 -20
  704. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts.map +0 -1
  705. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts +0 -24
  706. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts.map +0 -1
  707. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts +0 -58
  708. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts.map +0 -1
  709. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts +0 -253
  710. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts.map +0 -1
  711. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts +0 -34
  712. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts.map +0 -1
  713. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts +0 -59
  714. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts.map +0 -1
  715. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +0 -137
  716. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts.map +0 -1
  717. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts +0 -19
  718. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts.map +0 -1
  719. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts +0 -107
  720. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts.map +0 -1
  721. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts +0 -71
  722. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +0 -1
  723. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts +0 -125
  724. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts.map +0 -1
  725. package/projects/eo-sdk/core/lib/model/org.model.d.ts +0 -94
  726. package/projects/eo-sdk/core/lib/model/org.model.d.ts.map +0 -1
  727. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts +0 -190
  728. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts.map +0 -1
  729. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts +0 -22
  730. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts.map +0 -1
  731. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts +0 -30
  732. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts.map +0 -1
  733. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts +0 -60
  734. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts.map +0 -1
  735. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts +0 -52
  736. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts.map +0 -1
  737. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts +0 -12
  738. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts.map +0 -1
  739. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts +0 -23
  740. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts.map +0 -1
  741. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +0 -104
  742. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +0 -1
  743. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -18
  744. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +0 -1
  745. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +0 -209
  746. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts.map +0 -1
  747. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts +0 -150
  748. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts.map +0 -1
  749. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts +0 -59
  750. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts.map +0 -1
  751. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +0 -54
  752. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +0 -1
  753. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +0 -35
  754. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +0 -1
  755. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts +0 -5
  756. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts.map +0 -1
  757. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts +0 -16
  758. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts.map +0 -1
  759. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts +0 -49
  760. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts.map +0 -1
  761. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts +0 -5
  762. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts.map +0 -1
  763. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts +0 -55
  764. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts.map +0 -1
  765. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +0 -80
  766. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +0 -1
  767. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +0 -286
  768. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +0 -1
  769. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts +0 -13
  770. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts.map +0 -1
  771. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts +0 -31
  772. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts.map +0 -1
  773. package/projects/eo-sdk/core/lib/service/events/events.d.ts +0 -27
  774. package/projects/eo-sdk/core/lib/service/events/events.d.ts.map +0 -1
  775. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts +0 -66
  776. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts.map +0 -1
  777. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts +0 -20
  778. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts.map +0 -1
  779. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts +0 -25
  780. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts.map +0 -1
  781. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts +0 -78
  782. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts.map +0 -1
  783. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts +0 -9
  784. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts.map +0 -1
  785. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +0 -189
  786. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +0 -1
  787. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts +0 -10
  788. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts.map +0 -1
  789. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +0 -327
  790. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts.map +0 -1
  791. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts +0 -173
  792. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts.map +0 -1
  793. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +0 -52
  794. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +0 -1
  795. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts +0 -53
  796. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts.map +0 -1
  797. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts +0 -15
  798. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts.map +0 -1
  799. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts +0 -108
  800. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +0 -1
  801. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts +0 -74
  802. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts.map +0 -1
  803. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts +0 -125
  804. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +0 -1
  805. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts +0 -53
  806. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts.map +0 -1
  807. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts +0 -26
  808. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts.map +0 -1
  809. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts +0 -8
  810. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts.map +0 -1
  811. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts +0 -8
  812. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts.map +0 -1
  813. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts +0 -28
  814. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts.map +0 -1
  815. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts +0 -50
  816. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts.map +0 -1
  817. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +0 -216
  818. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +0 -1
  819. package/projects/eo-sdk/core/lib/util/utils.d.ts +0 -148
  820. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +0 -1
  821. package/projects/eo-sdk/core/public_api.d.ts +0 -82
  822. package/projects/eo-sdk/core/public_api.d.ts.map +0 -1
  823. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +0 -0
  824. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +0 -0
  825. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.mjs +0 -0
  826. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.mjs +0 -0
  827. /package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state/inbox.types.enum.mjs +0 -0
  828. /package/{esm2020 → esm2022}/app/eo-client/index.mjs +0 -0
  829. /package/{esm2020 → esm2022}/app/eo-client/notifications-state/notifications-state.interface.mjs +0 -0
  830. /package/{esm2020 → esm2022}/app/eo-client/object-state/object-state-service/object-state.interface.mjs +0 -0
  831. /package/{esm2020 → esm2022}/app/eo-client/settings/agent-lock-settings.enum.mjs +0 -0
  832. /package/{esm2020 → esm2022}/app/eo-framework/accordion/index.mjs +0 -0
  833. /package/{esm2020 → esm2022}/app/eo-framework/actions/actions/signature-action/signature.model.mjs +0 -0
  834. /package/{esm2020 → esm2022}/app/eo-framework/actions/index.mjs +0 -0
  835. /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action-component.interface.mjs +0 -0
  836. /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action-list-entry.mjs +0 -0
  837. /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action.interface.mjs +0 -0
  838. /package/{esm2020 → esm2022}/app/eo-framework/actions/selection-range.enum.mjs +0 -0
  839. /package/{esm2020 → esm2022}/app/eo-framework/animations/animations.mjs +0 -0
  840. /package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/app-search/app-search.interface.mjs +0 -0
  841. /package/{esm2020 → esm2022}/app/eo-framework/cta/index.mjs +0 -0
  842. /package/{esm2020 → esm2022}/app/eo-framework/error/index.mjs +0 -0
  843. /package/{esm2020 → esm2022}/app/eo-framework/form-elements/id-reference/animation/reference-finder.animation.mjs +0 -0
  844. /package/{esm2020 → esm2022}/app/eo-framework/form-elements/id-reference/interface/reference-finder.interface.mjs +0 -0
  845. /package/{esm2020 → esm2022}/app/eo-framework/form-elements/index.mjs +0 -0
  846. /package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/filter/setFilters/set-filters.interface.mjs +0 -0
  847. /package/{esm2020 → esm2022}/app/eo-framework/grid/filters/filesize-filter.component.mjs +0 -0
  848. /package/{esm2020 → esm2022}/app/eo-framework/grid/grid-filter.model.mjs +0 -0
  849. /package/{esm2020 → esm2022}/app/eo-framework/grid/index.mjs +0 -0
  850. /package/{esm2020 → esm2022}/app/eo-framework/grid/loader.interface.mjs +0 -0
  851. /package/{esm2020 → esm2022}/app/eo-framework/index.mjs +0 -0
  852. /package/{esm2020 → esm2022}/app/eo-framework/list-container/index.mjs +0 -0
  853. /package/{esm2020 → esm2022}/app/eo-framework/media/index.mjs +0 -0
  854. /package/{esm2020 → esm2022}/app/eo-framework/object-details/index.mjs +0 -0
  855. /package/{esm2020 → esm2022}/app/eo-framework/object-details/object-history/history-filter/history-filter.mjs +0 -0
  856. /package/{esm2020 → esm2022}/app/eo-framework/object-form/form-status-changed-event.interface.mjs +0 -0
  857. /package/{esm2020 → esm2022}/app/eo-framework/object-form/index.mjs +0 -0
  858. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +0 -0
  859. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-control-wrapper.mjs +0 -0
  860. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-control.mjs +0 -0
  861. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-group.model.mjs +0 -0
  862. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-script/object-form-script.interface.mjs +0 -0
  863. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form.model.mjs +0 -0
  864. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form-options.interface.mjs +0 -0
  865. /package/{esm2020 → esm2022}/app/eo-framework/plugins/index.mjs +0 -0
  866. /package/{esm2020 → esm2022}/app/eo-framework/process/process-file/file-entry-permissions.interface.mjs +0 -0
  867. /package/{esm2020 → esm2022}/app/eo-framework/quick-search/index.mjs +0 -0
  868. /package/{esm2020 → esm2022}/app/eo-framework/quick-search/quick-search/quick-search-result.interface.mjs +0 -0
  869. /package/{esm2020 → esm2022}/app/eo-framework/result-list/index.mjs +0 -0
  870. /package/{esm2020 → esm2022}/app/eo-framework/settings/change-password/change-password.interface.mjs +0 -0
  871. /package/{esm2020 → esm2022}/app/eo-framework/settings/index.mjs +0 -0
  872. /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/global-shortcut-action.interface.mjs +0 -0
  873. /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/global-shortcut-component.interface.mjs +0 -0
  874. /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/index.mjs +0 -0
  875. /package/{esm2020 → esm2022}/app/eo-framework/stored-query/index.mjs +0 -0
  876. /package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query-type-filter.enum.mjs +0 -0
  877. /package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query.interface.mjs +0 -0
  878. /package/{esm2020 → esm2022}/app/eo-framework/tree/index.mjs +0 -0
  879. /package/{esm2020 → esm2022}/app/eo-framework/tree/tree.component.interface.mjs +0 -0
  880. /package/{esm2020 → esm2022}/app/eo-framework/ui/index.mjs +0 -0
  881. /package/{esm2020 → esm2022}/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry.interface.mjs +0 -0
  882. /package/{esm2020 → esm2022}/app/eo-framework/util/index.mjs +0 -0
  883. /package/{esm2020 → esm2022}/app/eo-framework-core/agent/agent.interface.mjs +0 -0
  884. /package/{esm2020 → esm2022}/app/eo-framework-core/api/model/dms-object.api.interface.mjs +0 -0
  885. /package/{esm2020 → esm2022}/app/eo-framework-core/empty-state/empty-state.interface.mjs +0 -0
  886. /package/{esm2020 → esm2022}/app/eo-framework-core/error-handler/error-keys.mjs +0 -0
  887. /package/{esm2020 → esm2022}/app/eo-framework-core/index.mjs +0 -0
  888. /package/{esm2020 → esm2022}/app/eo-framework-core/pending-changes/pending-changes-component.interface.mjs +0 -0
  889. /package/{esm2020 → esm2022}/eo-sdk-client.mjs +0 -0
  890. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -0,0 +1,568 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
3
+ import { PreparedItem, Utils, DmsObject } from '@eo-sdk/core';
4
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@eo-sdk/core";
7
+ import * as i2 from "@angular/router";
8
+ import * as i3 from "../../eo-framework-core/pending-changes/pending-changes.service";
9
+ import * as i4 from "../../eo-framework-core/selection/selection.service";
10
+ import * as i5 from "@angular/common";
11
+ import * as i6 from "../object-form/object-form/object-form.component";
12
+ import * as i7 from "@ngx-translate/core";
13
+ import * as i8 from "../ui/eo-icon/eo-icon.component";
14
+ import * as i9 from "../ui/router-link/router-link.directive";
15
+ import * as i10 from "../ui/loading-spinner/loading-spinner.component";
16
+ import * as i11 from "../ui/overlay/overlay.component";
17
+ import * as i12 from "../ui/error-message/error-message.component";
18
+ import * as i13 from "../ui/eo-dialog/eo-dialog.component";
19
+ import * as i14 from "../media/media.component";
20
+ import * as i15 from "../grid/grid.component";
21
+ import * as i16 from "../grid/extensions/filter/custom/custom-filter.component";
22
+ import * as i17 from "../grid/extensions/filter/text/text-filter.component";
23
+ import * as i18 from "../grid/extensions/filter/setFilters/set-filter.component";
24
+ import * as i19 from "../list-container/list-container.component";
25
+ import * as i20 from "@yuuvis/components/split-view";
26
+ import * as i21 from "./prepare-content-exists-info/prepare-content-exists-info.component";
27
+ let PrepareDetailsComponent = class PrepareDetailsComponent {
28
+ set preparedItem(item) {
29
+ const objectToStringifiedValueArray = (obj) => JSON.stringify(Object.keys(obj || {}).sort().map(key => obj[key]));
30
+ const isProcessingAllowed = objectToStringifiedValueArray(this._preparedItem) !== objectToStringifiedValueArray(item);
31
+ if (item && item.types) {
32
+ item.types = item.types.sort(Utils.sortValues('label'));
33
+ }
34
+ this._preparedItem = item;
35
+ if (this.preparedItem && this.preparedItem.id && isProcessingAllowed) {
36
+ this.process();
37
+ // we need this for the O365 integration TUK-3576
38
+ this.pseudoDmsObject = new DmsObject({ id: this.preparedItem.id, version: 0 });
39
+ }
40
+ }
41
+ get preparedItem() {
42
+ return this._preparedItem;
43
+ }
44
+ get dataType() {
45
+ return this.preparedItem && this.preparedItem.selectedtype ? this.preparedItem.selectedtype.name : 'none';
46
+ }
47
+ set showDeleteDialog(val) {
48
+ this._showDeleteDialog = val;
49
+ if (this._showDeleteDialog) {
50
+ setTimeout(() => this.confirmDeleteButton.nativeElement.focus(), 0);
51
+ }
52
+ }
53
+ get showDeleteDialog() {
54
+ return this._showDeleteDialog;
55
+ }
56
+ set showContentDeleteDialog(val) {
57
+ this._showContentDeleteDialog = val;
58
+ if (this._showContentDeleteDialog) {
59
+ setTimeout(() => this.confirmContentDeleteButton.nativeElement.focus(), 0);
60
+ }
61
+ }
62
+ get showContentDeleteDialog() {
63
+ return this._showContentDeleteDialog;
64
+ }
65
+ constructor(prepareService, router, pendingChanges, translate, notification, systemService, selection, backend, capabilites) {
66
+ this.prepareService = prepareService;
67
+ this.router = router;
68
+ this.pendingChanges = pendingChanges;
69
+ this.translate = translate;
70
+ this.notification = notification;
71
+ this.systemService = systemService;
72
+ this.selection = selection;
73
+ this.backend = backend;
74
+ this.capabilites = capabilites;
75
+ // preparation is divided into several phases
76
+ // select an object type
77
+ this.PHASE_TYPE = 'type';
78
+ // add content
79
+ this.PHASE_CONTENT = 'content';
80
+ // set indexdata
81
+ this.PHASE_INDEXDATA = 'indexdata';
82
+ this.emptyState = { icon: 'assets/_default/svg/ic_error.svg', text: '', className: 'details-error' };
83
+ this.loading = false;
84
+ this._showDeleteDialog = false;
85
+ this._showContentDeleteDialog = false;
86
+ // title to be displayed in the details header
87
+ this.header = {
88
+ title: null,
89
+ location: {
90
+ label: null,
91
+ link: null
92
+ },
93
+ subtitle: null
94
+ };
95
+ this.colDefs = [{
96
+ headerName: '',
97
+ field: 'title',
98
+ cellRenderer: this.cellRenderer,
99
+ filter: false
100
+ }];
101
+ this.onItemChanged = new EventEmitter();
102
+ this.onCommit = new EventEmitter();
103
+ this.onItemRemove = new EventEmitter();
104
+ }
105
+ cellRenderer(params) {
106
+ return `<div class="template">
107
+ <div class="title">${params.data.title || ''}${params.data.content ? '<span class="title">' + ' (' + params.data.content.mimegroup + ')' + '</span>' : ''}</div>
108
+ <div class="description">${params.data.description || ''}</div>
109
+ <div class="tags">
110
+ ${params.data.tags.map(tag => `<span class="chip">${tag}</span>`).join('')}
111
+ </div>
112
+ </div>
113
+ `;
114
+ }
115
+ startPending() {
116
+ // because this method will be called every time the form status changes,
117
+ // pending task will only be started once until it was finished
118
+ if (!this.pendingChanges.hasPendingTask(this.pendingTaskId || ' ')) {
119
+ this.pendingTaskId = this.pendingChanges.startTask();
120
+ }
121
+ }
122
+ finishPending() {
123
+ this.pendingChanges.finishTask(this.pendingTaskId);
124
+ }
125
+ prepareFormContent(formData) {
126
+ const data = formData || this.selectedTypeObject.data;
127
+ this.formOptions = {
128
+ formModel: this.selectedTypeObject.form,
129
+ data: data
130
+ };
131
+ if (this.preparedItem.parent) {
132
+ this.formOptions.context = {
133
+ id: this.preparedItem.parent.id,
134
+ title: this.preparedItem.parent.title,
135
+ typeName: this.preparedItem.parent.type
136
+ };
137
+ }
138
+ }
139
+ resetObjectType() {
140
+ this.prepareService.updateChildType('dms:sysobject', this.preparedItem.id).subscribe(updatedPrepareItem => {
141
+ this.preparedItem = updatedPrepareItem;
142
+ this.onItemChanged.emit(updatedPrepareItem);
143
+ this.initPreparePhase(this.PHASE_TYPE);
144
+ });
145
+ }
146
+ /**
147
+ * Commits a prepared item. This will cause the temporary prepared object to be converted to a real DMS-Object.
148
+ * @param openLocationAfterCommit - when set to true, application will navigate to the objects location
149
+ */
150
+ commit(openLocationAfterCommit) {
151
+ setTimeout(() => {
152
+ if (this.formState && !this.formState.invalid) {
153
+ const formData = this.objectForm.getFormData();
154
+ this.committing = true;
155
+ this.prepareService
156
+ .commitPreparedItem(this.preparedItem.id, this.preparedItem.getSelectedTypeObject().name, formData)
157
+ .subscribe((res) => {
158
+ this.onCommit.emit(res);
159
+ this.finishPending();
160
+ if (openLocationAfterCommit) {
161
+ this.router.navigate(['/object', res]);
162
+ }
163
+ }, error => {
164
+ const { key, cause, uniquefields, created } = error.error;
165
+ if (key && key === 'DMS_METADATA_UNIQUE_VIOLATION_ERROR') {
166
+ this.notification.error(null, this.translate.instant('eo.unique.validation.error.hint', { field: uniquefields.toString() }));
167
+ }
168
+ else if (key && key === 'DMS_SYNCHRONOUS_INDEXING_FAILED') {
169
+ this.notification.warning(null, this.translate.instant('eo.prepare.commit.error.indexFailed'));
170
+ this.onCommit.emit(created.id);
171
+ this.finishPending();
172
+ if (openLocationAfterCommit) {
173
+ this.router.navigate(['/object', created.id]);
174
+ }
175
+ }
176
+ else if (cause) {
177
+ this.notification.error(null, cause.messages[0]);
178
+ }
179
+ else {
180
+ this.notification.error(this.translate.instant('eo.prepare.created.error.title'), this.translate.instant('eo.prepare.created.error.message'));
181
+ }
182
+ this.committing = false;
183
+ this.finishPending();
184
+ this.prepareFormContent(formData);
185
+ });
186
+ }
187
+ }, 500);
188
+ }
189
+ removeItem(item) {
190
+ this.finishPending();
191
+ this.onItemRemove.emit(item);
192
+ this._showDeleteDialog = false;
193
+ }
194
+ removeItemContent(item, deletedContentIndex) {
195
+ this.prepareService.deletePreparedItemContent(item.id, deletedContentIndex)
196
+ .subscribe((updatedItem) => {
197
+ this.preparedItem = updatedItem;
198
+ this.showContentDeleteDialog = false;
199
+ });
200
+ }
201
+ getFileNames(item) {
202
+ return (item.contents || []).map(c => c.path).join(', ');
203
+ }
204
+ /**
205
+ * Select a target object type for the current prepared item.
206
+ * @param type - the object types name to be set as target
207
+ */
208
+ selectObjectType(type) {
209
+ this.preparedItem.types
210
+ .forEach((t) => t.selected = (t.name === type.name));
211
+ this.prepareService
212
+ .updateChildType(type.name, this.preparedItem.id)
213
+ .subscribe(updatedPreparedItem => {
214
+ this.preparedItem = updatedPreparedItem;
215
+ this.onItemChanged.emit(updatedPreparedItem);
216
+ });
217
+ }
218
+ /**
219
+ * Add a template to the current prepared item.
220
+ * @param template - the template to be added
221
+ */
222
+ addTemplate(template) {
223
+ this.prepareService
224
+ .addTemplate(this.preparedItem.id, template.id)
225
+ .subscribe((updatedPreparedItem) => {
226
+ this.preparedItem = updatedPreparedItem;
227
+ this.onItemChanged.emit(updatedPreparedItem);
228
+ }, Utils.throw(null, this.translate.instant('eo.prepare.template.error.title'), this.translate.instant('eo.prepare.template.error.message')));
229
+ }
230
+ /**
231
+ * Select a template. Will show preview for the selected template.
232
+ * @param template - the template to be selected
233
+ */
234
+ selectTemplate(template) {
235
+ this.selectedTemplate = template;
236
+ this.selectedTemplateFile = !(template && template.content) ? null : {
237
+ uri: this.prepareService.getTemplatePreviewUri(this.selectedTemplate.id),
238
+ uriPdf: this.prepareService.getTemplatePreviewUri(this.selectedTemplate.id, 'PDF'),
239
+ mimetype: template.content.mimetype,
240
+ mimegroup: template.content.mimegroup,
241
+ size: template.content.size
242
+ };
243
+ }
244
+ setPreviewUri(index) {
245
+ Object.assign(this.preparePhase.data, this.getPreviewData(index));
246
+ }
247
+ // skip content selection for the current prepared item
248
+ // and continue setting indexdata
249
+ noFile() {
250
+ this.initPreparePhase(this.PHASE_INDEXDATA);
251
+ }
252
+ // trigger file upload
253
+ upload() {
254
+ // after the user selected a file fileChangeListener() will continue
255
+ this.file.nativeElement.click();
256
+ }
257
+ // onChange listener on hidden file input
258
+ fileChangeListener(event) {
259
+ const file = event[0];
260
+ this.uploadInProgress = true;
261
+ this.prepareService
262
+ .uploadContent(this.preparedItem.id, file)
263
+ .subscribe(res => {
264
+ // upload succeeded so we can go on to the next prepare phase
265
+ this.preparedItem = new PreparedItem(res);
266
+ this.onItemChanged.emit(this.preparedItem);
267
+ this.initPreparePhase(this.PHASE_INDEXDATA);
268
+ this.uploadInProgress = false;
269
+ }, Utils.throw(error => {
270
+ if (error.error && error.error.cause) {
271
+ this.notification.error(null, error.error.cause.messages[0]);
272
+ }
273
+ else if (error.error) {
274
+ this.notification.error(null, error.error.message);
275
+ }
276
+ else {
277
+ this.notification.error(this.translate.instant('eo.prepare.created.error.title'));
278
+ }
279
+ this.file.nativeElement.value = null;
280
+ this.committing = false;
281
+ this.uploadInProgress = false;
282
+ }, this.translate.instant('eo.upload.global.error.title'), this.translate.instant('eo.upload.global.error.description')));
283
+ }
284
+ onFormStatusChanged(evt) {
285
+ this.formState = evt;
286
+ if (this.formState.dirty) {
287
+ this.startPending();
288
+ }
289
+ else {
290
+ this.finishPending();
291
+ }
292
+ }
293
+ process() {
294
+ // todo: reset stuff
295
+ this.formState = null;
296
+ this.formOptions = null;
297
+ this.getPreparePhase();
298
+ }
299
+ /**
300
+ * Determine the prepare phase to be initialized based on the conditions
301
+ * of the current prepared item.
302
+ */
303
+ getPreparePhase() {
304
+ if (!this.preparedItem.getSelectedTypeObject()) {
305
+ // Step #1 select an object type if not yet set
306
+ this.initPreparePhase(this.PHASE_TYPE);
307
+ }
308
+ else if (!this.preparedItem.hasContent()) {
309
+ // Step #2 add content if not yet contained
310
+ this.initPreparePhase(this.PHASE_CONTENT);
311
+ }
312
+ else {
313
+ // Step #3 edit indexdata and save
314
+ this.initPreparePhase(this.PHASE_INDEXDATA);
315
+ }
316
+ }
317
+ createTemplate(selectedTypeObject) {
318
+ const type = this.systemService.getObjectType(selectedTypeObject.name);
319
+ this.loading = true;
320
+ this.prepareService
321
+ .getTemplates(selectedTypeObject.name)
322
+ .subscribe((templates) => {
323
+ const fileRequired = this.preparedItem.state.contentstate === 'REQUIRED';
324
+ const data = {
325
+ file: type.maxFiles > 0,
326
+ withoutFile: !(type.minFiles > 0) && !fileRequired,
327
+ templates: templates || []
328
+ };
329
+ // if the current object type does not support file upload or template contents
330
+ // we skip content phase and move on to indexdata phase
331
+ if (!data.file) {
332
+ this.initPreparePhase(this.PHASE_INDEXDATA);
333
+ }
334
+ else {
335
+ this.preparePhase = {
336
+ name: this.PHASE_CONTENT,
337
+ data: data
338
+ };
339
+ this.setupTitle();
340
+ }
341
+ this.tagFilterOptions = this.createTagFilterOptions(templates);
342
+ this.gridOptions = {
343
+ context: { count: this.preparePhase.data.templates.length },
344
+ rowData: this.preparePhase.data.templates.sort(Utils.sortValues('title')),
345
+ columnDefs: this.colDefs,
346
+ rowHeight: 80
347
+ };
348
+ this.loading = false;
349
+ });
350
+ }
351
+ createTagFilterOptions(templates) {
352
+ let tagFilterOptions = [];
353
+ templates.forEach(template => {
354
+ template.tags.forEach(tag => {
355
+ tagFilterOptions.push({ label: tag, filter: (node) => node.data.tags.includes(tag), value: true });
356
+ });
357
+ });
358
+ return Utils.uniqBy(tagFilterOptions, 'label');
359
+ }
360
+ /**
361
+ * Initialize a specific prepare phase.
362
+ * @param phase - phase to init (PHASE_TYPE, PHASE_CONTENT, PHASE_INDEXDATA)
363
+ */
364
+ initPreparePhase(phase) {
365
+ this.preparePhase = null;
366
+ this.selectedTypeObject = this.preparedItem.getSelectedTypeObject();
367
+ switch (phase) {
368
+ // init prepare phase for selecting the target object type
369
+ case this.PHASE_TYPE: {
370
+ this.preparePhase = {
371
+ name: this.PHASE_TYPE,
372
+ data: this.getPreviewData()
373
+ };
374
+ this.setupTitle();
375
+ break;
376
+ }
377
+ // init prepare phase for setting up content
378
+ case this.PHASE_CONTENT: {
379
+ this.chooseTemplate = false;
380
+ this.selectedTemplate = null;
381
+ // check whether or not the preparedItem already contains a file or template
382
+ if (this.preparedItem.hasContent()) {
383
+ if (!this.preparedItem.state.typeselectedallowed) {
384
+ // if the selected type is not allowed, we'll go back to the type select state ...
385
+ this.initPreparePhase(this.PHASE_TYPE);
386
+ }
387
+ else {
388
+ // ... otherwise we go on setting indexdata
389
+ this.initPreparePhase(this.PHASE_INDEXDATA);
390
+ }
391
+ }
392
+ else {
393
+ if (this.preparedItem.state.contentstate === 'NOCONTENTALLOWED') {
394
+ this.initPreparePhase(this.PHASE_INDEXDATA);
395
+ }
396
+ else {
397
+ this.createTemplate(this.selectedTypeObject);
398
+ }
399
+ }
400
+ break;
401
+ }
402
+ // init prepare phase for adding indexdata
403
+ case this.PHASE_INDEXDATA: {
404
+ this.chooseTemplate = false;
405
+ if (!this.preparedItem.state.typeselectedallowed) {
406
+ // if the selected type is not allowed, we'll go back to the type select state ...
407
+ this.initPreparePhase(this.PHASE_TYPE);
408
+ }
409
+ else {
410
+ this.prepareFormContent();
411
+ this.preparePhase = {
412
+ name: this.PHASE_INDEXDATA,
413
+ data: this.getPreviewData()
414
+ };
415
+ this.setupTitle();
416
+ }
417
+ break;
418
+ }
419
+ }
420
+ }
421
+ getPreviewData(index) {
422
+ if (this.preparedItem && this.preparedItem.contents && this.preparedItem.contents.length) {
423
+ index = index || 0;
424
+ return {
425
+ previewIndex: index,
426
+ previewFile: {
427
+ uri: this.prepareService.getPreviewUri(this.preparedItem.id, index),
428
+ uriPdf: this.prepareService.getPreviewUri(this.preparedItem.id, index, 'PDF'),
429
+ mimetype: this.preparedItem.contents[index].mimetype,
430
+ mimegroup: this.preparedItem.contents[index].mimegroup,
431
+ path: this.preparedItem.contents[index].path,
432
+ size: this.preparedItem.contents[index].size
433
+ }
434
+ };
435
+ }
436
+ return { previewFile: null };
437
+ }
438
+ /**
439
+ * Setup title for the current prepared item based on the
440
+ * current prepare phase. Should be called after prepare phase is identified.
441
+ */
442
+ setupTitle() {
443
+ this.translate.get([
444
+ 'eo.prepare.location.title.sysroot',
445
+ 'eo.prepare.location.title.prefix',
446
+ 'eo.prepare.details.type.title',
447
+ 'eo.prepare.details.type.subtitle',
448
+ 'eo.prepare.details.content.subtitle',
449
+ 'eo.prepare.details.indexdata.subtitle'
450
+ ]).subscribe(t => {
451
+ let header = {
452
+ title: null,
453
+ location: {
454
+ label: null,
455
+ link: null
456
+ },
457
+ subtitle: null
458
+ };
459
+ switch (this.preparePhase.name) {
460
+ case this.PHASE_TYPE: {
461
+ header.title = t['eo.prepare.details.type.title'];
462
+ header.subtitle = t['eo.prepare.details.type.subtitle'];
463
+ break;
464
+ }
465
+ case this.PHASE_CONTENT: {
466
+ const typeObject = this.preparedItem.getSelectedTypeObject();
467
+ header.title = typeObject ? typeObject.label : '';
468
+ header.subtitle = t['eo.prepare.details.content.subtitle'];
469
+ break;
470
+ }
471
+ case this.PHASE_INDEXDATA: {
472
+ const typeObject = this.preparedItem.getSelectedTypeObject();
473
+ header.title = typeObject ? typeObject.label : '';
474
+ header.subtitle = t['eo.prepare.details.indexdata.subtitle'];
475
+ break;
476
+ }
477
+ }
478
+ // set up location info
479
+ if (this.preparedItem.parent.type === 'sysroot') {
480
+ header.location = {
481
+ label: t['eo.prepare.location.title.sysroot'],
482
+ link: null
483
+ };
484
+ }
485
+ else {
486
+ const parentType = this.systemService.getObjectType(this.preparedItem.parent.type);
487
+ header.location = {
488
+ label: ` ${parentType.label}: ${this.preparedItem.parent.title}`,
489
+ link: `/object/${this.preparedItem.parent.id}`
490
+ };
491
+ }
492
+ this.header = header;
493
+ });
494
+ }
495
+ showTemplateSelector(show) {
496
+ this.chooseTemplate = show;
497
+ this.selectTemplate(this.preparePhase.data.templates[0]);
498
+ }
499
+ download() {
500
+ if (this.preparePhase) {
501
+ const file = this.preparePhase.name === 'content' ? this.selectedTemplateFile : this.preparePhase.data.previewFile;
502
+ if (file) {
503
+ this.backend.download(file.uri);
504
+ }
505
+ }
506
+ }
507
+ hasTemplateCapability() {
508
+ return this.capabilites.hasCapability('template');
509
+ }
510
+ trackByIdFn(index, item) {
511
+ return item.id;
512
+ }
513
+ trackByIndexFn(index, item) {
514
+ return index;
515
+ }
516
+ ngOnInit() {
517
+ if (this.applySelection) {
518
+ this.loading = true;
519
+ this.selection
520
+ .find(this.applySelection.in).focus$
521
+ .pipe(untilDestroyed(this))
522
+ .subscribe((res) => {
523
+ this.loading = false;
524
+ this.committing = false;
525
+ this.preparedItem = res;
526
+ });
527
+ }
528
+ }
529
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PrepareDetailsComponent, deps: [{ token: i1.PrepareService }, { token: i2.Router }, { token: i3.PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SystemService }, { token: i4.SelectionService }, { token: i1.BackendService }, { token: i1.CapabilitiesService }], target: i0.ɵɵFactoryTarget.Component }); }
530
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: PrepareDetailsComponent, selector: "eo-prepare-details", inputs: { preparedItem: "preparedItem", emptyState: "emptyState", applySelection: "applySelection" }, outputs: { onItemChanged: "onItemChanged", onCommit: "onCommit", onItemRemove: "onItemRemove" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true }, { propertyName: "objectForm", first: true, predicate: ["form"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }, { propertyName: "confirmContentDeleteButton", first: true, predicate: ["confirmContentDelete"], descendants: true }], ngImport: i0, template: "<div class=\"prepareDetails__wrapper\" *ngIf=\"!loading; else mainSpinner\">\n <section class=\"prepareDetails\" *ngIf=\"preparedItem && preparePhase; else noItem\"\n [ngClass]=\"{multifile: preparedItem.contentcount > 1, committing: committing}\">\n <div class=\"eo-head\">\n\n <div class=\"header-info\">\n <div class=\"header-title\">{{header.title}}</div>\n <div class=\"header-sub-title h-location\" *ngIf=\"!header.location.link; else linked\">{{header.location.label}}\n </div>\n <div class=\"header-sub-title h-subtitle\">{{header.subtitle}}</div>\n\n <ng-template #linked>\n <div class=\"header-sub-title h-subtitle-detailed\">\n <span translate>eo.prepare.location.title.prefix</span>\n <a [routerLink]=\"header.location.link\">{{header.location.label}}</a>\n </div>\n </ng-template>\n </div>\n\n <div class=\"actions\">\n <eo-icon class=\"btn btn-download\"\n *ngIf=\"preparePhase.name === 'content' ? selectedTemplateFile : preparePhase.data.previewFile\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" (click)=\"download()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <!-- buttons while choosing a template -->\n <ng-container *ngIf=\"chooseTemplate\">\n <button class=\"btn-tpl-abort\" (click)=\"showTemplateSelector(false)\"\n translate>eo.prepare.template.abort</button>\n <button class=\"primary btn-tpl-apply\" (click)=\"addTemplate(selectedTemplate)\" [disabled]=\"!selectedTemplate\"\n translate>eo.prepare.template.select</button>\n </ng-container>\n\n <ng-container *ngIf=\"preparePhase.name === 'indexdata'\">\n <button (click)=\"resetObjectType()\" translate>eo.prepare.resetObject</button>\n <button (click)=\"commit()\" class=\"btn-idx-save\"\n [ngClass]=\"{primary: preparedItem.state.parentisroot && preparedItem.contentcount > 1}\"\n [disabled]=\"formState?.invalid || committing\" translate>eo.prepare.save</button>\n\n <button (click)=\"commit(true)\" [disabled]=\"formState?.invalid || committing\" class=\"primary btn-idx-saveopen\"\n [hidden]=\"preparedItem?.state.parentisroot && preparedItem?.contentcount > 1\"\n translate>eo.prepare.saveopen</button>\n\n </ng-container>\n </div>\n\n </div>\n\n <div class=\"eo-body\" [ngSwitch]=\"preparePhase.name\" *ngIf=\"!committing; else spinner\">\n\n <!-- PHASE TYPE -->\n <div class=\"phase type\" *ngSwitchCase=\"'type'\">\n\n <!-- with preview -->\n <yvc-split-view *ngIf=\"preparePhase.data.previewFile; else nopreview\"\n [layoutSettingsID]=\"'prepare.details.phase.type'\">\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"form-files\">\n <div class=\"object-type-select empty\" *ngIf=\"preparedItem.types.length == 0\" translate>\n eo.prepare.details.type.empty</div>\n <div class=\"object-type-select empty\"\n *ngIf=\"!preparedItem.state.typeselectedallowed && preparedItem.state.typeselected\"\n [translateParams]=\"{type: preparedItem.selectedtype.label, filename: getFileNames(preparedItem)}\"\n translate>eo.prepare.details.type.notallowed</div>\n\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n\n\n <div class=\"content-select\">\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx;\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex == idx}\" (click)=\"setPreviewUri(idx)\">\n <span>{{content.path}}</span>\n <eo-icon class=\"btn btn-delete-content\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showContentDeleteDialog = true; deletedContentIndex = idx;\"></eo-icon>\n <div *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- without preview -->\n <ng-template #nopreview>\n <div class=\"form-files\">\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n </div>\n\n <!-- PHASE CONTENT -->\n <div class=\"phase content\" *ngSwitchCase=\"'content'\">\n\n <!-- panel for selecting a template to be used as items content -->\n <yvc-split-view *ngIf=\"chooseTemplate; else attach\" [layoutSettingsID]=\"'prepare.details.phase.content'\">\n <ng-template yvcSplitArea [size]=\"40\">\n <!-- list of available templates -->\n <eo-list-container #eoList [loading]=\"false\" class=\"templates\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_template.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.prepare.template.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [title]=\"'eo.list.filter' | translate\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.prepare.template.filter.text.title' | translate\"\n [matchFields]=\"['title', 'description', 'tags']\"\n [placeholder]=\"'eo.prepare.template.filter.text.title'\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.prepare.template.filter.set.title' | translate\"\n *ngIf=\"tagFilterOptions?.length\" [options]=\"tagFilterOptions\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"false\" [selectionLimit]=\"1\"\n (eoGridSelectionChanged)=\"selectTemplate($event[0])\">\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"60\">\n <!-- preview of selected template -->\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"selectedTemplateFile\"></eo-media>\n </ng-template>\n </yvc-split-view>\n\n <!-- add content general overview (upload, template, none) -->\n <ng-template #attach>\n\n <div class=\"info\" *ngIf=\"!uploadInProgress\" translate>eo.prepare.attachment.info</div>\n <input type=\"file\" #file (change)=\"fileChangeListener($event.target.files)\">\n\n <div class=\"attachments\" *ngIf=\"!uploadInProgress; else uploadspinner\">\n\n <!-- upload a file -->\n <div class=\"attachment att-file\" *ngIf=\"preparePhase.data.file\" (click)=\"upload()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_file_upload.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.upload.title</h3>\n <p translate>eo.prepare.attachment.upload.desc</p>\n </div>\n\n <!-- select a template -->\n <div class=\"attachment att-tmpl\" *ngIf=\"preparePhase.data.templates.length > 0 && hasTemplateCapability()\"\n (click)=\"showTemplateSelector(true)\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare_add.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.template.title</h3>\n <p translate>eo.prepare.attachment.template.desc</p>\n </div>\n\n <!-- no file -->\n <div class=\"attachment att-none\" *ngIf=\"preparePhase.data.withoutFile\" (click)=\"noFile()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.nofile.title</h3>\n <p translate>eo.prepare.attachment.nofile.desc</p>\n </div>\n\n </div>\n\n </ng-template>\n\n <!-- upload progress indicator -->\n <ng-template #uploadspinner>\n <div class=\"upload-indicator\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- PHASE INDEXDATA -->\n <div class=\"phase indexdata\" *ngSwitchCase=\"'indexdata'\">\n\n <!-- form and preview -->\n <yvc-split-view *ngIf=\"preparedItem.contents; else justform\" [layoutSettingsID]=\"'prepare.state'\">\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"form-files\">\n\n <!-- indexdata form -->\n <ng-container *ngTemplateOutlet=\"justform\"></ng-container>\n\n <!-- list of contents (in case of bulk upload) that can be previewed -->\n <div class=\"content-select\">\n\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex === idx}\" (click)=\"setPreviewUri(idx)\">\n {{content.path}} <span *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- just the form -->\n <ng-template #justform>\n <div class=\"form-container situation-create\" *ngIf=\"formOptions\">\n <eo-object-form #form [formOptions]=\"formOptions\" (statusChanged)=\"onFormStatusChanged($event)\">\n </eo-object-form>\n </div>\n </ng-template>\n </div>\n </div>\n </section>\n\n <ng-template #spinner>\n <div class=\"eo-body\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n </ng-template>\n\n</div>\n\n<ng-template #mainSpinner>\n <div class=\"prepareDetails__main-spinner\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n</ng-template>\n\n\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.prepare.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"removeItem(preparedItem)\" class=\"button primary\"\n translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.content.dialog.title' | translate\" [(visible)]=\"showContentDeleteDialog\"\n [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.content.dialog.message' | translate: ({contentPath: preparedItem?.contents ?\n preparedItem?.contents[deletedContentIndex]?.path : ''})}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showContentDeleteDialog = false\"\n translate>eo.prepare.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmContentDelete (click)=\"removeItemContent(preparedItem, deletedContentIndex)\"\n class=\"button primary\" translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n", styles: [":host{height:100%;--split-gutter-background-color: var(--panel-background)}:host yvc-split-view{height:100%}:host .prepareDetails{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .prepareDetails .eo-media-wrap{height:100%;display:flex;flex-flow:column}:host .prepareDetails .eo-media-wrap eo-media{flex:1;position:relative}:host .prepareDetails__wrapper{height:100%}:host .prepareDetails__main-spinner{height:100%;display:flex;justify-content:center;align-items:center}:host .prepareDetails .content-select{display:none}:host .prepareDetails .eo-head{background-color:var(--color-white);display:flex;flex-flow:row nowrap}:host .prepareDetails .eo-head .header-info{font-size:var(--font-caption);color:var(--text-color-caption);flex:1 1 auto}:host .prepareDetails .eo-head .header-info .header-title{font-size:var(--font-title);color:var(--text-color-body);padding-bottom:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .header-info a{color:var(--color-accent);cursor:pointer;text-decoration:none}:host .prepareDetails .eo-head .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .prepareDetails .eo-head .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .prepareDetails .eo-head .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .prepareDetails .eo-body{overflow-y:hidden}:host .prepareDetails .phase{height:100%;overflow-y:auto}:host .prepareDetails .phase.content{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates{background:linear-gradient(to right,#fff 70%,var(--panel-background-lightgrey) 100%)}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent!important}:host .prepareDetails .phase.content ::ng-deep yvc-split-view{width:100%;height:100%}:host .prepareDetails .phase.content input[type=file]{display:none}:host .prepareDetails .phase.content .info{flex:0 0 auto;color:var(--text-color-caption);margin-bottom:var(--app-pane-padding)}:host .prepareDetails .phase.content .attachments{flex:0 0 auto;display:flex;flex-flow:row}:host .prepareDetails .phase.content .attachments .attachment:hover .img eo-icon{opacity:1}:host .prepareDetails .phase.content .attachments .attachment{background:var(--color-white);cursor:pointer;margin:calc(var(--app-pane-padding) / 2);max-width:200px;border-bottom:1px solid rgba(var(--color-black-rgb),.1)}:host .prepareDetails .phase.content .attachments .attachment .img{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:calc(var(--app-pane-padding) * 2) 0;background:var(--color-accent)}:host .prepareDetails .phase.content .attachments .attachment .img eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;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}:host .prepareDetails .phase.content .attachments .attachment h3{font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);font-size:var(--font-subhead)}:host .prepareDetails .phase.content .attachments .attachment p{margin:0;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding);color:var(--text-color-caption)}:host .prepareDetails .phase div[eosplitgutter]{background-color:var(--color-light-blue)!important}:host .prepareDetails .phase.type .form-files .object-type-select{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type{display:flex;flex-flow:row nowrap;align-items:center;background:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin-bottom:1px;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}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .type-icon{color:var(--text-color-hint)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content{padding-left:calc(var(--app-pane-padding) / 2);overflow:hidden}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .title{font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .description{color:var(--text-color-caption);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase .form-container eo-object-form{display:block;margin:var(--app-pane-padding)}:host .prepareDetails.committing .eo-head .actions .btn,:host .prepareDetails.committing .eo-head .actions button{display:none}:host .prepareDetails.committing .eo-body{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails.multifile .form-files{height:100%;display:flex;flex-flow:column}:host .prepareDetails.multifile .form-files .form-container{flex:1 1 auto;overflow-y:auto}:host .prepareDetails.multifile .content-select{border-top:1px solid var(--main-background);overflow-y:auto;box-sizing:border-box;display:block;padding:calc(var(--app-pane-padding) / 2);flex:0 0 30%}:host .prepareDetails.multifile .content-select h2{margin:0;padding:calc(var(--app-pane-padding) / 2);padding-bottom:var(--app-pane-padding);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content{overflow:hidden;text-overflow:ellipsis;padding:calc(var(--app-pane-padding) / 2);margin-bottom:calc(var(--app-pane-padding) / 2);color:var(--text-color-caption);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;background:var(--color-white);justify-content:space-between;gap:8px}:host .prepareDetails.multifile .content-select .content>span{text-overflow:ellipsis;overflow:hidden;flex:1}:host .prepareDetails.multifile .content-select .content .btn-delete-content{width:16px;flex:0 0 16px;height:16px;color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content .btn-delete-content:hover{background-color:var(--text-color-hint)}:host .prepareDetails.multifile .content-select .content div.attention{display:block;flex:0 0 auto;right:4px;top:8px;border-radius:2px;padding:0 4px;color:var(--color-warning);line-height:1em;border:1px solid var(--color-warning)}:host .prepareDetails.multifile .content-select .content.selected{color:var(--color-accent)}:host .prepareDetails.multifile .content-select .content:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row .ag-cell{border-bottom-color:var(--panel-header-border-bottom-color)}:host ::ng-deep eo-list-container .eo-head{height:48px}:host ::ng-deep eo-list-container .eo-head,:host ::ng-deep eo-list-container .eo-grid-header,:host ::ng-deep eo-list-container .eo-grid-footer{background:transparent;border-color:var(--panel-header-border-bottom-color)}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon{color:var(--text-color-hint)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon:hover{color:var(--text-color-caption)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon.active{color:var(--color-accent)!important}:host ::ng-deep .eo-header-title{color:var(--text-color-caption)}:host ::ng-deep .eo-header-icon{color:var(--text-color-caption)}:host ::ng-deep .template{margin-bottom:1px;cursor:pointer;color:var(--text-color-caption)}:host ::ng-deep .template .title{font-size:var(--font-body);font-weight:var(--font-weight-bold)}:host ::ng-deep .template .description{color:var(--text-color-caption)}:host ::ng-deep .template .chip{display:initial!important}::ng-deep .prepare-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .prepare-delete__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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i6.ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i9.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: i10.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i11.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i12.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i13.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: i14.MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: i15.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: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i18.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i19.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: i21.PrepareContentExistsInfoComponent, selector: "eo-prepare-content-exists-info", inputs: ["content"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
531
+ };
532
+ PrepareDetailsComponent = __decorate([
533
+ UntilDestroy()
534
+ ], PrepareDetailsComponent);
535
+ export { PrepareDetailsComponent };
536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PrepareDetailsComponent, decorators: [{
537
+ type: Component,
538
+ args: [{ selector: 'eo-prepare-details', template: "<div class=\"prepareDetails__wrapper\" *ngIf=\"!loading; else mainSpinner\">\n <section class=\"prepareDetails\" *ngIf=\"preparedItem && preparePhase; else noItem\"\n [ngClass]=\"{multifile: preparedItem.contentcount > 1, committing: committing}\">\n <div class=\"eo-head\">\n\n <div class=\"header-info\">\n <div class=\"header-title\">{{header.title}}</div>\n <div class=\"header-sub-title h-location\" *ngIf=\"!header.location.link; else linked\">{{header.location.label}}\n </div>\n <div class=\"header-sub-title h-subtitle\">{{header.subtitle}}</div>\n\n <ng-template #linked>\n <div class=\"header-sub-title h-subtitle-detailed\">\n <span translate>eo.prepare.location.title.prefix</span>\n <a [routerLink]=\"header.location.link\">{{header.location.label}}</a>\n </div>\n </ng-template>\n </div>\n\n <div class=\"actions\">\n <eo-icon class=\"btn btn-download\"\n *ngIf=\"preparePhase.name === 'content' ? selectedTemplateFile : preparePhase.data.previewFile\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" (click)=\"download()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <!-- buttons while choosing a template -->\n <ng-container *ngIf=\"chooseTemplate\">\n <button class=\"btn-tpl-abort\" (click)=\"showTemplateSelector(false)\"\n translate>eo.prepare.template.abort</button>\n <button class=\"primary btn-tpl-apply\" (click)=\"addTemplate(selectedTemplate)\" [disabled]=\"!selectedTemplate\"\n translate>eo.prepare.template.select</button>\n </ng-container>\n\n <ng-container *ngIf=\"preparePhase.name === 'indexdata'\">\n <button (click)=\"resetObjectType()\" translate>eo.prepare.resetObject</button>\n <button (click)=\"commit()\" class=\"btn-idx-save\"\n [ngClass]=\"{primary: preparedItem.state.parentisroot && preparedItem.contentcount > 1}\"\n [disabled]=\"formState?.invalid || committing\" translate>eo.prepare.save</button>\n\n <button (click)=\"commit(true)\" [disabled]=\"formState?.invalid || committing\" class=\"primary btn-idx-saveopen\"\n [hidden]=\"preparedItem?.state.parentisroot && preparedItem?.contentcount > 1\"\n translate>eo.prepare.saveopen</button>\n\n </ng-container>\n </div>\n\n </div>\n\n <div class=\"eo-body\" [ngSwitch]=\"preparePhase.name\" *ngIf=\"!committing; else spinner\">\n\n <!-- PHASE TYPE -->\n <div class=\"phase type\" *ngSwitchCase=\"'type'\">\n\n <!-- with preview -->\n <yvc-split-view *ngIf=\"preparePhase.data.previewFile; else nopreview\"\n [layoutSettingsID]=\"'prepare.details.phase.type'\">\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"form-files\">\n <div class=\"object-type-select empty\" *ngIf=\"preparedItem.types.length == 0\" translate>\n eo.prepare.details.type.empty</div>\n <div class=\"object-type-select empty\"\n *ngIf=\"!preparedItem.state.typeselectedallowed && preparedItem.state.typeselected\"\n [translateParams]=\"{type: preparedItem.selectedtype.label, filename: getFileNames(preparedItem)}\"\n translate>eo.prepare.details.type.notallowed</div>\n\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n\n\n <div class=\"content-select\">\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx;\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex == idx}\" (click)=\"setPreviewUri(idx)\">\n <span>{{content.path}}</span>\n <eo-icon class=\"btn btn-delete-content\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showContentDeleteDialog = true; deletedContentIndex = idx;\"></eo-icon>\n <div *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- without preview -->\n <ng-template #nopreview>\n <div class=\"form-files\">\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n </div>\n\n <!-- PHASE CONTENT -->\n <div class=\"phase content\" *ngSwitchCase=\"'content'\">\n\n <!-- panel for selecting a template to be used as items content -->\n <yvc-split-view *ngIf=\"chooseTemplate; else attach\" [layoutSettingsID]=\"'prepare.details.phase.content'\">\n <ng-template yvcSplitArea [size]=\"40\">\n <!-- list of available templates -->\n <eo-list-container #eoList [loading]=\"false\" class=\"templates\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_template.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.prepare.template.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [title]=\"'eo.list.filter' | translate\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.prepare.template.filter.text.title' | translate\"\n [matchFields]=\"['title', 'description', 'tags']\"\n [placeholder]=\"'eo.prepare.template.filter.text.title'\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.prepare.template.filter.set.title' | translate\"\n *ngIf=\"tagFilterOptions?.length\" [options]=\"tagFilterOptions\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"false\" [selectionLimit]=\"1\"\n (eoGridSelectionChanged)=\"selectTemplate($event[0])\">\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"60\">\n <!-- preview of selected template -->\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"selectedTemplateFile\"></eo-media>\n </ng-template>\n </yvc-split-view>\n\n <!-- add content general overview (upload, template, none) -->\n <ng-template #attach>\n\n <div class=\"info\" *ngIf=\"!uploadInProgress\" translate>eo.prepare.attachment.info</div>\n <input type=\"file\" #file (change)=\"fileChangeListener($event.target.files)\">\n\n <div class=\"attachments\" *ngIf=\"!uploadInProgress; else uploadspinner\">\n\n <!-- upload a file -->\n <div class=\"attachment att-file\" *ngIf=\"preparePhase.data.file\" (click)=\"upload()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_file_upload.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.upload.title</h3>\n <p translate>eo.prepare.attachment.upload.desc</p>\n </div>\n\n <!-- select a template -->\n <div class=\"attachment att-tmpl\" *ngIf=\"preparePhase.data.templates.length > 0 && hasTemplateCapability()\"\n (click)=\"showTemplateSelector(true)\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare_add.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.template.title</h3>\n <p translate>eo.prepare.attachment.template.desc</p>\n </div>\n\n <!-- no file -->\n <div class=\"attachment att-none\" *ngIf=\"preparePhase.data.withoutFile\" (click)=\"noFile()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.nofile.title</h3>\n <p translate>eo.prepare.attachment.nofile.desc</p>\n </div>\n\n </div>\n\n </ng-template>\n\n <!-- upload progress indicator -->\n <ng-template #uploadspinner>\n <div class=\"upload-indicator\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- PHASE INDEXDATA -->\n <div class=\"phase indexdata\" *ngSwitchCase=\"'indexdata'\">\n\n <!-- form and preview -->\n <yvc-split-view *ngIf=\"preparedItem.contents; else justform\" [layoutSettingsID]=\"'prepare.state'\">\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"form-files\">\n\n <!-- indexdata form -->\n <ng-container *ngTemplateOutlet=\"justform\"></ng-container>\n\n <!-- list of contents (in case of bulk upload) that can be previewed -->\n <div class=\"content-select\">\n\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex === idx}\" (click)=\"setPreviewUri(idx)\">\n {{content.path}} <span *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- just the form -->\n <ng-template #justform>\n <div class=\"form-container situation-create\" *ngIf=\"formOptions\">\n <eo-object-form #form [formOptions]=\"formOptions\" (statusChanged)=\"onFormStatusChanged($event)\">\n </eo-object-form>\n </div>\n </ng-template>\n </div>\n </div>\n </section>\n\n <ng-template #spinner>\n <div class=\"eo-body\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n </ng-template>\n\n</div>\n\n<ng-template #mainSpinner>\n <div class=\"prepareDetails__main-spinner\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n</ng-template>\n\n\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.prepare.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"removeItem(preparedItem)\" class=\"button primary\"\n translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.content.dialog.title' | translate\" [(visible)]=\"showContentDeleteDialog\"\n [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.content.dialog.message' | translate: ({contentPath: preparedItem?.contents ?\n preparedItem?.contents[deletedContentIndex]?.path : ''})}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showContentDeleteDialog = false\"\n translate>eo.prepare.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmContentDelete (click)=\"removeItemContent(preparedItem, deletedContentIndex)\"\n class=\"button primary\" translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n", styles: [":host{height:100%;--split-gutter-background-color: var(--panel-background)}:host yvc-split-view{height:100%}:host .prepareDetails{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .prepareDetails .eo-media-wrap{height:100%;display:flex;flex-flow:column}:host .prepareDetails .eo-media-wrap eo-media{flex:1;position:relative}:host .prepareDetails__wrapper{height:100%}:host .prepareDetails__main-spinner{height:100%;display:flex;justify-content:center;align-items:center}:host .prepareDetails .content-select{display:none}:host .prepareDetails .eo-head{background-color:var(--color-white);display:flex;flex-flow:row nowrap}:host .prepareDetails .eo-head .header-info{font-size:var(--font-caption);color:var(--text-color-caption);flex:1 1 auto}:host .prepareDetails .eo-head .header-info .header-title{font-size:var(--font-title);color:var(--text-color-body);padding-bottom:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .header-info a{color:var(--color-accent);cursor:pointer;text-decoration:none}:host .prepareDetails .eo-head .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .prepareDetails .eo-head .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .prepareDetails .eo-head .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .prepareDetails .eo-body{overflow-y:hidden}:host .prepareDetails .phase{height:100%;overflow-y:auto}:host .prepareDetails .phase.content{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates{background:linear-gradient(to right,#fff 70%,var(--panel-background-lightgrey) 100%)}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent!important}:host .prepareDetails .phase.content ::ng-deep yvc-split-view{width:100%;height:100%}:host .prepareDetails .phase.content input[type=file]{display:none}:host .prepareDetails .phase.content .info{flex:0 0 auto;color:var(--text-color-caption);margin-bottom:var(--app-pane-padding)}:host .prepareDetails .phase.content .attachments{flex:0 0 auto;display:flex;flex-flow:row}:host .prepareDetails .phase.content .attachments .attachment:hover .img eo-icon{opacity:1}:host .prepareDetails .phase.content .attachments .attachment{background:var(--color-white);cursor:pointer;margin:calc(var(--app-pane-padding) / 2);max-width:200px;border-bottom:1px solid rgba(var(--color-black-rgb),.1)}:host .prepareDetails .phase.content .attachments .attachment .img{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:calc(var(--app-pane-padding) * 2) 0;background:var(--color-accent)}:host .prepareDetails .phase.content .attachments .attachment .img eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;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}:host .prepareDetails .phase.content .attachments .attachment h3{font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);font-size:var(--font-subhead)}:host .prepareDetails .phase.content .attachments .attachment p{margin:0;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding);color:var(--text-color-caption)}:host .prepareDetails .phase div[eosplitgutter]{background-color:var(--color-light-blue)!important}:host .prepareDetails .phase.type .form-files .object-type-select{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type{display:flex;flex-flow:row nowrap;align-items:center;background:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin-bottom:1px;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}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .type-icon{color:var(--text-color-hint)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content{padding-left:calc(var(--app-pane-padding) / 2);overflow:hidden}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .title{font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .description{color:var(--text-color-caption);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase .form-container eo-object-form{display:block;margin:var(--app-pane-padding)}:host .prepareDetails.committing .eo-head .actions .btn,:host .prepareDetails.committing .eo-head .actions button{display:none}:host .prepareDetails.committing .eo-body{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails.multifile .form-files{height:100%;display:flex;flex-flow:column}:host .prepareDetails.multifile .form-files .form-container{flex:1 1 auto;overflow-y:auto}:host .prepareDetails.multifile .content-select{border-top:1px solid var(--main-background);overflow-y:auto;box-sizing:border-box;display:block;padding:calc(var(--app-pane-padding) / 2);flex:0 0 30%}:host .prepareDetails.multifile .content-select h2{margin:0;padding:calc(var(--app-pane-padding) / 2);padding-bottom:var(--app-pane-padding);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content{overflow:hidden;text-overflow:ellipsis;padding:calc(var(--app-pane-padding) / 2);margin-bottom:calc(var(--app-pane-padding) / 2);color:var(--text-color-caption);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;background:var(--color-white);justify-content:space-between;gap:8px}:host .prepareDetails.multifile .content-select .content>span{text-overflow:ellipsis;overflow:hidden;flex:1}:host .prepareDetails.multifile .content-select .content .btn-delete-content{width:16px;flex:0 0 16px;height:16px;color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content .btn-delete-content:hover{background-color:var(--text-color-hint)}:host .prepareDetails.multifile .content-select .content div.attention{display:block;flex:0 0 auto;right:4px;top:8px;border-radius:2px;padding:0 4px;color:var(--color-warning);line-height:1em;border:1px solid var(--color-warning)}:host .prepareDetails.multifile .content-select .content.selected{color:var(--color-accent)}:host .prepareDetails.multifile .content-select .content:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row .ag-cell{border-bottom-color:var(--panel-header-border-bottom-color)}:host ::ng-deep eo-list-container .eo-head{height:48px}:host ::ng-deep eo-list-container .eo-head,:host ::ng-deep eo-list-container .eo-grid-header,:host ::ng-deep eo-list-container .eo-grid-footer{background:transparent;border-color:var(--panel-header-border-bottom-color)}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon{color:var(--text-color-hint)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon:hover{color:var(--text-color-caption)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon.active{color:var(--color-accent)!important}:host ::ng-deep .eo-header-title{color:var(--text-color-caption)}:host ::ng-deep .eo-header-icon{color:var(--text-color-caption)}:host ::ng-deep .template{margin-bottom:1px;cursor:pointer;color:var(--text-color-caption)}:host ::ng-deep .template .title{font-size:var(--font-body);font-weight:var(--font-weight-bold)}:host ::ng-deep .template .description{color:var(--text-color-caption)}:host ::ng-deep .template .chip{display:initial!important}::ng-deep .prepare-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .prepare-delete__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"] }]
539
+ }], ctorParameters: () => [{ type: i1.PrepareService }, { type: i2.Router }, { type: i3.PendingChangesService }, { type: i1.TranslateService }, { type: i1.NotificationsService }, { type: i1.SystemService }, { type: i4.SelectionService }, { type: i1.BackendService }, { type: i1.CapabilitiesService }], propDecorators: { file: [{
540
+ type: ViewChild,
541
+ args: ['file']
542
+ }], objectForm: [{
543
+ type: ViewChild,
544
+ args: ['form']
545
+ }], confirmDeleteButton: [{
546
+ type: ViewChild,
547
+ args: ['confirmDelete']
548
+ }], confirmContentDeleteButton: [{
549
+ type: ViewChild,
550
+ args: ['confirmContentDelete']
551
+ }], preparedItem: [{
552
+ type: Input,
553
+ args: ['preparedItem']
554
+ }], emptyState: [{
555
+ type: Input
556
+ }], applySelection: [{
557
+ type: Input
558
+ }], onItemChanged: [{
559
+ type: Output
560
+ }], onCommit: [{
561
+ type: Output
562
+ }], onItemRemove: [{
563
+ type: Output
564
+ }], dataType: [{
565
+ type: HostBinding,
566
+ args: ['attr.data-type']
567
+ }] } });
568
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3ByZXBhcmUtZGV0YWlscy9wcmVwYXJlLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcHJlcGFyZS1kZXRhaWxzL3ByZXBhcmUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpILE9BQU8sRUFLTCxZQUFZLEVBS1osS0FBSyxFQUNMLFNBQVMsRUFDVixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCNUQsSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUF5QmxDLElBQ0ksWUFBWSxDQUFDLElBQWtCO1FBQ2pDLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsSCxNQUFNLG1CQUFtQixHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0SCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7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Qjt3VUFhWCxJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU07Z0JBQ0UsVUFBVTtzQkFBNUIsU0FBUzt1QkFBQyxNQUFNO2dCQUNXLG1CQUFtQjtzQkFBOUMsU0FBUzt1QkFBQyxlQUFlO2dCQUNTLDBCQUEwQjtzQkFBNUQsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBYzdCLFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxjQUFjO2dCQW9CWixVQUFVO3NCQUFsQixLQUFLO2dCQWlDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUdILFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEJhY2tlbmRTZXJ2aWNlLCBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgT2JqZWN0VHlwZSxcbiAgUHJlcGFyZVNlcnZpY2UsXG4gIFByZXBhcmVkSXRlbSxcbiAgUHJlcGFyZWRJdGVtVGVtcGxhdGUsXG4gIFByZXBhcmVkSXRlbVR5cGUsXG4gIFN5c3RlbVNlcnZpY2UsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG4gIFV0aWxzLFxuICBEbXNPYmplY3Rcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25Db25maWcsIFNlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1ByZXZpZXdGaWxlfSBmcm9tICcuLi9tZWRpYS9tZWRpYS5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtU3RhdHVzQ2hhbmdlZEV2ZW50fSBmcm9tICcuLi9vYmplY3QtZm9ybS9mb3JtLXN0YXR1cy1jaGFuZ2VkLWV2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQge09iamVjdEZvcm1PcHRpb25zfSBmcm9tICcuLi9vYmplY3QtZm9ybS9pbmRleCc7XG5pbXBvcnQge09iamVjdEZvcm1Db21wb25lbnR9IGZyb20gJy4uL29iamVjdC1mb3JtL29iamVjdC1mb3JtL29iamVjdC1mb3JtLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZVBoYXNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBkYXRhOiB7XG4gICAgcHJldmlld0luZGV4PzogbnVtYmVyLFxuICAgIHByZXZpZXdGaWxlPzogUHJldmlld0ZpbGUsXG4gICAgZmlsZT86IGJvb2xlYW4sXG4gICAgd2l0aG91dEZpbGU/OiBib29sZWFuLFxuICAgIHRlbXBsYXRlcz86IGFueVtdXG4gIH07XG59XG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXByZXBhcmUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmVwYXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcmVwYXJlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcmVwYXJlRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcblxuICAvLyBJRCBzZXQgYnkgcGVuZGluZ0NoYW5nZXMgc2VydmljZSB3aGVuIGVkaXRpbmcgaW5kZXhkYXRhXG4gIC8vIFVzZWQgdG8gZmluaXNoIHRoZSBwZW5kaW5nIHRhc2sgd2hlbiBlZGl0aW5nIGlzIGRvbmVcbiAgcHJpdmF0ZSBwZW5kaW5nVGFza0lkOiBzdHJpbmc7XG4gIHByaXZhdGUgc2VsZWN0ZWRUeXBlT2JqZWN0O1xuXG4gIC8vIGhpZGRlbiBmaWxlIGlucHV0IHRvIHRyaWdnZXIgZmlsZSB1cGxvYWRzXG4gIEBWaWV3Q2hpbGQoJ2ZpbGUnKSBmaWxlOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdmb3JtJykgb2JqZWN0Rm9ybTogT2JqZWN0Rm9ybUNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnY29uZmlybURlbGV0ZScpIGNvbmZpcm1EZWxldGVCdXR0b246IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm1Db250ZW50RGVsZXRlJykgY29uZmlybUNvbnRlbnREZWxldGVCdXR0b246IEVsZW1lbnRSZWY7XG5cbiAgLy8gcHJlcGFyYXRpb24gaXMgZGl2aWRlZCBpbnRvIHNldmVyYWwgcGhhc2VzXG4gIC8vIHNlbGVjdCBhbiBvYmplY3QgdHlwZVxuICBQSEFTRV9UWVBFID0gJ3R5cGUnO1xuICAvLyBhZGQgY29udGVudFxuICBQSEFTRV9DT05URU5UID0gJ2NvbnRlbnQnO1xuICAvLyBzZXQgaW5kZXhkYXRhXG4gIFBIQVNFX0lOREVYREFUQSA9ICdpbmRleGRhdGEnO1xuXG4gIF9wcmVwYXJlZEl0ZW06IFByZXBhcmVkSXRlbTtcbiAgcHNldWRvRG1zT2JqZWN0OiBEbXNPYmplY3Q7XG5cbiAgQElucHV0KCdwcmVwYXJlZEl0ZW0nKVxuICBzZXQgcHJlcGFyZWRJdGVtKGl0ZW06IFByZXBhcmVkSXRlbSkge1xuICAgIGNvbnN0IG9iamVjdFRvU3RyaW5naWZpZWRWYWx1ZUFycmF5ID0gKG9iaikgPT4gSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmtleXMob2JqIHx8IHt9KS5zb3J0KCkubWFwKGtleSA9PiBvYmpba2V5XSkpO1xuICAgIGNvbnN0IGlzUHJvY2Vzc2luZ0FsbG93ZWQgPSBvYmplY3RUb1N0cmluZ2lmaWVkVmFsdWVBcnJheSh0aGlzLl9wcmVwYXJlZEl0ZW0pICE9PSBvYmplY3RUb1N0cmluZ2lmaWVkVmFsdWVBcnJheShpdGVtKTtcbiAgICBpZiAoaXRlbSAmJiBpdGVtLnR5cGVzKSB7XG4gICAgICBpdGVtLnR5cGVzID0gaXRlbS50eXBlcy5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpO1xuICAgIH1cbiAgICB0aGlzLl9wcmVwYXJlZEl0ZW0gPSBpdGVtO1xuICAgIGlmICh0aGlzLnByZXBhcmVkSXRlbSAmJiB0aGlzLnByZXBhcmVkSXRlbS5pZCAmJiBpc1Byb2Nlc3NpbmdBbGxvd2VkKSB7XG4gICAgICB0aGlzLnByb2Nlc3MoKTtcbiAgICAgIC8vIHdlIG5lZWQgdGhpcyBmb3IgdGhlIE8zNjUgaW50ZWdyYXRpb24gVFVLLTM1NzZcbiAgICAgIHRoaXMucHNldWRvRG1zT2JqZWN0ID0gbmV3IERtc09iamVjdCh7aWQ6IHRoaXMucHJlcGFyZWRJdGVtLmlkLCB2ZXJzaW9uOiAwfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHByZXBhcmVkSXRlbSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcHJlcGFyZWRJdGVtO1xuICB9XG5cblxuICBASW5wdXQoKSBlbXB0eVN0YXRlID0ge2ljb246ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Vycm9yLnN2ZycsIHRleHQ6ICcnLCBjbGFzc05hbWU6ICdkZXRhaWxzLWVycm9yJ307XG5cbiAgcHJlcGFyZVBoYXNlOiBQcmVwYXJlUGhhc2U7XG4gIHNlbGVjdGVkVGVtcGxhdGU6IFByZXBhcmVkSXRlbVRlbXBsYXRlO1xuICBzZWxlY3RlZFRlbXBsYXRlRmlsZTogUHJldmlld0ZpbGU7XG4gIGZvcm1PcHRpb25zOiBPYmplY3RGb3JtT3B0aW9ucztcbiAgZm9ybVN0YXRlOiBGb3JtU3RhdHVzQ2hhbmdlZEV2ZW50O1xuICBjaG9vc2VUZW1wbGF0ZTogYm9vbGVhbjtcbiAgdXBsb2FkSW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgY29tbWl0dGluZzogYm9vbGVhbjtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICB0YWdGaWx0ZXJPcHRpb25zOiBhbnk7XG4gIF9zaG93RGVsZXRlRGlhbG9nID0gZmFsc2U7XG4gIF9zaG93Q29udGVudERlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICBkZWxldGVkQ29udGVudEluZGV4OiBudW1iZXI7XG5cbiAgLy8gdGl0bGUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBkZXRhaWxzIGhlYWRlclxuICBoZWFkZXIgPSB7XG4gICAgdGl0bGU6IG51bGwsXG4gICAgbG9jYXRpb246IHtcbiAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgbGluazogbnVsbFxuICAgIH0sXG4gICAgc3VidGl0bGU6IG51bGxcbiAgfTtcblxuICBjb2xEZWZzOiBDb2xEZWZbXSA9IFt7XG4gICAgaGVhZGVyTmFtZTogJycsXG4gICAgZmllbGQ6ICd0aXRsZScsXG4gICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICBmaWx0ZXI6IGZhbHNlXG4gIH1dO1xuXG4gIEBJbnB1dCgpIGFwcGx5U2VsZWN0aW9uOiBTZWxlY3Rpb25Db25maWc7XG5cbiAgQE91dHB1dCgpIG9uSXRlbUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFByZXBhcmVkSXRlbT4oKTtcbiAgQE91dHB1dCgpIG9uQ29tbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBvbkl0ZW1SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFByZXBhcmVkSXRlbT4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10eXBlJylcbiAgZ2V0IGRhdGFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnByZXBhcmVkSXRlbSAmJiB0aGlzLnByZXBhcmVkSXRlbS5zZWxlY3RlZHR5cGUgPyB0aGlzLnByZXBhcmVkSXRlbS5zZWxlY3RlZHR5cGUubmFtZSA6ICdub25lJztcbiAgfVxuXG4gIHNldCBzaG93RGVsZXRlRGlhbG9nKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dEZWxldGVEaWFsb2cgPSB2YWw7XG5cbiAgICBpZiAodGhpcy5fc2hvd0RlbGV0ZURpYWxvZykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNvbmZpcm1EZWxldGVCdXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpLCAwKTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2hvd0RlbGV0ZURpYWxvZygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0RlbGV0ZURpYWxvZztcbiAgfVxuXG4gIHNldCBzaG93Q29udGVudERlbGV0ZURpYWxvZyh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93Q29udGVudERlbGV0ZURpYWxvZyA9IHZhbDtcblxuICAgIGlmICh0aGlzLl9zaG93Q29udGVudERlbGV0ZURpYWxvZykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNvbmZpcm1Db250ZW50RGVsZXRlQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dDb250ZW50RGVsZXRlRGlhbG9nKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93Q29udGVudERlbGV0ZURpYWxvZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJlcGFyZVNlcnZpY2U6IFByZXBhcmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdGVzOiBDYXBhYmlsaXRpZXNTZXJ2aWNlKSB7XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwidGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCAnJ30ke3BhcmFtcy5kYXRhLmNvbnRlbnQgPyAnPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPicgKyAnICgnICsgcGFyYW1zLmRhdGEuY29udGVudC5taW1lZ3JvdXAgKyAnKScgKyAnPC9zcGFuPicgOiAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+JHtwYXJhbXMuZGF0YS5kZXNjcmlwdGlvbiB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3NcIj5cbiAgICAgICAgICAgICAgICAke3BhcmFtcy5kYXRhLnRhZ3MubWFwKHRhZyA9PiBgPHNwYW4gY2xhc3M9XCJjaGlwXCI+JHt0YWd9PC9zcGFuPmApLmpvaW4oJycpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGA7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UGVuZGluZygpIHtcbiAgICAvLyBiZWNhdXNlIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGV2ZXJ5IHRpbWUgdGhlIGZvcm0gc3RhdHVzIGNoYW5nZXMsXG4gICAgLy8gcGVuZGluZyB0YXNrIHdpbGwgb25seSBiZSBzdGFydGVkIG9uY2UgdW50aWwgaXQgd2FzIGZpbmlzaGVkXG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKHRoaXMucGVuZGluZ1Rhc2tJZCB8fCAnICcpKSB7XG4gICAgICB0aGlzLnBlbmRpbmdUYXNrSWQgPSB0aGlzLnBlbmRpbmdDaGFuZ2VzLnN0YXJ0VGFzaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoUGVuZGluZygpIHtcbiAgICB0aGlzLnBlbmRpbmdDaGFuZ2VzLmZpbmlzaFRhc2sodGhpcy5wZW5kaW5nVGFza0lkKTtcbiAgfVxuXG4gIHByZXBhcmVGb3JtQ29udGVudChmb3JtRGF0YT8pIHtcbiAgICBjb25zdCBkYXRhID0gZm9ybURhdGEgfHwgdGhpcy5zZWxlY3RlZFR5cGVPYmplY3QuZGF0YTtcbiAgICB0aGlzLmZvcm1PcHRpb25zID0ge1xuICAgICAgZm9ybU1vZGVsOiB0aGlzLnNlbGVjdGVkVHlwZU9iamVjdC5mb3JtLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH07XG4gICAgaWYgKHRoaXMucHJlcGFyZWRJdGVtLnBhcmVudCkge1xuICAgICAgdGhpcy5mb3JtT3B0aW9ucy5jb250ZXh0ID0ge1xuICAgICAgICBpZDogdGhpcy5wcmVwYXJlZEl0ZW0ucGFyZW50LmlkLFxuICAgICAgICB0aXRsZTogdGhpcy5wcmVwYXJlZEl0ZW0ucGFyZW50LnRpdGxlLFxuICAgICAgICB0eXBlTmFtZTogdGhpcy5wcmVwYXJlZEl0ZW0ucGFyZW50LnR5cGVcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmVzZXRPYmplY3RUeXBlKCkge1xuICAgIHRoaXMucHJlcGFyZVNlcnZpY2UudXBkYXRlQ2hpbGRUeXBlKCdkbXM6c3lzb2JqZWN0JywgdGhpcy5wcmVwYXJlZEl0ZW0uaWQpLnN1YnNjcmliZSh1cGRhdGVkUHJlcGFyZUl0ZW0gPT4ge1xuICAgICAgdGhpcy5wcmVwYXJlZEl0ZW0gPSB1cGRhdGVkUHJlcGFyZUl0ZW07XG4gICAgICB0aGlzLm9uSXRlbUNoYW5nZWQuZW1pdCh1cGRhdGVkUHJlcGFyZUl0ZW0pO1xuICAgICAgdGhpcy5pbml0UHJlcGFyZVBoYXNlKHRoaXMuUEhBU0VfVFlQRSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWl0cyBhIHByZXBhcmVkIGl0ZW0uIFRoaXMgd2lsbCBjYXVzZSB0aGUgdGVtcG9yYXJ5IHByZXBhcmVkIG9iamVjdCB0byBiZSBjb252ZXJ0ZWQgdG8gYSByZWFsIERNUy1PYmplY3QuXG4gICAqIEBwYXJhbSBvcGVuTG9jYXRpb25BZnRlckNvbW1pdCAtIHdoZW4gc2V0IHRvIHRydWUsIGFwcGxpY2F0aW9uIHdpbGwgbmF2aWdhdGUgdG8gdGhlIG9iamVjdHMgbG9jYXRpb25cbiAgICovXG4gIGNvbW1pdChvcGVuTG9jYXRpb25BZnRlckNvbW1pdD86IGJvb2xlYW4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm1TdGF0ZSAmJiAhdGhpcy5mb3JtU3RhdGUuaW52YWxpZCkge1xuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMub2JqZWN0Rm9ybS5nZXRGb3JtRGF0YSgpO1xuICAgICAgICB0aGlzLmNvbW1pdHRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnByZXBhcmVTZXJ2aWNlXG4gICAgICAgICAgLmNvbW1pdFByZXBhcmVkSXRlbSh0aGlzLnByZXBhcmVkSXRlbS5pZCwgdGhpcy5wcmVwYXJlZEl0ZW0uZ2V0U2VsZWN0ZWRUeXBlT2JqZWN0KCkubmFtZSwgZm9ybURhdGEpXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ29tbWl0LmVtaXQocmVzKTtcbiAgICAgICAgICAgIHRoaXMuZmluaXNoUGVuZGluZygpO1xuICAgICAgICAgICAgaWYgKG9wZW5Mb2NhdGlvbkFmdGVyQ29tbWl0KSB7XG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL29iamVjdCcsIHJlc10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHtrZXksIGNhdXNlLCB1bmlxdWVmaWVsZHMsIGNyZWF0ZWR9ID0gZXJyb3IuZXJyb3I7XG4gICAgICAgICAgICBpZiAoa2V5ICYmIGtleSA9PT0gJ0RNU19NRVRBREFUQV9VTklRVUVfVklPTEFUSU9OX0VSUk9SJykge1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcihudWxsLCB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby51bmlxdWUudmFsaWRhdGlvbi5lcnJvci5oaW50Jywge2ZpZWxkOiB1bmlxdWVmaWVsZHMudG9TdHJpbmcoKX0pKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ICYmIGtleSA9PT0gJ0RNU19TWU5DSFJPTk9VU19JTkRFWElOR19GQUlMRUQnKSB7XG4gICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLndhcm5pbmcobnVsbCwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJlcGFyZS5jb21taXQuZXJyb3IuaW5kZXhGYWlsZWQnKSk7XG4gICAgICAgICAgICAgIHRoaXMub25Db21taXQuZW1pdChjcmVhdGVkLmlkKTtcbiAgICAgICAgICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgICAgICAgICAgIGlmIChvcGVuTG9jYXRpb25BZnRlckNvbW1pdCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL29iamVjdCcsIGNyZWF0ZWQuaWRdKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChjYXVzZSkge1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcihudWxsLCBjYXVzZS5tZXNzYWdlc1swXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcihcbiAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByZXBhcmUuY3JlYXRlZC5lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJlcGFyZS5jcmVhdGVkLmVycm9yLm1lc3NhZ2UnKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb21taXR0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmZpbmlzaFBlbmRpbmcoKTtcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZUZvcm1Db250ZW50KGZvcm1EYXRhKTtcbiAgICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sIDUwMCk7XG4gIH1cblxuICByZW1vdmVJdGVtKGl0ZW06IFByZXBhcmVkSXRlbSkge1xuICAgIHRoaXMuZmluaXNoUGVuZGluZygpO1xuICAgIHRoaXMub25JdGVtUmVtb3ZlLmVtaXQoaXRlbSk7XG4gICAgdGhpcy5fc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICB9XG5cbiAgcmVtb3ZlSXRlbUNvbnRlbnQoaXRlbTogUHJlcGFyZWRJdGVtLCBkZWxldGVkQ29udGVudEluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnByZXBhcmVTZXJ2aWNlLmRlbGV0ZVByZXBhcmVkSXRlbUNvbnRlbnQoaXRlbS5pZCwgZGVsZXRlZENvbnRlbnRJbmRleClcbiAgICAgIC5zdWJzY3JpYmUoKHVwZGF0ZWRJdGVtOiBQcmVwYXJlZEl0ZW0pID0+IHtcbiAgICAgICAgdGhpcy5wcmVwYXJlZEl0ZW0gPSB1cGRhdGVkSXRlbTtcbiAgICAgICAgdGhpcy5zaG93Q29udGVudERlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRGaWxlTmFtZXMoaXRlbTogUHJlcGFyZWRJdGVtKSB7XG4gICAgcmV0dXJuIChpdGVtLmNvbnRlbnRzIHx8IFtdKS5tYXAoYyA9PiBjLnBhdGgpLmpvaW4oJywgJyk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgdGFyZ2V0IG9iamVjdCB0eXBlIGZvciB0aGUgY3VycmVudCBwcmVwYXJlZCBpdGVtLlxuICAgKiBAcGFyYW0gdHlwZSAtIHRoZSBvYmplY3QgdHlwZXMgbmFtZSB0byBiZSBzZXQgYXMgdGFyZ2V0XG4gICAqL1xuICBzZWxlY3RPYmplY3RUeXBlKHR5cGU6IFByZXBhcmVkSXRlbVR5cGUpIHtcbiAgICB0aGlzLnByZXBhcmVkSXRlbS50eXBlc1xuICAgICAgLmZvckVhY2goKHQpID0+IHQuc2VsZWN0ZWQgPSAodC5uYW1lID09PSB0eXBlLm5hbWUpKTtcblxuICAgIHRoaXMucHJlcGFyZVNlcnZpY2VcbiAgICAgIC51cGRhdGVDaGlsZFR5cGUodHlwZS5uYW1lLCB0aGlzLnByZXBhcmVkSXRlbS5pZClcbiAgICAgIC5zdWJzY3JpYmUodXBkYXRlZFByZXBhcmVkSXRlbSA9PiB7XG4gICAgICAgIHRoaXMucHJlcGFyZWRJdGVtID0gdXBkYXRlZFByZXBhcmVkSXRlbTtcbiAgICAgICAgdGhpcy5vbkl0ZW1DaGFuZ2VkLmVtaXQodXBkYXRlZFByZXBhcmVkSXRlbSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB0ZW1wbGF0ZSB0byB0aGUgY3VycmVudCBwcmVwYXJlZCBpdGVtLlxuICAgKiBAcGFyYW0gdGVtcGxhdGUgLSB0aGUgdGVtcGxhdGUgdG8gYmUgYWRkZWRcbiAgICovXG4gIGFkZFRlbXBsYXRlKHRlbXBsYXRlOiBQcmVwYXJlZEl0ZW1UZW1wbGF0ZSkge1xuXG4gICAgdGhpcy5wcmVwYXJlU2VydmljZVxuICAgICAgLmFkZFRlbXBsYXRlKHRoaXMucHJlcGFyZWRJdGVtLmlkLCB0ZW1wbGF0ZS5pZClcbiAgICAgIC5zdWJzY3JpYmUoKHVwZGF0ZWRQcmVwYXJlZEl0ZW0pID0+IHtcbiAgICAgICAgdGhpcy5wcmVwYXJlZEl0ZW0gPSB1cGRhdGVkUHJlcGFyZWRJdGVtO1xuICAgICAgICB0aGlzLm9uSXRlbUNoYW5nZWQuZW1pdCh1cGRhdGVkUHJlcGFyZWRJdGVtKTtcbiAgICAgIH0sIFV0aWxzLnRocm93KG51bGwsXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByZXBhcmUudGVtcGxhdGUuZXJyb3IudGl0bGUnKSxcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJlcGFyZS50ZW1wbGF0ZS5lcnJvci5tZXNzYWdlJykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSB0ZW1wbGF0ZS4gV2lsbCBzaG93IHByZXZpZXcgZm9yIHRoZSBzZWxlY3RlZCB0ZW1wbGF0ZS5cbiAgICogQHBhcmFtIHRlbXBsYXRlIC0gdGhlIHRlbXBsYXRlIHRvIGJlIHNlbGVjdGVkXG4gICAqL1xuICBzZWxlY3RUZW1wbGF0ZSh0ZW1wbGF0ZTogUHJlcGFyZWRJdGVtVGVtcGxhdGUpIHtcbiAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGVGaWxlID0gISh0ZW1wbGF0ZSAmJiB0ZW1wbGF0ZS5jb250ZW50KSA/IG51bGwgOiB7XG4gICAgICB1cmk6IHRoaXMucHJlcGFyZVNlcnZpY2UuZ2V0VGVtcGxhdGVQcmV2aWV3VXJpKHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZS5pZCksXG4gICAgICB1cmlQZGY6IHRoaXMucHJlcGFyZVNlcnZpY2UuZ2V0VGVtcGxhdGVQcmV2aWV3VXJpKHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZS5pZCwgJ1BERicpLFxuICAgICAgbWltZXR5cGU6IHRlbXBsYXRlLmNvbnRlbnQubWltZXR5cGUsXG4gICAgICBtaW1lZ3JvdXA6IHRlbXBsYXRlLmNvbnRlbnQubWltZWdyb3VwLFxuICAgICAgc2l6ZTogdGVtcGxhdGUuY29udGVudC5zaXplXG4gICAgfTtcbiAgfVxuXG4gIHNldFByZXZpZXdVcmkoaW5kZXg6IG51bWJlcikge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcy5wcmVwYXJlUGhhc2UuZGF0YSwgdGhpcy5nZXRQcmV2aWV3RGF0YShpbmRleCkpO1xuICB9XG5cbiAgLy8gc2tpcCBjb250ZW50IHNlbGVjdGlvbiBmb3IgdGhlIGN1cnJlbnQgcHJlcGFyZWQgaXRlbVxuICAvLyBhbmQgY29udGludWUgc2V0dGluZyBpbmRleGRhdGFcbiAgbm9GaWxlKCkge1xuICAgIHRoaXMuaW5pdFByZXBhcmVQaGFzZSh0aGlzLlBIQVNFX0lOREVYREFUQSk7XG4gIH1cblxuICAvLyB0cmlnZ2VyIGZpbGUgdXBsb2FkXG4gIHVwbG9hZCgpIHtcbiAgICAvLyBhZnRlciB0aGUgdXNlciBzZWxlY3RlZCBhIGZpbGUgZmlsZUNoYW5nZUxpc3RlbmVyKCkgd2lsbCBjb250aW51ZVxuICAgIHRoaXMuZmlsZS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICAvLyBvbkNoYW5nZSBsaXN0ZW5lciBvbiBoaWRkZW4gZmlsZSBpbnB1dFxuICBmaWxlQ2hhbmdlTGlzdGVuZXIoZXZlbnQpIHtcbiAgICBjb25zdCBmaWxlOiBGaWxlID0gZXZlbnRbMF07XG4gICAgdGhpcy51cGxvYWRJblByb2dyZXNzID0gdHJ1ZTtcbiAgICB0aGlzLnByZXBhcmVTZXJ2aWNlXG4gICAgICAudXBsb2FkQ29udGVudCh0aGlzLnByZXBhcmVkSXRlbS5pZCwgZmlsZSlcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgLy8gdXBsb2FkIHN1Y2NlZWRlZCBzbyB3ZSBjYW4gZ28gb24gdG8gdGhlIG5leHQgcHJlcGFyZSBwaGFzZVxuICAgICAgICB0aGlzLnByZXBhcmVkSXRlbSA9IG5ldyBQcmVwYXJlZEl0ZW0ocmVzKTtcbiAgICAgICAgdGhpcy5vbkl0ZW1DaGFuZ2VkLmVtaXQodGhpcy5wcmVwYXJlZEl0ZW0pO1xuICAgICAgICB0aGlzLmluaXRQcmVwYXJlUGhhc2UodGhpcy5QSEFTRV9JTkRFWERBVEEpO1xuICAgICAgICB0aGlzLnVwbG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgIH0sIFV0aWxzLnRocm93KGVycm9yID0+IHtcbiAgICAgICAgaWYgKGVycm9yLmVycm9yICYmIGVycm9yLmVycm9yLmNhdXNlKSB7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IobnVsbCwgZXJyb3IuZXJyb3IuY2F1c2UubWVzc2FnZXNbMF0pO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yLmVycm9yKSB7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IobnVsbCwgZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJlcGFyZS5jcmVhdGVkLmVycm9yLnRpdGxlJykpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlsZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb21taXR0aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXBsb2FkSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udXBsb2FkLmdsb2JhbC5lcnJvci50aXRsZScpLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby51cGxvYWQuZ2xvYmFsLmVycm9yLmRlc2NyaXB0aW9uJylcbiAgICAgICkpO1xuICB9XG5cbiAgb25Gb3JtU3RhdHVzQ2hhbmdlZChldnQpIHtcbiAgICB0aGlzLmZvcm1TdGF0ZSA9IGV2dDtcblxuICAgIGlmICh0aGlzLmZvcm1TdGF0ZS5kaXJ0eSkge1xuICAgICAgdGhpcy5zdGFydFBlbmRpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzKCkge1xuICAgIC8vIHRvZG86IHJlc2V0IHN0dWZmXG4gICAgdGhpcy5mb3JtU3RhdGUgPSBudWxsO1xuICAgIHRoaXMuZm9ybU9wdGlvbnMgPSBudWxsO1xuICAgIHRoaXMuZ2V0UHJlcGFyZVBoYXNlKCk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBwcmVwYXJlIHBoYXNlIHRvIGJlIGluaXRpYWxpemVkIGJhc2VkIG9uIHRoZSBjb25kaXRpb25zXG4gICAqIG9mIHRoZSBjdXJyZW50IHByZXBhcmVkIGl0ZW0uXG4gICAqL1xuICBwcml2YXRlIGdldFByZXBhcmVQaGFzZSgpIHtcbiAgICBpZiAoIXRoaXMucHJlcGFyZWRJdGVtLmdldFNlbGVjdGVkVHlwZU9iamVjdCgpKSB7XG4gICAgICAvLyBTdGVwICMxIHNlbGVjdCBhbiBvYmplY3QgdHlwZSBpZiBub3QgeWV0IHNldFxuICAgICAgdGhpcy5pbml0UHJlcGFyZVBoYXNlKHRoaXMuUEhBU0VfVFlQRSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5wcmVwYXJlZEl0ZW0uaGFzQ29udGVudCgpKSB7XG4gICAgICAvLyBTdGVwICMyIGFkZCBjb250ZW50IGlmIG5vdCB5ZXQgY29udGFpbmVkXG4gICAgICB0aGlzLmluaXRQcmVwYXJlUGhhc2UodGhpcy5QSEFTRV9DT05URU5UKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3RlcCAjMyBlZGl0IGluZGV4ZGF0YSBhbmQgc2F2ZVxuICAgICAgdGhpcy5pbml0UHJlcGFyZVBoYXNlKHRoaXMuUEhBU0VfSU5ERVhEQVRBKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlbXBsYXRlKHNlbGVjdGVkVHlwZU9iamVjdCkge1xuICAgIGNvbnN0IHR5cGU6IE9iamVjdFR5cGUgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShzZWxlY3RlZFR5cGVPYmplY3QubmFtZSk7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnByZXBhcmVTZXJ2aWNlXG4gICAgICAuZ2V0VGVtcGxhdGVzKHNlbGVjdGVkVHlwZU9iamVjdC5uYW1lKVxuICAgICAgLnN1YnNjcmliZSgodGVtcGxhdGVzOiBQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVSZXF1aXJlZCA9IHRoaXMucHJlcGFyZWRJdGVtLnN0YXRlLmNvbnRlbnRzdGF0ZSA9PT0gJ1JFUVVJUkVEJztcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICBmaWxlOiB0eXBlLm1heEZpbGVzID4gMCxcbiAgICAgICAgICB3aXRob3V0RmlsZTogISh0eXBlLm1pbkZpbGVzID4gMCkgJiYgIWZpbGVSZXF1aXJlZCxcbiAgICAgICAgICB0ZW1wbGF0ZXM6IHRlbXBsYXRlcyB8fCBbXVxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IG9iamVjdCB0eXBlIGRvZXMgbm90IHN1cHBvcnQgZmlsZSB1cGxvYWQgb3IgdGVtcGxhdGUgY29udGVudHNcbiAgICAgICAgLy8gd2Ugc2tpcCBjb250ZW50IHBoYXNlIGFuZCBtb3ZlIG9uIHRvIGluZGV4ZGF0YSBwaGFzZVxuICAgICAgICBpZiAoIWRhdGEuZmlsZSkge1xuICAgICAgICAgIHRoaXMuaW5pdFByZXBhcmVQaGFzZSh0aGlzLlBIQVNFX0lOREVYREFUQSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5wcmVwYXJlUGhhc2UgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLlBIQVNFX0NPTlRFTlQsXG4gICAgICAgICAgICBkYXRhOiBkYXRhXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLnNldHVwVGl0bGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhZ0ZpbHRlck9wdGlvbnMgPSB0aGlzLmNyZWF0ZVRhZ0ZpbHRlck9wdGlvbnModGVtcGxhdGVzKTtcbiAgICAgICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgICAgICBjb250ZXh0OiB7Y291bnQ6IHRoaXMucHJlcGFyZVBoYXNlLmRhdGEudGVtcGxhdGVzLmxlbmd0aH0sXG4gICAgICAgICAgcm93RGF0YTogdGhpcy5wcmVwYXJlUGhhc2UuZGF0YS50ZW1wbGF0ZXMuc29ydChVdGlscy5zb3J0VmFsdWVzKCd0aXRsZScpKSxcbiAgICAgICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMsXG4gICAgICAgICAgcm93SGVpZ2h0OiA4MFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlVGFnRmlsdGVyT3B0aW9ucyh0ZW1wbGF0ZXM6IFByZXBhcmVkSXRlbVRlbXBsYXRlW10pIHtcbiAgICBsZXQgdGFnRmlsdGVyT3B0aW9ucyA9IFtdO1xuICAgIHRlbXBsYXRlcy5mb3JFYWNoKHRlbXBsYXRlID0+IHtcbiAgICAgIHRlbXBsYXRlLnRhZ3MuZm9yRWFjaCh0YWcgPT4ge1xuICAgICAgICB0YWdGaWx0ZXJPcHRpb25zLnB1c2goe2xhYmVsOiB0YWcsIGZpbHRlcjogKG5vZGUpID0+IG5vZGUuZGF0YS50YWdzLmluY2x1ZGVzKHRhZyksIHZhbHVlOiB0cnVlfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gVXRpbHMudW5pcUJ5KHRhZ0ZpbHRlck9wdGlvbnMsICdsYWJlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgYSBzcGVjaWZpYyBwcmVwYXJlIHBoYXNlLlxuICAgKiBAcGFyYW0gcGhhc2UgLSBwaGFzZSB0byBpbml0IChQSEFTRV9UWVBFLCBQSEFTRV9DT05URU5ULCBQSEFTRV9JTkRFWERBVEEpXG4gICAqL1xuICBwcml2YXRlIGluaXRQcmVwYXJlUGhhc2UocGhhc2U6IHN0cmluZykge1xuICAgIHRoaXMucHJlcGFyZVBoYXNlID0gbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkVHlwZU9iamVjdCA9IHRoaXMucHJlcGFyZWRJdGVtLmdldFNlbGVjdGVkVHlwZU9iamVjdCgpO1xuXG4gICAgc3dpdGNoIChwaGFzZSkge1xuICAgICAgLy8gaW5pdCBwcmVwYXJlIHBoYXNlIGZvciBzZWxlY3RpbmcgdGhlIHRhcmdldCBvYmplY3QgdHlwZVxuICAgICAgY2FzZSB0aGlzLlBIQVNFX1RZUEU6IHtcblxuICAgICAgICB0aGlzLnByZXBhcmVQaGFzZSA9IHtcbiAgICAgICAgICBuYW1lOiB0aGlzLlBIQVNFX1RZUEUsXG4gICAgICAgICAgZGF0YTogdGhpcy5nZXRQcmV2aWV3RGF0YSgpXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0dXBUaXRsZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgLy8gaW5pdCBwcmVwYXJlIHBoYXNlIGZvciBzZXR0aW5nIHVwIGNvbnRlbnRcbiAgICAgIGNhc2UgdGhpcy5QSEFTRV9DT05URU5UOiB7XG5cbiAgICAgICAgdGhpcy5jaG9vc2VUZW1wbGF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSBudWxsO1xuXG4gICAgICAgIC8vIGNoZWNrIHdoZXRoZXIgb3Igbm90IHRoZSBwcmVwYXJlZEl0ZW0gYWxyZWFkeSBjb250YWlucyBhIGZpbGUgb3IgdGVtcGxhdGVcbiAgICAgICAgaWYgKHRoaXMucHJlcGFyZWRJdGVtLmhhc0NvbnRlbnQoKSkge1xuICAgICAgICAgIGlmICghdGhpcy5wcmVwYXJlZEl0ZW0uc3RhdGUudHlwZXNlbGVjdGVkYWxsb3dlZCkge1xuICAgICAgICAgICAgLy8gaWYgdGhlIHNlbGVjdGVkIHR5cGUgaXMgbm90IGFsbG93ZWQsIHdlJ2xsIGdvIGJhY2sgdG8gdGhlIHR5cGUgc2VsZWN0IHN0YXRlIC4uLlxuICAgICAgICAgICAgdGhpcy5pbml0UHJlcGFyZVBoYXNlKHRoaXMuUEhBU0VfVFlQRSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIC4uLiBvdGhlcndpc2Ugd2UgZ28gb24gc2V0dGluZyBpbmRleGRhdGFcbiAgICAgICAgICAgIHRoaXMuaW5pdFByZXBhcmVQaGFzZSh0aGlzLlBIQVNFX0lOREVYREFUQSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgaWYgKHRoaXMucHJlcGFyZWRJdGVtLnN0YXRlLmNvbnRlbnRzdGF0ZSA9PT0gJ05PQ09OVEVOVEFMTE9XRUQnKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRQcmVwYXJlUGhhc2UodGhpcy5QSEFTRV9JTkRFWERBVEEpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbXBsYXRlKHRoaXMuc2VsZWN0ZWRUeXBlT2JqZWN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICAvLyBpbml0IHByZXBhcmUgcGhhc2UgZm9yIGFkZGluZyBpbmRleGRhdGFcbiAgICAgIGNhc2UgdGhpcy5QSEFTRV9JTkRFWERBVEE6IHtcblxuICAgICAgICB0aGlzLmNob29zZVRlbXBsYXRlID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKCF0aGlzLnByZXBhcmVkSXRlbS5zdGF0ZS50eXBlc2VsZWN0ZWRhbGxvd2VkKSB7XG4gICAgICAgICAgLy8gaWYgdGhlIHNlbGVjdGVkIHR5cGUgaXMgbm90IGFsbG93ZWQsIHdlJ2xsIGdvIGJhY2sgdG8gdGhlIHR5cGUgc2VsZWN0IHN0YXRlIC4uLlxuICAgICAgICAgIHRoaXMuaW5pdFByZXBhcmVQaGFzZSh0aGlzLlBIQVNFX1RZUEUpO1xuICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgdGhpcy5wcmVwYXJlRm9ybUNvbnRlbnQoKTtcblxuICAgICAgICAgIHRoaXMucHJlcGFyZVBoYXNlID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5QSEFTRV9JTkRFWERBVEEsXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmdldFByZXZpZXdEYXRhKClcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuc2V0dXBUaXRsZSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJldmlld0RhdGEoaW5kZXg/OiBudW1iZXIpOiBhbnkge1xuICAgIGlmICh0aGlzLnByZXBhcmVkSXRlbSAmJiB0aGlzLnByZXBhcmVkSXRlbS5jb250ZW50cyAmJiB0aGlzLnByZXBhcmVkSXRlbS5jb250ZW50cy5sZW5ndGgpIHtcbiAgICAgIGluZGV4ID0gaW5kZXggfHwgMDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZXZpZXdJbmRleDogaW5kZXgsXG4gICAgICAgIHByZXZpZXdGaWxlOiB7XG4gICAgICAgICAgdXJpOiB0aGlzLnByZXBhcmVTZXJ2aWNlLmdldFByZXZpZXdVcmkodGhpcy5wcmVwYXJlZEl0ZW0uaWQsIGluZGV4KSxcbiAgICAgICAgICB1cmlQZGY6IHRoaXMucHJlcGFyZVNlcnZpY2UuZ2V0UHJldmlld1VyaSh0aGlzLnByZXBhcmVkSXRlbS5pZCwgaW5kZXgsICdQREYnKSxcbiAgICAgICAgICBtaW1ldHlwZTogdGhpcy5wcmVwYXJlZEl0ZW0uY29udGVudHNbaW5kZXhdLm1pbWV0eXBlLFxuICAgICAgICAgIG1pbWVncm91cDogdGhpcy5wcmVwYXJlZEl0ZW0uY29udGVudHNbaW5kZXhdLm1pbWVncm91cCxcbiAgICAgICAgICBwYXRoOiB0aGlzLnByZXBhcmVkSXRlbS5jb250ZW50c1tpbmRleF0ucGF0aCxcbiAgICAgICAgICBzaXplOiB0aGlzLnByZXBhcmVkSXRlbS5jb250ZW50c1tpbmRleF0uc2l6ZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7cHJldmlld0ZpbGU6IG51bGx9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHVwIHRpdGxlIGZvciB0aGUgY3VycmVudCBwcmVwYXJlZCBpdGVtIGJhc2VkIG9uIHRoZVxuICAgKiBjdXJyZW50IHByZXBhcmUgcGhhc2UuIFNob3VsZCBiZSBjYWxsZWQgYWZ0ZXIgcHJlcGFyZSBwaGFzZSBpcyBpZGVudGlmaWVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXR1cFRpdGxlKCkge1xuXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0KFtcbiAgICAgICdlby5wcmVwYXJlLmxvY2F0aW9uLnRpdGxlLnN5c3Jvb3QnLFxuICAgICAgJ2VvLnByZXBhcmUubG9jYXRpb24udGl0bGUucHJlZml4JyxcbiAgICAgICdlby5wcmVwYXJlLmRldGFpbHMudHlwZS50aXRsZScsXG4gICAgICAnZW8ucHJlcGFyZS5kZXRhaWxzLnR5cGUuc3VidGl0bGUnLFxuICAgICAgJ2VvLnByZXBhcmUuZGV0YWlscy5jb250ZW50LnN1YnRpdGxlJyxcbiAgICAgICdlby5wcmVwYXJlLmRldGFpbHMuaW5kZXhkYXRhLnN1YnRpdGxlJ1xuICAgIF0pLnN1YnNjcmliZSh0ID0+IHtcblxuICAgICAgbGV0IGhlYWRlciA9IHtcbiAgICAgICAgdGl0bGU6IG51bGwsXG4gICAgICAgIGxvY2F0aW9uOiB7XG4gICAgICAgICAgbGFiZWw6IG51bGwsXG4gICAgICAgICAgbGluazogbnVsbFxuICAgICAgICB9LFxuICAgICAgICBzdWJ0aXRsZTogbnVsbFxuICAgICAgfTtcbiAgICAgIHN3aXRjaCAodGhpcy5wcmVwYXJlUGhhc2UubmFtZSkge1xuICAgICAgICBjYXNlIHRoaXMuUEhBU0VfVFlQRToge1xuICAgICAgICAgIGhlYWRlci50aXRsZSA9IHRbJ2VvLnByZXBhcmUuZGV0YWlscy50eXBlLnRpdGxlJ107XG4gICAgICAgICAgaGVhZGVyLnN1YnRpdGxlID0gdFsnZW8ucHJlcGFyZS5kZXRhaWxzLnR5cGUuc3VidGl0bGUnXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIHRoaXMuUEhBU0VfQ09OVEVOVDoge1xuICAgICAgICAgIGNvbnN0IHR5cGVPYmplY3QgPSB0aGlzLnByZXBhcmVkSXRlbS5nZXRTZWxlY3RlZFR5cGVPYmplY3QoKTtcbiAgICAgICAgICBoZWFkZXIudGl0bGUgPSB0eXBlT2JqZWN0ID8gdHlwZU9iamVjdC5sYWJlbCA6ICcnO1xuICAgICAgICAgIGhlYWRlci5zdWJ0aXRsZSA9IHRbJ2VvLnByZXBhcmUuZGV0YWlscy5jb250ZW50LnN1YnRpdGxlJ107XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSB0aGlzLlBIQVNFX0lOREVYREFUQToge1xuICAgICAgICAgIGNvbnN0IHR5cGVPYmplY3QgPSB0aGlzLnByZXBhcmVkSXRlbS5nZXRTZWxlY3RlZFR5cGVPYmplY3QoKTtcbiAgICAgICAgICBoZWFkZXIudGl0bGUgPSB0eXBlT2JqZWN0ID8gdHlwZU9iamVjdC5sYWJlbCA6ICcnO1xuICAgICAgICAgIGhlYWRlci5zdWJ0aXRsZSA9IHRbJ2VvLnByZXBhcmUuZGV0YWlscy5pbmRleGRhdGEuc3VidGl0bGUnXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBzZXQgdXAgbG9jYXRpb24gaW5mb1xuICAgICAgaWYgKHRoaXMucHJlcGFyZWRJdGVtLnBhcmVudC50eXBlID09PSAnc3lzcm9vdCcpIHtcbiAgICAgICAgaGVhZGVyLmxvY2F0aW9uID0ge1xuICAgICAgICAgIGxhYmVsOiB0Wydlby5wcmVwYXJlLmxvY2F0aW9uLnRpdGxlLnN5c3Jvb3QnXSxcbiAgICAgICAgICBsaW5rOiBudWxsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwYXJlbnRUeXBlID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUodGhpcy5wcmVwYXJlZEl0ZW0ucGFyZW50LnR5cGUpO1xuICAgICAgICBoZWFkZXIubG9jYXRpb24gPSB7XG4gICAgICAgICAgbGFiZWw6IGAgJHtwYXJlbnRUeXBlLmxhYmVsfTogJHt0aGlzLnByZXBhcmVkSXRlbS5wYXJlbnQudGl0bGV9YCxcbiAgICAgICAgICBsaW5rOiBgL29iamVjdC8ke3RoaXMucHJlcGFyZWRJdGVtLnBhcmVudC5pZH1gXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICB0aGlzLmhlYWRlciA9IGhlYWRlcjtcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dUZW1wbGF0ZVNlbGVjdG9yKHNob3c6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNob29zZVRlbXBsYXRlID0gc2hvdztcbiAgICB0aGlzLnNlbGVjdFRlbXBsYXRlKHRoaXMucHJlcGFyZVBoYXNlLmRhdGEudGVtcGxhdGVzWzBdKTtcbiAgfVxuXG4gIGRvd25sb2FkKCkge1xuICAgIGlmICh0aGlzLnByZXBhcmVQaGFzZSkge1xuICAgICAgY29uc3QgZmlsZSA9IHRoaXMucHJlcGFyZVBoYXNlLm5hbWUgPT09ICdjb250ZW50JyA/IHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZUZpbGUgOiB0aGlzLnByZXBhcmVQaGFzZS5kYXRhLnByZXZpZXdGaWxlO1xuICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgdGhpcy5iYWNrZW5kLmRvd25sb2FkKGZpbGUudXJpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYXNUZW1wbGF0ZUNhcGFiaWxpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FwYWJpbGl0ZXMuaGFzQ2FwYWJpbGl0eSgndGVtcGxhdGUnKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SWRGbihpbmRleCwgaXRlbSkge1xuICAgIHJldHVybiBpdGVtLmlkO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlJbmRleEZuKGluZGV4LCBpdGVtKSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLnNlbGVjdGlvblxuICAgICAgICAuZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLmluKS5mb2N1cyRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXM6IFByZXBhcmVkSXRlbSkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuY29tbWl0dGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucHJlcGFyZWRJdGVtID0gcmVzO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInByZXBhcmVEZXRhaWxzX193cmFwcGVyXCIgKm5nSWY9XCIhbG9hZGluZzsgZWxzZSBtYWluU3Bpbm5lclwiPlxuICA8c2VjdGlvbiBjbGFzcz1cInByZXBhcmVEZXRhaWxzXCIgKm5nSWY9XCJwcmVwYXJlZEl0ZW0gJiYgcHJlcGFyZVBoYXNlOyBlbHNlIG5vSXRlbVwiXG4gICAgW25nQ2xhc3NdPVwie211bHRpZmlsZTogcHJlcGFyZWRJdGVtLmNvbnRlbnRjb3VudCA+IDEsIGNvbW1pdHRpbmc6IGNvbW1pdHRpbmd9XCI+XG4gICAgPGRpdiBjbGFzcz1cImVvLWhlYWRcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGVcIj57e2hlYWRlci50aXRsZX19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItc3ViLXRpdGxlIGgtbG9jYXRpb25cIiAqbmdJZj1cIiFoZWFkZXIubG9jYXRpb24ubGluazsgZWxzZSBsaW5rZWRcIj57e2hlYWRlci5sb2NhdGlvbi5sYWJlbH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXN1Yi10aXRsZSBoLXN1YnRpdGxlXCI+e3toZWFkZXIuc3VidGl0bGV9fTwvZGl2PlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbGlua2VkPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItc3ViLXRpdGxlIGgtc3VidGl0bGUtZGV0YWlsZWRcIj5cbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5lby5wcmVwYXJlLmxvY2F0aW9uLnRpdGxlLnByZWZpeDwvc3Bhbj5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImhlYWRlci5sb2NhdGlvbi5saW5rXCI+e3toZWFkZXIubG9jYXRpb24ubGFiZWx9fTwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ0biBidG4tZG93bmxvYWRcIlxuICAgICAgICAgICpuZ0lmPVwicHJlcGFyZVBoYXNlLm5hbWUgPT09ICdjb250ZW50JyA/IHNlbGVjdGVkVGVtcGxhdGVGaWxlIDogcHJlcGFyZVBoYXNlLmRhdGEucHJldmlld0ZpbGVcIlxuICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2NvbnRlbnQtZG93bmxvYWQuc3ZnJ1wiXG4gICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmFjdGlvbi5kb3dubG9hZC5kbXMub2JqZWN0LmNvbnRlbnQubGFiZWwnIHwgdHJhbnNsYXRlKVwiIChjbGljayk9XCJkb3dubG9hZCgpXCI+PC9lby1pY29uPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ0biBidG4tZGVsZXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdHJhc2guc3ZnJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInNob3dEZWxldGVEaWFsb2cgPSB0cnVlO1wiPjwvZW8taWNvbj5cbiAgICAgICAgPCEtLSBidXR0b25zIHdoaWxlIGNob29zaW5nIGEgdGVtcGxhdGUgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaG9vc2VUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tdHBsLWFib3J0XCIgKGNsaWNrKT1cInNob3dUZW1wbGF0ZVNlbGVjdG9yKGZhbHNlKVwiXG4gICAgICAgICAgICB0cmFuc2xhdGU+ZW8ucHJlcGFyZS50ZW1wbGF0ZS5hYm9ydDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwcmltYXJ5IGJ0bi10cGwtYXBwbHlcIiAoY2xpY2spPVwiYWRkVGVtcGxhdGUoc2VsZWN0ZWRUZW1wbGF0ZSlcIiBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkVGVtcGxhdGVcIlxuICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnByZXBhcmUudGVtcGxhdGUuc2VsZWN0PC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmVwYXJlUGhhc2UubmFtZSA9PT0gJ2luZGV4ZGF0YSdcIj5cbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyZXNldE9iamVjdFR5cGUoKVwiIHRyYW5zbGF0ZT5lby5wcmVwYXJlLnJlc2V0T2JqZWN0PC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY29tbWl0KClcIiBjbGFzcz1cImJ0bi1pZHgtc2F2ZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7cHJpbWFyeTogcHJlcGFyZWRJdGVtLnN0YXRlLnBhcmVudGlzcm9vdCAmJiBwcmVwYXJlZEl0ZW0uY29udGVudGNvdW50ID4gMX1cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1TdGF0ZT8uaW52YWxpZCB8fCBjb21taXR0aW5nXCIgdHJhbnNsYXRlPmVvLnByZXBhcmUuc2F2ZTwvYnV0dG9uPlxuXG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY29tbWl0KHRydWUpXCIgW2Rpc2FibGVkXT1cImZvcm1TdGF0ZT8uaW52YWxpZCB8fCBjb21taXR0aW5nXCIgY2xhc3M9XCJwcmltYXJ5IGJ0bi1pZHgtc2F2ZW9wZW5cIlxuICAgICAgICAgICAgW2hpZGRlbl09XCJwcmVwYXJlZEl0ZW0/LnN0YXRlLnBhcmVudGlzcm9vdCAmJiBwcmVwYXJlZEl0ZW0/LmNvbnRlbnRjb3VudCA+IDFcIlxuICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnByZXBhcmUuc2F2ZW9wZW48L2J1dHRvbj5cblxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiIFtuZ1N3aXRjaF09XCJwcmVwYXJlUGhhc2UubmFtZVwiICpuZ0lmPVwiIWNvbW1pdHRpbmc7IGVsc2Ugc3Bpbm5lclwiPlxuXG4gICAgICA8IS0tIFBIQVNFIFRZUEUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwicGhhc2UgdHlwZVwiICpuZ1N3aXRjaENhc2U9XCIndHlwZSdcIj5cblxuICAgICAgICA8IS0tIHdpdGggcHJldmlldyAtLT5cbiAgICAgICAgPHl2Yy1zcGxpdC12aWV3ICpuZ0lmPVwicHJlcGFyZVBoYXNlLmRhdGEucHJldmlld0ZpbGU7IGVsc2Ugbm9wcmV2aWV3XCJcbiAgICAgICAgICBbbGF5b3V0U2V0dGluZ3NJRF09XCIncHJlcGFyZS5kZXRhaWxzLnBoYXNlLnR5cGUnXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmlsZXNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC10eXBlLXNlbGVjdCBlbXB0eVwiICpuZ0lmPVwicHJlcGFyZWRJdGVtLnR5cGVzLmxlbmd0aCA9PSAwXCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICAgIGVvLnByZXBhcmUuZGV0YWlscy50eXBlLmVtcHR5PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtdHlwZS1zZWxlY3QgZW1wdHlcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXByZXBhcmVkSXRlbS5zdGF0ZS50eXBlc2VsZWN0ZWRhbGxvd2VkICYmIHByZXBhcmVkSXRlbS5zdGF0ZS50eXBlc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwie3R5cGU6IHByZXBhcmVkSXRlbS5zZWxlY3RlZHR5cGUubGFiZWwsIGZpbGVuYW1lOiBnZXRGaWxlTmFtZXMocHJlcGFyZWRJdGVtKX1cIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5wcmVwYXJlLmRldGFpbHMudHlwZS5ub3RhbGxvd2VkPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC10eXBlLXNlbGVjdFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtdHlwZVwiICpuZ0Zvcj1cImxldCB0eXBlIG9mIHByZXBhcmVkSXRlbS50eXBlczsgdHJhY2tCeTogdHJhY2tCeUlkRm5cIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9iamVjdFR5cGUodHlwZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGVvLWljb24gW2ljb25JZF09XCJ0eXBlLmljb24uaWRcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7dHlwZS5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7dHlwZS5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgICA8aDIgdHJhbnNsYXRlPmVvLnByZXBhcmUuZGV0YWlscy5jb250ZW50cy50aXRsZTwvaDI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbnRlbnQgb2YgcHJlcGFyZWRJdGVtLmNvbnRlbnRzOyB0cmFja0J5OiB0cmFja0J5SW5kZXhGbjsgaW5kZXggYXMgaWR4O1wiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7c2VsZWN0ZWQ6IHByZXBhcmVQaGFzZS5kYXRhLnByZXZpZXdJbmRleCA9PSBpZHh9XCIgKGNsaWNrKT1cInNldFByZXZpZXdVcmkoaWR4KVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3tjb250ZW50LnBhdGh9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnRuIGJ0bi1kZWxldGUtY29udGVudFwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3RyYXNoLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0NvbnRlbnREZWxldGVEaWFsb2cgPSB0cnVlOyBkZWxldGVkQ29udGVudEluZGV4ID0gaWR4O1wiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb250ZW50LmV4aXN0c2NvdW50ID4gMFwiIGNsYXNzPVwiYXR0ZW50aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eydlby5wcmVwYXJlLmNvbnRlbnQuZXhpc3RzY291bnQubWVzc2FnZSd8dHJhbnNsYXRlOiAoe2NvdW50OiBjb250ZW50LmV4aXN0c2NvdW50fSl9fVwiPiFcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI3MFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVvLW1lZGlhLXdyYXBcIj5cbiAgICAgICAgICAgICAgPGVvLXByZXBhcmUtY29udGVudC1leGlzdHMtaW5mbyBbY29udGVudF09XCJwcmVwYXJlZEl0ZW0uY29udGVudHNbcHJlcGFyZVBoYXNlLmRhdGEucHJldmlld0luZGV4XVwiPlxuICAgICAgICAgICAgICA8L2VvLXByZXBhcmUtY29udGVudC1leGlzdHMtaW5mbz5cbiAgICAgICAgICAgICAgPGVvLW1lZGlhIFtkbXNPYmplY3RdPVwicHNldWRvRG1zT2JqZWN0XCIgW3ByZXZpZXdGaWxlXT1cInByZXBhcmVQaGFzZS5kYXRhLnByZXZpZXdGaWxlXCI+PC9lby1tZWRpYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwveXZjLXNwbGl0LXZpZXc+XG5cbiAgICAgICAgPCEtLSB3aXRob3V0IHByZXZpZXcgLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9wcmV2aWV3PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpbGVzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LXR5cGUtc2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtdHlwZVwiICpuZ0Zvcj1cImxldCB0eXBlIG9mIHByZXBhcmVkSXRlbS50eXBlczsgdHJhY2tCeTogdHJhY2tCeUlkRm5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPYmplY3RUeXBlKHR5cGUpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR5cGUtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWljb24gW2ljb25JZF09XCJ0eXBlLmljb24uaWRcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7dHlwZS5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e3R5cGUuZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBQSEFTRSBDT05URU5UIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInBoYXNlIGNvbnRlbnRcIiAqbmdTd2l0Y2hDYXNlPVwiJ2NvbnRlbnQnXCI+XG5cbiAgICAgICAgPCEtLSBwYW5lbCBmb3Igc2VsZWN0aW5nIGEgdGVtcGxhdGUgdG8gYmUgdXNlZCBhcyBpdGVtcyBjb250ZW50IC0tPlxuICAgICAgICA8eXZjLXNwbGl0LXZpZXcgKm5nSWY9XCJjaG9vc2VUZW1wbGF0ZTsgZWxzZSBhdHRhY2hcIiBbbGF5b3V0U2V0dGluZ3NJRF09XCIncHJlcGFyZS5kZXRhaWxzLnBoYXNlLmNvbnRlbnQnXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI0MFwiPlxuICAgICAgICAgICAgPCEtLSBsaXN0IG9mIGF2YWlsYWJsZSB0ZW1wbGF0ZXMgLS0+XG4gICAgICAgICAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbbG9hZGluZ109XCJmYWxzZVwiIGNsYXNzPVwidGVtcGxhdGVzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdGVtcGxhdGUuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8ucHJlcGFyZS50ZW1wbGF0ZS5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG5cbiAgICAgICAgICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2ZpbHRlci5zdmcnXCIgW2ljb25DbGFzc109XCIncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCIgW3RpdGxlXT1cIidlby5saXN0LmZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9GaWx0ZXIub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXIgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZFN1YmplY3QsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxlby10ZXh0LWZpbHRlciBbdGl0bGVdPVwiJ2VvLnByZXBhcmUudGVtcGxhdGUuZmlsdGVyLnRleHQudGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRjaEZpZWxkc109XCJbJ3RpdGxlJywgJ2Rlc2NyaXB0aW9uJywgJ3RhZ3MnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2VvLnByZXBhcmUudGVtcGxhdGUuZmlsdGVyLnRleHQudGl0bGUnXCI+PC9lby10ZXh0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZW8tc2V0LWZpbHRlciBbb3BlcmF0b3JdPVwiJ09SJ1wiIFt0aXRsZV09XCInZW8ucHJlcGFyZS50ZW1wbGF0ZS5maWx0ZXIuc2V0LnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRhZ0ZpbHRlck9wdGlvbnM/Lmxlbmd0aFwiIFtvcHRpb25zXT1cInRhZ0ZpbHRlck9wdGlvbnNcIj48L2VvLXNldC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZW8tY3VzdG9tLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWJvZHlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tZ3JpZCAjZW9HcmlkICpuZ0lmPVwiZ3JpZE9wdGlvbnM/LnJvd0RhdGFcIiBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIiBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiIFtzaG93Rm9vdGVyXT1cImZhbHNlXCIgW3NlbGVjdGlvbkxpbWl0XT1cIjFcIlxuICAgICAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwic2VsZWN0VGVtcGxhdGUoJGV2ZW50WzBdKVwiPlxuICAgICAgICAgICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjYwXCI+XG4gICAgICAgICAgICA8IS0tIHByZXZpZXcgb2Ygc2VsZWN0ZWQgdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICA8ZW8tbWVkaWEgW2Rtc09iamVjdF09XCJwc2V1ZG9EbXNPYmplY3RcIiBbcHJldmlld0ZpbGVdPVwic2VsZWN0ZWRUZW1wbGF0ZUZpbGVcIj48L2VvLW1lZGlhPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwveXZjLXNwbGl0LXZpZXc+XG5cbiAgICAgICAgPCEtLSBhZGQgY29udGVudCBnZW5lcmFsIG92ZXJ2aWV3ICh1cGxvYWQsIHRlbXBsYXRlLCBub25lKSAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNhdHRhY2g+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiICpuZ0lmPVwiIXVwbG9hZEluUHJvZ3Jlc3NcIiB0cmFuc2xhdGU+ZW8ucHJlcGFyZS5hdHRhY2htZW50LmluZm88L2Rpdj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZSAoY2hhbmdlKT1cImZpbGVDaGFuZ2VMaXN0ZW5lcigkZXZlbnQudGFyZ2V0LmZpbGVzKVwiPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnRzXCIgKm5nSWY9XCIhdXBsb2FkSW5Qcm9ncmVzczsgZWxzZSB1cGxvYWRzcGlubmVyXCI+XG5cbiAgICAgICAgICAgIDwhLS0gdXBsb2FkIGEgZmlsZSAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50IGF0dC1maWxlXCIgKm5nSWY9XCJwcmVwYXJlUGhhc2UuZGF0YS5maWxlXCIgKGNsaWNrKT1cInVwbG9hZCgpXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdcIj5cbiAgICAgICAgICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWxlX3VwbG9hZC5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGgzIHRyYW5zbGF0ZT5lby5wcmVwYXJlLmF0dGFjaG1lbnQudXBsb2FkLnRpdGxlPC9oMz5cbiAgICAgICAgICAgICAgPHAgdHJhbnNsYXRlPmVvLnByZXBhcmUuYXR0YWNobWVudC51cGxvYWQuZGVzYzwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIHNlbGVjdCBhIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnQgYXR0LXRtcGxcIiAqbmdJZj1cInByZXBhcmVQaGFzZS5kYXRhLnRlbXBsYXRlcy5sZW5ndGggPiAwICYmIGhhc1RlbXBsYXRlQ2FwYWJpbGl0eSgpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dUZW1wbGF0ZVNlbGVjdG9yKHRydWUpXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdcIj5cbiAgICAgICAgICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19wcmVwYXJlX2FkZC5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGgzIHRyYW5zbGF0ZT5lby5wcmVwYXJlLmF0dGFjaG1lbnQudGVtcGxhdGUudGl0bGU8L2gzPlxuICAgICAgICAgICAgICA8cCB0cmFuc2xhdGU+ZW8ucHJlcGFyZS5hdHRhY2htZW50LnRlbXBsYXRlLmRlc2M8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBubyBmaWxlIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnQgYXR0LW5vbmVcIiAqbmdJZj1cInByZXBhcmVQaGFzZS5kYXRhLndpdGhvdXRGaWxlXCIgKGNsaWNrKT1cIm5vRmlsZSgpXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdcIj5cbiAgICAgICAgICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19uby1maWxlLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aDMgdHJhbnNsYXRlPmVvLnByZXBhcmUuYXR0YWNobWVudC5ub2ZpbGUudGl0bGU8L2gzPlxuICAgICAgICAgICAgICA8cCB0cmFuc2xhdGU+ZW8ucHJlcGFyZS5hdHRhY2htZW50Lm5vZmlsZS5kZXNjPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDwhLS0gdXBsb2FkIHByb2dyZXNzIGluZGljYXRvciAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN1cGxvYWRzcGlubmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtaW5kaWNhdG9yXCI+XG4gICAgICAgICAgICA8ZW8tbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFBIQVNFIElOREVYREFUQSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaGFzZSBpbmRleGRhdGFcIiAqbmdTd2l0Y2hDYXNlPVwiJ2luZGV4ZGF0YSdcIj5cblxuICAgICAgICA8IS0tIGZvcm0gYW5kIHByZXZpZXcgLS0+XG4gICAgICAgIDx5dmMtc3BsaXQtdmlldyAqbmdJZj1cInByZXBhcmVkSXRlbS5jb250ZW50czsgZWxzZSBqdXN0Zm9ybVwiIFtsYXlvdXRTZXR0aW5nc0lEXT1cIidwcmVwYXJlLnN0YXRlJ1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpbGVzXCI+XG5cbiAgICAgICAgICAgICAgPCEtLSBpbmRleGRhdGEgZm9ybSAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImp1c3Rmb3JtXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPCEtLSBsaXN0IG9mIGNvbnRlbnRzIChpbiBjYXNlIG9mIGJ1bGsgdXBsb2FkKSB0aGF0IGNhbiBiZSBwcmV2aWV3ZWQgLS0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXNlbGVjdFwiPlxuXG4gICAgICAgICAgICAgICAgPGgyIHRyYW5zbGF0ZT5lby5wcmVwYXJlLmRldGFpbHMuY29udGVudHMudGl0bGU8L2gyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb250ZW50IG9mIHByZXBhcmVkSXRlbS5jb250ZW50czsgdHJhY2tCeTogdHJhY2tCeUluZGV4Rm47IGluZGV4IGFzIGlkeFwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7c2VsZWN0ZWQ6IHByZXBhcmVQaGFzZS5kYXRhLnByZXZpZXdJbmRleCA9PT0gaWR4fVwiIChjbGljayk9XCJzZXRQcmV2aWV3VXJpKGlkeClcIj5cbiAgICAgICAgICAgICAgICAgIHt7Y29udGVudC5wYXRofX0gPHNwYW4gKm5nSWY9XCJjb250ZW50LmV4aXN0c2NvdW50ID4gMFwiIGNsYXNzPVwiYXR0ZW50aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eydlby5wcmVwYXJlLmNvbnRlbnQuZXhpc3RzY291bnQubWVzc2FnZSd8dHJhbnNsYXRlOiAoe2NvdW50OiBjb250ZW50LmV4aXN0c2NvdW50fSl9fVwiPiE8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1tZWRpYS13cmFwXCI+XG4gICAgICAgICAgICAgIDxlby1wcmVwYXJlLWNvbnRlbnQtZXhpc3RzLWluZm8gW2NvbnRlbnRdPVwicHJlcGFyZWRJdGVtLmNvbnRlbnRzW3ByZXBhcmVQaGFzZS5kYXRhLnByZXZpZXdJbmRleF1cIj5cbiAgICAgICAgICAgICAgPC9lby1wcmVwYXJlLWNvbnRlbnQtZXhpc3RzLWluZm8+XG4gICAgICAgICAgICAgIDxlby1tZWRpYSBbZG1zT2JqZWN0XT1cInBzZXVkb0Rtc09iamVjdFwiIFtwcmV2aWV3RmlsZV09XCJwcmVwYXJlUGhhc2UuZGF0YS5wcmV2aWV3RmlsZVwiPjwvZW8tbWVkaWE+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3l2Yy1zcGxpdC12aWV3PlxuXG4gICAgICAgIDwhLS0ganVzdCB0aGUgZm9ybSAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNqdXN0Zm9ybT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250YWluZXIgc2l0dWF0aW9uLWNyZWF0ZVwiICpuZ0lmPVwiZm9ybU9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxlby1vYmplY3QtZm9ybSAjZm9ybSBbZm9ybU9wdGlvbnNdPVwiZm9ybU9wdGlvbnNcIiAoc3RhdHVzQ2hhbmdlZCk9XCJvbkZvcm1TdGF0dXNDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvZW8tb2JqZWN0LWZvcm0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuXG4gIDxuZy10ZW1wbGF0ZSAjc3Bpbm5lcj5cbiAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgPGVvLWxvYWRpbmctc3Bpbm5lciBzaXplPVwibWVkaXVtXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI21haW5TcGlubmVyPlxuICA8ZGl2IGNsYXNzPVwicHJlcGFyZURldGFpbHNfX21haW4tc3Bpbm5lclwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgc2l6ZT1cIm1lZGl1bVwiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cblxuPG5nLXRlbXBsYXRlICNub0l0ZW0+XG4gIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cIntpY29uOiBlbXB0eVN0YXRlLmljb24sIHRleHQ6IGVtcHR5U3RhdGUudGV4dCwgY2xhc3NOYW1lOiBlbXB0eVN0YXRlLmNsYXNzTmFtZX1cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCIuZXJyb3JcIj48L25nLWNvbnRlbnQ+XG4gIDwvZW8tZXJyb3ItbWVzc2FnZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxlby1kaWFsb2cgW3RpdGxlXT1cIidlby5wcmVwYXJlLmRldGFpbHMuZGVsZXRlLmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGVcIiBbKHZpc2libGUpXT1cInNob3dEZWxldGVEaWFsb2dcIlxuICBbZm9jdXNPblNob3ddPVwiZmFsc2VcIiBbbWluV2lkdGhdPVwiNDAwXCIgW3N0eWxlQ2xhc3NdPVwiJ3ByZXBhcmUtZGVsZXRlX19kaWFsb2cnXCI+XG5cbiAgPGRpdj57eydlby5wcmVwYXJlLmRldGFpbHMuZGVsZXRlLmRpYWxvZy5tZXNzYWdlJyB8IHRyYW5zbGF0ZX19PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b25zIHByZXBhcmUtZGVsZXRlLS1hY3Rpb24tYnV0dG9ucyBmbGV4LXJvd1wiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIGNhbmNlbFwiIChjbGljayk9XCJzaG93RGVsZXRlRGlhbG9nID0gZmFsc2VcIlxuICAgICAgdHJhbnNsYXRlPmVvLnByZXBhcmUuZGV0YWlscy5kZWxldGUuZGlhbG9nLmNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNjb25maXJtRGVsZXRlIChjbGljayk9XCJyZW1vdmVJdGVtKHByZXBhcmVkSXRlbSlcIiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCJcbiAgICAgIHRyYW5zbGF0ZT5lby5wcmVwYXJlLmRldGFpbHMuZGVsZXRlLmRpYWxvZy5vazwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZW8tZGlhbG9nPlxuXG48ZW8tZGlhbG9nIFt0aXRsZV09XCInZW8ucHJlcGFyZS5kZXRhaWxzLmRlbGV0ZS5jb250ZW50LmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGVcIiBbKHZpc2libGUpXT1cInNob3dDb250ZW50RGVsZXRlRGlhbG9nXCJcbiAgW21pbldpZHRoXT1cIjQwMFwiIFtzdHlsZUNsYXNzXT1cIidwcmVwYXJlLWRlbGV0ZV9fZGlhbG9nJ1wiPlxuXG4gIDxkaXY+e3snZW8ucHJlcGFyZS5kZXRhaWxzLmRlbGV0ZS5jb250ZW50LmRpYWxvZy5tZXNzYWdlJyB8IHRyYW5zbGF0ZTogKHtjb250ZW50UGF0aDogcHJlcGFyZWRJdGVtPy5jb250ZW50cyA/XG4gICAgcHJlcGFyZWRJdGVtPy5jb250ZW50c1tkZWxldGVkQ29udGVudEluZGV4XT8ucGF0aCA6ICcnfSl9fTwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9ucyBwcmVwYXJlLWRlbGV0ZS0tYWN0aW9uLWJ1dHRvbnMgZmxleC1yb3dcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwic2hvd0NvbnRlbnREZWxldGVEaWFsb2cgPSBmYWxzZVwiXG4gICAgICB0cmFuc2xhdGU+ZW8ucHJlcGFyZS5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cuY2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2NvbmZpcm1Db250ZW50RGVsZXRlIChjbGljayk9XCJyZW1vdmVJdGVtQ29udGVudChwcmVwYXJlZEl0ZW0sIGRlbGV0ZWRDb250ZW50SW5kZXgpXCJcbiAgICAgIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiB0cmFuc2xhdGU+ZW8ucHJlcGFyZS5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cub2s8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cbiJdfQ==