@alfresco/adf-content-services 8.1.0-16295248176 → 8.1.0-16320806191

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 (425) hide show
  1. package/bundles/assets/adf-content-services/i18n/de.json +1 -3
  2. package/bundles/assets/adf-content-services/i18n/en.json +1 -3
  3. package/bundles/assets/adf-content-services/i18n/es.json +1 -3
  4. package/bundles/assets/adf-content-services/i18n/fr.json +1 -3
  5. package/bundles/assets/adf-content-services/i18n/it.json +1 -3
  6. package/bundles/assets/adf-content-services/i18n/pl.json +1 -3
  7. package/bundles/assets/adf-content-services/i18n/pt.json +1 -3
  8. package/esm2022/adf-content-services.mjs +5 -0
  9. package/esm2022/lib/agent/index.mjs +18 -0
  10. package/esm2022/lib/agent/public-api.mjs +18 -0
  11. package/esm2022/lib/agent/services/agent.service.mjs +60 -0
  12. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +27 -0
  13. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +42 -0
  14. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +77 -0
  15. package/esm2022/lib/api-factories/index.mjs +18 -0
  16. package/esm2022/lib/api-factories/public-api.mjs +19 -0
  17. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +18 -0
  18. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +77 -0
  19. package/esm2022/lib/aspect-list/aspect-list.component.mjs +139 -0
  20. package/esm2022/lib/aspect-list/aspect-list.module.mjs +35 -0
  21. package/esm2022/lib/aspect-list/index.mjs +18 -0
  22. package/esm2022/lib/aspect-list/public-api.mjs +24 -0
  23. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +83 -0
  24. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +86 -0
  25. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +52 -0
  26. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +26 -0
  27. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +42 -0
  28. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +166 -0
  29. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +35 -0
  30. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +65 -0
  31. package/esm2022/lib/breadcrumb/index.mjs +18 -0
  32. package/esm2022/lib/breadcrumb/public-api.mjs +20 -0
  33. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +22 -0
  34. package/esm2022/lib/category/categories-management/categories-management.component.mjs +308 -0
  35. package/esm2022/lib/category/category.module.mjs +33 -0
  36. package/esm2022/lib/category/index.mjs +18 -0
  37. package/esm2022/lib/category/models/category-node.interface.mjs +18 -0
  38. package/esm2022/lib/category/public-api.mjs +23 -0
  39. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +80 -0
  40. package/esm2022/lib/category/services/category.service.mjs +159 -0
  41. package/esm2022/lib/common/events/file.event.mjs +46 -0
  42. package/esm2022/lib/common/index.mjs +18 -0
  43. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +18 -0
  44. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +18 -0
  45. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +37 -0
  46. package/esm2022/lib/common/models/allowable-operations.enum.mjs +30 -0
  47. package/esm2022/lib/common/models/ecm-company.model.mjs +19 -0
  48. package/esm2022/lib/common/models/ecm-user.model.mjs +45 -0
  49. package/esm2022/lib/common/models/file.model.mjs +53 -0
  50. package/esm2022/lib/common/models/node-metadata.model.mjs +23 -0
  51. package/esm2022/lib/common/models/permissions.enum.mjs +32 -0
  52. package/esm2022/lib/common/public-api.mjs +37 -0
  53. package/esm2022/lib/common/services/card-view-content-update.service.mjs +55 -0
  54. package/esm2022/lib/common/services/content.service.mjs +180 -0
  55. package/esm2022/lib/common/services/discovery-api.service.mjs +79 -0
  56. package/esm2022/lib/common/services/favorites-api.service.mjs +84 -0
  57. package/esm2022/lib/common/services/nodes-api.service.mjs +251 -0
  58. package/esm2022/lib/common/services/people-content.service.mjs +138 -0
  59. package/esm2022/lib/common/services/rendition.service.mjs +270 -0
  60. package/esm2022/lib/common/services/saved-searches.service.mjs +206 -0
  61. package/esm2022/lib/common/services/sites.service.mjs +243 -0
  62. package/esm2022/lib/common/services/upload.service.mjs +391 -0
  63. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +54 -0
  64. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +490 -0
  65. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +128 -0
  66. package/esm2022/lib/content-metadata/content-metadata.module.mjs +36 -0
  67. package/esm2022/lib/content-metadata/index.mjs +18 -0
  68. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +18 -0
  69. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +18 -0
  70. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +18 -0
  71. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +18 -0
  72. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +18 -0
  73. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +28 -0
  74. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +18 -0
  75. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +18 -0
  76. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +18 -0
  77. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +18 -0
  78. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +18 -0
  79. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +18 -0
  80. package/esm2022/lib/content-metadata/public-api.mjs +31 -0
  81. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +107 -0
  82. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +106 -0
  83. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +76 -0
  84. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +40 -0
  85. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +108 -0
  86. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +33 -0
  87. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +99 -0
  88. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +134 -0
  89. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +52 -0
  90. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +169 -0
  91. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +256 -0
  92. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +617 -0
  93. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +66 -0
  94. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +18 -0
  95. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +205 -0
  96. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +50 -0
  97. package/esm2022/lib/content-node-selector/index.mjs +18 -0
  98. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +48 -0
  99. package/esm2022/lib/content-node-selector/public-api.mjs +25 -0
  100. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +168 -0
  101. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +287 -0
  102. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +102 -0
  103. package/esm2022/lib/content-node-share/content-node-share.module.mjs +35 -0
  104. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +18 -0
  105. package/esm2022/lib/content-node-share/index.mjs +18 -0
  106. package/esm2022/lib/content-node-share/public-api.mjs +22 -0
  107. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +83 -0
  108. package/esm2022/lib/content-type/content-type-dialog.component.mjs +57 -0
  109. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +18 -0
  110. package/esm2022/lib/content-type/content-type.service.mjs +52 -0
  111. package/esm2022/lib/content-type/index.mjs +20 -0
  112. package/esm2022/lib/content.module.mjs +277 -0
  113. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +51 -0
  114. package/esm2022/lib/dialogs/dialog.module.mjs +52 -0
  115. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +111 -0
  116. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +38 -0
  117. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +66 -0
  118. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +44 -0
  119. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +146 -0
  120. package/esm2022/lib/dialogs/index.mjs +18 -0
  121. package/esm2022/lib/dialogs/library/library.dialog.mjs +224 -0
  122. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +115 -0
  123. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  124. package/esm2022/lib/directives/auto-focus.directive.mjs +38 -0
  125. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +126 -0
  126. package/esm2022/lib/directives/content-directive.module.mjs +75 -0
  127. package/esm2022/lib/directives/index.mjs +18 -0
  128. package/esm2022/lib/directives/library-favorite.directive.mjs +119 -0
  129. package/esm2022/lib/directives/library-membership.directive.mjs +202 -0
  130. package/esm2022/lib/directives/node-counter.directive.mjs +59 -0
  131. package/esm2022/lib/directives/node-delete.directive.mjs +177 -0
  132. package/esm2022/lib/directives/node-download.directive.mjs +138 -0
  133. package/esm2022/lib/directives/node-favorite.directive.mjs +193 -0
  134. package/esm2022/lib/directives/node-lock.directive.mjs +57 -0
  135. package/esm2022/lib/directives/node-restore.directive.mjs +218 -0
  136. package/esm2022/lib/directives/public-api.mjs +28 -0
  137. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +60 -0
  138. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +196 -0
  139. package/esm2022/lib/document-list/components/document-list.component.mjs +965 -0
  140. package/esm2022/lib/document-list/components/document-list.token.mjs +21 -0
  141. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +42 -0
  142. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +107 -0
  143. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +131 -0
  144. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +91 -0
  145. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +86 -0
  146. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +118 -0
  147. package/esm2022/lib/document-list/components/node.event.mjs +30 -0
  148. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +83 -0
  149. package/esm2022/lib/document-list/data/image-resolver.model.mjs +18 -0
  150. package/esm2022/lib/document-list/data/row-filter.model.mjs +18 -0
  151. package/esm2022/lib/document-list/data/share-data-row.model.mjs +102 -0
  152. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +258 -0
  153. package/esm2022/lib/document-list/document-list.module.mjs +75 -0
  154. package/esm2022/lib/document-list/index.mjs +18 -0
  155. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +18 -0
  156. package/esm2022/lib/document-list/models/content-action.model.mjs +59 -0
  157. package/esm2022/lib/document-list/models/document-folder.model.mjs +23 -0
  158. package/esm2022/lib/document-list/models/node-action.enum.mjs +27 -0
  159. package/esm2022/lib/document-list/models/permissions-style.model.mjs +27 -0
  160. package/esm2022/lib/document-list/models/permissions.model.mjs +26 -0
  161. package/esm2022/lib/document-list/models/preset.model.mjs +257 -0
  162. package/esm2022/lib/document-list/public-api.mjs +47 -0
  163. package/esm2022/lib/document-list/services/custom-resources.service.mjs +378 -0
  164. package/esm2022/lib/document-list/services/document-actions.service.mjs +142 -0
  165. package/esm2022/lib/document-list/services/document-list.service.mjs +175 -0
  166. package/esm2022/lib/document-list/services/folder-actions.service.mjs +137 -0
  167. package/esm2022/lib/document-list/services/lock.service.mjs +72 -0
  168. package/esm2022/lib/document-list/services/node-actions.service.mjs +122 -0
  169. package/esm2022/lib/group/index.mjs +18 -0
  170. package/esm2022/lib/group/public-api.mjs +18 -0
  171. package/esm2022/lib/group/services/group.service.mjs +84 -0
  172. package/esm2022/lib/infinite-scroll-datasource/index.mjs +18 -0
  173. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +69 -0
  174. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +18 -0
  175. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +18 -0
  176. package/esm2022/lib/interfaces/index.mjs +18 -0
  177. package/esm2022/lib/interfaces/library-entity.interface.mjs +18 -0
  178. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +18 -0
  179. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +18 -0
  180. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +18 -0
  181. package/esm2022/lib/interfaces/public-api.mjs +23 -0
  182. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +19 -0
  183. package/esm2022/lib/legal-hold/index.mjs +18 -0
  184. package/esm2022/lib/legal-hold/public-api.mjs +18 -0
  185. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +136 -0
  186. package/esm2022/lib/material.module.mjs +183 -0
  187. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +43 -0
  188. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +65 -0
  189. package/esm2022/lib/mock/document-library.model.mock.mjs +84 -0
  190. package/esm2022/lib/mock/document-list.component.mock.mjs +364 -0
  191. package/esm2022/lib/mock/index.mjs +18 -0
  192. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +161 -0
  193. package/esm2022/lib/mock/public-api.mjs +27 -0
  194. package/esm2022/lib/mock/search-filter-mock.mjs +637 -0
  195. package/esm2022/lib/mock/search-query.mock.mjs +40 -0
  196. package/esm2022/lib/mock/search.component.mock.mjs +165 -0
  197. package/esm2022/lib/mock/search.service.mock.mjs +61 -0
  198. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +281 -0
  199. package/esm2022/lib/new-version-uploader/index.mjs +18 -0
  200. package/esm2022/lib/new-version-uploader/models/index.mjs +18 -0
  201. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +24 -0
  202. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +74 -0
  203. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +33 -0
  204. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +103 -0
  205. package/esm2022/lib/new-version-uploader/public-api.mjs +21 -0
  206. package/esm2022/lib/node-comments/index.mjs +18 -0
  207. package/esm2022/lib/node-comments/node-comments.component.mjs +50 -0
  208. package/esm2022/lib/node-comments/node-comments.module.mjs +33 -0
  209. package/esm2022/lib/node-comments/public-api.mjs +20 -0
  210. package/esm2022/lib/node-comments/services/node-comments.service.mjs +85 -0
  211. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +18 -0
  212. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +123 -0
  213. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +102 -0
  214. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +69 -0
  215. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +45 -0
  216. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +67 -0
  217. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +56 -0
  218. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +102 -0
  219. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +87 -0
  220. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +219 -0
  221. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +134 -0
  222. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +88 -0
  223. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +82 -0
  224. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +111 -0
  225. package/esm2022/lib/permission-manager/index.mjs +18 -0
  226. package/esm2022/lib/permission-manager/models/member.model.mjs +59 -0
  227. package/esm2022/lib/permission-manager/models/permission.model.mjs +29 -0
  228. package/esm2022/lib/permission-manager/models/role.model.mjs +18 -0
  229. package/esm2022/lib/permission-manager/permission-manager.module.mjs +84 -0
  230. package/esm2022/lib/permission-manager/public-api.mjs +36 -0
  231. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +78 -0
  232. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +299 -0
  233. package/esm2022/lib/pipes/content-pipe.module.mjs +37 -0
  234. package/esm2022/lib/pipes/index.mjs +18 -0
  235. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +69 -0
  236. package/esm2022/lib/pipes/public-api.mjs +19 -0
  237. package/esm2022/lib/prediction/index.mjs +18 -0
  238. package/esm2022/lib/prediction/public-api.mjs +18 -0
  239. package/esm2022/lib/prediction/services/index.mjs +18 -0
  240. package/esm2022/lib/prediction/services/prediction.service.mjs +57 -0
  241. package/esm2022/lib/search/components/empty-search-result.component.mjs +27 -0
  242. package/esm2022/lib/search/components/index.mjs +43 -0
  243. package/esm2022/lib/search/components/reset-search.directive.mjs +41 -0
  244. package/esm2022/lib/search/components/search-check-list/index.mjs +18 -0
  245. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +158 -0
  246. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +18 -0
  247. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +169 -0
  248. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +46 -0
  249. package/esm2022/lib/search/components/search-control.component.mjs +180 -0
  250. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +22 -0
  251. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +23 -0
  252. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +23 -0
  253. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +196 -0
  254. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +18 -0
  255. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +201 -0
  256. package/esm2022/lib/search/components/search-datetime-range/index.mjs +18 -0
  257. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +223 -0
  258. package/esm2022/lib/search/components/search-facet-field/index.mjs +18 -0
  259. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +132 -0
  260. package/esm2022/lib/search/components/search-filter/index.mjs +19 -0
  261. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +45 -0
  262. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +80 -0
  263. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +18 -0
  264. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +154 -0
  265. package/esm2022/lib/search/components/search-filter-chips/index.mjs +23 -0
  266. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +104 -0
  267. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +109 -0
  268. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +129 -0
  269. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +63 -0
  270. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +43 -0
  271. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +109 -0
  272. package/esm2022/lib/search/components/search-filter-container/index.mjs +18 -0
  273. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +122 -0
  274. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +19 -0
  275. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +36 -0
  276. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +63 -0
  277. package/esm2022/lib/search/components/search-form/index.mjs +18 -0
  278. package/esm2022/lib/search/components/search-form/search-form.component.mjs +52 -0
  279. package/esm2022/lib/search/components/search-input/index.mjs +18 -0
  280. package/esm2022/lib/search/components/search-input/search-input.component.mjs +108 -0
  281. package/esm2022/lib/search/components/search-logical-filter/index.mjs +18 -0
  282. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +163 -0
  283. package/esm2022/lib/search/components/search-number-range/index.mjs +18 -0
  284. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +154 -0
  285. package/esm2022/lib/search/components/search-panel/index.mjs +18 -0
  286. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +44 -0
  287. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +18 -0
  288. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +23 -0
  289. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +26 -0
  290. package/esm2022/lib/search/components/search-properties/index.mjs +22 -0
  291. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +244 -0
  292. package/esm2022/lib/search/components/search-properties/search-properties.mjs +18 -0
  293. package/esm2022/lib/search/components/search-radio/index.mjs +18 -0
  294. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +145 -0
  295. package/esm2022/lib/search/components/search-slider/index.mjs +18 -0
  296. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +119 -0
  297. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +18 -0
  298. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +77 -0
  299. package/esm2022/lib/search/components/search-text/index.mjs +18 -0
  300. package/esm2022/lib/search/components/search-text/search-text.component.mjs +134 -0
  301. package/esm2022/lib/search/components/search-widget-container/index.mjs +18 -0
  302. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +113 -0
  303. package/esm2022/lib/search/components/search.component.mjs +152 -0
  304. package/esm2022/lib/search/forms/index.mjs +19 -0
  305. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +23 -0
  306. package/esm2022/lib/search/forms/search-term-validator.mjs +26 -0
  307. package/esm2022/lib/search/index.mjs +18 -0
  308. package/esm2022/lib/search/mocks/index.mjs +18 -0
  309. package/esm2022/lib/search/mocks/search.service.mock.mjs +56 -0
  310. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +22 -0
  311. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +18 -0
  312. package/esm2022/lib/search/models/facet-field.interface.mjs +29 -0
  313. package/esm2022/lib/search/models/facet-query.interface.mjs +18 -0
  314. package/esm2022/lib/search/models/facet-widget.interface.mjs +18 -0
  315. package/esm2022/lib/search/models/filter-query.interface.mjs +18 -0
  316. package/esm2022/lib/search/models/filter-search.interface.mjs +18 -0
  317. package/esm2022/lib/search/models/index.mjs +34 -0
  318. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +31 -0
  319. package/esm2022/lib/search/models/search-category.interface.mjs +18 -0
  320. package/esm2022/lib/search/models/search-configuration.interface.mjs +18 -0
  321. package/esm2022/lib/search/models/search-filter-list.model.mjs +148 -0
  322. package/esm2022/lib/search/models/search-form.interface.mjs +18 -0
  323. package/esm2022/lib/search/models/search-range.interface.mjs +18 -0
  324. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +18 -0
  325. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +18 -0
  326. package/esm2022/lib/search/models/search-widget.interface.mjs +18 -0
  327. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +18 -0
  328. package/esm2022/lib/search/public-api.mjs +24 -0
  329. package/esm2022/lib/search/search-configuration.token.mjs +19 -0
  330. package/esm2022/lib/search/search.module.mjs +192 -0
  331. package/esm2022/lib/search/services/base-query-builder.service.mjs +509 -0
  332. package/esm2022/lib/search/services/index.mjs +24 -0
  333. package/esm2022/lib/search/services/search-configuration.service.mjs +50 -0
  334. package/esm2022/lib/search/services/search-facet-filters.service.mjs +374 -0
  335. package/esm2022/lib/search/services/search-filter.service.mjs +56 -0
  336. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +136 -0
  337. package/esm2022/lib/search/services/search-query-builder.service.mjs +48 -0
  338. package/esm2022/lib/search/services/search.service.mjs +89 -0
  339. package/esm2022/lib/search-ai/index.mjs +18 -0
  340. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +18 -0
  341. package/esm2022/lib/search-ai/public-api.mjs +19 -0
  342. package/esm2022/lib/search-ai/services/search-ai.service.mjs +103 -0
  343. package/esm2022/lib/security/index.mjs +18 -0
  344. package/esm2022/lib/security/public-api.mjs +18 -0
  345. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +18 -0
  346. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +18 -0
  347. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +274 -0
  348. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +43 -0
  349. package/esm2022/lib/services/alfresco-api.interface.mjs +18 -0
  350. package/esm2022/lib/services/alfresco-api.service.mjs +120 -0
  351. package/esm2022/lib/services/index.mjs +18 -0
  352. package/esm2022/lib/services/public-api.mjs +18 -0
  353. package/esm2022/lib/tag/index.mjs +18 -0
  354. package/esm2022/lib/tag/public-api.mjs +24 -0
  355. package/esm2022/lib/tag/services/tag.service.mjs +171 -0
  356. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +114 -0
  357. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +98 -0
  358. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +80 -0
  359. package/esm2022/lib/tag/tag.module.mjs +37 -0
  360. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +27 -0
  361. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +370 -0
  362. package/esm2022/lib/testing/content.testing.module.mjs +56 -0
  363. package/esm2022/lib/tree/components/tree.component.mjs +312 -0
  364. package/esm2022/lib/tree/index.mjs +18 -0
  365. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +18 -0
  366. package/esm2022/lib/tree/models/tree-node.interface.mjs +22 -0
  367. package/esm2022/lib/tree/models/tree-response.interface.mjs +18 -0
  368. package/esm2022/lib/tree/public-api.mjs +23 -0
  369. package/esm2022/lib/tree/services/tree.service.mjs +134 -0
  370. package/esm2022/lib/tree/tree.module.mjs +33 -0
  371. package/esm2022/lib/tree-view/components/tree-view.component.mjs +75 -0
  372. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +99 -0
  373. package/esm2022/lib/tree-view/index.mjs +18 -0
  374. package/esm2022/lib/tree-view/models/tree-view.model.mjs +28 -0
  375. package/esm2022/lib/tree-view/public-api.mjs +22 -0
  376. package/esm2022/lib/tree-view/services/tree-view.service.mjs +38 -0
  377. package/esm2022/lib/tree-view/tree-view.module.mjs +33 -0
  378. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +176 -0
  379. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +190 -0
  380. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +92 -0
  381. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +124 -0
  382. package/esm2022/lib/upload/components/upload-button.component.mjs +133 -0
  383. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +112 -0
  384. package/esm2022/lib/upload/components/upload-files.event.mjs +41 -0
  385. package/esm2022/lib/upload/components/upload-version-button.component.mjs +54 -0
  386. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +154 -0
  387. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +75 -0
  388. package/esm2022/lib/upload/index.mjs +18 -0
  389. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +39 -0
  390. package/esm2022/lib/upload/public-api.mjs +29 -0
  391. package/esm2022/lib/upload/upload.module.mjs +72 -0
  392. package/esm2022/lib/version-compatibility/index.mjs +18 -0
  393. package/esm2022/lib/version-compatibility/public-api.mjs +20 -0
  394. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +26 -0
  395. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +53 -0
  396. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +33 -0
  397. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +76 -0
  398. package/esm2022/lib/version-manager/content-version.service.mjs +53 -0
  399. package/esm2022/lib/version-manager/index.mjs +18 -0
  400. package/esm2022/lib/version-manager/public-api.mjs +23 -0
  401. package/esm2022/lib/version-manager/version-comparison.component.mjs +42 -0
  402. package/esm2022/lib/version-manager/version-list.component.mjs +215 -0
  403. package/esm2022/lib/version-manager/version-manager.component.mjs +145 -0
  404. package/esm2022/lib/version-manager/version-manager.module.mjs +48 -0
  405. package/esm2022/lib/version-manager/version-upload.component.mjs +154 -0
  406. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +33 -0
  407. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +408 -0
  408. package/esm2022/lib/viewer/index.mjs +18 -0
  409. package/esm2022/lib/viewer/public-api.mjs +19 -0
  410. package/esm2022/public-api.mjs +56 -0
  411. package/fesm2022/adf-content-services.mjs +827 -870
  412. package/fesm2022/adf-content-services.mjs.map +1 -1
  413. package/lib/aspect-list/aspect-list.component.d.ts +0 -4
  414. package/lib/aspect-list/public-api.d.ts +0 -1
  415. package/lib/aspect-list/services/aspect-list.service.d.ts +4 -6
  416. package/lib/category/categories-management/categories-management.component.d.ts +0 -4
  417. package/lib/content.module.d.ts +2 -2
  418. package/lib/dialogs/dialog.module.d.ts +5 -6
  419. package/lib/dialogs/download-zip/download-zip.dialog.d.ts +1 -1
  420. package/lib/dialogs/download-zip/download-zip.dialog.module.d.ts +6 -2
  421. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  422. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  423. package/lib/version-manager/version-list.component.scss +2 -3
  424. package/package.json +5 -3
  425. package/lib/aspect-list/interfaces/custom-aspect-paging.interface.d.ts +0 -21
@@ -0,0 +1,168 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
18
+ import { InfiniteSelectScrollDirective, AuthenticationService } from '@alfresco/adf-core';
19
+ import { SitePaging, SiteEntry, Site } from '@alfresco/js-api';
20
+ import { MatSelectModule } from '@angular/material/select';
21
+ import { LiveAnnouncer } from '@angular/cdk/a11y';
22
+ import { TranslatePipe, TranslateService } from '@ngx-translate/core';
23
+ import { SitesService } from '../../common/services/sites.service';
24
+ import { CommonModule } from '@angular/common';
25
+ import { MatFormFieldModule } from '@angular/material/form-field';
26
+ import * as i0 from "@angular/core";
27
+ import * as i1 from "@alfresco/adf-core";
28
+ import * as i2 from "../../common/services/sites.service";
29
+ import * as i3 from "@angular/cdk/a11y";
30
+ import * as i4 from "@ngx-translate/core";
31
+ import * as i5 from "@angular/common";
32
+ import * as i6 from "@angular/material/form-field";
33
+ import * as i7 from "@angular/material/select";
34
+ import * as i8 from "@angular/material/core";
35
+ /* eslint-disable no-shadow */
36
+ /* eslint-disable @typescript-eslint/naming-convention */
37
+ export var Relations;
38
+ (function (Relations) {
39
+ Relations["Members"] = "members";
40
+ Relations["Containers"] = "containers";
41
+ })(Relations || (Relations = {}));
42
+ export class DropdownSitesComponent {
43
+ constructor(authService, sitesService, liveAnnouncer, translateService) {
44
+ this.authService = authService;
45
+ this.sitesService = sitesService;
46
+ this.liveAnnouncer = liveAnnouncer;
47
+ this.translateService = translateService;
48
+ /** Hide the "My Files" option. */
49
+ this.hideMyFiles = false;
50
+ /**
51
+ * A custom list of sites to be displayed by the dropdown. If no value
52
+ * is given, the sites of the current user are displayed by default. A
53
+ * list of objects only with properties 'title' and 'guid' is enough to
54
+ * be able to display the dropdown.
55
+ */
56
+ this.siteList = null;
57
+ /** Id of the selected site */
58
+ this.value = null;
59
+ /**
60
+ * Text or a translation key to act as a placeholder. Default value is the
61
+ * key "DROPDOWN.PLACEHOLDER_LABEL".
62
+ */
63
+ this.placeholder = 'DROPDOWN.PLACEHOLDER_LABEL';
64
+ /**
65
+ * Emitted when the user selects a site. When the default option is selected,
66
+ * an empty model is emitted.
67
+ */
68
+ this.change = new EventEmitter();
69
+ this.error = new EventEmitter();
70
+ this.loading = true;
71
+ this.skipCount = 0;
72
+ this.selected = null;
73
+ this.MY_FILES_VALUE = '-my-';
74
+ }
75
+ ngOnInit() {
76
+ if (!this.siteList) {
77
+ this.loadSiteList();
78
+ }
79
+ }
80
+ loadAllOnScroll() {
81
+ if (this.isInfiniteScrollingEnabled()) {
82
+ this.loading = true;
83
+ this.loadSiteList();
84
+ }
85
+ }
86
+ selectedSite(event) {
87
+ this.liveAnnouncer.announce(this.translateService.instant('ADF_DROPDOWN.SELECTION_ARIA_LABEL', {
88
+ placeholder: this.translateService.instant(this.placeholder),
89
+ selectedOption: this.translateService.instant(event.value.entry.title)
90
+ }));
91
+ this.change.emit(event.value);
92
+ }
93
+ loadSiteList() {
94
+ const extendedOptions = {
95
+ skipCount: this.skipCount,
96
+ maxItems: InfiniteSelectScrollDirective.MAX_ITEMS
97
+ };
98
+ this.skipCount += InfiniteSelectScrollDirective.MAX_ITEMS;
99
+ if (this.relations) {
100
+ extendedOptions.relations = [this.relations];
101
+ }
102
+ this.sitesService.getSites(extendedOptions).subscribe((sitePaging) => {
103
+ if (!this.siteList) {
104
+ this.siteList = this.relations === Relations.Members ? this.filteredResultsByMember(sitePaging) : sitePaging;
105
+ if (!this.hideMyFiles) {
106
+ const siteEntry = new SiteEntry({
107
+ entry: new Site({ id: this.MY_FILES_VALUE, guid: this.MY_FILES_VALUE, title: 'DROPDOWN.MY_FILES_OPTION' })
108
+ });
109
+ this.siteList.list.entries.unshift(siteEntry);
110
+ if (!this.value) {
111
+ this.value = this.MY_FILES_VALUE;
112
+ }
113
+ }
114
+ }
115
+ else {
116
+ const siteList = this.relations === Relations.Members ? this.filteredResultsByMember(sitePaging) : sitePaging;
117
+ this.siteList.list.entries = this.siteList.list.entries.concat(siteList.list.entries);
118
+ this.siteList.list.pagination = sitePaging.list.pagination;
119
+ }
120
+ this.selected = this.siteList.list.entries.find((site) => site.entry.id === this.value);
121
+ if (this.value && !this.selected && this.siteListHasMoreItems()) {
122
+ this.loadSiteList();
123
+ }
124
+ this.loading = false;
125
+ }, (error) => {
126
+ this.error.emit(error);
127
+ });
128
+ }
129
+ showLoading() {
130
+ return this.loading && this.siteListHasMoreItems();
131
+ }
132
+ isInfiniteScrollingEnabled() {
133
+ return !this.loading && this.siteListHasMoreItems();
134
+ }
135
+ siteListHasMoreItems() {
136
+ return this.siteList?.list.pagination?.hasMoreItems;
137
+ }
138
+ filteredResultsByMember(sites) {
139
+ const loggedUserName = this.authService.getEcmUsername();
140
+ sites.list.entries = sites.list.entries.filter((site) => this.isCurrentUserMember(site, loggedUserName));
141
+ return sites;
142
+ }
143
+ isCurrentUserMember(site, loggedUserName) {
144
+ return (site.entry.visibility === 'PUBLIC' ||
145
+ !!site.relations.members.list.entries.find((member) => member.entry.id.toLowerCase() === loggedUserName.toLowerCase()));
146
+ }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownSitesComponent, deps: [{ token: i1.AuthenticationService }, { token: i2.SitesService }, { token: i3.LiveAnnouncer }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownSitesComponent, isStandalone: true, selector: "adf-sites-dropdown", inputs: { hideMyFiles: "hideMyFiles", siteList: "siteList", value: "value", placeholder: "placeholder", relations: "relations" }, outputs: { change: "change", error: "error" }, host: { classAttribute: "adf-sites-dropdown" }, ngImport: i0, template: "<div id=\"site-dropdown-container\" class=\"adf-site-dropdown-container\">\n <mat-form-field class=\"adf-sites-dropdown-form-field\" appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'NODE_SELECTOR.LOCATION' | translate }}</mat-label>\n <mat-select\n adf-infinite-select-scroll\n (scrollEnd)=\"loadAllOnScroll()\"\n #siteSelect\n data-automation-id=\"site-my-files-option\"\n class=\"adf-site-dropdown-list-element\"\n id=\"site-dropdown\"\n placeholder=\"{{placeholder | translate}}\"\n [(value)]=\"selected\"\n placeholder=\"{{placeholder | translate}}\"\n (selectionChange)=\"selectedSite($event)\">\n <mat-select-trigger class=\"adf-sites-dropdown-select-trigger\">\n {{ selected?.entry.title | translate}}\n </mat-select-trigger>\n <mat-option *ngFor=\"let site of siteList?.list.entries;\" [value]=\"site\">\n {{ site.entry.title | translate}}\n </mat-option>\n <mat-option *ngIf=\"showLoading()\" disabled=\"true\" data-automation-id=\"site-loading\">\n {{ 'ADF_DROPDOWN.LOADING' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: InfiniteSelectScrollDirective, selector: "[adf-infinite-select-scroll]", outputs: ["scrollEnd"] }], encapsulation: i0.ViewEncapsulation.None }); }
149
+ }
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownSitesComponent, decorators: [{
151
+ type: Component,
152
+ args: [{ selector: 'adf-sites-dropdown', standalone: true, imports: [CommonModule, TranslatePipe, MatFormFieldModule, MatSelectModule, InfiniteSelectScrollDirective], encapsulation: ViewEncapsulation.None, host: { class: 'adf-sites-dropdown' }, template: "<div id=\"site-dropdown-container\" class=\"adf-site-dropdown-container\">\n <mat-form-field class=\"adf-sites-dropdown-form-field\" appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'NODE_SELECTOR.LOCATION' | translate }}</mat-label>\n <mat-select\n adf-infinite-select-scroll\n (scrollEnd)=\"loadAllOnScroll()\"\n #siteSelect\n data-automation-id=\"site-my-files-option\"\n class=\"adf-site-dropdown-list-element\"\n id=\"site-dropdown\"\n placeholder=\"{{placeholder | translate}}\"\n [(value)]=\"selected\"\n placeholder=\"{{placeholder | translate}}\"\n (selectionChange)=\"selectedSite($event)\">\n <mat-select-trigger class=\"adf-sites-dropdown-select-trigger\">\n {{ selected?.entry.title | translate}}\n </mat-select-trigger>\n <mat-option *ngFor=\"let site of siteList?.list.entries;\" [value]=\"site\">\n {{ site.entry.title | translate}}\n </mat-option>\n <mat-option *ngIf=\"showLoading()\" disabled=\"true\" data-automation-id=\"site-loading\">\n {{ 'ADF_DROPDOWN.LOADING' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n" }]
153
+ }], ctorParameters: () => [{ type: i1.AuthenticationService }, { type: i2.SitesService }, { type: i3.LiveAnnouncer }, { type: i4.TranslateService }], propDecorators: { hideMyFiles: [{
154
+ type: Input
155
+ }], siteList: [{
156
+ type: Input
157
+ }], value: [{
158
+ type: Input
159
+ }], placeholder: [{
160
+ type: Input
161
+ }], relations: [{
162
+ type: Input
163
+ }], change: [{
164
+ type: Output
165
+ }], error: [{
166
+ type: Output
167
+ }] } });
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9jb250ZW50LW5vZGUtc2VsZWN0b3Ivc2l0ZS1kcm9wZG93bi9zaXRlcy1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci9zaXRlLWRyb3Bkb3duL3NpdGVzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFFbEUsOEJBQThCO0FBQzlCLHlEQUF5RDtBQUV6RCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQs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T0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3pILENBQUM7SUFDTixDQUFDOytHQXZKUSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwrU0MzQ25DLCt5Q0EwQkEsMkNEWWMsWUFBWSwyUEFBRSxhQUFhLGlEQUFFLGtCQUFrQiwwU0FBRSxlQUFlLHN3QkFBRSw2QkFBNkI7OzRGQUtoRyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0ksb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLDZCQUE2QixDQUFDLGlCQUUzRixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO2dMQUtyQyxXQUFXO3NCQURWLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFRTixXQUFXO3NCQURWLEtBQUs7Z0JBU04sU0FBUztzQkFEUixLQUFLO2dCQVFOLE1BQU07c0JBREwsTUFBTTtnQkFJUCxLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNlbGVjdFNjcm9sbERpcmVjdGl2ZSwgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFNpdGVQYWdpbmcsIFNpdGVFbnRyeSwgU2l0ZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTGl2ZUFubm91bmNlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNpdGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9zaXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuLyogZXNsaW50LWRpc2FibGUgbm8tc2hhZG93ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cblxuZXhwb3J0IGVudW0gUmVsYXRpb25zIHtcbiAgICBNZW1iZXJzID0gJ21lbWJlcnMnLFxuICAgIENvbnRhaW5lcnMgPSAnY29udGFpbmVycydcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2l0ZXMtZHJvcGRvd24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRTZWxlY3RNb2R1bGUsIEluZmluaXRlU2VsZWN0U2Nyb2xsRGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2l0ZXMtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zaXRlcy1kcm9wZG93bicgfVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNpdGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogSGlkZSB0aGUgXCJNeSBGaWxlc1wiIG9wdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGhpZGVNeUZpbGVzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBIGN1c3RvbSBsaXN0IG9mIHNpdGVzIHRvIGJlIGRpc3BsYXllZCBieSB0aGUgZHJvcGRvd24uIElmIG5vIHZhbHVlXG4gICAgICogaXMgZ2l2ZW4sIHRoZSBzaXRlcyBvZiB0aGUgY3VycmVudCB1c2VyIGFyZSBkaXNwbGF5ZWQgYnkgZGVmYXVsdC4gQVxuICAgICAqIGxpc3Qgb2Ygb2JqZWN0cyBvbmx5IHdpdGggcHJvcGVydGllcyAndGl0bGUnIGFuZCAnZ3VpZCcgaXMgZW5vdWdoIHRvXG4gICAgICogYmUgYWJsZSB0byBkaXNwbGF5IHRoZSBkcm9wZG93bi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpdGVMaXN0OiBTaXRlUGFnaW5nID0gbnVsbDtcblxuICAgIC8qKiBJZCBvZiB0aGUgc2VsZWN0ZWQgc2l0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IG9yIGEgdHJhbnNsYXRpb24ga2V5IHRvIGFjdCBhcyBhIHBsYWNlaG9sZGVyLiBEZWZhdWx0IHZhbHVlIGlzIHRoZVxuICAgICAqIGtleSBcIkRST1BET1dOLlBMQUNFSE9MREVSX0xBQkVMXCIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ0RST1BET1dOLlBMQUNFSE9MREVSX0xBQkVMJztcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciBmb3IgdGhlIHJlc3VsdHMgb2YgdGhlIHNpdGVzIHF1ZXJ5LiBQb3NzaWJsZSB2YWx1ZXMgYXJlXG4gICAgICogXCJtZW1iZXJzXCIgYW5kIFwiY29udGFpbmVyc1wiLiBXaGVuIFwibWVtYmVyc1wiIGlzIHVzZWQsIHRoZSBzaXRlIGxpc3RcbiAgICAgKiB3aWxsIGJlIHJlc3RyaWN0ZWQgdG8gdGhlIHNpdGVzIHRoYXQgdGhlIHVzZXIgaXMgYSBtZW1iZXIgb2YuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByZWxhdGlvbnM6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGEgc2l0ZS4gV2hlbiB0aGUgZGVmYXVsdCBvcHRpb24gaXMgc2VsZWN0ZWQsXG4gICAgICogYW4gZW1wdHkgbW9kZWwgaXMgZW1pdHRlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNpdGVFbnRyeT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBwcml2YXRlIGxvYWRpbmcgPSB0cnVlO1xuICAgIHByaXZhdGUgc2tpcENvdW50ID0gMDtcblxuICAgIHNlbGVjdGVkOiBTaXRlRW50cnkgPSBudWxsO1xuICAgIE1ZX0ZJTEVTX1ZBTFVFID0gJy1teS0nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzaXRlc1NlcnZpY2U6IFNpdGVzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsaXZlQW5ub3VuY2VyOiBMaXZlQW5ub3VuY2VyLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNpdGVMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRTaXRlTGlzdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZEFsbE9uU2Nyb2xsKCkge1xuICAgICAgICBpZiAodGhpcy5pc0luZmluaXRlU2Nyb2xsaW5nRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5sb2FkU2l0ZUxpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdGVkU2l0ZShldmVudDogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMubGl2ZUFubm91bmNlci5hbm5vdW5jZShcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdBREZfRFJPUERPV04uU0VMRUNUSU9OX0FSSUFfTEFCRUwnLCB7XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMucGxhY2Vob2xkZXIpLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChldmVudC52YWx1ZS5lbnRyeS50aXRsZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQudmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFNpdGVMaXN0KCkge1xuICAgICAgICBjb25zdCBleHRlbmRlZE9wdGlvbnM6IGFueSA9IHtcbiAgICAgICAgICAgIHNraXBDb3VudDogdGhpcy5za2lwQ291bnQsXG4gICAgICAgICAgICBtYXhJdGVtczogSW5maW5pdGVTZWxlY3RTY3JvbGxEaXJlY3RpdmUuTUFYX0lURU1TXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5za2lwQ291bnQgKz0gSW5maW5pdGVTZWxlY3RTY3JvbGxEaXJlY3RpdmUuTUFYX0lURU1TO1xuXG4gICAgICAgIGlmICh0aGlzLnJlbGF0aW9ucykge1xuICAgICAgICAgICAgZXh0ZW5kZWRPcHRpb25zLnJlbGF0aW9ucyA9IFt0aGlzLnJlbGF0aW9uc107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNpdGVzU2VydmljZS5nZXRTaXRlcyhleHRlbmRlZE9wdGlvbnMpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChzaXRlUGFnaW5nOiBTaXRlUGFnaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNpdGVMaXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2l0ZUxpc3QgPSB0aGlzLnJlbGF0aW9ucyA9PT0gUmVsYXRpb25zLk1lbWJlcnMgPyB0aGlzLmZpbHRlcmVkUmVzdWx0c0J5TWVtYmVyKHNpdGVQYWdpbmcpIDogc2l0ZVBhZ2luZztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGlkZU15RmlsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpdGVFbnRyeSA9IG5ldyBTaXRlRW50cnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5OiBuZXcgU2l0ZSh7IGlkOiB0aGlzLk1ZX0ZJTEVTX1ZBTFVFLCBndWlkOiB0aGlzLk1ZX0ZJTEVTX1ZBTFVFLCB0aXRsZTogJ0RST1BET1dOLk1ZX0ZJTEVTX09QVElPTicgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpdGVMaXN0Lmxpc3QuZW50cmllcy51bnNoaWZ0KHNpdGVFbnRyeSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLk1ZX0ZJTEVTX1ZBTFVFO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l0ZUxpc3Q6IFNpdGVQYWdpbmcgPSB0aGlzLnJlbGF0aW9ucyA9PT0gUmVsYXRpb25zLk1lbWJlcnMgPyB0aGlzLmZpbHRlcmVkUmVzdWx0c0J5TWVtYmVyKHNpdGVQYWdpbmcpIDogc2l0ZVBhZ2luZztcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpdGVMaXN0Lmxpc3QuZW50cmllcyA9IHRoaXMuc2l0ZUxpc3QubGlzdC5lbnRyaWVzLmNvbmNhdChzaXRlTGlzdC5saXN0LmVudHJpZXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpdGVMaXN0Lmxpc3QucGFnaW5hdGlvbiA9IHNpdGVQYWdpbmcubGlzdC5wYWdpbmF0aW9uO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnNpdGVMaXN0Lmxpc3QuZW50cmllcy5maW5kKChzaXRlOiBTaXRlRW50cnkpID0+IHNpdGUuZW50cnkuaWQgPT09IHRoaXMudmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5zaXRlTGlzdEhhc01vcmVJdGVtcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZFNpdGVMaXN0KCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzaG93TG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyAmJiB0aGlzLnNpdGVMaXN0SGFzTW9yZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgaXNJbmZpbml0ZVNjcm9sbGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5sb2FkaW5nICYmIHRoaXMuc2l0ZUxpc3RIYXNNb3JlSXRlbXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNpdGVMaXN0SGFzTW9yZUl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXRlTGlzdD8ubGlzdC5wYWdpbmF0aW9uPy5oYXNNb3JlSXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJlZFJlc3VsdHNCeU1lbWJlcihzaXRlczogU2l0ZVBhZ2luZyk6IFNpdGVQYWdpbmcge1xuICAgICAgICBjb25zdCBsb2dnZWRVc2VyTmFtZSA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0RWNtVXNlcm5hbWUoKTtcbiAgICAgICAgc2l0ZXMubGlzdC5lbnRyaWVzID0gc2l0ZXMubGlzdC5lbnRyaWVzLmZpbHRlcigoc2l0ZSkgPT4gdGhpcy5pc0N1cnJlbnRVc2VyTWVtYmVyKHNpdGUsIGxvZ2dlZFVzZXJOYW1lKSk7XG4gICAgICAgIHJldHVybiBzaXRlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQ3VycmVudFVzZXJNZW1iZXIoc2l0ZTogU2l0ZUVudHJ5LCBsb2dnZWRVc2VyTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBzaXRlLmVudHJ5LnZpc2liaWxpdHkgPT09ICdQVUJMSUMnIHx8XG4gICAgICAgICAgICAhIXNpdGUucmVsYXRpb25zLm1lbWJlcnMubGlzdC5lbnRyaWVzLmZpbmQoKG1lbWJlcikgPT4gbWVtYmVyLmVudHJ5LmlkLnRvTG93ZXJDYXNlKCkgPT09IGxvZ2dlZFVzZXJOYW1lLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdiBpZD1cInNpdGUtZHJvcGRvd24tY29udGFpbmVyXCIgY2xhc3M9XCJhZGYtc2l0ZS1kcm9wZG93bi1jb250YWluZXJcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtc2l0ZXMtZHJvcGRvd24tZm9ybS1maWVsZFwiIGFwcGVhcmFuY2U9XCJmaWxsXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdOT0RFX1NFTEVDVE9SLkxPQ0FUSU9OJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgYWRmLWluZmluaXRlLXNlbGVjdC1zY3JvbGxcbiAgICAgICAgICAgIChzY3JvbGxFbmQpPVwibG9hZEFsbE9uU2Nyb2xsKClcIlxuICAgICAgICAgICAgI3NpdGVTZWxlY3RcbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInNpdGUtbXktZmlsZXMtb3B0aW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNpdGUtZHJvcGRvd24tbGlzdC1lbGVtZW50XCJcbiAgICAgICAgICAgIGlkPVwic2l0ZS1kcm9wZG93blwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXIgfCB0cmFuc2xhdGV9fVwiXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJzZWxlY3RlZFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXIgfCB0cmFuc2xhdGV9fVwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGVkU2l0ZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyIGNsYXNzPVwiYWRmLXNpdGVzLWRyb3Bkb3duLXNlbGVjdC10cmlnZ2VyXCI+XG4gICAgICAgICAgICAgICAge3sgc2VsZWN0ZWQ/LmVudHJ5LnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHNpdGUgb2Ygc2l0ZUxpc3Q/Lmxpc3QuZW50cmllcztcIiBbdmFsdWVdPVwic2l0ZVwiPlxuICAgICAgICAgICAgICAgIHt7IHNpdGUuZW50cnkudGl0bGUgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJzaG93TG9hZGluZygpXCIgZGlzYWJsZWQ9XCJ0cnVlXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwic2l0ZS1sb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAge3sgJ0FERl9EUk9QRE9XTi5MT0FESU5HJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,287 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, Inject, ViewChild, ViewEncapsulation } from '@angular/core';
18
+ import { MAT_DIALOG_DATA, MatDialog, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
19
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
20
+ import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
21
+ import { ContentService } from '../common/services/content.service';
22
+ import { SharedLinksApiService } from './services/shared-links-api.service';
23
+ import { ClipboardDirective, ConfirmDialogComponent } from '@alfresco/adf-core';
24
+ import { RenditionService } from '../common/services/rendition.service';
25
+ import { add, endOfDay, format, isBefore } from 'date-fns';
26
+ import { CommonModule } from '@angular/common';
27
+ import { TranslatePipe } from '@ngx-translate/core';
28
+ import { MatIconModule } from '@angular/material/icon';
29
+ import { MatFormFieldModule } from '@angular/material/form-field';
30
+ import { MatDatepickerModule } from '@angular/material/datepicker';
31
+ import { MatInputModule } from '@angular/material/input';
32
+ import { MatButtonModule } from '@angular/material/button';
33
+ import * as i0 from "@angular/core";
34
+ import * as i1 from "./services/shared-links-api.service";
35
+ import * as i2 from "@angular/material/dialog";
36
+ import * as i3 from "../common/services/content.service";
37
+ import * as i4 from "../common/services/rendition.service";
38
+ import * as i5 from "@angular/common";
39
+ import * as i6 from "@angular/material/icon";
40
+ import * as i7 from "@angular/forms";
41
+ import * as i8 from "@angular/material/slide-toggle";
42
+ import * as i9 from "@angular/material/form-field";
43
+ import * as i10 from "@angular/material/datepicker";
44
+ import * as i11 from "@angular/material/input";
45
+ import * as i12 from "@angular/material/button";
46
+ export class ShareDialogComponent {
47
+ constructor(sharedLinksApiService, dialogRef, dialog, contentService, renditionService, data) {
48
+ this.sharedLinksApiService = sharedLinksApiService;
49
+ this.dialogRef = dialogRef;
50
+ this.dialog = dialog;
51
+ this.contentService = contentService;
52
+ this.renditionService = renditionService;
53
+ this.data = data;
54
+ this.minDateValidator = (control) => isBefore(endOfDay(new Date(control.value)), this.minDate) ? { invalidDate: true } : null;
55
+ this.minDate = add(new Date(), { days: 1 });
56
+ this.isFileShared = false;
57
+ this.isDisabled = false;
58
+ this.isLinkWithExpiryDate = false;
59
+ this.form = new FormGroup({
60
+ sharedUrl: new FormControl(''),
61
+ time: new FormControl({ value: null, disabled: true }, [Validators.required, this.minDateValidator])
62
+ });
63
+ }
64
+ ngOnInit() {
65
+ if (this.data.node?.entry) {
66
+ this.fileName = this.data.node.entry.name;
67
+ this.baseShareUrl = this.data.baseShareUrl;
68
+ const properties = this.data.node.entry.properties;
69
+ if (!properties?.['qshare:sharedId']) {
70
+ this.createSharedLinks(this.data.node.entry.id);
71
+ }
72
+ else {
73
+ this.sharedId = properties['qshare:sharedId'];
74
+ this.isFileShared = true;
75
+ const expiryDate = this.updateForm();
76
+ this.isExpiryDateToggleChecked = this.isLinkWithExpiryDate = !!expiryDate;
77
+ this.isLinkWithExpiryDate ? this.time.enable() : this.time.disable();
78
+ }
79
+ }
80
+ }
81
+ onTimeChanged() {
82
+ if (this.time.valid) {
83
+ this.updateNode(this.time.value);
84
+ }
85
+ }
86
+ get time() {
87
+ return this.form.controls['time'];
88
+ }
89
+ onSlideShareChange(event) {
90
+ if (event.checked) {
91
+ this.createSharedLinks(this.data.node.entry.id);
92
+ }
93
+ else {
94
+ this.openConfirmationDialog();
95
+ }
96
+ }
97
+ get canUpdate() {
98
+ const { entry } = this.data.node;
99
+ if (entry?.allowableOperations) {
100
+ return this.contentService.hasAllowableOperations(entry, 'update');
101
+ }
102
+ return true;
103
+ }
104
+ onToggleExpirationDate(slideToggle) {
105
+ if (slideToggle.checked) {
106
+ this.time.enable();
107
+ this.isExpiryDateToggleChecked = true;
108
+ }
109
+ else {
110
+ this.time.disable();
111
+ this.time.setValue(null);
112
+ this.deleteSharedLink(this.sharedId, true);
113
+ }
114
+ }
115
+ onDatePickerClosed() {
116
+ this.onTimeChanged();
117
+ if (!this.time.value) {
118
+ this.slideToggleExpirationDate.checked = false;
119
+ }
120
+ }
121
+ preventIncorrectCharacters(e) {
122
+ const regex = /[^\d/.-]/;
123
+ return e.key.length === 1 ? !regex.test(e.key) : true;
124
+ }
125
+ openConfirmationDialog() {
126
+ this.isFileShared = false;
127
+ this.dialog
128
+ .open(ConfirmDialogComponent, {
129
+ data: {
130
+ title: 'SHARE.CONFIRMATION.DIALOG-TITLE',
131
+ message: 'SHARE.CONFIRMATION.MESSAGE',
132
+ yesLabel: 'SHARE.CONFIRMATION.REMOVE',
133
+ noLabel: 'SHARE.CONFIRMATION.CANCEL'
134
+ },
135
+ minWidth: '250px',
136
+ closeOnNavigation: true
137
+ })
138
+ .beforeClosed()
139
+ .subscribe((deleteSharedLink) => {
140
+ if (deleteSharedLink) {
141
+ this.deleteSharedLink(this.sharedId);
142
+ }
143
+ else {
144
+ this.isFileShared = true;
145
+ }
146
+ });
147
+ }
148
+ createSharedLinks(nodeId, sharedLinkWithExpirySettings) {
149
+ this.isDisabled = true;
150
+ this.sharedLinksApiService.createSharedLinks(nodeId, sharedLinkWithExpirySettings).subscribe((sharedLink) => {
151
+ if (sharedLink.entry) {
152
+ this.sharedId = sharedLink.entry.id;
153
+ if (this.data.node.entry.properties) {
154
+ this.data.node.entry.properties['qshare:sharedId'] = this.sharedId;
155
+ }
156
+ else {
157
+ this.data.node.entry.properties = {
158
+ 'qshare:sharedId': this.sharedId
159
+ };
160
+ }
161
+ this.isDisabled = false;
162
+ this.isFileShared = true;
163
+ // eslint-disable-next-line
164
+ this.renditionService.getNodeRendition(this.data.node.entry.id);
165
+ this.updateForm();
166
+ }
167
+ }, () => {
168
+ this.isDisabled = false;
169
+ this.isFileShared = false;
170
+ });
171
+ }
172
+ deleteSharedLink(sharedId, dialogOpenFlag) {
173
+ this.isDisabled = true;
174
+ this.sharedLinksApiService.deleteSharedLink(sharedId).subscribe((response) => {
175
+ if (response instanceof Error) {
176
+ this.isDisabled = false;
177
+ this.isFileShared = true;
178
+ this.handleError(response);
179
+ }
180
+ else {
181
+ if (this.data.node.entry.properties) {
182
+ this.data.node.entry.properties['qshare:sharedId'] = null;
183
+ this.data.node.entry.properties['qshare:expiryDate'] = null;
184
+ }
185
+ if (dialogOpenFlag) {
186
+ this.createSharedLinks(this.data.node.entry.id);
187
+ this.isExpiryDateToggleChecked = false;
188
+ this.isLinkWithExpiryDate = false;
189
+ }
190
+ else {
191
+ this.dialogRef.close(false);
192
+ }
193
+ }
194
+ });
195
+ }
196
+ handleError(error) {
197
+ let message = 'SHARE.UNSHARE_ERROR';
198
+ let statusCode = 0;
199
+ try {
200
+ statusCode = JSON.parse(error.message).error.statusCode;
201
+ }
202
+ catch {
203
+ /* empty */
204
+ }
205
+ if (statusCode === 403) {
206
+ message = 'SHARE.UNSHARE_PERMISSION_ERROR';
207
+ }
208
+ this.sharedLinksApiService.error.next({
209
+ statusCode,
210
+ message
211
+ });
212
+ }
213
+ updateForm() {
214
+ const { entry } = this.data.node;
215
+ let expiryDate = null;
216
+ if (entry?.properties) {
217
+ expiryDate = entry.properties['qshare:expiryDate'];
218
+ }
219
+ this.form.setValue({
220
+ sharedUrl: `${this.baseShareUrl}${this.sharedId}`,
221
+ time: expiryDate ? new Date(expiryDate) : null
222
+ }, { emitEvent: false });
223
+ return expiryDate;
224
+ }
225
+ updateNode(date) {
226
+ let expiryDate;
227
+ if (date) {
228
+ expiryDate = format(endOfDay(new Date(date)), `yyyy-MM-dd'T'HH:mm:ss.SSSxx`);
229
+ }
230
+ else {
231
+ expiryDate = null;
232
+ }
233
+ if (this.sharedId && expiryDate) {
234
+ this.isDisabled = true;
235
+ this.sharedLinksApiService.deleteSharedLink(this.sharedId).subscribe((response) => {
236
+ if (response instanceof Error) {
237
+ this.isDisabled = false;
238
+ this.isFileShared = true;
239
+ this.handleError(response);
240
+ }
241
+ else {
242
+ this.sharedLinkWithExpirySettings(expiryDate);
243
+ this.isLinkWithExpiryDate = true;
244
+ this.updateEntryExpiryDate(date);
245
+ }
246
+ });
247
+ }
248
+ }
249
+ sharedLinkWithExpirySettings(expiryDate) {
250
+ const nodeObject = {
251
+ nodeId: this.data.node.entry.id,
252
+ expiresAt: expiryDate
253
+ };
254
+ this.createSharedLinks(this.data.node.entry.id, nodeObject);
255
+ }
256
+ updateEntryExpiryDate(date) {
257
+ const { properties } = this.data.node.entry;
258
+ if (properties) {
259
+ properties['qshare:expiryDate'] = date ? new Date(date) : null;
260
+ }
261
+ }
262
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareDialogComponent, deps: [{ token: i1.SharedLinksApiService }, { token: i2.MatDialogRef }, { token: i2.MatDialog }, { token: i3.ContentService }, { token: i4.RenditionService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
263
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareDialogComponent, isStandalone: true, selector: "adf-share-dialog", host: { classAttribute: "adf-share-dialog" }, viewQueries: [{ propertyName: "slideToggleExpirationDate", first: true, predicate: ["slideToggleExpirationDate"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"adf-share-link__dialog-content\">\n <div class=\"adf-share-link__dialog-container\">\n <div class=\"adf-share-link--header adf-share-link--row\">\n <div\n data-automation-id=\"adf-share-dialog-title\"\n class=\"adf-share-link__title adf-share-link__label adf-share-link__heading\"\n role=\"heading\"\n aria-level=\"1\">\n {{ 'SHARE.DIALOG-TITLE' | translate }} {{ fileName }}\n </div>\n <mat-icon mat-dialog-close class=\"adf-share-link__close adf-share-link__icon\">close</mat-icon>\n </div>\n <mat-dialog-content class=\"adf-share-link--dialog-content\">\n <hr class=\"adf-share-link__separation-line\" />\n <form [formGroup]=\"form\" class=\"adf-share-link__form\">\n <div class=\"adf-share-link--row adf-share-link--row-sharable\">\n <mat-icon class=\"adf-share-link__icon\">timer</mat-icon>\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.LINK-EXPIRY-DATE' | translate }}\n </div>\n <mat-slide-toggle\n #slideToggleExpirationDate\n [disabled]=\"!canUpdate\"\n color=\"primary\"\n data-automation-id=\"adf-expire-toggle\"\n aria-label=\"{{ 'SHARE.EXPIRES' | translate }}\"\n [checked]=\"!!time.value\"\n (change)=\"onToggleExpirationDate($event)\" />\n </div>\n <div\n [style.display]=\"isExpiryDateToggleChecked ? 'block' : 'none'\"\n data-automation-id=\"adf-slide-toggle-checked\"\n class=\"adf-share-link__date-time-container\">\n <mat-form-field class=\"adf-full-width\" subscriptSizing=\"dynamic\" data-automation-id=\"adf-content-share-expiration-field\">\n <mat-label>{{ 'SHARE.EXPIRATION-PLACEHOLDER' | translate }}</mat-label>\n <mat-datepicker-toggle\n [disabled]=\"time.disabled\"\n [for]=\"datePicker\"\n matSuffix\n class=\"adf-share-link__icon adf-share-link__calender-icon\" />\n <mat-datepicker\n #datePicker\n (closed)=\"onDatePickerClosed()\" />\n <input\n class=\"adf-share-link__input\"\n #datePickerInput\n matInput\n [attr.aria-label]=\"'SHARE.EXPIRATION-LABEL' | translate\"\n [min]=\"minDate\"\n formControlName=\"time\"\n (keydown)=\"preventIncorrectCharacters($event)\"\n (blur)=\"onTimeChanged()\"\n (keydown.enter)=\"datePickerInput.blur()\"\n [matDatepicker]=\"datePicker\"/>\n <mat-error *ngIf=\"time.errors?.['invalidDate'] && (time.dirty || time.touched)\"\n data-automation-id=\"adf-share-link-input-warning\">{{ 'SHARE.INVALID_DATE_ERROR' | translate }}</mat-error>\n </mat-form-field>\n </div>\n <p class=\"adf-share-link__info adf-share-link__para\">{{ 'SHARE.SHARE-LINK' | translate }}</p>\n <div class=\"adf-share-link--row adf-share-link--sharable-container\">\n <mat-slide-toggle\n color=\"primary\"\n data-automation-id=\"adf-share-toggle\"\n class=\"adf-share-link--row__slide-toggle\"\n aria-label=\"{{ 'SHARE.TITLE' | translate }}\"\n [checked]=\"isFileShared\"\n [disabled]=\"!canUpdate || isDisabled\"\n (change)=\"onSlideShareChange($event)\" />\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.SHARABLE-LINK-CREATED' | translate }}\n </div>\n </div>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n floatLabel=\"always\"\n class=\"adf-full-width adf-share-link__form--field\"\n data-automation-id=\"adf-content-share-public-link-field\"\n [ngClass]=\"isLinkWithExpiryDate? 'adf-share-link__border-color' : ''\">\n <input\n #sharedLinkInput\n data-automation-id=\"adf-share-link\"\n class=\"adf-share-link__input\"\n matInput\n placeholder=\"{{ 'SHARE.PUBLIC-LINK' | translate }}\"\n [attr.aria-label]=\"'SHARE.PUBLIC-LINK' | translate\"\n formControlName=\"sharedUrl\"\n readonly=\"readonly\">\n <mat-icon\n class=\"adf-input-action adf-share-link__icon adf-share-link__copy-icon\"\n role=\"button\"\n matSuffix\n [clipboard-notification]=\"'SHARE.CLIPBOARD-MESSAGE' | translate\"\n [adf-clipboard]\n [attr.aria-label]=\"'SHARE.COPY_BUTTON_LABEL' | translate\"\n [target]=\"sharedLinkInput\"\n tabindex=\"0\">\n content_copy\n </mat-icon>\n </mat-form-field>\n <p class=\"adf-share-link__warn adf-share-link__para\" *ngIf=\"isLinkWithExpiryDate\">\n {{ 'SHARE.LINK-WITH-EXPIRY-SETTINGS' | translate }}\n </p>\n <div class=\"adf-share-link--row\">\n <mat-icon class=\"adf-share-link__icon\">public</mat-icon>\n <p\n class=\"adf-share-link__info adf-sharable-link adf-share-link__public-content adf-share-link__para\">\n {{ 'SHARE.PUBLIC-CONTENT' | translate }}\n </p>\n </div>\n </form>\n <hr class=\"adf-share-link__separation-line\" />\n </mat-dialog-content>\n <div class=\"adf-share-link__actions\" mat-dialog-actions>\n <button data-automation-id=\"adf-share-dialog-close\" mat-button color=\"primary\" mat-dialog-close>\n {{ 'SHARE.CLOSE' | translate }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".adf-share-link-dialog .adf-share-link .mat-mdc-form-field-flex{height:48px}.adf-share-link-dialog .adf-share-link__dialog-content{display:flex;flex-direction:column}.adf-share-link-dialog .adf-share-link__dialog-container{background-color:var(--theme-card-background-color);border-radius:16px}.adf-share-link-dialog .adf-share-link__label,.adf-share-link-dialog .adf-share-link__title,.adf-share-link-dialog .adf-share-link__info{letter-spacing:-.4px;line-height:2;font-weight:400;font-style:normal;font-stretch:normal;font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__label{flex:1 1 auto}.adf-share-link-dialog .adf-share-link__form{padding-top:8px}.adf-share-link-dialog .adf-share-link__form .mat-mdc-form-field-infix:has(.adf-share-link__input){border-top:.9375em solid transparent;border-bottom:.9375em solid transparent;height:16px}.adf-share-link-dialog .adf-share-link__form--field{padding-bottom:16px}.adf-share-link-dialog .adf-share-link__public-content{color:var(--adf-theme-foreground-text-color-054);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link__warn{color:var(--theme-warn-color-a700);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link--row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:8px 0}.adf-share-link-dialog .adf-share-link--row-sharable,.adf-share-link-dialog .adf-share-link--sharable-container{margin-bottom:0}.adf-share-link-dialog .adf-share-link--header{padding:16px 24px 0}.adf-share-link-dialog .adf-share-link--dialog-content{padding-top:0;padding-bottom:0}.adf-share-link-dialog .adf-share-link__input{color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__separation-line{border:1px solid var(--theme-grey-background-color);margin:8px -24px}.adf-share-link-dialog .adf-share-link__close{cursor:pointer;margin-left:12px}.adf-share-link-dialog .adf-share-link__icon{color:var(--adf-theme-foreground-icon-color-054);padding-bottom:0;padding-right:0}.adf-share-link-dialog .adf-share-link__para{margin-top:8px;margin-bottom:8px}.adf-share-link-dialog .adf-share-link__heading{font-weight:700;font-size:var(--theme-subheading-2-font-size)}.adf-share-link-dialog .adf-share-link__copy-icon{padding-top:18px;font-size:22px}.adf-share-link-dialog .adf-share-link__calender-icon{top:12px;position:relative;right:-6px}.adf-share-link-dialog .adf-share-link__calender-icon svg{height:18px;width:18px}.adf-share-link-dialog .adf-share-link__date-time-container{padding-bottom:20px}.adf-share-link-dialog .adf-share-link__border-color{border:1px solid var(--theme-warn-color-a700)}.adf-share-link-dialog .adf-input-action{cursor:pointer}.adf-share-link-dialog .adf-full-width{width:100%;border-radius:6px;margin-top:-6px}.adf-share-link-dialog .adf-sharable-link{margin-top:2px;margin-left:8px}.adf-share-link-dialog .adf-share-link__actions{justify-content:flex-end;padding:8px 24px 32px 0;margin:8px 0 0}.adf-share-link-dialog .adf-share-link__actions>button{color:var(--adf-theme-foreground-base-color);background-color:var(--theme-grey-text-background-color);margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i10.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i10.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: ClipboardDirective, selector: "[adf-clipboard]", inputs: ["adf-clipboard", "target", "clipboard-notification"], exportAs: ["adfClipboard"] }], encapsulation: i0.ViewEncapsulation.None }); }
264
+ }
265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareDialogComponent, decorators: [{
266
+ type: Component,
267
+ args: [{ selector: 'adf-share-dialog', standalone: true, imports: [
268
+ CommonModule,
269
+ TranslatePipe,
270
+ MatIconModule,
271
+ MatDialogModule,
272
+ ReactiveFormsModule,
273
+ MatSlideToggleModule,
274
+ MatFormFieldModule,
275
+ MatDatepickerModule,
276
+ MatInputModule,
277
+ MatButtonModule,
278
+ ClipboardDirective
279
+ ], host: { class: 'adf-share-dialog' }, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-share-link__dialog-content\">\n <div class=\"adf-share-link__dialog-container\">\n <div class=\"adf-share-link--header adf-share-link--row\">\n <div\n data-automation-id=\"adf-share-dialog-title\"\n class=\"adf-share-link__title adf-share-link__label adf-share-link__heading\"\n role=\"heading\"\n aria-level=\"1\">\n {{ 'SHARE.DIALOG-TITLE' | translate }} {{ fileName }}\n </div>\n <mat-icon mat-dialog-close class=\"adf-share-link__close adf-share-link__icon\">close</mat-icon>\n </div>\n <mat-dialog-content class=\"adf-share-link--dialog-content\">\n <hr class=\"adf-share-link__separation-line\" />\n <form [formGroup]=\"form\" class=\"adf-share-link__form\">\n <div class=\"adf-share-link--row adf-share-link--row-sharable\">\n <mat-icon class=\"adf-share-link__icon\">timer</mat-icon>\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.LINK-EXPIRY-DATE' | translate }}\n </div>\n <mat-slide-toggle\n #slideToggleExpirationDate\n [disabled]=\"!canUpdate\"\n color=\"primary\"\n data-automation-id=\"adf-expire-toggle\"\n aria-label=\"{{ 'SHARE.EXPIRES' | translate }}\"\n [checked]=\"!!time.value\"\n (change)=\"onToggleExpirationDate($event)\" />\n </div>\n <div\n [style.display]=\"isExpiryDateToggleChecked ? 'block' : 'none'\"\n data-automation-id=\"adf-slide-toggle-checked\"\n class=\"adf-share-link__date-time-container\">\n <mat-form-field class=\"adf-full-width\" subscriptSizing=\"dynamic\" data-automation-id=\"adf-content-share-expiration-field\">\n <mat-label>{{ 'SHARE.EXPIRATION-PLACEHOLDER' | translate }}</mat-label>\n <mat-datepicker-toggle\n [disabled]=\"time.disabled\"\n [for]=\"datePicker\"\n matSuffix\n class=\"adf-share-link__icon adf-share-link__calender-icon\" />\n <mat-datepicker\n #datePicker\n (closed)=\"onDatePickerClosed()\" />\n <input\n class=\"adf-share-link__input\"\n #datePickerInput\n matInput\n [attr.aria-label]=\"'SHARE.EXPIRATION-LABEL' | translate\"\n [min]=\"minDate\"\n formControlName=\"time\"\n (keydown)=\"preventIncorrectCharacters($event)\"\n (blur)=\"onTimeChanged()\"\n (keydown.enter)=\"datePickerInput.blur()\"\n [matDatepicker]=\"datePicker\"/>\n <mat-error *ngIf=\"time.errors?.['invalidDate'] && (time.dirty || time.touched)\"\n data-automation-id=\"adf-share-link-input-warning\">{{ 'SHARE.INVALID_DATE_ERROR' | translate }}</mat-error>\n </mat-form-field>\n </div>\n <p class=\"adf-share-link__info adf-share-link__para\">{{ 'SHARE.SHARE-LINK' | translate }}</p>\n <div class=\"adf-share-link--row adf-share-link--sharable-container\">\n <mat-slide-toggle\n color=\"primary\"\n data-automation-id=\"adf-share-toggle\"\n class=\"adf-share-link--row__slide-toggle\"\n aria-label=\"{{ 'SHARE.TITLE' | translate }}\"\n [checked]=\"isFileShared\"\n [disabled]=\"!canUpdate || isDisabled\"\n (change)=\"onSlideShareChange($event)\" />\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.SHARABLE-LINK-CREATED' | translate }}\n </div>\n </div>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n floatLabel=\"always\"\n class=\"adf-full-width adf-share-link__form--field\"\n data-automation-id=\"adf-content-share-public-link-field\"\n [ngClass]=\"isLinkWithExpiryDate? 'adf-share-link__border-color' : ''\">\n <input\n #sharedLinkInput\n data-automation-id=\"adf-share-link\"\n class=\"adf-share-link__input\"\n matInput\n placeholder=\"{{ 'SHARE.PUBLIC-LINK' | translate }}\"\n [attr.aria-label]=\"'SHARE.PUBLIC-LINK' | translate\"\n formControlName=\"sharedUrl\"\n readonly=\"readonly\">\n <mat-icon\n class=\"adf-input-action adf-share-link__icon adf-share-link__copy-icon\"\n role=\"button\"\n matSuffix\n [clipboard-notification]=\"'SHARE.CLIPBOARD-MESSAGE' | translate\"\n [adf-clipboard]\n [attr.aria-label]=\"'SHARE.COPY_BUTTON_LABEL' | translate\"\n [target]=\"sharedLinkInput\"\n tabindex=\"0\">\n content_copy\n </mat-icon>\n </mat-form-field>\n <p class=\"adf-share-link__warn adf-share-link__para\" *ngIf=\"isLinkWithExpiryDate\">\n {{ 'SHARE.LINK-WITH-EXPIRY-SETTINGS' | translate }}\n </p>\n <div class=\"adf-share-link--row\">\n <mat-icon class=\"adf-share-link__icon\">public</mat-icon>\n <p\n class=\"adf-share-link__info adf-sharable-link adf-share-link__public-content adf-share-link__para\">\n {{ 'SHARE.PUBLIC-CONTENT' | translate }}\n </p>\n </div>\n </form>\n <hr class=\"adf-share-link__separation-line\" />\n </mat-dialog-content>\n <div class=\"adf-share-link__actions\" mat-dialog-actions>\n <button data-automation-id=\"adf-share-dialog-close\" mat-button color=\"primary\" mat-dialog-close>\n {{ 'SHARE.CLOSE' | translate }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".adf-share-link-dialog .adf-share-link .mat-mdc-form-field-flex{height:48px}.adf-share-link-dialog .adf-share-link__dialog-content{display:flex;flex-direction:column}.adf-share-link-dialog .adf-share-link__dialog-container{background-color:var(--theme-card-background-color);border-radius:16px}.adf-share-link-dialog .adf-share-link__label,.adf-share-link-dialog .adf-share-link__title,.adf-share-link-dialog .adf-share-link__info{letter-spacing:-.4px;line-height:2;font-weight:400;font-style:normal;font-stretch:normal;font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__label{flex:1 1 auto}.adf-share-link-dialog .adf-share-link__form{padding-top:8px}.adf-share-link-dialog .adf-share-link__form .mat-mdc-form-field-infix:has(.adf-share-link__input){border-top:.9375em solid transparent;border-bottom:.9375em solid transparent;height:16px}.adf-share-link-dialog .adf-share-link__form--field{padding-bottom:16px}.adf-share-link-dialog .adf-share-link__public-content{color:var(--adf-theme-foreground-text-color-054);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link__warn{color:var(--theme-warn-color-a700);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link--row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:8px 0}.adf-share-link-dialog .adf-share-link--row-sharable,.adf-share-link-dialog .adf-share-link--sharable-container{margin-bottom:0}.adf-share-link-dialog .adf-share-link--header{padding:16px 24px 0}.adf-share-link-dialog .adf-share-link--dialog-content{padding-top:0;padding-bottom:0}.adf-share-link-dialog .adf-share-link__input{color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__separation-line{border:1px solid var(--theme-grey-background-color);margin:8px -24px}.adf-share-link-dialog .adf-share-link__close{cursor:pointer;margin-left:12px}.adf-share-link-dialog .adf-share-link__icon{color:var(--adf-theme-foreground-icon-color-054);padding-bottom:0;padding-right:0}.adf-share-link-dialog .adf-share-link__para{margin-top:8px;margin-bottom:8px}.adf-share-link-dialog .adf-share-link__heading{font-weight:700;font-size:var(--theme-subheading-2-font-size)}.adf-share-link-dialog .adf-share-link__copy-icon{padding-top:18px;font-size:22px}.adf-share-link-dialog .adf-share-link__calender-icon{top:12px;position:relative;right:-6px}.adf-share-link-dialog .adf-share-link__calender-icon svg{height:18px;width:18px}.adf-share-link-dialog .adf-share-link__date-time-container{padding-bottom:20px}.adf-share-link-dialog .adf-share-link__border-color{border:1px solid var(--theme-warn-color-a700)}.adf-share-link-dialog .adf-input-action{cursor:pointer}.adf-share-link-dialog .adf-full-width{width:100%;border-radius:6px;margin-top:-6px}.adf-share-link-dialog .adf-sharable-link{margin-top:2px;margin-left:8px}.adf-share-link-dialog .adf-share-link__actions{justify-content:flex-end;padding:8px 24px 32px 0;margin:8px 0 0}.adf-share-link-dialog .adf-share-link__actions>button{color:var(--adf-theme-foreground-base-color);background-color:var(--theme-grey-text-background-color);margin-right:12px}\n"] }]
280
+ }], ctorParameters: () => [{ type: i1.SharedLinksApiService }, { type: i2.MatDialogRef }, { type: i2.MatDialog }, { type: i3.ContentService }, { type: i4.RenditionService }, { type: undefined, decorators: [{
281
+ type: Inject,
282
+ args: [MAT_DIALOG_DATA]
283
+ }] }], propDecorators: { slideToggleExpirationDate: [{
284
+ type: ViewChild,
285
+ args: ['slideToggleExpirationDate', { static: true }]
286
+ }] } });
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1ub2RlLXNoYXJlLmRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1ub2RlLXNoYXJlL2NvbnRlbnQtbm9kZS1zaGFyZS5kaWFsb2cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zaGFyZS9jb250ZW50LW5vZGUtc2hhcmUuZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRyxPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9B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TUFBTTsyQkFBQyxlQUFlO3lDQVAzQix5QkFBeUI7c0JBRHhCLFNBQVM7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hhcmVkTGlua3NBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zaGFyZWQtbGlua3MtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hhcmVkTGlua0JvZHlDcmVhdGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENsaXBib2FyZERpcmVjdGl2ZSwgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb250ZW50Tm9kZVNoYXJlU2V0dGluZ3MgfSBmcm9tICcuL2NvbnRlbnQtbm9kZS1zaGFyZS5zZXR0aW5ncyc7XG5pbXBvcnQgeyBSZW5kaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3JlbmRpdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGFkZCwgZW5kT2ZEYXksIGZvcm1hdCwgaXNCZWZvcmUgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmludGVyZmFjZSBTaGFyZWREaWFsb2dGb3JtUHJvcHMge1xuICAgIHNoYXJlZFVybDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICB0aW1lOiBGb3JtQ29udHJvbDxEYXRlPjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2hhcmUtZGlhbG9nJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIENsaXBib2FyZERpcmVjdGl2ZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtbm9kZS1zaGFyZS5kaWFsb2cuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1ub2RlLXNoYXJlLmRpYWxvZy5zY3NzJ10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zaGFyZS1kaWFsb2cnIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBtaW5EYXRlVmFsaWRhdG9yID0gKGNvbnRyb2w6IEZvcm1Db250cm9sPERhdGU+KTogYW55ID0+XG4gICAgICAgIGlzQmVmb3JlKGVuZE9mRGF5KG5ldyBEYXRlKGNvbnRyb2wudmFsdWUpKSwgdGhpcy5taW5EYXRlKSA/IHsgaW52YWxpZERhdGU6IHRydWUgfSA6IG51bGw7XG5cbiAgICBtaW5EYXRlID0gYWRkKG5ldyBEYXRlKCksIHsgZGF5czogMSB9KTtcbiAgICBzaGFyZWRJZDogc3RyaW5nO1xuICAgIGZpbGVOYW1lOiBzdHJpbmc7XG4gICAgYmFzZVNoYXJlVXJsOiBzdHJpbmc7XG4gICAgaXNGaWxlU2hhcmVkID0gZmFsc2U7XG4gICAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIGlzTGlua1dpdGhFeHBpcnlEYXRlID0gZmFsc2U7XG4gICAgZm9ybSA9IG5ldyBGb3JtR3JvdXA8U2hhcmVkRGlhbG9nRm9ybVByb3BzPih7XG4gICAgICAgIHNoYXJlZFVybDogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgICAgdGltZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlIH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLm1pbkRhdGVWYWxpZGF0b3JdKVxuICAgIH0pO1xuICAgIGlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgICBAVmlld0NoaWxkKCdzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNoYXJlZExpbmtzQXBpU2VydmljZTogU2hhcmVkTGlua3NBcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNoYXJlRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVuZGl0aW9uU2VydmljZTogUmVuZGl0aW9uU2VydmljZSxcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBDb250ZW50Tm9kZVNoYXJlU2V0dGluZ3NcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5ub2RlPy5lbnRyeSkge1xuICAgICAgICAgICAgdGhpcy5maWxlTmFtZSA9IHRoaXMuZGF0YS5ub2RlLmVudHJ5Lm5hbWU7XG4gICAgICAgICAgICB0aGlzLmJhc2VTaGFyZVVybCA9IHRoaXMuZGF0YS5iYXNlU2hhcmVVcmw7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzO1xuXG4gICAgICAgICAgICBpZiAoIXByb3BlcnRpZXM/LlsncXNoYXJlOnNoYXJlZElkJ10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVNoYXJlZExpbmtzKHRoaXMuZGF0YS5ub2RlLmVudHJ5LmlkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRJZCA9IHByb3BlcnRpZXNbJ3FzaGFyZTpzaGFyZWRJZCddO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGV4cGlyeURhdGUgPSB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQgPSB0aGlzLmlzTGlua1dpdGhFeHBpcnlEYXRlID0gISFleHBpcnlEYXRlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rV2l0aEV4cGlyeURhdGUgPyB0aGlzLnRpbWUuZW5hYmxlKCkgOiB0aGlzLnRpbWUuZGlzYWJsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UaW1lQ2hhbmdlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZS52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOb2RlKHRoaXMudGltZS52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdGltZSgpOiBGb3JtQ29udHJvbDxEYXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbJ3RpbWUnXTtcbiAgICB9XG4gICAgb25TbGlkZVNoYXJlQ2hhbmdlKGV2ZW50OiBNYXRTbGlkZVRvZ2dsZUNoYW5nZSkge1xuICAgICAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVTaGFyZWRMaW5rcyh0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Db25maXJtYXRpb25EaWFsb2coKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjYW5VcGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHsgZW50cnkgfSA9IHRoaXMuZGF0YS5ub2RlO1xuXG4gICAgICAgIGlmIChlbnRyeT8uYWxsb3dhYmxlT3BlcmF0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFNlcnZpY2UuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucyhlbnRyeSwgJ3VwZGF0ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgb25Ub2dnbGVFeHBpcmF0aW9uRGF0ZShzbGlkZVRvZ2dsZTogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpIHtcbiAgICAgICAgaWYgKHNsaWRlVG9nZ2xlLmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGltZS5lbmFibGUoKTtcbiAgICAgICAgICAgIHRoaXMuaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpbWUuZGlzYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy50aW1lLnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgdGhpcy5kZWxldGVTaGFyZWRMaW5rKHRoaXMuc2hhcmVkSWQsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EYXRlUGlja2VyQ2xvc2VkKCkge1xuICAgICAgICB0aGlzLm9uVGltZUNoYW5nZWQoKTtcbiAgICAgICAgaWYgKCF0aGlzLnRpbWUudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVUb2dnbGVFeHBpcmF0aW9uRGF0ZS5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcmV2ZW50SW5jb3JyZWN0Q2hhcmFjdGVycyhlOiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL1teXFxkLy4tXS87XG4gICAgICAgIHJldHVybiBlLmtleS5sZW5ndGggPT09IDEgPyAhcmVnZXgudGVzdChlLmtleSkgOiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkNvbmZpcm1hdGlvbkRpYWxvZygpIHtcbiAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgLm9wZW4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdTSEFSRS5DT05GSVJNQVRJT04uRElBTE9HLVRJVExFJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ1NIQVJFLkNPTkZJUk1BVElPTi5NRVNTQUdFJyxcbiAgICAgICAgICAgICAgICAgICAgeWVzTGFiZWw6ICdTSEFSRS5DT05GSVJNQVRJT04uUkVNT1ZFJyxcbiAgICAgICAgICAgICAgICAgICAgbm9MYWJlbDogJ1NIQVJFLkNPTkZJUk1BVElPTi5DQU5DRUwnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzI1MHB4JyxcbiAgICAgICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5iZWZvcmVDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGVsZXRlU2hhcmVkTGluaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkZWxldGVTaGFyZWRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlU2hhcmVkTGluayh0aGlzLnNoYXJlZElkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRmlsZVNoYXJlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTaGFyZWRMaW5rcyhub2RlSWQ6IHN0cmluZywgc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncz86IFNoYXJlZExpbmtCb2R5Q3JlYXRlKSB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5zaGFyZWRMaW5rc0FwaVNlcnZpY2UuY3JlYXRlU2hhcmVkTGlua3Mobm9kZUlkLCBzaGFyZWRMaW5rV2l0aEV4cGlyeVNldHRpbmdzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc2hhcmVkTGluaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzaGFyZWRMaW5rLmVudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkSWQgPSBzaGFyZWRMaW5rLmVudHJ5LmlkO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllc1sncXNoYXJlOnNoYXJlZElkJ10gPSB0aGlzLnNoYXJlZElkO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXNoYXJlOnNoYXJlZElkJzogdGhpcy5zaGFyZWRJZFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRpdGlvblNlcnZpY2UuZ2V0Tm9kZVJlbmRpdGlvbih0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRmlsZVNoYXJlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZVNoYXJlZExpbmsoc2hhcmVkSWQ6IHN0cmluZywgZGlhbG9nT3BlbkZsYWc/OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5zaGFyZWRMaW5rc0FwaVNlcnZpY2UuZGVsZXRlU2hhcmVkTGluayhzaGFyZWRJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5ub2RlLmVudHJ5LnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllc1sncXNoYXJlOnNoYXJlZElkJ10gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydxc2hhcmU6ZXhwaXJ5RGF0ZSddID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGRpYWxvZ09wZW5GbGFnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlU2hhcmVkTGlua3ModGhpcy5kYXRhLm5vZGUuZW50cnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xpbmtXaXRoRXhwaXJ5RGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gICAgICAgIGxldCBtZXNzYWdlID0gJ1NIQVJFLlVOU0hBUkVfRVJST1InO1xuICAgICAgICBsZXQgc3RhdHVzQ29kZSA9IDA7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXR1c0NvZGUgPSBKU09OLnBhcnNlKGVycm9yLm1lc3NhZ2UpLmVycm9yLnN0YXR1c0NvZGU7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXNDb2RlID09PSA0MDMpIHtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSAnU0hBUkUuVU5TSEFSRV9QRVJNSVNTSU9OX0VSUk9SJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2hhcmVkTGlua3NBcGlTZXJ2aWNlLmVycm9yLm5leHQoe1xuICAgICAgICAgICAgc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGb3JtKCk6IERhdGUge1xuICAgICAgICBjb25zdCB7IGVudHJ5IH0gPSB0aGlzLmRhdGEubm9kZTtcbiAgICAgICAgbGV0IGV4cGlyeURhdGUgPSBudWxsO1xuXG4gICAgICAgIGlmIChlbnRyeT8ucHJvcGVydGllcykge1xuICAgICAgICAgICAgZXhwaXJ5RGF0ZSA9IGVudHJ5LnByb3BlcnRpZXNbJ3FzaGFyZTpleHBpcnlEYXRlJ107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2hhcmVkVXJsOiBgJHt0aGlzLmJhc2VTaGFyZVVybH0ke3RoaXMuc2hhcmVkSWR9YCxcbiAgICAgICAgICAgICAgICB0aW1lOiBleHBpcnlEYXRlID8gbmV3IERhdGUoZXhwaXJ5RGF0ZSkgOiBudWxsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZXhwaXJ5RGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5vZGUoZGF0ZTogRGF0ZSkge1xuICAgICAgICBsZXQgZXhwaXJ5RGF0ZTogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGV4cGlyeURhdGUgPSBmb3JtYXQoZW5kT2ZEYXkobmV3IERhdGUoZGF0ZSkpLCBgeXl5eS1NTS1kZCdUJ0hIOm1tOnNzLlNTU3h4YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleHBpcnlEYXRlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNoYXJlZElkICYmIGV4cGlyeURhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuc2hhcmVkTGlua3NBcGlTZXJ2aWNlLmRlbGV0ZVNoYXJlZExpbmsodGhpcy5zaGFyZWRJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRMaW5rV2l0aEV4cGlyeVNldHRpbmdzKGV4cGlyeURhdGUgYXMgRGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rV2l0aEV4cGlyeURhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUVudHJ5RXhwaXJ5RGF0ZShkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncyhleHBpcnlEYXRlOiBEYXRlKSB7XG4gICAgICAgIGNvbnN0IG5vZGVPYmplY3Q6IFNoYXJlZExpbmtCb2R5Q3JlYXRlID0ge1xuICAgICAgICAgICAgbm9kZUlkOiB0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCxcbiAgICAgICAgICAgIGV4cGlyZXNBdDogZXhwaXJ5RGF0ZSBhcyBEYXRlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY3JlYXRlU2hhcmVkTGlua3ModGhpcy5kYXRhLm5vZGUuZW50cnkuaWQsIG5vZGVPYmplY3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRW50cnlFeHBpcnlEYXRlKGRhdGU6IERhdGUpIHtcbiAgICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzIH0gPSB0aGlzLmRhdGEubm9kZS5lbnRyeTtcblxuICAgICAgICBpZiAocHJvcGVydGllcykge1xuICAgICAgICAgICAgcHJvcGVydGllc1sncXNoYXJlOmV4cGlyeURhdGUnXSA9IGRhdGUgPyBuZXcgRGF0ZShkYXRlKSA6IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2RpYWxvZy1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19kaWFsb2ctY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGluay0taGVhZGVyIGFkZi1zaGFyZS1saW5rLS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtZGlhbG9nLXRpdGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX190aXRsZSBhZGYtc2hhcmUtbGlua19fbGFiZWwgYWRmLXNoYXJlLWxpbmtfX2hlYWRpbmdcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxldmVsPVwiMVwiPlxuICAgICAgICAgICAgICAgIHt7ICdTSEFSRS5ESUFMT0ctVElUTEUnIHwgdHJhbnNsYXRlIH19IHt7IGZpbGVOYW1lIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXQtZGlhbG9nLWNsb3NlIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2Nsb3NlIGFkZi1zaGFyZS1saW5rX19pY29uXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImFkZi1zaGFyZS1saW5rLS1kaWFsb2ctY29udGVudFwiPlxuICAgICAgICAgICAgPGhyIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX3NlcGFyYXRpb24tbGluZVwiIC8+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19mb3JtXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rLS1yb3cgYWRmLXNoYXJlLWxpbmstLXJvdy1zaGFyYWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvblwiPnRpbWVyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19sYWJlbCBhZGYtc2hhcmFibGUtbGlua1wiPnt7ICdTSEFSRS5MSU5LLUVYUElSWS1EQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICNzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblVwZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWV4cGlyZS10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cInt7ICdTSEFSRS5FWFBJUkVTJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCIhIXRpbWUudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblRvZ2dsZUV4cGlyYXRpb25EYXRlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZCA/ICdibG9jaycgOiAnbm9uZSdcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2xpZGUtdG9nZ2xlLWNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19kYXRlLXRpbWUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1jb250ZW50LXNoYXJlLWV4cGlyYXRpb24tZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgJ1NIQVJFLkVYUElSQVRJT04tUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRpbWUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiZGF0ZVBpY2tlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvbiBhZGYtc2hhcmUtbGlua19fY2FsZW5kZXItaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZGF0ZVBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZWQpPVwib25EYXRlUGlja2VyQ2xvc2VkKClcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkYXRlUGlja2VySW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NIQVJFLkVYUElSQVRJT04tTEFCRUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cInByZXZlbnRJbmNvcnJlY3RDaGFyYWN0ZXJzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uVGltZUNoYW5nZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGF0ZVBpY2tlcklucHV0LmJsdXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiZGF0ZVBpY2tlclwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJ0aW1lLmVycm9ycz8uWydpbnZhbGlkRGF0ZSddICYmICh0aW1lLmRpcnR5IHx8IHRpbWUudG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtbGluay1pbnB1dC13YXJuaW5nXCI+e3sgJ1NIQVJFLklOVkFMSURfREFURV9FUlJPUicgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pbmZvIGFkZi1zaGFyZS1saW5rX19wYXJhXCI+e3sgJ1NIQVJFLlNIQVJFLUxJTksnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGluay0tcm93IGFkZi1zaGFyZS1saW5rLS1zaGFyYWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmstLXJvd19fc2xpZGUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJ7eyAnU0hBUkUuVElUTEUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRmlsZVNoYXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblVwZGF0ZSB8fCBpc0Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25TbGlkZVNoYXJlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2xhYmVsIGFkZi1zaGFyYWJsZS1saW5rXCI+e3sgJ1NIQVJFLlNIQVJBQkxFLUxJTkstQ1JFQVRFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIlxuICAgICAgICAgICAgICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtZnVsbC13aWR0aCBhZGYtc2hhcmUtbGlua19fZm9ybS0tZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtY29udGVudC1zaGFyZS1wdWJsaWMtbGluay1maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTGlua1dpdGhFeHBpcnlEYXRlPyAnYWRmLXNoYXJlLWxpbmtfX2JvcmRlci1jb2xvcicgOiAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICNzaGFyZWRMaW5rSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zaGFyZS1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2lucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdTSEFSRS5QVUJMSUMtTElOSycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU0hBUkUuUFVCTElDLUxJTksnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNoYXJlZFVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seT1cInJlYWRvbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtaW5wdXQtYWN0aW9uIGFkZi1zaGFyZS1saW5rX19pY29uIGFkZi1zaGFyZS1saW5rX19jb3B5LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGlwYm9hcmQtbm90aWZpY2F0aW9uXT1cIidTSEFSRS5DTElQQk9BUkQtTUVTU0FHRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FkZi1jbGlwYm9hcmRdXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTSEFSRS5DT1BZX0JVVFRPTl9MQUJFTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJzaGFyZWRMaW5rSW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X2NvcHlcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX3dhcm4gYWRmLXNoYXJlLWxpbmtfX3BhcmFcIiAqbmdJZj1cImlzTGlua1dpdGhFeHBpcnlEYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdTSEFSRS5MSU5LLVdJVEgtRVhQSVJZLVNFVFRJTkdTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmstLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvblwiPnB1YmxpYzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pbmZvIGFkZi1zaGFyYWJsZS1saW5rIGFkZi1zaGFyZS1saW5rX19wdWJsaWMtY29udGVudCBhZGYtc2hhcmUtbGlua19fcGFyYVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ1NIQVJFLlBVQkxJQy1DT05URU5UJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8aHIgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fc2VwYXJhdGlvbi1saW5lXCIgLz5cbiAgICAgICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fYWN0aW9uc1wiIG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICAgICAgICAgIDxidXR0b24gZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXNoYXJlLWRpYWxvZy1jbG9zZVwiIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgbWF0LWRpYWxvZy1jbG9zZT5cbiAgICAgICAgICAgICAgICB7eyAnU0hBUkUuQ0xPU0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==