@provoly/dashboard 1.4.14 → 1.4.15

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 (203) hide show
  1. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +7 -7
  2. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +3 -3
  3. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +7 -7
  4. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +10 -10
  5. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +6 -6
  6. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +3 -3
  7. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +3 -3
  8. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +10 -10
  9. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +10 -15
  10. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +8 -8
  11. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +5 -5
  12. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +5 -5
  13. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +6 -6
  14. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +5 -5
  15. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
  16. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +5 -5
  17. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +6 -6
  18. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +3 -3
  19. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +5 -5
  20. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +6 -6
  21. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +7 -7
  22. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
  23. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +5 -5
  24. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +5 -5
  25. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +5 -5
  26. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +5 -5
  27. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +3 -3
  28. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +3 -3
  29. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +5 -5
  30. package/esm2022/admin/components/admin-links/admin-links.component.mjs +5 -5
  31. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +5 -5
  32. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +5 -5
  33. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +5 -5
  34. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +4 -5
  35. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +5 -6
  36. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +5 -5
  37. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +5 -5
  38. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +4 -5
  39. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +5 -5
  40. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +5 -5
  41. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +5 -5
  42. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +5 -5
  43. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +5 -5
  44. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +5 -5
  45. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +4 -5
  46. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +5 -5
  47. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +6 -6
  48. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +6 -6
  49. package/esm2022/admin/components/admin-user/admin-user.component.mjs +5 -5
  50. package/esm2022/admin/components/association/association.component.mjs +4 -5
  51. package/esm2022/components/card/card.component.mjs +5 -6
  52. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +6 -6
  53. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +7 -7
  54. package/esm2022/components/stepper/stepper.component.mjs +3 -4
  55. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +5 -5
  56. package/esm2022/dataset/components/dataset-version-form/dataset-version-form.component.mjs +6 -7
  57. package/esm2022/filters/date/date-filter.component.mjs +5 -6
  58. package/esm2022/filters/list/list-filter.component.mjs +6 -7
  59. package/esm2022/filters/number/number-filter.component.mjs +5 -6
  60. package/esm2022/filters/text/text-filter.component.mjs +5 -6
  61. package/esm2022/lib/core/components/about/about.component.mjs +3 -3
  62. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +7 -7
  63. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +6 -6
  64. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +6 -6
  65. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +6 -7
  66. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
  67. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +3 -4
  68. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +6 -6
  69. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +7 -8
  70. package/esm2022/lib/core/components/icon/icon.component.mjs +3 -3
  71. package/esm2022/lib/core/components/modal/modal.component.mjs +5 -6
  72. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +5 -5
  73. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +3 -3
  74. package/esm2022/lib/core/components/range/range.component.mjs +5 -6
  75. package/esm2022/lib/core/components/select/select.component.mjs +3 -3
  76. package/esm2022/lib/core/components/select-image/select-image.component.mjs +5 -5
  77. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +6 -6
  78. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +3 -3
  79. package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +5 -5
  80. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +3 -3
  81. package/esm2022/lib/core/components/toggle/toggle.component.mjs +4 -4
  82. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +9 -9
  83. package/esm2022/lib/core/store/search/search.effects.mjs +4 -2
  84. package/esm2022/lib/core/store/search/search.service.mjs +3 -7
  85. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +3 -3
  86. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +2 -2
  87. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +8 -8
  88. package/esm2022/lib/dashboard/components/dashboard.component.mjs +12 -12
  89. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +5 -5
  90. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +5 -6
  91. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +3 -3
  92. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +6 -6
  93. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +10 -10
  94. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +2 -2
  95. package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +2 -2
  96. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +7 -7
  97. package/esm2022/lib/dashboard/resultset-utils.mjs +7 -8
  98. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +3 -3
  99. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +13 -24
  100. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
  101. package/esm2022/notification/components/notification/content/notification-content.component.mjs +3 -3
  102. package/esm2022/notification/components/notification/notification.component.mjs +5 -5
  103. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +7 -7
  104. package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +2 -2
  105. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +5 -5
  106. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +9 -9
  107. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +6 -6
  108. package/esm2022/presentation/components/presentation.component.mjs +6 -6
  109. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +5 -5
  110. package/esm2022/restitution/components/restitution/restitution.component.mjs +3 -3
  111. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +9 -9
  112. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +3 -3
  113. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +5 -5
  114. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +9 -9
  115. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +3 -3
  116. package/esm2022/search/search-home/search-home.component.mjs +3 -3
  117. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +3 -3
  118. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +3 -3
  119. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +8 -8
  120. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +6 -6
  121. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +3 -3
  122. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +7 -7
  123. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +6 -6
  124. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +7 -7
  125. package/esm2022/search/search-tools/search-tools.component.mjs +13 -13
  126. package/esm2022/toolbox/components/named-query/named-query.component.mjs +5 -5
  127. package/esm2022/toolbox/components/save-view/save-view.component.mjs +10 -10
  128. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +8 -8
  129. package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +5 -6
  130. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +3 -3
  131. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +4 -4
  132. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
  133. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +12 -12
  134. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +13 -7
  135. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +7 -7
  136. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +7 -7
  137. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +2 -2
  138. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +10 -10
  139. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +2 -2
  140. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +2 -2
  141. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -5
  142. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +7 -7
  143. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +10 -10
  144. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +9 -9
  145. package/fesm2022/provoly-dashboard-admin.mjs +171 -175
  146. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  147. package/fesm2022/provoly-dashboard-components-card.mjs +4 -5
  148. package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
  149. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +4 -4
  150. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  151. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +6 -6
  152. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  153. package/fesm2022/provoly-dashboard-components-stepper.mjs +2 -3
  154. package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
  155. package/fesm2022/provoly-dashboard-dataset.mjs +14 -14
  156. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  157. package/fesm2022/provoly-dashboard-filters-date.mjs +4 -5
  158. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  159. package/fesm2022/provoly-dashboard-filters-list.mjs +4 -5
  160. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  161. package/fesm2022/provoly-dashboard-filters-number.mjs +4 -5
  162. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  163. package/fesm2022/provoly-dashboard-filters-text.mjs +4 -5
  164. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  165. package/fesm2022/provoly-dashboard-notification.mjs +4 -4
  166. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  167. package/fesm2022/provoly-dashboard-pipeline.mjs +21 -21
  168. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  169. package/fesm2022/provoly-dashboard-presentation.mjs +14 -14
  170. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  171. package/fesm2022/provoly-dashboard-restitution.mjs +6 -6
  172. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  173. package/fesm2022/provoly-dashboard-search.mjs +35 -35
  174. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  175. package/fesm2022/provoly-dashboard-toolbox.mjs +25 -25
  176. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  177. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +2 -2
  178. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  179. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +3 -3
  180. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  181. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
  182. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  183. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
  184. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  185. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +11 -5
  186. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  187. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +5 -5
  188. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  189. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +8 -8
  190. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  191. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +9 -9
  192. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  193. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +6 -6
  194. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  195. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +7 -7
  196. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
  197. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +11 -11
  198. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  199. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +7 -7
  200. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  201. package/fesm2022/provoly-dashboard.mjs +203 -218
  202. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  203. package/package.json +7 -7
@@ -4,13 +4,13 @@ import { AbacRulesActions } from '../../store/abac-rules.actions';
4
4
  import { AbacRulesSelectors } from '../../store/abac-rules.selectors';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@ngrx/store";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@provoly/dashboard";
9
- import * as i4 from "@angular/forms";
10
- import * as i5 from "../select-metadata/select-metadata.component";
11
- import * as i6 from "../select-attribute/select-attribute.component";
12
- import * as i7 from "../attribute-condition/attribute-condition.component";
13
- import * as i8 from "../metadata-condition/metadata-condition.component";
7
+ import * as i2 from "@provoly/dashboard";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "../select-metadata/select-metadata.component";
10
+ import * as i5 from "../select-attribute/select-attribute.component";
11
+ import * as i6 from "../attribute-condition/attribute-condition.component";
12
+ import * as i7 from "../metadata-condition/metadata-condition.component";
13
+ import * as i8 from "@angular/common";
14
14
  export class ComposedConditionComponent {
15
15
  set id(val) {
16
16
  this._id = val;
@@ -51,11 +51,11 @@ export class ComposedConditionComponent {
51
51
  }));
52
52
  }
53
53
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ComposedConditionComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ComposedConditionComponent, selector: "pry-composed-condition", inputs: { id: "id", readonly: "readonly", rootElement: "rootElement" }, ngImport: i0, template: "<ng-container *ngIf=\"condition$ | async as condition\">\n <ng-container *ngIf=\"condition.type === OR || condition.type === AND; else metaOrAttributeCondition\">\n <div class=\"o-pry-composed-condition-wrapper\" [class.root-element]=\"rootElement\">\n <div class=\"o-pry-composed-condition\">\n <div class=\"o-pry-composed-condition__type -vertical-bar\">\n <div class=\"o-pry-composed-condition__type__content\">\n <pry-toggle\n leftword=\"ET\"\n rightword=\"OU\"\n [ngModel]=\"condition.type === AND\"\n (ngModelChange)=\"onChangeConditionType($event ? AND : OR, condition.id)\"\n [alwaysActive]=\"true\"\n [disabled]=\"readonly\"\n ></pry-toggle>\n </div>\n </div>\n\n <div class=\"o-pry-composed-condition__content\">\n <ng-container *ngFor=\"let id of condition.composed\">\n <pry-composed-condition [readonly]=\"readonly\" [id]=\"id\"></pry-composed-condition>\n </ng-container>\n\n <ng-container *ngIf=\"!readonly\">\n <ng-container *ngIf=\"editAbacRuleType$ | async as ruleType\">\n <div>\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--iconcircle-text\"\n (click)=\"panelOpen = true\"\n [pryOverlay]=\"selectOverlay\"\n [(overlayOpen)]=\"panelOpen\"\n pryOverlayPosition=\"start-bottom\"\n >\n <span class=\"a-btn--iconcircle-text__icon-wrapper\">\n <pry-icon iconSvg=\"add\" [height]=\"14\" [width]=\"14\"></pry-icon>\n </span>\n <span>\n {{\n '@pry.admin.abac-rules.form.' + (ruleType === ATTRIBUTE ? 'addAttribute' : 'addMetadata') | i18n\n }}\n </span>\n </button>\n </div>\n\n <ng-template #selectOverlay>\n <ng-container *ngIf=\"ruleType === ATTRIBUTE; else metadataType\">\n <pry-abac-select-attribute\n (attributeSelected)=\"onAddNewAttribute($event, condition.id)\"\n ></pry-abac-select-attribute>\n </ng-container>\n <ng-template #metadataType>\n <pry-abac-select-metadata\n (metadataSelected)=\"onAddNewMetadata($event, condition.id)\"\n ></pry-abac-select-metadata>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <ng-container *ngIf=\"!readonly\">\n <div class=\"o-pry-composed-condition__add-item\">\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--iconcircle-text\"\n (click)=\"onAddNewNestedCondition(condition.id)\"\n >\n <span class=\"a-btn--iconcircle-text__icon-wrapper\">\n <pry-icon iconSvg=\"add\" [height]=\"14\" [width]=\"14\"></pry-icon>\n </span>\n <span>\n {{ '@pry.admin.abac-rules.form.addGroup' | i18n }}\n </span>\n </button>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-template #metaOrAttributeCondition>\n <ng-container *ngIf=\"condition.type === METADATA\">\n <pry-metadata-condition [readonly]=\"readonly\" [id]=\"condition.id\"></pry-metadata-condition>\n </ng-container>\n <ng-container *ngIf=\"condition.type === ATTRIBUTE\">\n <pry-attribute-condition [readonly]=\"readonly\" [id]=\"condition.id\"></pry-attribute-condition>\n </ng-container>\n </ng-template>\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: "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: i3.PryToggleComponent, selector: "pry-toggle", inputs: ["alwaysActive", "disabled", "mode", "size", "dir", "leftword", "rightword"] }, { kind: "directive", type: i3.PryOverlayDirective, selector: "[pryOverlay]", inputs: ["pryOverlay", "styleReversed", "pryOverlaySticky", "pryOverlayNoPadding", "pryOverlayPosition", "overlayOpen", "hasBackdrop"], outputs: ["overlayOpenChange"] }, { kind: "component", type: i5.SelectMetadataComponent, selector: "pry-abac-select-metadata", outputs: ["metadataSelected"] }, { kind: "component", type: i6.SelectAttributeComponent, selector: "pry-abac-select-attribute", outputs: ["attributeSelected"] }, { kind: "component", type: i7.AttributeConditionComponent, selector: "pry-attribute-condition", inputs: ["readonly", "id"] }, { kind: "component", type: i8.MetadataConditionComponent, selector: "pry-metadata-condition", inputs: ["readonly", "id"] }, { kind: "component", type: ComposedConditionComponent, selector: "pry-composed-condition", inputs: ["id", "readonly", "rootElement"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ComposedConditionComponent, selector: "pry-composed-condition", inputs: { id: "id", readonly: "readonly", rootElement: "rootElement" }, ngImport: i0, template: "@if (condition$ | async; as condition) {\n @if (condition.type === OR || condition.type === AND) {\n <div class=\"o-pry-composed-condition-wrapper\" [class.root-element]=\"rootElement\">\n <div class=\"o-pry-composed-condition\">\n <div class=\"o-pry-composed-condition__type -vertical-bar\">\n <div class=\"o-pry-composed-condition__type__content\">\n <pry-toggle\n leftword=\"ET\"\n rightword=\"OU\"\n [ngModel]=\"condition.type === AND\"\n (ngModelChange)=\"onChangeConditionType($event ? AND : OR, condition.id)\"\n [alwaysActive]=\"true\"\n [disabled]=\"readonly\"\n ></pry-toggle>\n </div>\n </div>\n <div class=\"o-pry-composed-condition__content\">\n @for (id of condition.composed; track id) {\n <pry-composed-condition [readonly]=\"readonly\" [id]=\"id\"></pry-composed-condition>\n }\n @if (!readonly) {\n @if (editAbacRuleType$ | async; as ruleType) {\n <div>\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--iconcircle-text\"\n (click)=\"panelOpen = true\"\n [pryOverlay]=\"selectOverlay\"\n [(overlayOpen)]=\"panelOpen\"\n pryOverlayPosition=\"start-bottom\"\n >\n <span class=\"a-btn--iconcircle-text__icon-wrapper\">\n <pry-icon iconSvg=\"add\" [height]=\"14\" [width]=\"14\"></pry-icon>\n </span>\n <span>\n {{\n '@pry.admin.abac-rules.form.' + (ruleType === ATTRIBUTE ? 'addAttribute' : 'addMetadata') | i18n\n }}\n </span>\n </button>\n </div>\n <ng-template #selectOverlay>\n @if (ruleType === ATTRIBUTE) {\n <pry-abac-select-attribute\n (attributeSelected)=\"onAddNewAttribute($event, condition.id)\"\n ></pry-abac-select-attribute>\n } @else {\n <pry-abac-select-metadata\n (metadataSelected)=\"onAddNewMetadata($event, condition.id)\"\n ></pry-abac-select-metadata>\n }\n </ng-template>\n }\n }\n </div>\n </div>\n @if (!readonly) {\n <div class=\"o-pry-composed-condition__add-item\">\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--iconcircle-text\"\n (click)=\"onAddNewNestedCondition(condition.id)\"\n >\n <span class=\"a-btn--iconcircle-text__icon-wrapper\">\n <pry-icon iconSvg=\"add\" [height]=\"14\" [width]=\"14\"></pry-icon>\n </span>\n <span>\n {{ '@pry.admin.abac-rules.form.addGroup' | i18n }}\n </span>\n </button>\n </div>\n }\n </div>\n } @else {\n @if (condition.type === METADATA) {\n <pry-metadata-condition [readonly]=\"readonly\" [id]=\"condition.id\"></pry-metadata-condition>\n }\n @if (condition.type === ATTRIBUTE) {\n <pry-attribute-condition [readonly]=\"readonly\" [id]=\"condition.id\"></pry-attribute-condition>\n }\n }\n}\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PryToggleComponent, selector: "pry-toggle", inputs: ["alwaysActive", "disabled", "mode", "size", "dir", "leftword", "rightword"] }, { kind: "directive", type: i2.PryOverlayDirective, selector: "[pryOverlay]", inputs: ["pryOverlay", "styleReversed", "pryOverlaySticky", "pryOverlayNoPadding", "pryOverlayPosition", "overlayOpen", "hasBackdrop"], outputs: ["overlayOpenChange"] }, { kind: "component", type: i4.SelectMetadataComponent, selector: "pry-abac-select-metadata", outputs: ["metadataSelected"] }, { kind: "component", type: i5.SelectAttributeComponent, selector: "pry-abac-select-attribute", outputs: ["attributeSelected"] }, { kind: "component", type: i6.AttributeConditionComponent, selector: "pry-attribute-condition", inputs: ["readonly", "id"] }, { kind: "component", type: i7.MetadataConditionComponent, selector: "pry-metadata-condition", inputs: ["readonly", "id"] }, { kind: "component", type: ComposedConditionComponent, selector: "pry-composed-condition", inputs: ["id", "readonly", "rootElement"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
55
55
  }
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ComposedConditionComponent, decorators: [{
57
57
  type: Component,
58
- args: [{ selector: 'pry-composed-condition', template: "<ng-container *ngIf=\"condition$ | async as condition\">\n <ng-container *ngIf=\"condition.type === OR || condition.type === AND; else metaOrAttributeCondition\">\n <div class=\"o-pry-composed-condition-wrapper\" [class.root-element]=\"rootElement\">\n <div class=\"o-pry-composed-condition\">\n <div class=\"o-pry-composed-condition__type -vertical-bar\">\n <div class=\"o-pry-composed-condition__type__content\">\n <pry-toggle\n leftword=\"ET\"\n rightword=\"OU\"\n [ngModel]=\"condition.type === AND\"\n (ngModelChange)=\"onChangeConditionType($event ? AND : OR, condition.id)\"\n [alwaysActive]=\"true\"\n [disabled]=\"readonly\"\n ></pry-toggle>\n </div>\n </div>\n\n <div class=\"o-pry-composed-condition__content\">\n <ng-container *ngFor=\"let id of condition.composed\">\n <pry-composed-condition [readonly]=\"readonly\" [id]=\"id\"></pry-composed-condition>\n </ng-container>\n\n <ng-container *ngIf=\"!readonly\">\n <ng-container *ngIf=\"editAbacRuleType$ | async as ruleType\">\n <div>\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--iconcircle-text\"\n (click)=\"panelOpen = true\"\n [pryOverlay]=\"selectOverlay\"\n [(overlayOpen)]=\"panelOpen\"\n pryOverlayPosition=\"start-bottom\"\n >\n <span class=\"a-btn--iconcircle-text__icon-wrapper\">\n <pry-icon iconSvg=\"add\" [height]=\"14\" [width]=\"14\"></pry-icon>\n </span>\n <span>\n {{\n '@pry.admin.abac-rules.form.' + (ruleType === ATTRIBUTE ? 'addAttribute' : 'addMetadata') | i18n\n }}\n </span>\n </button>\n </div>\n\n <ng-template #selectOverlay>\n <ng-container *ngIf=\"ruleType === ATTRIBUTE; else metadataType\">\n <pry-abac-select-attribute\n (attributeSelected)=\"onAddNewAttribute($event, condition.id)\"\n ></pry-abac-select-attribute>\n </ng-container>\n <ng-template #metadataType>\n <pry-abac-select-metadata\n (metadataSelected)=\"onAddNewMetadata($event, condition.id)\"\n ></pry-abac-select-metadata>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <ng-container *ngIf=\"!readonly\">\n <div class=\"o-pry-composed-condition__add-item\">\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--iconcircle-text\"\n (click)=\"onAddNewNestedCondition(condition.id)\"\n >\n <span class=\"a-btn--iconcircle-text__icon-wrapper\">\n <pry-icon iconSvg=\"add\" [height]=\"14\" [width]=\"14\"></pry-icon>\n </span>\n <span>\n {{ '@pry.admin.abac-rules.form.addGroup' | i18n }}\n </span>\n </button>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-template #metaOrAttributeCondition>\n <ng-container *ngIf=\"condition.type === METADATA\">\n <pry-metadata-condition [readonly]=\"readonly\" [id]=\"condition.id\"></pry-metadata-condition>\n </ng-container>\n <ng-container *ngIf=\"condition.type === ATTRIBUTE\">\n <pry-attribute-condition [readonly]=\"readonly\" [id]=\"condition.id\"></pry-attribute-condition>\n </ng-container>\n </ng-template>\n</ng-container>\n" }]
58
+ args: [{ selector: 'pry-composed-condition', template: "@if (condition$ | async; as condition) {\n @if (condition.type === OR || condition.type === AND) {\n <div class=\"o-pry-composed-condition-wrapper\" [class.root-element]=\"rootElement\">\n <div class=\"o-pry-composed-condition\">\n <div class=\"o-pry-composed-condition__type -vertical-bar\">\n <div class=\"o-pry-composed-condition__type__content\">\n <pry-toggle\n leftword=\"ET\"\n rightword=\"OU\"\n [ngModel]=\"condition.type === AND\"\n (ngModelChange)=\"onChangeConditionType($event ? AND : OR, condition.id)\"\n [alwaysActive]=\"true\"\n [disabled]=\"readonly\"\n ></pry-toggle>\n </div>\n </div>\n <div class=\"o-pry-composed-condition__content\">\n @for (id of condition.composed; track id) {\n <pry-composed-condition [readonly]=\"readonly\" [id]=\"id\"></pry-composed-condition>\n }\n @if (!readonly) {\n @if (editAbacRuleType$ | async; as ruleType) {\n <div>\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--iconcircle-text\"\n (click)=\"panelOpen = true\"\n [pryOverlay]=\"selectOverlay\"\n [(overlayOpen)]=\"panelOpen\"\n pryOverlayPosition=\"start-bottom\"\n >\n <span class=\"a-btn--iconcircle-text__icon-wrapper\">\n <pry-icon iconSvg=\"add\" [height]=\"14\" [width]=\"14\"></pry-icon>\n </span>\n <span>\n {{\n '@pry.admin.abac-rules.form.' + (ruleType === ATTRIBUTE ? 'addAttribute' : 'addMetadata') | i18n\n }}\n </span>\n </button>\n </div>\n <ng-template #selectOverlay>\n @if (ruleType === ATTRIBUTE) {\n <pry-abac-select-attribute\n (attributeSelected)=\"onAddNewAttribute($event, condition.id)\"\n ></pry-abac-select-attribute>\n } @else {\n <pry-abac-select-metadata\n (metadataSelected)=\"onAddNewMetadata($event, condition.id)\"\n ></pry-abac-select-metadata>\n }\n </ng-template>\n }\n }\n </div>\n </div>\n @if (!readonly) {\n <div class=\"o-pry-composed-condition__add-item\">\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--iconcircle-text\"\n (click)=\"onAddNewNestedCondition(condition.id)\"\n >\n <span class=\"a-btn--iconcircle-text__icon-wrapper\">\n <pry-icon iconSvg=\"add\" [height]=\"14\" [width]=\"14\"></pry-icon>\n </span>\n <span>\n {{ '@pry.admin.abac-rules.form.addGroup' | i18n }}\n </span>\n </button>\n </div>\n }\n </div>\n } @else {\n @if (condition.type === METADATA) {\n <pry-metadata-condition [readonly]=\"readonly\" [id]=\"condition.id\"></pry-metadata-condition>\n }\n @if (condition.type === ATTRIBUTE) {\n <pry-attribute-condition [readonly]=\"readonly\" [id]=\"condition.id\"></pry-attribute-condition>\n }\n }\n}\n" }]
59
59
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { id: [{
60
60
  type: Input
61
61
  }], readonly: [{
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
63
63
  }], rootElement: [{
64
64
  type: Input
65
65
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZWQtY29uZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tYWJhYy1ydWxlcy9jb21wb25lbnRzL2NvbXBvc2VkLWNvbmRpdGlvbi9jb21wb3NlZC1jb25kaXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1hYmFjLXJ1bGVzL2NvbXBvbmVudHMvY29tcG9zZWQtY29uZGl0aW9uL2NvbXBvc2VkLWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7O0FBTXRFLE1BQU0sT0FBTywwQkFBMEI7SUFRckMsSUFBYSxFQUFFLENBQUMsR0FBVztRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQVlELFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUF0QjVCLFFBQUcsR0FBa0IsS0FBSyxDQUFDO1FBQzNCLE9BQUUsR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBa0IsV0FBVyxDQUFDO1FBQ3ZDLGFBQVEsR0FBa0IsVUFBVSxDQUFDO1FBVTlDLGVBQVUsR0FBMkMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUF5QyxFQUFFLFdBQW1CO1FBQzlFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixnQkFBZ0IsQ0FBQyxvQ0FBb0MsQ0FBQztZQUNwRCxXQUFXLEVBQUUsR0FBRyxDQUFDLFNBQVM7WUFDMUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1lBQ2xCLFFBQVEsRUFBRSxXQUFXO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVUsRUFBRSxXQUFtQjtRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsbUNBQW1DLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUNoRyxDQUFDO0lBQ0osQ0FBQztJQUVELHVCQUF1QixDQUFDLFdBQW1CO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQscUJBQXFCLENBQUMsYUFBNEIsRUFBRSxXQUFtQjtRQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsbUNBQW1DLENBQUM7WUFDbkQsV0FBVztZQUNYLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtTQUNqRCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OEdBeERVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHNJQ1h2Qyx5ekhBMkZBLG9vRERoRmEsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHdCQUF3QjswRUFXckIsRUFBRTtzQkFBZCxLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFiYWNSdWxlc0FjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9hYmFjLXJ1bGVzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWJhY1J1bGVUeXBlLCBDb25kaXRpb25UeXBlLCBOb3JtYWxpemVkQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWJhYy1ydWxlcy5tb2RlbCc7XG5pbXBvcnQgeyBBYmFjUnVsZXNTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9hYmFjLXJ1bGVzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1jb21wb3NlZC1jb25kaXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcG9zZWQtY29uZGl0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDb21wb3NlZENvbmRpdGlvbkNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IEFORDogQ29uZGl0aW9uVHlwZSA9ICdBTkQnO1xuICByZWFkb25seSBPUjogQ29uZGl0aW9uVHlwZSA9ICdPUic7XG4gIHJlYWRvbmx5IEFUVFJJQlVURTogQ29uZGl0aW9uVHlwZSA9ICdBVFRSSUJVVEUnO1xuICByZWFkb25seSBNRVRBREFUQTogQ29uZGl0aW9uVHlwZSA9ICdNRVRBREFUQSc7XG5cbiAgZWRpdEFiYWNSdWxlVHlwZSQ6IE9ic2VydmFibGU8QWJhY1J1bGVUeXBlIHwgdW5kZWZpbmVkPjtcblxuICBASW5wdXQoKSBzZXQgaWQodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbDtcbiAgICB0aGlzLmNvbmRpdGlvbiQgPSB0aGlzLnN0b3JlLnNlbGVjdChBYmFjUnVsZXNTZWxlY3RvcnMuZWRpdEFiYWNSdWxlQ29uZGl0aW9uc0J5SWQodGhpcy5faWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lkITogc3RyaW5nO1xuICBjb25kaXRpb24kOiBPYnNlcnZhYmxlPE5vcm1hbGl6ZWRDb25kaXRpb24gfCBudWxsPiA9IG9mKG51bGwpO1xuXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJvb3RFbGVtZW50ID0gZmFsc2U7XG5cbiAgcGFuZWxPcGVuID0gZmFsc2U7XG5cbiAgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICB0aGlzLmVkaXRBYmFjUnVsZVR5cGUkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWJhY1J1bGVzU2VsZWN0b3JzLmVkaXRBYmFjUnVsZVR5cGUpO1xuICB9XG5cbiAgb25BZGROZXdBdHRyaWJ1dGUoZXZ0OiB7IGF0dHJpYnV0ZTogc3RyaW5nOyBjbGFzczogc3RyaW5nIH0sIGNvbmRpdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBhbmVsT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBBYmFjUnVsZXNBY3Rpb25zLmNyZWF0ZUVkaXRBYmFjUnVsZUF0dHJpYnV0ZUNvbmRpdGlvbih7XG4gICAgICAgIGF0dHJpYnV0ZUlkOiBldnQuYXR0cmlidXRlLFxuICAgICAgICBjbGFzc0lkOiBldnQuY2xhc3MsXG4gICAgICAgIHBhcmVudElkOiBjb25kaXRpb25JZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25BZGROZXdNZXRhZGF0YShpZDogc3RyaW5nLCBjb25kaXRpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wYW5lbE9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy5jcmVhdGVFZGl0QWJhY1J1bGVNZXRhZGF0YUNvbmRpdGlvbih7IG1ldGFkYXRhSWQ6IGlkLCBwYXJlbnRJZDogY29uZGl0aW9uSWQgfSlcbiAgICApO1xuICB9XG5cbiAgb25BZGROZXdOZXN0ZWRDb25kaXRpb24oY29uZGl0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWJhY1J1bGVzQWN0aW9ucy5jcmVhdGVFZGl0QWJhY1J1bGVOZXN0ZWRDb25kaXRpb24oeyBwYXJlbnRJZDogY29uZGl0aW9uSWQgfSkpO1xuICB9XG5cbiAgb25DaGFuZ2VDb25kaXRpb25UeXBlKGNvbmRpdGlvblR5cGU6IENvbmRpdGlvblR5cGUsIGNvbmRpdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy51cGRhdGVFZGl0QWJhY1J1bGVDb25kaXRpb25Qcm9wZXJ0eSh7XG4gICAgICAgIGNvbmRpdGlvbklkLFxuICAgICAgICBwcm9wZXJ0eTogeyB0eXBlOiAndHlwZScsIHZhbHVlOiBjb25kaXRpb25UeXBlIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmRpdGlvbiQgfCBhc3luYyBhcyBjb25kaXRpb25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmRpdGlvbi50eXBlID09PSBPUiB8fCBjb25kaXRpb24udHlwZSA9PT0gQU5EOyBlbHNlIG1ldGFPckF0dHJpYnV0ZUNvbmRpdGlvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXByeS1jb21wb3NlZC1jb25kaXRpb24td3JhcHBlclwiIFtjbGFzcy5yb290LWVsZW1lbnRdPVwicm9vdEVsZW1lbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1jb21wb3NlZC1jb25kaXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNvbXBvc2VkLWNvbmRpdGlvbl9fdHlwZSAtdmVydGljYWwtYmFyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNvbXBvc2VkLWNvbmRpdGlvbl9fdHlwZV9fY29udGVudFwiPlxuICAgICAgICAgICAgPHByeS10b2dnbGVcbiAgICAgICAgICAgICAgbGVmdHdvcmQ9XCJFVFwiXG4gICAgICAgICAgICAgIHJpZ2h0d29yZD1cIk9VXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY29uZGl0aW9uLnR5cGUgPT09IEFORFwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlQ29uZGl0aW9uVHlwZSgkZXZlbnQgPyBBTkQgOiBPUiwgY29uZGl0aW9uLmlkKVwiXG4gICAgICAgICAgICAgIFthbHdheXNBY3RpdmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXG4gICAgICAgICAgICA+PC9wcnktdG9nZ2xlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktY29tcG9zZWQtY29uZGl0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaWQgb2YgY29uZGl0aW9uLmNvbXBvc2VkXCI+XG4gICAgICAgICAgICA8cHJ5LWNvbXBvc2VkLWNvbmRpdGlvbiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbaWRdPVwiaWRcIj48L3ByeS1jb21wb3NlZC1jb25kaXRpb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlYWRvbmx5XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWRpdEFiYWNSdWxlVHlwZSQgfCBhc3luYyBhcyBydWxlVHlwZVwiPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1wcmVzc2VkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbmNpcmNsZS10ZXh0XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwYW5lbE9wZW4gPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFtwcnlPdmVybGF5XT1cInNlbGVjdE92ZXJsYXlcIlxuICAgICAgICAgICAgICAgICAgWyhvdmVybGF5T3BlbildPVwicGFuZWxPcGVuXCJcbiAgICAgICAgICAgICAgICAgIHByeU92ZXJsYXlQb3NpdGlvbj1cInN0YXJ0LWJvdHRvbVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWJ0bi0taWNvbmNpcmNsZS10ZXh0X19pY29uLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJhZGRcIiBbaGVpZ2h0XT1cIjE0XCIgW3dpZHRoXT1cIjE0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICdAcHJ5LmFkbWluLmFiYWMtcnVsZXMuZm9ybS4nICsgKHJ1bGVUeXBlID09PSBBVFRSSUJVVEUgPyAnYWRkQXR0cmlidXRlJyA6ICdhZGRNZXRhZGF0YScpIHwgaTE4blxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdE92ZXJsYXk+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJ1bGVUeXBlID09PSBBVFRSSUJVVEU7IGVsc2UgbWV0YWRhdGFUeXBlXCI+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWFiYWMtc2VsZWN0LWF0dHJpYnV0ZVxuICAgICAgICAgICAgICAgICAgICAoYXR0cmlidXRlU2VsZWN0ZWQpPVwib25BZGROZXdBdHRyaWJ1dGUoJGV2ZW50LCBjb25kaXRpb24uaWQpXCJcbiAgICAgICAgICAgICAgICAgID48L3ByeS1hYmFjLXNlbGVjdC1hdHRyaWJ1dGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtZXRhZGF0YVR5cGU+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWFiYWMtc2VsZWN0LW1ldGFkYXRhXG4gICAgICAgICAgICAgICAgICAgIChtZXRhZGF0YVNlbGVjdGVkKT1cIm9uQWRkTmV3TWV0YWRhdGEoJGV2ZW50LCBjb25kaXRpb24uaWQpXCJcbiAgICAgICAgICAgICAgICAgID48L3ByeS1hYmFjLXNlbGVjdC1tZXRhZGF0YT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVhZG9ubHlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNvbXBvc2VkLWNvbmRpdGlvbl9fYWRkLWl0ZW1cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGFyaWEtcHJlc3NlZD1cImZhbHNlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb25jaXJjbGUtdGV4dFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25BZGROZXdOZXN0ZWRDb25kaXRpb24oY29uZGl0aW9uLmlkKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWJ0bi0taWNvbmNpcmNsZS10ZXh0X19pY29uLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJhZGRcIiBbaGVpZ2h0XT1cIjE0XCIgW3dpZHRoXT1cIjE0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5hYmFjLXJ1bGVzLmZvcm0uYWRkR3JvdXAnIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI21ldGFPckF0dHJpYnV0ZUNvbmRpdGlvbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZGl0aW9uLnR5cGUgPT09IE1FVEFEQVRBXCI+XG4gICAgICA8cHJ5LW1ldGFkYXRhLWNvbmRpdGlvbiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbaWRdPVwiY29uZGl0aW9uLmlkXCI+PC9wcnktbWV0YWRhdGEtY29uZGl0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25kaXRpb24udHlwZSA9PT0gQVRUUklCVVRFXCI+XG4gICAgICA8cHJ5LWF0dHJpYnV0ZS1jb25kaXRpb24gW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2lkXT1cImNvbmRpdGlvbi5pZFwiPjwvcHJ5LWF0dHJpYnV0ZS1jb25kaXRpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZWQtY29uZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tYWJhYy1ydWxlcy9jb21wb25lbnRzL2NvbXBvc2VkLWNvbmRpdGlvbi9jb21wb3NlZC1jb25kaXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1hYmFjLXJ1bGVzL2NvbXBvbmVudHMvY29tcG9zZWQtY29uZGl0aW9uL2NvbXBvc2VkLWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7O0FBTXRFLE1BQU0sT0FBTywwQkFBMEI7SUFRckMsSUFBYSxFQUFFLENBQUMsR0FBVztRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQVlELFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUF0QjVCLFFBQUcsR0FBa0IsS0FBSyxDQUFDO1FBQzNCLE9BQUUsR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBa0IsV0FBVyxDQUFDO1FBQ3ZDLGFBQVEsR0FBa0IsVUFBVSxDQUFDO1FBVTlDLGVBQVUsR0FBMkMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUF5QyxFQUFFLFdBQW1CO1FBQzlFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixnQkFBZ0IsQ0FBQyxvQ0FBb0MsQ0FBQztZQUNwRCxXQUFXLEVBQUUsR0FBRyxDQUFDLFNBQVM7WUFDMUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1lBQ2xCLFFBQVEsRUFBRSxXQUFXO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVUsRUFBRSxXQUFtQjtRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsbUNBQW1DLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUNoRyxDQUFDO0lBQ0osQ0FBQztJQUVELHVCQUF1QixDQUFDLFdBQW1CO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQscUJBQXFCLENBQUMsYUFBNEIsRUFBRSxXQUFtQjtRQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsbUNBQW1DLENBQUM7WUFDbkQsV0FBVztZQUNYLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtTQUNqRCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OEdBeERVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHNJQ1h2Qyw4NEdBb0ZBLG02Q0R6RWEsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHdCQUF3QjswRUFXckIsRUFBRTtzQkFBZCxLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFiYWNSdWxlc0FjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9hYmFjLXJ1bGVzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWJhY1J1bGVUeXBlLCBDb25kaXRpb25UeXBlLCBOb3JtYWxpemVkQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWJhYy1ydWxlcy5tb2RlbCc7XG5pbXBvcnQgeyBBYmFjUnVsZXNTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9hYmFjLXJ1bGVzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1jb21wb3NlZC1jb25kaXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcG9zZWQtY29uZGl0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDb21wb3NlZENvbmRpdGlvbkNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IEFORDogQ29uZGl0aW9uVHlwZSA9ICdBTkQnO1xuICByZWFkb25seSBPUjogQ29uZGl0aW9uVHlwZSA9ICdPUic7XG4gIHJlYWRvbmx5IEFUVFJJQlVURTogQ29uZGl0aW9uVHlwZSA9ICdBVFRSSUJVVEUnO1xuICByZWFkb25seSBNRVRBREFUQTogQ29uZGl0aW9uVHlwZSA9ICdNRVRBREFUQSc7XG5cbiAgZWRpdEFiYWNSdWxlVHlwZSQ6IE9ic2VydmFibGU8QWJhY1J1bGVUeXBlIHwgdW5kZWZpbmVkPjtcblxuICBASW5wdXQoKSBzZXQgaWQodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbDtcbiAgICB0aGlzLmNvbmRpdGlvbiQgPSB0aGlzLnN0b3JlLnNlbGVjdChBYmFjUnVsZXNTZWxlY3RvcnMuZWRpdEFiYWNSdWxlQ29uZGl0aW9uc0J5SWQodGhpcy5faWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lkITogc3RyaW5nO1xuICBjb25kaXRpb24kOiBPYnNlcnZhYmxlPE5vcm1hbGl6ZWRDb25kaXRpb24gfCBudWxsPiA9IG9mKG51bGwpO1xuXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJvb3RFbGVtZW50ID0gZmFsc2U7XG5cbiAgcGFuZWxPcGVuID0gZmFsc2U7XG5cbiAgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICB0aGlzLmVkaXRBYmFjUnVsZVR5cGUkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWJhY1J1bGVzU2VsZWN0b3JzLmVkaXRBYmFjUnVsZVR5cGUpO1xuICB9XG5cbiAgb25BZGROZXdBdHRyaWJ1dGUoZXZ0OiB7IGF0dHJpYnV0ZTogc3RyaW5nOyBjbGFzczogc3RyaW5nIH0sIGNvbmRpdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBhbmVsT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBBYmFjUnVsZXNBY3Rpb25zLmNyZWF0ZUVkaXRBYmFjUnVsZUF0dHJpYnV0ZUNvbmRpdGlvbih7XG4gICAgICAgIGF0dHJpYnV0ZUlkOiBldnQuYXR0cmlidXRlLFxuICAgICAgICBjbGFzc0lkOiBldnQuY2xhc3MsXG4gICAgICAgIHBhcmVudElkOiBjb25kaXRpb25JZFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25BZGROZXdNZXRhZGF0YShpZDogc3RyaW5nLCBjb25kaXRpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wYW5lbE9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy5jcmVhdGVFZGl0QWJhY1J1bGVNZXRhZGF0YUNvbmRpdGlvbih7IG1ldGFkYXRhSWQ6IGlkLCBwYXJlbnRJZDogY29uZGl0aW9uSWQgfSlcbiAgICApO1xuICB9XG5cbiAgb25BZGROZXdOZXN0ZWRDb25kaXRpb24oY29uZGl0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWJhY1J1bGVzQWN0aW9ucy5jcmVhdGVFZGl0QWJhY1J1bGVOZXN0ZWRDb25kaXRpb24oeyBwYXJlbnRJZDogY29uZGl0aW9uSWQgfSkpO1xuICB9XG5cbiAgb25DaGFuZ2VDb25kaXRpb25UeXBlKGNvbmRpdGlvblR5cGU6IENvbmRpdGlvblR5cGUsIGNvbmRpdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy51cGRhdGVFZGl0QWJhY1J1bGVDb25kaXRpb25Qcm9wZXJ0eSh7XG4gICAgICAgIGNvbmRpdGlvbklkLFxuICAgICAgICBwcm9wZXJ0eTogeyB0eXBlOiAndHlwZScsIHZhbHVlOiBjb25kaXRpb25UeXBlIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiQGlmIChjb25kaXRpb24kIHwgYXN5bmM7IGFzIGNvbmRpdGlvbikge1xuICBAaWYgKGNvbmRpdGlvbi50eXBlID09PSBPUiB8fCBjb25kaXRpb24udHlwZSA9PT0gQU5EKSB7XG4gICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNvbXBvc2VkLWNvbmRpdGlvbi13cmFwcGVyXCIgW2NsYXNzLnJvb3QtZWxlbWVudF09XCJyb290RWxlbWVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNvbXBvc2VkLWNvbmRpdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktY29tcG9zZWQtY29uZGl0aW9uX190eXBlIC12ZXJ0aWNhbC1iYXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktY29tcG9zZWQtY29uZGl0aW9uX190eXBlX19jb250ZW50XCI+XG4gICAgICAgICAgICA8cHJ5LXRvZ2dsZVxuICAgICAgICAgICAgICBsZWZ0d29yZD1cIkVUXCJcbiAgICAgICAgICAgICAgcmlnaHR3b3JkPVwiT1VcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjb25kaXRpb24udHlwZSA9PT0gQU5EXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VDb25kaXRpb25UeXBlKCRldmVudCA/IEFORCA6IE9SLCBjb25kaXRpb24uaWQpXCJcbiAgICAgICAgICAgICAgW2Fsd2F5c0FjdGl2ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgID48L3ByeS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktY29tcG9zZWQtY29uZGl0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgQGZvciAoaWQgb2YgY29uZGl0aW9uLmNvbXBvc2VkOyB0cmFjayBpZCkge1xuICAgICAgICAgICAgPHByeS1jb21wb3NlZC1jb25kaXRpb24gW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2lkXT1cImlkXCI+PC9wcnktY29tcG9zZWQtY29uZGl0aW9uPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKCFyZWFkb25seSkge1xuICAgICAgICAgICAgQGlmIChlZGl0QWJhY1J1bGVUeXBlJCB8IGFzeW5jOyBhcyBydWxlVHlwZSkge1xuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1wcmVzc2VkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbmNpcmNsZS10ZXh0XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwYW5lbE9wZW4gPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFtwcnlPdmVybGF5XT1cInNlbGVjdE92ZXJsYXlcIlxuICAgICAgICAgICAgICAgICAgWyhvdmVybGF5T3BlbildPVwicGFuZWxPcGVuXCJcbiAgICAgICAgICAgICAgICAgIHByeU92ZXJsYXlQb3NpdGlvbj1cInN0YXJ0LWJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImEtYnRuLS1pY29uY2lyY2xlLXRleHRfX2ljb24td3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiIFtoZWlnaHRdPVwiMTRcIiBbd2lkdGhdPVwiMTRcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICdAcHJ5LmFkbWluLmFiYWMtcnVsZXMuZm9ybS4nICsgKHJ1bGVUeXBlID09PSBBVFRSSUJVVEUgPyAnYWRkQXR0cmlidXRlJyA6ICdhZGRNZXRhZGF0YScpIHwgaTE4blxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RPdmVybGF5PlxuICAgICAgICAgICAgICAgIEBpZiAocnVsZVR5cGUgPT09IEFUVFJJQlVURSkge1xuICAgICAgICAgICAgICAgICAgPHByeS1hYmFjLXNlbGVjdC1hdHRyaWJ1dGVcbiAgICAgICAgICAgICAgICAgICAgKGF0dHJpYnV0ZVNlbGVjdGVkKT1cIm9uQWRkTmV3QXR0cmlidXRlKCRldmVudCwgY29uZGl0aW9uLmlkKVwiXG4gICAgICAgICAgICAgICAgICA+PC9wcnktYWJhYy1zZWxlY3QtYXR0cmlidXRlPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPHByeS1hYmFjLXNlbGVjdC1tZXRhZGF0YVxuICAgICAgICAgICAgICAgICAgICAobWV0YWRhdGFTZWxlY3RlZCk9XCJvbkFkZE5ld01ldGFkYXRhKCRldmVudCwgY29uZGl0aW9uLmlkKVwiXG4gICAgICAgICAgICAgICAgICA+PC9wcnktYWJhYy1zZWxlY3QtbWV0YWRhdGE+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoIXJlYWRvbmx5KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1jb21wb3NlZC1jb25kaXRpb25fX2FkZC1pdGVtXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBhcmlhLXByZXNzZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uY2lyY2xlLXRleHRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWRkTmV3TmVzdGVkQ29uZGl0aW9uKGNvbmRpdGlvbi5pZClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhLWJ0bi0taWNvbmNpcmNsZS10ZXh0X19pY29uLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJhZGRcIiBbaGVpZ2h0XT1cIjE0XCIgW3dpZHRoXT1cIjE0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5hYmFjLXJ1bGVzLmZvcm0uYWRkR3JvdXAnIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgQGlmIChjb25kaXRpb24udHlwZSA9PT0gTUVUQURBVEEpIHtcbiAgICAgIDxwcnktbWV0YWRhdGEtY29uZGl0aW9uIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtpZF09XCJjb25kaXRpb24uaWRcIj48L3ByeS1tZXRhZGF0YS1jb25kaXRpb24+XG4gICAgfVxuICAgIEBpZiAoY29uZGl0aW9uLnR5cGUgPT09IEFUVFJJQlVURSkge1xuICAgICAgPHByeS1hdHRyaWJ1dGUtY29uZGl0aW9uIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtpZF09XCJjb25kaXRpb24uaWRcIj48L3ByeS1hdHRyaWJ1dGUtY29uZGl0aW9uPlxuICAgIH1cbiAgfVxufVxuIl19
@@ -5,9 +5,9 @@ import { AbacRulesActions } from '../../store/abac-rules.actions';
5
5
  import { AbacRulesSelectors } from '../../store/abac-rules.selectors';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ngrx/store";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@provoly/dashboard";
10
- import * as i4 from "@angular/forms";
8
+ import * as i2 from "@provoly/dashboard";
9
+ import * as i3 from "@angular/forms";
10
+ import * as i4 from "@angular/common";
11
11
  export class MetadataConditionComponent {
12
12
  set id(val) {
13
13
  this._id = val;
@@ -59,14 +59,14 @@ export class MetadataConditionComponent {
59
59
  this.store.dispatch(AbacRulesActions.removeEditAbacRuleConditionFromComposed({ conditionId: parentId, childrenId: conditionId }));
60
60
  }
61
61
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MetadataConditionComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MetadataConditionComponent, selector: "pry-metadata-condition", inputs: { readonly: "readonly", id: "id" }, ngImport: i0, template: "<ng-container *ngIf=\"condition$ | async as condition\">\n <ng-container *ngIf=\"metadata$ | async as metadata; else noMetadata\">\n <div class=\"o-pry-metadata-condition\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-pressed=\"false\"\n (click)=\"deleteConditionOpen = true\"\n [pryOverlay]=\"deleteConditionTpl\"\n [(overlayOpen)]=\"deleteConditionOpen\"\n >\n <pry-icon *ngIf=\"!readonly\" iconSvg=\"drag_indicator\"></pry-icon>\n <span class=\"u-visually-hidden\">???</span>\n </button>\n\n <ng-template #deleteConditionTpl>\n <button class=\"m-pry-overlay-item\" (click)=\"onDeleteMetadataCondition(condition.id, condition.parentId)\">\n {{ '@pry.admin.abac-rules.delete' | i18n }}\n </button>\n </ng-template>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"metadata_name\">Name</label>\n <input id=\"metadata_name\" class=\"a-form-field\" type=\"text\" [value]=\"metadata.name\" readonly />\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"metadata_operator\">???</label>\n <pry-select\n id=\"metadata_operator\"\n [disabled]=\"readonly\"\n [style.width.px]=\"160\"\n [items]=\"operators$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n [ngModel]=\"condition.operator\"\n (ngModelChange)=\"onChangeOperator($event, condition.id)\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"condition_value\">???</label>\n <input\n id=\"condition_value\"\n class=\"a-form-field\"\n [readonly]=\"readonly\"\n type=\"text\"\n [style.width.px]=\"200\"\n [value]=\"condition.value\"\n (focusout)=\"onChangeValue($event, condition.id)\"\n />\n </div>\n\n <button\n type=\"button\"\n aria-pressed=\"false\"\n *ngIf=\"!readonly\"\n class=\"a-btn a-btn--select -size-sm\"\n [pryOverlay]=\"metadataUserTpl\"\n [(overlayOpen)]=\"metadataUserOpen\"\n (click)=\"metadataUserOpen = true\"\n >\n {{ '@pry.admin.abac-rules.metadataUser' | i18n }}\n </button>\n\n <ng-template #metadataUserTpl>\n <div class=\"m-pry-overlay-wrapper\">\n <ng-container *ngFor=\"let metadataUser of metadataUsers$ | async\">\n <button class=\"m-pry-overlay-item\" (click)=\"onSelectMetadataUser(condition.id, condition.operator, metadataUser)\">\n {{ metadataUser.name }}\n </button>\n </ng-container>\n </div>\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noMetadata> Loading ...</ng-template>\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: "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: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "directive", type: i3.PryOverlayDirective, selector: "[pryOverlay]", inputs: ["pryOverlay", "styleReversed", "pryOverlaySticky", "pryOverlayNoPadding", "pryOverlayPosition", "overlayOpen", "hasBackdrop"], outputs: ["overlayOpenChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: MetadataConditionComponent, selector: "pry-metadata-condition", inputs: { readonly: "readonly", id: "id" }, ngImport: i0, template: "@if (condition$ | async; as condition) {\n @if (metadata$ | async; as metadata) {\n <div class=\"o-pry-metadata-condition\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-pressed=\"false\"\n (click)=\"deleteConditionOpen = true\"\n [pryOverlay]=\"deleteConditionTpl\"\n [(overlayOpen)]=\"deleteConditionOpen\"\n >\n @if (!readonly) {\n <pry-icon iconSvg=\"drag_indicator\"></pry-icon>\n }\n <span class=\"u-visually-hidden\">???</span>\n </button>\n <ng-template #deleteConditionTpl>\n <button class=\"m-pry-overlay-item\" (click)=\"onDeleteMetadataCondition(condition.id, condition.parentId)\">\n {{ '@pry.admin.abac-rules.delete' | i18n }}\n </button>\n </ng-template>\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"metadata_name\">Name</label>\n <input id=\"metadata_name\" class=\"a-form-field\" type=\"text\" [value]=\"metadata.name\" readonly />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"metadata_operator\">???</label>\n <pry-select\n id=\"metadata_operator\"\n [disabled]=\"readonly\"\n [style.width.px]=\"160\"\n [items]=\"operators$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n [ngModel]=\"condition.operator\"\n (ngModelChange)=\"onChangeOperator($event, condition.id)\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"condition_value\">???</label>\n <input\n id=\"condition_value\"\n class=\"a-form-field\"\n [readonly]=\"readonly\"\n type=\"text\"\n [style.width.px]=\"200\"\n [value]=\"condition.value\"\n (focusout)=\"onChangeValue($event, condition.id)\"\n />\n </div>\n @if (!readonly) {\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--select -size-sm\"\n [pryOverlay]=\"metadataUserTpl\"\n [(overlayOpen)]=\"metadataUserOpen\"\n (click)=\"metadataUserOpen = true\"\n >\n {{ '@pry.admin.abac-rules.metadataUser' | i18n }}\n </button>\n }\n <ng-template #metadataUserTpl>\n <div class=\"m-pry-overlay-wrapper\">\n @for (metadataUser of metadataUsers$ | async; track metadataUser) {\n <button class=\"m-pry-overlay-item\" (click)=\"onSelectMetadataUser(condition.id, condition.operator, metadataUser)\">\n {{ metadataUser.name }}\n </button>\n }\n </div>\n </ng-template>\n </div>\n } @else {\n Loading ...\n }\n}\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.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", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "directive", type: i2.PryOverlayDirective, selector: "[pryOverlay]", inputs: ["pryOverlay", "styleReversed", "pryOverlaySticky", "pryOverlayNoPadding", "pryOverlayPosition", "overlayOpen", "hasBackdrop"], outputs: ["overlayOpenChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
63
63
  }
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MetadataConditionComponent, decorators: [{
65
65
  type: Component,
66
- args: [{ selector: 'pry-metadata-condition', template: "<ng-container *ngIf=\"condition$ | async as condition\">\n <ng-container *ngIf=\"metadata$ | async as metadata; else noMetadata\">\n <div class=\"o-pry-metadata-condition\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-pressed=\"false\"\n (click)=\"deleteConditionOpen = true\"\n [pryOverlay]=\"deleteConditionTpl\"\n [(overlayOpen)]=\"deleteConditionOpen\"\n >\n <pry-icon *ngIf=\"!readonly\" iconSvg=\"drag_indicator\"></pry-icon>\n <span class=\"u-visually-hidden\">???</span>\n </button>\n\n <ng-template #deleteConditionTpl>\n <button class=\"m-pry-overlay-item\" (click)=\"onDeleteMetadataCondition(condition.id, condition.parentId)\">\n {{ '@pry.admin.abac-rules.delete' | i18n }}\n </button>\n </ng-template>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"metadata_name\">Name</label>\n <input id=\"metadata_name\" class=\"a-form-field\" type=\"text\" [value]=\"metadata.name\" readonly />\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"metadata_operator\">???</label>\n <pry-select\n id=\"metadata_operator\"\n [disabled]=\"readonly\"\n [style.width.px]=\"160\"\n [items]=\"operators$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n [ngModel]=\"condition.operator\"\n (ngModelChange)=\"onChangeOperator($event, condition.id)\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"condition_value\">???</label>\n <input\n id=\"condition_value\"\n class=\"a-form-field\"\n [readonly]=\"readonly\"\n type=\"text\"\n [style.width.px]=\"200\"\n [value]=\"condition.value\"\n (focusout)=\"onChangeValue($event, condition.id)\"\n />\n </div>\n\n <button\n type=\"button\"\n aria-pressed=\"false\"\n *ngIf=\"!readonly\"\n class=\"a-btn a-btn--select -size-sm\"\n [pryOverlay]=\"metadataUserTpl\"\n [(overlayOpen)]=\"metadataUserOpen\"\n (click)=\"metadataUserOpen = true\"\n >\n {{ '@pry.admin.abac-rules.metadataUser' | i18n }}\n </button>\n\n <ng-template #metadataUserTpl>\n <div class=\"m-pry-overlay-wrapper\">\n <ng-container *ngFor=\"let metadataUser of metadataUsers$ | async\">\n <button class=\"m-pry-overlay-item\" (click)=\"onSelectMetadataUser(condition.id, condition.operator, metadataUser)\">\n {{ metadataUser.name }}\n </button>\n </ng-container>\n </div>\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noMetadata> Loading ...</ng-template>\n</ng-container>\n" }]
66
+ args: [{ selector: 'pry-metadata-condition', template: "@if (condition$ | async; as condition) {\n @if (metadata$ | async; as metadata) {\n <div class=\"o-pry-metadata-condition\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-pressed=\"false\"\n (click)=\"deleteConditionOpen = true\"\n [pryOverlay]=\"deleteConditionTpl\"\n [(overlayOpen)]=\"deleteConditionOpen\"\n >\n @if (!readonly) {\n <pry-icon iconSvg=\"drag_indicator\"></pry-icon>\n }\n <span class=\"u-visually-hidden\">???</span>\n </button>\n <ng-template #deleteConditionTpl>\n <button class=\"m-pry-overlay-item\" (click)=\"onDeleteMetadataCondition(condition.id, condition.parentId)\">\n {{ '@pry.admin.abac-rules.delete' | i18n }}\n </button>\n </ng-template>\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"metadata_name\">Name</label>\n <input id=\"metadata_name\" class=\"a-form-field\" type=\"text\" [value]=\"metadata.name\" readonly />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"metadata_operator\">???</label>\n <pry-select\n id=\"metadata_operator\"\n [disabled]=\"readonly\"\n [style.width.px]=\"160\"\n [items]=\"operators$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n [ngModel]=\"condition.operator\"\n (ngModelChange)=\"onChangeOperator($event, condition.id)\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label u-visually-hidden\" for=\"condition_value\">???</label>\n <input\n id=\"condition_value\"\n class=\"a-form-field\"\n [readonly]=\"readonly\"\n type=\"text\"\n [style.width.px]=\"200\"\n [value]=\"condition.value\"\n (focusout)=\"onChangeValue($event, condition.id)\"\n />\n </div>\n @if (!readonly) {\n <button\n type=\"button\"\n aria-pressed=\"false\"\n class=\"a-btn a-btn--select -size-sm\"\n [pryOverlay]=\"metadataUserTpl\"\n [(overlayOpen)]=\"metadataUserOpen\"\n (click)=\"metadataUserOpen = true\"\n >\n {{ '@pry.admin.abac-rules.metadataUser' | i18n }}\n </button>\n }\n <ng-template #metadataUserTpl>\n <div class=\"m-pry-overlay-wrapper\">\n @for (metadataUser of metadataUsers$ | async; track metadataUser) {\n <button class=\"m-pry-overlay-item\" (click)=\"onSelectMetadataUser(condition.id, condition.operator, metadataUser)\">\n {{ metadataUser.name }}\n </button>\n }\n </div>\n </ng-template>\n </div>\n } @else {\n Loading ...\n }\n}\n" }]
67
67
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { readonly: [{
68
68
  type: Input
69
69
  }], id: [{
70
70
  type: Input
71
71
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtY29uZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tYWJhYy1ydWxlcy9jb21wb25lbnRzL21ldGFkYXRhLWNvbmRpdGlvbi9tZXRhZGF0YS1jb25kaXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1hYmFjLXJ1bGVzL2NvbXBvbmVudHMvbWV0YWRhdGEtY29uZGl0aW9uL21ldGFkYXRhLWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU10RSxNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLElBQ0ksRUFBRSxDQUFDLEdBQVc7UUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBZ0JELFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUF0QjVCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFTMUIsY0FBUyxHQUFzQyxFQUFFLENBQUMsU0FBUyxDQUFDLENB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QUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQzdHLENBQUM7SUFDSixDQUFDOzhHQTFFVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwwR0NidkMsODVGQThFQTs7MkZEakVhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSx3QkFBd0I7MEVBSXpCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0YsRUFBRTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBJTWV0YWRhdGEgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3InO1xuaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYmFjUnVsZXNBY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWJhYy1ydWxlcy5hY3Rpb25zJztcbmltcG9ydCB7IE5vcm1hbGl6ZWRDb25kaXRpb24sIE9wZXJhdG9yVHlwZSB9IGZyb20gJy4uLy4uL3N0b3JlL2FiYWMtcnVsZXMubW9kZWwnO1xuaW1wb3J0IHsgQWJhY1J1bGVzU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWJhYy1ydWxlcy5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktbWV0YWRhdGEtY29uZGl0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFDb25kaXRpb25Db21wb25lbnQge1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpZCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsO1xuICAgIHRoaXMuYXNzaWduT2JzZXJ2YWJsZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lkPzogc3RyaW5nO1xuICBtZXRhZGF0YSQ6IE9ic2VydmFibGU8SU1ldGFkYXRhIHwgdW5kZWZpbmVkPiA9IG9mKHVuZGVmaW5lZCk7XG4gIGNvbmRpdGlvbiQ6IE9ic2VydmFibGU8Tm9ybWFsaXplZENvbmRpdGlvbiB8IG51bGw+ID0gb2YobnVsbCk7XG4gIGRlbGV0ZUNvbmRpdGlvbk9wZW4gPSBmYWxzZTtcbiAgbWV0YWRhdGFVc2VycyQ6IE9ic2VydmFibGU8SU1ldGFkYXRhW10+O1xuICBtZXRhZGF0YVVzZXJPcGVuID0gZmFsc2U7XG5cbiAgb3BlcmF0b3JzJCA9IG9mKFtcbiAgICB7IG9wZXJhdG9yOiAnRVFVQUxTJywgdHJhbnNsYXRpb246ICdAcHJ5LnNlYXJjaC5vcGVyYXRvci5lcXVhbHNTdHJpbmcnIH0sXG4gICAgeyBvcGVyYXRvcjogJ05PVF9FUVVBTFMnLCB0cmFuc2xhdGlvbjogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLm5vdEVxdWFsc1N0cmluZycgfSxcbiAgICB7IG9wZXJhdG9yOiAnSU4nLCB0cmFuc2xhdGlvbjogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmluJyB9LFxuICAgIHsgb3BlcmF0b3I6ICdOT1RfSU4nLCB0cmFuc2xhdGlvbjogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLm5vdF9pbicgfVxuICBdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+KSB7XG4gICAgdGhpcy5tZXRhZGF0YVVzZXJzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLnVzZXJQcm9maWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzaWduT2JzZXJ2YWJsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb25kaXRpb24kID0gdGhpcy5zdG9yZS5zZWxlY3QoQWJhY1J1bGVzU2VsZWN0b3JzLmVkaXRBYmFjUnVsZUNvbmRpdGlvbnNCeUlkKHRoaXMuX2lkID8/ICcnKSk7XG4gICAgdGhpcy5tZXRhZGF0YSQgPSB0aGlzLmNvbmRpdGlvbiQucGlwZShcbiAgICAgIGZpbHRlcigoY29uZCk6IGNvbmQgaXMgTm9ybWFsaXplZENvbmRpdGlvbiA9PiBjb25kICE9PSBudWxsICYmIGNvbmQgIT09IHVuZGVmaW5lZCksXG4gICAgICBzd2l0Y2hNYXAoKGNvbmQ6IE5vcm1hbGl6ZWRDb25kaXRpb24pID0+XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLnNlbGVjdE1ldGFkYXRhQnlJZChjb25kLm1ldGFkYXRhID8/ICcnKSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgb25DaGFuZ2VPcGVyYXRvcihvcGVyYXRvcjogT3BlcmF0b3JUeXBlLCBjb25kaXRpb25JZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEFiYWNSdWxlc0FjdGlvbnMudXBkYXRlRWRpdEFiYWNSdWxlQ29uZGl0aW9uUHJvcGVydHkoe1xuICAgICAgICBjb25kaXRpb25JZCxcbiAgICAgICAgcHJvcGVydHk6IHsgdHlwZTogJ29wZXJhdG9yJywgdmFsdWU6IG9wZXJhdG9yIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG9uQ2hhbmdlVmFsdWUoZXZ0OiBhbnksIGNvbmRpdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy51cGRhdGVFZGl0QWJhY1J1bGVDb25kaXRpb25Qcm9wZXJ0eSh7XG4gICAgICAgIGNvbmRpdGlvbklkLFxuICAgICAgICBwcm9wZXJ0eTogeyB0eXBlOiAndmFsdWUnLCB2YWx1ZTogZXZ0LnRhcmdldC52YWx1ZSB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvblNlbGVjdE1ldGFkYXRhVXNlcihjb25kaXRpb25JZDogc3RyaW5nLCBvcGVyYXRvcjogT3BlcmF0b3JUeXBlIHwgdW5kZWZpbmVkLCBtZXRhZGF0YTogSU1ldGFkYXRhKSB7XG4gICAgdGhpcy5tZXRhZGF0YVVzZXJPcGVuID0gZmFsc2U7XG4gICAgY29uc3QgdmFsdWUgPVxuICAgICAgb3BlcmF0b3IgPT09ICdJTicgfHwgb3BlcmF0b3IgPT09ICdOT1RfSU4nXG4gICAgICAgID8gYFxcJHt1c2VyLm1ldGFkYXRhKCcke21ldGFkYXRhLm5hbWV9Jyl9YFxuICAgICAgICA6IGBcXCR7dXNlci5tZXRhZGF0YSgnJHttZXRhZGF0YS5uYW1lfScpLmdldEZpcnN0KCl9YDtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy51cGRhdGVFZGl0QWJhY1J1bGVDb25kaXRpb25Qcm9wZXJ0eSh7XG4gICAgICAgIGNvbmRpdGlvbklkLFxuICAgICAgICBwcm9wZXJ0eTogeyB0eXBlOiAndmFsdWUnLCB2YWx1ZSB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvbkRlbGV0ZU1ldGFkYXRhQ29uZGl0aW9uKGNvbmRpdGlvbklkOiBzdHJpbmcsIHBhcmVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZUNvbmRpdGlvbk9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy5yZW1vdmVFZGl0QWJhY1J1bGVDb25kaXRpb25Gcm9tQ29tcG9zZWQoeyBjb25kaXRpb25JZDogcGFyZW50SWQsIGNoaWxkcmVuSWQ6IGNvbmRpdGlvbklkIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmRpdGlvbiQgfCBhc3luYyBhcyBjb25kaXRpb25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1ldGFkYXRhJCB8IGFzeW5jIGFzIG1ldGFkYXRhOyBlbHNlIG5vTWV0YWRhdGFcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1wcnktbWV0YWRhdGEtY29uZGl0aW9uXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgICBhcmlhLXByZXNzZWQ9XCJmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJkZWxldGVDb25kaXRpb25PcGVuID0gdHJ1ZVwiXG4gICAgICAgIFtwcnlPdmVybGF5XT1cImRlbGV0ZUNvbmRpdGlvblRwbFwiXG4gICAgICAgIFsob3ZlcmxheU9wZW4pXT1cImRlbGV0ZUNvbmRpdGlvbk9wZW5cIlxuICAgICAgPlxuICAgICAgICA8cHJ5LWljb24gKm5nSWY9XCIhcmVhZG9ubHlcIiBpY29uU3ZnPVwiZHJhZ19pbmRpY2F0b3JcIj48L3ByeS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+Pz8/PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVsZXRlQ29uZGl0aW9uVHBsPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibS1wcnktb3ZlcmxheS1pdGVtXCIgKGNsaWNrKT1cIm9uRGVsZXRlTWV0YWRhdGFDb25kaXRpb24oY29uZGl0aW9uLmlkLCBjb25kaXRpb24ucGFyZW50SWQpXCI+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4uYWJhYy1ydWxlcy5kZWxldGUnIHwgaTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCB1LXZpc3VhbGx5LWhpZGRlblwiIGZvcj1cIm1ldGFkYXRhX25hbWVcIj5OYW1lPC9sYWJlbD5cbiAgICAgICAgPGlucHV0IGlkPVwibWV0YWRhdGFfbmFtZVwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwibWV0YWRhdGEubmFtZVwiIHJlYWRvbmx5IC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIHUtdmlzdWFsbHktaGlkZGVuXCIgZm9yPVwibWV0YWRhdGFfb3BlcmF0b3JcIj4/Pz88L2xhYmVsPlxuICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgIGlkPVwibWV0YWRhdGFfb3BlcmF0b3JcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXG4gICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIjE2MFwiXG4gICAgICAgICAgW2l0ZW1zXT1cIm9wZXJhdG9ycyQgfCBhc3luY1wiXG4gICAgICAgICAgYmluZFZhbHVlPVwib3BlcmF0b3JcIlxuICAgICAgICAgIGJpbmRMYWJlbD1cInRyYW5zbGF0aW9uXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJjb25kaXRpb24ub3BlcmF0b3JcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlT3BlcmF0b3IoJGV2ZW50LCBjb25kaXRpb24uaWQpXCJcbiAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgdS12aXN1YWxseS1oaWRkZW5cIiBmb3I9XCJjb25kaXRpb25fdmFsdWVcIj4/Pz88L2xhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBpZD1cImNvbmRpdGlvbl92YWx1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCIyMDBcIlxuICAgICAgICAgIFt2YWx1ZV09XCJjb25kaXRpb24udmFsdWVcIlxuICAgICAgICAgIChmb2N1c291dCk9XCJvbkNoYW5nZVZhbHVlKCRldmVudCwgY29uZGl0aW9uLmlkKVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgYXJpYS1wcmVzc2VkPVwiZmFsc2VcIlxuICAgICAgICAqbmdJZj1cIiFyZWFkb25seVwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlbGVjdCAtc2l6ZS1zbVwiXG4gICAgICAgIFtwcnlPdmVybGF5XT1cIm1ldGFkYXRhVXNlclRwbFwiXG4gICAgICAgIFsob3ZlcmxheU9wZW4pXT1cIm1ldGFkYXRhVXNlck9wZW5cIlxuICAgICAgICAoY2xpY2spPVwibWV0YWRhdGFVc2VyT3BlbiA9IHRydWVcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5hYmFjLXJ1bGVzLm1ldGFkYXRhVXNlcicgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNtZXRhZGF0YVVzZXJUcGw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLXByeS1vdmVybGF5LXdyYXBwZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZXRhZGF0YVVzZXIgb2YgbWV0YWRhdGFVc2VycyQgfCBhc3luY1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm0tcHJ5LW92ZXJsYXktaXRlbVwiIChjbGljayk9XCJvblNlbGVjdE1ldGFkYXRhVXNlcihjb25kaXRpb24uaWQsIGNvbmRpdGlvbi5vcGVyYXRvciwgbWV0YWRhdGFVc2VyKVwiPlxuICAgICAgICAgICAgICB7eyBtZXRhZGF0YVVzZXIubmFtZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjbm9NZXRhZGF0YT4gTG9hZGluZyAuLi48L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtY29uZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tYWJhYy1ydWxlcy9jb21wb25lbnRzL21ldGFkYXRhLWNvbmRpdGlvbi9tZXRhZGF0YS1jb25kaXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1hYmFjLXJ1bGVzL2NvbXBvbmVudHMvbWV0YWRhdGEtY29uZGl0aW9uL21ldGFkYXRhLWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU10RSxNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLElBQ0ksRUFBRSxDQUFDLEdBQVc7UUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBZ0JELFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUF0QjVCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFTMUIsY0FBUyxHQUFzQyxFQUFFLENBQUMsU0FBUyxDQUFDLENB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QUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQzdHLENBQUM7SUFDSixDQUFDOzhHQTFFVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwwR0NidkMsZzFGQTRFQTs7MkZEL0RhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSx3QkFBd0I7MEVBSXpCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0YsRUFBRTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBJTWV0YWRhdGEgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3InO1xuaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYmFjUnVsZXNBY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWJhYy1ydWxlcy5hY3Rpb25zJztcbmltcG9ydCB7IE5vcm1hbGl6ZWRDb25kaXRpb24sIE9wZXJhdG9yVHlwZSB9IGZyb20gJy4uLy4uL3N0b3JlL2FiYWMtcnVsZXMubW9kZWwnO1xuaW1wb3J0IHsgQWJhY1J1bGVzU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWJhYy1ydWxlcy5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktbWV0YWRhdGEtY29uZGl0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWNvbmRpdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFDb25kaXRpb25Db21wb25lbnQge1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpZCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsO1xuICAgIHRoaXMuYXNzaWduT2JzZXJ2YWJsZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lkPzogc3RyaW5nO1xuICBtZXRhZGF0YSQ6IE9ic2VydmFibGU8SU1ldGFkYXRhIHwgdW5kZWZpbmVkPiA9IG9mKHVuZGVmaW5lZCk7XG4gIGNvbmRpdGlvbiQ6IE9ic2VydmFibGU8Tm9ybWFsaXplZENvbmRpdGlvbiB8IG51bGw+ID0gb2YobnVsbCk7XG4gIGRlbGV0ZUNvbmRpdGlvbk9wZW4gPSBmYWxzZTtcbiAgbWV0YWRhdGFVc2VycyQ6IE9ic2VydmFibGU8SU1ldGFkYXRhW10+O1xuICBtZXRhZGF0YVVzZXJPcGVuID0gZmFsc2U7XG5cbiAgb3BlcmF0b3JzJCA9IG9mKFtcbiAgICB7IG9wZXJhdG9yOiAnRVFVQUxTJywgdHJhbnNsYXRpb246ICdAcHJ5LnNlYXJjaC5vcGVyYXRvci5lcXVhbHNTdHJpbmcnIH0sXG4gICAgeyBvcGVyYXRvcjogJ05PVF9FUVVBTFMnLCB0cmFuc2xhdGlvbjogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLm5vdEVxdWFsc1N0cmluZycgfSxcbiAgICB7IG9wZXJhdG9yOiAnSU4nLCB0cmFuc2xhdGlvbjogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmluJyB9LFxuICAgIHsgb3BlcmF0b3I6ICdOT1RfSU4nLCB0cmFuc2xhdGlvbjogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLm5vdF9pbicgfVxuICBdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+KSB7XG4gICAgdGhpcy5tZXRhZGF0YVVzZXJzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLnVzZXJQcm9maWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzaWduT2JzZXJ2YWJsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb25kaXRpb24kID0gdGhpcy5zdG9yZS5zZWxlY3QoQWJhY1J1bGVzU2VsZWN0b3JzLmVkaXRBYmFjUnVsZUNvbmRpdGlvbnNCeUlkKHRoaXMuX2lkID8/ICcnKSk7XG4gICAgdGhpcy5tZXRhZGF0YSQgPSB0aGlzLmNvbmRpdGlvbiQucGlwZShcbiAgICAgIGZpbHRlcigoY29uZCk6IGNvbmQgaXMgTm9ybWFsaXplZENvbmRpdGlvbiA9PiBjb25kICE9PSBudWxsICYmIGNvbmQgIT09IHVuZGVmaW5lZCksXG4gICAgICBzd2l0Y2hNYXAoKGNvbmQ6IE5vcm1hbGl6ZWRDb25kaXRpb24pID0+XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLnNlbGVjdE1ldGFkYXRhQnlJZChjb25kLm1ldGFkYXRhID8/ICcnKSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgb25DaGFuZ2VPcGVyYXRvcihvcGVyYXRvcjogT3BlcmF0b3JUeXBlLCBjb25kaXRpb25JZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEFiYWNSdWxlc0FjdGlvbnMudXBkYXRlRWRpdEFiYWNSdWxlQ29uZGl0aW9uUHJvcGVydHkoe1xuICAgICAgICBjb25kaXRpb25JZCxcbiAgICAgICAgcHJvcGVydHk6IHsgdHlwZTogJ29wZXJhdG9yJywgdmFsdWU6IG9wZXJhdG9yIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG9uQ2hhbmdlVmFsdWUoZXZ0OiBhbnksIGNvbmRpdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy51cGRhdGVFZGl0QWJhY1J1bGVDb25kaXRpb25Qcm9wZXJ0eSh7XG4gICAgICAgIGNvbmRpdGlvbklkLFxuICAgICAgICBwcm9wZXJ0eTogeyB0eXBlOiAndmFsdWUnLCB2YWx1ZTogZXZ0LnRhcmdldC52YWx1ZSB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvblNlbGVjdE1ldGFkYXRhVXNlcihjb25kaXRpb25JZDogc3RyaW5nLCBvcGVyYXRvcjogT3BlcmF0b3JUeXBlIHwgdW5kZWZpbmVkLCBtZXRhZGF0YTogSU1ldGFkYXRhKSB7XG4gICAgdGhpcy5tZXRhZGF0YVVzZXJPcGVuID0gZmFsc2U7XG4gICAgY29uc3QgdmFsdWUgPVxuICAgICAgb3BlcmF0b3IgPT09ICdJTicgfHwgb3BlcmF0b3IgPT09ICdOT1RfSU4nXG4gICAgICAgID8gYFxcJHt1c2VyLm1ldGFkYXRhKCcke21ldGFkYXRhLm5hbWV9Jyl9YFxuICAgICAgICA6IGBcXCR7dXNlci5tZXRhZGF0YSgnJHttZXRhZGF0YS5uYW1lfScpLmdldEZpcnN0KCl9YDtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy51cGRhdGVFZGl0QWJhY1J1bGVDb25kaXRpb25Qcm9wZXJ0eSh7XG4gICAgICAgIGNvbmRpdGlvbklkLFxuICAgICAgICBwcm9wZXJ0eTogeyB0eXBlOiAndmFsdWUnLCB2YWx1ZSB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvbkRlbGV0ZU1ldGFkYXRhQ29uZGl0aW9uKGNvbmRpdGlvbklkOiBzdHJpbmcsIHBhcmVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZUNvbmRpdGlvbk9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWJhY1J1bGVzQWN0aW9ucy5yZW1vdmVFZGl0QWJhY1J1bGVDb25kaXRpb25Gcm9tQ29tcG9zZWQoeyBjb25kaXRpb25JZDogcGFyZW50SWQsIGNoaWxkcmVuSWQ6IGNvbmRpdGlvbklkIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiQGlmIChjb25kaXRpb24kIHwgYXN5bmM7IGFzIGNvbmRpdGlvbikge1xuICBAaWYgKG1ldGFkYXRhJCB8IGFzeW5jOyBhcyBtZXRhZGF0YSkge1xuICAgIDxkaXYgY2xhc3M9XCJvLXByeS1tZXRhZGF0YS1jb25kaXRpb25cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgIGFyaWEtcHJlc3NlZD1cImZhbHNlXCJcbiAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUNvbmRpdGlvbk9wZW4gPSB0cnVlXCJcbiAgICAgICAgW3ByeU92ZXJsYXldPVwiZGVsZXRlQ29uZGl0aW9uVHBsXCJcbiAgICAgICAgWyhvdmVybGF5T3BlbildPVwiZGVsZXRlQ29uZGl0aW9uT3BlblwiXG4gICAgICAgID5cbiAgICAgICAgQGlmICghcmVhZG9ubHkpIHtcbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImRyYWdfaW5kaWNhdG9yXCI+PC9wcnktaWNvbj5cbiAgICAgICAgfVxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+Pz8/PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlbGV0ZUNvbmRpdGlvblRwbD5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm0tcHJ5LW92ZXJsYXktaXRlbVwiIChjbGljayk9XCJvbkRlbGV0ZU1ldGFkYXRhQ29uZGl0aW9uKGNvbmRpdGlvbi5pZCwgY29uZGl0aW9uLnBhcmVudElkKVwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmFiYWMtcnVsZXMuZGVsZXRlJyB8IGkxOG4gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIHUtdmlzdWFsbHktaGlkZGVuXCIgZm9yPVwibWV0YWRhdGFfbmFtZVwiPk5hbWU8L2xhYmVsPlxuICAgICAgICA8aW5wdXQgaWQ9XCJtZXRhZGF0YV9uYW1lXCIgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiB0eXBlPVwidGV4dFwiIFt2YWx1ZV09XCJtZXRhZGF0YS5uYW1lXCIgcmVhZG9ubHkgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIHUtdmlzdWFsbHktaGlkZGVuXCIgZm9yPVwibWV0YWRhdGFfb3BlcmF0b3JcIj4/Pz88L2xhYmVsPlxuICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgIGlkPVwibWV0YWRhdGFfb3BlcmF0b3JcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXG4gICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIjE2MFwiXG4gICAgICAgICAgW2l0ZW1zXT1cIm9wZXJhdG9ycyQgfCBhc3luY1wiXG4gICAgICAgICAgYmluZFZhbHVlPVwib3BlcmF0b3JcIlxuICAgICAgICAgIGJpbmRMYWJlbD1cInRyYW5zbGF0aW9uXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJjb25kaXRpb24ub3BlcmF0b3JcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlT3BlcmF0b3IoJGV2ZW50LCBjb25kaXRpb24uaWQpXCJcbiAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIHUtdmlzdWFsbHktaGlkZGVuXCIgZm9yPVwiY29uZGl0aW9uX3ZhbHVlXCI+Pz8/PC9sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgaWQ9XCJjb25kaXRpb25fdmFsdWVcIlxuICAgICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiMjAwXCJcbiAgICAgICAgICBbdmFsdWVdPVwiY29uZGl0aW9uLnZhbHVlXCJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwib25DaGFuZ2VWYWx1ZSgkZXZlbnQsIGNvbmRpdGlvbi5pZClcIlxuICAgICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoIXJlYWRvbmx5KSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBhcmlhLXByZXNzZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2VsZWN0IC1zaXplLXNtXCJcbiAgICAgICAgICBbcHJ5T3ZlcmxheV09XCJtZXRhZGF0YVVzZXJUcGxcIlxuICAgICAgICAgIFsob3ZlcmxheU9wZW4pXT1cIm1ldGFkYXRhVXNlck9wZW5cIlxuICAgICAgICAgIChjbGljayk9XCJtZXRhZGF0YVVzZXJPcGVuID0gdHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmFiYWMtcnVsZXMubWV0YWRhdGFVc2VyJyB8IGkxOG4gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI21ldGFkYXRhVXNlclRwbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tcHJ5LW92ZXJsYXktd3JhcHBlclwiPlxuICAgICAgICAgIEBmb3IgKG1ldGFkYXRhVXNlciBvZiBtZXRhZGF0YVVzZXJzJCB8IGFzeW5jOyB0cmFjayBtZXRhZGF0YVVzZXIpIHtcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtLXByeS1vdmVybGF5LWl0ZW1cIiAoY2xpY2spPVwib25TZWxlY3RNZXRhZGF0YVVzZXIoY29uZGl0aW9uLmlkLCBjb25kaXRpb24ub3BlcmF0b3IsIG1ldGFkYXRhVXNlcilcIj5cbiAgICAgICAgICAgICAge3sgbWV0YWRhdGFVc2VyLm5hbWUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICBMb2FkaW5nIC4uLlxuICB9XG59XG4iXX0=
@@ -18,12 +18,12 @@ export class SelectAttributeComponent {
18
18
  this.attributeSelected.emit({ attribute: attributeId, class: classId });
19
19
  }
20
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectAttributeComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SelectAttributeComponent, selector: "pry-abac-select-attribute", outputs: { attributeSelected: "attributeSelected" }, ngImport: i0, template: "<ng-container *ngFor=\"let class of classes$ | async\">\n <button\n class=\"m-pry-overlay-item\"\n *ngFor=\"let attribute of class.attributes\"\n (click)=\"onSelectAttribute(class.id, attribute.id)\"\n >\n {{ class.name }} - {{ attribute.name }}\n </button>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: SelectAttributeComponent, selector: "pry-abac-select-attribute", outputs: { attributeSelected: "attributeSelected" }, ngImport: i0, template: "@for (class of classes$ | async; track class) {\n @for (attribute of class.attributes; track attribute) {\n <button\n class=\"m-pry-overlay-item\"\n (click)=\"onSelectAttribute(class.id, attribute.id)\"\n >\n {{ class.name }} - {{ attribute.name }}\n </button>\n }\n}\n", dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectAttributeComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'pry-abac-select-attribute', template: "<ng-container *ngFor=\"let class of classes$ | async\">\n <button\n class=\"m-pry-overlay-item\"\n *ngFor=\"let attribute of class.attributes\"\n (click)=\"onSelectAttribute(class.id, attribute.id)\"\n >\n {{ class.name }} - {{ attribute.name }}\n </button>\n</ng-container>\n" }]
25
+ args: [{ selector: 'pry-abac-select-attribute', template: "@for (class of classes$ | async; track class) {\n @for (attribute of class.attributes; track attribute) {\n <button\n class=\"m-pry-overlay-item\"\n (click)=\"onSelectAttribute(class.id, attribute.id)\"\n >\n {{ class.name }} - {{ attribute.name }}\n </button>\n }\n}\n" }]
26
26
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { attributeSelected: [{
27
27
  type: Output
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWF0dHJpYnV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWFiYWMtcnVsZXMvY29tcG9uZW50cy9zZWxlY3QtYXR0cmlidXRlL3NlbGVjdC1hdHRyaWJ1dGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1hYmFjLXJ1bGVzL2NvbXBvbmVudHMvc2VsZWN0LWF0dHJpYnV0ZS9zZWxlY3QtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFNdEUsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBSDNCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUF3QyxDQUFDO1FBSXJGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQzlCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBb0MsQ0FBQzthQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDNUQsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUNuRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUN4RixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQWUsRUFBRSxXQUFtQjtRQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDOzhHQWhCVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixzSENWckMscVNBU0E7OzJGRENhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSwyQkFBMkI7MEVBSTNCLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ2xhc3MsIENsYXNzU2VsZWN0b3JzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFiYWNSdWxlc1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL2FiYWMtcnVsZXMuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFiYWMtc2VsZWN0LWF0dHJpYnV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RBdHRyaWJ1dGVDb21wb25lbnQge1xuICBAT3V0cHV0KCkgYXR0cmlidXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgYXR0cmlidXRlOiBzdHJpbmc7IGNsYXNzOiBzdHJpbmcgfT4oKTtcbiAgY2xhc3NlcyQ6IE9ic2VydmFibGU8Q2xhc3NbXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55Pikge1xuICAgIGNvbnN0IGNsYXNzU2VsZWN0ZWQkID0gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChBYmFjUnVsZXNTZWxlY3RvcnMuZWRpdEFiYWNSdWxlQ29uZGl0aW9uc0ZpcnN0QXR0cmlidXRlKVxuICAgICAgLnBpcGUoc3dpdGNoTWFwKChhdHRyaWJ1dGUpID0+IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzQnlBdHRyaWJ1dGVJZChhdHRyaWJ1dGUgPz8gJycpKSkpO1xuICAgIHRoaXMuY2xhc3NlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGNsYXNzZXMpID0+IGNvbWJpbmVMYXRlc3QoW29mKGNsYXNzZXMpLCBjbGFzc1NlbGVjdGVkJF0pKSxcbiAgICAgIG1hcCgoW2NsYXNzZXMsIGNsYXp6XSkgPT4gKGNsYXp6ID8gY2xhc3Nlcy5maWx0ZXIoKGMpID0+IGMuaWQgPT09IGNsYXp6LmlkKSA6IGNsYXNzZXMpKVxuICAgICk7XG4gIH1cblxuICBvblNlbGVjdEF0dHJpYnV0ZShjbGFzc0lkOiBzdHJpbmcsIGF0dHJpYnV0ZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmF0dHJpYnV0ZVNlbGVjdGVkLmVtaXQoeyBhdHRyaWJ1dGU6IGF0dHJpYnV0ZUlkLCBjbGFzczogY2xhc3NJZCB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2xhc3Mgb2YgY2xhc3NlcyQgfCBhc3luY1wiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJtLXByeS1vdmVybGF5LWl0ZW1cIlxuICAgICpuZ0Zvcj1cImxldCBhdHRyaWJ1dGUgb2YgY2xhc3MuYXR0cmlidXRlc1wiXG4gICAgKGNsaWNrKT1cIm9uU2VsZWN0QXR0cmlidXRlKGNsYXNzLmlkLCBhdHRyaWJ1dGUuaWQpXCJcbiAgPlxuICAgIHt7IGNsYXNzLm5hbWUgfX0gLSB7eyBhdHRyaWJ1dGUubmFtZSB9fVxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWF0dHJpYnV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWFiYWMtcnVsZXMvY29tcG9uZW50cy9zZWxlY3QtYXR0cmlidXRlL3NlbGVjdC1hdHRyaWJ1dGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1hYmFjLXJ1bGVzL2NvbXBvbmVudHMvc2VsZWN0LWF0dHJpYnV0ZS9zZWxlY3QtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFNdEUsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBSDNCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUF3QyxDQUFDO1FBSXJGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQzlCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBb0MsQ0FBQzthQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDNUQsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUNuRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUN4RixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQWUsRUFBRSxXQUFtQjtRQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDOzhHQWhCVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixzSENWckMsMlNBVUE7OzJGREFhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSwyQkFBMkI7MEVBSTNCLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ2xhc3MsIENsYXNzU2VsZWN0b3JzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFiYWNSdWxlc1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL2FiYWMtcnVsZXMuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFiYWMtc2VsZWN0LWF0dHJpYnV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RBdHRyaWJ1dGVDb21wb25lbnQge1xuICBAT3V0cHV0KCkgYXR0cmlidXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgYXR0cmlidXRlOiBzdHJpbmc7IGNsYXNzOiBzdHJpbmcgfT4oKTtcbiAgY2xhc3NlcyQ6IE9ic2VydmFibGU8Q2xhc3NbXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55Pikge1xuICAgIGNvbnN0IGNsYXNzU2VsZWN0ZWQkID0gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChBYmFjUnVsZXNTZWxlY3RvcnMuZWRpdEFiYWNSdWxlQ29uZGl0aW9uc0ZpcnN0QXR0cmlidXRlKVxuICAgICAgLnBpcGUoc3dpdGNoTWFwKChhdHRyaWJ1dGUpID0+IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzQnlBdHRyaWJ1dGVJZChhdHRyaWJ1dGUgPz8gJycpKSkpO1xuICAgIHRoaXMuY2xhc3NlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGNsYXNzZXMpID0+IGNvbWJpbmVMYXRlc3QoW29mKGNsYXNzZXMpLCBjbGFzc1NlbGVjdGVkJF0pKSxcbiAgICAgIG1hcCgoW2NsYXNzZXMsIGNsYXp6XSkgPT4gKGNsYXp6ID8gY2xhc3Nlcy5maWx0ZXIoKGMpID0+IGMuaWQgPT09IGNsYXp6LmlkKSA6IGNsYXNzZXMpKVxuICAgICk7XG4gIH1cblxuICBvblNlbGVjdEF0dHJpYnV0ZShjbGFzc0lkOiBzdHJpbmcsIGF0dHJpYnV0ZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmF0dHJpYnV0ZVNlbGVjdGVkLmVtaXQoeyBhdHRyaWJ1dGU6IGF0dHJpYnV0ZUlkLCBjbGFzczogY2xhc3NJZCB9KTtcbiAgfVxufVxuIiwiQGZvciAoY2xhc3Mgb2YgY2xhc3NlcyQgfCBhc3luYzsgdHJhY2sgY2xhc3MpIHtcbiAgQGZvciAoYXR0cmlidXRlIG9mIGNsYXNzLmF0dHJpYnV0ZXM7IHRyYWNrIGF0dHJpYnV0ZSkge1xuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwibS1wcnktb3ZlcmxheS1pdGVtXCJcbiAgICAgIChjbGljayk9XCJvblNlbGVjdEF0dHJpYnV0ZShjbGFzcy5pZCwgYXR0cmlidXRlLmlkKVwiXG4gICAgICA+XG4gICAgICB7eyBjbGFzcy5uYW1lIH19IC0ge3sgYXR0cmlidXRlLm5hbWUgfX1cbiAgICA8L2J1dHRvbj5cbiAgfVxufVxuIl19
@@ -13,12 +13,12 @@ export class SelectMetadataComponent {
13
13
  this.metadataSelected.emit(id);
14
14
  }
15
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectMetadataComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SelectMetadataComponent, selector: "pry-abac-select-metadata", outputs: { metadataSelected: "metadataSelected" }, ngImport: i0, template: "<ng-container *ngFor=\"let metadata of metadata$ | async\">\n <button class=\"m-pry-overlay-item\" (click)=\"onSelectMetadata(metadata.id)\">\n {{ metadata.name }}\n </button>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: SelectMetadataComponent, selector: "pry-abac-select-metadata", outputs: { metadataSelected: "metadataSelected" }, ngImport: i0, template: "@for (metadata of metadata$ | async; track metadata) {\n <button class=\"m-pry-overlay-item\" (click)=\"onSelectMetadata(metadata.id)\">\n {{ metadata.name }}\n </button>\n}\n", dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
17
17
  }
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectMetadataComponent, decorators: [{
19
19
  type: Component,
20
- args: [{ selector: 'pry-abac-select-metadata', template: "<ng-container *ngFor=\"let metadata of metadata$ | async\">\n <button class=\"m-pry-overlay-item\" (click)=\"onSelectMetadata(metadata.id)\">\n {{ metadata.name }}\n </button>\n</ng-container>\n" }]
20
+ args: [{ selector: 'pry-abac-select-metadata', template: "@for (metadata of metadata$ | async; track metadata) {\n <button class=\"m-pry-overlay-item\" (click)=\"onSelectMetadata(metadata.id)\">\n {{ metadata.name }}\n </button>\n}\n" }]
21
21
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { metadataSelected: [{
22
22
  type: Output
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW1ldGFkYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tYWJhYy1ydWxlcy9jb21wb25lbnRzL3NlbGVjdC1tZXRhZGF0YS9zZWxlY3QtbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1hYmFjLXJ1bGVzL2NvbXBvbmVudHMvc2VsZWN0LW1ldGFkYXRhL3NlbGVjdC1tZXRhZGF0YS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7QUFPbEYsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBRjNCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBVTtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBWFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbUhDVnBDLHlNQUtBOzsyRkRLYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQU0xQixnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IElNZXRhZGF0YSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBNZXRhZGF0YVNlbGVjdG9ycyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hYmFjLXNlbGVjdC1tZXRhZGF0YScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtbWV0YWRhdGEuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE1ldGFkYXRhQ29tcG9uZW50IHtcbiAgbWV0YWRhdGEkOiBPYnNlcnZhYmxlPElNZXRhZGF0YVtdPjtcblxuICBAT3V0cHV0KCkgbWV0YWRhdGFTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICB0aGlzLm1ldGFkYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLm1ldGFkYXRhKTtcbiAgfVxuXG4gIG9uU2VsZWN0TWV0YWRhdGEoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubWV0YWRhdGFTZWxlY3RlZC5lbWl0KGlkKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWV0YWRhdGEgb2YgbWV0YWRhdGEkIHwgYXN5bmNcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cIm0tcHJ5LW92ZXJsYXktaXRlbVwiIChjbGljayk9XCJvblNlbGVjdE1ldGFkYXRhKG1ldGFkYXRhLmlkKVwiPlxuICAgIHt7IG1ldGFkYXRhLm5hbWUgfX1cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW1ldGFkYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tYWJhYy1ydWxlcy9jb21wb25lbnRzL3NlbGVjdC1tZXRhZGF0YS9zZWxlY3QtbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1hYmFjLXJ1bGVzL2NvbXBvbmVudHMvc2VsZWN0LW1ldGFkYXRhL3NlbGVjdC1tZXRhZGF0YS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7QUFPbEYsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBRjNCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBVTtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBWFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbUhDVnBDLHNMQUtBOzsyRkRLYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQU0xQixnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IElNZXRhZGF0YSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBNZXRhZGF0YVNlbGVjdG9ycyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hYmFjLXNlbGVjdC1tZXRhZGF0YScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtbWV0YWRhdGEuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE1ldGFkYXRhQ29tcG9uZW50IHtcbiAgbWV0YWRhdGEkOiBPYnNlcnZhYmxlPElNZXRhZGF0YVtdPjtcblxuICBAT3V0cHV0KCkgbWV0YWRhdGFTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICB0aGlzLm1ldGFkYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KE1ldGFkYXRhU2VsZWN0b3JzLm1ldGFkYXRhKTtcbiAgfVxuXG4gIG9uU2VsZWN0TWV0YWRhdGEoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubWV0YWRhdGFTZWxlY3RlZC5lbWl0KGlkKTtcbiAgfVxufVxuIiwiQGZvciAobWV0YWRhdGEgb2YgbWV0YWRhdGEkIHwgYXN5bmM7IHRyYWNrIG1ldGFkYXRhKSB7XG4gIDxidXR0b24gY2xhc3M9XCJtLXByeS1vdmVybGF5LWl0ZW1cIiAoY2xpY2spPVwib25TZWxlY3RNZXRhZGF0YShtZXRhZGF0YS5pZClcIj5cbiAgICB7eyBtZXRhZGF0YS5uYW1lIH19XG4gIDwvYnV0dG9uPlxufVxuIl19
@@ -7,11 +7,11 @@ import { AdminClassSelectors } from '../store/admin-class.selectors';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@ngrx/store";
9
9
  import * as i2 from "@angular/router";
10
- import * as i3 from "@angular/common";
11
- import * as i4 from "@provoly/dashboard";
12
- import * as i5 from "@angular/cdk/drag-drop";
13
- import * as i6 from "./tooltip/admin-classes-customize-tooltip.component";
14
- import * as i7 from "./symbol/admin-classes-customize-symbol.component";
10
+ import * as i3 from "@provoly/dashboard";
11
+ import * as i4 from "@angular/cdk/drag-drop";
12
+ import * as i5 from "./tooltip/admin-classes-customize-tooltip.component";
13
+ import * as i6 from "./symbol/admin-classes-customize-symbol.component";
14
+ import * as i7 from "@angular/common";
15
15
  export class AdminClassesCustomizeComponent extends SubscriptionnerDirective {
16
16
  constructor(store, router, route) {
17
17
  super();
@@ -37,14 +37,14 @@ export class AdminClassesCustomizeComponent extends SubscriptionnerDirective {
37
37
  this.subscriptions.add(this.currentClass$.subscribe((clazz) => (this.currentClass = clazz ?? {})));
38
38
  this.currentPropertiesConfig$ = this.store.select(ConfigSelectors.tableDefaultAttributesDefinitions).pipe(combineLatestWith(this.currentClass$, this.fields$), map(([defs, clazz, fields]) => ItemUtils.getClassNonGeoAttributesNames((clazz ?? { attributes: [] }), defs, fields)));
39
39
  this.subscriptions.add(this.currentPropertiesConfig$.pipe(combineLatestWith(this.currentClass$)).subscribe(([attrs, clazz]) => {
40
- this.defaultAttributes = JSON.parse(JSON.stringify(attrs));
40
+ this.defaultAttributes = structuredClone(attrs);
41
41
  this.otherAttributes = (clazz ?? { attributes: [] }).attributes
42
42
  .filter((attr) => !attrs.includes(attr.name))
43
43
  .map((attr) => attr.name);
44
44
  }));
45
45
  this.currentTilePropertiesConfig$ = this.store.select(ConfigSelectors.tileAttributesDefinitions).pipe(combineLatestWith(this.currentClass$, this.fields$), map(([defs, clazz, fields]) => ItemUtils.getClassNonGeoAttributesNames((clazz ?? { attributes: [] }), defs, fields)), map((attrs) => attrs.filter((_, i) => i < this.maxTilesAttributes)));
46
46
  this.subscriptions.add(this.currentTilePropertiesConfig$.pipe(combineLatestWith(this.currentClass$)).subscribe(([attrs, clazz]) => {
47
- this.defaultTileAttributes = JSON.parse(JSON.stringify(attrs));
47
+ this.defaultTileAttributes = structuredClone(attrs);
48
48
  this.otherTileAttributes = (clazz ?? { attributes: [] }).attributes
49
49
  .filter((attr) => !attrs.includes(attr.name))
50
50
  .map((attr) => attr.name);
@@ -83,10 +83,10 @@ export class AdminClassesCustomizeComponent extends SubscriptionnerDirective {
83
83
  return this.defaultTileAttributes.length > 0 && this.defaultTileAttributes.length <= this.maxTilesAttributes;
84
84
  }
85
85
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AdminClassesCustomizeComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: AdminClassesCustomizeComponent, selector: "pry-admin-classes-customize", usesInheritance: true, ngImport: i0, template: "<div class=\"o-pry-admin-classes-customize\">\n <h1 class=\"a-h1\" id=\"tab-custom\">{{ '@pry.admin.customize.title' | i18n }}</h1>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"customizeTemplate\" name=\"customize.template\"></pry-tab>\n <pry-tab [templateRef]=\"customizeTable\" name=\"customize.table\"></pry-tab>\n <pry-tab [templateRef]=\"customizeSymbol\" name=\"classes.rules\"></pry-tab>\n <pry-tab [templateRef]=\"customizeTile\" name=\"customize.tile\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #customizeTemplate>\n <pry-admin-classes-customize-tooltip\n (backPressed)=\"goBack()\"\n [currentClass]=\"currentClass$ | async\"\n ></pry-admin-classes-customize-tooltip>\n </ng-template>\n <ng-template #customizeTable>\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.tableAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #defaultList=\"cdkDropList\"\n [cdkDropListData]=\"defaultAttributes\"\n [cdkDropListConnectedTo]=\"[notDefaultList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"item\" *ngFor=\"let item of defaultAttributes\" cdkDrag>{{ item }}</div>\n </div>\n </div>\n\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.noTableAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #notDefaultList=\"cdkDropList\"\n [cdkDropListData]=\"otherAttributes\"\n [cdkDropListConnectedTo]=\"[defaultList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"item\" *ngFor=\"let item of otherAttributes\" cdkDrag>{{ item }}</div>\n </div>\n </div>\n\n <div class=\"m-btn-group -width-lg\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" (click)=\"updateTableAttrs()\">\n {{ '@pry.admin.customize.updateTable' | i18n }}\n </button>\n </div>\n </ng-template>\n <ng-template #customizeSymbol>\n <pry-admin-classes-customize-symbol\n (backPressed)=\"goBack()\"\n [currentClass]=\"currentClass$ | async\"\n ></pry-admin-classes-customize-symbol>\n </ng-template>\n <ng-template #customizeTile>\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.tile' | i18n }}</h2>\n <div\n cdkDropList\n #defaultTilesList=\"cdkDropList\"\n [cdkDropListData]=\"defaultTileAttributes\"\n [cdkDropListConnectedTo]=\"[notDefaultTilesList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"item\" *ngFor=\"let item of defaultTileAttributes\" cdkDrag>{{ item }}</div>\n </div>\n </div>\n\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.noTileAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #notDefaultTilesList=\"cdkDropList\"\n [cdkDropListData]=\"otherTileAttributes\"\n [cdkDropListConnectedTo]=\"[defaultTilesList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"item\" *ngFor=\"let item of otherTileAttributes\" cdkDrag>{{ item }}</div>\n </div>\n </div>\n\n <div>\n <ng-container *ngIf=\"!isTileConfValid()\">\n <p>{{ '@pry.admin.customize.tileHint' | i18n : { max: maxTilesAttributes } }}</p>\n </ng-container>\n </div>\n\n <div class=\"m-btn-group -width-lg\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" (click)=\"updateTileAttrs()\" [disabled]=\"!isTileConfValid()\">\n {{ '@pry.admin.customize.updateTile' | i18n }}\n </button>\n </div>\n </ng-template>\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: "component", type: i4.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i4.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.AdminClassesCustomizeTooltipComponent, selector: "pry-admin-classes-customize-tooltip", inputs: ["currentClass"], outputs: ["backPressed"] }, { kind: "component", type: i7.AdminClassesCustomizeSymbolComponent, selector: "pry-admin-classes-customize-symbol", inputs: ["currentClass"], outputs: ["backPressed"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: AdminClassesCustomizeComponent, selector: "pry-admin-classes-customize", usesInheritance: true, ngImport: i0, template: "<div class=\"o-pry-admin-classes-customize\">\n <h1 class=\"a-h1\" id=\"tab-custom\">{{ '@pry.admin.customize.title' | i18n }}</h1>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"customizeTemplate\" name=\"customize.template\"></pry-tab>\n <pry-tab [templateRef]=\"customizeTable\" name=\"customize.table\"></pry-tab>\n <pry-tab [templateRef]=\"customizeSymbol\" name=\"classes.rules\"></pry-tab>\n <pry-tab [templateRef]=\"customizeTile\" name=\"customize.tile\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #customizeTemplate>\n <pry-admin-classes-customize-tooltip\n (backPressed)=\"goBack()\"\n [currentClass]=\"currentClass$ | async\"\n ></pry-admin-classes-customize-tooltip>\n </ng-template>\n <ng-template #customizeTable>\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.tableAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #defaultList=\"cdkDropList\"\n [cdkDropListData]=\"defaultAttributes\"\n [cdkDropListConnectedTo]=\"[notDefaultList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (item of defaultAttributes; track item) {\n <div class=\"item\" cdkDrag>{{ item }}</div>\n }\n </div>\n </div>\n\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.noTableAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #notDefaultList=\"cdkDropList\"\n [cdkDropListData]=\"otherAttributes\"\n [cdkDropListConnectedTo]=\"[defaultList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (item of otherAttributes; track item) {\n <div class=\"item\" cdkDrag>{{ item }}</div>\n }\n </div>\n </div>\n\n <div class=\"m-btn-group -width-lg\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" (click)=\"updateTableAttrs()\">\n {{ '@pry.admin.customize.updateTable' | i18n }}\n </button>\n </div>\n </ng-template>\n <ng-template #customizeSymbol>\n <pry-admin-classes-customize-symbol\n (backPressed)=\"goBack()\"\n [currentClass]=\"currentClass$ | async\"\n ></pry-admin-classes-customize-symbol>\n </ng-template>\n <ng-template #customizeTile>\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.tile' | i18n }}</h2>\n <div\n cdkDropList\n #defaultTilesList=\"cdkDropList\"\n [cdkDropListData]=\"defaultTileAttributes\"\n [cdkDropListConnectedTo]=\"[notDefaultTilesList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (item of defaultTileAttributes; track item) {\n <div class=\"item\" cdkDrag>{{ item }}</div>\n }\n </div>\n </div>\n\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.noTileAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #notDefaultTilesList=\"cdkDropList\"\n [cdkDropListData]=\"otherTileAttributes\"\n [cdkDropListConnectedTo]=\"[defaultTilesList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (item of otherTileAttributes; track item) {\n <div class=\"item\" cdkDrag>{{ item }}</div>\n }\n </div>\n </div>\n\n <div>\n @if (!isTileConfValid()) {\n <p>{{ '@pry.admin.customize.tileHint' | i18n : { max: maxTilesAttributes } }}</p>\n }\n </div>\n\n <div class=\"m-btn-group -width-lg\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" (click)=\"updateTileAttrs()\" [disabled]=\"!isTileConfValid()\">\n {{ '@pry.admin.customize.updateTile' | i18n }}\n </button>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "component", type: i3.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i3.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i5.AdminClassesCustomizeTooltipComponent, selector: "pry-admin-classes-customize-tooltip", inputs: ["currentClass"], outputs: ["backPressed"] }, { kind: "component", type: i6.AdminClassesCustomizeSymbolComponent, selector: "pry-admin-classes-customize-symbol", inputs: ["currentClass"], outputs: ["backPressed"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
87
87
  }
88
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AdminClassesCustomizeComponent, decorators: [{
89
89
  type: Component,
90
- args: [{ selector: 'pry-admin-classes-customize', template: "<div class=\"o-pry-admin-classes-customize\">\n <h1 class=\"a-h1\" id=\"tab-custom\">{{ '@pry.admin.customize.title' | i18n }}</h1>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"customizeTemplate\" name=\"customize.template\"></pry-tab>\n <pry-tab [templateRef]=\"customizeTable\" name=\"customize.table\"></pry-tab>\n <pry-tab [templateRef]=\"customizeSymbol\" name=\"classes.rules\"></pry-tab>\n <pry-tab [templateRef]=\"customizeTile\" name=\"customize.tile\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #customizeTemplate>\n <pry-admin-classes-customize-tooltip\n (backPressed)=\"goBack()\"\n [currentClass]=\"currentClass$ | async\"\n ></pry-admin-classes-customize-tooltip>\n </ng-template>\n <ng-template #customizeTable>\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.tableAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #defaultList=\"cdkDropList\"\n [cdkDropListData]=\"defaultAttributes\"\n [cdkDropListConnectedTo]=\"[notDefaultList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"item\" *ngFor=\"let item of defaultAttributes\" cdkDrag>{{ item }}</div>\n </div>\n </div>\n\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.noTableAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #notDefaultList=\"cdkDropList\"\n [cdkDropListData]=\"otherAttributes\"\n [cdkDropListConnectedTo]=\"[defaultList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"item\" *ngFor=\"let item of otherAttributes\" cdkDrag>{{ item }}</div>\n </div>\n </div>\n\n <div class=\"m-btn-group -width-lg\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" (click)=\"updateTableAttrs()\">\n {{ '@pry.admin.customize.updateTable' | i18n }}\n </button>\n </div>\n </ng-template>\n <ng-template #customizeSymbol>\n <pry-admin-classes-customize-symbol\n (backPressed)=\"goBack()\"\n [currentClass]=\"currentClass$ | async\"\n ></pry-admin-classes-customize-symbol>\n </ng-template>\n <ng-template #customizeTile>\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.tile' | i18n }}</h2>\n <div\n cdkDropList\n #defaultTilesList=\"cdkDropList\"\n [cdkDropListData]=\"defaultTileAttributes\"\n [cdkDropListConnectedTo]=\"[notDefaultTilesList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"item\" *ngFor=\"let item of defaultTileAttributes\" cdkDrag>{{ item }}</div>\n </div>\n </div>\n\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.noTileAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #notDefaultTilesList=\"cdkDropList\"\n [cdkDropListData]=\"otherTileAttributes\"\n [cdkDropListConnectedTo]=\"[defaultTilesList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <div class=\"item\" *ngFor=\"let item of otherTileAttributes\" cdkDrag>{{ item }}</div>\n </div>\n </div>\n\n <div>\n <ng-container *ngIf=\"!isTileConfValid()\">\n <p>{{ '@pry.admin.customize.tileHint' | i18n : { max: maxTilesAttributes } }}</p>\n </ng-container>\n </div>\n\n <div class=\"m-btn-group -width-lg\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" (click)=\"updateTileAttrs()\" [disabled]=\"!isTileConfValid()\">\n {{ '@pry.admin.customize.updateTile' | i18n }}\n </button>\n </div>\n </ng-template>\n</div>\n" }]
90
+ args: [{ selector: 'pry-admin-classes-customize', template: "<div class=\"o-pry-admin-classes-customize\">\n <h1 class=\"a-h1\" id=\"tab-custom\">{{ '@pry.admin.customize.title' | i18n }}</h1>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"customizeTemplate\" name=\"customize.template\"></pry-tab>\n <pry-tab [templateRef]=\"customizeTable\" name=\"customize.table\"></pry-tab>\n <pry-tab [templateRef]=\"customizeSymbol\" name=\"classes.rules\"></pry-tab>\n <pry-tab [templateRef]=\"customizeTile\" name=\"customize.tile\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #customizeTemplate>\n <pry-admin-classes-customize-tooltip\n (backPressed)=\"goBack()\"\n [currentClass]=\"currentClass$ | async\"\n ></pry-admin-classes-customize-tooltip>\n </ng-template>\n <ng-template #customizeTable>\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.tableAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #defaultList=\"cdkDropList\"\n [cdkDropListData]=\"defaultAttributes\"\n [cdkDropListConnectedTo]=\"[notDefaultList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (item of defaultAttributes; track item) {\n <div class=\"item\" cdkDrag>{{ item }}</div>\n }\n </div>\n </div>\n\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.noTableAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #notDefaultList=\"cdkDropList\"\n [cdkDropListData]=\"otherAttributes\"\n [cdkDropListConnectedTo]=\"[defaultList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (item of otherAttributes; track item) {\n <div class=\"item\" cdkDrag>{{ item }}</div>\n }\n </div>\n </div>\n\n <div class=\"m-btn-group -width-lg\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" (click)=\"updateTableAttrs()\">\n {{ '@pry.admin.customize.updateTable' | i18n }}\n </button>\n </div>\n </ng-template>\n <ng-template #customizeSymbol>\n <pry-admin-classes-customize-symbol\n (backPressed)=\"goBack()\"\n [currentClass]=\"currentClass$ | async\"\n ></pry-admin-classes-customize-symbol>\n </ng-template>\n <ng-template #customizeTile>\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.tile' | i18n }}</h2>\n <div\n cdkDropList\n #defaultTilesList=\"cdkDropList\"\n [cdkDropListData]=\"defaultTileAttributes\"\n [cdkDropListConnectedTo]=\"[notDefaultTilesList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (item of defaultTileAttributes; track item) {\n <div class=\"item\" cdkDrag>{{ item }}</div>\n }\n </div>\n </div>\n\n <div class=\"container\">\n <h2>{{ '@pry.admin.customize.noTileAttrs' | i18n }}</h2>\n <div\n cdkDropList\n #notDefaultTilesList=\"cdkDropList\"\n [cdkDropListData]=\"otherTileAttributes\"\n [cdkDropListConnectedTo]=\"[defaultTilesList]\"\n class=\"list\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (item of otherTileAttributes; track item) {\n <div class=\"item\" cdkDrag>{{ item }}</div>\n }\n </div>\n </div>\n\n <div>\n @if (!isTileConfValid()) {\n <p>{{ '@pry.admin.customize.tileHint' | i18n : { max: maxTilesAttributes } }}</p>\n }\n </div>\n\n <div class=\"m-btn-group -width-lg\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" (click)=\"updateTileAttrs()\" [disabled]=\"!isTileConfValid()\">\n {{ '@pry.admin.customize.updateTile' | i18n }}\n </button>\n </div>\n </ng-template>\n</div>\n" }]
91
91
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3Nlcy1jdXN0b21pemUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1jbGFzc2VzL2FkbWluLWNsYXNzZXMtY3VzdG9taXplL2FkbWluLWNsYXNzZXMtY3VzdG9taXplLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS9hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBRUwsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZUFBZSxFQUVmLFlBQVksRUFDWixjQUFjLEVBQ2QsU0FBUyxFQUNULHdCQUF3QixFQUN6QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQU1yRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsd0JBQXdCO0lBYTFFLFlBQW9CLEtBQWlCLEVBQVUsTUFBYyxFQUFVLEtBQXFCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxH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QUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1NBQ3BFLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUMvRyxDQUFDOzhHQXBHVSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwwRkN4QjNDLGc5SEErR0E7OzJGRHZGYSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSwgdHJhbnNmZXJBcnJheUl0ZW0gfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2xhc3MsXG4gIENsYXNzQWN0aW9ucyxcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIENvbmZpZ0FjdGlvbnMsXG4gIENvbmZpZ1NlbGVjdG9ycyxcbiAgRmllbGQsXG4gIEZpZWxkQWN0aW9ucyxcbiAgRmllbGRTZWxlY3RvcnMsXG4gIEl0ZW1VdGlscyxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBjb21iaW5lTGF0ZXN0V2l0aCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBZG1pbkNsYXNzQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5DbGFzc2VzQ3VzdG9taXplQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY3VycmVudENsYXNzJDogT2JzZXJ2YWJsZTxDbGFzcyB8IHVuZGVmaW5lZD47XG4gIGN1cnJlbnRDbGFzczogQ2xhc3MgPSB7fSBhcyBDbGFzcztcbiAgZGVmYXVsdEF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW107XG4gIG90aGVyQXR0cmlidXRlczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudFByb3BlcnRpZXNDb25maWckOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgY3VycmVudFRpbGVQcm9wZXJ0aWVzQ29uZmlnJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGNsYXNzZXMkOiBPYnNlcnZhYmxlPENsYXNzW10+ID0gb2YoW10pO1xuICBkZWZhdWx0VGlsZUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW107XG4gIG90aGVyVGlsZUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW107XG4gIG1heFRpbGVzQXR0cmlidXRlcyA9IDU7XG4gIGZpZWxkcyQ6IE9ic2VydmFibGU8RmllbGRbXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy5zZWxlY3RDbGFzcyh7IGNsYXp6OiB7IGlkOiBwYXJhbXNbJ2lkJ10gfSBhcyBDbGFzcyB9KSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ2xhc3NBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChGaWVsZEFjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMubG9hZEN1c3RvbWl6YXRpb24oKSk7XG4gICAgdGhpcy5maWVsZHMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRzKTtcbiAgICB0aGlzLmN1cnJlbnRDbGFzcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuc2VsZWN0ZWRDbGFzcyksXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKVxuICAgIF0pLnBpcGUoc3dpdGNoTWFwKChbY2xhenosIF9dKSA9PiB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc0J5SWQoY2xheno/LmlkID8/ICcnKSkpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuY3VycmVudENsYXNzJC5zdWJzY3JpYmUoKGNsYXp6KSA9PiAodGhpcy5jdXJyZW50Q2xhc3MgPSBjbGF6eiA/PyAoe30gYXMgQ2xhc3MpKSkpO1xuICAgIHRoaXMuY3VycmVudFByb3BlcnRpZXNDb25maWckID0gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnRhYmxlRGVmYXVsdEF0dHJpYnV0ZXNEZWZpbml0aW9ucykucGlwZShcbiAgICAgIGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMuY3VycmVudENsYXNzJCwgdGhpcy5maWVsZHMkKSxcbiAgICAgIG1hcCgoW2RlZnMsIGNsYXp6LCBmaWVsZHNdKSA9PlxuICAgICAgICBJdGVtVXRpbHMuZ2V0Q2xhc3NOb25HZW9BdHRyaWJ1dGVzTmFtZXMoKGNsYXp6ID8/IHsgYXR0cmlidXRlczogW10gfSkgYXMgQ2xhc3MsIGRlZnMsIGZpZWxkcylcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmN1cnJlbnRQcm9wZXJ0aWVzQ29uZmlnJC5waXBlKGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMuY3VycmVudENsYXNzJCkpLnN1YnNjcmliZSgoW2F0dHJzLCBjbGF6el0pID0+IHtcbiAgICAgICAgdGhpcy5kZWZhdWx0QXR0cmlidXRlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYXR0cnMpKTtcbiAgICAgICAgdGhpcy5vdGhlckF0dHJpYnV0ZXMgPSAoY2xhenogPz8geyBhdHRyaWJ1dGVzOiBbXSB9KS5hdHRyaWJ1dGVzXG4gICAgICAgICAgLmZpbHRlcigoYXR0cikgPT4gIWF0dHJzLmluY2x1ZGVzKGF0dHIubmFtZSkpXG4gICAgICAgICAgLm1hcCgoYXR0cikgPT4gYXR0ci5uYW1lKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmN1cnJlbnRUaWxlUHJvcGVydGllc0NvbmZpZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMudGlsZUF0dHJpYnV0ZXNEZWZpbml0aW9ucykucGlwZShcbiAgICAgIGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMuY3VycmVudENsYXNzJCwgdGhpcy5maWVsZHMkKSxcbiAgICAgIG1hcCgoW2RlZnMsIGNsYXp6LCBmaWVsZHNdKSA9PlxuICAgICAgICBJdGVtVXRpbHMuZ2V0Q2xhc3NOb25HZW9BdHRyaWJ1dGVzTmFtZXMoKGNsYXp6ID8/IHsgYXR0cmlidXRlczogW10gfSkgYXMgQ2xhc3MsIGRlZnMsIGZpZWxkcylcbiAgICAgICksXG4gICAgICBtYXAoKGF0dHJzKSA9PiBhdHRycy5maWx0ZXIoKF8sIGkpID0+IGkgPCB0aGlzLm1heFRpbGVzQXR0cmlidXRlcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5jdXJyZW50VGlsZVByb3BlcnRpZXNDb25maWckLnBpcGUoY29tYmluZUxhdGVzdFdpdGgodGhpcy5jdXJyZW50Q2xhc3MkKSkuc3Vic2NyaWJlKChbYXR0cnMsIGNsYXp6XSkgPT4ge1xuICAgICAgICB0aGlzLmRlZmF1bHRUaWxlQXR0cmlidXRlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYXR0cnMpKTtcbiAgICAgICAgdGhpcy5vdGhlclRpbGVBdHRyaWJ1dGVzID0gKGNsYXp6ID8/IHsgYXR0cmlidXRlczogW10gfSkuYXR0cmlidXRlc1xuICAgICAgICAgIC5maWx0ZXIoKGF0dHIpID0+ICFhdHRycy5pbmNsdWRlcyhhdHRyLm5hbWUpKVxuICAgICAgICAgIC5tYXAoKGF0dHIpID0+IGF0dHIubmFtZSk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5tYXhBdHRyaWJ1dGVzSW5UaWxlcykuc3Vic2NyaWJlKChtYXgpID0+IHtcbiAgICAgICAgdGhpcy5tYXhUaWxlc0F0dHJpYnV0ZXMgPSBtYXg7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy5iYWNrKHsgcGF0aDogcGF0aC50b1N0cmluZygpIH0pKTtcbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIGlmIChldmVudC5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXZlbnQuY29udGFpbmVyKSB7XG4gICAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIH1cbiAgICBjb25zdCB0b1NvcnQgPSBldmVudC5wcmV2aW91c0NvbnRhaW5lci5pZCA9PT0gJ2Nkay1kcm9wLWxpc3QtMScgPyBldmVudC5wcmV2aW91c0NvbnRhaW5lciA6IGV2ZW50LmNvbnRhaW5lcjtcbiAgICB0b1NvcnQuZGF0YS5zb3J0KChhLCBiKSA9PiBhLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZShiLnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxuXG4gIHVwZGF0ZVRhYmxlQXR0cnMoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIENvbmZpZ0FjdGlvbnMuc2F2ZVRhYmxlRGVmYXVsdEF0dHJpYnV0ZXMoe1xuICAgICAgICBkZWZpbml0aW9uczogeyBbdGhpcy5jdXJyZW50Q2xhc3MuaWRdOiB0aGlzLmRlZmF1bHRBdHRyaWJ1dGVzLnNvcnQoKSB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5nb0JhY2soKTtcbiAgfVxuXG4gIHVwZGF0ZVRpbGVBdHRycygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQ29uZmlnQWN0aW9ucy5zYXZlVGlsZUF0dHJpYnV0ZXMoe1xuICAgICAgICBkZWZpbml0aW9uczogeyBbdGhpcy5jdXJyZW50Q2xhc3MuaWRdOiB0aGlzLmRlZmF1bHRUaWxlQXR0cmlidXRlcyB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5nb0JhY2soKTtcbiAgfVxuXG4gIGlzVGlsZUNvbmZWYWxpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0VGlsZUF0dHJpYnV0ZXMubGVuZ3RoID4gMCAmJiB0aGlzLmRlZmF1bHRUaWxlQXR0cmlidXRlcy5sZW5ndGggPD0gdGhpcy5tYXhUaWxlc0F0dHJpYnV0ZXM7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLXByeS1hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZVwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCIgaWQ9XCJ0YWItY3VzdG9tXCI+e3sgJ0BwcnkuYWRtaW4uY3VzdG9taXplLnRpdGxlJyB8IGkxOG4gfX08L2gxPlxuXG4gIDxwcnktdGFiLWdyb3VwIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuYWRtaW4uXCI+XG4gICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImN1c3RvbWl6ZVRlbXBsYXRlXCIgbmFtZT1cImN1c3RvbWl6ZS50ZW1wbGF0ZVwiPjwvcHJ5LXRhYj5cbiAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiY3VzdG9taXplVGFibGVcIiBuYW1lPVwiY3VzdG9taXplLnRhYmxlXCI+PC9wcnktdGFiPlxuICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJjdXN0b21pemVTeW1ib2xcIiBuYW1lPVwiY2xhc3Nlcy5ydWxlc1wiPjwvcHJ5LXRhYj5cbiAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiY3VzdG9taXplVGlsZVwiIG5hbWU9XCJjdXN0b21pemUudGlsZVwiPjwvcHJ5LXRhYj5cbiAgPC9wcnktdGFiLWdyb3VwPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY3VzdG9taXplVGVtcGxhdGU+XG4gICAgPHByeS1hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS10b29sdGlwXG4gICAgICAoYmFja1ByZXNzZWQpPVwiZ29CYWNrKClcIlxuICAgICAgW2N1cnJlbnRDbGFzc109XCJjdXJyZW50Q2xhc3MkIHwgYXN5bmNcIlxuICAgID48L3ByeS1hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS10b29sdGlwPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2N1c3RvbWl6ZVRhYmxlPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgIDxoMj57eyAnQHByeS5hZG1pbi5jdXN0b21pemUudGFibGVBdHRycycgfCBpMThuIH19PC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgI2RlZmF1bHRMaXN0PVwiY2RrRHJvcExpc3RcIlxuICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cImRlZmF1bHRBdHRyaWJ1dGVzXCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW25vdERlZmF1bHRMaXN0XVwiXG4gICAgICAgIGNsYXNzPVwibGlzdFwiXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkZWZhdWx0QXR0cmlidXRlc1wiIGNka0RyYWc+e3sgaXRlbSB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8aDI+e3sgJ0BwcnkuYWRtaW4uY3VzdG9taXplLm5vVGFibGVBdHRycycgfCBpMThuIH19PC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgI25vdERlZmF1bHRMaXN0PVwiY2RrRHJvcExpc3RcIlxuICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cIm90aGVyQXR0cmlidXRlc1wiXG4gICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltkZWZhdWx0TGlzdF1cIlxuICAgICAgICBjbGFzcz1cImxpc3RcIlxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3RoZXJBdHRyaWJ1dGVzXCIgY2RrRHJhZz57eyBpdGVtIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cCAtd2lkdGgtbGdcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiXG4gICAgICAgIChjbGljayk9XCJnb0JhY2soKVwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiJ0BwcnkuYWRtaW4uY2FuY2VsJyB8IGkxOG5cIlxuICAgICAgPjwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJ1cGRhdGVUYWJsZUF0dHJzKClcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4uY3VzdG9taXplLnVwZGF0ZVRhYmxlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2N1c3RvbWl6ZVN5bWJvbD5cbiAgICA8cHJ5LWFkbWluLWNsYXNzZXMtY3VzdG9taXplLXN5bWJvbFxuICAgICAgKGJhY2tQcmVzc2VkKT1cImdvQmFjaygpXCJcbiAgICAgIFtjdXJyZW50Q2xhc3NdPVwiY3VycmVudENsYXNzJCB8IGFzeW5jXCJcbiAgICA+PC9wcnktYWRtaW4tY2xhc3Nlcy1jdXN0b21pemUtc3ltYm9sPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2N1c3RvbWl6ZVRpbGU+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGgyPnt7ICdAcHJ5LmFkbWluLmN1c3RvbWl6ZS50aWxlJyB8IGkxOG4gfX08L2gyPlxuICAgICAgPGRpdlxuICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAjZGVmYXVsdFRpbGVzTGlzdD1cImNka0Ryb3BMaXN0XCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJkZWZhdWx0VGlsZUF0dHJpYnV0ZXNcIlxuICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJbbm90RGVmYXVsdFRpbGVzTGlzdF1cIlxuICAgICAgICBjbGFzcz1cImxpc3RcIlxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGVmYXVsdFRpbGVBdHRyaWJ1dGVzXCIgY2RrRHJhZz57eyBpdGVtIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgIDxoMj57eyAnQHByeS5hZG1pbi5jdXN0b21pemUubm9UaWxlQXR0cnMnIHwgaTE4biB9fTwvaDI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICNub3REZWZhdWx0VGlsZXNMaXN0PVwiY2RrRHJvcExpc3RcIlxuICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cIm90aGVyVGlsZUF0dHJpYnV0ZXNcIlxuICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJbZGVmYXVsdFRpbGVzTGlzdF1cIlxuICAgICAgICBjbGFzcz1cImxpc3RcIlxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3RoZXJUaWxlQXR0cmlidXRlc1wiIGNka0RyYWc+e3sgaXRlbSB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RpbGVDb25mVmFsaWQoKVwiPlxuICAgICAgICA8cD57eyAnQHByeS5hZG1pbi5jdXN0b21pemUudGlsZUhpbnQnIHwgaTE4biA6IHsgbWF4OiBtYXhUaWxlc0F0dHJpYnV0ZXMgfSB9fTwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC13aWR0aC1sZ1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCJcbiAgICAgICAgW2lubmVySFRNTF09XCInQHByeS5hZG1pbi5jYW5jZWwnIHwgaTE4blwiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInVwZGF0ZVRpbGVBdHRycygpXCIgW2Rpc2FibGVkXT1cIiFpc1RpbGVDb25mVmFsaWQoKVwiPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5jdXN0b21pemUudXBkYXRlVGlsZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3Nlcy1jdXN0b21pemUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1jbGFzc2VzL2FkbWluLWNsYXNzZXMtY3VzdG9taXplL2FkbWluLWNsYXNzZXMtY3VzdG9taXplLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS9hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBRUwsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZUFBZSxFQUVmLFlBQVksRUFDWixjQUFjLEVBQ2QsU0FBUyxFQUNULHdCQUF3QixFQUN6QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQU1yRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsd0JBQXdCO0lBYTFFLFlBQ1UsS0FBaUIsRUFDakIsTUFBYyxFQUNkLEtBQXFCO1FBRTdCLEtBQUssRUFBRSxDQUFDO1FBSkEsVUFBSyxH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RSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUMvRyxDQUFDOzhHQXhHVSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwwRkN4QjNDLHlpSUF1SEE7OzJGRC9GYSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSwgdHJhbnNmZXJBcnJheUl0ZW0gfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2xhc3MsXG4gIENsYXNzQWN0aW9ucyxcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIENvbmZpZ0FjdGlvbnMsXG4gIENvbmZpZ1NlbGVjdG9ycyxcbiAgRmllbGQsXG4gIEZpZWxkQWN0aW9ucyxcbiAgRmllbGRTZWxlY3RvcnMsXG4gIEl0ZW1VdGlscyxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBjb21iaW5lTGF0ZXN0V2l0aCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBZG1pbkNsYXNzQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5DbGFzc2VzQ3VzdG9taXplQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY3VycmVudENsYXNzJDogT2JzZXJ2YWJsZTxDbGFzcyB8IHVuZGVmaW5lZD47XG4gIGN1cnJlbnRDbGFzczogQ2xhc3MgPSB7fSBhcyBDbGFzcztcbiAgZGVmYXVsdEF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW107XG4gIG90aGVyQXR0cmlidXRlczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudFByb3BlcnRpZXNDb25maWckOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgY3VycmVudFRpbGVQcm9wZXJ0aWVzQ29uZmlnJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGNsYXNzZXMkOiBPYnNlcnZhYmxlPENsYXNzW10+ID0gb2YoW10pO1xuICBkZWZhdWx0VGlsZUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW107XG4gIG90aGVyVGlsZUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW107XG4gIG1heFRpbGVzQXR0cmlidXRlcyA9IDU7XG4gIGZpZWxkcyQ6IE9ic2VydmFibGU8RmllbGRbXT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PlxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnNlbGVjdENsYXNzKHsgY2xheno6IHsgaWQ6IHBhcmFtc1snaWQnXSB9IGFzIENsYXNzIH0pKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGFzc0FjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEZpZWxkQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkQ3VzdG9taXphdGlvbigpKTtcbiAgICB0aGlzLmZpZWxkcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpO1xuICAgIHRoaXMuY3VycmVudENsYXNzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5DbGFzc1NlbGVjdG9ycy5zZWxlY3RlZENsYXNzKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpXG4gICAgXSkucGlwZShzd2l0Y2hNYXAoKFtjbGF6eiwgX10pID0+IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzQnlJZChjbGF6ej8uaWQgPz8gJycpKSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5jdXJyZW50Q2xhc3MkLnN1YnNjcmliZSgoY2xhenopID0+ICh0aGlzLmN1cnJlbnRDbGFzcyA9IGNsYXp6ID8/ICh7fSBhcyBDbGFzcykpKSk7XG4gICAgdGhpcy5jdXJyZW50UHJvcGVydGllc0NvbmZpZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMudGFibGVEZWZhdWx0QXR0cmlidXRlc0RlZmluaXRpb25zKS5waXBlKFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5jdXJyZW50Q2xhc3MkLCB0aGlzLmZpZWxkcyQpLFxuICAgICAgbWFwKChbZGVmcywgY2xhenosIGZpZWxkc10pID0+XG4gICAgICAgIEl0ZW1VdGlscy5nZXRDbGFzc05vbkdlb0F0dHJpYnV0ZXNOYW1lcygoY2xhenogPz8geyBhdHRyaWJ1dGVzOiBbXSB9KSBhcyBDbGFzcywgZGVmcywgZmllbGRzKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuY3VycmVudFByb3BlcnRpZXNDb25maWckLnBpcGUoY29tYmluZUxhdGVzdFdpdGgodGhpcy5jdXJyZW50Q2xhc3MkKSkuc3Vic2NyaWJlKChbYXR0cnMsIGNsYXp6XSkgPT4ge1xuICAgICAgICB0aGlzLmRlZmF1bHRBdHRyaWJ1dGVzID0gc3RydWN0dXJlZENsb25lKGF0dHJzKTtcbiAgICAgICAgdGhpcy5vdGhlckF0dHJpYnV0ZXMgPSAoY2xhenogPz8geyBhdHRyaWJ1dGVzOiBbXSB9KS5hdHRyaWJ1dGVzXG4gICAgICAgICAgLmZpbHRlcigoYXR0cikgPT4gIWF0dHJzLmluY2x1ZGVzKGF0dHIubmFtZSkpXG4gICAgICAgICAgLm1hcCgoYXR0cikgPT4gYXR0ci5uYW1lKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmN1cnJlbnRUaWxlUHJvcGVydGllc0NvbmZpZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMudGlsZUF0dHJpYnV0ZXNEZWZpbml0aW9ucykucGlwZShcbiAgICAgIGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMuY3VycmVudENsYXNzJCwgdGhpcy5maWVsZHMkKSxcbiAgICAgIG1hcCgoW2RlZnMsIGNsYXp6LCBmaWVsZHNdKSA9PlxuICAgICAgICBJdGVtVXRpbHMuZ2V0Q2xhc3NOb25HZW9BdHRyaWJ1dGVzTmFtZXMoKGNsYXp6ID8/IHsgYXR0cmlidXRlczogW10gfSkgYXMgQ2xhc3MsIGRlZnMsIGZpZWxkcylcbiAgICAgICksXG4gICAgICBtYXAoKGF0dHJzKSA9PiBhdHRycy5maWx0ZXIoKF8sIGkpID0+IGkgPCB0aGlzLm1heFRpbGVzQXR0cmlidXRlcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5jdXJyZW50VGlsZVByb3BlcnRpZXNDb25maWckLnBpcGUoY29tYmluZUxhdGVzdFdpdGgodGhpcy5jdXJyZW50Q2xhc3MkKSkuc3Vic2NyaWJlKChbYXR0cnMsIGNsYXp6XSkgPT4ge1xuICAgICAgICB0aGlzLmRlZmF1bHRUaWxlQXR0cmlidXRlcyA9IHN0cnVjdHVyZWRDbG9uZShhdHRycyk7XG4gICAgICAgIHRoaXMub3RoZXJUaWxlQXR0cmlidXRlcyA9IChjbGF6eiA/PyB7IGF0dHJpYnV0ZXM6IFtdIH0pLmF0dHJpYnV0ZXNcbiAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiAhYXR0cnMuaW5jbHVkZXMoYXR0ci5uYW1lKSlcbiAgICAgICAgICAubWFwKChhdHRyKSA9PiBhdHRyLm5hbWUpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMubWF4QXR0cmlidXRlc0luVGlsZXMpLnN1YnNjcmliZSgobWF4KSA9PiB7XG4gICAgICAgIHRoaXMubWF4VGlsZXNBdHRyaWJ1dGVzID0gbWF4O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4vLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5DbGFzc0FjdGlvbnMuYmFjayh7IHBhdGg6IHBhdGgudG9TdHJpbmcoKSB9KSk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2ZlckFycmF5SXRlbShldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLCBldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB9XG4gICAgY29uc3QgdG9Tb3J0ID0gZXZlbnQucHJldmlvdXNDb250YWluZXIuaWQgPT09ICdjZGstZHJvcC1saXN0LTEnID8gZXZlbnQucHJldmlvdXNDb250YWluZXIgOiBldmVudC5jb250YWluZXI7XG4gICAgdG9Tb3J0LmRhdGEuc29ydCgoYSwgYikgPT4gYS50b0xvd2VyQ2FzZSgpLmxvY2FsZUNvbXBhcmUoYi50b0xvd2VyQ2FzZSgpKSk7XG4gIH1cblxuICB1cGRhdGVUYWJsZUF0dHJzKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBDb25maWdBY3Rpb25zLnNhdmVUYWJsZURlZmF1bHRBdHRyaWJ1dGVzKHtcbiAgICAgICAgZGVmaW5pdGlvbnM6IHsgW3RoaXMuY3VycmVudENsYXNzLmlkXTogdGhpcy5kZWZhdWx0QXR0cmlidXRlcy5zb3J0KCkgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuZ29CYWNrKCk7XG4gIH1cblxuICB1cGRhdGVUaWxlQXR0cnMoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIENvbmZpZ0FjdGlvbnMuc2F2ZVRpbGVBdHRyaWJ1dGVzKHtcbiAgICAgICAgZGVmaW5pdGlvbnM6IHsgW3RoaXMuY3VycmVudENsYXNzLmlkXTogdGhpcy5kZWZhdWx0VGlsZUF0dHJpYnV0ZXMgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuZ29CYWNrKCk7XG4gIH1cblxuICBpc1RpbGVDb25mVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFRpbGVBdHRyaWJ1dGVzLmxlbmd0aCA+IDAgJiYgdGhpcy5kZWZhdWx0VGlsZUF0dHJpYnV0ZXMubGVuZ3RoIDw9IHRoaXMubWF4VGlsZXNBdHRyaWJ1dGVzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1wcnktYWRtaW4tY2xhc3Nlcy1jdXN0b21pemVcIj5cbiAgPGgxIGNsYXNzPVwiYS1oMVwiIGlkPVwidGFiLWN1c3RvbVwiPnt7ICdAcHJ5LmFkbWluLmN1c3RvbWl6ZS50aXRsZScgfCBpMThuIH19PC9oMT5cblxuICA8cHJ5LXRhYi1ncm91cCB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmFkbWluLlwiPlxuICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJjdXN0b21pemVUZW1wbGF0ZVwiIG5hbWU9XCJjdXN0b21pemUudGVtcGxhdGVcIj48L3ByeS10YWI+XG4gICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImN1c3RvbWl6ZVRhYmxlXCIgbmFtZT1cImN1c3RvbWl6ZS50YWJsZVwiPjwvcHJ5LXRhYj5cbiAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiY3VzdG9taXplU3ltYm9sXCIgbmFtZT1cImNsYXNzZXMucnVsZXNcIj48L3ByeS10YWI+XG4gICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImN1c3RvbWl6ZVRpbGVcIiBuYW1lPVwiY3VzdG9taXplLnRpbGVcIj48L3ByeS10YWI+XG4gIDwvcHJ5LXRhYi1ncm91cD5cblxuICA8bmctdGVtcGxhdGUgI2N1c3RvbWl6ZVRlbXBsYXRlPlxuICAgIDxwcnktYWRtaW4tY2xhc3Nlcy1jdXN0b21pemUtdG9vbHRpcFxuICAgICAgKGJhY2tQcmVzc2VkKT1cImdvQmFjaygpXCJcbiAgICAgIFtjdXJyZW50Q2xhc3NdPVwiY3VycmVudENsYXNzJCB8IGFzeW5jXCJcbiAgICA+PC9wcnktYWRtaW4tY2xhc3Nlcy1jdXN0b21pemUtdG9vbHRpcD5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNjdXN0b21pemVUYWJsZT5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8aDI+e3sgJ0BwcnkuYWRtaW4uY3VzdG9taXplLnRhYmxlQXR0cnMnIHwgaTE4biB9fTwvaDI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICNkZWZhdWx0TGlzdD1cImNka0Ryb3BMaXN0XCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJkZWZhdWx0QXR0cmlidXRlc1wiXG4gICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltub3REZWZhdWx0TGlzdF1cIlxuICAgICAgICBjbGFzcz1cImxpc3RcIlxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBkZWZhdWx0QXR0cmlidXRlczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgY2RrRHJhZz57eyBpdGVtIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGgyPnt7ICdAcHJ5LmFkbWluLmN1c3RvbWl6ZS5ub1RhYmxlQXR0cnMnIHwgaTE4biB9fTwvaDI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICNub3REZWZhdWx0TGlzdD1cImNka0Ryb3BMaXN0XCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJvdGhlckF0dHJpYnV0ZXNcIlxuICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJbZGVmYXVsdExpc3RdXCJcbiAgICAgICAgY2xhc3M9XCJsaXN0XCJcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3RoZXJBdHRyaWJ1dGVzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiBjZGtEcmFnPnt7IGl0ZW0gfX08L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLXdpZHRoLWxnXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwiZ29CYWNrKClcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIidAcHJ5LmFkbWluLmNhbmNlbCcgfCBpMThuXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwidXBkYXRlVGFibGVBdHRycygpXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLmN1c3RvbWl6ZS51cGRhdGVUYWJsZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNjdXN0b21pemVTeW1ib2w+XG4gICAgPHByeS1hZG1pbi1jbGFzc2VzLWN1c3RvbWl6ZS1zeW1ib2xcbiAgICAgIChiYWNrUHJlc3NlZCk9XCJnb0JhY2soKVwiXG4gICAgICBbY3VycmVudENsYXNzXT1cImN1cnJlbnRDbGFzcyQgfCBhc3luY1wiXG4gICAgPjwvcHJ5LWFkbWluLWNsYXNzZXMtY3VzdG9taXplLXN5bWJvbD5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNjdXN0b21pemVUaWxlPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgIDxoMj57eyAnQHByeS5hZG1pbi5jdXN0b21pemUudGlsZScgfCBpMThuIH19PC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgI2RlZmF1bHRUaWxlc0xpc3Q9XCJjZGtEcm9wTGlzdFwiXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiZGVmYXVsdFRpbGVBdHRyaWJ1dGVzXCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW25vdERlZmF1bHRUaWxlc0xpc3RdXCJcbiAgICAgICAgY2xhc3M9XCJsaXN0XCJcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgZGVmYXVsdFRpbGVBdHRyaWJ1dGVzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiBjZGtEcmFnPnt7IGl0ZW0gfX08L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8aDI+e3sgJ0BwcnkuYWRtaW4uY3VzdG9taXplLm5vVGlsZUF0dHJzJyB8IGkxOG4gfX08L2gyPlxuICAgICAgPGRpdlxuICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAjbm90RGVmYXVsdFRpbGVzTGlzdD1cImNka0Ryb3BMaXN0XCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJvdGhlclRpbGVBdHRyaWJ1dGVzXCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW2RlZmF1bHRUaWxlc0xpc3RdXCJcbiAgICAgICAgY2xhc3M9XCJsaXN0XCJcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3RoZXJUaWxlQXR0cmlidXRlczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgY2RrRHJhZz57eyBpdGVtIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdj5cbiAgICAgIEBpZiAoIWlzVGlsZUNvbmZWYWxpZCgpKSB7XG4gICAgICAgIDxwPnt7ICdAcHJ5LmFkbWluLmN1c3RvbWl6ZS50aWxlSGludCcgfCBpMThuIDogeyBtYXg6IG1heFRpbGVzQXR0cmlidXRlcyB9IH19PC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC13aWR0aC1sZ1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCJcbiAgICAgICAgW2lubmVySFRNTF09XCInQHByeS5hZG1pbi5jYW5jZWwnIHwgaTE4blwiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInVwZGF0ZVRpbGVBdHRycygpXCIgW2Rpc2FibGVkXT1cIiFpc1RpbGVDb25mVmFsaWQoKVwiPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5jdXN0b21pemUudXBkYXRlVGlsZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19