@provoly/dashboard 0.22.4 → 0.22.5

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 (195) hide show
  1. package/dataset/style/_o-pry-dataset-card.scss +24 -2
  2. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +1 -1
  3. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +1 -1
  4. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +1 -1
  5. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +1 -1
  6. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +1 -1
  7. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +1 -1
  8. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
  9. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +1 -1
  10. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +1 -1
  11. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +1 -1
  12. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +1 -1
  13. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +1 -1
  14. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +1 -1
  15. package/esm2022/components/checkbox/checkbox.component.mjs +3 -3
  16. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +1 -1
  17. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +1 -1
  18. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
  19. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -3
  20. package/esm2022/dataset/components/dataset.component.mjs +3 -3
  21. package/esm2022/dataset/style/css.component.mjs +2 -2
  22. package/esm2022/filters/autocomplete/autocomplete.component.mjs +1 -1
  23. package/esm2022/filters/list/list-filter.component.mjs +1 -1
  24. package/esm2022/import/components/import.component.mjs +1 -1
  25. package/esm2022/lib/core/components/about/about.component.mjs +3 -3
  26. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +3 -3
  27. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +8 -4
  28. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +3 -3
  29. package/esm2022/lib/core/components/select/select.component.mjs +19 -8
  30. package/esm2022/lib/core/components/share/share.component.mjs +1 -1
  31. package/esm2022/lib/core/i18n/en.translations.mjs +7 -2
  32. package/esm2022/lib/core/i18n/fr.translations.mjs +7 -2
  33. package/esm2022/lib/core/store/image/image.service.mjs +4 -3
  34. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +3 -3
  35. package/esm2022/lib/dashboard/components/dashboard.component.mjs +3 -3
  36. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +3 -3
  37. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +3 -3
  38. package/esm2022/lib/dashboard/filter/style/css.component.mjs +2 -2
  39. package/esm2022/notification/store/notification.service.mjs +1 -1
  40. package/esm2022/notification/style/css.component.mjs +2 -2
  41. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +3 -3
  42. package/esm2022/pipeline-components/filter/component/filter.component.mjs +1 -1
  43. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +1 -1
  44. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +1 -1
  45. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +1 -1
  46. package/esm2022/presentation/components/presentation.component.mjs +4 -3
  47. package/esm2022/presentation/style/css.component.mjs +2 -2
  48. package/esm2022/restitution/components/restitution/restitution.component.mjs +3 -3
  49. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -3
  50. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -3
  51. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +3 -3
  52. package/esm2022/restitution/style/css.component.mjs +2 -2
  53. package/esm2022/search/search-home/search-home.component.mjs +2 -2
  54. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +1 -1
  55. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +1 -1
  56. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +1 -1
  57. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +1 -1
  58. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +3 -3
  59. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +3 -3
  60. package/esm2022/toolbox/components/delete/delete.component.mjs +3 -3
  61. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +3 -3
  62. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +20 -8
  63. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +3 -3
  64. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
  65. package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
  66. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +3 -3
  67. package/esm2022/toolbox/components/share/share.component.mjs +4 -3
  68. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +3 -3
  69. package/esm2022/toolbox/components/toolbox.component.mjs +13 -3
  70. package/esm2022/toolbox/style/css.component.mjs +2 -2
  71. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +3 -3
  72. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +1 -1
  73. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +1 -1
  74. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +7 -7
  75. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +3 -2
  76. package/esm2022/widgets/widget-map/style/css.component.mjs +3 -3
  77. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +5 -1
  78. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +1 -1
  79. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +1 -1
  80. package/fesm2022/provoly-dashboard-admin.mjs +14 -14
  81. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  82. package/fesm2022/provoly-dashboard-components-checkbox.mjs +2 -2
  83. package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
  84. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +1 -1
  85. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  86. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +1 -1
  87. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  88. package/fesm2022/provoly-dashboard-dataset.mjs +8 -8
  89. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  90. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +1 -1
  91. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  92. package/fesm2022/provoly-dashboard-filters-list.mjs +1 -1
  93. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  94. package/fesm2022/provoly-dashboard-import.mjs +1 -1
  95. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  96. package/fesm2022/provoly-dashboard-notification.mjs +2 -2
  97. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  98. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +1 -1
  99. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  100. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +1 -1
  101. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  102. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +1 -1
  103. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  104. package/fesm2022/provoly-dashboard-pipeline.mjs +2 -2
  105. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  106. package/fesm2022/provoly-dashboard-presentation.mjs +6 -5
  107. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  108. package/fesm2022/provoly-dashboard-restitution.mjs +10 -10
  109. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  110. package/fesm2022/provoly-dashboard-search.mjs +5 -5
  111. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  112. package/fesm2022/provoly-dashboard-toolbox.mjs +54 -31
  113. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  114. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +2 -2
  115. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  116. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
  117. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  118. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
  119. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  120. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +13 -8
  121. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  122. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
  123. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  124. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +1 -1
  125. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  126. package/fesm2022/provoly-dashboard.mjs +57 -31
  127. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  128. package/lib/core/components/overlay/dialog-confirm.component.d.ts +1 -1
  129. package/lib/core/components/select/select.component.d.ts +2 -1
  130. package/lib/core/i18n/en.translations.d.ts +5 -0
  131. package/lib/core/i18n/fr.translations.d.ts +5 -0
  132. package/lib/dashboard/filter/style/_o-pry-filter-group.scss +1 -1
  133. package/notification/style/_m-notifications.scss +4 -10
  134. package/package.json +19 -19
  135. package/presentation/style/_o-pry-new-presentation.scss +0 -4
  136. package/presentation/style/_o-pry-presentation.scss +6 -1
  137. package/restitution/style/_o-restitution-list.scss +1 -1
  138. package/styles/abstracts/_mixins.scss +13 -0
  139. package/styles/components/_a-btn.scss +8 -26
  140. package/styles/components/_a-chip.scss +13 -0
  141. package/styles/components/_m-info-icon.scss +2 -3
  142. package/styles/components/{_o-datasources.scss → _o-chips-selector.scss} +3 -4
  143. package/styles/components/_o-dashboard.scss +41 -7
  144. package/styles/components/_o-modal.scss +1 -1
  145. package/styles/components/_o-widget.scss +5 -5
  146. package/styles/layout/_o-manifest-layout.scss +4 -0
  147. package/styles/libs/_reset-lib-ol.scss +9 -5
  148. package/styles/main.scss +7 -7
  149. package/styles-theme/abstracts-theme/_abstracts-overlays.theme.scss +6 -0
  150. package/styles-theme/abstracts-theme/variables/_variables-colors.scss +18 -25
  151. package/styles-theme/abstracts-theme/variables/_variables-decoration.scss +2 -2
  152. package/styles-theme/abstracts-theme/variables/_variables-typo.scss +2 -2
  153. package/styles-theme/components-theme/_a-btn.theme.scss +45 -72
  154. package/styles-theme/components-theme/_a-checkbox.theme.scss +3 -45
  155. package/styles-theme/components-theme/_a-chip.theme.scss +32 -0
  156. package/styles-theme/components-theme/_a-form-field.theme.scss +1 -1
  157. package/styles-theme/components-theme/_a-pry-select.theme.scss +11 -3
  158. package/styles-theme/components-theme/_a-toggle.theme.scss +7 -8
  159. package/styles-theme/components-theme/_m-filter.theme.scss +4 -13
  160. package/styles-theme/components-theme/_m-form-radio-group.theme.scss +17 -0
  161. package/styles-theme/components-theme/_m-info-icon.theme.scss +11 -0
  162. package/styles-theme/components-theme/_m-minus-plus.theme.scss +2 -2
  163. package/styles-theme/components-theme/_m-notifications.theme.scss +8 -4
  164. package/styles-theme/components-theme/_m-time-picker.theme.scss +1 -1
  165. package/styles-theme/components-theme/_o-catalog.theme.scss +1 -1
  166. package/styles-theme/components-theme/_o-date-picker.theme.scss +2 -2
  167. package/styles-theme/components-theme/_o-draggable-menu.theme.scss +2 -2
  168. package/styles-theme/components-theme/_o-multi-class-field-selection.theme.scss +1 -1
  169. package/styles-theme/components-theme/_o-object-panel.theme.scss +1 -1
  170. package/styles-theme/components-theme/_o-pry-admin-classes-customize.theme.scss +0 -9
  171. package/styles-theme/components-theme/_o-pry-dataset-card.theme.scss +8 -0
  172. package/styles-theme/components-theme/_o-pry-presentation.theme.scss +12 -14
  173. package/styles-theme/components-theme/_o-pry-search-tools.theme.scss +2 -13
  174. package/styles-theme/components-theme/_o-pry-stepper.theme.scss +6 -8
  175. package/styles-theme/components-theme/_o-restitution-list.theme.scss +1 -1
  176. package/styles-theme/components-theme/_o-search-fulltext.theme.scss +2 -2
  177. package/styles-theme/components-theme/_o-search-multi-class.theme.scss +0 -5
  178. package/styles-theme/components-theme/_o-settings.theme.scss +1 -1
  179. package/styles-theme/components-theme/_o-tabs.theme.scss +1 -1
  180. package/styles-theme/components-theme/_o-widget-iframe.theme.scss +2 -2
  181. package/styles-theme/components-theme/_o-widget.theme.scss +31 -2
  182. package/styles-theme/components-theme/_overlay.theme.scss +3 -3
  183. package/styles-theme/layout-theme/_o-base-layout.theme.scss +3 -3
  184. package/styles-theme/layout-theme/_o-manifest-layout.theme.scss +8 -2
  185. package/styles-theme/libs-theme/_reset-lib-ol.theme.scss +12 -3
  186. package/styles-theme/main-theme.scss +5 -4
  187. package/toolbox/components/filter-settings/filter-settings.component.d.ts +3 -2
  188. package/toolbox/components/toolbox.component.d.ts +3 -1
  189. package/toolbox/style/_o-filter-settings.scss +0 -4
  190. package/toolbox/style/_o-toolbox.scss +2 -26
  191. package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +1 -1
  192. package/widgets/widget-map/style/{_o-layer-legend.scss → _m-layer-legend.scss} +7 -8
  193. package/widgets/widget-map/style/_o-widget-map.scss +2 -2
  194. package/styles/components/_a-chips.scss +0 -15
  195. package/styles-theme/components-theme/_o-datasources.theme.scss +0 -41
@@ -52,14 +52,14 @@ export class DatasourceSelectorComponent extends ChipsSelectorComponent {
52
52
  }));
53
53
  }
54
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatasourceSelectorComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }, { token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatasourceSelectorComponent, selector: "pry-datasource-selector", inputs: { usedItems: "usedItems", manifest: "manifest" }, usesInheritance: true, ngImport: i0, template: "<div class=\"m-namedqueries-wrapper\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_namedqueries\">\n <div class=\"o-widget__search\">\n <input\n id=\"catalog-search\"\n (keydown.shift.tab)=\"previousTab.emit()\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.components.searchData' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"search($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n <div *ngIf=\"((usedItems$ | async) ?? []).length > 0; else noItems\">\n <h4 class=\"a-h4\">{{ translationStringBase + 'selection' | i18n }}</h4>\n <div>\n <ul class=\"o-datasources__list o-datasources__list--selected\">\n <li *ngFor=\"let item of usedItems$ | async\" class=\"o-datasources__item\">\n <button class=\"o-datasources__card -selected\" (click)=\"toggleItemSelection(item)\" type=\"button\">\n <p>\n {{ getItemLabel(item) }}\n </p>\n <pry-icon *ngIf=\"isGeo(item)\" iconSvg=\"globe\"></pry-icon>\n <div class=\"a-btn a-btn--primary a-btn--icon-only\">\n <pry-icon [iconSvg]=\"'close'\" [width]=\"17\" [height]=\"17\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ translationStringBase + 'unselectItem' | i18n }}</span>\n </div>\n </button>\n </li>\n </ul>\n </div>\n </div>\n <ng-template #noItems>\n <h4 class=\"a-h4\">{{ translationStringBase + 'noItemSelected' | i18n }}</h4>\n </ng-template>\n <h4 class=\"a-h4\">{{ translationStringBase + 'select' | i18n }}</h4>\n <div class=\"o-datasources__main\">\n <ul class=\"o-datasources__list\">\n <li *ngFor=\"let item of unusedItems$ | async\" class=\"o-datasources__item\">\n <button class=\"o-datasources__card\" (click)=\"toggleItemSelection(item)\">\n <span class=\"u-visually-hidden\">{{ translationStringBase + 'selectItem' | i18n }}</span>\n <p class=\"a-p\">{{ getItemLabel(item) }}</p>\n <pry-icon *ngIf=\"isGeo(item)\" iconSvg=\"globe\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n <div *ngIf=\"showActionButtons\" class=\"m-btn-group o-datasources__bottom\">\n <button type=\"button\" (click)=\"cancel.emit()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"button\"\n (click)=\"validated.emit()\"\n #validate\n (keydown.tab)=\"nextTab.emit()\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.toolbox.manifest.validated' | i18n }}\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.I18nPipe, name: "i18n" }] }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatasourceSelectorComponent, selector: "pry-datasource-selector", inputs: { usedItems: "usedItems", manifest: "manifest" }, usesInheritance: true, ngImport: i0, template: "<div class=\"m-namedqueries-wrapper\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_namedqueries\">\n <div class=\"o-widget__search\">\n <input\n id=\"catalog-search\"\n (keydown.shift.tab)=\"previousTab.emit()\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.components.searchData' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"search($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n <div *ngIf=\"((usedItems$ | async) ?? []).length > 0; else noItems\">\n <h4 class=\"a-h4\">{{ translationStringBase + 'selection' | i18n }}</h4>\n <div>\n <ul class=\"o-chips-selector__list o-chips-selector__list--selected\">\n <li *ngFor=\"let item of usedItems$ | async\" class=\"o-chips-selector__item\">\n <button class=\"a-chip -md o-chips-selector__chip\" (click)=\"toggleItemSelection(item)\" type=\"button\">\n <p>\n {{ getItemLabel(item) }}\n </p>\n <pry-icon *ngIf=\"isGeo(item)\" iconSvg=\"globe\" [width]=\"22\" [height]=\"22\"></pry-icon>\n <pry-icon [iconSvg]=\"'close'\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n </div>\n <ng-template #noItems>\n <h4 class=\"a-h4\">{{ translationStringBase + 'noItemSelected' | i18n }}</h4>\n </ng-template>\n <h4 class=\"a-h4\">{{ translationStringBase + 'select' | i18n }}</h4>\n <div class=\"o-chips-selector__main\">\n <ul class=\"o-chips-selector__list\">\n <li *ngFor=\"let item of unusedItems$ | async\" class=\"o-chips-selector__item\">\n <button class=\"a-chip a-chip--light -md o-chips-selector__chip\" (click)=\"toggleItemSelection(item)\">\n <span class=\"u-visually-hidden\">{{ translationStringBase + 'selectItem' | i18n }}</span>\n <p class=\"a-p\">{{ getItemLabel(item) }}</p>\n <pry-icon *ngIf=\"isGeo(item)\" iconSvg=\"globe\" [width]=\"22\" [height]=\"22\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n <div *ngIf=\"showActionButtons\" class=\"m-btn-group o-chips-selector__bottom\">\n <button type=\"button\" (click)=\"cancel.emit()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"button\"\n (click)=\"validated.emit()\"\n #validate\n (keydown.tab)=\"nextTab.emit()\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.toolbox.manifest.validated' | i18n }}\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.I18nPipe, name: "i18n" }] }); }
56
56
  }
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatasourceSelectorComponent, decorators: [{
58
58
  type: Component,
59
- args: [{ selector: 'pry-datasource-selector', template: "<div class=\"m-namedqueries-wrapper\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_namedqueries\">\n <div class=\"o-widget__search\">\n <input\n id=\"catalog-search\"\n (keydown.shift.tab)=\"previousTab.emit()\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.components.searchData' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"search($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n <div *ngIf=\"((usedItems$ | async) ?? []).length > 0; else noItems\">\n <h4 class=\"a-h4\">{{ translationStringBase + 'selection' | i18n }}</h4>\n <div>\n <ul class=\"o-datasources__list o-datasources__list--selected\">\n <li *ngFor=\"let item of usedItems$ | async\" class=\"o-datasources__item\">\n <button class=\"o-datasources__card -selected\" (click)=\"toggleItemSelection(item)\" type=\"button\">\n <p>\n {{ getItemLabel(item) }}\n </p>\n <pry-icon *ngIf=\"isGeo(item)\" iconSvg=\"globe\"></pry-icon>\n <div class=\"a-btn a-btn--primary a-btn--icon-only\">\n <pry-icon [iconSvg]=\"'close'\" [width]=\"17\" [height]=\"17\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ translationStringBase + 'unselectItem' | i18n }}</span>\n </div>\n </button>\n </li>\n </ul>\n </div>\n </div>\n <ng-template #noItems>\n <h4 class=\"a-h4\">{{ translationStringBase + 'noItemSelected' | i18n }}</h4>\n </ng-template>\n <h4 class=\"a-h4\">{{ translationStringBase + 'select' | i18n }}</h4>\n <div class=\"o-datasources__main\">\n <ul class=\"o-datasources__list\">\n <li *ngFor=\"let item of unusedItems$ | async\" class=\"o-datasources__item\">\n <button class=\"o-datasources__card\" (click)=\"toggleItemSelection(item)\">\n <span class=\"u-visually-hidden\">{{ translationStringBase + 'selectItem' | i18n }}</span>\n <p class=\"a-p\">{{ getItemLabel(item) }}</p>\n <pry-icon *ngIf=\"isGeo(item)\" iconSvg=\"globe\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n <div *ngIf=\"showActionButtons\" class=\"m-btn-group o-datasources__bottom\">\n <button type=\"button\" (click)=\"cancel.emit()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"button\"\n (click)=\"validated.emit()\"\n #validate\n (keydown.tab)=\"nextTab.emit()\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.toolbox.manifest.validated' | i18n }}\n </button>\n </div>\n</div>\n" }]
59
+ args: [{ selector: 'pry-datasource-selector', template: "<div class=\"m-namedqueries-wrapper\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_namedqueries\">\n <div class=\"o-widget__search\">\n <input\n id=\"catalog-search\"\n (keydown.shift.tab)=\"previousTab.emit()\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.components.searchData' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"search($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n <div *ngIf=\"((usedItems$ | async) ?? []).length > 0; else noItems\">\n <h4 class=\"a-h4\">{{ translationStringBase + 'selection' | i18n }}</h4>\n <div>\n <ul class=\"o-chips-selector__list o-chips-selector__list--selected\">\n <li *ngFor=\"let item of usedItems$ | async\" class=\"o-chips-selector__item\">\n <button class=\"a-chip -md o-chips-selector__chip\" (click)=\"toggleItemSelection(item)\" type=\"button\">\n <p>\n {{ getItemLabel(item) }}\n </p>\n <pry-icon *ngIf=\"isGeo(item)\" iconSvg=\"globe\" [width]=\"22\" [height]=\"22\"></pry-icon>\n <pry-icon [iconSvg]=\"'close'\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n </div>\n <ng-template #noItems>\n <h4 class=\"a-h4\">{{ translationStringBase + 'noItemSelected' | i18n }}</h4>\n </ng-template>\n <h4 class=\"a-h4\">{{ translationStringBase + 'select' | i18n }}</h4>\n <div class=\"o-chips-selector__main\">\n <ul class=\"o-chips-selector__list\">\n <li *ngFor=\"let item of unusedItems$ | async\" class=\"o-chips-selector__item\">\n <button class=\"a-chip a-chip--light -md o-chips-selector__chip\" (click)=\"toggleItemSelection(item)\">\n <span class=\"u-visually-hidden\">{{ translationStringBase + 'selectItem' | i18n }}</span>\n <p class=\"a-p\">{{ getItemLabel(item) }}</p>\n <pry-icon *ngIf=\"isGeo(item)\" iconSvg=\"globe\" [width]=\"22\" [height]=\"22\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n <div *ngIf=\"showActionButtons\" class=\"m-btn-group o-chips-selector__bottom\">\n <button type=\"button\" (click)=\"cancel.emit()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"button\"\n (click)=\"validated.emit()\"\n #validate\n (keydown.tab)=\"nextTab.emit()\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.toolbox.manifest.validated' | i18n }}\n </button>\n </div>\n</div>\n" }]
60
60
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i0.ChangeDetectorRef }, { type: i2.PryI18nService }]; }, propDecorators: { usedItems: [{
61
61
  type: Input
62
62
  }], manifest: [{
63
63
  type: Input
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhc291cmNlLXNlbGVjdG9yL2RhdGFzb3VyY2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9jaGlwcy1zZWxlY3Rvci9jaGlwcy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFFQUFxRSxDQUFDOzs7Ozs7OztBQVM3RyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsc0JBQXNCO0lBSXJFLElBQXNCLFNBQVMsQ0FBQyxLQUFZO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFhLFFBQVEsQ0FBQyxRQUErQjtRQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBSUQsWUFBb0IsS0FBWSxFQUFFLEdBQXNCLEVBQUUsSUFBb0I7UUFDNUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxJ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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVTktOT1dOX0RBVEFTT1VSQ0UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2NvbXBvbmVudHMvdHJhbnNsYXRlLWlkL3RyYW5zbGF0ZS1pZC5waXBlJztcbmltcG9ydCB7IE5hbWVkUXVlcnkgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLm1vZGVsJztcbmltcG9ydCB7IERhdGFTb3VyY2VTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDaGlwc1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9jb21wb25lbnRzL2NoaXBzLXNlbGVjdG9yL2NoaXBzLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXRNYW5pZmVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3N1YnNjcmlwdGlvbm5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2kxOG4vaTE4bi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGFzb3VyY2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4uLy4uLy4uLy4uL2NvcmUvY29tcG9uZW50cy9jaGlwcy1zZWxlY3Rvci9jaGlwcy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGF0YXNvdXJjZVNlbGVjdG9yQ29tcG9uZW50IGV4dGVuZHMgQ2hpcHNTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIF91c2VkSXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSBhcyBhbnlbXSk7XG4gIHVzZWREYXRhc291cmNlcyQ6IE9ic2VydmFibGU8TmFtZWRRdWVyeVtdPjtcblxuICBASW5wdXQoKSBvdmVycmlkZSBzZXQgdXNlZEl0ZW1zKGl0ZW1zOiBhbnlbXSkge1xuICAgIHRoaXMuX3VzZWRJdGVtcyQubmV4dChpdGVtcyk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgbWFuaWZlc3QobWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IHwgbnVsbCkge1xuICAgIHRoaXMubWFuaWZlc3QkLm5leHQobWFuaWZlc3QpO1xuICB9XG5cbiAgbWFuaWZlc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXRNYW5pZmVzdCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBpMThuOiBQcnlJMThuU2VydmljZSkge1xuICAgIHN1cGVyKGNkciwgaTE4bik7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubWFuaWZlc3QkLCB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzU29ydGVkKV0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoW21hbmlmZXN0LCBhbGxOYW1lZFF1ZXJpZXNdKSA9PiB7XG4gICAgICAgICAgICBsZXQgZHNzID0gWy4uLmFsbE5hbWVkUXVlcmllc107XG4gICAgICAgICAgICBpZiAoISFtYW5pZmVzdCkge1xuICAgICAgICAgICAgICBjb25zdCBtYW5pZmVzdE5hbWVkUXVlcmllcyA9IEFycmF5LmlzQXJyYXkobWFuaWZlc3QuZGF0YXNvdXJjZSlcbiAgICAgICAgICAgICAgICA/IG1hbmlmZXN0LmRhdGFzb3VyY2VcbiAgICAgICAgICAgICAgICA6IFttYW5pZmVzdC5kYXRhc291cmNlXTtcbiAgICAgICAgICAgICAgbWFuaWZlc3ROYW1lZFF1ZXJpZXMuZm9yRWFjaCgobWFuaWZlc3ROYW1lZFF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxyZWFkeVByZXNlbnQgPSAhIWFsbE5hbWVkUXVlcmllcy5maW5kKChucSkgPT4gbnEuaWQgPT09IG1hbmlmZXN0TmFtZWRRdWVyeSk7XG4gICAgICAgICAgICAgICAgaWYgKCFhbHJlYWR5UHJlc2VudCkge1xuICAgICAgICAgICAgICAgICAgZHNzLnB1c2goVU5LTk9XTl9EQVRBU09VUkNFKG1hbmlmZXN0TmFtZWRRdWVyeSA/PyAnJykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZHNzO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YXNvdXJjZXMpID0+IHtcbiAgICAgICAgICB0aGlzLml0ZW1zJC5uZXh0KGRhdGFzb3VyY2VzKTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy51c2VkRGF0YXNvdXJjZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl91c2VkSXRlbXMkLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5nZXREYXRhU291cmNlcylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW3VzZWREYXRhc291cmNlcywgZGF0YXNvdXJjZXNdKSA9PlxuICAgICAgICAgIHVzZWREYXRhc291cmNlc1xuICAgICAgICAgICAgLm1hcCgodXNlZERhdGFzb3VyY2UpID0+IGRhdGFzb3VyY2VzLmZpbmQoKGRzKSA9PiBkcy5pZCA9PT0gdXNlZERhdGFzb3VyY2UuaWQpID8/IHVzZWREYXRhc291cmNlKVxuICAgICAgICAgICAgLm1hcCgobnEpID0+ICh0eXBlb2YgbnEgIT09ICdzdHJpbmcnID8gbnEgOiBVTktOT1dOX0RBVEFTT1VSQ0UobnEpKSkgYXMgTmFtZWRRdWVyeVtdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnVzZWREYXRhc291cmNlcyQuc3Vic2NyaWJlKCh1c2VkRGF0YXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy51c2VkSXRlbXMkLm5leHQodXNlZERhdGFzb3VyY2VzKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tbmFtZWRxdWVyaWVzLXdyYXBwZXJcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiBhcmlhLWxhYmVsbGVkYnk9XCJkaWFsb2dfbmFtZWRxdWVyaWVzXCI+XG4gIDxkaXYgY2xhc3M9XCJvLXdpZGdldF9fc2VhcmNoXCI+XG4gICAgPGlucHV0XG4gICAgICBpZD1cImNhdGFsb2ctc2VhcmNoXCJcbiAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCJwcmV2aW91c1RhYi5lbWl0KClcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmNvbXBvbmVudHMuc2VhcmNoRGF0YScgfCBpMThuXCJcbiAgICAgIFtuZ01vZGVsXT1cInNlYXJjaCQgfCBhc3luY1wiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cInNlYXJjaFwiIFt3aWR0aF09XCIxN1wiIFtoZWlnaHRdPVwiMTdcIj48L3ByeS1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIigodXNlZEl0ZW1zJCB8IGFzeW5jKSA/PyBbXSkubGVuZ3RoID4gMDsgZWxzZSBub0l0ZW1zXCI+XG4gICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7IHRyYW5zbGF0aW9uU3RyaW5nQmFzZSArICdzZWxlY3Rpb24nIHwgaTE4biB9fTwvaDQ+XG4gICAgPGRpdj5cbiAgICAgIDx1bCBjbGFzcz1cIm8tZGF0YXNvdXJjZXNfX2xpc3Qgby1kYXRhc291cmNlc19fbGlzdC0tc2VsZWN0ZWRcIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIHVzZWRJdGVtcyQgfCBhc3luY1wiIGNsYXNzPVwiby1kYXRhc291cmNlc19faXRlbVwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJvLWRhdGFzb3VyY2VzX19jYXJkIC1zZWxlY3RlZFwiIChjbGljayk9XCJ0b2dnbGVJdGVtU2VsZWN0aW9uKGl0ZW0pXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIHt7IGdldEl0ZW1MYWJlbChpdGVtKSB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHByeS1pY29uICpuZ0lmPVwiaXNHZW8oaXRlbSlcIiBpY29uU3ZnPVwiZ2xvYmVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtYnRuLS1pY29uLW9ubHlcIj5cbiAgICAgICAgICAgICAgPHByeS1pY29uIFtpY29uU3ZnXT1cIidjbG9zZSdcIiBbd2lkdGhdPVwiMTdcIiBbaGVpZ2h0XT1cIjE3XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7IHRyYW5zbGF0aW9uU3RyaW5nQmFzZSArICd1bnNlbGVjdEl0ZW0nIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9JdGVtcz5cbiAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgdHJhbnNsYXRpb25TdHJpbmdCYXNlICsgJ25vSXRlbVNlbGVjdGVkJyB8IGkxOG4gfX08L2g0PlxuICA8L25nLXRlbXBsYXRlPlxuICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgdHJhbnNsYXRpb25TdHJpbmdCYXNlICsgJ3NlbGVjdCcgfCBpMThuIH19PC9oND5cbiAgPGRpdiBjbGFzcz1cIm8tZGF0YXNvdXJjZXNfX21haW5cIj5cbiAgICA8dWwgY2xhc3M9XCJvLWRhdGFzb3VyY2VzX19saXN0XCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdW51c2VkSXRlbXMkIHwgYXN5bmNcIiBjbGFzcz1cIm8tZGF0YXNvdXJjZXNfX2l0ZW1cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm8tZGF0YXNvdXJjZXNfX2NhcmRcIiAoY2xpY2spPVwidG9nZ2xlSXRlbVNlbGVjdGlvbihpdGVtKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyB0cmFuc2xhdGlvblN0cmluZ0Jhc2UgKyAnc2VsZWN0SXRlbScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+e3sgZ2V0SXRlbUxhYmVsKGl0ZW0pIH19PC9wPlxuICAgICAgICAgIDxwcnktaWNvbiAqbmdJZj1cImlzR2VvKGl0ZW0pXCIgaWNvblN2Zz1cImdsb2JlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0FjdGlvbkJ1dHRvbnNcIiBjbGFzcz1cIm0tYnRuLWdyb3VwIG8tZGF0YXNvdXJjZXNfX2JvdHRvbVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwuZW1pdCgpXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCI+XG4gICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJ2YWxpZGF0ZWQuZW1pdCgpXCJcbiAgICAgICN2YWxpZGF0ZVxuICAgICAgKGtleWRvd24udGFiKT1cIm5leHRUYWIuZW1pdCgpXCJcbiAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgID5cbiAgICAgIHt7ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QudmFsaWRhdGVkJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhc291cmNlLXNlbGVjdG9yL2RhdGFzb3VyY2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9jaGlwcy1zZWxlY3Rvci9jaGlwcy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFFQUFxRSxDQUFDOzs7Ozs7OztBQVM3RyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsc0JBQXNCO0lBSXJFLElBQXNCLFNBQVMsQ0FBQyxLQUFZO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFhLFFBQVEsQ0FBQyxRQUErQjtRQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBSUQsWUFBb0IsS0FBWSxFQUFFLEdBQXNCLEVBQUUsSUFBb0I7UUFDNUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxJ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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVTktOT1dOX0RBVEFTT1VSQ0UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2NvbXBvbmVudHMvdHJhbnNsYXRlLWlkL3RyYW5zbGF0ZS1pZC5waXBlJztcbmltcG9ydCB7IE5hbWVkUXVlcnkgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLm1vZGVsJztcbmltcG9ydCB7IERhdGFTb3VyY2VTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDaGlwc1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9jb21wb25lbnRzL2NoaXBzLXNlbGVjdG9yL2NoaXBzLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXRNYW5pZmVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3N1YnNjcmlwdGlvbm5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2kxOG4vaTE4bi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGFzb3VyY2Utc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4uLy4uLy4uLy4uL2NvcmUvY29tcG9uZW50cy9jaGlwcy1zZWxlY3Rvci9jaGlwcy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGF0YXNvdXJjZVNlbGVjdG9yQ29tcG9uZW50IGV4dGVuZHMgQ2hpcHNTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIF91c2VkSXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSBhcyBhbnlbXSk7XG4gIHVzZWREYXRhc291cmNlcyQ6IE9ic2VydmFibGU8TmFtZWRRdWVyeVtdPjtcblxuICBASW5wdXQoKSBvdmVycmlkZSBzZXQgdXNlZEl0ZW1zKGl0ZW1zOiBhbnlbXSkge1xuICAgIHRoaXMuX3VzZWRJdGVtcyQubmV4dChpdGVtcyk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgbWFuaWZlc3QobWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IHwgbnVsbCkge1xuICAgIHRoaXMubWFuaWZlc3QkLm5leHQobWFuaWZlc3QpO1xuICB9XG5cbiAgbWFuaWZlc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXRNYW5pZmVzdCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBpMThuOiBQcnlJMThuU2VydmljZSkge1xuICAgIHN1cGVyKGNkciwgaTE4bik7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubWFuaWZlc3QkLCB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzU29ydGVkKV0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoW21hbmlmZXN0LCBhbGxOYW1lZFF1ZXJpZXNdKSA9PiB7XG4gICAgICAgICAgICBsZXQgZHNzID0gWy4uLmFsbE5hbWVkUXVlcmllc107XG4gICAgICAgICAgICBpZiAoISFtYW5pZmVzdCkge1xuICAgICAgICAgICAgICBjb25zdCBtYW5pZmVzdE5hbWVkUXVlcmllcyA9IEFycmF5LmlzQXJyYXkobWFuaWZlc3QuZGF0YXNvdXJjZSlcbiAgICAgICAgICAgICAgICA/IG1hbmlmZXN0LmRhdGFzb3VyY2VcbiAgICAgICAgICAgICAgICA6IFttYW5pZmVzdC5kYXRhc291cmNlXTtcbiAgICAgICAgICAgICAgbWFuaWZlc3ROYW1lZFF1ZXJpZXMuZm9yRWFjaCgobWFuaWZlc3ROYW1lZFF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxyZWFkeVByZXNlbnQgPSAhIWFsbE5hbWVkUXVlcmllcy5maW5kKChucSkgPT4gbnEuaWQgPT09IG1hbmlmZXN0TmFtZWRRdWVyeSk7XG4gICAgICAgICAgICAgICAgaWYgKCFhbHJlYWR5UHJlc2VudCkge1xuICAgICAgICAgICAgICAgICAgZHNzLnB1c2goVU5LTk9XTl9EQVRBU09VUkNFKG1hbmlmZXN0TmFtZWRRdWVyeSA/PyAnJykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZHNzO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YXNvdXJjZXMpID0+IHtcbiAgICAgICAgICB0aGlzLml0ZW1zJC5uZXh0KGRhdGFzb3VyY2VzKTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy51c2VkRGF0YXNvdXJjZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl91c2VkSXRlbXMkLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5nZXREYXRhU291cmNlcylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW3VzZWREYXRhc291cmNlcywgZGF0YXNvdXJjZXNdKSA9PlxuICAgICAgICAgIHVzZWREYXRhc291cmNlc1xuICAgICAgICAgICAgLm1hcCgodXNlZERhdGFzb3VyY2UpID0+IGRhdGFzb3VyY2VzLmZpbmQoKGRzKSA9PiBkcy5pZCA9PT0gdXNlZERhdGFzb3VyY2UuaWQpID8/IHVzZWREYXRhc291cmNlKVxuICAgICAgICAgICAgLm1hcCgobnEpID0+ICh0eXBlb2YgbnEgIT09ICdzdHJpbmcnID8gbnEgOiBVTktOT1dOX0RBVEFTT1VSQ0UobnEpKSkgYXMgTmFtZWRRdWVyeVtdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnVzZWREYXRhc291cmNlcyQuc3Vic2NyaWJlKCh1c2VkRGF0YXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy51c2VkSXRlbXMkLm5leHQodXNlZERhdGFzb3VyY2VzKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tbmFtZWRxdWVyaWVzLXdyYXBwZXJcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiBhcmlhLWxhYmVsbGVkYnk9XCJkaWFsb2dfbmFtZWRxdWVyaWVzXCI+XG4gIDxkaXYgY2xhc3M9XCJvLXdpZGdldF9fc2VhcmNoXCI+XG4gICAgPGlucHV0XG4gICAgICBpZD1cImNhdGFsb2ctc2VhcmNoXCJcbiAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCJwcmV2aW91c1RhYi5lbWl0KClcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmNvbXBvbmVudHMuc2VhcmNoRGF0YScgfCBpMThuXCJcbiAgICAgIFtuZ01vZGVsXT1cInNlYXJjaCQgfCBhc3luY1wiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cInNlYXJjaFwiIFt3aWR0aF09XCIxN1wiIFtoZWlnaHRdPVwiMTdcIj48L3ByeS1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIigodXNlZEl0ZW1zJCB8IGFzeW5jKSA/PyBbXSkubGVuZ3RoID4gMDsgZWxzZSBub0l0ZW1zXCI+XG4gICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7IHRyYW5zbGF0aW9uU3RyaW5nQmFzZSArICdzZWxlY3Rpb24nIHwgaTE4biB9fTwvaDQ+XG4gICAgPGRpdj5cbiAgICAgIDx1bCBjbGFzcz1cIm8tY2hpcHMtc2VsZWN0b3JfX2xpc3Qgby1jaGlwcy1zZWxlY3Rvcl9fbGlzdC0tc2VsZWN0ZWRcIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIHVzZWRJdGVtcyQgfCBhc3luY1wiIGNsYXNzPVwiby1jaGlwcy1zZWxlY3Rvcl9faXRlbVwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWNoaXAgLW1kIG8tY2hpcHMtc2VsZWN0b3JfX2NoaXBcIiAoY2xpY2spPVwidG9nZ2xlSXRlbVNlbGVjdGlvbihpdGVtKVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICB7eyBnZXRJdGVtTGFiZWwoaXRlbSkgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwcnktaWNvbiAqbmdJZj1cImlzR2VvKGl0ZW0pXCIgaWNvblN2Zz1cImdsb2JlXCIgW3dpZHRoXT1cIjIyXCIgW2hlaWdodF09XCIyMlwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICA8cHJ5LWljb24gW2ljb25TdmddPVwiJ2Nsb3NlJ1wiIFt3aWR0aF09XCIxN1wiIFtoZWlnaHRdPVwiMTdcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9JdGVtcz5cbiAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgdHJhbnNsYXRpb25TdHJpbmdCYXNlICsgJ25vSXRlbVNlbGVjdGVkJyB8IGkxOG4gfX08L2g0PlxuICA8L25nLXRlbXBsYXRlPlxuICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgdHJhbnNsYXRpb25TdHJpbmdCYXNlICsgJ3NlbGVjdCcgfCBpMThuIH19PC9oND5cbiAgPGRpdiBjbGFzcz1cIm8tY2hpcHMtc2VsZWN0b3JfX21haW5cIj5cbiAgICA8dWwgY2xhc3M9XCJvLWNoaXBzLXNlbGVjdG9yX19saXN0XCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdW51c2VkSXRlbXMkIHwgYXN5bmNcIiBjbGFzcz1cIm8tY2hpcHMtc2VsZWN0b3JfX2l0ZW1cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtY2hpcCBhLWNoaXAtLWxpZ2h0IC1tZCBvLWNoaXBzLXNlbGVjdG9yX19jaGlwXCIgKGNsaWNrKT1cInRvZ2dsZUl0ZW1TZWxlY3Rpb24oaXRlbSlcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgdHJhbnNsYXRpb25TdHJpbmdCYXNlICsgJ3NlbGVjdEl0ZW0nIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPnt7IGdldEl0ZW1MYWJlbChpdGVtKSB9fTwvcD5cbiAgICAgICAgICA8cHJ5LWljb24gKm5nSWY9XCJpc0dlbyhpdGVtKVwiIGljb25Tdmc9XCJnbG9iZVwiIFt3aWR0aF09XCIyMlwiIFtoZWlnaHRdPVwiMjJcIj48L3ByeS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93QWN0aW9uQnV0dG9uc1wiIGNsYXNzPVwibS1idG4tZ3JvdXAgby1jaGlwcy1zZWxlY3Rvcl9fYm90dG9tXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbC5lbWl0KClcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIj5cbiAgICAgIHt7ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cInZhbGlkYXRlZC5lbWl0KClcIlxuICAgICAgI3ZhbGlkYXRlXG4gICAgICAoa2V5ZG93bi50YWIpPVwibmV4dFRhYi5lbWl0KClcIlxuICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgPlxuICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC52YWxpZGF0ZWQnIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -32,13 +32,13 @@ export class FilterGroupComponent {
32
32
  ?.contains(document.querySelector('ng-dropdown-panel.ng-dropdown-panel')) || false;
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterGroupComponent, deps: [{ token: i1.Store }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterGroupComponent, selector: "pry-filter-group", ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n <pry-filter-instanciator\n *ngFor=\"let filter of manifest.filters\"\n [filter]=\"filter\"\n [applyFilter$]=\"apply$\"\n ></pry-filter-instanciator>\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--secondary a-btn--icon-only -size-md\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary -size-md\" (click)=\"filter()\">\n {{ '@pry.toolbox.filter' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: ["filter", "applyFilter$"] }, { kind: "component", type: i5.PryFilterGroupCssComponent, selector: "pry-filter-group-css" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.I18nPipe, name: "i18n" }] }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterGroupComponent, selector: "pry-filter-group", ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n <pry-filter-instanciator\n *ngFor=\"let filter of manifest.filters\"\n [filter]=\"filter\"\n [applyFilter$]=\"apply$\"\n ></pry-filter-instanciator>\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.filter' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: ["filter", "applyFilter$"] }, { kind: "component", type: i5.PryFilterGroupCssComponent, selector: "pry-filter-group-css" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.I18nPipe, name: "i18n" }] }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterGroupComponent, decorators: [{
38
38
  type: Component,
39
- args: [{ selector: 'pry-filter-group', template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n <pry-filter-instanciator\n *ngFor=\"let filter of manifest.filters\"\n [filter]=\"filter\"\n [applyFilter$]=\"apply$\"\n ></pry-filter-instanciator>\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--secondary a-btn--icon-only -size-md\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary -size-md\" (click)=\"filter()\">\n {{ '@pry.toolbox.filter' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n" }]
39
+ args: [{ selector: 'pry-filter-group', template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n <pry-filter-instanciator\n *ngFor=\"let filter of manifest.filters\"\n [filter]=\"filter\"\n [applyFilter$]=\"apply$\"\n ></pry-filter-instanciator>\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.filter' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n" }]
40
40
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: Document, decorators: [{
41
41
  type: Inject,
42
42
  args: [DOCUMENT]
43
43
  }] }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWdyb3VwL2ZpbHRlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2ZpbHRlci9jb21wb25lbnRzL2ZpbHRlci1ncm91cC9maWx0ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBTzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFBb0IsS0FBWSxFQUE0QixRQUFrQjtRQUExRCxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQTRCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFIOUUsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR25CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWTtZQUNmLElBQUksQ0FBQyxRQUFRO2lCQUNWLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQztnQkFDaEQsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3pGLENBQUM7K0dBdkJVLG9CQUFvQix1Q0FLVyxRQUFRO21HQUx2QyxvQkFBb0Isd0RDYmpDLDA4QkFxQkE7OzRGRFJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQVNPLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcbmltcG9ydCB7IEdsb2JhbE1hbmlmZXN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tIFwiLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9yc1wiO1xuaW1wb3J0IHsgRGFzaGJvYXJkQWN0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi9zdG9yZS9kYXNoYm9hcmQuYWN0aW9uc1wiO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1maWx0ZXItZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDonLi9maWx0ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnXG59KVxuXG5leHBvcnQgY2xhc3MgRmlsdGVyR3JvdXBDb21wb25lbnQge1xuICBnbG9iYWxNYW5pZmVzdCQ6IE9ic2VydmFibGU8R2xvYmFsTWFuaWZlc3Q+O1xuICBhcHBseSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG4gIGlzU2VsZWN0T3BlbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge1xuICAgIHRoaXMuZ2xvYmFsTWFuaWZlc3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KTtcbiAgfVxuXG4gIGZpbHRlcigpIHtcbiAgICB0aGlzLmFwcGx5JC5uZXh0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLmRpc3BhdGNoRmlsdGVycygpKTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVycygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuY2xlYXJBbGxGaWx0ZXJWYWx1ZXMoKSk7XG4gIH1cblxuICBvcGVuU2VsZWN0KCkge1xuICAgIHRoaXMuaXNTZWxlY3RPcGVuID1cbiAgICAgIHRoaXMuZG9jdW1lbnRcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5vLWNvbnRhaW5lcl9fZmlsdGVyLWNvbnRhaW5lcicpXG4gICAgICAgID8uY29udGFpbnMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbmctZHJvcGRvd24tcGFuZWwubmctZHJvcGRvd24tcGFuZWwnKSkgfHwgZmFsc2U7XG4gIH1cbn1cbiIsIjxwcnktZmlsdGVyLWdyb3VwLWNzcz48L3ByeS1maWx0ZXItZ3JvdXAtY3NzPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImdsb2JhbE1hbmlmZXN0JCB8IGFzeW5jIGFzIG1hbmlmZXN0XCI+XG4gIDxkaXYgY2xhc3M9XCJvLWNvbnRhaW5lcl9fZmlsdGVyc1wiICpuZ0lmPVwibWFuaWZlc3QuZmlsdGVycyAmJiBtYW5pZmVzdC5maWx0ZXJzLmxlbmd0aCA+IDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1jb250YWluZXJfX2ZpbHRlci1jb250YWluZXJcIiAoY2xpY2spPVwib3BlblNlbGVjdCgpXCI+XG4gICAgICA8cHJ5LWZpbHRlci1pbnN0YW5jaWF0b3JcbiAgICAgICAgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBtYW5pZmVzdC5maWx0ZXJzXCJcbiAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxuICAgICAgICBbYXBwbHlGaWx0ZXIkXT1cImFwcGx5JFwiXG4gICAgICA+PC9wcnktZmlsdGVyLWluc3RhbmNpYXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiby1jb250YWluZXJfX2ZpbHRlci1hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgYS1idG4tLWljb24tb25seSAtc2l6ZS1tZFwiIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiPlxuICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsZWFyX2ZpbHRlclwiPjwvcHJ5LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgLXNpemUtbWRcIiAoY2xpY2spPVwiZmlsdGVyKClcIj5cbiAgICAgICAge3sgJ0BwcnkudG9vbGJveC5maWx0ZXInIHwgaTE4biB9fVxuICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlZnJlc2hfZmlsdGVyXCI+PC9wcnktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWdyb3VwL2ZpbHRlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2ZpbHRlci9jb21wb25lbnRzL2ZpbHRlci1ncm91cC9maWx0ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBTzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFBb0IsS0FBWSxFQUE0QixRQUFrQjtRQUExRCxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQTRCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFIOUUsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR25CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWTtZQUNmLElBQUksQ0FBQyxRQUFRO2lCQUNWLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQztnQkFDaEQsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3pGLENBQUM7K0dBdkJVLG9CQUFvQix1Q0FLVyxRQUFRO21HQUx2QyxvQkFBb0Isd0RDYmpDLHErQkFxQkE7OzRGRFJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQVNPLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcbmltcG9ydCB7IEdsb2JhbE1hbmlmZXN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tIFwiLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9yc1wiO1xuaW1wb3J0IHsgRGFzaGJvYXJkQWN0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi9zdG9yZS9kYXNoYm9hcmQuYWN0aW9uc1wiO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1maWx0ZXItZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDonLi9maWx0ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnXG59KVxuXG5leHBvcnQgY2xhc3MgRmlsdGVyR3JvdXBDb21wb25lbnQge1xuICBnbG9iYWxNYW5pZmVzdCQ6IE9ic2VydmFibGU8R2xvYmFsTWFuaWZlc3Q+O1xuICBhcHBseSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG4gIGlzU2VsZWN0T3BlbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge1xuICAgIHRoaXMuZ2xvYmFsTWFuaWZlc3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KTtcbiAgfVxuXG4gIGZpbHRlcigpIHtcbiAgICB0aGlzLmFwcGx5JC5uZXh0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLmRpc3BhdGNoRmlsdGVycygpKTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVycygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuY2xlYXJBbGxGaWx0ZXJWYWx1ZXMoKSk7XG4gIH1cblxuICBvcGVuU2VsZWN0KCkge1xuICAgIHRoaXMuaXNTZWxlY3RPcGVuID1cbiAgICAgIHRoaXMuZG9jdW1lbnRcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5vLWNvbnRhaW5lcl9fZmlsdGVyLWNvbnRhaW5lcicpXG4gICAgICAgID8uY29udGFpbnMoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbmctZHJvcGRvd24tcGFuZWwubmctZHJvcGRvd24tcGFuZWwnKSkgfHwgZmFsc2U7XG4gIH1cbn1cbiIsIjxwcnktZmlsdGVyLWdyb3VwLWNzcz48L3ByeS1maWx0ZXItZ3JvdXAtY3NzPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImdsb2JhbE1hbmlmZXN0JCB8IGFzeW5jIGFzIG1hbmlmZXN0XCI+XG4gIDxkaXYgY2xhc3M9XCJvLWNvbnRhaW5lcl9fZmlsdGVyc1wiICpuZ0lmPVwibWFuaWZlc3QuZmlsdGVycyAmJiBtYW5pZmVzdC5maWx0ZXJzLmxlbmd0aCA+IDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1jb250YWluZXJfX2ZpbHRlci1jb250YWluZXJcIiAoY2xpY2spPVwib3BlblNlbGVjdCgpXCI+XG4gICAgICA8cHJ5LWZpbHRlci1pbnN0YW5jaWF0b3JcbiAgICAgICAgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBtYW5pZmVzdC5maWx0ZXJzXCJcbiAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxuICAgICAgICBbYXBwbHlGaWx0ZXIkXT1cImFwcGx5JFwiXG4gICAgICA+PC9wcnktZmlsdGVyLWluc3RhbmNpYXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiby1jb250YWluZXJfX2ZpbHRlci1hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5cbiAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbGVhcl9maWx0ZXJcIiBbd2lkdGhdPVwiMzBcIiBbaGVpZ2h0XT1cIjMwXCI+PC9wcnktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJmaWx0ZXIoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94LmZpbHRlcicgfCBpMThuIH19XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwicmVmcmVzaF9maWx0ZXJcIiBbd2lkdGhdPVwiMThcIiBbaGVpZ2h0XT1cIjE4XCI+PC9wcnktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -2,10 +2,10 @@ import { Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class PryFilterGroupCssComponent {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryFilterGroupCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryFilterGroupCssComponent, selector: "pry-filter-group-css", ngImport: i0, template: '', isInline: true, styles: [".o-container{height:100%}.o-container__filters{display:flex;padding:.5rem .625rem;max-height:50px;gap:.625rem}.o-container__filter-container{display:flex;justify-content:flex-start;margin-bottom:-.3125rem;max-height:50px;padding:.25rem 0;overflow-x:auto;overflow-y:hidden}.o-container__filter-actions{display:flex;align-items:center;gap:.625rem;padding:0 .625rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryFilterGroupCssComponent, selector: "pry-filter-group-css", ngImport: i0, template: '', isInline: true, styles: [".o-container{height:100%}.o-container__filters{display:flex;padding:.5rem .625rem;max-height:50px;gap:.625rem}.o-container__filter-container{display:flex;justify-content:flex-start;margin-bottom:-.3125rem;max-height:50px;padding:.25rem 0;overflow-x:auto;overflow-y:hidden}.o-container__filter-actions{display:flex;align-items:center;gap:.9375rem;padding:0 .625rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryFilterGroupCssComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'pry-filter-group-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-container{height:100%}.o-container__filters{display:flex;padding:.5rem .625rem;max-height:50px;gap:.625rem}.o-container__filter-container{display:flex;justify-content:flex-start;margin-bottom:-.3125rem;max-height:50px;padding:.25rem 0;overflow-x:auto;overflow-y:hidden}.o-container__filter-actions{display:flex;align-items:center;gap:.625rem;padding:0 .625rem}\n"] }]
9
+ args: [{ selector: 'pry-filter-group-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-container{height:100%}.o-container__filters{display:flex;padding:.5rem .625rem;max-height:50px;gap:.625rem}.o-container__filter-container{display:flex;justify-content:flex-start;margin-bottom:-.3125rem;max-height:50px;padding:.25rem 0;overflow-x:auto;overflow-y:hidden}.o-container__filter-actions{display:flex;align-items:center;gap:.9375rem;padding:0 .625rem}\n"] }]
10
10
  }] });
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZmlsdGVyL3N0eWxlL2Nzcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPN0QsTUFBTSxPQUFPLDBCQUEwQjsrR0FBMUIsMEJBQTBCO21HQUExQiwwQkFBMEIsNERBSjNCLEVBQUU7OzRGQUlELDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSxzQkFBc0IsWUFDdEIsRUFBRSxpQkFFRyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWZpbHRlci1ncm91cC1jc3MnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL19vLXByeS1maWx0ZXItZ3JvdXAuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByeUZpbHRlckdyb3VwQ3NzQ29tcG9uZW50IHt9XG4iXX0=
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
28
28
  providedIn: 'root'
29
29
  }]
30
30
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9ub3RpZmljYXRpb24vc3RvcmUvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUtoQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ1UsVUFBc0IsRUFDdEIsS0FBaUI7UUFEakIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFZO0lBQ3hCLENBQUM7SUFFSixrQkFBa0IsQ0FBQyxFQUFVO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDOytHQWhCVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PlxuICApIHt9XG5cbiAgZGVsZXRlTm90aWZpY2F0aW9uKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZShlbmNvZGVVUkkoYCR7dXJsfS9ub3RpZmljYXRpb24vbWUvaWQvJHtpZH1gKSkpKTtcbiAgfVxuXG4gIGRlbGV0ZUFsbE5vdGlmaWNhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGUoZW5jb2RlVVJJKGAke3VybH0vbm90aWZpY2F0aW9uL21lYCkpKSk7XG4gIH1cbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9ub3RpZmljYXRpb24vc3RvcmUvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUtoQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLFVBQXNCLEVBQVUsS0FBaUI7UUFBakQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7SUFBRyxDQUFDO0lBRXpFLGtCQUFrQixDQUFDLEVBQVU7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsdUJBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7K0dBYlUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+KSB7fVxuXG4gIGRlbGV0ZU5vdGlmaWNhdGlvbihpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGUoZW5jb2RlVVJJKGAke3VybH0vbm90aWZpY2F0aW9uL21lL2lkLyR7aWR9YCkpKSk7XG4gIH1cblxuICBkZWxldGVBbGxOb3RpZmljYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKGVuY29kZVVSSShgJHt1cmx9L25vdGlmaWNhdGlvbi9tZWApKSkpO1xuICB9XG59XG4iXX0=
@@ -2,10 +2,10 @@ import { Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class PryNotificationCssComponent {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryNotificationCssComponent, selector: "pry-notification-css", ngImport: i0, template: '', isInline: true, styles: [".m-notifications-list__items{margin:0;padding:0}.m-notifications-list__items li{list-style:none}.m-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:1.875rem;min-height:1.4375rem}.m-notifications .a-btn{width:2.5rem;height:2.5rem}.m-notifications .a-btn:before{content:\"\";display:block;position:absolute;width:100%;height:100%;border-radius:50%}.m-notifications .a-btn .a-pastille{position:absolute;top:-.4375rem;right:-.4375rem}.m-notifications-list{position:absolute;top:.9375rem;right:10px;display:flex;align-items:center;flex-direction:column;min-width:17.1875rem;max-height:41.5625rem;border-radius:.3125rem}.m-notifications-list .caret-top{position:absolute;z-index:3;bottom:100%;left:14.1875rem;width:0;border:.5rem solid transparent;border-top:none;border-bottom-color:#fff;filter:drop-shadow(0 -.0625rem .0625rem rgba(0,0,0,.1))}.m-notifications-list__header{width:100%;padding:.9375rem}.m-notifications-list__header .a-p.none{margin-top:.625rem}.m-notifications-list__header .a-btn{padding-left:.9375rem;padding-right:.9375rem}.m-notifications-list__content{overflow:auto;height:auto;padding-bottom:.9375rem}.m-notifications-list__items{padding:0 15px}.m-notifications-list__items__li{position:relative;display:flex;justify-content:space-between;align-items:center;padding:.8125rem 0 .9375rem;gap:.3125rem}.m-notifications-list__items__li:last-of-type{padding-bottom:.3125rem}.m-notifications-list__items__li__txt{flex:1}.m-notifications-list__items__li__txt .a-h3{display:flex;justify-content:space-between;margin-bottom:0;padding-bottom:.1875rem}.m-notifications-list__items__li__txt .a-p{padding-bottom:0}.m-notifications-list__items__li__txt .a-p.desc{margin-bottom:0}.m-notifications-list__items__li__txt .a-p.desc+a{display:block;margin-top:.625rem;cursor:pointer}.m-notifications-list__items__li .a-btn--delete{position:relative;width:1.375rem;height:1.375rem;padding:.1875rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryNotificationCssComponent, selector: "pry-notification-css", ngImport: i0, template: '', isInline: true, styles: [".m-notifications-list__items{margin:0;padding:0}.m-notifications-list__items li{list-style:none}.m-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:1.875rem;min-height:1.4375rem}.m-notifications .a-btn{width:2.5rem;height:2.5rem}.m-notifications .a-btn:before{content:\"\";display:block;position:absolute;width:100%;height:100%;border-radius:50%}.m-notifications .a-btn .a-pastille{position:absolute;top:-.4375rem;right:-.4375rem}.m-notifications-list{position:absolute;top:.9375rem;right:10px;display:flex;align-items:center;flex-direction:column;min-width:17.1875rem;max-height:41.5625rem;border-radius:.3125rem}.m-notifications-list .caret-top{position:absolute;z-index:3;bottom:100%;left:14.1875rem;width:0;border:.5rem solid transparent;border-top:none;border-bottom-color:#fff;filter:drop-shadow(0 -.0625rem .0625rem rgba(0,0,0,.1))}.m-notifications-list__header{width:100%;padding:.9375rem}.m-notifications-list__header .a-p.none{margin-top:.625rem}.m-notifications-list__header .a-btn{padding-left:.9375rem;padding-right:.9375rem}.m-notifications-list__content{overflow:auto;height:auto;padding-bottom:.9375rem}.m-notifications-list__items__li{position:relative;display:flex;justify-content:space-between;align-items:stretch;padding:.9375rem;gap:.3125rem}.m-notifications-list__items__li__txt{flex:1}.m-notifications-list__items__li__txt .a-h3{display:flex;justify-content:space-between;margin-bottom:0;padding-bottom:.1875rem}.m-notifications-list__items__li__txt .a-p{padding-bottom:0}.m-notifications-list__items__li__txt .a-p.desc{margin-bottom:0}.m-notifications-list__items__li__txt .a-p.desc+a{display:block;margin-top:.625rem;cursor:pointer}.m-notifications-list__items__li .a-btn--delete{position:relative;padding:0 .1875rem;height:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationCssComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'pry-notification-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".m-notifications-list__items{margin:0;padding:0}.m-notifications-list__items li{list-style:none}.m-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:1.875rem;min-height:1.4375rem}.m-notifications .a-btn{width:2.5rem;height:2.5rem}.m-notifications .a-btn:before{content:\"\";display:block;position:absolute;width:100%;height:100%;border-radius:50%}.m-notifications .a-btn .a-pastille{position:absolute;top:-.4375rem;right:-.4375rem}.m-notifications-list{position:absolute;top:.9375rem;right:10px;display:flex;align-items:center;flex-direction:column;min-width:17.1875rem;max-height:41.5625rem;border-radius:.3125rem}.m-notifications-list .caret-top{position:absolute;z-index:3;bottom:100%;left:14.1875rem;width:0;border:.5rem solid transparent;border-top:none;border-bottom-color:#fff;filter:drop-shadow(0 -.0625rem .0625rem rgba(0,0,0,.1))}.m-notifications-list__header{width:100%;padding:.9375rem}.m-notifications-list__header .a-p.none{margin-top:.625rem}.m-notifications-list__header .a-btn{padding-left:.9375rem;padding-right:.9375rem}.m-notifications-list__content{overflow:auto;height:auto;padding-bottom:.9375rem}.m-notifications-list__items{padding:0 15px}.m-notifications-list__items__li{position:relative;display:flex;justify-content:space-between;align-items:center;padding:.8125rem 0 .9375rem;gap:.3125rem}.m-notifications-list__items__li:last-of-type{padding-bottom:.3125rem}.m-notifications-list__items__li__txt{flex:1}.m-notifications-list__items__li__txt .a-h3{display:flex;justify-content:space-between;margin-bottom:0;padding-bottom:.1875rem}.m-notifications-list__items__li__txt .a-p{padding-bottom:0}.m-notifications-list__items__li__txt .a-p.desc{margin-bottom:0}.m-notifications-list__items__li__txt .a-p.desc+a{display:block;margin-top:.625rem;cursor:pointer}.m-notifications-list__items__li .a-btn--delete{position:relative;width:1.375rem;height:1.375rem;padding:.1875rem}\n"] }]
9
+ args: [{ selector: 'pry-notification-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".m-notifications-list__items{margin:0;padding:0}.m-notifications-list__items li{list-style:none}.m-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:1.875rem;min-height:1.4375rem}.m-notifications .a-btn{width:2.5rem;height:2.5rem}.m-notifications .a-btn:before{content:\"\";display:block;position:absolute;width:100%;height:100%;border-radius:50%}.m-notifications .a-btn .a-pastille{position:absolute;top:-.4375rem;right:-.4375rem}.m-notifications-list{position:absolute;top:.9375rem;right:10px;display:flex;align-items:center;flex-direction:column;min-width:17.1875rem;max-height:41.5625rem;border-radius:.3125rem}.m-notifications-list .caret-top{position:absolute;z-index:3;bottom:100%;left:14.1875rem;width:0;border:.5rem solid transparent;border-top:none;border-bottom-color:#fff;filter:drop-shadow(0 -.0625rem .0625rem rgba(0,0,0,.1))}.m-notifications-list__header{width:100%;padding:.9375rem}.m-notifications-list__header .a-p.none{margin-top:.625rem}.m-notifications-list__header .a-btn{padding-left:.9375rem;padding-right:.9375rem}.m-notifications-list__content{overflow:auto;height:auto;padding-bottom:.9375rem}.m-notifications-list__items__li{position:relative;display:flex;justify-content:space-between;align-items:stretch;padding:.9375rem;gap:.3125rem}.m-notifications-list__items__li__txt{flex:1}.m-notifications-list__items__li__txt .a-h3{display:flex;justify-content:space-between;margin-bottom:0;padding-bottom:.1875rem}.m-notifications-list__items__li__txt .a-p{padding-bottom:0}.m-notifications-list__items__li__txt .a-p.desc{margin-bottom:0}.m-notifications-list__items__li__txt .a-p.desc+a{display:block;margin-top:.625rem;cursor:pointer}.m-notifications-list__items__li .a-btn--delete{position:relative;padding:0 .1875rem;height:auto}\n"] }]
10
10
  }] });
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL25vdGlmaWNhdGlvbi9zdHlsZS9jc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTdELE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjttR0FBM0IsMkJBQTJCLDREQUo1QixFQUFFOzs0RkFJRCwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0Usc0JBQXNCLFlBQ3RCLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LW5vdGlmaWNhdGlvbi1jc3MnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL19tLW5vdGlmaWNhdGlvbnMuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByeU5vdGlmaWNhdGlvbkNzc0NvbXBvbmVudCB7fVxuIl19
@@ -278,11 +278,11 @@ export class PryPipelineEditorComponent extends SubscriptionnerDirective {
278
278
  this.search$.next({ ...$event });
279
279
  }
280
280
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryPipelineEditorComponent, deps: [{ token: i1.Store }, { token: i2.PipelineComponentFactoryService }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
281
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryPipelineEditorComponent, selector: "pry-pipeline-editor", inputs: { pipeline: "pipeline" }, outputs: { goToConsult: "goToConsult" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "canvasParent", first: true, predicate: ["canvasParent"], descendants: true }, { propertyName: "componentRef", first: true, predicate: ["specific"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline\">\n <div class=\"o-pipeline__menu\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories$ | async; let index = index\"\n [item]=\"category\"\n [borderColor]=\"(types$ | async)![category][0].color\"\n [index]=\"index\"\n [showSearchBar]=\"true\"\n [search$]=\"search$\"\n (search)=\"search($event)\"\n translationStringBase=\"@pry.pipeline.\"\n >\n <ul class=\"o-pipeline__components\">\n <ng-container *ngFor=\"let type of (types$ | async)![category]\">\n <li [draggable]=\"!this.disableEditing\" (dragstart)=\"onDragStart($event, type)\">\n <p class=\"a-p\">{{ type.label }}</p>\n <pry-icon [width]=\"2\" [height]=\"20\" iconSvg=\"info\"></pry-icon>\n </li>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n\n <div class=\"o-pipeline__workspace\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary --size-md\" type=\"button\" (click)=\"goBack()\">\n {{ '@pry.pipeline.backToDescription' | i18n }}\n </button>\n <ng-container *ngFor=\"let action of actions\">\n <button type=\"button\" (click)=\"clickedAction(action)\" class=\"a-btn a-btn--secondary --size-md\">\n {{ '@pry.pipeline.' + action.type | i18n }}\n <pry-icon [iconSvg]=\"action.icon\"></pry-icon>\n </button>\n </ng-container>\n </div>\n <div>\n <h1 class=\"a-h1\">{{ this.pipeline?.title }}</h1>\n </div>\n <div class=\"o-pipeline-editor\">\n <div (drop)=\"onDrop($event)\" class=\"o-pipeline-editor__grid\" #canvasParent>\n <canvas #canvas class=\"canvas\"></canvas>\n </div>\n <div class=\"o-pipeline-editor__properties\">\n <div\n class=\"o-pipeline-editor__properties__node\"\n *ngIf=\"selectedNode$ | async as node\"\n [title]=\"node.properties['id']\"\n >\n <h3 class=\"a-h3\">{{ '@pry.pipeline.selectedTask' | i18n }}</h3>\n <h4 class=\"a-h4\">{{ '@pry.pipeline.type' | i18n }}</h4>\n <p class=\"a-p a-p--type\">{{ node.type }}</p>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"{{ node.id }}\">{{ '@pry.pipeline.title' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"{{ node.id }}\"\n type=\"text\"\n [value]=\"node.title\"\n [disabled]=\"disableEditing\"\n (change)=\"changeTitle(node, $event)\"\n />\n </div>\n </div>\n <div class=\"o-pipeline-editor__properties__detail\" [class.is-empty]=\"!selectedNode\">\n <div>\n <div #specific></div>\n </div>\n </div>\n <div *ngIf=\"((errors$ | async)?.length ?? 0) > 0\" class=\"o-pipeline-editor__properties__errors\">\n <div class=\"o-pipeline-editor__properties__errors__title\">\n <pry-icon iconSvg=\"warning-triangle\"></pry-icon>\n <p class=\"a-p\">{{ '@pry.pipeline.errors' | i18n }}:</p>\n </div>\n <ul>\n <li *ngFor=\"let error of errors$ | async\">\n <span class=\"type\">{{\n (error?.nodeId === '-' ? '@pry.pipeline.global' : '@pry.pipeline.node') | i18n\n }}</span>\n {{ error.translated }}\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AccordionComponent, selector: "pry-accordion" }, { kind: "component", type: i3.AccordionItemComponent, selector: "pry-accordion-item", inputs: ["item", "borderColor", "index", "translationStringBase", "length", "showSearchBar", "search$"], outputs: ["search"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryPipelineCssComponent, selector: "pry-pipeline-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryPipelineEditorComponent, selector: "pry-pipeline-editor", inputs: { pipeline: "pipeline" }, outputs: { goToConsult: "goToConsult" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "canvasParent", first: true, predicate: ["canvasParent"], descendants: true }, { propertyName: "componentRef", first: true, predicate: ["specific"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline\">\n <div class=\"o-pipeline__menu\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories$ | async; let index = index\"\n [item]=\"category\"\n [borderColor]=\"(types$ | async)![category][0].color\"\n [index]=\"index\"\n [showSearchBar]=\"true\"\n [search$]=\"search$\"\n (search)=\"search($event)\"\n translationStringBase=\"@pry.pipeline.\"\n >\n <ul class=\"o-pipeline__components\">\n <ng-container *ngFor=\"let type of (types$ | async)![category]\">\n <li [draggable]=\"!this.disableEditing\" (dragstart)=\"onDragStart($event, type)\">\n <p class=\"a-p\">{{ type.label }}</p>\n <pry-icon [width]=\"2\" [height]=\"20\" iconSvg=\"info\"></pry-icon>\n </li>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n\n <div class=\"o-pipeline__workspace\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary\" type=\"button\" (click)=\"goBack()\">\n {{ '@pry.pipeline.backToDescription' | i18n }}\n </button>\n <ng-container *ngFor=\"let action of actions\">\n <button type=\"button\" (click)=\"clickedAction(action)\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.pipeline.' + action.type | i18n }}\n <pry-icon [iconSvg]=\"action.icon\"></pry-icon>\n </button>\n </ng-container>\n </div>\n <div>\n <h1 class=\"a-h1\">{{ this.pipeline?.title }}</h1>\n </div>\n <div class=\"o-pipeline-editor\">\n <div (drop)=\"onDrop($event)\" class=\"o-pipeline-editor__grid\" #canvasParent>\n <canvas #canvas class=\"canvas\"></canvas>\n </div>\n <div class=\"o-pipeline-editor__properties\">\n <div\n class=\"o-pipeline-editor__properties__node\"\n *ngIf=\"selectedNode$ | async as node\"\n [title]=\"node.properties['id']\"\n >\n <h3 class=\"a-h3\">{{ '@pry.pipeline.selectedTask' | i18n }}</h3>\n <h4 class=\"a-h4\">{{ '@pry.pipeline.type' | i18n }}</h4>\n <p class=\"a-p a-p--type\">{{ node.type }}</p>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"{{ node.id }}\">{{ '@pry.pipeline.title' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"{{ node.id }}\"\n type=\"text\"\n [value]=\"node.title\"\n [disabled]=\"disableEditing\"\n (change)=\"changeTitle(node, $event)\"\n />\n </div>\n </div>\n <div class=\"o-pipeline-editor__properties__detail\" [class.is-empty]=\"!selectedNode\">\n <div>\n <div #specific></div>\n </div>\n </div>\n <div *ngIf=\"((errors$ | async)?.length ?? 0) > 0\" class=\"o-pipeline-editor__properties__errors\">\n <div class=\"o-pipeline-editor__properties__errors__title\">\n <pry-icon iconSvg=\"warning-triangle\"></pry-icon>\n <p class=\"a-p\">{{ '@pry.pipeline.errors' | i18n }}:</p>\n </div>\n <ul>\n <li *ngFor=\"let error of errors$ | async\">\n <span class=\"type\">{{\n (error?.nodeId === '-' ? '@pry.pipeline.global' : '@pry.pipeline.node') | i18n\n }}</span>\n {{ error.translated }}\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AccordionComponent, selector: "pry-accordion" }, { kind: "component", type: i3.AccordionItemComponent, selector: "pry-accordion-item", inputs: ["item", "borderColor", "index", "translationStringBase", "length", "showSearchBar", "search$"], outputs: ["search"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryPipelineCssComponent, selector: "pry-pipeline-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
282
282
  }
283
283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryPipelineEditorComponent, decorators: [{
284
284
  type: Component,
285
- args: [{ selector: 'pry-pipeline-editor', template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline\">\n <div class=\"o-pipeline__menu\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories$ | async; let index = index\"\n [item]=\"category\"\n [borderColor]=\"(types$ | async)![category][0].color\"\n [index]=\"index\"\n [showSearchBar]=\"true\"\n [search$]=\"search$\"\n (search)=\"search($event)\"\n translationStringBase=\"@pry.pipeline.\"\n >\n <ul class=\"o-pipeline__components\">\n <ng-container *ngFor=\"let type of (types$ | async)![category]\">\n <li [draggable]=\"!this.disableEditing\" (dragstart)=\"onDragStart($event, type)\">\n <p class=\"a-p\">{{ type.label }}</p>\n <pry-icon [width]=\"2\" [height]=\"20\" iconSvg=\"info\"></pry-icon>\n </li>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n\n <div class=\"o-pipeline__workspace\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary --size-md\" type=\"button\" (click)=\"goBack()\">\n {{ '@pry.pipeline.backToDescription' | i18n }}\n </button>\n <ng-container *ngFor=\"let action of actions\">\n <button type=\"button\" (click)=\"clickedAction(action)\" class=\"a-btn a-btn--secondary --size-md\">\n {{ '@pry.pipeline.' + action.type | i18n }}\n <pry-icon [iconSvg]=\"action.icon\"></pry-icon>\n </button>\n </ng-container>\n </div>\n <div>\n <h1 class=\"a-h1\">{{ this.pipeline?.title }}</h1>\n </div>\n <div class=\"o-pipeline-editor\">\n <div (drop)=\"onDrop($event)\" class=\"o-pipeline-editor__grid\" #canvasParent>\n <canvas #canvas class=\"canvas\"></canvas>\n </div>\n <div class=\"o-pipeline-editor__properties\">\n <div\n class=\"o-pipeline-editor__properties__node\"\n *ngIf=\"selectedNode$ | async as node\"\n [title]=\"node.properties['id']\"\n >\n <h3 class=\"a-h3\">{{ '@pry.pipeline.selectedTask' | i18n }}</h3>\n <h4 class=\"a-h4\">{{ '@pry.pipeline.type' | i18n }}</h4>\n <p class=\"a-p a-p--type\">{{ node.type }}</p>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"{{ node.id }}\">{{ '@pry.pipeline.title' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"{{ node.id }}\"\n type=\"text\"\n [value]=\"node.title\"\n [disabled]=\"disableEditing\"\n (change)=\"changeTitle(node, $event)\"\n />\n </div>\n </div>\n <div class=\"o-pipeline-editor__properties__detail\" [class.is-empty]=\"!selectedNode\">\n <div>\n <div #specific></div>\n </div>\n </div>\n <div *ngIf=\"((errors$ | async)?.length ?? 0) > 0\" class=\"o-pipeline-editor__properties__errors\">\n <div class=\"o-pipeline-editor__properties__errors__title\">\n <pry-icon iconSvg=\"warning-triangle\"></pry-icon>\n <p class=\"a-p\">{{ '@pry.pipeline.errors' | i18n }}:</p>\n </div>\n <ul>\n <li *ngFor=\"let error of errors$ | async\">\n <span class=\"type\">{{\n (error?.nodeId === '-' ? '@pry.pipeline.global' : '@pry.pipeline.node') | i18n\n }}</span>\n {{ error.translated }}\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
285
+ args: [{ selector: 'pry-pipeline-editor', template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline\">\n <div class=\"o-pipeline__menu\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories$ | async; let index = index\"\n [item]=\"category\"\n [borderColor]=\"(types$ | async)![category][0].color\"\n [index]=\"index\"\n [showSearchBar]=\"true\"\n [search$]=\"search$\"\n (search)=\"search($event)\"\n translationStringBase=\"@pry.pipeline.\"\n >\n <ul class=\"o-pipeline__components\">\n <ng-container *ngFor=\"let type of (types$ | async)![category]\">\n <li [draggable]=\"!this.disableEditing\" (dragstart)=\"onDragStart($event, type)\">\n <p class=\"a-p\">{{ type.label }}</p>\n <pry-icon [width]=\"2\" [height]=\"20\" iconSvg=\"info\"></pry-icon>\n </li>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n\n <div class=\"o-pipeline__workspace\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary\" type=\"button\" (click)=\"goBack()\">\n {{ '@pry.pipeline.backToDescription' | i18n }}\n </button>\n <ng-container *ngFor=\"let action of actions\">\n <button type=\"button\" (click)=\"clickedAction(action)\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.pipeline.' + action.type | i18n }}\n <pry-icon [iconSvg]=\"action.icon\"></pry-icon>\n </button>\n </ng-container>\n </div>\n <div>\n <h1 class=\"a-h1\">{{ this.pipeline?.title }}</h1>\n </div>\n <div class=\"o-pipeline-editor\">\n <div (drop)=\"onDrop($event)\" class=\"o-pipeline-editor__grid\" #canvasParent>\n <canvas #canvas class=\"canvas\"></canvas>\n </div>\n <div class=\"o-pipeline-editor__properties\">\n <div\n class=\"o-pipeline-editor__properties__node\"\n *ngIf=\"selectedNode$ | async as node\"\n [title]=\"node.properties['id']\"\n >\n <h3 class=\"a-h3\">{{ '@pry.pipeline.selectedTask' | i18n }}</h3>\n <h4 class=\"a-h4\">{{ '@pry.pipeline.type' | i18n }}</h4>\n <p class=\"a-p a-p--type\">{{ node.type }}</p>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"{{ node.id }}\">{{ '@pry.pipeline.title' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"{{ node.id }}\"\n type=\"text\"\n [value]=\"node.title\"\n [disabled]=\"disableEditing\"\n (change)=\"changeTitle(node, $event)\"\n />\n </div>\n </div>\n <div class=\"o-pipeline-editor__properties__detail\" [class.is-empty]=\"!selectedNode\">\n <div>\n <div #specific></div>\n </div>\n </div>\n <div *ngIf=\"((errors$ | async)?.length ?? 0) > 0\" class=\"o-pipeline-editor__properties__errors\">\n <div class=\"o-pipeline-editor__properties__errors__title\">\n <pry-icon iconSvg=\"warning-triangle\"></pry-icon>\n <p class=\"a-p\">{{ '@pry.pipeline.errors' | i18n }}:</p>\n </div>\n <ul>\n <li *ngFor=\"let error of errors$ | async\">\n <span class=\"type\">{{\n (error?.nodeId === '-' ? '@pry.pipeline.global' : '@pry.pipeline.node') | i18n\n }}</span>\n {{ error.translated }}\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
286
286
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.PipelineComponentFactoryService }, { type: i3.PryI18nService }]; }, propDecorators: { pipeline: [{
287
287
  type: Input
288
288
  }], goToConsult: [{
@@ -297,4 +297,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
297
297
  type: ViewChild,
298
298
  args: ['specific', { read: ViewContainerRef, static: false }]
299
299
  }] } });
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3BpcGVsaW5lL2NvbXBvbmVudHMvcGlwZWxpbmUtZWRpdG9yL3BpcGVsaW5lLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWVkaXRvci9waXBlbGluZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0Isd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBcUIsZUFBZSxFQUFvQixNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBR2hFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFD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QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQTVVVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiw2WUFLTixnQkFBZ0Isb0RDdENqRCxxakhBeUZBOzs0RkR4RGEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHFCQUFxQjt1S0FJdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDUSxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ3lDLFlBQVk7c0JBQTdFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IERhdGFTb3VyY2VBY3Rpb25zLCBQcnlJMThuU2VydmljZSwgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IExHcmFwaCwgTEdyYXBoQ2FudmFzLCBMR3JhcGhOb2RlLCBMaXRlR3JhcGggfSBmcm9tICdsaXRlZ3JhcGguanMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBmcm9tRXZlbnQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIFBpcGVsaW5lQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgUGlwZWxpbmVDb21wb25lbnRGYWN0b3J5U2VydmljZVxufSBmcm9tICcuLi8uLi9mYWN0b3J5L3BpcGVsaW5lLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZU5vZGUgfSBmcm9tICcuLi8uLi9ub2RlLWNsYXNzL2Jhc2Utbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBOb2RlUGlwZWxpbmVFcnJvciwgUGlwZWxpbmVBY3Rpb25zLCBQaXBlbGluZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vc3RvcmUvcGlwZWxpbmUuYWN0aW9ucyc7XG5pbXBvcnQgeyBQaXBlbGluZVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL3BpcGVsaW5lLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBHcmFwaFNlcmlhbGl6ZXJVdGlscyB9IGZyb20gJy4vZ3JhcGgtc2VyaWFsaXplci51dGlscyc7XG5pbXBvcnQgeyBQcnlTZXJpYWxpemVkUGlwZWxpbmUsIFByeVRyYW5zZm8gfSBmcm9tICcuL3BpcGVsaW5lLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5UID0gJ3BpcGVsaW5lL2NvbXBvbmVudCc7XG5leHBvcnQgY29uc3QgTUlNRV9UWVBFX1BJUEVMSU5FX1BST1BFUlRJRVMgPSAncGlwZWxpbmUvcHJvcGVydGllcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1waXBlbGluZS1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlwZWxpbmUtZWRpdG9yLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlQaXBlbGluZUVkaXRvckNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBwaXBlbGluZT86IFByeVRyYW5zZm87XG4gIEBPdXRwdXQoKSBnb1RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJ5VHJhbnNmbz4oKTtcbiAgQFZpZXdDaGlsZCgnY2FudmFzJykgY2FudmFzITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2NhbnZhc1BhcmVudCcpIGNhbnZhc1BhcmVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdzcGVjaWZpYycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KSBjb21wb25lbnRSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xuICBsR3JhcGhzOiBMR3JhcGhbXSA9IFtdO1xuICBwcml2YXRlIGxHcmFwaENhbnZhcyE6IExHcmFwaENhbnZhcztcbiAgdHlwZXMkOiBPYnNlcnZhYmxlPHsgW2NhdGVnb3J5OiBzdHJpbmddOiBQaXBlbGluZUNvbXBvbmVudERlZmluaXRpb25bXSB9PjtcbiAgY2F0ZWdvcmllcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBzZWxlY3RlZE5vZGUkOiBPYnNlcnZhYmxlPEJhc2VOb2RlIHwgdW5kZWZpbmVkPjtcbiAgcmVzcG9uc2UkOiBPYnNlcnZhYmxlPFBpcGVsaW5lUmVzcG9uc2UgfCB1bmRlZmluZWQ+O1xuICBpbnN0YW5jaWF0ZWRDb21wb25lbnQhOiBDb21wb25lbnRSZWY8YW55PjtcbiAgc2VsZWN0ZWROb2RlPzogQmFzZU5vZGU7XG4gIGFjdGlvbnMgPSBbXSBhcyB7IHR5cGU6IHN0cmluZzsgaWNvbjogc3RyaW5nIH1bXTtcbiAgZXJyb3JzJDogT2JzZXJ2YWJsZTwoTm9kZVBpcGVsaW5lRXJyb3IgJiB7IHRyYW5zbGF0ZWQ6IHN0cmluZyB9KVtdPjtcbiAgZGlzYWJsZUVkaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaW1hZ2VzOiB7IHN0YXJ0OiBIVE1MSW1hZ2VFbGVtZW50OyBhZnRlcjogSFRNTEltYWdlRWxlbWVudCB9O1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2U6IFBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIEJhc2VOb2RlLnN0b3JlID0gc3RvcmU7XG4gICAgQmFzZU5vZGUuY2hlY2sgPSAoKSA9PiB0aGlzLmNoZWNrKCk7XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG5cbiAgICB0aGlzLnR5cGVzJCA9IGNvbWJpbmVMYXRlc3QoW3BpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UudHlwZXNCeUNhdGVnb3JpZXMkLCB0aGlzLnNlYXJjaCRdKS5waXBlKFxuICAgICAgbWFwKChbdHlwZXNCeUNhdGVnb3J5LCBzZWFyY2hdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIHsgW2NhdGVnb3J5OiBzdHJpbmddOiBQaXBlbGluZUNvbXBvbmVudERlZmluaXRpb25bXSB9O1xuICAgICAgICBPYmplY3Qua2V5cyh0eXBlc0J5Q2F0ZWdvcnkpLmZvckVhY2goKGNhdCkgPT4ge1xuICAgICAgICAgIHJlc3VsdFtjYXRdID0gdHlwZXNCeUNhdGVnb3J5W2NhdF0uZmlsdGVyKCh0eXBlKSA9PlxuICAgICAgICAgICAgdHlwZS5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKChzZWFyY2hbY2F0XSA/PyAnJykudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmNhdGVnb3JpZXMkID0gcGlwZWxpbmVDb21wb25lbnRGYWN0b3J5U2VydmljZS5jYXRlZ29yaWVzJDtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLnNlbGVjdGVkTm9kZUlkKS5waXBlKG1hcCgoaWQpID0+IHRoaXMuZmluZE5vZGVCeUlkKGlkKSkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChQaXBlbGluZVNlbGVjdG9ycy5jaGVja1Jlc3BvbnNlKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnJlc3BvbnNlJC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuYWxsTm9kZXMuZm9yRWFjaCgoZXJyb3JOb2RlKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGRlbGV0ZSBlcnJvck5vZGU/LmJnY29sb3I7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIChyZXNwb25zZT8uc3RhdHVzLm1hcCgoc3RhdHVzKSA9PiBzdGF0dXMuZXJyb3JzKS5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pID8/IFtdKVxuICAgICAgICAgID8ubWFwKChlcnJvcikgPT4gdGhpcy5maW5kTm9kZUJ5SWQoZXJyb3Iubm9kZUlkKSlcbiAgICAgICAgICAuZmlsdGVyKChlcnJvck5vZGUpID0+ICEhZXJyb3JOb2RlKVxuICAgICAgICAgIC5mb3JFYWNoKChlcnJvck5vZGUpID0+IChlcnJvck5vZGUhLmJnY29sb3IgPSAnI2Q5MzUzNScpKTtcblxuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlJC5waXBlKGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMucmVzcG9uc2UkKSkuc3Vic2NyaWJlKChbbm9kZSwgcmVzcG9uc2VdKSA9PiB7XG4gICAgICBpZiAodGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuY2xlYXIoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVtb3ZlQWN0aW9uKCdkb3duJyk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBtb2R1bGUgPSB0aGlzLnBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UuZ2V0KG5vZGU/LnR5cGUgPz8gJycpO1xuICAgICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5jcmVhdGVDb21wb25lbnQobW9kdWxlLmNvbXBvbmVudCk7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2Uubm9kZSA9IG5vZGU7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2UuY2hlY2tGbiA9ICgpID0+IHt9O1xuICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlRWRpdGluZztcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLmNoZWNrRm4gPSAoKSA9PiB0aGlzLmNoZWNrKCk7XG4gICAgICAgICAgfSwgMTAwKTtcblxuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdTdGF0dXMgPSByZXNwb25zZS5zdGF0dXMuZmluZCgoc3RhdHVzKSA9PiBzdGF0dXMubm9kZUlkID09PSBub2RlLnByb3BlcnRpZXNbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKG1hdGNoaW5nU3RhdHVzKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLm1vZGVsID0gbWF0Y2hpbmdTdGF0dXMub3V0TW9kZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdTdWJHcmFwaE5vZGUnKSB7XG4gICAgICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZXllLWFycm93LWRvd24nLCB0eXBlOiAnZG93bicgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZGVsZXRlJywgdHlwZTogJ2RlbGV0ZScgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUFjdGlvbignZGVsZXRlJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuc2VsZWN0ZWROb2RlJC5zdWJzY3JpYmUoKG5vZGUpID0+ICh0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGUpKSk7XG5cbiAgICB0aGlzLmVycm9ycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlc3BvbnNlJCwgdGhpcy5zZWxlY3RlZE5vZGUkXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3BvbnNlLCBzZWxlY3RlZE5vZGVdKSA9PiBbXG4gICAgICAgIC4uLihyZXNwb25zZT8uZXJyb3JzID8/IFtdKS5tYXAoKGVycm9yKSA9PiAoeyAuLi5lcnJvciwgbm9kZUlkOiAnLScgfSkpLFxuICAgICAgICAuLi4ocmVzcG9uc2U/LnN0YXR1cy5maW5kKChzdGF0dXMpID0+IHN0YXR1cy5ub2RlSWQgPT09IChzZWxlY3RlZE5vZGU/LnByb3BlcnRpZXNbJ2lkJ10gPz8gJy0tLS0tJykpPy5lcnJvcnMgPz9cbiAgICAgICAgICBbXSlcbiAgICAgIF0pLFxuICAgICAgbWFwKChlcnJvcnMpID0+XG4gICAgICAgIGVycm9ycy5tYXAoKGVycm9yKSA9PiAoe1xuICAgICAgICAgIC4uLmVycm9yLFxuICAgICAgICAgIHRyYW5zbGF0ZWQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnBpcGVsaW5lLmNvZGVzLicgKyBlcnJvci5jb2RlLCBlcnJvcilcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgLnBpcGUoYXVkaXRUaW1lKDEwMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25SZXNpemUoKTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5pbWFnZXMgPSB7XG4gICAgICBzdGFydDogbmV3IEltYWdlKCksXG4gICAgICBhZnRlcjogbmV3IEltYWdlKClcbiAgICB9O1xuICAgIHRoaXMuaW1hZ2VzLnN0YXJ0LnNyYyA9ICcvYXNzZXRzL2JhY2tncm91bmRzL2ltZ19wcm9jZXNzdXMucG5nJztcbiAgICB0aGlzLmltYWdlcy5hZnRlci5zcmMgPSAnJztcbiAgfVxuXG4gIGdldCBjdXJyZW50R3JhcGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubEdyYXBoc1t0aGlzLmxHcmFwaHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBnZXQgYWxsTm9kZXMoKTogQmFzZU5vZGVbXSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRHcmFwaD8uX25vZGVzID8/IFtdO1xuICB9XG5cbiAgZ2V0IGJhY2tncm91bmRJbWFnZSgpIHtcbiAgICByZXR1cm4gKHRoaXMucGlwZWxpbmU/Lm5vZGVzID8/IFtdKS5sZW5ndGggPiAwID8gdGhpcy5pbWFnZXMuYWZ0ZXIgOiB0aGlzLmltYWdlcy5zdGFydDtcbiAgfVxuXG4gIGZpbmROb2RlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsTm9kZXMuZmluZCgobm9kZSkgPT4gbm9kZS5wcm9wZXJ0aWVzWydpZCddID09PSBpZCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sR3JhcGhzLnB1c2gobmV3IExHcmFwaCgpKTtcbiAgICB0aGlzLmxHcmFwaENhbnZhcyA9IG5ldyBMR3JhcGhDYW52YXModGhpcy5jYW52YXMubmF0aXZlRWxlbWVudCwgdGhpcy5jdXJyZW50R3JhcGgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLmFsbG93X3NlYXJjaGJveCA9IGZhbHNlO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnRpdGxlX3RleHRfZm9udCA9ICdib2xkIDE0cHggVWJ1bnR1JztcbiAgICB0aGlzLmxHcmFwaENhbnZhcy5pbm5lcl90ZXh0X2ZvbnQgPSAnbm9ybWFsIDEycHggVWJ1bnR1JztcbiAgICB0aGlzLmxHcmFwaENhbnZhcy5kZWZhdWx0X2xpbmtfY29sb3IgPSAnIzAwMDAwMCc7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMubEdyYXBoQ2FudmFzLmJhY2tncm91bmRfaW1hZ2UgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5sR3JhcGhDYW52YXMub25EcmF3QmFja2dyb3VuZCA9IChjdHgsIHZlY3RvcikgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGN0eC5maWxsU3R5bGUgPSAnd2hpdGUnO1xuICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTtcblxuICAgICAgY29uc3QgaW1nU2l6ZSA9IFszMDYsIDE3MV07XG4gICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICB0aGlzLmJhY2tncm91bmRJbWFnZSxcbiAgICAgICAgKHJlY3Qud2lkdGggLSBpbWdTaXplWzBdKSAvIDIsXG4gICAgICAgIChyZWN0LmhlaWdodCAtIGltZ1NpemVbMV0pIC8gMixcbiAgICAgICAgaW1nU2l6ZVswXSxcbiAgICAgICAgaW1nU2l6ZVsxXVxuICAgICAgKTtcbiAgICB9O1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLm9uTm9kZURlc2VsZWN0ZWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgIH07XG4gICAgdGhpcy5jdXJyZW50R3JhcGguc3RhcnQoKTtcbiAgICBpZiAodGhpcy5waXBlbGluZSkge1xuICAgICAgR3JhcGhTZXJpYWxpemVyVXRpbHMuaHlkcmF0ZSh0aGlzLnBpcGVsaW5lIGFzIFByeVNlcmlhbGl6ZWRQaXBlbGluZSwgdGhpcy5jdXJyZW50R3JhcGgpO1xuICAgICAgdGhpcy5kaXNhYmxlRWRpdGluZyA9IHRoaXMucGlwZWxpbmUuYWN0aXZlO1xuICAgIH1cbiAgICB0aGlzLm9uUmVzaXplKCk7XG4gIH1cblxuICBvblJlc2l6ZSgpIHtcbiAgICAvLyBNYWtlIGNhbnZhcyBzbyBsaXR0bGUgdGhhdCBpdCBkb2Vzbid0IGltcGFjdCBjc3Mgc2l6ZSBjYWxjdWxhdGlvblxuICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQud2lkdGggPSAxMDtcbiAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodCA9IDEwO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnJlc2l6ZSgxMCwgMTApO1xuXG4gICAgLy8gTGF0ZXIsIG1ha2UgaXQgZ3JvdyB0byBwcm9wZXIgc2l6ZVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzUGFyZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoID0gcmVjdC53aWR0aDtcbiAgICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gcmVjdC5oZWlnaHQ7XG4gICAgICB0aGlzLmxHcmFwaENhbnZhcy5yZXNpemUocmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfSwgMTApO1xuICB9XG5cbiAgZGlzcGxheUdyYXBoKGdyYXBoOiBMR3JhcGgpIHtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaC5zdG9wKCk7XG4gICAgdGhpcy5sR3JhcGhzLnB1c2goZ3JhcGgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnNldEdyYXBoKGdyYXBoKTtcbiAgICBncmFwaC5zdGFydCgpO1xuICB9XG5cbiAgcG9wR3JhcGgoKSB7XG4gICAgdGhpcy5jdXJyZW50R3JhcGguc3RvcCgpO1xuICAgIHRoaXMubEdyYXBocy5sZW5ndGggPSB0aGlzLmxHcmFwaHMubGVuZ3RoIC0gMTtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaC5zdGFydCgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnNldEdyYXBoKHRoaXMuY3VycmVudEdyYXBoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLmRlc2VsZWN0QWxsTm9kZXMoKTtcbiAgICBpZiAodGhpcy5sR3JhcGhzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oJ3VwJyk7XG4gICAgfVxuICB9XG5cbiAgcHVwR3JhcGgobm9kZTogQmFzZU5vZGUpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKCEhbm9kZS5zdWJHcmFwaCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdGhpcy5kaXNwbGF5R3JhcGgobm9kZS5zdWJHcmFwaCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgICAgdGhpcy5sR3JhcGhDYW52YXMuZGVzZWxlY3RBbGxOb2RlcygpO1xuICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZXllLWFycm93LXVwJywgdHlwZTogJ3VwJyB9KTtcbiAgICB9XG4gIH1cblxuICBjaGVjaygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUVkaXRpbmcpIHtcbiAgICAgIHRoaXMucGlwZWxpbmUgPSB7XG4gICAgICAgIC4uLnRoaXMucGlwZWxpbmUsXG4gICAgICAgIC4uLkdyYXBoU2VyaWFsaXplclV0aWxzLnNlcmlhbGl6ZSh0aGlzLmxHcmFwaHNbMF0sIHRoaXMucGlwZWxpbmU/LmlkKVxuICAgICAgfSBhcyBQcnlUcmFuc2ZvO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgUGlwZWxpbmVBY3Rpb25zLmNoZWNrKHtcbiAgICAgICAgICAgIGdyYXBoOiB7XG4gICAgICAgICAgICAgIGlkOiB0aGlzLnBpcGVsaW5lPy5pZCxcbiAgICAgICAgICAgICAgbm9kZXM6IHRoaXMucGlwZWxpbmU/Lm5vZGVzLFxuICAgICAgICAgICAgICBsaW5rczogdGhpcy5waXBlbGluZT8ubGlua3MsXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnBpcGVsaW5lPy50aXRsZSxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMucGlwZWxpbmU/LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaD8uY2hhbmdlKCk7XG4gIH1cblxuICBjcmVhdGVOb2RlKHR5cGU6IHN0cmluZywgcG9zaXRpb246IFtudW1iZXIsIG51bWJlcl0sIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICBjb25zdCB0aXRsZSA9IGFkZGl0aW9uYWxQcm9wZXJ0aWVzLl9sYWJlbCA/PyB0eXBlLnNwbGl0KCcuJylbdHlwZS5zcGxpdCgnLicpLmxlbmd0aCAtIDFdID8/ICc/JztcbiAgICBjb25zdCBub2RlX2NvbnN0ID0gTGl0ZUdyYXBoLmNyZWF0ZU5vZGUodHlwZSwgdGl0bGUsIHt9KTtcbiAgICBpZiAobm9kZV9jb25zdCAhPT0gbnVsbCkge1xuICAgICAgbm9kZV9jb25zdC50aXRsZSA9IHRpdGxlO1xuICAgICAgbm9kZV9jb25zdC5wb3MgPSBwb3NpdGlvbjtcbiAgICAgIE9iamVjdC5rZXlzKGFkZGl0aW9uYWxQcm9wZXJ0aWVzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgbm9kZV9jb25zdC5wcm9wZXJ0aWVzW2tleV0gPSBhZGRpdGlvbmFsUHJvcGVydGllc1trZXldO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuY3VycmVudEdyYXBoLmFkZChub2RlX2NvbnN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgQ2Fubm90IGNyZWF0ZSBub2RlIG9mIHR5cGUgJHt0eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ1N0YXJ0KCRldmVudDogRHJhZ0V2ZW50LCBjb21wb25lbnQ6IFBpcGVsaW5lQ29tcG9uZW50RGVmaW5pdGlvbikge1xuICAgIGlmICghISRldmVudCAmJiAhISRldmVudC5kYXRhVHJhbnNmZXIgJiYgISRldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoTUlNRV9UWVBFX1BJUEVMSU5FX0NPTVBPTkVOVCkpIHtcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdjb3B5JztcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YShNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5ULCBjb21wb25lbnQudHlwZSk7XG4gICAgICAkZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoTUlNRV9UWVBFX1BJUEVMSU5FX1BST1BFUlRJRVMsIEpTT04uc3RyaW5naWZ5KHsgLi4uY29tcG9uZW50LmFkZGl0aW9uYWxQcm9wZXJ0aWVzIH0pKTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3AoJGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoISEkZXZlbnQgJiYgISEkZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICBpZiAoJGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmNsdWRlcyhNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5UKSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gJGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKE1JTUVfVFlQRV9QSVBFTElORV9DT01QT05FTlQpO1xuICAgICAgICBjb25zdCBhZGRpdGlvbmFsUHJvcGVydGllcyA9IEpTT04ucGFyc2UoJGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKE1JTUVfVFlQRV9QSVBFTElORV9QUk9QRVJUSUVTKSk7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZEV2ZW50ID0gdGhpcy5sR3JhcGhDYW52YXMuY29udmVydEV2ZW50VG9DYW52YXNPZmZzZXQoJGV2ZW50KTtcbiAgICAgICAgdGhpcy5jcmVhdGVOb2RlKGNvbXBvbmVudFR5cGUsIFtjb252ZXJ0ZWRFdmVudFswXSwgY29udmVydGVkRXZlbnRbMV1dLCBhZGRpdGlvbmFsUHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuY2hlY2soKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVRpdGxlKG5vZGU6IExHcmFwaE5vZGUsICRldmVudDogRXZlbnQpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbm9kZS50aXRsZSA9ICRldmVudC50YXJnZXQ/LnZhbHVlO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgY2xpY2tlZEFjdGlvbihhY3Rpb246IGFueSkge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgdGhpcy5wb3BHcmFwaCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICB0aGlzLnB1cEdyYXBoKHRoaXMuc2VsZWN0ZWROb2RlISk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5jdXJyZW50R3JhcGgucmVtb3ZlKHRoaXMuc2VsZWN0ZWROb2RlISk7XG4gICAgICAgIHRoaXMucmVtb3ZlQWN0aW9uKCdkZWxldGUnKTtcbiAgICAgICAgdGhpcy5jaGVjaygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChQaXBlbGluZUFjdGlvbnMuc2VsZWN0KHsgaWQ6ICcnIH0pKTtcbiAgfVxuXG4gIGFkZEFjdGlvbihhZGQ6IHsgdHlwZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfSkge1xuICAgIGlmICghdGhpcy5hY3Rpb25zLmZpbmQoKGFjdGlvbikgPT4gYWN0aW9uLnR5cGUgPT09IGFkZC50eXBlKSkge1xuICAgICAgdGhpcy5hY3Rpb25zLnB1c2goYWRkKTtcbiAgICB9XG4gICAgdGhpcy5hY3Rpb25zLnNvcnQoKGEsIGIpID0+IGEudHlwZS5sb2NhbGVDb21wYXJlKGIudHlwZSkpO1xuICB9XG5cbiAgcmVtb3ZlQWN0aW9uKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLnR5cGUgIT09IHR5cGUpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NvbnN1bHQuZW1pdCh0aGlzLnBpcGVsaW5lKTtcbiAgfVxuXG4gIHNlYXJjaCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KHsgLi4uJGV2ZW50IH0pO1xuICB9XG59XG4iLCI8cHJ5LXBpcGVsaW5lLWNzcz48L3ByeS1waXBlbGluZS1jc3M+XG48ZGl2IGNsYXNzPVwiby1waXBlbGluZVwiPlxuICA8ZGl2IGNsYXNzPVwiby1waXBlbGluZV9fbWVudVwiPlxuICAgIDxwcnktYWNjb3JkaW9uPlxuICAgICAgPHByeS1hY2NvcmRpb24taXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllcyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICBbaXRlbV09XCJjYXRlZ29yeVwiXG4gICAgICAgIFtib3JkZXJDb2xvcl09XCIodHlwZXMkIHwgYXN5bmMpIVtjYXRlZ29yeV1bMF0uY29sb3JcIlxuICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICBbc2hvd1NlYXJjaEJhcl09XCJ0cnVlXCJcbiAgICAgICAgW3NlYXJjaCRdPVwic2VhcmNoJFwiXG4gICAgICAgIChzZWFyY2gpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LnBpcGVsaW5lLlwiXG4gICAgICA+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8tcGlwZWxpbmVfX2NvbXBvbmVudHNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mICh0eXBlcyQgfCBhc3luYykhW2NhdGVnb3J5XVwiPlxuICAgICAgICAgICAgPGxpIFtkcmFnZ2FibGVdPVwiIXRoaXMuZGlzYWJsZUVkaXRpbmdcIiAoZHJhZ3N0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudCwgdHlwZSlcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj57eyB0eXBlLmxhYmVsIH19PC9wPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjJcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cImluZm9cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvcHJ5LWFjY29yZGlvbi1pdGVtPlxuICAgIDwvcHJ5LWFjY29yZGlvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmVfX3dvcmtzcGFjZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fdG9vbGJveFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgLS1zaXplLW1kXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICB7eyAnQHByeS5waXBlbGluZS5iYWNrVG9EZXNjcmlwdGlvbicgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBhY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbGlja2VkQWN0aW9uKGFjdGlvbilcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgLS1zaXplLW1kXCI+XG4gICAgICAgICAge3sgJ0BwcnkucGlwZWxpbmUuJyArIGFjdGlvbi50eXBlIHwgaTE4biB9fVxuICAgICAgICAgIDxwcnktaWNvbiBbaWNvblN2Z109XCJhY3Rpb24uaWNvblwiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxoMSBjbGFzcz1cImEtaDFcIj57eyB0aGlzLnBpcGVsaW5lPy50aXRsZSB9fTwvaDE+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtZWRpdG9yXCI+XG4gICAgICA8ZGl2IChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCIgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fZ3JpZFwiICNjYW52YXNQYXJlbnQ+XG4gICAgICAgIDxjYW52YXMgI2NhbnZhcyBjbGFzcz1cImNhbnZhc1wiPjwvY2FudmFzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX3Byb3BlcnRpZXNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX3Byb3BlcnRpZXNfX25vZGVcIlxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWROb2RlJCB8IGFzeW5jIGFzIG5vZGVcIlxuICAgICAgICAgIFt0aXRsZV09XCJub2RlLnByb3BlcnRpZXNbJ2lkJ11cIlxuICAgICAgICA+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiYS1oM1wiPnt7ICdAcHJ5LnBpcGVsaW5lLnNlbGVjdGVkVGFzaycgfCBpMThuIH19PC9oMz5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkucGlwZWxpbmUudHlwZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImEtcCBhLXAtLXR5cGVcIj57eyBub2RlLnR5cGUgfX08L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInt7IG5vZGUuaWQgfX1cIj57eyAnQHByeS5waXBlbGluZS50aXRsZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgIGlkPVwie3sgbm9kZS5pZCB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm5vZGUudGl0bGVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUVkaXRpbmdcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZVRpdGxlKG5vZGUsICRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fcHJvcGVydGllc19fZGV0YWlsXCIgW2NsYXNzLmlzLWVtcHR5XT1cIiFzZWxlY3RlZE5vZGVcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiAjc3BlY2lmaWM+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKChlcnJvcnMkIHwgYXN5bmMpPy5sZW5ndGggPz8gMCkgPiAwXCIgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fcHJvcGVydGllc19fZXJyb3JzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtZWRpdG9yX19wcm9wZXJ0aWVzX19lcnJvcnNfX3RpdGxlXCI+XG4gICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cIndhcm5pbmctdHJpYW5nbGVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj57eyAnQHByeS5waXBlbGluZS5lcnJvcnMnIHwgaTE4biB9fTo8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnMkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eXBlXCI+e3tcbiAgICAgICAgICAgICAgICAoZXJyb3I/Lm5vZGVJZCA9PT0gJy0nID8gJ0BwcnkucGlwZWxpbmUuZ2xvYmFsJyA6ICdAcHJ5LnBpcGVsaW5lLm5vZGUnKSB8IGkxOG5cbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIHt7IGVycm9yLnRyYW5zbGF0ZWQgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3BpcGVsaW5lL2NvbXBvbmVudHMvcGlwZWxpbmUtZWRpdG9yL3BpcGVsaW5lLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWVkaXRvci9waXBlbGluZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0Isd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBcUIsZUFBZSxFQUFvQixNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBR2hFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFD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QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQTVVVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiw2WUFLTixnQkFBZ0Isb0RDdENqRCxpaUhBeUZBOzs0RkR4RGEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHFCQUFxQjt1S0FJdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDUSxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ3lDLFlBQVk7c0JBQTdFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IERhdGFTb3VyY2VBY3Rpb25zLCBQcnlJMThuU2VydmljZSwgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IExHcmFwaCwgTEdyYXBoQ2FudmFzLCBMR3JhcGhOb2RlLCBMaXRlR3JhcGggfSBmcm9tICdsaXRlZ3JhcGguanMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBmcm9tRXZlbnQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIFBpcGVsaW5lQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgUGlwZWxpbmVDb21wb25lbnRGYWN0b3J5U2VydmljZVxufSBmcm9tICcuLi8uLi9mYWN0b3J5L3BpcGVsaW5lLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZU5vZGUgfSBmcm9tICcuLi8uLi9ub2RlLWNsYXNzL2Jhc2Utbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBOb2RlUGlwZWxpbmVFcnJvciwgUGlwZWxpbmVBY3Rpb25zLCBQaXBlbGluZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vc3RvcmUvcGlwZWxpbmUuYWN0aW9ucyc7XG5pbXBvcnQgeyBQaXBlbGluZVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL3BpcGVsaW5lLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBHcmFwaFNlcmlhbGl6ZXJVdGlscyB9IGZyb20gJy4vZ3JhcGgtc2VyaWFsaXplci51dGlscyc7XG5pbXBvcnQgeyBQcnlTZXJpYWxpemVkUGlwZWxpbmUsIFByeVRyYW5zZm8gfSBmcm9tICcuL3BpcGVsaW5lLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5UID0gJ3BpcGVsaW5lL2NvbXBvbmVudCc7XG5leHBvcnQgY29uc3QgTUlNRV9UWVBFX1BJUEVMSU5FX1BST1BFUlRJRVMgPSAncGlwZWxpbmUvcHJvcGVydGllcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1waXBlbGluZS1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlwZWxpbmUtZWRpdG9yLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlQaXBlbGluZUVkaXRvckNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBwaXBlbGluZT86IFByeVRyYW5zZm87XG4gIEBPdXRwdXQoKSBnb1RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJ5VHJhbnNmbz4oKTtcbiAgQFZpZXdDaGlsZCgnY2FudmFzJykgY2FudmFzITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2NhbnZhc1BhcmVudCcpIGNhbnZhc1BhcmVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdzcGVjaWZpYycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KSBjb21wb25lbnRSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xuICBsR3JhcGhzOiBMR3JhcGhbXSA9IFtdO1xuICBwcml2YXRlIGxHcmFwaENhbnZhcyE6IExHcmFwaENhbnZhcztcbiAgdHlwZXMkOiBPYnNlcnZhYmxlPHsgW2NhdGVnb3J5OiBzdHJpbmddOiBQaXBlbGluZUNvbXBvbmVudERlZmluaXRpb25bXSB9PjtcbiAgY2F0ZWdvcmllcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBzZWxlY3RlZE5vZGUkOiBPYnNlcnZhYmxlPEJhc2VOb2RlIHwgdW5kZWZpbmVkPjtcbiAgcmVzcG9uc2UkOiBPYnNlcnZhYmxlPFBpcGVsaW5lUmVzcG9uc2UgfCB1bmRlZmluZWQ+O1xuICBpbnN0YW5jaWF0ZWRDb21wb25lbnQhOiBDb21wb25lbnRSZWY8YW55PjtcbiAgc2VsZWN0ZWROb2RlPzogQmFzZU5vZGU7XG4gIGFjdGlvbnMgPSBbXSBhcyB7IHR5cGU6IHN0cmluZzsgaWNvbjogc3RyaW5nIH1bXTtcbiAgZXJyb3JzJDogT2JzZXJ2YWJsZTwoTm9kZVBpcGVsaW5lRXJyb3IgJiB7IHRyYW5zbGF0ZWQ6IHN0cmluZyB9KVtdPjtcbiAgZGlzYWJsZUVkaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaW1hZ2VzOiB7IHN0YXJ0OiBIVE1MSW1hZ2VFbGVtZW50OyBhZnRlcjogSFRNTEltYWdlRWxlbWVudCB9O1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2U6IFBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIEJhc2VOb2RlLnN0b3JlID0gc3RvcmU7XG4gICAgQmFzZU5vZGUuY2hlY2sgPSAoKSA9PiB0aGlzLmNoZWNrKCk7XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG5cbiAgICB0aGlzLnR5cGVzJCA9IGNvbWJpbmVMYXRlc3QoW3BpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UudHlwZXNCeUNhdGVnb3JpZXMkLCB0aGlzLnNlYXJjaCRdKS5waXBlKFxuICAgICAgbWFwKChbdHlwZXNCeUNhdGVnb3J5LCBzZWFyY2hdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIHsgW2NhdGVnb3J5OiBzdHJpbmddOiBQaXBlbGluZUNvbXBvbmVudERlZmluaXRpb25bXSB9O1xuICAgICAgICBPYmplY3Qua2V5cyh0eXBlc0J5Q2F0ZWdvcnkpLmZvckVhY2goKGNhdCkgPT4ge1xuICAgICAgICAgIHJlc3VsdFtjYXRdID0gdHlwZXNCeUNhdGVnb3J5W2NhdF0uZmlsdGVyKCh0eXBlKSA9PlxuICAgICAgICAgICAgdHlwZS5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKChzZWFyY2hbY2F0XSA/PyAnJykudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmNhdGVnb3JpZXMkID0gcGlwZWxpbmVDb21wb25lbnRGYWN0b3J5U2VydmljZS5jYXRlZ29yaWVzJDtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLnNlbGVjdGVkTm9kZUlkKS5waXBlKG1hcCgoaWQpID0+IHRoaXMuZmluZE5vZGVCeUlkKGlkKSkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChQaXBlbGluZVNlbGVjdG9ycy5jaGVja1Jlc3BvbnNlKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnJlc3BvbnNlJC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuYWxsTm9kZXMuZm9yRWFjaCgoZXJyb3JOb2RlKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGRlbGV0ZSBlcnJvck5vZGU/LmJnY29sb3I7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIChyZXNwb25zZT8uc3RhdHVzLm1hcCgoc3RhdHVzKSA9PiBzdGF0dXMuZXJyb3JzKS5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pID8/IFtdKVxuICAgICAgICAgID8ubWFwKChlcnJvcikgPT4gdGhpcy5maW5kTm9kZUJ5SWQoZXJyb3Iubm9kZUlkKSlcbiAgICAgICAgICAuZmlsdGVyKChlcnJvck5vZGUpID0+ICEhZXJyb3JOb2RlKVxuICAgICAgICAgIC5mb3JFYWNoKChlcnJvck5vZGUpID0+IChlcnJvck5vZGUhLmJnY29sb3IgPSAnI2Q5MzUzNScpKTtcblxuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlJC5waXBlKGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMucmVzcG9uc2UkKSkuc3Vic2NyaWJlKChbbm9kZSwgcmVzcG9uc2VdKSA9PiB7XG4gICAgICBpZiAodGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuY2xlYXIoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVtb3ZlQWN0aW9uKCdkb3duJyk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBtb2R1bGUgPSB0aGlzLnBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UuZ2V0KG5vZGU/LnR5cGUgPz8gJycpO1xuICAgICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5jcmVhdGVDb21wb25lbnQobW9kdWxlLmNvbXBvbmVudCk7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2Uubm9kZSA9IG5vZGU7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2UuY2hlY2tGbiA9ICgpID0+IHt9O1xuICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlRWRpdGluZztcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLmNoZWNrRm4gPSAoKSA9PiB0aGlzLmNoZWNrKCk7XG4gICAgICAgICAgfSwgMTAwKTtcblxuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdTdGF0dXMgPSByZXNwb25zZS5zdGF0dXMuZmluZCgoc3RhdHVzKSA9PiBzdGF0dXMubm9kZUlkID09PSBub2RlLnByb3BlcnRpZXNbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKG1hdGNoaW5nU3RhdHVzKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLm1vZGVsID0gbWF0Y2hpbmdTdGF0dXMub3V0TW9kZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdTdWJHcmFwaE5vZGUnKSB7XG4gICAgICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZXllLWFycm93LWRvd24nLCB0eXBlOiAnZG93bicgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZGVsZXRlJywgdHlwZTogJ2RlbGV0ZScgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUFjdGlvbignZGVsZXRlJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuc2VsZWN0ZWROb2RlJC5zdWJzY3JpYmUoKG5vZGUpID0+ICh0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGUpKSk7XG5cbiAgICB0aGlzLmVycm9ycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlc3BvbnNlJCwgdGhpcy5zZWxlY3RlZE5vZGUkXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3BvbnNlLCBzZWxlY3RlZE5vZGVdKSA9PiBbXG4gICAgICAgIC4uLihyZXNwb25zZT8uZXJyb3JzID8/IFtdKS5tYXAoKGVycm9yKSA9PiAoeyAuLi5lcnJvciwgbm9kZUlkOiAnLScgfSkpLFxuICAgICAgICAuLi4ocmVzcG9uc2U/LnN0YXR1cy5maW5kKChzdGF0dXMpID0+IHN0YXR1cy5ub2RlSWQgPT09IChzZWxlY3RlZE5vZGU/LnByb3BlcnRpZXNbJ2lkJ10gPz8gJy0tLS0tJykpPy5lcnJvcnMgPz9cbiAgICAgICAgICBbXSlcbiAgICAgIF0pLFxuICAgICAgbWFwKChlcnJvcnMpID0+XG4gICAgICAgIGVycm9ycy5tYXAoKGVycm9yKSA9PiAoe1xuICAgICAgICAgIC4uLmVycm9yLFxuICAgICAgICAgIHRyYW5zbGF0ZWQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnBpcGVsaW5lLmNvZGVzLicgKyBlcnJvci5jb2RlLCBlcnJvcilcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgLnBpcGUoYXVkaXRUaW1lKDEwMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25SZXNpemUoKTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5pbWFnZXMgPSB7XG4gICAgICBzdGFydDogbmV3IEltYWdlKCksXG4gICAgICBhZnRlcjogbmV3IEltYWdlKClcbiAgICB9O1xuICAgIHRoaXMuaW1hZ2VzLnN0YXJ0LnNyYyA9ICcvYXNzZXRzL2JhY2tncm91bmRzL2ltZ19wcm9jZXNzdXMucG5nJztcbiAgICB0aGlzLmltYWdlcy5hZnRlci5zcmMgPSAnJztcbiAgfVxuXG4gIGdldCBjdXJyZW50R3JhcGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubEdyYXBoc1t0aGlzLmxHcmFwaHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBnZXQgYWxsTm9kZXMoKTogQmFzZU5vZGVbXSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRHcmFwaD8uX25vZGVzID8/IFtdO1xuICB9XG5cbiAgZ2V0IGJhY2tncm91bmRJbWFnZSgpIHtcbiAgICByZXR1cm4gKHRoaXMucGlwZWxpbmU/Lm5vZGVzID8/IFtdKS5sZW5ndGggPiAwID8gdGhpcy5pbWFnZXMuYWZ0ZXIgOiB0aGlzLmltYWdlcy5zdGFydDtcbiAgfVxuXG4gIGZpbmROb2RlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsTm9kZXMuZmluZCgobm9kZSkgPT4gbm9kZS5wcm9wZXJ0aWVzWydpZCddID09PSBpZCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sR3JhcGhzLnB1c2gobmV3IExHcmFwaCgpKTtcbiAgICB0aGlzLmxHcmFwaENhbnZhcyA9IG5ldyBMR3JhcGhDYW52YXModGhpcy5jYW52YXMubmF0aXZlRWxlbWVudCwgdGhpcy5jdXJyZW50R3JhcGgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLmFsbG93X3NlYXJjaGJveCA9IGZhbHNlO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnRpdGxlX3RleHRfZm9udCA9ICdib2xkIDE0cHggVWJ1bnR1JztcbiAgICB0aGlzLmxHcmFwaENhbnZhcy5pbm5lcl90ZXh0X2ZvbnQgPSAnbm9ybWFsIDEycHggVWJ1bnR1JztcbiAgICB0aGlzLmxHcmFwaENhbnZhcy5kZWZhdWx0X2xpbmtfY29sb3IgPSAnIzAwMDAwMCc7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMubEdyYXBoQ2FudmFzLmJhY2tncm91bmRfaW1hZ2UgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5sR3JhcGhDYW52YXMub25EcmF3QmFja2dyb3VuZCA9IChjdHgsIHZlY3RvcikgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGN0eC5maWxsU3R5bGUgPSAnd2hpdGUnO1xuICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTtcblxuICAgICAgY29uc3QgaW1nU2l6ZSA9IFszMDYsIDE3MV07XG4gICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICB0aGlzLmJhY2tncm91bmRJbWFnZSxcbiAgICAgICAgKHJlY3Qud2lkdGggLSBpbWdTaXplWzBdKSAvIDIsXG4gICAgICAgIChyZWN0LmhlaWdodCAtIGltZ1NpemVbMV0pIC8gMixcbiAgICAgICAgaW1nU2l6ZVswXSxcbiAgICAgICAgaW1nU2l6ZVsxXVxuICAgICAgKTtcbiAgICB9O1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLm9uTm9kZURlc2VsZWN0ZWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgIH07XG4gICAgdGhpcy5jdXJyZW50R3JhcGguc3RhcnQoKTtcbiAgICBpZiAodGhpcy5waXBlbGluZSkge1xuICAgICAgR3JhcGhTZXJpYWxpemVyVXRpbHMuaHlkcmF0ZSh0aGlzLnBpcGVsaW5lIGFzIFByeVNlcmlhbGl6ZWRQaXBlbGluZSwgdGhpcy5jdXJyZW50R3JhcGgpO1xuICAgICAgdGhpcy5kaXNhYmxlRWRpdGluZyA9IHRoaXMucGlwZWxpbmUuYWN0aXZlO1xuICAgIH1cbiAgICB0aGlzLm9uUmVzaXplKCk7XG4gIH1cblxuICBvblJlc2l6ZSgpIHtcbiAgICAvLyBNYWtlIGNhbnZhcyBzbyBsaXR0bGUgdGhhdCBpdCBkb2Vzbid0IGltcGFjdCBjc3Mgc2l6ZSBjYWxjdWxhdGlvblxuICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQud2lkdGggPSAxMDtcbiAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodCA9IDEwO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnJlc2l6ZSgxMCwgMTApO1xuXG4gICAgLy8gTGF0ZXIsIG1ha2UgaXQgZ3JvdyB0byBwcm9wZXIgc2l6ZVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzUGFyZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoID0gcmVjdC53aWR0aDtcbiAgICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gcmVjdC5oZWlnaHQ7XG4gICAgICB0aGlzLmxHcmFwaENhbnZhcy5yZXNpemUocmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfSwgMTApO1xuICB9XG5cbiAgZGlzcGxheUdyYXBoKGdyYXBoOiBMR3JhcGgpIHtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaC5zdG9wKCk7XG4gICAgdGhpcy5sR3JhcGhzLnB1c2goZ3JhcGgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnNldEdyYXBoKGdyYXBoKTtcbiAgICBncmFwaC5zdGFydCgpO1xuICB9XG5cbiAgcG9wR3JhcGgoKSB7XG4gICAgdGhpcy5jdXJyZW50R3JhcGguc3RvcCgpO1xuICAgIHRoaXMubEdyYXBocy5sZW5ndGggPSB0aGlzLmxHcmFwaHMubGVuZ3RoIC0gMTtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaC5zdGFydCgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnNldEdyYXBoKHRoaXMuY3VycmVudEdyYXBoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLmRlc2VsZWN0QWxsTm9kZXMoKTtcbiAgICBpZiAodGhpcy5sR3JhcGhzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oJ3VwJyk7XG4gICAgfVxuICB9XG5cbiAgcHVwR3JhcGgobm9kZTogQmFzZU5vZGUpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKCEhbm9kZS5zdWJHcmFwaCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdGhpcy5kaXNwbGF5R3JhcGgobm9kZS5zdWJHcmFwaCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgICAgdGhpcy5sR3JhcGhDYW52YXMuZGVzZWxlY3RBbGxOb2RlcygpO1xuICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZXllLWFycm93LXVwJywgdHlwZTogJ3VwJyB9KTtcbiAgICB9XG4gIH1cblxuICBjaGVjaygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUVkaXRpbmcpIHtcbiAgICAgIHRoaXMucGlwZWxpbmUgPSB7XG4gICAgICAgIC4uLnRoaXMucGlwZWxpbmUsXG4gICAgICAgIC4uLkdyYXBoU2VyaWFsaXplclV0aWxzLnNlcmlhbGl6ZSh0aGlzLmxHcmFwaHNbMF0sIHRoaXMucGlwZWxpbmU/LmlkKVxuICAgICAgfSBhcyBQcnlUcmFuc2ZvO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgUGlwZWxpbmVBY3Rpb25zLmNoZWNrKHtcbiAgICAgICAgICAgIGdyYXBoOiB7XG4gICAgICAgICAgICAgIGlkOiB0aGlzLnBpcGVsaW5lPy5pZCxcbiAgICAgICAgICAgICAgbm9kZXM6IHRoaXMucGlwZWxpbmU/Lm5vZGVzLFxuICAgICAgICAgICAgICBsaW5rczogdGhpcy5waXBlbGluZT8ubGlua3MsXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnBpcGVsaW5lPy50aXRsZSxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMucGlwZWxpbmU/LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaD8uY2hhbmdlKCk7XG4gIH1cblxuICBjcmVhdGVOb2RlKHR5cGU6IHN0cmluZywgcG9zaXRpb246IFtudW1iZXIsIG51bWJlcl0sIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICBjb25zdCB0aXRsZSA9IGFkZGl0aW9uYWxQcm9wZXJ0aWVzLl9sYWJlbCA/PyB0eXBlLnNwbGl0KCcuJylbdHlwZS5zcGxpdCgnLicpLmxlbmd0aCAtIDFdID8/ICc/JztcbiAgICBjb25zdCBub2RlX2NvbnN0ID0gTGl0ZUdyYXBoLmNyZWF0ZU5vZGUodHlwZSwgdGl0bGUsIHt9KTtcbiAgICBpZiAobm9kZV9jb25zdCAhPT0gbnVsbCkge1xuICAgICAgbm9kZV9jb25zdC50aXRsZSA9IHRpdGxlO1xuICAgICAgbm9kZV9jb25zdC5wb3MgPSBwb3NpdGlvbjtcbiAgICAgIE9iamVjdC5rZXlzKGFkZGl0aW9uYWxQcm9wZXJ0aWVzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgbm9kZV9jb25zdC5wcm9wZXJ0aWVzW2tleV0gPSBhZGRpdGlvbmFsUHJvcGVydGllc1trZXldO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuY3VycmVudEdyYXBoLmFkZChub2RlX2NvbnN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgQ2Fubm90IGNyZWF0ZSBub2RlIG9mIHR5cGUgJHt0eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ1N0YXJ0KCRldmVudDogRHJhZ0V2ZW50LCBjb21wb25lbnQ6IFBpcGVsaW5lQ29tcG9uZW50RGVmaW5pdGlvbikge1xuICAgIGlmICghISRldmVudCAmJiAhISRldmVudC5kYXRhVHJhbnNmZXIgJiYgISRldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoTUlNRV9UWVBFX1BJUEVMSU5FX0NPTVBPTkVOVCkpIHtcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdjb3B5JztcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YShNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5ULCBjb21wb25lbnQudHlwZSk7XG4gICAgICAkZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoTUlNRV9UWVBFX1BJUEVMSU5FX1BST1BFUlRJRVMsIEpTT04uc3RyaW5naWZ5KHsgLi4uY29tcG9uZW50LmFkZGl0aW9uYWxQcm9wZXJ0aWVzIH0pKTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3AoJGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoISEkZXZlbnQgJiYgISEkZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICBpZiAoJGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmNsdWRlcyhNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5UKSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gJGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKE1JTUVfVFlQRV9QSVBFTElORV9DT01QT05FTlQpO1xuICAgICAgICBjb25zdCBhZGRpdGlvbmFsUHJvcGVydGllcyA9IEpTT04ucGFyc2UoJGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKE1JTUVfVFlQRV9QSVBFTElORV9QUk9QRVJUSUVTKSk7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZEV2ZW50ID0gdGhpcy5sR3JhcGhDYW52YXMuY29udmVydEV2ZW50VG9DYW52YXNPZmZzZXQoJGV2ZW50KTtcbiAgICAgICAgdGhpcy5jcmVhdGVOb2RlKGNvbXBvbmVudFR5cGUsIFtjb252ZXJ0ZWRFdmVudFswXSwgY29udmVydGVkRXZlbnRbMV1dLCBhZGRpdGlvbmFsUHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuY2hlY2soKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVRpdGxlKG5vZGU6IExHcmFwaE5vZGUsICRldmVudDogRXZlbnQpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbm9kZS50aXRsZSA9ICRldmVudC50YXJnZXQ/LnZhbHVlO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgY2xpY2tlZEFjdGlvbihhY3Rpb246IGFueSkge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgdGhpcy5wb3BHcmFwaCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICB0aGlzLnB1cEdyYXBoKHRoaXMuc2VsZWN0ZWROb2RlISk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5jdXJyZW50R3JhcGgucmVtb3ZlKHRoaXMuc2VsZWN0ZWROb2RlISk7XG4gICAgICAgIHRoaXMucmVtb3ZlQWN0aW9uKCdkZWxldGUnKTtcbiAgICAgICAgdGhpcy5jaGVjaygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChQaXBlbGluZUFjdGlvbnMuc2VsZWN0KHsgaWQ6ICcnIH0pKTtcbiAgfVxuXG4gIGFkZEFjdGlvbihhZGQ6IHsgdHlwZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfSkge1xuICAgIGlmICghdGhpcy5hY3Rpb25zLmZpbmQoKGFjdGlvbikgPT4gYWN0aW9uLnR5cGUgPT09IGFkZC50eXBlKSkge1xuICAgICAgdGhpcy5hY3Rpb25zLnB1c2goYWRkKTtcbiAgICB9XG4gICAgdGhpcy5hY3Rpb25zLnNvcnQoKGEsIGIpID0+IGEudHlwZS5sb2NhbGVDb21wYXJlKGIudHlwZSkpO1xuICB9XG5cbiAgcmVtb3ZlQWN0aW9uKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLnR5cGUgIT09IHR5cGUpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NvbnN1bHQuZW1pdCh0aGlzLnBpcGVsaW5lKTtcbiAgfVxuXG4gIHNlYXJjaCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KHsgLi4uJGV2ZW50IH0pO1xuICB9XG59XG4iLCI8cHJ5LXBpcGVsaW5lLWNzcz48L3ByeS1waXBlbGluZS1jc3M+XG48ZGl2IGNsYXNzPVwiby1waXBlbGluZVwiPlxuICA8ZGl2IGNsYXNzPVwiby1waXBlbGluZV9fbWVudVwiPlxuICAgIDxwcnktYWNjb3JkaW9uPlxuICAgICAgPHByeS1hY2NvcmRpb24taXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllcyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICBbaXRlbV09XCJjYXRlZ29yeVwiXG4gICAgICAgIFtib3JkZXJDb2xvcl09XCIodHlwZXMkIHwgYXN5bmMpIVtjYXRlZ29yeV1bMF0uY29sb3JcIlxuICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICBbc2hvd1NlYXJjaEJhcl09XCJ0cnVlXCJcbiAgICAgICAgW3NlYXJjaCRdPVwic2VhcmNoJFwiXG4gICAgICAgIChzZWFyY2gpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LnBpcGVsaW5lLlwiXG4gICAgICA+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8tcGlwZWxpbmVfX2NvbXBvbmVudHNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mICh0eXBlcyQgfCBhc3luYykhW2NhdGVnb3J5XVwiPlxuICAgICAgICAgICAgPGxpIFtkcmFnZ2FibGVdPVwiIXRoaXMuZGlzYWJsZUVkaXRpbmdcIiAoZHJhZ3N0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudCwgdHlwZSlcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj57eyB0eXBlLmxhYmVsIH19PC9wPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjJcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cImluZm9cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvcHJ5LWFjY29yZGlvbi1pdGVtPlxuICAgIDwvcHJ5LWFjY29yZGlvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmVfX3dvcmtzcGFjZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fdG9vbGJveFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgIHt7ICdAcHJ5LnBpcGVsaW5lLmJhY2tUb0Rlc2NyaXB0aW9uJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsaWNrZWRBY3Rpb24oYWN0aW9uKVwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiPlxuICAgICAgICAgIHt7ICdAcHJ5LnBpcGVsaW5lLicgKyBhY3Rpb24udHlwZSB8IGkxOG4gfX1cbiAgICAgICAgICA8cHJ5LWljb24gW2ljb25TdmddPVwiYWN0aW9uLmljb25cIj48L3ByeS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgdGhpcy5waXBlbGluZT8udGl0bGUgfX08L2gxPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvclwiPlxuICAgICAgPGRpdiAoZHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiIGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX2dyaWRcIiAjY2FudmFzUGFyZW50PlxuICAgICAgICA8Y2FudmFzICNjYW52YXMgY2xhc3M9XCJjYW52YXNcIj48L2NhbnZhcz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtZWRpdG9yX19wcm9wZXJ0aWVzXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm8tcGlwZWxpbmUtZWRpdG9yX19wcm9wZXJ0aWVzX19ub2RlXCJcbiAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkTm9kZSQgfCBhc3luYyBhcyBub2RlXCJcbiAgICAgICAgICBbdGl0bGVdPVwibm9kZS5wcm9wZXJ0aWVzWydpZCddXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImEtaDNcIj57eyAnQHByeS5waXBlbGluZS5zZWxlY3RlZFRhc2snIHwgaTE4biB9fTwvaDM+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LnBpcGVsaW5lLnR5cGUnIHwgaTE4biB9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhLXAgYS1wLS10eXBlXCI+e3sgbm9kZS50eXBlIH19PC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJ7eyBub2RlLmlkIH19XCI+e3sgJ0BwcnkucGlwZWxpbmUudGl0bGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICBpZD1cInt7IG5vZGUuaWQgfX1cIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJub2RlLnRpdGxlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVFZGl0aW5nXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VUaXRsZShub2RlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX3Byb3BlcnRpZXNfX2RldGFpbFwiIFtjbGFzcy5pcy1lbXB0eV09XCIhc2VsZWN0ZWROb2RlXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgI3NwZWNpZmljPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIigoZXJyb3JzJCB8IGFzeW5jKT8ubGVuZ3RoID8/IDApID4gMFwiIGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX3Byb3BlcnRpZXNfX2Vycm9yc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fcHJvcGVydGllc19fZXJyb3JzX190aXRsZVwiPlxuICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJ3YXJuaW5nLXRyaWFuZ2xlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+e3sgJ0BwcnkucGlwZWxpbmUuZXJyb3JzJyB8IGkxOG4gfX06PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZXJyb3JzJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHlwZVwiPnt7XG4gICAgICAgICAgICAgICAgKGVycm9yPy5ub2RlSWQgPT09ICctJyA/ICdAcHJ5LnBpcGVsaW5lLmdsb2JhbCcgOiAnQHByeS5waXBlbGluZS5ub2RlJykgfCBpMThuXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICB7eyBlcnJvci50cmFuc2xhdGVkIH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -53,7 +53,7 @@ export class FilterComponent extends PipelinePropertiesPanelComponent {
53
53
  this.checkFn();
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterComponent, selector: "pry-pipeline-filter", usesInheritance: true, ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"filter\">{{ '@pry.pipeline.filter.filter' | i18n }}</label>\n <pry-select\n [items]=\"model?.attributes ?? null\"\n [ngModel]=\"node.properties['attributeName']\"\n (ngModelChange)=\"changeAttribute($event)\"\n [disabled]=\"disabled\"\n bindLabel=\"technicalName\"\n bindValue=\"technicalName\"\n id=\"filter\"\n ></pry-select>\n</div>\n\n<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"operator\">{{ '@pry.pipeline.filter.operator' | i18n }}</label>\n <pry-select\n [items]=\"operators\"\n [ngModel]=\"node.properties['operator']\"\n (ngModelChange)=\"changeOperator($event)\"\n [disabled]=\"disabled\"\n id=\"operator\"\n ></pry-select>\n</div>\n\n<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"value\">{{ '@pry.pipeline.filter.value' | i18n }}</label>\n <input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n id=\"value\"\n class=\"a-form-field\"\n [ngModel]=\"node.properties['value']\"\n (ngModelChange)=\"changeValue($event)\"\n />\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterComponent, selector: "pry-pipeline-filter", usesInheritance: true, ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"filter\">{{ '@pry.pipeline.filter.filter' | i18n }}</label>\n <pry-select\n [items]=\"model?.attributes ?? null\"\n [ngModel]=\"node.properties['attributeName']\"\n (ngModelChange)=\"changeAttribute($event)\"\n [disabled]=\"disabled\"\n bindLabel=\"technicalName\"\n bindValue=\"technicalName\"\n id=\"filter\"\n ></pry-select>\n</div>\n\n<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"operator\">{{ '@pry.pipeline.filter.operator' | i18n }}</label>\n <pry-select\n [items]=\"operators\"\n [ngModel]=\"node.properties['operator']\"\n (ngModelChange)=\"changeOperator($event)\"\n [disabled]=\"disabled\"\n id=\"operator\"\n ></pry-select>\n</div>\n\n<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"value\">{{ '@pry.pipeline.filter.value' | i18n }}</label>\n <input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n id=\"value\"\n class=\"a-form-field\"\n [ngModel]=\"node.properties['value']\"\n (ngModelChange)=\"changeValue($event)\"\n />\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
57
57
  }
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterComponent, decorators: [{
59
59
  type: Component,
@@ -19,7 +19,7 @@ export class InputDatasourceComponent extends PipelinePropertiesPanelComponent {
19
19
  this.checkFn();
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputDatasourceComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputDatasourceComponent, selector: "pry-pipeline-input-dataset-definition", usesInheritance: true, ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"dataset\">{{ '@pry.pipeline.dataset.input' | i18n }}</label>\n <pry-select\n [items]=\"dataSources$ | async\"\n [ngModel]=\"node.properties['datasetId']\"\n (ngModelChange)=\"change($event)\"\n [disabled]=\"disabled\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"dataset\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputDatasourceComponent, selector: "pry-pipeline-input-dataset-definition", usesInheritance: true, ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"dataset\">{{ '@pry.pipeline.dataset.input' | i18n }}</label>\n <pry-select\n [items]=\"dataSources$ | async\"\n [ngModel]=\"node.properties['datasetId']\"\n (ngModelChange)=\"change($event)\"\n [disabled]=\"disabled\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"dataset\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputDatasourceComponent, decorators: [{
25
25
  type: Component,
@@ -21,7 +21,7 @@ export class OutputDatasetComponent extends PipelinePropertiesPanelComponent {
21
21
  this.checkFn();
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputDatasetComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OutputDatasetComponent, selector: "pry-pipeline-output-dataset-definition", usesInheritance: true, ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"dataset\">{{ '@pry.pipeline.dataset.output' | i18n }}</label>\n <pry-select\n [items]=\"datasets$ | async\"\n [ngModel]=\"node.properties['dataset']\"\n (ngModelChange)=\"change($event)\"\n [disabled]=\"disabled\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"dataset\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OutputDatasetComponent, selector: "pry-pipeline-output-dataset-definition", usesInheritance: true, ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"dataset\">{{ '@pry.pipeline.dataset.output' | i18n }}</label>\n <pry-select\n [items]=\"datasets$ | async\"\n [ngModel]=\"node.properties['dataset']\"\n (ngModelChange)=\"change($event)\"\n [disabled]=\"disabled\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"dataset\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputDatasetComponent, decorators: [{
27
27
  type: Component,