@alfresco/aca-content 4.4.1 → 4.5.0-10007555309

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 (288) hide show
  1. package/about/about.component.d.ts +2 -2
  2. package/about/dev-mode.tokens.d.ts +1 -1
  3. package/about/package-json.token.d.ts +1 -1
  4. package/about/public-api.d.ts +1 -1
  5. package/assets/app.extensions.json +13 -19
  6. package/assets/i18n/ar.json +1 -1
  7. package/assets/i18n/cs.json +1 -1
  8. package/assets/i18n/da.json +1 -1
  9. package/assets/i18n/de.json +1 -1
  10. package/assets/i18n/en.json +1 -1
  11. package/assets/i18n/es.json +1 -1
  12. package/assets/i18n/fi.json +1 -1
  13. package/assets/i18n/fr.json +1 -1
  14. package/assets/i18n/it.json +1 -1
  15. package/assets/i18n/ja.json +1 -1
  16. package/assets/i18n/nb.json +1 -1
  17. package/assets/i18n/nl.json +1 -1
  18. package/assets/i18n/pl.json +1 -1
  19. package/assets/i18n/pt-BR.json +1 -1
  20. package/assets/i18n/ru.json +1 -1
  21. package/assets/i18n/sv.json +1 -1
  22. package/assets/i18n/zh-CN.json +1 -1
  23. package/esm2020/about/about.component.mjs +7 -7
  24. package/esm2020/about/aca-about.module.mjs +2 -2
  25. package/esm2020/about/dev-mode.tokens.mjs +2 -2
  26. package/esm2020/about/package-json.token.mjs +2 -2
  27. package/esm2020/about/public-api.mjs +2 -2
  28. package/esm2020/folder-rules/folder-rules.module.mjs +8 -3
  29. package/esm2020/folder-rules/folder-rules.rules.mjs +2 -2
  30. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +6 -5
  31. package/esm2020/folder-rules/model/action-parameter-constraint.model.mjs +2 -2
  32. package/esm2020/folder-rules/model/rule-action.model.mjs +2 -2
  33. package/esm2020/folder-rules/model/rule-composite-condition.model.mjs +2 -2
  34. package/esm2020/folder-rules/model/rule-grouping-item.model.mjs +2 -2
  35. package/esm2020/folder-rules/model/rule-set.model.mjs +2 -2
  36. package/esm2020/folder-rules/model/rule-simple-condition.model.mjs +2 -2
  37. package/esm2020/folder-rules/model/rule.model.mjs +2 -2
  38. package/esm2020/folder-rules/public-api.mjs +2 -2
  39. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +2 -2
  40. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +77 -10
  41. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +2 -2
  42. package/esm2020/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +2 -2
  43. package/esm2020/folder-rules/rule-details/conditions/rule-condition-fields.mjs +2 -2
  44. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +21 -22
  45. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +2 -2
  46. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +2 -2
  47. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +2 -2
  48. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +2 -2
  49. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +2 -2
  50. package/esm2020/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +2 -2
  51. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +25 -19
  52. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +2 -2
  53. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +2 -2
  54. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +2 -2
  55. package/esm2020/folder-rules/services/actions.service.mjs +2 -2
  56. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +7 -3
  57. package/esm2020/folder-rules/services/folder-rules.service.mjs +2 -2
  58. package/esm2020/lib/aca-content.module.mjs +39 -87
  59. package/esm2020/lib/aca-content.routes.mjs +2 -2
  60. package/esm2020/lib/components/common/index.mjs +2 -2
  61. package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +2 -2
  62. package/esm2020/lib/components/common/location-link/location-link.component.mjs +2 -2
  63. package/esm2020/lib/components/common/logout/logout.component.mjs +5 -6
  64. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +2 -2
  65. package/esm2020/lib/components/common/user-info/user-info.component.mjs +2 -2
  66. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +7 -9
  67. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +2 -2
  68. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +2 -2
  69. package/esm2020/lib/components/context-menu/context-menu.component.mjs +8 -10
  70. package/esm2020/lib/components/context-menu/context-menu.service.mjs +2 -2
  71. package/esm2020/lib/components/context-menu/direction.token.mjs +2 -2
  72. package/esm2020/lib/components/context-menu/interfaces.mjs +2 -2
  73. package/esm2020/lib/components/details/details.component.mjs +2 -2
  74. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +7 -9
  75. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +2 -2
  76. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +2 -2
  77. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +11 -12
  78. package/esm2020/lib/components/favorites/favorites.component.mjs +11 -12
  79. package/esm2020/lib/components/files/files.component.mjs +29 -27
  80. package/esm2020/lib/components/home/home.component.mjs +10 -14
  81. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +2 -2
  82. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +2 -2
  83. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +2 -2
  84. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +2 -2
  85. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +2 -2
  86. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +7 -8
  87. package/esm2020/lib/components/libraries/libraries.component.mjs +11 -12
  88. package/esm2020/lib/components/recent-files/recent-files.component.mjs +11 -12
  89. package/esm2020/lib/components/search/index.mjs +2 -2
  90. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +2 -2
  91. package/esm2020/lib/components/search/search-input/search-input.component.mjs +2 -2
  92. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +2 -2
  93. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +2 -2
  94. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +9 -10
  95. package/esm2020/lib/components/search/search-navigation.service.mjs +2 -2
  96. package/esm2020/lib/components/search/search-results/search-results.component.mjs +17 -22
  97. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +2 -2
  98. package/esm2020/lib/components/shared-files/shared-files.component.mjs +11 -12
  99. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +2 -2
  100. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +2 -2
  101. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +2 -2
  102. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +11 -16
  103. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +2 -2
  104. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +2 -2
  105. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +2 -2
  106. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +2 -2
  107. package/esm2020/lib/components/sidenav/index.mjs +2 -2
  108. package/esm2020/lib/components/sidenav/sidenav.component.mjs +5 -6
  109. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +2 -2
  110. package/esm2020/lib/components/toolbar/index.mjs +2 -2
  111. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +2 -2
  112. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +7 -8
  113. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +7 -8
  114. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +2 -2
  115. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +6 -7
  116. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -8
  117. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +2 -2
  118. package/esm2020/lib/components/trashcan/trashcan.component.mjs +10 -11
  119. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +2 -2
  120. package/esm2020/lib/components/view-profile/view-profile.component.mjs +2 -2
  121. package/esm2020/lib/components/view-profile/view-profile.guard.mjs +2 -2
  122. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +2 -2
  123. package/esm2020/lib/directives/document-list.directive.mjs +44 -16
  124. package/esm2020/lib/extensions/core.extensions.module.mjs +2 -7
  125. package/esm2020/lib/services/content-management.service.mjs +26 -28
  126. package/esm2020/lib/services/content-url.service.mjs +2 -2
  127. package/esm2020/lib/services/node-actions.service.mjs +2 -2
  128. package/esm2020/lib/services/node-template.service.mjs +2 -2
  129. package/esm2020/lib/store/app-store.module.mjs +2 -2
  130. package/esm2020/lib/store/effects/app.effects.mjs +2 -2
  131. package/esm2020/lib/store/effects/contextmenu.effects.mjs +2 -2
  132. package/esm2020/lib/store/effects/download.effects.mjs +2 -2
  133. package/esm2020/lib/store/effects/favorite.effects.mjs +2 -2
  134. package/esm2020/lib/store/effects/library.effects.mjs +2 -2
  135. package/esm2020/lib/store/effects/node.effects.mjs +2 -2
  136. package/esm2020/lib/store/effects/search.effects.mjs +3 -3
  137. package/esm2020/lib/store/effects/template.effects.mjs +2 -2
  138. package/esm2020/lib/store/effects/upload.effects.mjs +2 -2
  139. package/esm2020/lib/store/effects/viewer.effects.mjs +2 -2
  140. package/esm2020/lib/store/effects.mjs +2 -2
  141. package/esm2020/lib/store/initial-state.mjs +3 -39
  142. package/esm2020/lib/store/reducers/app.reducer.mjs +3 -7
  143. package/esm2020/ms-office/actions/aos.actions.mjs +2 -2
  144. package/esm2020/ms-office/aos-extension.module.mjs +2 -2
  145. package/esm2020/ms-office/aos-extension.service.mjs +10 -12
  146. package/esm2020/ms-office/effects/aos.effects.mjs +2 -2
  147. package/esm2020/ms-office/public-api.mjs +2 -2
  148. package/esm2020/public-api.mjs +2 -2
  149. package/esm2020/viewer/lib/components/preview/preview.component.mjs +236 -0
  150. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +42 -203
  151. package/esm2020/viewer/lib/services/viewer.service.mjs +215 -0
  152. package/esm2020/viewer/lib/viewer.module.mjs +7 -6
  153. package/esm2020/viewer/public-api.mjs +3 -2
  154. package/fesm2015/alfresco-aca-content-about.mjs +10 -10
  155. package/fesm2015/alfresco-aca-content-about.mjs.map +1 -1
  156. package/fesm2015/alfresco-aca-content-folder-rules.mjs +167 -93
  157. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +1 -1
  158. package/fesm2015/alfresco-aca-content-ms-office.mjs +10 -13
  159. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +1 -1
  160. package/fesm2015/alfresco-aca-content-viewer.mjs +414 -195
  161. package/fesm2015/alfresco-aca-content-viewer.mjs.map +1 -1
  162. package/fesm2015/alfresco-aca-content.mjs +5995 -6053
  163. package/fesm2015/alfresco-aca-content.mjs.map +1 -1
  164. package/fesm2020/alfresco-aca-content-about.mjs +10 -10
  165. package/fesm2020/alfresco-aca-content-about.mjs.map +1 -1
  166. package/fesm2020/alfresco-aca-content-folder-rules.mjs +178 -96
  167. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +1 -1
  168. package/fesm2020/alfresco-aca-content-ms-office.mjs +11 -14
  169. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +1 -1
  170. package/fesm2020/alfresco-aca-content-viewer.mjs +449 -186
  171. package/fesm2020/alfresco-aca-content-viewer.mjs.map +1 -1
  172. package/fesm2020/alfresco-aca-content.mjs +4935 -4993
  173. package/fesm2020/alfresco-aca-content.mjs.map +1 -1
  174. package/folder-rules/folder-rules.module.d.ts +1 -1
  175. package/folder-rules/folder-rules.rules.d.ts +1 -1
  176. package/folder-rules/manage-rules/manage-rules.smart-component.d.ts +1 -1
  177. package/folder-rules/model/action-parameter-constraint.model.d.ts +1 -1
  178. package/folder-rules/model/rule-action.model.d.ts +1 -1
  179. package/folder-rules/model/rule-composite-condition.model.d.ts +1 -1
  180. package/folder-rules/model/rule-grouping-item.model.d.ts +1 -1
  181. package/folder-rules/model/rule-set.model.d.ts +1 -1
  182. package/folder-rules/model/rule-simple-condition.model.d.ts +1 -1
  183. package/folder-rules/model/rule.model.d.ts +1 -1
  184. package/folder-rules/public-api.d.ts +1 -1
  185. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
  186. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +10 -5
  187. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
  188. package/folder-rules/rule-details/conditions/rule-condition-comparators.d.ts +1 -1
  189. package/folder-rules/rule-details/conditions/rule-condition-fields.d.ts +1 -1
  190. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +5 -6
  191. package/folder-rules/rule-details/edit-rule-dialog.ui-component.d.ts +1 -1
  192. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
  193. package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
  194. package/folder-rules/rule-details/triggers/rule-triggers.ui-component.d.ts +1 -1
  195. package/folder-rules/rule-details/validators/rule-actions.validator.d.ts +1 -1
  196. package/folder-rules/rule-details/validators/rule-composite-condition.validator.d.ts +1 -1
  197. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +14 -9
  198. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
  199. package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
  200. package/folder-rules/rule-set-picker/rule-set-picker.smart-component.d.ts +1 -1
  201. package/lib/aca-content.module.d.ts +5 -16
  202. package/lib/aca-content.routes.d.ts +1 -1
  203. package/lib/components/common/index.d.ts +1 -1
  204. package/lib/components/common/location-link/location-link.component.d.ts +1 -1
  205. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
  206. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
  207. package/lib/components/context-menu/context-menu-overlay.d.ts +1 -1
  208. package/lib/components/context-menu/context-menu.component.d.ts +1 -1
  209. package/lib/components/context-menu/context-menu.service.d.ts +1 -1
  210. package/lib/components/context-menu/direction.token.d.ts +1 -1
  211. package/lib/components/context-menu/interfaces.d.ts +1 -1
  212. package/lib/components/details/details.component.d.ts +1 -1
  213. package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +1 -1
  214. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
  215. package/lib/components/favorite-libraries/favorite-libraries.component.d.ts +1 -1
  216. package/lib/components/favorites/favorites.component.d.ts +1 -1
  217. package/lib/components/files/files.component.d.ts +3 -3
  218. package/lib/components/home/home.component.d.ts +2 -6
  219. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
  220. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
  221. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
  222. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  223. package/lib/components/recent-files/recent-files.component.d.ts +1 -1
  224. package/lib/components/search/index.d.ts +1 -1
  225. package/lib/components/search/search-action-menu/search-action-menu.component.d.ts +1 -1
  226. package/lib/components/search/search-input/search-input.component.d.ts +1 -1
  227. package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
  228. package/lib/components/search/search-libraries-results/search-libraries-query-builder.service.d.ts +1 -1
  229. package/lib/components/search/search-results/search-results.component.d.ts +1 -2
  230. package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
  231. package/lib/components/shared-files/shared-files.component.d.ts +1 -1
  232. package/lib/components/shared-link-view/shared-link-view.component.d.ts +1 -1
  233. package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
  234. package/lib/components/sidenav/components/expand-menu.component.d.ts +1 -1
  235. package/lib/components/sidenav/components/sidenav-header.component.d.ts +4 -5
  236. package/lib/components/sidenav/directives/active-link.directive.d.ts +1 -1
  237. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
  238. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
  239. package/lib/components/sidenav/index.d.ts +1 -1
  240. package/lib/components/sidenav/sidenav.component.d.ts +1 -1
  241. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
  242. package/lib/components/toolbar/index.d.ts +1 -1
  243. package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +1 -1
  244. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
  245. package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +1 -1
  246. package/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.d.ts +1 -1
  247. package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +1 -1
  248. package/lib/components/view-profile/view-profile.component.d.ts +1 -1
  249. package/lib/dialogs/node-template/create-from-template.dialog.d.ts +1 -1
  250. package/lib/directives/document-list.directive.d.ts +4 -1
  251. package/lib/extensions/core.extensions.module.d.ts +1 -2
  252. package/lib/services/content-management.service.d.ts +4 -3
  253. package/lib/store/effects/app.effects.d.ts +1 -1
  254. package/lib/store/effects/download.effects.d.ts +1 -1
  255. package/lib/store/effects/favorite.effects.d.ts +1 -1
  256. package/lib/store/effects/library.effects.d.ts +1 -1
  257. package/lib/store/effects/node.effects.d.ts +1 -1
  258. package/lib/store/effects/search.effects.d.ts +1 -1
  259. package/lib/store/effects/template.effects.d.ts +1 -1
  260. package/lib/store/effects/upload.effects.d.ts +1 -1
  261. package/lib/store/effects/viewer.effects.d.ts +1 -1
  262. package/lib/store/effects.d.ts +1 -1
  263. package/lib/store/initial-state.d.ts +2 -4
  264. package/lib/store/reducers/app.reducer.d.ts +1 -1
  265. package/ms-office/actions/aos.actions.d.ts +1 -1
  266. package/ms-office/aos-extension.module.d.ts +1 -1
  267. package/ms-office/aos-extension.service.d.ts +5 -5
  268. package/ms-office/public-api.d.ts +1 -1
  269. package/package.json +5 -13
  270. package/public-api.d.ts +1 -1
  271. package/{preview/lib/components → viewer/lib/components/preview}/preview.component.d.ts +16 -43
  272. package/viewer/lib/components/viewer/viewer.component.d.ts +20 -46
  273. package/viewer/lib/services/viewer.service.d.ts +65 -0
  274. package/viewer/lib/viewer.module.d.ts +2 -1
  275. package/viewer/public-api.d.ts +2 -1
  276. package/esm2020/folder-rules/rule-details/conditions/rule-mime-types.mjs +0 -25
  277. package/esm2020/preview/alfresco-aca-content-preview.mjs +0 -5
  278. package/esm2020/preview/lib/components/preview.component.mjs +0 -394
  279. package/esm2020/preview/lib/preview.module.mjs +0 -39
  280. package/esm2020/preview/public-api.mjs +0 -29
  281. package/fesm2015/alfresco-aca-content-preview.mjs +0 -447
  282. package/fesm2015/alfresco-aca-content-preview.mjs.map +0 -1
  283. package/fesm2020/alfresco-aca-content-preview.mjs +0 -461
  284. package/fesm2020/alfresco-aca-content-preview.mjs.map +0 -1
  285. package/folder-rules/rule-details/conditions/rule-mime-types.d.ts +0 -27
  286. package/preview/index.d.ts +0 -5
  287. package/preview/lib/preview.module.d.ts +0 -7
  288. package/preview/public-api.d.ts +0 -25
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
3
  *
4
4
  * Alfresco Example Content Application
5
5
  *
@@ -24,9 +24,9 @@
24
24
  import { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core';
25
25
  import { FormControl, FormGroup, NG_VALUE_ACCESSOR, ReactiveFormsModule, Validators } from '@angular/forms';
26
26
  import { CardViewBoolItemModel, CardViewModule, CardViewSelectItemModel, CardViewTextItemModel, CardViewUpdateService } from '@alfresco/adf-core';
27
- import { of, Subject } from 'rxjs';
27
+ import { from, of, Subject } from 'rxjs';
28
28
  import { map, takeUntil } from 'rxjs/operators';
29
- import { CategoryService, ContentNodeSelectorComponent, NodeAction, TagService } from '@alfresco/adf-content-services';
29
+ import { CategoryService, ContentNodeSelectorComponent, NodeAction, TagService, CategorySelectorDialogComponent, SecurityControlsService } from '@alfresco/adf-content-services';
30
30
  import { MatDialog } from '@angular/material/dialog';
31
31
  import { TranslateModule, TranslateService } from '@ngx-translate/core';
32
32
  import { CommonModule } from '@angular/common';
@@ -43,17 +43,19 @@ import * as i7 from "@angular/material/form-field";
43
43
  import * as i8 from "@angular/material/select";
44
44
  import * as i9 from "@angular/material/core";
45
45
  export class RuleActionUiComponent {
46
- constructor(cardViewUpdateService, dialog, translate, tagService, categoryService) {
46
+ constructor(cardViewUpdateService, dialog, translate, tagService, categoryService, securityControlsService) {
47
47
  this.cardViewUpdateService = cardViewUpdateService;
48
48
  this.dialog = dialog;
49
49
  this.translate = translate;
50
50
  this.tagService = tagService;
51
51
  this.categoryService = categoryService;
52
+ this.securityControlsService = securityControlsService;
52
53
  this.nodeId = '';
53
54
  this.readOnly = false;
54
55
  this._parameterConstraints = [];
55
56
  this.tagsRelatedPropertiesAndAspects = ['cm:tagscope', 'cm:tagScopeCache', 'cm:taggable'];
56
57
  this.categoriesRelatedPropertiesAndAspects = ['cm:categories', 'cm:generalclassifiable'];
58
+ this.paramsToFormatDisplayedValue = ['securityMarkId', 'securityGroupId'];
57
59
  this.isFullWidth = false;
58
60
  this.form = new FormGroup({
59
61
  actionDefinitionId: new FormControl('', Validators.required)
@@ -88,6 +90,9 @@ export class RuleActionUiComponent {
88
90
  ...action.params
89
91
  };
90
92
  this.setCardViewProperties();
93
+ if (this.parameters?.securityGroupId) {
94
+ this.loadSecurityMarkOptions();
95
+ }
91
96
  }
92
97
  registerOnChange(fn) {
93
98
  this.onChange = fn;
@@ -107,6 +112,10 @@ export class RuleActionUiComponent {
107
112
  this.onTouch();
108
113
  });
109
114
  this.cardViewUpdateService.itemUpdated$.pipe(takeUntil(this.onDestroy$)).subscribe((updateNotification) => {
115
+ const isSecurityGroupUpdated = updateNotification.target.key === 'securityGroupId';
116
+ if (isSecurityGroupUpdated) {
117
+ this.parameters.securityMarkId = null;
118
+ }
110
119
  this.parameters = this.clearEmptyParameters({
111
120
  ...this.parameters,
112
121
  ...updateNotification.changed
@@ -116,6 +125,10 @@ export class RuleActionUiComponent {
116
125
  params: this.parameters
117
126
  });
118
127
  this.onTouch();
128
+ if (isSecurityGroupUpdated) {
129
+ this.setCardViewProperties();
130
+ this.loadSecurityMarkOptions();
131
+ }
119
132
  });
120
133
  }
121
134
  ngOnChanges(changes) {
@@ -129,11 +142,13 @@ export class RuleActionUiComponent {
129
142
  this.onDestroy$.next();
130
143
  this.onDestroy$.complete();
131
144
  }
132
- setCardViewProperties() {
145
+ setCardViewProperties(securityMarkOptions) {
133
146
  const disabledTags = !this.tagService.areTagsEnabled();
134
147
  const disabledCategories = !this.categoryService.areCategoriesEnabled();
135
148
  this.cardViewItems = (this.selectedActionDefinition?.parameterDefinitions ?? []).map((paramDef) => {
136
- const constraintsForDropdownBox = this._parameterConstraints.find((obj) => obj.name === paramDef.name);
149
+ const constraintsForDropdownBox = paramDef.name === 'securityMarkId'
150
+ ? { name: paramDef.name, constraints: securityMarkOptions || [] }
151
+ : this._parameterConstraints.find((obj) => obj.name === paramDef.name);
137
152
  const cardViewPropertiesModel = {
138
153
  label: paramDef.displayLabel + (paramDef.mandatory ? ' *' : ''),
139
154
  key: paramDef.name,
@@ -166,6 +181,16 @@ export class RuleActionUiComponent {
166
181
  value: this.parameters[paramDef.name]
167
182
  });
168
183
  }
184
+ else if (paramDef.name === 'category-value' && !this.readOnly) {
185
+ return new CardViewTextItemModel({
186
+ ...cardViewPropertiesModel,
187
+ icon: 'library_add',
188
+ default: '',
189
+ clickable: true,
190
+ clickCallBack: this.openCatDialog.bind(this, paramDef.name),
191
+ value: this.parameters[paramDef.name]
192
+ });
193
+ }
169
194
  // falls through
170
195
  default:
171
196
  if (constraintsForDropdownBox && !this.readOnly) {
@@ -180,13 +205,16 @@ export class RuleActionUiComponent {
180
205
  }
181
206
  return new CardViewTextItemModel({
182
207
  ...cardViewPropertiesModel,
183
- value: this.parameters[paramDef.name] ?? ''
208
+ value: constraintsForDropdownBox && this.readOnly && this.paramsToFormatDisplayedValue.includes(paramDef.name)
209
+ ? constraintsForDropdownBox.constraints.find((constraint) => constraint.key === this.parameters[paramDef.name])?.label ?? ''
210
+ : this.parameters[paramDef.name] ?? ''
184
211
  });
185
212
  }
186
213
  });
187
214
  }
188
215
  openSelectorDialog(paramDefName) {
189
216
  const data = {
217
+ selectionMode: 'single',
190
218
  title: this.translate.instant('ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.CHOOSE_FOLDER'),
191
219
  actionName: NodeAction.CHOOSE,
192
220
  currentFolderId: this.nodeId,
@@ -218,6 +246,32 @@ export class RuleActionUiComponent {
218
246
  this.dialog.closeAll();
219
247
  });
220
248
  }
249
+ openCatDialog(paramDefName) {
250
+ const data = {
251
+ select: new Subject(),
252
+ multiSelect: false
253
+ };
254
+ this.dialog.open(CategorySelectorDialogComponent, {
255
+ data,
256
+ width: '630px'
257
+ });
258
+ data.select.pipe(takeUntil(this.onDestroy$)).subscribe((selections) => {
259
+ if (selections[0].id) {
260
+ this.writeValue({
261
+ actionDefinitionId: this.selectedActionDefinitionId,
262
+ params: {
263
+ ...this.parameters,
264
+ [paramDefName]: selections[0].id
265
+ }
266
+ });
267
+ this.onChange({
268
+ actionDefinitionId: this.selectedActionDefinitionId,
269
+ params: this.parameters
270
+ });
271
+ this.onTouch();
272
+ }
273
+ });
274
+ }
221
275
  setDefaultParameters() {
222
276
  this.parameters = {};
223
277
  (this.selectedActionDefinition?.parameterDefinitions ?? []).forEach((paramDef) => {
@@ -256,8 +310,21 @@ export class RuleActionUiComponent {
256
310
  Object.keys(params).forEach((key) => (params[key] === null || params[key] === undefined || params[key] === '') && delete params[key]);
257
311
  return params;
258
312
  }
313
+ loadSecurityMarkOptions() {
314
+ if (this.parameters?.securityGroupId) {
315
+ from(this.securityControlsService.getSecurityMark(this.parameters.securityGroupId))
316
+ .pipe(map((securityMarks) => securityMarks.entries.map((entry) => this.formatSecurityMarkConstraint(entry))))
317
+ .subscribe((res) => this.setCardViewProperties(this.parseConstraintsToSelectOptions(res)));
318
+ }
319
+ }
320
+ formatSecurityMarkConstraint(securityMark) {
321
+ return {
322
+ value: securityMark.id,
323
+ label: securityMark.name
324
+ };
325
+ }
259
326
  }
260
- RuleActionUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: RuleActionUiComponent, deps: [{ token: i1.CardViewUpdateService }, { token: i2.MatDialog }, { token: i3.TranslateService }, { token: i4.TagService }, { token: i4.CategoryService }], target: i0.ɵɵFactoryTarget.Component });
327
+ RuleActionUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: RuleActionUiComponent, deps: [{ token: i1.CardViewUpdateService }, { token: i2.MatDialog }, { token: i3.TranslateService }, { token: i4.TagService }, { token: i4.CategoryService }, { token: i4.SecurityControlsService }], target: i0.ɵɵFactoryTarget.Component });
261
328
  RuleActionUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: RuleActionUiComponent, isStandalone: true, selector: "aca-rule-action", inputs: { nodeId: "nodeId", actionDefinitions: "actionDefinitions", readOnly: "readOnly", parameterConstraints: "parameterConstraints" }, host: { classAttribute: "aca-rule-action" }, providers: [
262
329
  {
263
330
  provide: NG_VALUE_ACCESSOR,
@@ -276,7 +343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
276
343
  },
277
344
  CardViewUpdateService
278
345
  ], template: "<form class=\"aca-rule-action__form\" [formGroup]=\"form\">\n\n <mat-form-field class=\"aca-rule-action-full-width\" appearance=\"standard\">\n <mat-select\n formControlName=\"actionDefinitionId\"\n data-automation-id=\"rule-action-select\"\n [placeholder]=\"'ACA_FOLDER_RULES.RULE_DETAILS.ACTION_SELECT_PLACEHOLDER' | translate\">\n <mat-option\n *ngFor=\"let actionDefinition of actionDefinitions\"\n [value]=\"actionDefinition.id\">\n {{ actionDefinition.title }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-card-view\n *ngIf=\"cardViewItems?.length > 0\"\n data-automation-id=\"rule-action-card-view\"\n [properties]=\"cardViewItems\"\n class=\"aca-rule-action-full-width\"\n [editable]=\"!readOnly\">\n </adf-card-view>\n\n</form>\n", styles: [".aca-rule-action__form{display:flex;flex-direction:row;gap:20px}.aca-rule-action__form adf-card-view .adf-property-list .adf-property adf-card-view-item-dispatcher adf-card-view-textitem{display:inline-block;width:300px}.aca-rule-action-full-width{flex:1}\n"] }]
279
- }], ctorParameters: function () { return [{ type: i1.CardViewUpdateService }, { type: i2.MatDialog }, { type: i3.TranslateService }, { type: i4.TagService }, { type: i4.CategoryService }]; }, propDecorators: { nodeId: [{
346
+ }], ctorParameters: function () { return [{ type: i1.CardViewUpdateService }, { type: i2.MatDialog }, { type: i3.TranslateService }, { type: i4.TagService }, { type: i4.CategoryService }, { type: i4.SecurityControlsService }]; }, propDecorators: { nodeId: [{
280
347
  type: Input
281
348
  }], actionDefinitions: [{
282
349
  type: Input
@@ -285,4 +352,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
285
352
  }], parameterConstraints: [{
286
353
  type: Input
287
354
  }] } });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1hY3Rpb24udWktY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvZm9sZGVyLXJ1bGVzL3NyYy9ydWxlLWRldGFpbHMvYWN0aW9ucy9ydWxlLWFjdGlvbi51aS1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3J1bGUtZGV0YWlscy9hY3Rpb25zL3J1bGUtYWN0aW9uLnVpLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUErQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQXdCLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEksT0FBTyxFQUNMLHFCQUFxQixFQUVyQixjQUFjLEVBQ2QsdUJBQXVCLEVBRXZCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFFdEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFDTCxlQUFlLEVBQ2YsNEJBQTRCLEVBRTVCLFVBQVUsRUFDVixVQUFVLEVBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8s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U0FBUyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RJLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O2tIQWxRVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixxUEFUckI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1NBQ3JEO1FBQ0QscUJBQXFCO0tBQ3RCLCtDQ3JFSCwyekJBd0JBLDBURGdDWSxZQUFZLCtQQUFFLGVBQWUsMkZBQUUsbUJBQW1CLDRyQkFBRSxrQkFBa0Isc05BQUUsZUFBZSx5UUFBRSxjQUFjOzJGQWV0RyxxQkFBcUI7a0JBakJqQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxZQUN4RyxpQkFBaUIsaUJBR1osaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxhQUN2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt5QkFDckQ7d0JBQ0QscUJBQXFCO3FCQUN0QjswTkFJRCxNQUFNO3NCQURMLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFLRixvQkFBb0I7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGlvbkRlZmluaXRpb25UcmFuc2Zvcm1lZCwgUnVsZUFjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVsL3J1bGUtYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7XG4gIENhcmRWaWV3Qm9vbEl0ZW1Nb2RlbCxcbiAgQ2FyZFZpZXdJdGVtLFxuICBDYXJkVmlld01vZHVsZSxcbiAgQ2FyZFZpZXdTZWxlY3RJdGVtTW9kZWwsXG4gIENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbixcbiAgQ2FyZFZpZXdUZXh0SXRlbU1vZGVsLFxuICBDYXJkVmlld1VwZGF0ZVNlcnZpY2UsXG4gIFVwZGF0ZU5vdGlmaWNhdGlvblxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQWN0aW9uUGFyYW1ldGVyRGVmaW5pdGlvbiwgTm9kZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uUGFyYW1ldGVyQ29uc3RyYWludCwgQ29uc3RyYWludFZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWwvYWN0aW9uLXBhcmFtZXRlci1jb25zdHJhaW50Lm1vZGVsJztcbmltcG9ydCB7XG4gIENhdGVnb3J5U2VydmljZSxcbiAgQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudCxcbiAgQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudERhdGEsXG4gIE5vZGVBY3Rpb24sXG4gIFRhZ1NlcnZpY2Vcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0U2VsZWN0TW9kdWxlLCBDYXJkVmlld01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYWNhLXJ1bGUtYWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3J1bGUtYWN0aW9uLnVpLWNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcnVsZS1hY3Rpb24udWktY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1ydWxlLWFjdGlvbicgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJ1bGVBY3Rpb25VaUNvbXBvbmVudClcbiAgICB9LFxuICAgIENhcmRWaWV3VXBkYXRlU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVBY3Rpb25VaUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbm9kZUlkID0gJyc7XG5cbiAgQElucHV0KClcbiAgYWN0aW9uRGVmaW5pdGlvbnM6IEFjdGlvbkRlZmluaXRpb25UcmFuc2Zvcm1lZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfcGFyYW1ldGVyQ29uc3RyYWludHMgPSBbXTtcbiAgQElucHV0KClcbiAgZ2V0IHBhcmFtZXRlckNvbnN0cmFpbnRzKCk6IEFjdGlvblBhcmFtZXRlckNvbnN0cmFpbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmFtZXRlckNvbnN0cmFpbnRzO1xuICB9XG5cbiAgc2V0IHBhcmFtZXRlckNvbnN0cmFpbnRzKHZhbHVlKSB7XG4gICAgdGhpcy5fcGFyYW1ldGVyQ29uc3RyYWludHMgPSB2YWx1ZS5tYXAoKG9iaikgPT4gKHtcbiAgICAgIC4uLm9iaixcbiAgICAgIGNvbnN0cmFpbnRzOiB0aGlzLnBhcnNlQ29uc3RyYWludHNUb1NlbGVjdE9wdGlvbnMob2JqLmNvbnN0cmFpbnRzKVxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGFnc1JlbGF0ZWRQcm9wZXJ0aWVzQW5kQXNwZWN0cyA9IFsnY206dGFnc2NvcGUnLCAnY206dGFnU2NvcGVDYWNoZScsICdjbTp0YWdnYWJsZSddO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3JpZXNSZWxhdGVkUHJvcGVydGllc0FuZEFzcGVjdHMgPSBbJ2NtOmNhdGVnb3JpZXMnLCAnY206Z2VuZXJhbGNsYXNzaWZpYWJsZSddO1xuXG4gIGlzRnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIGFjdGlvbkRlZmluaXRpb25JZDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICB9KTtcblxuICBjYXJkVmlld0l0ZW1zOiBDYXJkVmlld0l0ZW1bXSA9IFtdO1xuICBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9IHt9O1xuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGdldCBzZWxlY3RlZEFjdGlvbkRlZmluaXRpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdhY3Rpb25EZWZpbml0aW9uSWQnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZEFjdGlvbkRlZmluaXRpb24oKTogQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25EZWZpbml0aW9ucy5maW5kKChhY3Rpb25EZWZpbml0aW9uOiBBY3Rpb25EZWZpbml0aW9uVHJhbnNmb3JtZWQpID0+IGFjdGlvbkRlZmluaXRpb24uaWQgPT09IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQpO1xuICB9XG5cbiAgb25DaGFuZ2U6IChhY3Rpb246IFJ1bGVBY3Rpb24pID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG4gIG9uVG91Y2g6ICgpID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjYXJkVmlld1VwZGF0ZVNlcnZpY2U6IENhcmRWaWV3VXBkYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICBwcml2YXRlIGNhdGVnb3J5U2VydmljZTogQ2F0ZWdvcnlTZXJ2aWNlXG4gICkge31cblxuICB3cml0ZVZhbHVlKGFjdGlvbjogUnVsZUFjdGlvbikge1xuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IGFjdGlvbi5hY3Rpb25EZWZpbml0aW9uSWRcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB7XG4gICAgICAuLi50aGlzLnBhcmFtZXRlcnMsXG4gICAgICAuLi5hY3Rpb24ucGFyYW1zXG4gICAgfTtcbiAgICB0aGlzLnNldENhcmRWaWV3UHJvcGVydGllcygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKGFjdGlvbjogUnVsZUFjdGlvbikgPT4gdm9pZCkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMgPSB0aGlzLmFjdGlvbkRlZmluaXRpb25zLnNvcnQoKGZpcnN0QWN0aW9uRGVmaW5pdGlvbiwgc2Vjb25kQWN0aW9uRGVmaW5pdGlvbikgPT5cbiAgICAgIGZpcnN0QWN0aW9uRGVmaW5pdGlvbi50aXRsZS5sb2NhbGVDb21wYXJlKHNlY29uZEFjdGlvbkRlZmluaXRpb24udGl0bGUpXG4gICAgKTtcblxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2V0RGVmYXVsdFBhcmFtZXRlcnMoKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFZpZXdQcm9wZXJ0aWVzKCk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHtcbiAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1ldGVyc1xuICAgICAgfSk7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2FyZFZpZXdVcGRhdGVTZXJ2aWNlLml0ZW1VcGRhdGVkJC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHVwZGF0ZU5vdGlmaWNhdGlvbjogVXBkYXRlTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLmNsZWFyRW1wdHlQYXJhbWV0ZXJzKHtcbiAgICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgICAuLi51cGRhdGVOb3RpZmljYXRpb24uY2hhbmdlZFxuICAgICAgfSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHtcbiAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1ldGVyc1xuICAgICAgfSk7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCByZWFkT25seSA9IGNoYW5nZXNbJ3JlYWRPbmx5J10/LmN1cnJlbnRWYWx1ZTtcbiAgICBpZiAocmVhZE9ubHkgIT09IHVuZGVmaW5lZCAmJiByZWFkT25seSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xuICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHJlYWRPbmx5KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0Q2FyZFZpZXdQcm9wZXJ0aWVzKCkge1xuICAgIGNvbnN0IGRpc2FibGVkVGFncyA9ICF0aGlzLnRhZ1NlcnZpY2UuYXJlVGFnc0VuYWJsZWQoKTtcbiAgICBjb25zdCBkaXNhYmxlZENhdGVnb3JpZXMgPSAhdGhpcy5jYXRlZ29yeVNlcnZpY2UuYXJlQ2F0ZWdvcmllc0VuYWJsZWQoKTtcbiAgICB0aGlzLmNhcmRWaWV3SXRlbXMgPSAodGhpcy5zZWxlY3RlZEFjdGlvbkRlZmluaXRpb24/LnBhcmFtZXRlckRlZmluaXRpb25zID8/IFtdKS5tYXAoKHBhcmFtRGVmKSA9PiB7XG4gICAgICBjb25zdCBjb25zdHJhaW50c0ZvckRyb3Bkb3duQm94ID0gdGhpcy5fcGFyYW1ldGVyQ29uc3RyYWludHMuZmluZCgob2JqKSA9PiBvYmoubmFtZSA9PT0gcGFyYW1EZWYubmFtZSk7XG4gICAgICBjb25zdCBjYXJkVmlld1Byb3BlcnRpZXNNb2RlbCA9IHtcbiAgICAgICAgbGFiZWw6IHBhcmFtRGVmLmRpc3BsYXlMYWJlbCArIChwYXJhbURlZi5tYW5kYXRvcnkgPyAnIConIDogJycpLFxuICAgICAgICBrZXk6IHBhcmFtRGVmLm5hbWUsXG4gICAgICAgIGVkaXRhYmxlOiB0cnVlLFxuICAgICAgICAuLi4ocGFyYW1EZWYubWFuZGF0b3J5XG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuRVJST1IuUkVRVUlSRUQnLFxuICAgICAgICAgICAgICAgICAgaXNWYWxpZDogKHZhbHVlOiB1bmtub3duKSA9PiAhIXZhbHVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSlcbiAgICAgIH07XG4gICAgICBzd2l0Y2ggKHBhcmFtRGVmLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnZDpib29sZWFuJzpcbiAgICAgICAgICByZXR1cm4gbmV3IENhcmRWaWV3Qm9vbEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV0gPz8gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgY2FzZSAnZDpub2RlcmVmJzpcbiAgICAgICAgICBpZiAoIWNvbnN0cmFpbnRzRm9yRHJvcGRvd25Cb3ggJiYgIXRoaXMucmVhZE9ubHkgJiYgcGFyYW1EZWYubmFtZSAhPT0gJ2NhdGVnb3J5LXZhbHVlJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgICAgaWNvbjogJ2ZvbGRlcicsXG4gICAgICAgICAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgICAgICAgICBjbGlja2FibGU6IHRydWUsXG4gICAgICAgICAgICAgIGNsaWNrQ2FsbEJhY2s6IHRoaXMub3BlblNlbGVjdG9yRGlhbG9nLmJpbmQodGhpcywgcGFyYW1EZWYubmFtZSksXG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgLy8gIGZhbGxzIHRocm91Z2hcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAoY29uc3RyYWludHNGb3JEcm9wZG93bkJveCAmJiAhdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXJkVmlld1NlbGVjdEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAgIC4uLmNhcmRWaWV3UHJvcGVydGllc01vZGVsLFxuICAgICAgICAgICAgICB2YWx1ZTogKHRoaXMucGFyYW1ldGVyc1twYXJhbURlZi5uYW1lXSBhcyBzdHJpbmcpID8/ICcnLFxuICAgICAgICAgICAgICBvcHRpb25zJDogb2YoY29uc3RyYWludHNGb3JEcm9wZG93bkJveC5jb25zdHJhaW50cykucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGRpc2FibGVkVGFncyAmJiB0aGlzLnRhZ3NSZWxhdGVkUHJvcGVydGllc0FuZEFzcGVjdHMuaW5jbHVkZXMob3B0aW9uLmtleSkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAoZGlzYWJsZWRDYXRlZ29yaWVzICYmIHRoaXMuY2F0ZWdvcmllc1JlbGF0ZWRQcm9wZXJ0aWVzQW5kQXNwZWN0cy5pbmNsdWRlcyhvcHRpb24ua2V5KSlcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IENhcmRWaWV3VGV4dEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV0gPz8gJydcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNlbGVjdG9yRGlhbG9nKHBhcmFtRGVmTmFtZSkge1xuICAgIGNvbnN0IGRhdGE6IENvbnRlbnROb2RlU2VsZWN0b3JDb21wb25lbnREYXRhID0ge1xuICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLlBMQUNFSE9MREVSLkNIT09TRV9GT0xERVInKSxcbiAgICAgIGFjdGlvbk5hbWU6IE5vZGVBY3Rpb24uQ0hPT1NFLFxuICAgICAgY3VycmVudEZvbGRlcklkOiB0aGlzLm5vZGVJZCxcbiAgICAgIHNlbGVjdDogbmV3IFN1YmplY3Q8Tm9kZVtdPigpXG4gICAgfTtcblxuICAgIHRoaXMuZGlhbG9nLm9wZW4oQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudCwge1xuICAgICAgZGF0YSxcbiAgICAgIHBhbmVsQ2xhc3M6ICdhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWRpYWxvZycsXG4gICAgICB3aWR0aDogJzYzMHB4J1xuICAgIH0pO1xuXG4gICAgZGF0YS5zZWxlY3Quc3Vic2NyaWJlKFxuICAgICAgKHNlbGVjdGlvbnM6IE5vZGVbXSkgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0aW9uc1swXS5pZCkge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh7XG4gICAgICAgICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICBbcGFyYW1EZWZOYW1lXTogc2VsZWN0aW9uc1swXS5pZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMub25DaGFuZ2Uoe1xuICAgICAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICAgICAgcGFyYW1zOiB0aGlzLnBhcmFtZXRlcnNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHNldERlZmF1bHRQYXJhbWV0ZXJzKCkge1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHt9O1xuICAgICh0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbj8ucGFyYW1ldGVyRGVmaW5pdGlvbnMgPz8gW10pLmZvckVhY2goKHBhcmFtRGVmOiBBY3Rpb25QYXJhbWV0ZXJEZWZpbml0aW9uKSA9PiB7XG4gICAgICBpZiAocGFyYW1EZWYudHlwZSA9PT0gJ2Q6Ym9vbGVhbicpIHtcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzW3BhcmFtRGVmLm5hbWVdID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZWFkT25seSA9IHRydWU7XG4gICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlYWRPbmx5ID0gZmFsc2U7XG4gICAgICB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUNvbnN0cmFpbnRzVG9TZWxlY3RPcHRpb25zKGNvbnN0cmFpbnRzOiBDb25zdHJhaW50VmFsdWVbXSk6IENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjx1bmtub3duPltdIHtcbiAgICByZXR1cm4gY29uc3RyYWludHNcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGlmICghYS5sYWJlbCAmJiBiLmxhYmVsKSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFiLmxhYmVsICYmIGEubGFiZWwpIHtcbiAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGEubGFiZWw/LmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkgPz8gLTE7XG4gICAgICB9KVxuICAgICAgLm1hcCgoY29uc3RyYWludCkgPT4gKHtcbiAgICAgICAga2V5OiBjb25zdHJhaW50LnZhbHVlLFxuICAgICAgICBsYWJlbDogY29uc3RyYWludC5sYWJlbCA/IGAke2NvbnN0cmFpbnQubGFiZWx9IFske2NvbnN0cmFpbnQudmFsdWV9XWAgOiBjb25zdHJhaW50LnZhbHVlXG4gICAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRW1wdHlQYXJhbWV0ZXJzKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB7XG4gICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IChwYXJhbXNba2V5XSA9PT0gbnVsbCB8fCBwYXJhbXNba2V5XSA9PT0gdW5kZWZpbmVkIHx8IHBhcmFtc1trZXldID09PSAnJykgJiYgZGVsZXRlIHBhcmFtc1trZXldKTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG59XG4iLCI8Zm9ybSBjbGFzcz1cImFjYS1ydWxlLWFjdGlvbl9fZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFjYS1ydWxlLWFjdGlvbi1mdWxsLXdpZHRoXCIgYXBwZWFyYW5jZT1cInN0YW5kYXJkXCI+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImFjdGlvbkRlZmluaXRpb25JZFwiXG4gICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJydWxlLWFjdGlvbi1zZWxlY3RcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5BQ1RJT05fU0VMRUNUX1BMQUNFSE9MREVSJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbkRlZmluaXRpb24gb2YgYWN0aW9uRGVmaW5pdGlvbnNcIlxuICAgICAgICBbdmFsdWVdPVwiYWN0aW9uRGVmaW5pdGlvbi5pZFwiPlxuICAgICAgICB7eyBhY3Rpb25EZWZpbml0aW9uLnRpdGxlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxhZGYtY2FyZC12aWV3XG4gICAgKm5nSWY9XCJjYXJkVmlld0l0ZW1zPy5sZW5ndGggPiAwXCJcbiAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJydWxlLWFjdGlvbi1jYXJkLXZpZXdcIlxuICAgIFtwcm9wZXJ0aWVzXT1cImNhcmRWaWV3SXRlbXNcIlxuICAgIGNsYXNzPVwiYWNhLXJ1bGUtYWN0aW9uLWZ1bGwtd2lkdGhcIlxuICAgIFtlZGl0YWJsZV09XCIhcmVhZE9ubHlcIj5cbiAgPC9hZGYtY2FyZC12aWV3PlxuXG48L2Zvcm0+XG4iXX0=
355
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1hY3Rpb24udWktY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvZm9sZGVyLXJ1bGVzL3NyYy9ydWxlLWRldGFpbHMvYWN0aW9ucy9ydWxlLWFjdGlvbi51aS1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3J1bGUtZGV0YWlscy9hY3Rpb25zL3J1bGUtYWN0aW9uLnVpLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUErQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQXdCLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEksT0FBTyxFQUNMLHFCQUFxQixFQUVyQixjQUFjLEVBQ2QsdUJBQXVCLEVBRXZCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFFdEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLDRCQUE0QixFQUU1QixVQUFVLEVBQ1YsVUFBVSxFQUNWLCtCQUErQixFQUUvQix1QkFBdUIsRUFDeEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFB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QXFCLENBQUM7U0FDckQ7UUFDRCxxQkFBcUI7S0FDdEIsK0NDeEVILDJ6QkF3QkEsMFREbUNZLFlBQVksK1BBQUUsZUFBZSwyRkFBRSxtQkFBbUIsNHJCQUFFLGtCQUFrQixzTkFBRSxlQUFlLHlRQUFFLGNBQWM7MkZBZXRHLHFCQUFxQjtrQkFqQmpDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLFlBQ3hHLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLGFBQ3ZCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDO3lCQUNyRDt3QkFDRCxxQkFBcUI7cUJBQ3RCO2dRQUlELE1BQU07c0JBREwsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUtGLG9CQUFvQjtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkLCBSdWxlQWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvcnVsZS1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgQ2FyZFZpZXdCb29sSXRlbU1vZGVsLFxuICBDYXJkVmlld0l0ZW0sXG4gIENhcmRWaWV3TW9kdWxlLFxuICBDYXJkVmlld1NlbGVjdEl0ZW1Nb2RlbCxcbiAgQ2FyZFZpZXdTZWxlY3RJdGVtT3B0aW9uLFxuICBDYXJkVmlld1RleHRJdGVtTW9kZWwsXG4gIENhcmRWaWV3VXBkYXRlU2VydmljZSxcbiAgVXBkYXRlTm90aWZpY2F0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25QYXJhbWV0ZXJEZWZpbml0aW9uLCBDYXRlZ29yeSwgTm9kZSwgU2VjdXJpdHlNYXJrIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBmcm9tLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25QYXJhbWV0ZXJDb25zdHJhaW50LCBDb25zdHJhaW50VmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbC9hY3Rpb24tcGFyYW1ldGVyLWNvbnN0cmFpbnQubW9kZWwnO1xuaW1wb3J0IHtcbiAgQ2F0ZWdvcnlTZXJ2aWNlLFxuICBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50LFxuICBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50RGF0YSxcbiAgTm9kZUFjdGlvbixcbiAgVGFnU2VydmljZSxcbiAgQ2F0ZWdvcnlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCxcbiAgQ2F0ZWdvcnlTZWxlY3RvckRpYWxvZ09wdGlvbnMsXG4gIFNlY3VyaXR5Q29udHJvbHNTZXJ2aWNlXG59IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgQ2FyZFZpZXdNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2FjYS1ydWxlLWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWxlLWFjdGlvbi51aS1jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3J1bGUtYWN0aW9uLnVpLWNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhY2EtcnVsZS1hY3Rpb24nIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSdWxlQWN0aW9uVWlDb21wb25lbnQpXG4gICAgfSxcbiAgICBDYXJkVmlld1VwZGF0ZVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSdWxlQWN0aW9uVWlDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIG5vZGVJZCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGFjdGlvbkRlZmluaXRpb25zOiBBY3Rpb25EZWZpbml0aW9uVHJhbnNmb3JtZWRbXTtcblxuICBASW5wdXQoKVxuICByZWFkT25seSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3BhcmFtZXRlckNvbnN0cmFpbnRzID0gW107XG4gIEBJbnB1dCgpXG4gIGdldCBwYXJhbWV0ZXJDb25zdHJhaW50cygpOiBBY3Rpb25QYXJhbWV0ZXJDb25zdHJhaW50W10ge1xuICAgIHJldHVybiB0aGlzLl9wYXJhbWV0ZXJDb25zdHJhaW50cztcbiAgfVxuXG4gIHNldCBwYXJhbWV0ZXJDb25zdHJhaW50cyh2YWx1ZSkge1xuICAgIHRoaXMuX3BhcmFtZXRlckNvbnN0cmFpbnRzID0gdmFsdWUubWFwKChvYmopID0+ICh7XG4gICAgICAuLi5vYmosXG4gICAgICBjb25zdHJhaW50czogdGhpcy5wYXJzZUNvbnN0cmFpbnRzVG9TZWxlY3RPcHRpb25zKG9iai5jb25zdHJhaW50cylcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHRhZ3NSZWxhdGVkUHJvcGVydGllc0FuZEFzcGVjdHMgPSBbJ2NtOnRhZ3Njb3BlJywgJ2NtOnRhZ1Njb3BlQ2FjaGUnLCAnY206dGFnZ2FibGUnXTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yaWVzUmVsYXRlZFByb3BlcnRpZXNBbmRBc3BlY3RzID0gWydjbTpjYXRlZ29yaWVzJywgJ2NtOmdlbmVyYWxjbGFzc2lmaWFibGUnXTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJhbXNUb0Zvcm1hdERpc3BsYXllZFZhbHVlID0gWydzZWN1cml0eU1hcmtJZCcsICdzZWN1cml0eUdyb3VwSWQnXTtcblxuICBpc0Z1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgfSk7XG5cbiAgY2FyZFZpZXdJdGVtczogQ2FyZFZpZXdJdGVtW10gPSBbXTtcbiAgcGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gPSB7fTtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBnZXQgc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnYWN0aW9uRGVmaW5pdGlvbklkJykudmFsdWU7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uKCk6IEFjdGlvbkRlZmluaXRpb25UcmFuc2Zvcm1lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMuZmluZCgoYWN0aW9uRGVmaW5pdGlvbjogQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkKSA9PiBhY3Rpb25EZWZpbml0aW9uLmlkID09PSB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkKTtcbiAgfVxuXG4gIG9uQ2hhbmdlOiAoYWN0aW9uOiBSdWxlQWN0aW9uKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xuICBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2FyZFZpZXdVcGRhdGVTZXJ2aWNlOiBDYXJkVmlld1VwZGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSxcbiAgICBwcml2YXRlIHNlY3VyaXR5Q29udHJvbHNTZXJ2aWNlOiBTZWN1cml0eUNvbnRyb2xzU2VydmljZVxuICApIHt9XG5cbiAgd3JpdGVWYWx1ZShhY3Rpb246IFJ1bGVBY3Rpb24pIHtcbiAgICB0aGlzLmZvcm0uc2V0VmFsdWUoe1xuICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiBhY3Rpb24uYWN0aW9uRGVmaW5pdGlvbklkXG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgLi4uYWN0aW9uLnBhcmFtc1xuICAgIH07XG4gICAgdGhpcy5zZXRDYXJkVmlld1Byb3BlcnRpZXMoKTtcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzPy5zZWN1cml0eUdyb3VwSWQpIHtcbiAgICAgIHRoaXMubG9hZFNlY3VyaXR5TWFya09wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoYWN0aW9uOiBSdWxlQWN0aW9uKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hY3Rpb25EZWZpbml0aW9ucyA9IHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMuc29ydCgoZmlyc3RBY3Rpb25EZWZpbml0aW9uLCBzZWNvbmRBY3Rpb25EZWZpbml0aW9uKSA9PlxuICAgICAgZmlyc3RBY3Rpb25EZWZpbml0aW9uLnRpdGxlLmxvY2FsZUNvbXBhcmUoc2Vjb25kQWN0aW9uRGVmaW5pdGlvbi50aXRsZSlcbiAgICApO1xuXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXREZWZhdWx0UGFyYW1ldGVycygpO1xuICAgICAgdGhpcy5zZXRDYXJkVmlld1Byb3BlcnRpZXMoKTtcbiAgICAgIHRoaXMub25DaGFuZ2Uoe1xuICAgICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQsXG4gICAgICAgIHBhcmFtczogdGhpcy5wYXJhbWV0ZXJzXG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYXJkVmlld1VwZGF0ZVNlcnZpY2UuaXRlbVVwZGF0ZWQkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgodXBkYXRlTm90aWZpY2F0aW9uOiBVcGRhdGVOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIGNvbnN0IGlzU2VjdXJpdHlHcm91cFVwZGF0ZWQgPSB1cGRhdGVOb3RpZmljYXRpb24udGFyZ2V0LmtleSA9PT0gJ3NlY3VyaXR5R3JvdXBJZCc7XG4gICAgICBpZiAoaXNTZWN1cml0eUdyb3VwVXBkYXRlZCkge1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnMuc2VjdXJpdHlNYXJrSWQgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLmNsZWFyRW1wdHlQYXJhbWV0ZXJzKHtcbiAgICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgICAuLi51cGRhdGVOb3RpZmljYXRpb24uY2hhbmdlZFxuICAgICAgfSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHtcbiAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1ldGVyc1xuICAgICAgfSk7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcblxuICAgICAgaWYgKGlzU2VjdXJpdHlHcm91cFVwZGF0ZWQpIHtcbiAgICAgICAgdGhpcy5zZXRDYXJkVmlld1Byb3BlcnRpZXMoKTtcbiAgICAgICAgdGhpcy5sb2FkU2VjdXJpdHlNYXJrT3B0aW9ucygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHJlYWRPbmx5ID0gY2hhbmdlc1sncmVhZE9ubHknXT8uY3VycmVudFZhbHVlO1xuICAgIGlmIChyZWFkT25seSAhPT0gdW5kZWZpbmVkICYmIHJlYWRPbmx5ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlYWRPbmx5ID0gcmVhZE9ubHk7XG4gICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUocmVhZE9ubHkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXRDYXJkVmlld1Byb3BlcnRpZXMoc2VjdXJpdHlNYXJrT3B0aW9ucz86IENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjxzdHJpbmc+W10pIHtcbiAgICBjb25zdCBkaXNhYmxlZFRhZ3MgPSAhdGhpcy50YWdTZXJ2aWNlLmFyZVRhZ3NFbmFibGVkKCk7XG4gICAgY29uc3QgZGlzYWJsZWRDYXRlZ29yaWVzID0gIXRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmFyZUNhdGVnb3JpZXNFbmFibGVkKCk7XG4gICAgdGhpcy5jYXJkVmlld0l0ZW1zID0gKHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uPy5wYXJhbWV0ZXJEZWZpbml0aW9ucyA/PyBbXSkubWFwKChwYXJhbURlZikgPT4ge1xuICAgICAgY29uc3QgY29uc3RyYWludHNGb3JEcm9wZG93bkJveCA9XG4gICAgICAgIHBhcmFtRGVmLm5hbWUgPT09ICdzZWN1cml0eU1hcmtJZCdcbiAgICAgICAgICA/IHsgbmFtZTogcGFyYW1EZWYubmFtZSwgY29uc3RyYWludHM6IHNlY3VyaXR5TWFya09wdGlvbnMgfHwgW10gfVxuICAgICAgICAgIDogdGhpcy5fcGFyYW1ldGVyQ29uc3RyYWludHMuZmluZCgob2JqKSA9PiBvYmoubmFtZSA9PT0gcGFyYW1EZWYubmFtZSk7XG4gICAgICBjb25zdCBjYXJkVmlld1Byb3BlcnRpZXNNb2RlbCA9IHtcbiAgICAgICAgbGFiZWw6IHBhcmFtRGVmLmRpc3BsYXlMYWJlbCArIChwYXJhbURlZi5tYW5kYXRvcnkgPyAnIConIDogJycpLFxuICAgICAgICBrZXk6IHBhcmFtRGVmLm5hbWUsXG4gICAgICAgIGVkaXRhYmxlOiB0cnVlLFxuICAgICAgICAuLi4ocGFyYW1EZWYubWFuZGF0b3J5XG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuRVJST1IuUkVRVUlSRUQnLFxuICAgICAgICAgICAgICAgICAgaXNWYWxpZDogKHZhbHVlOiB1bmtub3duKSA9PiAhIXZhbHVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSlcbiAgICAgIH07XG4gICAgICBzd2l0Y2ggKHBhcmFtRGVmLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnZDpib29sZWFuJzpcbiAgICAgICAgICByZXR1cm4gbmV3IENhcmRWaWV3Qm9vbEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV0gPz8gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgY2FzZSAnZDpub2RlcmVmJzpcbiAgICAgICAgICBpZiAoIWNvbnN0cmFpbnRzRm9yRHJvcGRvd25Cb3ggJiYgIXRoaXMucmVhZE9ubHkgJiYgcGFyYW1EZWYubmFtZSAhPT0gJ2NhdGVnb3J5LXZhbHVlJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgICAgaWNvbjogJ2ZvbGRlcicsXG4gICAgICAgICAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgICAgICAgICBjbGlja2FibGU6IHRydWUsXG4gICAgICAgICAgICAgIGNsaWNrQ2FsbEJhY2s6IHRoaXMub3BlblNlbGVjdG9yRGlhbG9nLmJpbmQodGhpcywgcGFyYW1EZWYubmFtZSksXG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocGFyYW1EZWYubmFtZSA9PT0gJ2NhdGVnb3J5LXZhbHVlJyAmJiAhdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgICAgaWNvbjogJ2xpYnJhcnlfYWRkJyxcbiAgICAgICAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgICAgICAgIGNsaWNrYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY2xpY2tDYWxsQmFjazogdGhpcy5vcGVuQ2F0RGlhbG9nLmJpbmQodGhpcywgcGFyYW1EZWYubmFtZSksXG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgLy8gIGZhbGxzIHRocm91Z2hcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAoY29uc3RyYWludHNGb3JEcm9wZG93bkJveCAmJiAhdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXJkVmlld1NlbGVjdEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAgIC4uLmNhcmRWaWV3UHJvcGVydGllc01vZGVsLFxuICAgICAgICAgICAgICB2YWx1ZTogKHRoaXMucGFyYW1ldGVyc1twYXJhbURlZi5uYW1lXSBhcyBzdHJpbmcpID8/ICcnLFxuICAgICAgICAgICAgICBvcHRpb25zJDogb2YoY29uc3RyYWludHNGb3JEcm9wZG93bkJveC5jb25zdHJhaW50cykucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGRpc2FibGVkVGFncyAmJiB0aGlzLnRhZ3NSZWxhdGVkUHJvcGVydGllc0FuZEFzcGVjdHMuaW5jbHVkZXMob3B0aW9uLmtleSkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAoZGlzYWJsZWRDYXRlZ29yaWVzICYmIHRoaXMuY2F0ZWdvcmllc1JlbGF0ZWRQcm9wZXJ0aWVzQW5kQXNwZWN0cy5pbmNsdWRlcyhvcHRpb24ua2V5KSlcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IENhcmRWaWV3VGV4dEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICBjb25zdHJhaW50c0ZvckRyb3Bkb3duQm94ICYmIHRoaXMucmVhZE9ubHkgJiYgdGhpcy5wYXJhbXNUb0Zvcm1hdERpc3BsYXllZFZhbHVlLmluY2x1ZGVzKHBhcmFtRGVmLm5hbWUpXG4gICAgICAgICAgICAgICAgPyBjb25zdHJhaW50c0ZvckRyb3Bkb3duQm94LmNvbnN0cmFpbnRzLmZpbmQoKGNvbnN0cmFpbnQpID0+IGNvbnN0cmFpbnQua2V5ID09PSB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV0pPy5sYWJlbCA/PyAnJ1xuICAgICAgICAgICAgICAgIDogdGhpcy5wYXJhbWV0ZXJzW3BhcmFtRGVmLm5hbWVdID8/ICcnXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TZWxlY3RvckRpYWxvZyhwYXJhbURlZk5hbWUpIHtcbiAgICBjb25zdCBkYXRhOiBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50RGF0YSA9IHtcbiAgICAgIHNlbGVjdGlvbk1vZGU6ICdzaW5nbGUnLFxuICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLlBMQUNFSE9MREVSLkNIT09TRV9GT0xERVInKSxcbiAgICAgIGFjdGlvbk5hbWU6IE5vZGVBY3Rpb24uQ0hPT1NFLFxuICAgICAgY3VycmVudEZvbGRlcklkOiB0aGlzLm5vZGVJZCxcbiAgICAgIHNlbGVjdDogbmV3IFN1YmplY3Q8Tm9kZVtdPigpXG4gICAgfTtcblxuICAgIHRoaXMuZGlhbG9nLm9wZW4oQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudCwge1xuICAgICAgZGF0YSxcbiAgICAgIHBhbmVsQ2xhc3M6ICdhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWRpYWxvZycsXG4gICAgICB3aWR0aDogJzYzMHB4J1xuICAgIH0pO1xuXG4gICAgZGF0YS5zZWxlY3Quc3Vic2NyaWJlKFxuICAgICAgKHNlbGVjdGlvbnM6IE5vZGVbXSkgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0aW9uc1swXS5pZCkge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh7XG4gICAgICAgICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICBbcGFyYW1EZWZOYW1lXTogc2VsZWN0aW9uc1swXS5pZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMub25DaGFuZ2Uoe1xuICAgICAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICAgICAgcGFyYW1zOiB0aGlzLnBhcmFtZXRlcnNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkNhdERpYWxvZyhwYXJhbURlZk5hbWUpIHtcbiAgICBjb25zdCBkYXRhOiBDYXRlZ29yeVNlbGVjdG9yRGlhbG9nT3B0aW9ucyA9IHtcbiAgICAgIHNlbGVjdDogbmV3IFN1YmplY3Q8Q2F0ZWdvcnlbXT4oKSxcbiAgICAgIG11bHRpU2VsZWN0OiBmYWxzZVxuICAgIH07XG5cbiAgICB0aGlzLmRpYWxvZy5vcGVuKENhdGVnb3J5U2VsZWN0b3JEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGEsXG4gICAgICB3aWR0aDogJzYzMHB4J1xuICAgIH0pO1xuXG4gICAgZGF0YS5zZWxlY3QucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzZWxlY3Rpb25zOiBDYXRlZ29yeVtdKSA9PiB7XG4gICAgICBpZiAoc2VsZWN0aW9uc1swXS5pZCkge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUoe1xuICAgICAgICAgIGFjdGlvbkRlZmluaXRpb25JZDogdGhpcy5zZWxlY3RlZEFjdGlvbkRlZmluaXRpb25JZCxcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIC4uLnRoaXMucGFyYW1ldGVycyxcbiAgICAgICAgICAgIFtwYXJhbURlZk5hbWVdOiBzZWxlY3Rpb25zWzBdLmlkXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh7XG4gICAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICAgIHBhcmFtczogdGhpcy5wYXJhbWV0ZXJzXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldERlZmF1bHRQYXJhbWV0ZXJzKCkge1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHt9O1xuICAgICh0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbj8ucGFyYW1ldGVyRGVmaW5pdGlvbnMgPz8gW10pLmZvckVhY2goKHBhcmFtRGVmOiBBY3Rpb25QYXJhbWV0ZXJEZWZpbml0aW9uKSA9PiB7XG4gICAgICBpZiAocGFyYW1EZWYudHlwZSA9PT0gJ2Q6Ym9vbGVhbicpIHtcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzW3BhcmFtRGVmLm5hbWVdID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZWFkT25seSA9IHRydWU7XG4gICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlYWRPbmx5ID0gZmFsc2U7XG4gICAgICB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUNvbnN0cmFpbnRzVG9TZWxlY3RPcHRpb25zKGNvbnN0cmFpbnRzOiBDb25zdHJhaW50VmFsdWVbXSk6IENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjx1bmtub3duPltdIHtcbiAgICByZXR1cm4gY29uc3RyYWludHNcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGlmICghYS5sYWJlbCAmJiBiLmxhYmVsKSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFiLmxhYmVsICYmIGEubGFiZWwpIHtcbiAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGEubGFiZWw/LmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkgPz8gLTE7XG4gICAgICB9KVxuICAgICAgLm1hcCgoY29uc3RyYWludCkgPT4gKHtcbiAgICAgICAga2V5OiBjb25zdHJhaW50LnZhbHVlLFxuICAgICAgICBsYWJlbDogY29uc3RyYWludC5sYWJlbCA/IGAke2NvbnN0cmFpbnQubGFiZWx9IFske2NvbnN0cmFpbnQudmFsdWV9XWAgOiBjb25zdHJhaW50LnZhbHVlXG4gICAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRW1wdHlQYXJhbWV0ZXJzKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB7XG4gICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IChwYXJhbXNba2V5XSA9PT0gbnVsbCB8fCBwYXJhbXNba2V5XSA9PT0gdW5kZWZpbmVkIHx8IHBhcmFtc1trZXldID09PSAnJykgJiYgZGVsZXRlIHBhcmFtc1trZXldKTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgbG9hZFNlY3VyaXR5TWFya09wdGlvbnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFyYW1ldGVycz8uc2VjdXJpdHlHcm91cElkKSB7XG4gICAgICBmcm9tKHRoaXMuc2VjdXJpdHlDb250cm9sc1NlcnZpY2UuZ2V0U2VjdXJpdHlNYXJrKHRoaXMucGFyYW1ldGVycy5zZWN1cml0eUdyb3VwSWQgYXMgc3RyaW5nKSlcbiAgICAgICAgLnBpcGUobWFwKChzZWN1cml0eU1hcmtzKSA9PiBzZWN1cml0eU1hcmtzLmVudHJpZXMubWFwKChlbnRyeSkgPT4gdGhpcy5mb3JtYXRTZWN1cml0eU1hcmtDb25zdHJhaW50KGVudHJ5KSkpKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHRoaXMuc2V0Q2FyZFZpZXdQcm9wZXJ0aWVzKHRoaXMucGFyc2VDb25zdHJhaW50c1RvU2VsZWN0T3B0aW9ucyhyZXMpIGFzIENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjxzdHJpbmc+W10pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFNlY3VyaXR5TWFya0NvbnN0cmFpbnQoc2VjdXJpdHlNYXJrOiBTZWN1cml0eU1hcmspOiBDb25zdHJhaW50VmFsdWUge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogc2VjdXJpdHlNYXJrLmlkLFxuICAgICAgbGFiZWw6IHNlY3VyaXR5TWFyay5uYW1lXG4gICAgfTtcbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJhY2EtcnVsZS1hY3Rpb25fX2Zvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cblxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhY2EtcnVsZS1hY3Rpb24tZnVsbC13aWR0aFwiIGFwcGVhcmFuY2U9XCJzdGFuZGFyZFwiPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJhY3Rpb25EZWZpbml0aW9uSWRcIlxuICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1hY3Rpb24tc2VsZWN0XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQUNUSU9OX1NFTEVDVF9QTEFDRUhPTERFUicgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb25EZWZpbml0aW9uIG9mIGFjdGlvbkRlZmluaXRpb25zXCJcbiAgICAgICAgW3ZhbHVlXT1cImFjdGlvbkRlZmluaXRpb24uaWRcIj5cbiAgICAgICAge3sgYWN0aW9uRGVmaW5pdGlvbi50aXRsZSB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8YWRmLWNhcmQtdmlld1xuICAgICpuZ0lmPVwiY2FyZFZpZXdJdGVtcz8ubGVuZ3RoID4gMFwiXG4gICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1hY3Rpb24tY2FyZC12aWV3XCJcbiAgICBbcHJvcGVydGllc109XCJjYXJkVmlld0l0ZW1zXCJcbiAgICBjbGFzcz1cImFjYS1ydWxlLWFjdGlvbi1mdWxsLXdpZHRoXCJcbiAgICBbZWRpdGFibGVdPVwiIXJlYWRPbmx5XCI+XG4gIDwvYWRmLWNhcmQtdmlldz5cblxuPC9mb3JtPlxuIl19
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
3
  *
4
4
  * Alfresco Example Content Application
5
5
  *
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
173
173
  }], readOnly: [{
174
174
  type: Input
175
175
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL2NvbmRpdGlvbnMvcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL2NvbmRpdGlvbnMvcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBdUMsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEksT0FBTyxFQUF3QixTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw4QkFBOEIsRUFB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QUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQ0FBa0MsQ0FBQzt5QkFDakU7cUJBQ0Y7OEJBS0QsbUJBQW1CO3NCQUZsQixXQUFXO3VCQUFDLCtCQUErQjs7c0JBQzNDLEtBQUs7Z0JBSU4sY0FBYztzQkFGYixXQUFXO3VCQUFDLG1DQUFtQzs7c0JBQy9DLEtBQUs7Z0JBYUMsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJ1bGVDb21wb3NpdGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbC9ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSdWxlU2ltcGxlQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvcnVsZS1zaW1wbGUtY29uZGl0aW9uLm1vZGVsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSdWxlU2ltcGxlQ29uZGl0aW9uVWlDb21wb25lbnQgfSBmcm9tICcuL3J1bGUtc2ltcGxlLWNvbmRpdGlvbi51aS1jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUnVsZVNpbXBsZUNvbmRpdGlvblVpQ29tcG9uZW50XG4gIF0sXG4gIHNlbGVjdG9yOiAnYWNhLXJ1bGUtY29tcG9zaXRlLWNvbmRpdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24udWktY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24udWktY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24nIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uVWlDb21wb25lbnQpXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVDb21wb3NpdGVDb25kaXRpb25VaUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNhLXNlY29uZGFyeUJhY2tncm91bmQnKVxuICBASW5wdXQoKVxuICBzZWNvbmRhcnlCYWNrZ3JvdW5kID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNhLWNoaWxkQ29tcG9zaXRlQ29uZGl0aW9uJylcbiAgQElucHV0KClcbiAgY2hpbGRDb25kaXRpb24gPSBmYWxzZTtcblxuICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgaW52ZXJ0ZWQ6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIGJvb2xlYW5Nb2RlOiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICBjb21wb3NpdGVDb25kaXRpb25zOiBuZXcgRm9ybUFycmF5KFtdKSxcbiAgICBzaW1wbGVDb25kaXRpb25zOiBuZXcgRm9ybUFycmF5KFtdKVxuICB9KTtcblxuICByZWFkb25seSBpc09ySW1wbGVtZW50ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZE9ubHkgPSBmYWxzZTtcblxuICBwcml2YXRlIGZvcm1TdWJzY3JpcHRpb24gPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9KTtcblxuICBwdWJsaWMgaW52ZXJ0ZWRDb250cm9sID0gdGhpcy5mb3JtLmdldCgnaW52ZXJ0ZWQnKSBhcyBGb3JtQ29udHJvbDtcbiAgcHVibGljIGJvb2xlYW5Nb2RlQ29udHJvbCA9IHRoaXMuZm9ybS5nZXQoJ2Jvb2xlYW5Nb2RlJykgYXMgRm9ybUNvbnRyb2w7XG5cbiAgZ2V0IGNvbXBvc2l0ZUNvbmRpdGlvbnNGb3JtQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnY29tcG9zaXRlQ29uZGl0aW9ucycpIGFzIEZvcm1BcnJheTtcbiAgfVxuICBnZXQgc2ltcGxlQ29uZGl0aW9uc0Zvcm1BcnJheSgpOiBGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdzaW1wbGVDb25kaXRpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG4gIGdldCBjb25kaXRpb25Gb3JtQ29udHJvbHMoKTogRm9ybUNvbnRyb2xbXSB7XG4gICAgcmV0dXJuIFsuLi4odGhpcy5jb21wb3NpdGVDb25kaXRpb25zRm9ybUFycmF5LmNvbnRyb2xzIGFzIEZvcm1Db250cm9sW10pLCAuLi4odGhpcy5zaW1wbGVDb25kaXRpb25zRm9ybUFycmF5LmNvbnRyb2xzIGFzIEZvcm1Db250cm9sW10pXTtcbiAgfVxuICBnZXQgaGFzTm9Db25kaXRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbmRpdGlvbkZvcm1Db250cm9scy5sZW5ndGggPT09IDA7XG4gIH1cblxuICBvbkNoYW5nZTogKGNvbmRpdGlvbjogUnVsZUNvbXBvc2l0ZUNvbmRpdGlvbikgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbiAgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uKSB7XG4gICAgdGhpcy5mb3JtLmdldCgnaW52ZXJ0ZWQnKS5zZXRWYWx1ZSh2YWx1ZS5pbnZlcnRlZCk7XG4gICAgdGhpcy5mb3JtLmdldCgnYm9vbGVhbk1vZGUnKS5zZXRWYWx1ZSh2YWx1ZS5ib29sZWFuTW9kZSk7XG4gICAgdGhpcy5mb3JtLnNldENvbnRyb2woJ2NvbXBvc2l0ZUNvbmRpdGlvbnMnLCBuZXcgRm9ybUFycmF5KHZhbHVlLmNvbXBvc2l0ZUNvbmRpdGlvbnMubWFwKChjb25kaXRpb24pID0+IG5ldyBGb3JtQ29udHJvbChjb25kaXRpb24pKSkpO1xuICAgIHRoaXMuZm9ybS5zZXRDb250cm9sKCdzaW1wbGVDb25kaXRpb25zJywgbmV3IEZvcm1BcnJheSh2YWx1ZS5zaW1wbGVDb25kaXRpb25zLm1hcCgoY29uZGl0aW9uKSA9PiBuZXcgRm9ybUNvbnRyb2woY29uZGl0aW9uKSkpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWFkT25seSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGlzRm9ybUNvbnRyb2xTaW1wbGVDb25kaXRpb24oY29udHJvbDogRm9ybUNvbnRyb2wpOiBib29sZWFuIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgcmV0dXJuIGNvbnRyb2wudmFsdWUuaGFzT3duUHJvcGVydHkoJ2ZpZWxkJyk7XG4gIH1cblxuICByZW1vdmVDb25kaXRpb24oY29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmlzRm9ybUNvbnRyb2xTaW1wbGVDb25kaXRpb24oY29udHJvbCkgPyB0aGlzLnNpbXBsZUNvbmRpdGlvbnNGb3JtQXJyYXkgOiB0aGlzLmNvbXBvc2l0ZUNvbmRpdGlvbnNGb3JtQXJyYXk7XG4gICAgY29uc3QgaW5kZXggPSAoZm9ybUFycmF5LnZhbHVlIGFzIEZvcm1Db250cm9sW10pLmluZGV4T2YoY29udHJvbC52YWx1ZSk7XG4gICAgZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIGFkZFNpbXBsZUNvbmRpdGlvbigpIHtcbiAgICBjb25zdCBuZXdDb25kaXRpb246IFJ1bGVTaW1wbGVDb25kaXRpb24gPSB7XG4gICAgICBmaWVsZDogJ2NtOm5hbWUnLFxuICAgICAgY29tcGFyYXRvcjogJ2VxdWFscycsXG4gICAgICBwYXJhbWV0ZXI6ICcnXG4gICAgfTtcbiAgICB0aGlzLnNpbXBsZUNvbmRpdGlvbnNGb3JtQXJyYXkucHVzaChuZXcgRm9ybUNvbnRyb2wobmV3Q29uZGl0aW9uKSk7XG4gIH1cblxuICBhZGRDb21wb3NpdGVDb25kaXRpb24oKSB7XG4gICAgY29uc3QgbmV3Q29uZGl0aW9uOiBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uID0ge1xuICAgICAgaW52ZXJ0ZWQ6IGZhbHNlLFxuICAgICAgYm9vbGVhbk1vZGU6ICdhbmQnLFxuICAgICAgY29tcG9zaXRlQ29uZGl0aW9uczogW10sXG4gICAgICBzaW1wbGVDb25kaXRpb25zOiBbXVxuICAgIH07XG4gICAgdGhpcy5jb21wb3NpdGVDb25kaXRpb25zRm9ybUFycmF5LnB1c2gobmV3IEZvcm1Db250cm9sKG5ld0NvbmRpdGlvbikpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb3JtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgcmVhZE9ubHkgPSBjaGFuZ2VzWydyZWFkT25seSddLmN1cnJlbnRWYWx1ZTtcbiAgICBpZiAocmVhZE9ubHkgIT09IHVuZGVmaW5lZCAmJiByZWFkT25seSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xuICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHJlYWRPbmx5KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiYWNhLXJ1bGUtY29tcG9zaXRlLWNvbmRpdGlvbl9fZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICA8ZGl2ICpuZ0lmPVwiaGFzTm9Db25kaXRpb25zXCIgY2xhc3M9XCJhY2EtcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uX19mb3JtX19uby1jb25kaXRpb25zXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibm8tY29uZGl0aW9uc1wiPlxuICAgIHt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy4nICsgKGNoaWxkQ29uZGl0aW9uID8gJ05PX0NPTkRJVElPTlNfSU5fR1JPVVAnIDogJ05PX0NPTkRJVElPTlMnKSB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJhY2EtcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uX19mb3JtX19yb3dcIlxuICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGNvbmRpdGlvbkZvcm1Db250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiaSA9PT0gMFwiPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImludmVydGVkQ29udHJvbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZWFkT25seVwiPlxuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiZmFsc2VcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTE9HSUNfT1BFUkFUT1JTLklGJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInRydWVcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTE9HSUNfT1BFUkFUT1JTLk5PVF9JRicgfCB0cmFuc2xhdGUgfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImkgPiAwXCI+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICBbZGlzYWJsZWRdPVwiIWlzT3JJbXBsZW1lbnRlZCB8fCBpID4gMSB8fCByZWFkT25seVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJib29sZWFuTW9kZUNvbnRyb2xcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJhbmRcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTE9HSUNfT1BFUkFUT1JTLkFORCcgfCB0cmFuc2xhdGUgfX08L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwib3JcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTE9HSUNfT1BFUkFUT1JTLk9SJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPGFjYS1ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb25cbiAgICAgICpuZ0lmPVwiIWlzRm9ybUNvbnRyb2xTaW1wbGVDb25kaXRpb24oY29udHJvbClcIlxuICAgICAgW3NlY29uZGFyeUJhY2tncm91bmRdPVwiIXNlY29uZGFyeUJhY2tncm91bmRcIlxuICAgICAgW2NoaWxkQ29uZGl0aW9uXT1cInRydWVcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCI+XG4gICAgPC9hY2EtcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uPlxuXG4gICAgPGFjYS1ydWxlLXNpbXBsZS1jb25kaXRpb25cbiAgICAgICpuZ0lmPVwiaXNGb3JtQ29udHJvbFNpbXBsZUNvbmRpdGlvbihjb250cm9sKVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIj5cbiAgICA8L2FjYS1ydWxlLXNpbXBsZS1jb25kaXRpb24+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiICpuZ0lmPVwiIXJlYWRPbmx5XCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29uZGl0aW9uLWFjdGlvbnMtYnV0dG9uXCI+XG4gICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICBbdGl0bGVdPVwiJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTkRJVElPTl9CVVRUT05TLlJFTU9WRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlQ29uZGl0aW9uKGNvbnRyb2wpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09ORElUSU9OX0JVVFRPTlMuUkVNT1ZFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LW1lbnU+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjYS1ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb25fX2Zvcm1fX2FjdGlvbnNcIiAqbmdJZj1cIiFyZWFkT25seVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZC1hY3Rpb25zXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJhZGRTaW1wbGVDb25kaXRpb24oKVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZC1jb25kaXRpb24tYnV0dG9uXCI+XG4gICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT05ESVRJT05fQlVUVE9OUy5BRERfQ09ORElUSU9OJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImFkZENvbXBvc2l0ZUNvbmRpdGlvbigpXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRkLWdyb3VwLWJ1dHRvblwiPlxuICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8c3Bhbj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09ORElUSU9OX0JVVFRPTlMuQUREX0dST1VQJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL2NvbmRpdGlvbnMvcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL2NvbmRpdGlvbnMvcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBdUMsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEksT0FBTyxFQUF3QixTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw4QkFBOEIsRUFB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QUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQ0FBa0MsQ0FBQzt5QkFDakU7cUJBQ0Y7OEJBS0QsbUJBQW1CO3NCQUZsQixXQUFXO3VCQUFDLCtCQUErQjs7c0JBQzNDLEtBQUs7Z0JBSU4sY0FBYztzQkFGYixXQUFXO3VCQUFDLG1DQUFtQzs7c0JBQy9DLEtBQUs7Z0JBYUMsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJ1bGVDb21wb3NpdGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbC9ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSdWxlU2ltcGxlQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvcnVsZS1zaW1wbGUtY29uZGl0aW9uLm1vZGVsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSdWxlU2ltcGxlQ29uZGl0aW9uVWlDb21wb25lbnQgfSBmcm9tICcuL3J1bGUtc2ltcGxlLWNvbmRpdGlvbi51aS1jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUnVsZVNpbXBsZUNvbmRpdGlvblVpQ29tcG9uZW50XG4gIF0sXG4gIHNlbGVjdG9yOiAnYWNhLXJ1bGUtY29tcG9zaXRlLWNvbmRpdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24udWktY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24udWktY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24nIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uVWlDb21wb25lbnQpXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVDb21wb3NpdGVDb25kaXRpb25VaUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNhLXNlY29uZGFyeUJhY2tncm91bmQnKVxuICBASW5wdXQoKVxuICBzZWNvbmRhcnlCYWNrZ3JvdW5kID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNhLWNoaWxkQ29tcG9zaXRlQ29uZGl0aW9uJylcbiAgQElucHV0KClcbiAgY2hpbGRDb25kaXRpb24gPSBmYWxzZTtcblxuICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgaW52ZXJ0ZWQ6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIGJvb2xlYW5Nb2RlOiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICBjb21wb3NpdGVDb25kaXRpb25zOiBuZXcgRm9ybUFycmF5KFtdKSxcbiAgICBzaW1wbGVDb25kaXRpb25zOiBuZXcgRm9ybUFycmF5KFtdKVxuICB9KTtcblxuICByZWFkb25seSBpc09ySW1wbGVtZW50ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZE9ubHkgPSBmYWxzZTtcblxuICBwcml2YXRlIGZvcm1TdWJzY3JpcHRpb24gPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9KTtcblxuICBwdWJsaWMgaW52ZXJ0ZWRDb250cm9sID0gdGhpcy5mb3JtLmdldCgnaW52ZXJ0ZWQnKSBhcyBGb3JtQ29udHJvbDtcbiAgcHVibGljIGJvb2xlYW5Nb2RlQ29udHJvbCA9IHRoaXMuZm9ybS5nZXQoJ2Jvb2xlYW5Nb2RlJykgYXMgRm9ybUNvbnRyb2w7XG5cbiAgZ2V0IGNvbXBvc2l0ZUNvbmRpdGlvbnNGb3JtQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnY29tcG9zaXRlQ29uZGl0aW9ucycpIGFzIEZvcm1BcnJheTtcbiAgfVxuICBnZXQgc2ltcGxlQ29uZGl0aW9uc0Zvcm1BcnJheSgpOiBGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdzaW1wbGVDb25kaXRpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG4gIGdldCBjb25kaXRpb25Gb3JtQ29udHJvbHMoKTogRm9ybUNvbnRyb2xbXSB7XG4gICAgcmV0dXJuIFsuLi4odGhpcy5jb21wb3NpdGVDb25kaXRpb25zRm9ybUFycmF5LmNvbnRyb2xzIGFzIEZvcm1Db250cm9sW10pLCAuLi4odGhpcy5zaW1wbGVDb25kaXRpb25zRm9ybUFycmF5LmNvbnRyb2xzIGFzIEZvcm1Db250cm9sW10pXTtcbiAgfVxuICBnZXQgaGFzTm9Db25kaXRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbmRpdGlvbkZvcm1Db250cm9scy5sZW5ndGggPT09IDA7XG4gIH1cblxuICBvbkNoYW5nZTogKGNvbmRpdGlvbjogUnVsZUNvbXBvc2l0ZUNvbmRpdGlvbikgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbiAgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uKSB7XG4gICAgdGhpcy5mb3JtLmdldCgnaW52ZXJ0ZWQnKS5zZXRWYWx1ZSh2YWx1ZS5pbnZlcnRlZCk7XG4gICAgdGhpcy5mb3JtLmdldCgnYm9vbGVhbk1vZGUnKS5zZXRWYWx1ZSh2YWx1ZS5ib29sZWFuTW9kZSk7XG4gICAgdGhpcy5mb3JtLnNldENvbnRyb2woJ2NvbXBvc2l0ZUNvbmRpdGlvbnMnLCBuZXcgRm9ybUFycmF5KHZhbHVlLmNvbXBvc2l0ZUNvbmRpdGlvbnMubWFwKChjb25kaXRpb24pID0+IG5ldyBGb3JtQ29udHJvbChjb25kaXRpb24pKSkpO1xuICAgIHRoaXMuZm9ybS5zZXRDb250cm9sKCdzaW1wbGVDb25kaXRpb25zJywgbmV3IEZvcm1BcnJheSh2YWx1ZS5zaW1wbGVDb25kaXRpb25zLm1hcCgoY29uZGl0aW9uKSA9PiBuZXcgRm9ybUNvbnRyb2woY29uZGl0aW9uKSkpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWFkT25seSA9IGZhbHNlO1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGlzRm9ybUNvbnRyb2xTaW1wbGVDb25kaXRpb24oY29udHJvbDogRm9ybUNvbnRyb2wpOiBib29sZWFuIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgcmV0dXJuIGNvbnRyb2wudmFsdWUuaGFzT3duUHJvcGVydHkoJ2ZpZWxkJyk7XG4gIH1cblxuICByZW1vdmVDb25kaXRpb24oY29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmlzRm9ybUNvbnRyb2xTaW1wbGVDb25kaXRpb24oY29udHJvbCkgPyB0aGlzLnNpbXBsZUNvbmRpdGlvbnNGb3JtQXJyYXkgOiB0aGlzLmNvbXBvc2l0ZUNvbmRpdGlvbnNGb3JtQXJyYXk7XG4gICAgY29uc3QgaW5kZXggPSAoZm9ybUFycmF5LnZhbHVlIGFzIEZvcm1Db250cm9sW10pLmluZGV4T2YoY29udHJvbC52YWx1ZSk7XG4gICAgZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIGFkZFNpbXBsZUNvbmRpdGlvbigpIHtcbiAgICBjb25zdCBuZXdDb25kaXRpb246IFJ1bGVTaW1wbGVDb25kaXRpb24gPSB7XG4gICAgICBmaWVsZDogJ2NtOm5hbWUnLFxuICAgICAgY29tcGFyYXRvcjogJ2VxdWFscycsXG4gICAgICBwYXJhbWV0ZXI6ICcnXG4gICAgfTtcbiAgICB0aGlzLnNpbXBsZUNvbmRpdGlvbnNGb3JtQXJyYXkucHVzaChuZXcgRm9ybUNvbnRyb2wobmV3Q29uZGl0aW9uKSk7XG4gIH1cblxuICBhZGRDb21wb3NpdGVDb25kaXRpb24oKSB7XG4gICAgY29uc3QgbmV3Q29uZGl0aW9uOiBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uID0ge1xuICAgICAgaW52ZXJ0ZWQ6IGZhbHNlLFxuICAgICAgYm9vbGVhbk1vZGU6ICdhbmQnLFxuICAgICAgY29tcG9zaXRlQ29uZGl0aW9uczogW10sXG4gICAgICBzaW1wbGVDb25kaXRpb25zOiBbXVxuICAgIH07XG4gICAgdGhpcy5jb21wb3NpdGVDb25kaXRpb25zRm9ybUFycmF5LnB1c2gobmV3IEZvcm1Db250cm9sKG5ld0NvbmRpdGlvbikpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb3JtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgcmVhZE9ubHkgPSBjaGFuZ2VzWydyZWFkT25seSddLmN1cnJlbnRWYWx1ZTtcbiAgICBpZiAocmVhZE9ubHkgIT09IHVuZGVmaW5lZCAmJiByZWFkT25seSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xuICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHJlYWRPbmx5KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiYWNhLXJ1bGUtY29tcG9zaXRlLWNvbmRpdGlvbl9fZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICA8ZGl2ICpuZ0lmPVwiaGFzTm9Db25kaXRpb25zXCIgY2xhc3M9XCJhY2EtcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uX19mb3JtX19uby1jb25kaXRpb25zXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibm8tY29uZGl0aW9uc1wiPlxuICAgIHt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy4nICsgKGNoaWxkQ29uZGl0aW9uID8gJ05PX0NPTkRJVElPTlNfSU5fR1JPVVAnIDogJ05PX0NPTkRJVElPTlMnKSB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJhY2EtcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uX19mb3JtX19yb3dcIlxuICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGNvbmRpdGlvbkZvcm1Db250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiaSA9PT0gMFwiPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImludmVydGVkQ29udHJvbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZWFkT25seVwiPlxuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiZmFsc2VcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTE9HSUNfT1BFUkFUT1JTLklGJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInRydWVcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTE9HSUNfT1BFUkFUT1JTLk5PVF9JRicgfCB0cmFuc2xhdGUgfX08L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImkgPiAwXCI+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICBbZGlzYWJsZWRdPVwiIWlzT3JJbXBsZW1lbnRlZCB8fCBpID4gMSB8fCByZWFkT25seVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJib29sZWFuTW9kZUNvbnRyb2xcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJhbmRcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTE9HSUNfT1BFUkFUT1JTLkFORCcgfCB0cmFuc2xhdGUgfX08L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwib3JcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTE9HSUNfT1BFUkFUT1JTLk9SJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPGFjYS1ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb25cbiAgICAgICpuZ0lmPVwiIWlzRm9ybUNvbnRyb2xTaW1wbGVDb25kaXRpb24oY29udHJvbClcIlxuICAgICAgW3NlY29uZGFyeUJhY2tncm91bmRdPVwiIXNlY29uZGFyeUJhY2tncm91bmRcIlxuICAgICAgW2NoaWxkQ29uZGl0aW9uXT1cInRydWVcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCI+XG4gICAgPC9hY2EtcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uPlxuXG4gICAgPGFjYS1ydWxlLXNpbXBsZS1jb25kaXRpb25cbiAgICAgICpuZ0lmPVwiaXNGb3JtQ29udHJvbFNpbXBsZUNvbmRpdGlvbihjb250cm9sKVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIj5cbiAgICA8L2FjYS1ydWxlLXNpbXBsZS1jb25kaXRpb24+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiICpuZ0lmPVwiIXJlYWRPbmx5XCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29uZGl0aW9uLWFjdGlvbnMtYnV0dG9uXCI+XG4gICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICBbdGl0bGVdPVwiJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTkRJVElPTl9CVVRUT05TLlJFTU9WRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlQ29uZGl0aW9uKGNvbnRyb2wpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8c3Bhbj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09ORElUSU9OX0JVVFRPTlMuUkVNT1ZFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LW1lbnU+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjYS1ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb25fX2Zvcm1fX2FjdGlvbnNcIiAqbmdJZj1cIiFyZWFkT25seVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZC1hY3Rpb25zXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJhZGRTaW1wbGVDb25kaXRpb24oKVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZC1jb25kaXRpb24tYnV0dG9uXCI+XG4gICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT05ESVRJT05fQlVUVE9OUy5BRERfQ09ORElUSU9OJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImFkZENvbXBvc2l0ZUNvbmRpdGlvbigpXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRkLWdyb3VwLWJ1dHRvblwiPlxuICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8c3Bhbj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09ORElUSU9OX0JVVFRPTlMuQUREX0dST1VQJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
3
  *
4
4
  * Alfresco Example Content Application
5
5
  *
@@ -84,4 +84,4 @@ export const ruleConditionComparators = [
84
84
  }
85
85
  }
86
86
  ];
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1jb25kaXRpb24tY29tcGFyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3J1bGUtZGV0YWlscy9jb25kaXRpb25zL3J1bGUtY29uZGl0aW9uLWNvbXBhcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBU0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQThCO0lBQ2pFO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsa0RBQWtEO1lBQzFELE1BQU0sRUFBRSxrREFBa0Q7WUFDMUQsSUFBSSxFQUFFLDhDQUE4QztZQUNwRCxPQUFPLEVBQUUsRUFBRTtTQUNaO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSxvREFBb0Q7U0FDN0Q7S0FDRjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsdURBQXVEO1NBQ2hFO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLHFEQUFxRDtTQUM5RDtLQUNGO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsY0FBYztRQUNwQixNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsd0RBQXdEO1lBQ2hFLElBQUksRUFBRSxpREFBaUQ7U0FDeEQ7S0FDRjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLHFEQUFxRDtZQUM3RCxJQUFJLEVBQUUsa0RBQWtEO1NBQ3pEO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLGlFQUFpRTtZQUN6RSxJQUFJLEVBQUUsdURBQXVEO1NBQzlEO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLDhEQUE4RDtZQUN0RSxJQUFJLEVBQUUsd0RBQXdEO1NBQy9EO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxhQUFhO1FBQ25CLE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSx1REFBdUQ7U0FDOUQ7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBSdWxlQ29uZGl0aW9uQ29tcGFyYXRvciB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWxzOiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgcnVsZUNvbmRpdGlvbkNvbXBhcmF0b3JzOiBSdWxlQ29uZGl0aW9uQ29tcGFyYXRvcltdID0gW1xuICB7XG4gICAgbmFtZTogJ2VxdWFscycsXG4gICAgbGFiZWxzOiB7XG4gICAgICBzdHJpbmc6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5FUVVBTFMnLFxuICAgICAgbnVtYmVyOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09NUEFSQVRPUlMuRVFVQUxTJyxcbiAgICAgIGRhdGU6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5PTicsXG4gICAgICBzcGVjaWFsOiAnJ1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6ICdjb250YWlucycsXG4gICAgbGFiZWxzOiB7XG4gICAgICBzdHJpbmc6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5DT05UQUlOUydcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnYmVnaW5zJyxcbiAgICBsYWJlbHM6IHtcbiAgICAgIHN0cmluZzogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLlNUQVJUU19XSVRIJ1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6ICdlbmRzJyxcbiAgICBsYWJlbHM6IHtcbiAgICAgIHN0cmluZzogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLkVORFNfV0lUSCdcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZ3JlYXRlcl90aGFuJyxcbiAgICBsYWJlbHM6IHtcbiAgICAgIG51bWJlcjogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLkdSRUFURVJfVEhBTicsXG4gICAgICBkYXRlOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09NUEFSQVRPUlMuQUZURVInXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2xlc3NfdGhhbicsXG4gICAgbGFiZWxzOiB7XG4gICAgICBudW1iZXI6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5MRVNTX1RIQU4nLFxuICAgICAgZGF0ZTogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLkJFRk9SRSdcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZ3JlYXRlcl90aGFuX2VxdWFsJyxcbiAgICBsYWJlbHM6IHtcbiAgICAgIG51bWJlcjogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLkdSRUFURVJfVEhBTl9PUl9FUVVBTCcsXG4gICAgICBkYXRlOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09NUEFSQVRPUlMuT05fT1JfQUZURVInXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2xlc3NfdGhhbl9lcXVhbCcsXG4gICAgbGFiZWxzOiB7XG4gICAgICBudW1iZXI6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5MRVNTX1RIQU5fT1JfRVFVQUwnLFxuICAgICAgZGF0ZTogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLk9OX09SX0JFRk9SRSdcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnaW5zdGFuY2Vfb2YnLFxuICAgIGxhYmVsczoge1xuICAgICAgdHlwZTogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLklOU1RBTkNFX09GJ1xuICAgIH1cbiAgfVxuXTtcbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1jb25kaXRpb24tY29tcGFyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3J1bGUtZGV0YWlscy9jb25kaXRpb25zL3J1bGUtY29uZGl0aW9uLWNvbXBhcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBU0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQThCO0lBQ2pFO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsa0RBQWtEO1lBQzFELE1BQU0sRUFBRSxrREFBa0Q7WUFDMUQsSUFBSSxFQUFFLDhDQUE4QztZQUNwRCxPQUFPLEVBQUUsRUFBRTtTQUNaO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSxvREFBb0Q7U0FDN0Q7S0FDRjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsdURBQXVEO1NBQ2hFO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLHFEQUFxRDtTQUM5RDtLQUNGO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsY0FBYztRQUNwQixNQUFNLEVBQUU7WUFDTixNQUFNLEVBQUUsd0RBQXdEO1lBQ2hFLElBQUksRUFBRSxpREFBaUQ7U0FDeEQ7S0FDRjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLHFEQUFxRDtZQUM3RCxJQUFJLEVBQUUsa0RBQWtEO1NBQ3pEO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLGlFQUFpRTtZQUN6RSxJQUFJLEVBQUUsdURBQXVEO1NBQzlEO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLDhEQUE4RDtZQUN0RSxJQUFJLEVBQUUsd0RBQXdEO1NBQy9EO0tBQ0Y7SUFDRDtRQUNFLElBQUksRUFBRSxhQUFhO1FBQ25CLE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSx1REFBdUQ7U0FDOUQ7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBSdWxlQ29uZGl0aW9uQ29tcGFyYXRvciB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWxzOiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgcnVsZUNvbmRpdGlvbkNvbXBhcmF0b3JzOiBSdWxlQ29uZGl0aW9uQ29tcGFyYXRvcltdID0gW1xuICB7XG4gICAgbmFtZTogJ2VxdWFscycsXG4gICAgbGFiZWxzOiB7XG4gICAgICBzdHJpbmc6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5FUVVBTFMnLFxuICAgICAgbnVtYmVyOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09NUEFSQVRPUlMuRVFVQUxTJyxcbiAgICAgIGRhdGU6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5PTicsXG4gICAgICBzcGVjaWFsOiAnJ1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6ICdjb250YWlucycsXG4gICAgbGFiZWxzOiB7XG4gICAgICBzdHJpbmc6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5DT05UQUlOUydcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnYmVnaW5zJyxcbiAgICBsYWJlbHM6IHtcbiAgICAgIHN0cmluZzogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLlNUQVJUU19XSVRIJ1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6ICdlbmRzJyxcbiAgICBsYWJlbHM6IHtcbiAgICAgIHN0cmluZzogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLkVORFNfV0lUSCdcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZ3JlYXRlcl90aGFuJyxcbiAgICBsYWJlbHM6IHtcbiAgICAgIG51bWJlcjogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLkdSRUFURVJfVEhBTicsXG4gICAgICBkYXRlOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09NUEFSQVRPUlMuQUZURVInXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2xlc3NfdGhhbicsXG4gICAgbGFiZWxzOiB7XG4gICAgICBudW1iZXI6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5MRVNTX1RIQU4nLFxuICAgICAgZGF0ZTogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLkJFRk9SRSdcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZ3JlYXRlcl90aGFuX2VxdWFsJyxcbiAgICBsYWJlbHM6IHtcbiAgICAgIG51bWJlcjogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLkdSRUFURVJfVEhBTl9PUl9FUVVBTCcsXG4gICAgICBkYXRlOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQ09NUEFSQVRPUlMuT05fT1JfQUZURVInXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2xlc3NfdGhhbl9lcXVhbCcsXG4gICAgbGFiZWxzOiB7XG4gICAgICBudW1iZXI6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5DT01QQVJBVE9SUy5MRVNTX1RIQU5fT1JfRVFVQUwnLFxuICAgICAgZGF0ZTogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLk9OX09SX0JFRk9SRSdcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnaW5zdGFuY2Vfb2YnLFxuICAgIGxhYmVsczoge1xuICAgICAgdHlwZTogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkNPTVBBUkFUT1JTLklOU1RBTkNFX09GJ1xuICAgIH1cbiAgfVxuXTtcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
3
  *
4
4
  * Alfresco Example Content Application
5
5
  *
@@ -59,4 +59,4 @@ export const ruleConditionFields = [
59
59
  type: 'special'
60
60
  }
61
61
  ];
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1jb25kaXRpb24tZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvZm9sZGVyLXJ1bGVzL3NyYy9ydWxlLWRldGFpbHMvY29uZGl0aW9ucy9ydWxlLWNvbmRpdGlvbi1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFVSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFeEcsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXlCO0lBQ3ZEO1FBQ0UsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsMkNBQTJDO1FBQ2xELElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRDtRQUNFLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLDJDQUEyQztRQUNsRCxJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsK0NBQStDO1FBQ3RELElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsK0NBQStDO1FBQ3RELElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsbURBQW1EO1FBQzFELElBQUksRUFBRSxlQUFlO0tBQ3RCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSztRQUNYLEtBQUssRUFBRSw4Q0FBOEM7UUFDckQsSUFBSSxFQUFFLFNBQVM7S0FDaEI7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLGlEQUFpRDtRQUN4RCxJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuZXhwb3J0IHR5cGUgUnVsZUNvbmRpdGlvbkZpZWxkVHlwZSA9ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZScgfCAndHlwZScgfCAnc3BlY2lhbCcgfCAnbWltZVR5cGUnIHwgJ2F1dG8tY29tcGxldGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVDb25kaXRpb25GaWVsZCB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgdHlwZTogUnVsZUNvbmRpdGlvbkZpZWxkVHlwZTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbXBhcmF0b3JIaWRkZW5Gb3JDb25kaXRpb25GaWVsZFR5cGU6IHN0cmluZ1tdID0gWydzcGVjaWFsJywgJ21pbWVUeXBlJywgJ2F1dG8tY29tcGxldGUnXTtcblxuZXhwb3J0IGNvbnN0IHJ1bGVDb25kaXRpb25GaWVsZHM6IFJ1bGVDb25kaXRpb25GaWVsZFtdID0gW1xuICB7XG4gICAgbmFtZTogJ2NtOm5hbWUnLFxuICAgIGxhYmVsOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuRklFTERTLk5BTUUnLFxuICAgIHR5cGU6ICdzdHJpbmcnXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnc2l6ZScsXG4gICAgbGFiZWw6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5GSUVMRFMuU0laRScsXG4gICAgdHlwZTogJ251bWJlcidcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdtaW1ldHlwZScsXG4gICAgbGFiZWw6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5GSUVMRFMuTUlNRVRZUEUnLFxuICAgIHR5cGU6ICdtaW1lVHlwZSdcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdlbmNvZGluZycsXG4gICAgbGFiZWw6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5GSUVMRFMuRU5DT0RJTkcnLFxuICAgIHR5cGU6ICdzcGVjaWFsJ1xuICB9LFxuICB7XG4gICAgbmFtZTogJ2NhdGVnb3J5JyxcbiAgICBsYWJlbDogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkZJRUxEUy5IQVNfQ0FURUdPUlknLFxuICAgIHR5cGU6ICdhdXRvLWNvbXBsZXRlJ1xuICB9LFxuICB7XG4gICAgbmFtZTogJ3RhZycsXG4gICAgbGFiZWw6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5GSUVMRFMuSEFTX1RBRycsXG4gICAgdHlwZTogJ3NwZWNpYWwnXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnYXNwZWN0JyxcbiAgICBsYWJlbDogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkZJRUxEUy5IQVNfQVNQRUNUJyxcbiAgICB0eXBlOiAnc3BlY2lhbCdcbiAgfVxuXTtcbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1jb25kaXRpb24tZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvZm9sZGVyLXJ1bGVzL3NyYy9ydWxlLWRldGFpbHMvY29uZGl0aW9ucy9ydWxlLWNvbmRpdGlvbi1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFVSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFeEcsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXlCO0lBQ3ZEO1FBQ0UsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsMkNBQTJDO1FBQ2xELElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRDtRQUNFLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLDJDQUEyQztRQUNsRCxJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsK0NBQStDO1FBQ3RELElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsK0NBQStDO1FBQ3RELElBQUksRUFBRSxTQUFTO0tBQ2hCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsbURBQW1EO1FBQzFELElBQUksRUFBRSxlQUFlO0tBQ3RCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSztRQUNYLEtBQUssRUFBRSw4Q0FBOEM7UUFDckQsSUFBSSxFQUFFLFNBQVM7S0FDaEI7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLGlEQUFpRDtRQUN4RCxJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuZXhwb3J0IHR5cGUgUnVsZUNvbmRpdGlvbkZpZWxkVHlwZSA9ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZScgfCAndHlwZScgfCAnc3BlY2lhbCcgfCAnbWltZVR5cGUnIHwgJ2F1dG8tY29tcGxldGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVDb25kaXRpb25GaWVsZCB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgdHlwZTogUnVsZUNvbmRpdGlvbkZpZWxkVHlwZTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvbXBhcmF0b3JIaWRkZW5Gb3JDb25kaXRpb25GaWVsZFR5cGU6IHN0cmluZ1tdID0gWydzcGVjaWFsJywgJ21pbWVUeXBlJywgJ2F1dG8tY29tcGxldGUnXTtcblxuZXhwb3J0IGNvbnN0IHJ1bGVDb25kaXRpb25GaWVsZHM6IFJ1bGVDb25kaXRpb25GaWVsZFtdID0gW1xuICB7XG4gICAgbmFtZTogJ2NtOm5hbWUnLFxuICAgIGxhYmVsOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuRklFTERTLk5BTUUnLFxuICAgIHR5cGU6ICdzdHJpbmcnXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnc2l6ZScsXG4gICAgbGFiZWw6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5GSUVMRFMuU0laRScsXG4gICAgdHlwZTogJ251bWJlcidcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdtaW1ldHlwZScsXG4gICAgbGFiZWw6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5GSUVMRFMuTUlNRVRZUEUnLFxuICAgIHR5cGU6ICdtaW1lVHlwZSdcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdlbmNvZGluZycsXG4gICAgbGFiZWw6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5GSUVMRFMuRU5DT0RJTkcnLFxuICAgIHR5cGU6ICdzcGVjaWFsJ1xuICB9LFxuICB7XG4gICAgbmFtZTogJ2NhdGVnb3J5JyxcbiAgICBsYWJlbDogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkZJRUxEUy5IQVNfQ0FURUdPUlknLFxuICAgIHR5cGU6ICdhdXRvLWNvbXBsZXRlJ1xuICB9LFxuICB7XG4gICAgbmFtZTogJ3RhZycsXG4gICAgbGFiZWw6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5GSUVMRFMuSEFTX1RBRycsXG4gICAgdHlwZTogJ3NwZWNpYWwnXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnYXNwZWN0JyxcbiAgICBsYWJlbDogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkZJRUxEUy5IQVNfQVNQRUNUJyxcbiAgICB0eXBlOiAnc3BlY2lhbCdcbiAgfVxuXTtcbiJdfQ==