@vendure/admin-ui 1.7.4 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +902 -74
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +2392 -820
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +4 -3
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-dashboard.umd.js +3 -1
  8. package/bundles/vendure-admin-ui-dashboard.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +781 -175
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/bundles/vendure-admin-ui-settings.umd.js +5 -4
  12. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  13. package/bundles/vendure-admin-ui-system.umd.js +1 -1
  14. package/catalog/catalog.module.d.ts +3 -0
  15. package/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +17 -0
  16. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +38 -0
  17. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
  18. package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +6 -0
  19. package/catalog/components/collection-list/collection-list.component.d.ts +7 -5
  20. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +8 -4
  21. package/catalog/components/collection-tree/collection-tree.component.d.ts +2 -1
  22. package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +5 -0
  23. package/catalog/components/facet-list/facet-list.component.d.ts +2 -1
  24. package/catalog/components/product-list/product-list-bulk-actions.d.ts +6 -0
  25. package/catalog/components/product-list/product-list.component.d.ts +2 -1
  26. package/catalog/public_api.d.ts +6 -0
  27. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  28. package/core/common/component-registry-types.d.ts +1 -1
  29. package/core/common/generated-types.d.ts +609 -3
  30. package/core/common/utilities/bulk-action-utils.d.ts +19 -0
  31. package/core/common/utilities/selection-manager.d.ts +7 -0
  32. package/core/common/version.d.ts +1 -1
  33. package/core/data/definitions/collection-definitions.d.ts +3 -0
  34. package/core/data/definitions/facet-definitions.d.ts +3 -0
  35. package/core/data/definitions/order-definitions.d.ts +12 -0
  36. package/core/data/definitions/product-definitions.d.ts +1 -0
  37. package/core/data/providers/collection-data.service.d.ts +4 -1
  38. package/core/data/providers/facet-data.service.d.ts +4 -1
  39. package/core/data/providers/order-data.service.d.ts +18 -1
  40. package/core/data/providers/product-data.service.d.ts +1 -0
  41. package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +6 -0
  42. package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
  43. package/core/providers/bulk-action-registry/register-bulk-action.d.ts +53 -0
  44. package/core/providers/modal/modal.service.d.ts +2 -0
  45. package/core/providers/nav-builder/nav-builder-types.d.ts +1 -0
  46. package/core/public_api.d.ts +18 -1
  47. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +3 -3
  48. package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +29 -0
  49. package/core/shared/components/data-table/data-table.component.d.ts +26 -7
  50. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +1 -0
  51. package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +21 -0
  52. package/core/shared/components/radio-card/radio-card.component.d.ts +19 -0
  53. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +28 -0
  54. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +31 -0
  55. package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
  56. package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +5 -5
  57. package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +1 -1
  58. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +12 -0
  59. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
  60. package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
  61. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
  62. package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +1 -1
  63. package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
  64. package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
  65. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +7 -3
  66. package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -2
  67. package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +18 -0
  68. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +6 -2
  69. package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +27 -0
  70. package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +19 -0
  71. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +5 -17
  72. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +2 -1
  73. package/core/vendure-admin-ui-core.metadata.json +1 -1
  74. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +11 -4
  75. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  76. package/esm2015/catalog/catalog.module.js +25 -2
  77. package/esm2015/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.js +4 -1
  78. package/esm2015/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.js +51 -0
  79. package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.js +89 -0
  80. package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.js +69 -0
  81. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -3
  82. package/esm2015/catalog/components/collection-list/collection-list-bulk-actions.js +147 -0
  83. package/esm2015/catalog/components/collection-list/collection-list.component.js +17 -8
  84. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +16 -7
  85. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +3 -2
  86. package/esm2015/catalog/components/facet-list/facet-list-bulk-actions.js +208 -0
  87. package/esm2015/catalog/components/facet-list/facet-list.component.js +13 -4
  88. package/esm2015/catalog/components/product-detail/product-detail.component.js +35 -23
  89. package/esm2015/catalog/components/product-list/product-list-bulk-actions.js +173 -0
  90. package/esm2015/catalog/components/product-list/product-list.component.js +10 -5
  91. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +2 -2
  92. package/esm2015/catalog/providers/routing/collection-resolver.js +2 -1
  93. package/esm2015/catalog/public_api.js +7 -1
  94. package/esm2015/core/common/component-registry-types.js +1 -1
  95. package/esm2015/core/common/generated-types.js +5 -1
  96. package/esm2015/core/common/introspection-result.js +296 -191
  97. package/esm2015/core/common/utilities/bulk-action-utils.js +44 -0
  98. package/esm2015/core/common/utilities/selection-manager.js +33 -1
  99. package/esm2015/core/common/version.js +2 -2
  100. package/esm2015/core/components/breadcrumb/breadcrumb.component.js +1 -1
  101. package/esm2015/core/data/definitions/collection-definitions.js +30 -1
  102. package/esm2015/core/data/definitions/facet-definitions.js +31 -1
  103. package/esm2015/core/data/definitions/order-definitions.js +114 -1
  104. package/esm2015/core/data/definitions/product-definitions.js +15 -1
  105. package/esm2015/core/data/providers/collection-data.service.js +17 -2
  106. package/esm2015/core/data/providers/customer-data.service.js +8 -4
  107. package/esm2015/core/data/providers/facet-data.service.js +18 -2
  108. package/esm2015/core/data/providers/order-data.service.js +38 -2
  109. package/esm2015/core/data/providers/product-data.service.js +7 -2
  110. package/esm2015/core/data/utils/remove-readonly-custom-fields.js +5 -1
  111. package/esm2015/core/providers/bulk-action-registry/bulk-action-registry.service.js +27 -0
  112. package/esm2015/core/providers/bulk-action-registry/bulk-action-types.js +2 -0
  113. package/esm2015/core/providers/bulk-action-registry/register-bulk-action.js +63 -0
  114. package/esm2015/core/providers/dashboard-widget/dashboard-widget.service.js +1 -4
  115. package/esm2015/core/providers/modal/modal.service.js +2 -1
  116. package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
  117. package/esm2015/core/public_api.js +19 -2
  118. package/esm2015/core/shared/components/action-bar/action-bar.component.js +4 -8
  119. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +2 -2
  120. package/esm2015/core/shared/components/bulk-action-menu/bulk-action-menu.component.js +99 -0
  121. package/esm2015/core/shared/components/data-table/data-table.component.js +64 -15
  122. package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +4 -3
  123. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +2 -2
  124. package/esm2015/core/shared/components/language-selector/language-selector.component.js +2 -2
  125. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +2 -1
  126. package/esm2015/core/shared/components/product-search-input/product-search-input.component.js +1 -1
  127. package/esm2015/core/shared/components/product-selector/product-selector.component.js +1 -1
  128. package/esm2015/core/shared/components/radio-card/radio-card-fieldset.component.js +57 -0
  129. package/esm2015/core/shared/components/radio-card/radio-card.component.js +54 -0
  130. package/esm2015/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.js +2 -2
  131. package/esm2015/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.js +140 -0
  132. package/esm2015/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.js +45 -0
  133. package/esm2015/core/shared/components/rich-text-editor/prosemirror/custom-nodes.js +60 -0
  134. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/links.js +4 -4
  135. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.js +23 -1
  136. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.js +12 -0
  137. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu.js +73 -18
  138. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.js +16 -0
  139. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.js +100 -0
  140. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.js +97 -0
  141. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.js +166 -0
  142. package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +47 -17
  143. package/esm2015/core/shared/components/rich-text-editor/prosemirror/types.js +1 -1
  144. package/esm2015/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.js +57 -0
  145. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +20 -9
  146. package/esm2015/core/shared/components/simple-dialog/simple-dialog.component.js +2 -2
  147. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.js +59 -0
  148. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.js +66 -0
  149. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +47 -84
  150. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +3 -3
  151. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +3 -1
  152. package/esm2015/core/shared/pipes/state-i18n-token.pipe.js +2 -1
  153. package/esm2015/core/shared/shared.module.js +13 -1
  154. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +2 -2
  155. package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +6 -6
  156. package/esm2015/customer/components/customer-list/customer-list.component.js +2 -2
  157. package/esm2015/dashboard/dashboard.module.js +6 -2
  158. package/esm2015/order/components/coupon-code-selector/coupon-code-selector.component.js +42 -0
  159. package/esm2015/order/components/draft-order-detail/draft-order-detail.component.js +195 -0
  160. package/esm2015/order/components/draft-order-variant-selector/draft-order-variant-selector.component.js +59 -0
  161. package/esm2015/order/components/order-detail/order-detail.component.js +2 -2
  162. package/esm2015/order/components/order-editor/order-editor.component.js +5 -11
  163. package/esm2015/order/components/order-list/order-list.component.js +20 -4
  164. package/esm2015/order/components/order-table/order-table.component.js +16 -5
  165. package/esm2015/order/components/select-address-dialog/select-address-dialog.component.js +91 -0
  166. package/esm2015/order/components/select-address-dialog/select-address-dialog.graphql.js +14 -0
  167. package/esm2015/order/components/select-customer-dialog/select-customer-dialog.component.js +59 -0
  168. package/esm2015/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.js +30 -0
  169. package/esm2015/order/order.module.js +13 -1
  170. package/esm2015/order/order.routes.js +26 -7
  171. package/esm2015/order/providers/routing/order-resolver.js +29 -12
  172. package/esm2015/order/providers/routing/order.guard.js +41 -0
  173. package/esm2015/order/public_api.js +9 -1
  174. package/esm2015/settings/components/country-list/country-list.component.js +2 -2
  175. package/esm2015/settings/components/profile/profile.component.js +2 -2
  176. package/esm2015/settings/components/zone-list/zone-list.component.js +2 -2
  177. package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +2 -2
  178. package/esm2015/system/components/health-check/health-check.component.js +1 -1
  179. package/fesm2015/vendure-admin-ui-catalog.js +835 -61
  180. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  181. package/fesm2015/vendure-admin-ui-core.js +3122 -1514
  182. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  183. package/fesm2015/vendure-admin-ui-customer.js +7 -7
  184. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  185. package/fesm2015/vendure-admin-ui-dashboard.js +5 -1
  186. package/fesm2015/vendure-admin-ui-dashboard.js.map +1 -1
  187. package/fesm2015/vendure-admin-ui-order.js +780 -232
  188. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  189. package/fesm2015/vendure-admin-ui-settings.js +4 -4
  190. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  191. package/fesm2015/vendure-admin-ui-system.js +1 -1
  192. package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +18 -0
  193. package/order/components/draft-order-detail/draft-order-detail.component.d.ts +49 -0
  194. package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +21 -0
  195. package/order/components/order-editor/order-editor.component.d.ts +1 -6
  196. package/order/components/order-list/order-list.component.d.ts +1 -0
  197. package/order/components/order-table/order-table.component.d.ts +11 -2
  198. package/order/components/select-address-dialog/select-address-dialog.component.d.ts +24 -0
  199. package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
  200. package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +22 -0
  201. package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +16 -0
  202. package/order/providers/routing/order-resolver.d.ts +8 -5
  203. package/order/providers/routing/order.guard.d.ts +9 -0
  204. package/order/public_api.d.ts +8 -0
  205. package/order/vendure-admin-ui-order.metadata.json +1 -1
  206. package/package.json +13 -12
  207. package/settings/components/zone-member-list/zone-member-list.component.d.ts +3 -1
  208. package/settings/vendure-admin-ui-settings.metadata.json +1 -1
  209. package/static/i18n-messages/cs.json +33 -0
  210. package/static/i18n-messages/de.json +33 -0
  211. package/static/i18n-messages/en.json +36 -4
  212. package/static/i18n-messages/es.json +33 -0
  213. package/static/i18n-messages/fr.json +33 -0
  214. package/static/i18n-messages/it.json +33 -0
  215. package/static/i18n-messages/pl.json +33 -0
  216. package/static/i18n-messages/pt_BR.json +33 -0
  217. package/static/i18n-messages/pt_PT.json +33 -0
  218. package/static/i18n-messages/ru.json +33 -0
  219. package/static/i18n-messages/uk.json +33 -0
  220. package/static/i18n-messages/zh_Hans.json +33 -0
  221. package/static/i18n-messages/zh_Hant.json +33 -0
  222. package/static/styles/global/_forms.scss +4 -2
  223. package/static/styles/global/_overrides.scss +1 -1
  224. package/static/styles/global/_utilities.scss +4 -0
  225. package/static/theme.min.css +1 -1
  226. package/system/vendure-admin-ui-system.metadata.json +1 -1
  227. package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
  228. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/images.js +0 -36
@@ -0,0 +1,147 @@
1
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
2
+ import { currentChannelIsNotDefault, DataService, DeletionResult, getChannelCodeFromUserStatus, isMultiChannel, ModalService, NotificationService, Permission, } from '@vendure/admin-ui/core';
3
+ import { unique } from '@vendure/common/lib/unique';
4
+ import { EMPTY, from, of } from 'rxjs';
5
+ import { mapTo, switchMap } from 'rxjs/operators';
6
+ import { AssignToChannelDialogComponent } from '../assign-to-channel-dialog/assign-to-channel-dialog.component';
7
+ const ɵ0 = userPermissions => userPermissions.includes(Permission.DeleteCollection) ||
8
+ userPermissions.includes(Permission.DeleteCatalog), ɵ1 = ({ injector, selection, hostComponent, clearSelection }) => {
9
+ const modalService = injector.get(ModalService);
10
+ const dataService = injector.get(DataService);
11
+ const notificationService = injector.get(NotificationService);
12
+ modalService
13
+ .dialog({
14
+ title: _('catalog.confirm-bulk-delete-collections'),
15
+ translationVars: {
16
+ count: selection.length,
17
+ },
18
+ buttons: [
19
+ { type: 'secondary', label: _('common.cancel') },
20
+ { type: 'danger', label: _('common.delete'), returnValue: true },
21
+ ],
22
+ })
23
+ .pipe(switchMap(response => response
24
+ ? dataService.collection.deleteCollections(unique(selection.map(c => c.id)))
25
+ : EMPTY))
26
+ .subscribe(result => {
27
+ let deleted = 0;
28
+ const errors = [];
29
+ for (const item of result.deleteCollections) {
30
+ if (item.result === DeletionResult.DELETED) {
31
+ deleted++;
32
+ }
33
+ else if (item.message) {
34
+ errors.push(item.message);
35
+ }
36
+ }
37
+ if (0 < deleted) {
38
+ notificationService.success(_('catalog.notify-bulk-delete-collections-success'), {
39
+ count: deleted,
40
+ });
41
+ }
42
+ if (0 < errors.length) {
43
+ notificationService.error(errors.join('\n'));
44
+ }
45
+ hostComponent.refresh();
46
+ clearSelection();
47
+ });
48
+ };
49
+ export const deleteCollectionsBulkAction = {
50
+ location: 'collection-list',
51
+ label: _('common.delete'),
52
+ icon: 'trash',
53
+ iconClass: 'is-danger',
54
+ requiresPermission: ɵ0,
55
+ onClick: ɵ1,
56
+ };
57
+ const ɵ2 = userPermissions => userPermissions.includes(Permission.UpdateCatalog) ||
58
+ userPermissions.includes(Permission.UpdateProduct), ɵ3 = ({ injector }) => isMultiChannel(injector.get(DataService)), ɵ4 = ({ injector, selection, hostComponent, clearSelection }) => {
59
+ const modalService = injector.get(ModalService);
60
+ const dataService = injector.get(DataService);
61
+ const notificationService = injector.get(NotificationService);
62
+ modalService
63
+ .fromComponent(AssignToChannelDialogComponent, {
64
+ size: 'md',
65
+ locals: {},
66
+ })
67
+ .pipe(switchMap(result => {
68
+ if (result) {
69
+ return dataService.collection
70
+ .assignCollectionsToChannel({
71
+ collectionIds: selection.map(c => c.id),
72
+ channelId: result.id,
73
+ })
74
+ .pipe(mapTo(result));
75
+ }
76
+ else {
77
+ return EMPTY;
78
+ }
79
+ }))
80
+ .subscribe(result => {
81
+ notificationService.success(_('catalog.assign-collections-to-channel-success'), {
82
+ count: selection.length,
83
+ channelCode: result.code,
84
+ });
85
+ clearSelection();
86
+ });
87
+ };
88
+ export const assignCollectionsToChannelBulkAction = {
89
+ location: 'collection-list',
90
+ label: _('catalog.assign-to-channel'),
91
+ icon: 'layers',
92
+ requiresPermission: ɵ2,
93
+ isVisible: ɵ3,
94
+ onClick: ɵ4,
95
+ };
96
+ const ɵ5 = userPermissions => userPermissions.includes(Permission.UpdateChannel) ||
97
+ userPermissions.includes(Permission.UpdateProduct), ɵ6 = ({ injector }) => getChannelCodeFromUserStatus(injector.get(DataService)), ɵ7 = ({ injector }) => currentChannelIsNotDefault(injector.get(DataService)), ɵ8 = ({ injector, selection, hostComponent, clearSelection }) => {
98
+ const modalService = injector.get(ModalService);
99
+ const dataService = injector.get(DataService);
100
+ const notificationService = injector.get(NotificationService);
101
+ const activeChannelId$ = dataService.client
102
+ .userStatus()
103
+ .mapSingle(({ userStatus }) => userStatus.activeChannelId);
104
+ from(getChannelCodeFromUserStatus(injector.get(DataService)))
105
+ .pipe(switchMap(({ channelCode }) => modalService.dialog({
106
+ title: _('catalog.remove-from-channel'),
107
+ translationVars: {
108
+ channelCode,
109
+ },
110
+ buttons: [
111
+ { type: 'secondary', label: _('common.cancel') },
112
+ {
113
+ type: 'danger',
114
+ label: _('common.remove'),
115
+ returnValue: true,
116
+ },
117
+ ],
118
+ })), switchMap(res => res
119
+ ? activeChannelId$.pipe(switchMap(activeChannelId => activeChannelId
120
+ ? dataService.collection.removeCollectionsFromChannel({
121
+ channelId: activeChannelId,
122
+ collectionIds: selection.map(c => c.id),
123
+ })
124
+ : EMPTY), mapTo(true))
125
+ : of(false)))
126
+ .subscribe(removed => {
127
+ if (removed) {
128
+ clearSelection();
129
+ notificationService.success(_('catalog.notify-remove-collections-from-channel-success'), {
130
+ count: selection.length,
131
+ });
132
+ hostComponent.refresh();
133
+ }
134
+ });
135
+ };
136
+ export const removeCollectionsFromChannelBulkAction = {
137
+ location: 'collection-list',
138
+ label: _('catalog.remove-from-channel'),
139
+ requiresPermission: ɵ5,
140
+ getTranslationVars: ɵ6,
141
+ icon: 'layers',
142
+ iconClass: 'is-warning',
143
+ isVisible: ɵ7,
144
+ onClick: ɵ8,
145
+ };
146
+ export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8 };
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1saXN0LWJ1bGstYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY2F0YWxvZy9zcmMvY29tcG9uZW50cy9jb2xsZWN0aW9uLWxpc3QvY29sbGVjdGlvbi1saXN0LWJ1bGstYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFFSCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLGNBQWMsRUFDZCw0QkFBNEIsRUFDNUIsY0FBYyxFQUNkLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsVUFBVSxHQUNiLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO1dBVXhGLGVBQWUsQ0FBQyxFQUFFLENBQ2xDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO0lBQ3JELGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUM3QyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRTtJQUNoRSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQge1xyXG4gICAgQnVsa0FjdGlvbixcclxuICAgIGN1cnJlbnRDaGFubmVsSXNOb3REZWZhdWx0LFxyXG4gICAgRGF0YVNlcnZpY2UsXHJcbiAgICBEZWxldGlvblJlc3VsdCxcclxuICAgIGdldENoYW5uZWxDb2RlRnJvbVVzZXJTdGF0dXMsXHJcbiAgICBpc011bHRpQ2hhbm5lbCxcclxuICAgIE1vZGFsU2VydmljZSxcclxuICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBQZXJtaXNzaW9uLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyB1bmlxdWUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3VuaXF1ZSc7XHJcbmltcG9ydCB7IEVNUFRZLCBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXBUbywgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQXNzaWduVG9DaGFubmVsRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nL2Fzc2lnbi10by1jaGFubmVsLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uUGFydGlhbCB9IGZyb20gJy4uL2NvbGxlY3Rpb24tdHJlZS9jb2xsZWN0aW9uLXRyZWUuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IENvbGxlY3Rpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjb25zdCBkZWxldGVDb2xsZWN0aW9uc0J1bGtBY3Rpb246IEJ1bGtBY3Rpb248Q29sbGVjdGlvblBhcnRpYWwsIENvbGxlY3Rpb25MaXN0Q29tcG9uZW50PiA9IHtcclxuICAgIGxvY2F0aW9uOiAnY29sbGVjdGlvbi1saXN0JyxcclxuICAgIGxhYmVsOiBfKCdjb21tb24uZGVsZXRlJyksXHJcbiAgICBpY29uOiAndHJhc2gnLFxyXG4gICAgaWNvbkNsYXNzOiAnaXMtZGFuZ2VyJyxcclxuICAgIHJlcXVpcmVzUGVybWlzc2lvbjogdXNlclBlcm1pc3Npb25zID0+XHJcbiAgICAgICAgdXNlclBlcm1pc3Npb25zLmluY2x1ZGVzKFBlcm1pc3Npb24uRGVsZXRlQ29sbGVjdGlvbikgfHxcclxuICAgICAgICB1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMoUGVybWlzc2lvbi5EZWxldGVDYXRhbG9nKSxcclxuICAgIG9uQ2xpY2s6ICh7IGluamVjdG9yLCBzZWxlY3Rpb24sIGhvc3RDb21wb25lbnQsIGNsZWFyU2VsZWN0aW9uIH0pID0+IHtcclxuICAgICAgICBjb25zdCBtb2RhbFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoTW9kYWxTZXJ2aWNlKTtcclxuICAgICAgICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChEYXRhU2VydmljZSk7XHJcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uU2VydmljZSA9IGluamVjdG9yLmdldChOb3RpZmljYXRpb25TZXJ2aWNlKTtcclxuXHJcbiAgICAgICAgbW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5kaWFsb2coe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IF8oJ2NhdGFsb2cuY29uZmlybS1idWxrLWRlbGV0ZS1jb2xsZWN0aW9ucycpLFxyXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25WYXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY291bnQ6IHNlbGVjdGlvbi5sZW5ndGgsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ3NlY29uZGFyeScsIGxhYmVsOiBfKCdjb21tb24uY2FuY2VsJykgfSxcclxuICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdkYW5nZXInLCBsYWJlbDogXygnY29tbW9uLmRlbGV0ZScpLCByZXR1cm5WYWx1ZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocmVzcG9uc2UgPT5cclxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGRhdGFTZXJ2aWNlLmNvbGxlY3Rpb24uZGVsZXRlQ29sbGVjdGlvbnModW5pcXVlKHNlbGVjdGlvbi5tYXAoYyA9PiBjLmlkKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogRU1QVFksXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBkZWxldGVkID0gMDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiByZXN1bHQuZGVsZXRlQ29sbGVjdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5yZXN1bHQgPT09IERlbGV0aW9uUmVzdWx0LkRFTEVURUQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlZCsrO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKGl0ZW0ubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKDAgPCBkZWxldGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKF8oJ2NhdGFsb2cubm90aWZ5LWJ1bGstZGVsZXRlLWNvbGxlY3Rpb25zLXN1Y2Nlc3MnKSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogZGVsZXRlZCxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICgwIDwgZXJyb3JzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoZXJyb3JzLmpvaW4oJ1xcbicpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGhvc3RDb21wb25lbnQucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICAgICAgY2xlYXJTZWxlY3Rpb24oKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsQnVsa0FjdGlvbjogQnVsa0FjdGlvbjxDb2xsZWN0aW9uUGFydGlhbCwgQ29sbGVjdGlvbkxpc3RDb21wb25lbnQ+ID0ge1xyXG4gICAgbG9jYXRpb246ICdjb2xsZWN0aW9uLWxpc3QnLFxyXG4gICAgbGFiZWw6IF8oJ2NhdGFsb2cuYXNzaWduLXRvLWNoYW5uZWwnKSxcclxuICAgIGljb246ICdsYXllcnMnLFxyXG4gICAgcmVxdWlyZXNQZXJtaXNzaW9uOiB1c2VyUGVybWlzc2lvbnMgPT5cclxuICAgICAgICB1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMoUGVybWlzc2lvbi5VcGRhdGVDYXRhbG9nKSB8fFxyXG4gICAgICAgIHVzZXJQZXJtaXNzaW9ucy5pbmNsdWRlcyhQZXJtaXNzaW9uLlVwZGF0ZVByb2R1Y3QpLFxyXG4gICAgaXNWaXNpYmxlOiAoeyBpbmplY3RvciB9KSA9PiBpc011bHRpQ2hhbm5lbChpbmplY3Rvci5nZXQoRGF0YVNlcnZpY2UpKSxcclxuICAgIG9uQ2xpY2s6ICh7IGluamVjdG9yLCBzZWxlY3Rpb24sIGhvc3RDb21wb25lbnQsIGNsZWFyU2VsZWN0aW9uIH0pID0+IHtcclxuICAgICAgICBjb25zdCBtb2RhbFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoTW9kYWxTZXJ2aWNlKTtcclxuICAgICAgICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChEYXRhU2VydmljZSk7XHJcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uU2VydmljZSA9IGluamVjdG9yLmdldChOb3RpZmljYXRpb25TZXJ2aWNlKTtcclxuICAgICAgICBtb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgLmZyb21Db21wb25lbnQoQXNzaWduVG9DaGFubmVsRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAnbWQnLFxyXG4gICAgICAgICAgICAgICAgbG9jYWxzOiB7fSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhU2VydmljZS5jb2xsZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWwoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JZHM6IHNlbGVjdGlvbi5tYXAoYyA9PiBjLmlkKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsSWQ6IHJlc3VsdC5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXBUbyhyZXN1bHQpKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKF8oJ2NhdGFsb2cuYXNzaWduLWNvbGxlY3Rpb25zLXRvLWNoYW5uZWwtc3VjY2VzcycpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY291bnQ6IHNlbGVjdGlvbi5sZW5ndGgsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbm5lbENvZGU6IHJlc3VsdC5jb2RlLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBjbGVhclNlbGVjdGlvbigpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb246IEJ1bGtBY3Rpb248Q29sbGVjdGlvblBhcnRpYWwsIENvbGxlY3Rpb25MaXN0Q29tcG9uZW50PiA9XHJcbiAgICB7XHJcbiAgICAgICAgbG9jYXRpb246ICdjb2xsZWN0aW9uLWxpc3QnLFxyXG4gICAgICAgIGxhYmVsOiBfKCdjYXRhbG9nLnJlbW92ZS1mcm9tLWNoYW5uZWwnKSxcclxuICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IHVzZXJQZXJtaXNzaW9ucyA9PlxyXG4gICAgICAgICAgICB1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMoUGVybWlzc2lvbi5VcGRhdGVDaGFubmVsKSB8fFxyXG4gICAgICAgICAgICB1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMoUGVybWlzc2lvbi5VcGRhdGVQcm9kdWN0KSxcclxuICAgICAgICBnZXRUcmFuc2xhdGlvblZhcnM6ICh7IGluamVjdG9yIH0pID0+IGdldENoYW5uZWxDb2RlRnJvbVVzZXJTdGF0dXMoaW5qZWN0b3IuZ2V0KERhdGFTZXJ2aWNlKSksXHJcbiAgICAgICAgaWNvbjogJ2xheWVycycsXHJcbiAgICAgICAgaWNvbkNsYXNzOiAnaXMtd2FybmluZycsXHJcbiAgICAgICAgaXNWaXNpYmxlOiAoeyBpbmplY3RvciB9KSA9PiBjdXJyZW50Q2hhbm5lbElzTm90RGVmYXVsdChpbmplY3Rvci5nZXQoRGF0YVNlcnZpY2UpKSxcclxuICAgICAgICBvbkNsaWNrOiAoeyBpbmplY3Rvciwgc2VsZWN0aW9uLCBob3N0Q29tcG9uZW50LCBjbGVhclNlbGVjdGlvbiB9KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vZGFsU2VydmljZSA9IGluamVjdG9yLmdldChNb2RhbFNlcnZpY2UpO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChEYXRhU2VydmljZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoTm90aWZpY2F0aW9uU2VydmljZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWxJZCQgPSBkYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgICAgIC51c2VyU3RhdHVzKClcclxuICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUoKHsgdXNlclN0YXR1cyB9KSA9PiB1c2VyU3RhdHVzLmFjdGl2ZUNoYW5uZWxJZCk7XHJcblxyXG4gICAgICAgICAgICBmcm9tKGdldENoYW5uZWxDb2RlRnJvbVVzZXJTdGF0dXMoaW5qZWN0b3IuZ2V0KERhdGFTZXJ2aWNlKSkpXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgY2hhbm5lbENvZGUgfSkgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kYWxTZXJ2aWNlLmRpYWxvZyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXygnY2F0YWxvZy5yZW1vdmUtZnJvbS1jaGFubmVsJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvblZhcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsQ29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25zOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAnc2Vjb25kYXJ5JywgbGFiZWw6IF8oJ2NvbW1vbi5jYW5jZWwnKSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2RhbmdlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCdjb21tb24ucmVtb3ZlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblZhbHVlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXMgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGFjdGl2ZUNoYW5uZWxJZCQucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChhY3RpdmVDaGFubmVsSWQgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDaGFubmVsSWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkYXRhU2VydmljZS5jb2xsZWN0aW9uLnJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWwoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsSWQ6IGFjdGl2ZUNoYW5uZWxJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbklkczogc2VsZWN0aW9uLm1hcChjID0+IGMuaWQpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogRU1QVFksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVG8odHJ1ZSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogb2YoZmFsc2UpLFxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlbW92ZWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZW1vdmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oJ2NhdGFsb2cubm90aWZ5LXJlbW92ZS1jb2xsZWN0aW9ucy1mcm9tLWNoYW5uZWwtc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50OiBzZWxlY3Rpb24ubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaG9zdENvbXBvbmVudC5yZWZyZXNoKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgIH07XHJcbiJdfQ==
@@ -1,27 +1,35 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
3
  import { ActivatedRoute, Router } from '@angular/router';
4
4
  import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
5
- import { DataService, ModalService, NotificationService, ServerConfigService, } from '@vendure/admin-ui/core';
5
+ import { DataService, ModalService, NotificationService, SelectionManager, ServerConfigService, } from '@vendure/admin-ui/core';
6
6
  import { combineLatest, EMPTY, Subject } from 'rxjs';
7
7
  import { debounceTime, distinctUntilChanged, map, shareReplay, switchMap, take, takeUntil, tap, } from 'rxjs/operators';
8
8
  export class CollectionListComponent {
9
- constructor(dataService, notificationService, modalService, router, route, serverConfigService) {
9
+ constructor(dataService, notificationService, modalService, router, route, serverConfigService, changeDetectorRef) {
10
10
  this.dataService = dataService;
11
11
  this.notificationService = notificationService;
12
12
  this.modalService = modalService;
13
13
  this.router = router;
14
14
  this.route = route;
15
15
  this.serverConfigService = serverConfigService;
16
+ this.changeDetectorRef = changeDetectorRef;
16
17
  this.filterTermControl = new FormControl('');
17
18
  this.expandAll = false;
18
19
  this.expandedIds = [];
19
20
  this.destroy$ = new Subject();
21
+ this.selectionManager = new SelectionManager({
22
+ additiveMode: true,
23
+ multiSelect: true,
24
+ itemsAreEqual: (a, b) => a.id === b.id,
25
+ });
20
26
  }
21
27
  ngOnInit() {
22
28
  var _a, _b;
23
29
  this.queryResult = this.dataService.collection.getCollections(1000, 0).refetchOnChannelChange();
24
- this.items$ = this.queryResult.mapStream(data => data.collections.items).pipe(shareReplay(1));
30
+ this.items$ = this.queryResult
31
+ .mapStream(data => data.collections.items)
32
+ .pipe(tap(items => this.selectionManager.setCurrentItems(items)), shareReplay(1));
25
33
  this.activeCollectionId$ = this.route.paramMap.pipe(map(pm => pm.get('contents')), distinctUntilChanged());
26
34
  this.expandedIds = (_b = (_a = this.route.snapshot.queryParamMap.get('expanded')) === null || _a === void 0 ? void 0 : _a.split(',')) !== null && _b !== void 0 ? _b : [];
27
35
  this.expandAll = this.route.snapshot.queryParamMap.get('expanded') === 'all';
@@ -129,9 +137,9 @@ export class CollectionListComponent {
129
137
  CollectionListComponent.decorators = [
130
138
  { type: Component, args: [{
131
139
  selector: 'vdr-collection-list',
132
- template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"flex center wrap\">\r\n <vdr-language-selector\r\n class=\"mt2\"\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n <clr-checkbox-wrapper\r\n class=\"expand-all-toggle ml3\"\r\n [ngClass]=\"(availableLanguages$ | async)?.length === 1 ? 'mt3' : 'mt1'\"\r\n >\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"expandAll\" (change)=\"toggleExpandAll()\"/>\r\n <label>{{ 'catalog.expand-all-collections' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <input\r\n type='text'\r\n name='searchTerm'\r\n [formControl]='filterTermControl'\r\n [placeholder]=\"'catalog.filter-by-name' | translate\"\r\n class='clr-input search-input ml4'\r\n />\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"collection-list\"></vdr-action-bar-items>\r\n <a\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"['CreateCatalog', 'CreateCollection']\"\r\n [routerLink]=\"['./create']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'catalog.create-new-collection' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n<div class=\"collection-wrapper\">\r\n <vdr-collection-tree\r\n [collections]=\"items$ | async\"\r\n [activeCollectionId]=\"activeCollectionId$ | async\"\r\n [expandAll]=\"expandAll\"\r\n [expandedIds]=\"expandedIds\"\r\n (rearrange)=\"onRearrange($event)\"\r\n (deleteCollection)=\"deleteCollection($event)\"\r\n ></vdr-collection-tree>\r\n\r\n <div class=\"collection-contents\" [class.expanded]=\"activeCollectionId$ | async\">\r\n <vdr-collection-contents [collectionId]=\"activeCollectionId$ | async\">\r\n <ng-template let-count>\r\n <div class=\"collection-title\">\r\n {{ activeCollectionTitle$ | async }} ({{\r\n 'common.results-count' | translate: { count: count }\r\n }})\r\n </div>\r\n <button type=\"button\" class=\"close-button\" (click)=\"closeContents()\">\r\n <clr-icon shape=\"close\"></clr-icon>\r\n </button>\r\n </ng-template>\r\n </vdr-collection-contents>\r\n </div>\r\n</div>\r\n",
140
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"\">\r\n <input\r\n type=\"text\"\r\n name=\"searchTerm\"\r\n [formControl]=\"filterTermControl\"\r\n [placeholder]=\"'catalog.filter-by-name' | translate\"\r\n class=\"clr-input search-input\"\r\n />\r\n <div class=\"flex center\">\r\n <clr-toggle-wrapper\r\n class=\"expand-all-toggle mt2\"\r\n >\r\n <input type=\"checkbox\" clrToggle [(ngModel)]=\"expandAll\" (change)=\"toggleExpandAll()\" />\r\n <label>\r\n {{ 'catalog.expand-all-collections' | translate }}\r\n </label>\r\n </clr-toggle-wrapper>\r\n <vdr-language-selector\r\n class=\"mt2\"\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </div>\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"collection-list\"></vdr-action-bar-items>\r\n <a\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"['CreateCatalog', 'CreateCollection']\"\r\n [routerLink]=\"['./create']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'catalog.create-new-collection' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n<div class=\"bulk-select-controls\">\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [checked]=\"selectionManager.areAllCurrentItemsSelected()\"\r\n (click)=\"selectionManager.toggleSelectAll()\"\r\n />\r\n <vdr-bulk-action-menu\r\n class=\"ml2\"\r\n locationId=\"collection-list\"\r\n [hostComponent]=\"this\"\r\n [selectionManager]=\"selectionManager\"\r\n ></vdr-bulk-action-menu>\r\n</div>\r\n<div class=\"collection-wrapper\">\r\n <vdr-collection-tree\r\n [collections]=\"items$ | async\"\r\n [activeCollectionId]=\"activeCollectionId$ | async\"\r\n [expandAll]=\"expandAll\"\r\n [expandedIds]=\"expandedIds\"\r\n [selectionManager]=\"selectionManager\"\r\n (rearrange)=\"onRearrange($event)\"\r\n (deleteCollection)=\"deleteCollection($event)\"\r\n ></vdr-collection-tree>\r\n\r\n <div class=\"collection-contents\" [class.expanded]=\"activeCollectionId$ | async\">\r\n <vdr-collection-contents [collectionId]=\"activeCollectionId$ | async\">\r\n <ng-template let-count>\r\n <div class=\"collection-title\">\r\n {{ activeCollectionTitle$ | async }} ({{\r\n 'common.results-count' | translate: { count: count }\r\n }})\r\n </div>\r\n <button type=\"button\" class=\"close-button\" (click)=\"closeContents()\">\r\n <clr-icon shape=\"close\"></clr-icon>\r\n </button>\r\n </ng-template>\r\n </vdr-collection-contents>\r\n </div>\r\n</div>\r\n",
133
141
  changeDetection: ChangeDetectionStrategy.OnPush,
134
- styles: [":host{height:100%;display:flex;flex-direction:column}.expand-all-toggle{display:block}.collection-wrapper{display:flex;height:calc(100% - 50px)}.collection-wrapper vdr-collection-tree{flex:1;height:100%;overflow:auto}.collection-wrapper .collection-contents{height:100%;width:0;opacity:0;visibility:hidden;overflow:auto;transition:width .3s,opacity .2s .3s,visibility 0s .3s}.collection-wrapper .collection-contents.expanded{width:30vw;visibility:visible;opacity:1;padding-left:12px}.collection-wrapper .collection-contents .close-button{margin:0;background:none;border:none;cursor:pointer}.paging-controls{padding-top:6px;border-top:1px solid var(--color-component-border-100);display:flex;justify-content:space-between}\n"]
142
+ styles: [":host{height:100%;display:flex;flex-direction:column}.bulk-select-controls{min-height:36px;padding-left:14px;display:flex;align-items:center;border-bottom:1px solid var(--color-component-border-200)}.expand-all-toggle{display:block}.collection-wrapper{display:flex;height:calc(100% - 50px)}.collection-wrapper vdr-collection-tree{flex:1;height:100%;overflow:auto}.collection-wrapper .collection-contents{height:100%;width:0;opacity:0;visibility:hidden;overflow:auto;transition:width .3s,opacity .2s .3s,visibility 0s .3s}.collection-wrapper .collection-contents.expanded{width:30vw;visibility:visible;opacity:1;padding-left:12px}.collection-wrapper .collection-contents .close-button{margin:0;background:none;border:none;cursor:pointer}.paging-controls{padding-top:6px;border-top:1px solid var(--color-component-border-100);display:flex;justify-content:space-between}\n"]
135
143
  },] }
136
144
  ];
137
145
  CollectionListComponent.ctorParameters = () => [
@@ -140,6 +148,7 @@ CollectionListComponent.ctorParameters = () => [
140
148
  { type: ModalService },
141
149
  { type: Router },
142
150
  { type: ActivatedRoute },
143
- { type: ServerConfigService }
151
+ { type: ServerConfigService },
152
+ { type: ChangeDetectorRef }
144
153
  ];
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY2F0YWxvZy9zcmMvY29tcG9uZW50cy9jb2xsZWN0aW9uLWxpc3QvY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFDSCxXQUFXLEVBR1gsWUFBWSxFQUNaLG1CQUFtQixFQUVuQixtQkFBbUIsR0FDdEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUNILFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxHQUFHLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQztBQVV4QixNQUFNLE9BQU8sdUJBQXVCO0lBWWhDLFlBQ1ksV0FBd0IsRUFDeEIsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxLQUFxQixFQUNyQixtQkFBd0M7UUFMeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWpCcEQsc0JBQWlCLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFNeEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUVuQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVNwQyxDQUFDO0lBRUosUUFBUTs7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUM3QixvQkFBb0IsRUFBRSxDQUN6QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFBLE1BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsMENBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxFQUFFLENBQUM7UUFDdkYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssQ0FBQztRQUU3RSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNuRixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQ3RCLElBQUksRUFBRSxFQUFFO2dCQUNKLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ2xDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzVFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07YUFDMUMsT0FBTyxFQUFFO2FBQ1QsU0FBUyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQzthQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVk7YUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2pELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3pCLFdBQVcsRUFBRTtvQkFDVCxDQUFDLEVBQUUsSUFBSSxJQUFJLFNBQVM7aUJBQ3ZCO2dCQUNELG1CQUFtQixFQUFFLE9BQU87Z0JBQzVCLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSzthQUN6QixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTthQUNuQixJQUFJLENBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUN4QixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLFdBQVcsRUFBRTtnQkFDVCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQy9DO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztZQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDekIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFxQjtRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxRCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDO1lBQzFFLENBQUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBVTtRQUN2QixJQUFJLENBQUMsTUFBTTthQUNOLElBQUksQ0FDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFDdkUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQzVCLEtBQUssRUFBRSxDQUFDLENBQUMsbUNBQW1DLENBQUM7Z0JBQzdDLElBQUksRUFBRSxXQUFXO29CQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMscURBQXFELENBQUM7b0JBQzFELENBQUMsQ0FBQyxTQUFTO2dCQUNmLE9BQU8sRUFBRTtvQkFDTCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRTtvQkFDaEQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtpQkFDbkU7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQy9GO2FBQ0EsU0FBUyxDQUNOLEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLEVBQUU7Z0JBQ2hFLE1BQU0sRUFBRSxZQUFZO2FBQ3ZCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLEVBQ0QsR0FBRyxDQUFDLEVBQUU7WUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFO2dCQUM1RCxNQUFNLEVBQUUsWUFBWTthQUN2QixDQUFDLENBQUM7UUFDUCxDQUFDLENBQ0osQ0FBQztJQUNWLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxNQUFNLHFCQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBRSxDQUFDO1FBQ2pELE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFrQjtRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRU8sT0FBTztRQUNYLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQ3pCLE9BQU8sa0JBQ0gsSUFBSSxFQUFFLENBQUMsRUFDUCxJQUFJLEVBQUUsSUFBSSxJQUNQLENBQUMsVUFBVTtnQkFDVixDQUFDLENBQUM7b0JBQ0ksTUFBTSxFQUFFO3dCQUNKLElBQUksRUFBRTs0QkFDRixRQUFRLEVBQUUsVUFBVTt5QkFDdkI7cUJBQ0o7aUJBQ0o7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNaO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBbktKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQiwwdUZBQStDO2dCQUUvQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQTNCRyxXQUFXO1lBSVgsbUJBQW1CO1lBRG5CLFlBQVk7WUFOUyxNQUFNO1lBQXRCLGNBQWM7WUFTbkIsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBEYXRhU2VydmljZSxcclxuICAgIEdldENvbGxlY3Rpb25MaXN0LFxyXG4gICAgTGFuZ3VhZ2VDb2RlLFxyXG4gICAgTW9kYWxTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIFF1ZXJ5UmVzdWx0LFxyXG4gICAgU2VydmVyQ29uZmlnU2VydmljZSxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICAgIGRlYm91bmNlVGltZSxcclxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxyXG4gICAgbWFwLFxyXG4gICAgc2hhcmVSZXBsYXksXHJcbiAgICBzd2l0Y2hNYXAsXHJcbiAgICB0YWtlLFxyXG4gICAgdGFrZVVudGlsLFxyXG4gICAgdGFwLFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFJlYXJyYW5nZUV2ZW50IH0gZnJvbSAnLi4vY29sbGVjdGlvbi10cmVlL2NvbGxlY3Rpb24tdHJlZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jb2xsZWN0aW9uLWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbkxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBmaWx0ZXJUZXJtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XHJcbiAgICBhY3RpdmVDb2xsZWN0aW9uSWQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+O1xyXG4gICAgYWN0aXZlQ29sbGVjdGlvblRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgaXRlbXMkOiBPYnNlcnZhYmxlPEdldENvbGxlY3Rpb25MaXN0Lkl0ZW1zW10+O1xyXG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUNvZGVbXT47XHJcbiAgICBjb250ZW50TGFuZ3VhZ2UkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZT47XHJcbiAgICBleHBhbmRBbGwgPSBmYWxzZTtcclxuICAgIGV4cGFuZGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBxdWVyeVJlc3VsdDogUXVlcnlSZXN1bHQ8YW55PjtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBzZXJ2ZXJDb25maWdTZXJ2aWNlOiBTZXJ2ZXJDb25maWdTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucXVlcnlSZXN1bHQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNvbGxlY3Rpb24uZ2V0Q29sbGVjdGlvbnMoMTAwMCwgMCkucmVmZXRjaE9uQ2hhbm5lbENoYW5nZSgpO1xyXG4gICAgICAgIHRoaXMuaXRlbXMkID0gdGhpcy5xdWVyeVJlc3VsdC5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLmNvbGxlY3Rpb25zLml0ZW1zKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcclxuICAgICAgICB0aGlzLmFjdGl2ZUNvbGxlY3Rpb25JZCQgPSB0aGlzLnJvdXRlLnBhcmFtTWFwLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChwbSA9PiBwbS5nZXQoJ2NvbnRlbnRzJykpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZElkcyA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2V4cGFuZGVkJyk/LnNwbGl0KCcsJykgPz8gW107XHJcbiAgICAgICAgdGhpcy5leHBhbmRBbGwgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdleHBhbmRlZCcpID09PSAnYWxsJztcclxuXHJcbiAgICAgICAgdGhpcy5hY3RpdmVDb2xsZWN0aW9uVGl0bGUkID0gY29tYmluZUxhdGVzdCh0aGlzLmFjdGl2ZUNvbGxlY3Rpb25JZCQsIHRoaXMuaXRlbXMkKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFtpZCwgY29sbGVjdGlvbnNdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IGNvbGxlY3Rpb25zLmZpbmQoYyA9PiBjLmlkID09PSBpZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoID8gbWF0Y2gubmFtZSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzJCA9IHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRBdmFpbGFibGVMYW5ndWFnZXMoKTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRMYW5ndWFnZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAudWlTdGF0ZSgpXHJcbiAgICAgICAgICAgIC5tYXBTdHJlYW0oKHsgdWlTdGF0ZSB9KSA9PiB1aVN0YXRlLmNvbnRlbnRMYW5ndWFnZSlcclxuICAgICAgICAgICAgLnBpcGUodGFwKCgpID0+IHRoaXMucmVmcmVzaCgpKSk7XHJcblxyXG4gICAgICAgIHRoaXMuZmlsdGVyVGVybUNvbnRyb2wudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgyNTApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGVybSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtcclxuICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBxOiB0ZXJtIHx8IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKHFwbSA9PiBxcG0uZ2V0KCdxJykpLFxyXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcclxuICAgICAgICB0aGlzLmZpbHRlclRlcm1Db250cm9sLnBhdGNoVmFsdWUodGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgncScpKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLnF1ZXJ5UmVzdWx0LmNvbXBsZXRlZCQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVFeHBhbmRBbGwoKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLyddLCB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICBleHBhbmRlZDogdGhpcy5leHBhbmRBbGwgPyAnYWxsJyA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcclxuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvblJlYXJyYW5nZShldmVudDogUmVhcnJhbmdlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNvbGxlY3Rpb24ubW92ZUNvbGxlY3Rpb24oW2V2ZW50XSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnY29tbW9uLm5vdGlmeS1zYXZlZC1jaGFuZ2VzJykpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKF8oJ2NvbW1vbi5ub3RpZnktc2F2ZS1jaGFuZ2VzLWVycm9yJykpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZUNvbGxlY3Rpb24oaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuaXRlbXMkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgICAgIG1hcChpdGVtcyA9PiAtMSA8IGl0ZW1zLmZpbmRJbmRleChpID0+IGkucGFyZW50ICYmIGkucGFyZW50LmlkID09PSBpZCkpLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGhhc0NoaWxkcmVuID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tb2RhbFNlcnZpY2UuZGlhbG9nKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IF8oJ2NhdGFsb2cuY29uZmlybS1kZWxldGUtY29sbGVjdGlvbicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5OiBoYXNDaGlsZHJlblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfKCdjYXRhbG9nLmNvbmZpcm0tZGVsZXRlLWNvbGxlY3Rpb24tYW5kLWNoaWxkcmVuLWJvZHknKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ3NlY29uZGFyeScsIGxhYmVsOiBfKCdjb21tb24uY2FuY2VsJykgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ2RhbmdlcicsIGxhYmVsOiBfKCdjb21tb24uZGVsZXRlJyksIHJldHVyblZhbHVlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UgPyB0aGlzLmRhdGFTZXJ2aWNlLmNvbGxlY3Rpb24uZGVsZXRlQ29sbGVjdGlvbihpZCkgOiBFTVBUWSkpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnY29tbW9uLm5vdGlmeS1kZWxldGUtc3VjY2VzcycpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ0NvbGxlY3Rpb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKF8oJ2NvbW1vbi5ub3RpZnktZGVsZXRlLWVycm9yJyksIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiAnQ29sbGVjdGlvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlQ29udGVudHMoKSB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi50aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcyB9O1xyXG4gICAgICAgIGRlbGV0ZSBwYXJhbXMuY29udGVudHM7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLycsIHBhcmFtc10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ3ByZXNlcnZlJyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMYW5ndWFnZShjb2RlOiBMYW5ndWFnZUNvZGUpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRDb250ZW50TGFuZ3VhZ2UoY29kZSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWZyZXNoKCkge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlclRlcm0gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdxJyk7XHJcbiAgICAgICAgdGhpcy5xdWVyeVJlc3VsdC5yZWYucmVmZXRjaCh7XHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIHNraXA6IDAsXHJcbiAgICAgICAgICAgICAgICB0YWtlOiAxMDAwLFxyXG4gICAgICAgICAgICAgICAgLi4uKGZpbHRlclRlcm1cclxuICAgICAgICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbnM6IGZpbHRlclRlcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA6IHt9KSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY2F0YWxvZy9zcmMvY29tcG9uZW50cy9jb2xsZWN0aW9uLWxpc3QvY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFDSCxXQUFXLEVBR1gsWUFBWSxFQUNaLG1CQUFtQixFQUVuQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEdBQ3RCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFDSCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLEdBQUcsRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEIsTUFBTSxPQUFPLHVCQUF1QjtJQWFoQyxZQUNZLFdBQXdCLEVBQ3hCLG1CQUF3QyxFQUN4QyxZQUEwQixFQUMxQixNQUFjLEVBQ2QsS0FBcUIsRUFDckIsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQU5wQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENB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RCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBa0I7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU87UUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUN6QixPQUFPLGtCQUNILElBQUksRUFBRSxDQUFDLEVBQ1AsSUFBSSxFQUFFLElBQUksSUFDUCxDQUFDLFVBQVU7Z0JBQ1YsQ0FBQyxDQUFDO29CQUNJLE1BQU0sRUFBRTt3QkFDSixJQUFJLEVBQUU7NEJBQ0YsUUFBUSxFQUFFLFVBQVU7eUJBQ3ZCO3FCQUNKO2lCQUNKO2dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDWjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7OztZQWhMSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsMHlHQUErQztnQkFFL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUE1QkcsV0FBVztZQUlYLG1CQUFtQjtZQURuQixZQUFZO1lBTlMsTUFBTTtZQUF0QixjQUFjO1lBVW5CLG1CQUFtQjtZQVpXLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcclxuaW1wb3J0IHtcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgR2V0Q29sbGVjdGlvbkxpc3QsXHJcbiAgICBMYW5ndWFnZUNvZGUsXHJcbiAgICBNb2RhbFNlcnZpY2UsXHJcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgUXVlcnlSZXN1bHQsXHJcbiAgICBTZWxlY3Rpb25NYW5hZ2VyLFxyXG4gICAgU2VydmVyQ29uZmlnU2VydmljZSxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICAgIGRlYm91bmNlVGltZSxcclxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxyXG4gICAgbWFwLFxyXG4gICAgc2hhcmVSZXBsYXksXHJcbiAgICBzd2l0Y2hNYXAsXHJcbiAgICB0YWtlLFxyXG4gICAgdGFrZVVudGlsLFxyXG4gICAgdGFwLFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbGxlY3Rpb25QYXJ0aWFsLCBSZWFycmFuZ2VFdmVudCB9IGZyb20gJy4uL2NvbGxlY3Rpb24tdHJlZS9jb2xsZWN0aW9uLXRyZWUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY29sbGVjdGlvbi1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgZmlsdGVyVGVybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xyXG4gICAgYWN0aXZlQ29sbGVjdGlvbklkJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcclxuICAgIGFjdGl2ZUNvbGxlY3Rpb25UaXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIGl0ZW1zJDogT2JzZXJ2YWJsZTxHZXRDb2xsZWN0aW9uTGlzdC5JdGVtc1tdPjtcclxuICAgIGF2YWlsYWJsZUxhbmd1YWdlcyQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VDb2RlW10+O1xyXG4gICAgY29udGVudExhbmd1YWdlJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUNvZGU+O1xyXG4gICAgZXhwYW5kQWxsID0gZmFsc2U7XHJcbiAgICBleHBhbmRlZElkczogc3RyaW5nW10gPSBbXTtcclxuICAgIHNlbGVjdGlvbk1hbmFnZXI6IFNlbGVjdGlvbk1hbmFnZXI8Q29sbGVjdGlvblBhcnRpYWw+O1xyXG4gICAgcHJpdmF0ZSBxdWVyeVJlc3VsdDogUXVlcnlSZXN1bHQ8YW55PjtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBzZXJ2ZXJDb25maWdTZXJ2aWNlOiBTZXJ2ZXJDb25maWdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25NYW5hZ2VyID0gbmV3IFNlbGVjdGlvbk1hbmFnZXIoe1xyXG4gICAgICAgICAgICBhZGRpdGl2ZU1vZGU6IHRydWUsXHJcbiAgICAgICAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxyXG4gICAgICAgICAgICBpdGVtc0FyZUVxdWFsOiAoYSwgYikgPT4gYS5pZCA9PT0gYi5pZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnF1ZXJ5UmVzdWx0ID0gdGhpcy5kYXRhU2VydmljZS5jb2xsZWN0aW9uLmdldENvbGxlY3Rpb25zKDEwMDAsIDApLnJlZmV0Y2hPbkNoYW5uZWxDaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLml0ZW1zJCA9IHRoaXMucXVlcnlSZXN1bHRcclxuICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEuY29sbGVjdGlvbnMuaXRlbXMpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFwKGl0ZW1zID0+IHRoaXMuc2VsZWN0aW9uTWFuYWdlci5zZXRDdXJyZW50SXRlbXMoaXRlbXMpKSxcclxuICAgICAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlQ29sbGVjdGlvbklkJCA9IHRoaXMucm91dGUucGFyYW1NYXAucGlwZShcclxuICAgICAgICAgICAgbWFwKHBtID0+IHBtLmdldCgnY29udGVudHMnKSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkSWRzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZXhwYW5kZWQnKT8uc3BsaXQoJywnKSA/PyBbXTtcclxuICAgICAgICB0aGlzLmV4cGFuZEFsbCA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2V4cGFuZGVkJykgPT09ICdhbGwnO1xyXG5cclxuICAgICAgICB0aGlzLmFjdGl2ZUNvbGxlY3Rpb25UaXRsZSQgPSBjb21iaW5lTGF0ZXN0KHRoaXMuYWN0aXZlQ29sbGVjdGlvbklkJCwgdGhpcy5pdGVtcyQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW2lkLCBjb2xsZWN0aW9uc10pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gY29sbGVjdGlvbnMuZmluZChjID0+IGMuaWQgPT09IGlkKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaC5uYW1lIDogJyc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMkID0gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEF2YWlsYWJsZUxhbmd1YWdlcygpO1xyXG4gICAgICAgIHRoaXMuY29udGVudExhbmd1YWdlJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLm1hcFN0cmVhbSgoeyB1aVN0YXRlIH0pID0+IHVpU3RhdGUuY29udGVudExhbmd1YWdlKVxyXG4gICAgICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5yZWZyZXNoKCkpKTtcclxuXHJcbiAgICAgICAgdGhpcy5maWx0ZXJUZXJtQ29udHJvbC52YWx1ZUNoYW5nZXNcclxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDI1MCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSh0ZXJtID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nXSwge1xyXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHE6IHRlcm0gfHwgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcclxuICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXBcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAocXBtID0+IHFwbS5nZXQoJ3EnKSksXHJcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoKCkpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyVGVybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdxJykpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMucXVlcnlSZXN1bHQuY29tcGxldGVkJC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUV4cGFuZEFsbCgpIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgIGV4cGFuZGVkOiB0aGlzLmV4cGFuZEFsbCA/ICdhbGwnIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uUmVhcnJhbmdlKGV2ZW50OiBSZWFycmFuZ2VFdmVudCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY29sbGVjdGlvbi5tb3ZlQ29sbGVjdGlvbihbZXZlbnRdKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhfKCdjb21tb24ubm90aWZ5LXNhdmVkLWNoYW5nZXMnKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnY29tbW9uLm5vdGlmeS1zYXZlLWNoYW5nZXMtZXJyb3InKSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlQ29sbGVjdGlvbihpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5pdGVtcyRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgbWFwKGl0ZW1zID0+IC0xIDwgaXRlbXMuZmluZEluZGV4KGkgPT4gaS5wYXJlbnQgJiYgaS5wYXJlbnQuaWQgPT09IGlkKSksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoaGFzQ2hpbGRyZW4gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1vZGFsU2VydmljZS5kaWFsb2coe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXygnY2F0YWxvZy5jb25maXJtLWRlbGV0ZS1jb2xsZWN0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IGhhc0NoaWxkcmVuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF8oJ2NhdGFsb2cuY29uZmlybS1kZWxldGUtY29sbGVjdGlvbi1hbmQtY2hpbGRyZW4tYm9keScpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAnc2Vjb25kYXJ5JywgbGFiZWw6IF8oJ2NvbW1vbi5jYW5jZWwnKSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAnZGFuZ2VyJywgbGFiZWw6IF8oJ2NvbW1vbi5kZWxldGUnKSwgcmV0dXJuVmFsdWU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHJlc3BvbnNlID0+IChyZXNwb25zZSA/IHRoaXMuZGF0YVNlcnZpY2UuY29sbGVjdGlvbi5kZWxldGVDb2xsZWN0aW9uKGlkKSA6IEVNUFRZKSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhfKCdjb21tb24ubm90aWZ5LWRlbGV0ZS1zdWNjZXNzJyksIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiAnQ29sbGVjdGlvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnY29tbW9uLm5vdGlmeS1kZWxldGUtZXJyb3InKSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHk6ICdDb2xsZWN0aW9uJyxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2VDb250ZW50cygpIHtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSB7IC4uLnRoaXMucm91dGUuc25hcHNob3QucGFyYW1zIH07XHJcbiAgICAgICAgZGVsZXRlIHBhcmFtcy5jb250ZW50cztcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJywgcGFyYW1zXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBxdWVyeVBhcmFtc0hhbmRsaW5nOiAncHJlc2VydmUnIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldExhbmd1YWdlKGNvZGU6IExhbmd1YWdlQ29kZSkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnNldENvbnRlbnRMYW5ndWFnZShjb2RlKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlclRlcm0gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdxJyk7XHJcbiAgICAgICAgdGhpcy5xdWVyeVJlc3VsdC5yZWYucmVmZXRjaCh7XHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIHNraXA6IDAsXHJcbiAgICAgICAgICAgICAgICB0YWtlOiAxMDAwLFxyXG4gICAgICAgICAgICAgICAgLi4uKGZpbHRlclRlcm1cclxuICAgICAgICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbnM6IGZpbHRlclRlcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA6IHt9KSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,16 +1,17 @@
1
1
  import { moveItemInArray } from '@angular/cdk/drag-drop';
2
- import { ChangeDetectionStrategy, Component, Input, Optional, SkipSelf, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Optional, SkipSelf, } from '@angular/core';
3
3
  import { ActivatedRoute, Router } from '@angular/router';
4
4
  import { DataService, Permission } from '@vendure/admin-ui/core';
5
5
  import { map, shareReplay } from 'rxjs/operators';
6
6
  import { CollectionTreeComponent } from './collection-tree.component';
7
7
  export class CollectionTreeNodeComponent {
8
- constructor(parent, root, dataService, router, route) {
8
+ constructor(parent, root, dataService, router, route, changeDetectorRef) {
9
9
  this.parent = parent;
10
10
  this.root = root;
11
11
  this.dataService = dataService;
12
12
  this.router = router;
13
13
  this.route = route;
14
+ this.changeDetectorRef = changeDetectorRef;
14
15
  this.depth = 0;
15
16
  this.expandAll = false;
16
17
  this.moveListItems = [];
@@ -19,6 +20,7 @@ export class CollectionTreeNodeComponent {
19
20
  }
20
21
  }
21
22
  ngOnInit() {
23
+ var _a;
22
24
  this.parentName = this.collectionTree.name || '<root>';
23
25
  const permissions$ = this.dataService.client
24
26
  .userStatus()
@@ -26,6 +28,7 @@ export class CollectionTreeNodeComponent {
26
28
  .pipe(shareReplay(1));
27
29
  this.hasUpdatePermission$ = permissions$.pipe(map(perms => perms.includes(Permission.UpdateCatalog) || perms.includes(Permission.UpdateCollection)));
28
30
  this.hasDeletePermission$ = permissions$.pipe(map(perms => perms.includes(Permission.DeleteCatalog) || perms.includes(Permission.DeleteCollection)));
31
+ this.subscription = (_a = this.selectionManager) === null || _a === void 0 ? void 0 : _a.selectionChanges$.subscribe(() => this.changeDetectorRef.markForCheck());
29
32
  }
30
33
  ngOnChanges(changes) {
31
34
  const expandAllChange = changes['expandAll'];
@@ -35,6 +38,10 @@ export class CollectionTreeNodeComponent {
35
38
  }
36
39
  }
37
40
  }
41
+ ngOnDestroy() {
42
+ var _a;
43
+ (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
44
+ }
38
45
  trackByFn(index, item) {
39
46
  return item.id;
40
47
  }
@@ -97,9 +104,9 @@ export class CollectionTreeNodeComponent {
97
104
  CollectionTreeNodeComponent.decorators = [
98
105
  { type: Component, args: [{
99
106
  selector: 'vdr-collection-tree-node',
100
- template: "<div\r\n cdkDropList\r\n class=\"tree-node\"\r\n #dropList\r\n [cdkDropListData]=\"collectionTree\"\r\n [cdkDropListDisabled]=\"!(hasUpdatePermission$ | async)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n>\r\n <div\r\n class=\"collection\"\r\n [class.private]=\"collection.isPrivate\"\r\n *ngFor=\"let collection of collectionTree.children; index as i; trackBy: trackByFn\"\r\n cdkDrag\r\n [cdkDragData]=\"collection\"\r\n >\r\n <div\r\n class=\"collection-detail\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.active]=\"collection.id === activeCollectionId\"\r\n >\r\n <div class=\"name\">\r\n <button\r\n class=\"icon-button folder-button\"\r\n [disabled]=\"expandAll\"\r\n *ngIf=\"collection.children?.length; else folderSpacer\"\r\n (click)=\"toggleExpanded(collection)\"\r\n >\r\n <clr-icon shape=\"folder\" *ngIf=\"!collection.expanded && !expandAll\"></clr-icon>\r\n <clr-icon shape=\"folder-open\" *ngIf=\"collection.expanded || expandAll\"></clr-icon>\r\n </button>\r\n <ng-template #folderSpacer>\r\n <div class=\"folder-button-spacer\"></div>\r\n </ng-template>\r\n {{ collection.name }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-chip *ngIf=\"collection.isPrivate\">{{ 'catalog.private' | translate }}</vdr-chip>\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['./', { contents: collection.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <clr-icon shape=\"view-list\"></clr-icon>\r\n {{ 'catalog.view-contents' | translate }}\r\n </a>\r\n <a class=\"btn btn-link btn-sm\" [routerLink]=\"['/catalog/collections/', collection.id]\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n <div class=\"drag-handle\" cdkDragHandle *vdrIfPermissions=\"['UpdateCatalog', 'UpdateCollection']\">\r\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\r\n </div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger (click)=\"getMoveListItems(collection)\">\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a\r\n class=\"dropdown-item\"\r\n [routerLink]=\"['./', 'create', { parentId: collection.id }]\"\r\n *vdrIfPermissions=\"['CreateCatalog', 'CreateCollection']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'catalog.create-new-collection' | translate }}\r\n </a>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n [disabled]=\"i === 0 || !(hasUpdatePermission$ | async)\"\r\n (click)=\"moveUp(collection, i)\"\r\n >\r\n <clr-icon shape=\"caret up\"></clr-icon>\r\n {{ 'catalog.move-up' | translate }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n [disabled]=\"\r\n i === collectionTree.children.length - 1 || !(hasUpdatePermission$ | async)\r\n \"\r\n (click)=\"moveDown(collection, i)\"\r\n >\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n {{ 'catalog.move-down' | translate }}\r\n </button>\r\n <h4 class=\"dropdown-header\">{{ 'catalog.move-to' | translate }}</h4>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n *ngFor=\"let item of moveListItems\"\r\n (click)=\"move(collection, item.id)\"\r\n [disabled]=\"!(hasUpdatePermission$ | async)\"\r\n >\r\n <div class=\"move-to-item\">\r\n <div class=\"move-icon\">\r\n <clr-icon shape=\"child-arrow\"></clr-icon>\r\n </div>\r\n <div class=\"path\">\r\n {{ item.path }}\r\n </div>\r\n </div>\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"delete(collection.id)\"\r\n [disabled]=\"!(hasDeletePermission$ | async)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n <vdr-collection-tree-node\r\n *ngIf=\"collection.expanded || expandAll\"\r\n [expandAll]=\"expandAll\"\r\n [collectionTree]=\"collection\"\r\n [activeCollectionId]=\"activeCollectionId\"\r\n ></vdr-collection-tree-node>\r\n </div>\r\n</div>\r\n",
107
+ template: "<div\r\n cdkDropList\r\n class=\"tree-node\"\r\n #dropList\r\n [cdkDropListData]=\"collectionTree\"\r\n [cdkDropListDisabled]=\"!(hasUpdatePermission$ | async)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n>\r\n <div\r\n class=\"collection\"\r\n [class.private]=\"collection.isPrivate\"\r\n *ngFor=\"let collection of collectionTree.children; index as i; trackBy: trackByFn\"\r\n cdkDrag\r\n [cdkDragData]=\"collection\"\r\n >\r\n <div\r\n class=\"collection-detail\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.active]=\"collection.id === activeCollectionId\"\r\n >\r\n <div>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [checked]=\"selectionManager.isSelected(collection)\"\r\n (click)=\"selectionManager.toggleSelection(collection, $event)\"\r\n />\r\n </div>\r\n <div class=\"name\">\r\n <button\r\n class=\"icon-button folder-button\"\r\n [disabled]=\"expandAll\"\r\n *ngIf=\"collection.children?.length; else folderSpacer\"\r\n (click)=\"toggleExpanded(collection)\"\r\n >\r\n <clr-icon shape=\"folder\" *ngIf=\"!collection.expanded && !expandAll\"></clr-icon>\r\n <clr-icon shape=\"folder-open\" *ngIf=\"collection.expanded || expandAll\"></clr-icon>\r\n </button>\r\n <ng-template #folderSpacer>\r\n <div class=\"folder-button-spacer\"></div>\r\n </ng-template>\r\n {{ collection.name }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-chip *ngIf=\"collection.isPrivate\">{{ 'catalog.private' | translate }}</vdr-chip>\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['./', { contents: collection.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <clr-icon shape=\"view-list\"></clr-icon>\r\n {{ 'catalog.view-contents' | translate }}\r\n </a>\r\n <a class=\"btn btn-link btn-sm\" [routerLink]=\"['/catalog/collections/', collection.id]\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n <div class=\"drag-handle\" cdkDragHandle *vdrIfPermissions=\"['UpdateCatalog', 'UpdateCollection']\">\r\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\r\n </div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger (click)=\"getMoveListItems(collection)\">\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a\r\n class=\"dropdown-item\"\r\n [routerLink]=\"['./', 'create', { parentId: collection.id }]\"\r\n *vdrIfPermissions=\"['CreateCatalog', 'CreateCollection']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'catalog.create-new-collection' | translate }}\r\n </a>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n [disabled]=\"i === 0 || !(hasUpdatePermission$ | async)\"\r\n (click)=\"moveUp(collection, i)\"\r\n >\r\n <clr-icon shape=\"caret up\"></clr-icon>\r\n {{ 'catalog.move-up' | translate }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n [disabled]=\"\r\n i === collectionTree.children.length - 1 || !(hasUpdatePermission$ | async)\r\n \"\r\n (click)=\"moveDown(collection, i)\"\r\n >\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n {{ 'catalog.move-down' | translate }}\r\n </button>\r\n <h4 class=\"dropdown-header\">{{ 'catalog.move-to' | translate }}</h4>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n *ngFor=\"let item of moveListItems\"\r\n (click)=\"move(collection, item.id)\"\r\n [disabled]=\"!(hasUpdatePermission$ | async)\"\r\n >\r\n <div class=\"move-to-item\">\r\n <div class=\"move-icon\">\r\n <clr-icon shape=\"child-arrow\"></clr-icon>\r\n </div>\r\n <div class=\"path\">\r\n {{ item.path }}\r\n </div>\r\n </div>\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"delete(collection.id)\"\r\n [disabled]=\"!(hasDeletePermission$ | async)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n <vdr-collection-tree-node\r\n *ngIf=\"collection.expanded || expandAll\"\r\n [expandAll]=\"expandAll\"\r\n [collectionTree]=\"collection\"\r\n [activeCollectionId]=\"activeCollectionId\"\r\n [selectionManager]=\"selectionManager\"\r\n ></vdr-collection-tree-node>\r\n </div>\r\n</div>\r\n",
101
108
  changeDetection: ChangeDetectionStrategy.OnPush,
102
- styles: [":host{display:block}.collection{background-color:var(--color-component-bg-100);font-size:.65rem;transition:transform .25s cubic-bezier(0,0,.2,1);margin-bottom:2px;border-left:2px solid transparent;transition:border-left-color .2s}.collection.private{background-color:var(--color-component-bg-200)}.collection .collection-detail{padding:6px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-component-border-100)}.collection .collection-detail.active{background-color:var(--clr-global-selection-color)}.collection .collection-detail.depth-1{padding-left:36px}.collection .collection-detail.depth-2{padding-left:60px}.collection .collection-detail.depth-3{padding-left:84px}.collection .collection-detail.depth-4{padding-left:108px}.collection .collection-detail .folder-button-spacer{display:inline-block;width:28px}.tree-node{display:block;background:var(--color-component-bg-100);overflow:hidden}.tree-node.cdk-drop-list-dragging>.collection{border-left-color:var(--color-primary-300)}.drag-placeholder{min-height:120px;background-color:var(--color-component-bg-300);transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .tree-node:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.move-to-item{display:flex;white-space:normal;align-items:baseline}.move-to-item .move-icon{flex:none;margin-right:3px}.move-to-item .path{line-height:18px}\n"]
109
+ styles: [":host{display:block}.collection{background-color:var(--clr-table-bgcolor);border-radius:var(--clr-global-borderradius);font-size:.65rem;transition:transform .25s cubic-bezier(0,0,.2,1);margin-bottom:2px;border-left:2px solid transparent;transition:border-left-color .2s}.collection.private{background-color:var(--color-component-bg-200)}.collection .collection-detail{padding:6px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-component-border-100)}.collection .collection-detail.active{background-color:var(--clr-global-selection-color)}.collection .collection-detail.depth-1{padding-left:36px}.collection .collection-detail.depth-2{padding-left:60px}.collection .collection-detail.depth-3{padding-left:84px}.collection .collection-detail.depth-4{padding-left:108px}.collection .collection-detail .folder-button-spacer{display:inline-block;width:28px}.tree-node{display:block;background-color:var(--clr-table-bgcolor);border-radius:var(--clr-global-borderradius);overflow:hidden}.tree-node.cdk-drop-list-dragging>.collection{border-left-color:var(--color-primary-300)}.drag-placeholder{min-height:120px;background-color:var(--color-component-bg-300);transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .tree-node:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.move-to-item{display:flex;white-space:normal;align-items:baseline}.move-to-item .move-icon{flex:none;margin-right:3px}.move-to-item .path{line-height:18px}\n"]
103
110
  },] }
104
111
  ];
105
112
  CollectionTreeNodeComponent.ctorParameters = () => [
@@ -107,11 +114,13 @@ CollectionTreeNodeComponent.ctorParameters = () => [
107
114
  { type: CollectionTreeComponent },
108
115
  { type: DataService },
109
116
  { type: Router },
110
- { type: ActivatedRoute }
117
+ { type: ActivatedRoute },
118
+ { type: ChangeDetectorRef }
111
119
  ];
112
120
  CollectionTreeNodeComponent.propDecorators = {
113
121
  collectionTree: [{ type: Input }],
114
122
  activeCollectionId: [{ type: Input }],
115
- expandAll: [{ type: Input }]
123
+ expandAll: [{ type: Input }],
124
+ selectionManager: [{ type: Input }]
116
125
  };
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jYXRhbG9nL3NyYy9jb21wb25lbnRzL2NvbGxlY3Rpb24tdHJlZS9jb2xsZWN0aW9uLXRyZWUtbm9kZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFHTCxRQUFRLEVBRVIsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2xELE9BQU8sRUFBcUIsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVF6RixNQUFNLE9BQU8sMkJBQTJCO0lBVXBDLFlBQ29DLE1BQW1DLEVBQzNELElBQTZCLEVBQzdCLFdBQXdCLEVBQ3hCLE1BQWMsRUFDZCxLQUFxQjtRQUpHLFdBQU0sR0FBTixNQUFNLENBQTZCO1FBQzNELFNBQUksR0FBSixJQUFJLENBQXlCO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWRqQyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBSUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUczQixrQkFBYSxHQUF3QyxFQUFFLENBQUM7UUFTcEQsSUFBSSxNQUFNLEVBQUU7WUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcs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QVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLDQ1TEFBb0Q7Z0JBRXBELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBWStDLDJCQUEyQix1QkFBbEUsUUFBUSxZQUFJLFFBQVE7WUFuQkQsdUJBQXVCO1lBTDFDLFdBQVc7WUFESyxNQUFNO1lBQXRCLGNBQWM7Ozs2QkFpQmxCLEtBQUs7aUNBQ0wsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFNraXBTZWxmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UsIFBlcm1pc3Npb24gfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgUm9vdE5vZGUsIFRyZWVOb2RlIH0gZnJvbSAnLi9hcnJheS10by10cmVlJztcclxuaW1wb3J0IHsgQ29sbGVjdGlvblBhcnRpYWwsIENvbGxlY3Rpb25UcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uLXRyZWUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY29sbGVjdGlvbi10cmVlLW5vZGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbGxlY3Rpb24tdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbGxlY3Rpb24tdHJlZS1ub2RlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25UcmVlTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIGRlcHRoID0gMDtcclxuICAgIHBhcmVudE5hbWU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGNvbGxlY3Rpb25UcmVlOiBUcmVlTm9kZTxDb2xsZWN0aW9uUGFydGlhbD47XHJcbiAgICBASW5wdXQoKSBhY3RpdmVDb2xsZWN0aW9uSWQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGV4cGFuZEFsbCA9IGZhbHNlO1xyXG4gICAgaGFzVXBkYXRlUGVybWlzc2lvbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoYXNEZWxldGVQZXJtaXNzaW9uJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIG1vdmVMaXN0SXRlbXM6IEFycmF5PHsgcGF0aDogc3RyaW5nOyBpZDogc3RyaW5nIH0+ID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwYXJlbnQ6IENvbGxlY3Rpb25UcmVlTm9kZUNvbXBvbmVudCxcclxuICAgICAgICBwcml2YXRlIHJvb3Q6IENvbGxlY3Rpb25UcmVlQ29tcG9uZW50LFxyXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICApIHtcclxuICAgICAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVwdGggPSBwYXJlbnQuZGVwdGggKyAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnBhcmVudE5hbWUgPSB0aGlzLmNvbGxlY3Rpb25UcmVlLm5hbWUgfHwgJzxyb290Pic7XHJcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnMkID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgLnVzZXJTdGF0dXMoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS51c2VyU3RhdHVzLnBlcm1pc3Npb25zKVxyXG4gICAgICAgICAgICAucGlwZShzaGFyZVJlcGxheSgxKSk7XHJcbiAgICAgICAgdGhpcy5oYXNVcGRhdGVQZXJtaXNzaW9uJCA9IHBlcm1pc3Npb25zJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoXHJcbiAgICAgICAgICAgICAgICBwZXJtcyA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHBlcm1zLmluY2x1ZGVzKFBlcm1pc3Npb24uVXBkYXRlQ2F0YWxvZykgfHwgcGVybXMuaW5jbHVkZXMoUGVybWlzc2lvbi5VcGRhdGVDb2xsZWN0aW9uKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaGFzRGVsZXRlUGVybWlzc2lvbiQgPSBwZXJtaXNzaW9ucyQucGlwZShcclxuICAgICAgICAgICAgbWFwKFxyXG4gICAgICAgICAgICAgICAgcGVybXMgPT5cclxuICAgICAgICAgICAgICAgICAgICBwZXJtcy5pbmNsdWRlcyhQZXJtaXNzaW9uLkRlbGV0ZUNhdGFsb2cpIHx8IHBlcm1zLmluY2x1ZGVzKFBlcm1pc3Npb24uRGVsZXRlQ29sbGVjdGlvbiksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgY29uc3QgZXhwYW5kQWxsQ2hhbmdlID0gY2hhbmdlc1snZXhwYW5kQWxsJ107XHJcbiAgICAgICAgaWYgKGV4cGFuZEFsbENoYW5nZSkge1xyXG4gICAgICAgICAgICBpZiAoZXhwYW5kQWxsQ2hhbmdlLnByZXZpb3VzVmFsdWUgPT09IHRydWUgJiYgZXhwYW5kQWxsQ2hhbmdlLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29sbGVjdGlvblRyZWUuY2hpbGRyZW4uZm9yRWFjaChjID0+IChjLmV4cGFuZGVkID0gZmFsc2UpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogQ29sbGVjdGlvblBhcnRpYWwpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pZDtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVFeHBhbmRlZChjb2xsZWN0aW9uOiBUcmVlTm9kZTxDb2xsZWN0aW9uUGFydGlhbD4pIHtcclxuICAgICAgICBjb2xsZWN0aW9uLmV4cGFuZGVkID0gIWNvbGxlY3Rpb24uZXhwYW5kZWQ7XHJcbiAgICAgICAgbGV0IGV4cGFuZGVkSWRzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZXhwYW5kZWQnKT8uc3BsaXQoJywnKSA/PyBbXTtcclxuICAgICAgICBpZiAoY29sbGVjdGlvbi5leHBhbmRlZCkge1xyXG4gICAgICAgICAgICBleHBhbmRlZElkcy5wdXNoKGNvbGxlY3Rpb24uaWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGV4cGFuZGVkSWRzID0gZXhwYW5kZWRJZHMuZmlsdGVyKGlkID0+IGlkICE9PSBjb2xsZWN0aW9uLmlkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLyddLCB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICBleHBhbmRlZDogZXhwYW5kZWRJZHMuZmlsdGVyKGlkID0+ICEhaWQpLmpvaW4oJywnKSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcclxuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRNb3ZlTGlzdEl0ZW1zKGNvbGxlY3Rpb246IENvbGxlY3Rpb25QYXJ0aWFsKSB7XHJcbiAgICAgICAgdGhpcy5tb3ZlTGlzdEl0ZW1zID0gdGhpcy5yb290LmdldE1vdmVMaXN0SXRlbXMoY29sbGVjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgbW92ZShjb2xsZWN0aW9uOiBDb2xsZWN0aW9uUGFydGlhbCwgcGFyZW50SWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMucm9vdC5vbk1vdmUoe1xyXG4gICAgICAgICAgICBpbmRleDogMCxcclxuICAgICAgICAgICAgcGFyZW50SWQsXHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb25JZDogY29sbGVjdGlvbi5pZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBtb3ZlVXAoY29sbGVjdGlvbjogQ29sbGVjdGlvblBhcnRpYWwsIGN1cnJlbnRJbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKCFjb2xsZWN0aW9uLnBhcmVudCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucm9vdC5vbk1vdmUoe1xyXG4gICAgICAgICAgICBpbmRleDogY3VycmVudEluZGV4IC0gMSxcclxuICAgICAgICAgICAgcGFyZW50SWQ6IGNvbGxlY3Rpb24ucGFyZW50LmlkLFxyXG4gICAgICAgICAgICBjb2xsZWN0aW9uSWQ6IGNvbGxlY3Rpb24uaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbW92ZURvd24oY29sbGVjdGlvbjogQ29sbGVjdGlvblBhcnRpYWwsIGN1cnJlbnRJbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKCFjb2xsZWN0aW9uLnBhcmVudCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucm9vdC5vbk1vdmUoe1xyXG4gICAgICAgICAgICBpbmRleDogY3VycmVudEluZGV4ICsgMSxcclxuICAgICAgICAgICAgcGFyZW50SWQ6IGNvbGxlY3Rpb24ucGFyZW50LmlkLFxyXG4gICAgICAgICAgICBjb2xsZWN0aW9uSWQ6IGNvbGxlY3Rpb24uaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8Q29sbGVjdGlvblBhcnRpYWwgfCBSb290Tm9kZTxDb2xsZWN0aW9uUGFydGlhbD4+KSB7XHJcbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuY29sbGVjdGlvblRyZWUuY2hpbGRyZW4sIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICAgICAgdGhpcy5yb290Lm9uRHJvcChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnJvb3Qub25EZWxldGUoaWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jYXRhbG9nL3NyYy9jb21wb25lbnRzL2NvbGxlY3Rpb24tdHJlZS9jb2xsZWN0aW9uLXRyZWUtbm9kZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBSUwsUUFBUSxFQUVSLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFvQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEQsT0FBTyxFQUFxQix1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBUXpGLE1BQU0sT0FBTywyQkFBMkI7SUFZcEMsWUFDb0MsTUFBbUMsRUFDM0QsSUFBNkIsRUFDN0IsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLGlCQUFvQztRQUxaLFdBQU0sR0FBTixNQUFNLENBQTZCO1FBQzNELFNBQUksR0FBSixJQUFJLENBQXlCO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBakJoRCxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBSUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUkzQixrQkFBYSxHQUF3QyxFQUFFLENBQUM7UUFXcEQs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bUU7UUFDcEUsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7OztZQWpJSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsK3hNQUFvRDtnQkFFcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUFjK0MsMkJBQTJCLHVCQUFsRSxRQUFRLFlBQUksUUFBUTtZQXJCRCx1QkFBdUI7WUFMMUMsV0FBVztZQURLLE1BQU07WUFBdEIsY0FBYztZQVZuQixpQkFBaUI7Ozs2QkEyQmhCLEtBQUs7aUNBQ0wsS0FBSzt3QkFDTCxLQUFLOytCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPcHRpb25hbCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBTa2lwU2VsZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlLCBQZXJtaXNzaW9uLCBTZWxlY3Rpb25NYW5hZ2VyIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgUm9vdE5vZGUsIFRyZWVOb2RlIH0gZnJvbSAnLi9hcnJheS10by10cmVlJztcclxuaW1wb3J0IHsgQ29sbGVjdGlvblBhcnRpYWwsIENvbGxlY3Rpb25UcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uLXRyZWUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY29sbGVjdGlvbi10cmVlLW5vZGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbGxlY3Rpb24tdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbGxlY3Rpb24tdHJlZS1ub2RlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25UcmVlTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gICAgZGVwdGggPSAwO1xyXG4gICAgcGFyZW50TmFtZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgY29sbGVjdGlvblRyZWU6IFRyZWVOb2RlPENvbGxlY3Rpb25QYXJ0aWFsPjtcclxuICAgIEBJbnB1dCgpIGFjdGl2ZUNvbGxlY3Rpb25JZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZXhwYW5kQWxsID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzZWxlY3Rpb25NYW5hZ2VyOiBTZWxlY3Rpb25NYW5hZ2VyPENvbGxlY3Rpb25QYXJ0aWFsPjtcclxuICAgIGhhc1VwZGF0ZVBlcm1pc3Npb24kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaGFzRGVsZXRlUGVybWlzc2lvbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBtb3ZlTGlzdEl0ZW1zOiBBcnJheTx7IHBhdGg6IHN0cmluZzsgaWQ6IHN0cmluZyB9PiA9IFtdO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudDogQ29sbGVjdGlvblRyZWVOb2RlQ29tcG9uZW50LFxyXG4gICAgICAgIHByaXZhdGUgcm9vdDogQ29sbGVjdGlvblRyZWVDb21wb25lbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICkge1xyXG4gICAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXB0aCA9IHBhcmVudC5kZXB0aCArIDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucGFyZW50TmFtZSA9IHRoaXMuY29sbGVjdGlvblRyZWUubmFtZSB8fCAnPHJvb3Q+JztcclxuICAgICAgICBjb25zdCBwZXJtaXNzaW9ucyQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAudXNlclN0YXR1cygpXHJcbiAgICAgICAgICAgIC5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVzZXJTdGF0dXMucGVybWlzc2lvbnMpXHJcbiAgICAgICAgICAgIC5waXBlKHNoYXJlUmVwbGF5KDEpKTtcclxuICAgICAgICB0aGlzLmhhc1VwZGF0ZVBlcm1pc3Npb24kID0gcGVybWlzc2lvbnMkLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChcclxuICAgICAgICAgICAgICAgIHBlcm1zID0+XHJcbiAgICAgICAgICAgICAgICAgICAgcGVybXMuaW5jbHVkZXMoUGVybWlzc2lvbi5VcGRhdGVDYXRhbG9nKSB8fCBwZXJtcy5pbmNsdWRlcyhQZXJtaXNzaW9uLlVwZGF0ZUNvbGxlY3Rpb24pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5oYXNEZWxldGVQZXJtaXNzaW9uJCA9IHBlcm1pc3Npb25zJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoXHJcbiAgICAgICAgICAgICAgICBwZXJtcyA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHBlcm1zLmluY2x1ZGVzKFBlcm1pc3Npb24uRGVsZXRlQ2F0YWxvZykgfHwgcGVybXMuaW5jbHVkZXMoUGVybWlzc2lvbi5EZWxldGVDb2xsZWN0aW9uKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3Rpb25NYW5hZ2VyPy5zZWxlY3Rpb25DaGFuZ2VzJC5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBjb25zdCBleHBhbmRBbGxDaGFuZ2UgPSBjaGFuZ2VzWydleHBhbmRBbGwnXTtcclxuICAgICAgICBpZiAoZXhwYW5kQWxsQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChleHBhbmRBbGxDaGFuZ2UucHJldmlvdXNWYWx1ZSA9PT0gdHJ1ZSAmJiBleHBhbmRBbGxDaGFuZ2UuY3VycmVudFZhbHVlID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsZWN0aW9uVHJlZS5jaGlsZHJlbi5mb3JFYWNoKGMgPT4gKGMuZXhwYW5kZWQgPSBmYWxzZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBDb2xsZWN0aW9uUGFydGlhbCkge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmlkO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUV4cGFuZGVkKGNvbGxlY3Rpb246IFRyZWVOb2RlPENvbGxlY3Rpb25QYXJ0aWFsPikge1xyXG4gICAgICAgIGNvbGxlY3Rpb24uZXhwYW5kZWQgPSAhY29sbGVjdGlvbi5leHBhbmRlZDtcclxuICAgICAgICBsZXQgZXhwYW5kZWRJZHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdleHBhbmRlZCcpPy5zcGxpdCgnLCcpID8/IFtdO1xyXG4gICAgICAgIGlmIChjb2xsZWN0aW9uLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgICAgIGV4cGFuZGVkSWRzLnB1c2goY29sbGVjdGlvbi5pZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZXhwYW5kZWRJZHMgPSBleHBhbmRlZElkcy5maWx0ZXIoaWQgPT4gaWQgIT09IGNvbGxlY3Rpb24uaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBleHBhbmRlZElkcy5maWx0ZXIoaWQgPT4gISFpZCkuam9pbignLCcpLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vdmVMaXN0SXRlbXMoY29sbGVjdGlvbjogQ29sbGVjdGlvblBhcnRpYWwpIHtcclxuICAgICAgICB0aGlzLm1vdmVMaXN0SXRlbXMgPSB0aGlzLnJvb3QuZ2V0TW92ZUxpc3RJdGVtcyhjb2xsZWN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBtb3ZlKGNvbGxlY3Rpb246IENvbGxlY3Rpb25QYXJ0aWFsLCBwYXJlbnRJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5yb290Lm9uTW92ZSh7XHJcbiAgICAgICAgICAgIGluZGV4OiAwLFxyXG4gICAgICAgICAgICBwYXJlbnRJZCxcclxuICAgICAgICAgICAgY29sbGVjdGlvbklkOiBjb2xsZWN0aW9uLmlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG1vdmVVcChjb2xsZWN0aW9uOiBDb2xsZWN0aW9uUGFydGlhbCwgY3VycmVudEluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoIWNvbGxlY3Rpb24ucGFyZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yb290Lm9uTW92ZSh7XHJcbiAgICAgICAgICAgIGluZGV4OiBjdXJyZW50SW5kZXggLSAxLFxyXG4gICAgICAgICAgICBwYXJlbnRJZDogY29sbGVjdGlvbi5wYXJlbnQuaWQsXHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb25JZDogY29sbGVjdGlvbi5pZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBtb3ZlRG93bihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uUGFydGlhbCwgY3VycmVudEluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoIWNvbGxlY3Rpb24ucGFyZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yb290Lm9uTW92ZSh7XHJcbiAgICAgICAgICAgIGluZGV4OiBjdXJyZW50SW5kZXggKyAxLFxyXG4gICAgICAgICAgICBwYXJlbnRJZDogY29sbGVjdGlvbi5wYXJlbnQuaWQsXHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb25JZDogY29sbGVjdGlvbi5pZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxDb2xsZWN0aW9uUGFydGlhbCB8IFJvb3ROb2RlPENvbGxlY3Rpb25QYXJ0aWFsPj4pIHtcclxuICAgICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2xsZWN0aW9uVHJlZS5jaGlsZHJlbiwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgICB0aGlzLnJvb3Qub25Ecm9wKGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGUoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMucm9vdC5vbkRlbGV0ZShpZCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -60,7 +60,7 @@ export class CollectionTreeComponent {
60
60
  CollectionTreeComponent.decorators = [
61
61
  { type: Component, args: [{
62
62
  selector: 'vdr-collection-tree',
63
- template: "<vdr-collection-tree-node\r\n *ngIf=\"collectionTree\"\r\n cdkDropListGroup\r\n [expandAll]=\"expandAll\"\r\n [collectionTree]=\"collectionTree\"\r\n [activeCollectionId]=\"activeCollectionId\"\r\n></vdr-collection-tree-node>\r\n",
63
+ template: "<vdr-collection-tree-node\r\n *ngIf=\"collectionTree\"\r\n cdkDropListGroup\r\n [expandAll]=\"expandAll\"\r\n [collectionTree]=\"collectionTree\"\r\n [selectionManager]=\"selectionManager\"\r\n [activeCollectionId]=\"activeCollectionId\"\r\n></vdr-collection-tree-node>\r\n",
64
64
  changeDetection: ChangeDetectionStrategy.OnPush,
65
65
  styles: [""]
66
66
  },] }
@@ -70,7 +70,8 @@ CollectionTreeComponent.propDecorators = {
70
70
  activeCollectionId: [{ type: Input }],
71
71
  expandAll: [{ type: Input }],
72
72
  expandedIds: [{ type: Input }],
73
+ selectionManager: [{ type: Input }],
73
74
  rearrange: [{ type: Output }],
74
75
  deleteCollection: [{ type: Output }]
75
76
  };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY2F0YWxvZy9zcmMvY29tcG9uZW50cy9jb2xsZWN0aW9uLXRyZWUvY29sbGVjdGlvbi10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsV0FBVyxFQUFpQyxNQUFNLGlCQUFpQixDQUFDO0FBVzdFLE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFTYSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhELHFCQUFnQixHQUFxRSxFQUFFLENBQUM7SUErRHBHLENBQUM7SUE3REcsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksYUFBYSxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBbUU7UUFDdEUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUF5QixDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDakMsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN4RTtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2hCLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNyQixRQUFRLEVBQUUsV0FBVztZQUNyQixLQUFLLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDNUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFxQjtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUE2QjtRQUMxQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUM1RDtRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FDL0IsSUFBSSxDQUFDLEVBQUU7O1lBQ0gsT0FBQSxJQUFJLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxFQUFFO2dCQUN6QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxFQUFFLE1BQUssTUFBQSxVQUFVLENBQUMsTUFBTSwwQ0FBRSxFQUFFLENBQUEsQ0FBQTtTQUFBLENBQ3hDLENBQUM7SUFDTixDQUFDO0lBRUQseUJBQXlCO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLENBQ1YsSUFBbUIsRUFDbkIsVUFBb0IsRUFDcEIsY0FBMkIsRUFDM0IsTUFBd0UsRUFDMUUsRUFBRTtZQUNBLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDMUIsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFHLENBQVMsQ0FBQyxHQUFHLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FDNUUsQ0FBQztZQUNGLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxFQUFFLElBQUksR0FBRyxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLFVBQVUsQ0FBc0IsSUFBcUI7UUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7O1lBNUVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixnUUFBNkM7Z0JBRTdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7OzBCQUVJLEtBQUs7aUNBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7d0JBQ0wsTUFBTTsrQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBhcnJheVRvVHJlZSwgSGFzUGFyZW50LCBSb290Tm9kZSwgVHJlZU5vZGUgfSBmcm9tICcuL2FycmF5LXRvLXRyZWUnO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVhcnJhbmdlRXZlbnQgPSB7IGNvbGxlY3Rpb25JZDogc3RyaW5nOyBwYXJlbnRJZDogc3RyaW5nOyBpbmRleDogbnVtYmVyIH07XHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25QYXJ0aWFsID0gUGljazxDb2xsZWN0aW9uLkZyYWdtZW50LCAnaWQnIHwgJ3BhcmVudCcgfCAnbmFtZSc+O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jb2xsZWN0aW9uLXRyZWUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdjb2xsZWN0aW9uLXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbi10cmVlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25UcmVlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uUGFydGlhbFtdO1xyXG4gICAgQElucHV0KCkgYWN0aXZlQ29sbGVjdGlvbklkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBleHBhbmRBbGwgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGV4cGFuZGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgQE91dHB1dCgpIHJlYXJyYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVhcnJhbmdlRXZlbnQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgZGVsZXRlQ29sbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgY29sbGVjdGlvblRyZWU6IFJvb3ROb2RlPENvbGxlY3Rpb25QYXJ0aWFsPjtcclxuICAgIHByaXZhdGUgYWxsTW92ZUxpc3RJdGVtczogQXJyYXk8eyBwYXRoOiBzdHJpbmc7IGlkOiBzdHJpbmc7IGFuY2VzdG9ySWRQYXRoOiBTZXQ8c3RyaW5nPiB9PiA9IFtdO1xyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoJ2NvbGxlY3Rpb25zJyBpbiBjaGFuZ2VzICYmIHRoaXMuY29sbGVjdGlvbnMpIHtcclxuICAgICAgICAgICAgdGhpcy5jb2xsZWN0aW9uVHJlZSA9IGFycmF5VG9UcmVlKHRoaXMuY29sbGVjdGlvbnMsIHRoaXMuY29sbGVjdGlvblRyZWUsIHRoaXMuZXhwYW5kZWRJZHMpO1xyXG4gICAgICAgICAgICB0aGlzLmFsbE1vdmVMaXN0SXRlbXMgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25Ecm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxDb2xsZWN0aW9uUGFydGlhbCB8IFJvb3ROb2RlPENvbGxlY3Rpb25QYXJ0aWFsPj4pIHtcclxuICAgICAgICBjb25zdCBpdGVtID0gZXZlbnQuaXRlbS5kYXRhIGFzIENvbGxlY3Rpb25QYXJ0aWFsO1xyXG4gICAgICAgIGNvbnN0IG5ld1BhcmVudCA9IGV2ZW50LmNvbnRhaW5lci5kYXRhO1xyXG4gICAgICAgIGNvbnN0IG5ld1BhcmVudElkID0gbmV3UGFyZW50LmlkO1xyXG4gICAgICAgIGlmIChuZXdQYXJlbnRJZCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVybWluZSB0aGUgSUQgb2YgdGhlIHJvb3QgQ29sbGVjdGlvbmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJlYXJyYW5nZS5lbWl0KHtcclxuICAgICAgICAgICAgY29sbGVjdGlvbklkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICBwYXJlbnRJZDogbmV3UGFyZW50SWQsXHJcbiAgICAgICAgICAgIGluZGV4OiBldmVudC5jdXJyZW50SW5kZXgsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Nb3ZlKGV2ZW50OiBSZWFycmFuZ2VFdmVudCkge1xyXG4gICAgICAgIHRoaXMucmVhcnJhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRGVsZXRlKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUNvbGxlY3Rpb24uZW1pdChpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TW92ZUxpc3RJdGVtcyhjb2xsZWN0aW9uOiBDb2xsZWN0aW9uUGFydGlhbCkge1xyXG4gICAgICAgIGlmICh0aGlzLmFsbE1vdmVMaXN0SXRlbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxsTW92ZUxpc3RJdGVtcyA9IHRoaXMuY2FsY3VsYXRlQWxsTW92ZUxpc3RJdGVtcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5hbGxNb3ZlTGlzdEl0ZW1zLmZpbHRlcihcclxuICAgICAgICAgICAgaXRlbSA9PlxyXG4gICAgICAgICAgICAgICAgaXRlbS5pZCAhPT0gY29sbGVjdGlvbi5pZCAmJlxyXG4gICAgICAgICAgICAgICAgIWl0ZW0uYW5jZXN0b3JJZFBhdGguaGFzKGNvbGxlY3Rpb24uaWQpICYmXHJcbiAgICAgICAgICAgICAgICBpdGVtLmlkICE9PSBjb2xsZWN0aW9uLnBhcmVudD8uaWQsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjYWxjdWxhdGVBbGxNb3ZlTGlzdEl0ZW1zKCkge1xyXG4gICAgICAgIGNvbnN0IHZpc2l0ID0gKFxyXG4gICAgICAgICAgICBub2RlOiBUcmVlTm9kZTxhbnk+LFxyXG4gICAgICAgICAgICBwYXJlbnRQYXRoOiBzdHJpbmdbXSxcclxuICAgICAgICAgICAgYW5jZXN0b3JJZFBhdGg6IFNldDxzdHJpbmc+LFxyXG4gICAgICAgICAgICBvdXRwdXQ6IEFycmF5PHsgcGF0aDogc3RyaW5nOyBpZDogc3RyaW5nOyBhbmNlc3RvcklkUGF0aDogU2V0PHN0cmluZz4gfT4sXHJcbiAgICAgICAgKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBwYXJlbnRQYXRoLmNvbmNhdChub2RlLm5hbWUpO1xyXG4gICAgICAgICAgICBvdXRwdXQucHVzaCh7IHBhdGg6IHBhdGguc2xpY2UoMSkuam9pbignIC8gJykgfHwgJ3Jvb3QnLCBpZDogbm9kZS5pZCwgYW5jZXN0b3JJZFBhdGggfSk7XHJcbiAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PlxyXG4gICAgICAgICAgICAgICAgdmlzaXQoY2hpbGQsIHBhdGgsIG5ldyBTZXQ8c3RyaW5nPihbLi4uYW5jZXN0b3JJZFBhdGgsIG5vZGUuaWRdKSwgb3V0cHV0KSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dDtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB2aXNpdCh0aGlzLmNvbGxlY3Rpb25UcmVlLCBbXSwgbmV3IFNldDxzdHJpbmc+KCksIFtdKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzUm9vdE5vZGU8VCBleHRlbmRzIEhhc1BhcmVudD4obm9kZTogVCB8IFJvb3ROb2RlPFQ+KTogbm9kZSBpcyBSb290Tm9kZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuICFub2RlLmhhc093blByb3BlcnR5KCdwYXJlbnQnKTtcclxuICAgIH1cclxufVxyXG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY2F0YWxvZy9zcmMvY29tcG9uZW50cy9jb2xsZWN0aW9uLXRyZWUvY29sbGVjdGlvbi10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsV0FBVyxFQUFpQyxNQUFNLGlCQUFpQixDQUFDO0FBVzdFLE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFTYSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBRTFCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhELHFCQUFnQixHQUFxRSxFQUFFLENBQUM7SUErRHBHLENBQUM7SUE3REcsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksYUFBYSxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBbUU7UUFDdEUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUF5QixDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDakMsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN4RTtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2hCLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNyQixRQUFRLEVBQUUsV0FBVztZQUNyQixLQUFLLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDNUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFxQjtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUE2QjtRQUMxQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUM1RDtRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FDL0IsSUFBSSxDQUFDLEVBQUU7O1lBQ0gsT0FBQSxJQUFJLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxFQUFFO2dCQUN6QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxFQUFFLE1BQUssTUFBQSxVQUFVLENBQUMsTUFBTSwwQ0FBRSxFQUFFLENBQUEsQ0FBQTtTQUFBLENBQ3hDLENBQUM7SUFDTixDQUFDO0lBRUQseUJBQXlCO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLENBQ1YsSUFBbUIsRUFDbkIsVUFBb0IsRUFDcEIsY0FBMkIsRUFDM0IsTUFBd0UsRUFDMUUsRUFBRTtZQUNBLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDMUIsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFHLENBQVMsQ0FBQyxHQUFHLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FDNUUsQ0FBQztZQUNGLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxFQUFFLElBQUksR0FBRyxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLFVBQVUsQ0FBc0IsSUFBcUI7UUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7O1lBN0VKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQiwrU0FBNkM7Z0JBRTdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7OzBCQUVJLEtBQUs7aUNBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7K0JBQ0wsS0FBSzt3QkFDTCxNQUFNOytCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbGxlY3Rpb24sIFNlbGVjdGlvbk1hbmFnZXIgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbmltcG9ydCB7IGFycmF5VG9UcmVlLCBIYXNQYXJlbnQsIFJvb3ROb2RlLCBUcmVlTm9kZSB9IGZyb20gJy4vYXJyYXktdG8tdHJlZSc7XHJcblxyXG5leHBvcnQgdHlwZSBSZWFycmFuZ2VFdmVudCA9IHsgY29sbGVjdGlvbklkOiBzdHJpbmc7IHBhcmVudElkOiBzdHJpbmc7IGluZGV4OiBudW1iZXIgfTtcclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblBhcnRpYWwgPSBQaWNrPENvbGxlY3Rpb24uRnJhZ21lbnQsICdpZCcgfCAncGFyZW50JyB8ICduYW1lJz47XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWNvbGxlY3Rpb24tdHJlZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ2NvbGxlY3Rpb24tdHJlZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb2xsZWN0aW9uLXRyZWUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvblRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgY29sbGVjdGlvbnM6IENvbGxlY3Rpb25QYXJ0aWFsW107XHJcbiAgICBASW5wdXQoKSBhY3RpdmVDb2xsZWN0aW9uSWQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGV4cGFuZEFsbCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZXhwYW5kZWRJZHM6IHN0cmluZ1tdID0gW107XHJcbiAgICBASW5wdXQoKSBzZWxlY3Rpb25NYW5hZ2VyOiBTZWxlY3Rpb25NYW5hZ2VyPENvbGxlY3Rpb25QYXJ0aWFsPjtcclxuICAgIEBPdXRwdXQoKSByZWFycmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJlYXJyYW5nZUV2ZW50PigpO1xyXG4gICAgQE91dHB1dCgpIGRlbGV0ZUNvbGxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIGNvbGxlY3Rpb25UcmVlOiBSb290Tm9kZTxDb2xsZWN0aW9uUGFydGlhbD47XHJcbiAgICBwcml2YXRlIGFsbE1vdmVMaXN0SXRlbXM6IEFycmF5PHsgcGF0aDogc3RyaW5nOyBpZDogc3RyaW5nOyBhbmNlc3RvcklkUGF0aDogU2V0PHN0cmluZz4gfT4gPSBbXTtcclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKCdjb2xsZWN0aW9ucycgaW4gY2hhbmdlcyAmJiB0aGlzLmNvbGxlY3Rpb25zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29sbGVjdGlvblRyZWUgPSBhcnJheVRvVHJlZSh0aGlzLmNvbGxlY3Rpb25zLCB0aGlzLmNvbGxlY3Rpb25UcmVlLCB0aGlzLmV4cGFuZGVkSWRzKTtcclxuICAgICAgICAgICAgdGhpcy5hbGxNb3ZlTGlzdEl0ZW1zID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8Q29sbGVjdGlvblBhcnRpYWwgfCBSb290Tm9kZTxDb2xsZWN0aW9uUGFydGlhbD4+KSB7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IGV2ZW50Lml0ZW0uZGF0YSBhcyBDb2xsZWN0aW9uUGFydGlhbDtcclxuICAgICAgICBjb25zdCBuZXdQYXJlbnQgPSBldmVudC5jb250YWluZXIuZGF0YTtcclxuICAgICAgICBjb25zdCBuZXdQYXJlbnRJZCA9IG5ld1BhcmVudC5pZDtcclxuICAgICAgICBpZiAobmV3UGFyZW50SWQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIElEIG9mIHRoZSByb290IENvbGxlY3Rpb25gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZWFycmFuZ2UuZW1pdCh7XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb25JZDogaXRlbS5pZCxcclxuICAgICAgICAgICAgcGFyZW50SWQ6IG5ld1BhcmVudElkLFxyXG4gICAgICAgICAgICBpbmRleDogZXZlbnQuY3VycmVudEluZGV4LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTW92ZShldmVudDogUmVhcnJhbmdlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLnJlYXJyYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRlbGV0ZShpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVDb2xsZWN0aW9uLmVtaXQoaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vdmVMaXN0SXRlbXMoY29sbGVjdGlvbjogQ29sbGVjdGlvblBhcnRpYWwpIHtcclxuICAgICAgICBpZiAodGhpcy5hbGxNb3ZlTGlzdEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFsbE1vdmVMaXN0SXRlbXMgPSB0aGlzLmNhbGN1bGF0ZUFsbE1vdmVMaXN0SXRlbXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsTW92ZUxpc3RJdGVtcy5maWx0ZXIoXHJcbiAgICAgICAgICAgIGl0ZW0gPT5cclxuICAgICAgICAgICAgICAgIGl0ZW0uaWQgIT09IGNvbGxlY3Rpb24uaWQgJiZcclxuICAgICAgICAgICAgICAgICFpdGVtLmFuY2VzdG9ySWRQYXRoLmhhcyhjb2xsZWN0aW9uLmlkKSAmJlxyXG4gICAgICAgICAgICAgICAgaXRlbS5pZCAhPT0gY29sbGVjdGlvbi5wYXJlbnQ/LmlkLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXRlQWxsTW92ZUxpc3RJdGVtcygpIHtcclxuICAgICAgICBjb25zdCB2aXNpdCA9IChcclxuICAgICAgICAgICAgbm9kZTogVHJlZU5vZGU8YW55PixcclxuICAgICAgICAgICAgcGFyZW50UGF0aDogc3RyaW5nW10sXHJcbiAgICAgICAgICAgIGFuY2VzdG9ySWRQYXRoOiBTZXQ8c3RyaW5nPixcclxuICAgICAgICAgICAgb3V0cHV0OiBBcnJheTx7IHBhdGg6IHN0cmluZzsgaWQ6IHN0cmluZzsgYW5jZXN0b3JJZFBhdGg6IFNldDxzdHJpbmc+IH0+LFxyXG4gICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwYXRoID0gcGFyZW50UGF0aC5jb25jYXQobm9kZS5uYW1lKTtcclxuICAgICAgICAgICAgb3V0cHV0LnB1c2goeyBwYXRoOiBwYXRoLnNsaWNlKDEpLmpvaW4oJyAvICcpIHx8ICdyb290JywgaWQ6IG5vZGUuaWQsIGFuY2VzdG9ySWRQYXRoIH0pO1xyXG4gICAgICAgICAgICBub2RlLmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT5cclxuICAgICAgICAgICAgICAgIHZpc2l0KGNoaWxkLCBwYXRoLCBuZXcgU2V0PHN0cmluZz4oWy4uLmFuY2VzdG9ySWRQYXRoLCBub2RlLmlkXSksIG91dHB1dCksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdmlzaXQodGhpcy5jb2xsZWN0aW9uVHJlZSwgW10sIG5ldyBTZXQ8c3RyaW5nPigpLCBbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1Jvb3ROb2RlPFQgZXh0ZW5kcyBIYXNQYXJlbnQ+KG5vZGU6IFQgfCBSb290Tm9kZTxUPik6IG5vZGUgaXMgUm9vdE5vZGU8VD4ge1xyXG4gICAgICAgIHJldHVybiAhbm9kZS5oYXNPd25Qcm9wZXJ0eSgncGFyZW50Jyk7XHJcbiAgICB9XHJcbn1cclxuIl19