@progressio_resources/gravity-design-system 3.1.9 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,10 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
3
4
  export class GravityGenericAvatarComponent {
5
+ constructor() {
6
+ this.size = 'sm';
7
+ }
4
8
  getStatus() {
5
9
  if (this.isDisabled) {
6
10
  return 'disabled';
@@ -10,16 +14,18 @@ export class GravityGenericAvatarComponent {
10
14
  }
11
15
  }
12
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityGenericAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityGenericAvatarComponent, selector: "gravity-generic-avatar", inputs: { label: "label", initials: "initials", isDisabled: "isDisabled" }, ngImport: i0, template: "<div class=\"gravity-generic-avatar {{getStatus()}}\">\n <div class=\"gravity-margin-right-xxs\">\n <span class=\"hr-body sm-regular\">{{initials}}</span>\n </div>\n <label class=\"hr-body sm-regular\">{{label}}</label>\n</div>", styles: [":host{display:block}.gravity-generic-avatar{display:flex;align-items:center}.gravity-generic-avatar div{width:24px;height:24px;display:flex;border-radius:50px;align-items:center;justify-content:center;color:var(--avatar-initials-text-color);background-color:var(--avatar-initials-backgroud-color)}.gravity-generic-avatar div span{margin-top:2px}.gravity-generic-avatar label{margin-top:2px;color:var(--avatar-label-color)}.gravity-generic-avatar.active{--avatar-label-color: var(--cl-generic-avatar-label-primary);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-primary);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-primary)}.gravity-generic-avatar.disabled{--avatar-label-color: var(--cl-generic-avatar-label-disabled);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-disabled);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-disabled)}\n"] }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityGenericAvatarComponent, selector: "gravity-generic-avatar", inputs: { label: "label", initials: "initials", isDisabled: "isDisabled", size: "size" }, ngImport: i0, template: "<div class=\"gravity-generic-avatar {{getStatus()}} {{size}}\">\n <div class=\"gravity-margin-right-xxs\">\n <span class=\"hr-body sm-bold\">{{initials}}</span>\n </div>\n <label class=\"hr-body\" [ngClass]=\"size === 'sm' ? 'sm-regular' : 'md-bold'\">{{label}}</label>\n</div>", styles: [":host{display:block}.gravity-generic-avatar{display:flex;align-items:center}.gravity-generic-avatar div{width:24px;height:24px;display:flex;border-radius:50px;align-items:center;justify-content:center;color:var(--avatar-initials-text-color);background-color:var(--avatar-initials-backgroud-color)}.gravity-generic-avatar div span{margin-top:2px}.gravity-generic-avatar label{margin-top:2px;color:var(--avatar-label-color)}.gravity-generic-avatar.md div{width:32px;height:32px}.gravity-generic-avatar.active{--avatar-label-color: var(--cl-generic-avatar-label-primary);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-primary);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-primary)}.gravity-generic-avatar.disabled{--avatar-label-color: var(--cl-generic-avatar-label-disabled);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-disabled);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
14
18
  }
15
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityGenericAvatarComponent, decorators: [{
16
20
  type: Component,
17
- args: [{ selector: 'gravity-generic-avatar', template: "<div class=\"gravity-generic-avatar {{getStatus()}}\">\n <div class=\"gravity-margin-right-xxs\">\n <span class=\"hr-body sm-regular\">{{initials}}</span>\n </div>\n <label class=\"hr-body sm-regular\">{{label}}</label>\n</div>", styles: [":host{display:block}.gravity-generic-avatar{display:flex;align-items:center}.gravity-generic-avatar div{width:24px;height:24px;display:flex;border-radius:50px;align-items:center;justify-content:center;color:var(--avatar-initials-text-color);background-color:var(--avatar-initials-backgroud-color)}.gravity-generic-avatar div span{margin-top:2px}.gravity-generic-avatar label{margin-top:2px;color:var(--avatar-label-color)}.gravity-generic-avatar.active{--avatar-label-color: var(--cl-generic-avatar-label-primary);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-primary);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-primary)}.gravity-generic-avatar.disabled{--avatar-label-color: var(--cl-generic-avatar-label-disabled);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-disabled);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-disabled)}\n"] }]
21
+ args: [{ selector: 'gravity-generic-avatar', template: "<div class=\"gravity-generic-avatar {{getStatus()}} {{size}}\">\n <div class=\"gravity-margin-right-xxs\">\n <span class=\"hr-body sm-bold\">{{initials}}</span>\n </div>\n <label class=\"hr-body\" [ngClass]=\"size === 'sm' ? 'sm-regular' : 'md-bold'\">{{label}}</label>\n</div>", styles: [":host{display:block}.gravity-generic-avatar{display:flex;align-items:center}.gravity-generic-avatar div{width:24px;height:24px;display:flex;border-radius:50px;align-items:center;justify-content:center;color:var(--avatar-initials-text-color);background-color:var(--avatar-initials-backgroud-color)}.gravity-generic-avatar div span{margin-top:2px}.gravity-generic-avatar label{margin-top:2px;color:var(--avatar-label-color)}.gravity-generic-avatar.md div{width:32px;height:32px}.gravity-generic-avatar.active{--avatar-label-color: var(--cl-generic-avatar-label-primary);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-primary);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-primary)}.gravity-generic-avatar.disabled{--avatar-label-color: var(--cl-generic-avatar-label-disabled);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-disabled);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-disabled)}\n"] }]
18
22
  }], propDecorators: { label: [{
19
23
  type: Input
20
24
  }], initials: [{
21
25
  type: Input
22
26
  }], isDisabled: [{
23
27
  type: Input
28
+ }], size: [{
29
+ type: Input
24
30
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXIvZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXIvZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLDZCQUE2QjtJQUtqQyxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sVUFBVSxDQUFDO1NBQ3BCO2FBQU07WUFDSixPQUFPLFFBQVEsQ0FBQztTQUNqQjtJQUNILENBQUM7K0dBWFUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsMElDUDFDLHFQQUtNOzs0RkRFTyw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0Usd0JBQXdCOzhCQUtsQixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktZ2VuZXJpYy1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5R2VuZXJpY0F2YXRhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdGlhbHM6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGdldFN0YXR1cygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnZGlzYWJsZWQnO1xuICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnYWN0aXZlJztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmF2aXR5LWdlbmVyaWMtYXZhdGFyIHt7Z2V0U3RhdHVzKCl9fVwiPlxuICAgIDxkaXYgY2xhc3M9XCJncmF2aXR5LW1hcmdpbi1yaWdodC14eHNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1ib2R5IHNtLXJlZ3VsYXJcIj57e2luaXRpYWxzfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGxhYmVsIGNsYXNzPVwiaHItYm9keSBzbS1yZWd1bGFyXCI+e3tsYWJlbH19PC9sYWJlbD5cbjwvZGl2PiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXIvZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXIvZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBTy9DLE1BQU0sT0FBTyw2QkFBNkI7SUFMMUM7UUFTa0IsU0FBSSxHQUFnQixJQUFJLENBQUM7S0FTMUM7SUFQUSxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sVUFBVSxDQUFDO1NBQ3BCO2FBQU07WUFDSixPQUFPLFFBQVEsQ0FBQztTQUNqQjtJQUNILENBQUM7K0dBWlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsd0pDUDFDLHVTQUtNOzs0RkRFTyw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0Usd0JBQXdCOzhCQUtsQixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhdml0eS1nZW5lcmljLWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LWdlbmVyaWMtYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS1nZW5lcmljLWF2YXRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdyYXZpdHlHZW5lcmljQXZhdGFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbml0aWFsczogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnID0gJ3NtJztcblxuICBwdWJsaWMgZ2V0U3RhdHVzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICdkaXNhYmxlZCc7XG4gICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdhY3RpdmUnO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdyYXZpdHktZ2VuZXJpYy1hdmF0YXIge3tnZXRTdGF0dXMoKX19IHt7c2l6ZX19XCI+XG4gICAgPGRpdiBjbGFzcz1cImdyYXZpdHktbWFyZ2luLXJpZ2h0LXh4c1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHkgc20tYm9sZFwiPnt7aW5pdGlhbHN9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8bGFiZWwgY2xhc3M9XCJoci1ib2R5XCIgW25nQ2xhc3NdPVwic2l6ZSA9PT0gJ3NtJyA/ICdzbS1yZWd1bGFyJyA6ICdtZC1ib2xkJ1wiPnt7bGFiZWx9fTwvbGFiZWw+XG48L2Rpdj4iXX0=
@@ -91,10 +91,11 @@ export var ICONS;
91
91
  ICONS[ICONS["unsuccess"] = 54] = "unsuccess";
92
92
  ICONS[ICONS["update"] = 55] = "update";
93
93
  ICONS[ICONS["user"] = 56] = "user";
94
- ICONS[ICONS["warning-circle"] = 57] = "warning-circle";
95
- ICONS[ICONS["hero-avatar-admin"] = 58] = "hero-avatar-admin";
96
- ICONS[ICONS["hero-avatar-regular"] = 59] = "hero-avatar-regular";
97
- ICONS[ICONS["hero-avatar-support"] = 60] = "hero-avatar-support";
98
- ICONS[ICONS["hero-avatar-blocked"] = 61] = "hero-avatar-blocked";
94
+ ICONS[ICONS["wallet"] = 57] = "wallet";
95
+ ICONS[ICONS["warning-circle"] = 58] = "warning-circle";
96
+ ICONS[ICONS["hero-avatar-admin"] = 59] = "hero-avatar-admin";
97
+ ICONS[ICONS["hero-avatar-regular"] = 60] = "hero-avatar-regular";
98
+ ICONS[ICONS["hero-avatar-support"] = 61] = "hero-avatar-support";
99
+ ICONS[ICONS["hero-avatar-blocked"] = 62] = "hero-avatar-blocked";
99
100
  })(ICONS || (ICONS = {}));
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1pY29uL2dyYXZpdHktaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktaWNvbi9ncmF2aXR5LWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQU8vQyxNQUFNLE9BQU8sb0JBQW9CO0lBUXhCLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBZ0I7UUFDdEMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQWdCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUN0QyxDQUFDOytHQWRVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHdOQ1BqQywrUEFFQTs7NEZES2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7OEJBS1IsdUJBQXVCO3NCQUF0QyxLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSzs7QUFXUixNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLCtDQUFTLENBQUE7SUFDVCxxREFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCO0FBRUQsTUFBTSxDQUFOLElBQVksS0ErRFg7QUEvREQsV0FBWSxLQUFLO0lBQ2YsNkNBQVksQ0FBQTtJQUNaLCtDQUFhLENBQUE7SUFDYiw2Q0FBWSxDQUFBO0lBQ1osNkNBQVksQ0FBQTtJQUNaLCtDQUFhLENBQUE7SUFDYix5Q0FBVSxDQUFBO0lBQ1YsaUNBQU0sQ0FBQTtJQUNOLHlDQUFVLENBQUE7SUFDVixtQ0FBTyxDQUFBO0lBQ1AsbURBQWUsQ0FBQTtJQUNmLG9DQUFPLENBQUE7SUFDUCxnRUFBcUIsQ0FBQTtJQUNyQiw0REFBbUIsQ0FBQTtJQUNuQixrQ0FBTSxDQUFBO0lBQ04sd0NBQVMsQ0FBQTtJQUNULDBDQUFVLENBQUE7SUFDViw4Q0FBWSxDQUFBO0lBQ1osMENBQVUsQ0FBQTtJQUNWLDREQUFtQixDQUFBO0lBQ25CLDBDQUFVLENBQUE7SUFDViw4Q0FBWSxDQUFBO0lBQ1osa0NBQU0sQ0FBQTtJQUNOLDhEQUFvQixDQUFBO0lBQ3BCLGdFQUFxQixDQUFBO0lBQ3JCLDBDQUFVLENBQUE7SUFDVixrQ0FBTSxDQUFBO0lBQ04sa0NBQU0sQ0FBQTtJQUNOLDBDQUFVLENBQUE7SUFDVix3Q0FBUyxDQUFBO0lBQ1Qsa0RBQWMsQ0FBQTtJQUNkLHdDQUFTLENBQUE7SUFDVCxrQ0FBTSxDQUFBO0lBQ04sZ0NBQUssQ0FBQTtJQUNMLDhCQUFJLENBQUE7SUFDSixzQ0FBUSxDQUFBO0lBQ1Isa0NBQU0sQ0FBQTtJQUNOLHdEQUFpQixDQUFBO0lBQ2pCLG9DQUFPLENBQUE7SUFDUCxvQ0FBTyxDQUFBO0lBQ1Asc0NBQVEsQ0FBQTtJQUNSLDREQUFtQixDQUFBO0lBQ25CLHNDQUFRLENBQUE7SUFDUiwwQ0FBVSxDQUFBO0lBQ1YsMENBQVUsQ0FBQTtJQUNWLDBDQUFVLENBQUE7SUFDVixrQ0FBTSxDQUFBO0lBQ04sc0RBQWdCLENBQUE7SUFDaEIsb0NBQU8sQ0FBQTtJQUNQLDBEQUFrQixDQUFBO0lBQ2xCLDREQUFtQixDQUFBO0lBQ25CLHNDQUFRLENBQUE7SUFDUixrQ0FBTSxDQUFBO0lBQ04sb0NBQU8sQ0FBQTtJQUNQLHNDQUFRLENBQUE7SUFDUiw0Q0FBVyxDQUFBO0lBQ1gsc0NBQVEsQ0FBQTtJQUNSLGtDQUFNLENBQUE7SUFDTixzREFBZ0IsQ0FBQTtJQUNoQiw0REFBbUIsQ0FBQTtJQUNuQixnRUFBcUIsQ0FBQTtJQUNyQixnRUFBcUIsQ0FBQTtJQUNyQixnRUFBcUIsQ0FBQTtBQUN2QixDQUFDLEVBL0RXLEtBQUssS0FBTCxLQUFLLFFBK0RoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LWljb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5SWNvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21JY29uQ29sb3JWYXJpYWJsZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbk5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGljb25TaXplOiAnbGctMjQnIHwgJ21kLTE2JyB8ICdzbS0xMicgfCAneGwtMzInO1xuICBASW5wdXQoKSBwdWJsaWMgaG92ZXJJY29uOiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnO1xuICBASW5wdXQoKSBwdWJsaWMgaXNDb2luOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzdGF0aWMgaXNPbGRJY29uKGljb25OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gT0xEX0lDT05TW2ljb25OYW1lXSAhPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzTmV3SWNvbihpY29uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIElDT05TW2ljb25OYW1lXSAhPSB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gT0xEX0lDT05TIHtcbiAgJ3VuY2hlY2snLFxuICAnYXJyb3ctYmFjaydcbn1cblxuZXhwb3J0IGVudW0gSUNPTlMge1xuICAnYWRkLXVwZGF0ZScsXG4gICdhZGRyZXNzYm9vaycsXG4gICdhcnJvdy1kb3duJyxcbiAgJ2Fycm93LWxlZnQnLFxuICAnYXJyb3ctcmlnaHQnLFxuICAnYXJyb3ctdXAnLFxuICAnYmVsbCcsXG4gICdjYWxlbmRhcicsXG4gICdjaGVjaycsXG4gICdjaGVja2JveC1kYXNoJyxcbiAgJ2Nsb2NrJyxcbiAgJ2NoZXZyb24tZG91YmxlLWRvd24nLFxuICAnY2hldnJvbi1kb3VibGUtdXAnLFxuICAnY29weScsXG4gICdkZXBvc2l0JyxcbiAgJ2Rvd25sb2FkJyxcbiAgJ2V5ZS1jbG9zZWQnLFxuICAnZXllLW9wZW4nLFxuICAnZXhjaGFuZ2UtcHJvdmlkZXInLFxuICAnZ3JhcGhpY3MnLFxuICAnaGFwcHktZmFjZScsXG4gICdob21lJyxcbiAgJ2luZm9ybWF0aW9uLWNpcmNsZScsXG4gICdpbnRlcm5hbC1wcm9jZXNzaW5nJyxcbiAgJ2xhbmd1YWdlJyxcbiAgJ21haWwnLFxuICAnbWVudScsXG4gICdtb25leS1pbicsXG4gICdtb25pdG9yJyxcbiAgJ21vcmUtb3B0aW9ucycsXG4gICduZXctdGFiJyxcbiAgJ25ld3MnLFxuICAnb2ZmJyxcbiAgJ29uJyxcbiAgJ3BheW91dCcsXG4gICdwbHVzJyxcbiAgJ3F1ZXN0aW9uLWNpcmNsZScsXG4gICdxdWV1ZScsXG4gICdyYXRlcycsXG4gICdyZXBvcnQnLFxuICAncmlnaHQtYW5nbGUtYXJyb3cnLFxuICAnc2VhcmNoJyxcbiAgJ3NlY3VyaXR5JyxcbiAgJ3NldHRpbmdzJyxcbiAgJ3NpZ24tb3V0JyxcbiAgJ3N0b3AnLFxuICAnc3VjY2Vzcy1jaXJjbGUnLFxuICAnc3dhcHMnLFxuICAnc3dhcHMtYXJyb3ctbGVmdCcsXG4gICdzd2Fwcy1hcnJvdy1yaWdodCcsXG4gICdzd2l0Y2gnLFxuICAndG9vbCcsXG4gICd0cmFzaCcsXG4gICd1bmxvY2snLFxuICAndW5zdWNjZXNzJyxcbiAgJ3VwZGF0ZScsXG4gICd1c2VyJyxcbiAgJ3dhcm5pbmctY2lyY2xlJyxcbiAgJ2hlcm8tYXZhdGFyLWFkbWluJyxcbiAgJ2hlcm8tYXZhdGFyLXJlZ3VsYXInLFxuICAnaGVyby1hdmF0YXItc3VwcG9ydCcsXG4gICdoZXJvLWF2YXRhci1ibG9ja2VkJ1xufVxuIiwiPHN2Zy1pY29uIFtjbGFzcy53aXRoLWhvdmVyXT1cImhvdmVySWNvblwiIGNsYXNzPVwie3tzaXplfX0ge3tpY29uU2l6ZX19XCIgW3N0eWxlLi0taWNvbi1jb2xvcl09XCJjdXN0b21JY29uQ29sb3JWYXJpYWJsZVwiXG4gICAgICAgICAgW25hbWVdPVwiaXNDb2luID8gJ2d0LWljb24tJyArIGljb25OYW1lIDogaWNvblNpemUgPyAnZ3QtaWNvbi0nICsgaWNvbk5hbWUgKyAnLScgKyBpY29uU2l6ZSA6IGljb25OYW1lXCI+PC9zdmctaWNvbj5cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1pY29uL2dyYXZpdHktaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktaWNvbi9ncmF2aXR5LWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQU8vQyxNQUFNLE9BQU8sb0JBQW9CO0lBUXhCLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBZ0I7UUFDdEMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQWdCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUN0QyxDQUFDOytHQWRVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHdOQ1BqQywrUEFFQTs7NEZES2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7OEJBS1IsdUJBQXVCO3NCQUF0QyxLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSzs7QUFXUixNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLCtDQUFTLENBQUE7SUFDVCxxREFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCO0FBRUQsTUFBTSxDQUFOLElBQVksS0FnRVg7QUFoRUQsV0FBWSxLQUFLO0lBQ2YsNkNBQVksQ0FBQTtJQUNaLCtDQUFhLENBQUE7SUFDYiw2Q0FBWSxDQUFBO0lBQ1osNkNBQVksQ0FBQTtJQUNaLCtDQUFhLENBQUE7SUFDYix5Q0FBVSxDQUFBO0lBQ1YsaUNBQU0sQ0FBQTtJQUNOLHlDQUFVLENBQUE7SUFDVixtQ0FBTyxDQUFBO0lBQ1AsbURBQWUsQ0FBQTtJQUNmLG9DQUFPLENBQUE7SUFDUCxnRUFBcUIsQ0FBQTtJQUNyQiw0REFBbUIsQ0FBQTtJQUNuQixrQ0FBTSxDQUFBO0lBQ04sd0NBQVMsQ0FBQTtJQUNULDBDQUFVLENBQUE7SUFDViw4Q0FBWSxDQUFBO0lBQ1osMENBQVUsQ0FBQTtJQUNWLDREQUFtQixDQUFBO0lBQ25CLDBDQUFVLENBQUE7SUFDViw4Q0FBWSxDQUFBO0lBQ1osa0NBQU0sQ0FBQTtJQUNOLDhEQUFvQixDQUFBO0lBQ3BCLGdFQUFxQixDQUFBO0lBQ3JCLDBDQUFVLENBQUE7SUFDVixrQ0FBTSxDQUFBO0lBQ04sa0NBQU0sQ0FBQTtJQUNOLDBDQUFVLENBQUE7SUFDVix3Q0FBUyxDQUFBO0lBQ1Qsa0RBQWMsQ0FBQTtJQUNkLHdDQUFTLENBQUE7SUFDVCxrQ0FBTSxDQUFBO0lBQ04sZ0NBQUssQ0FBQTtJQUNMLDhCQUFJLENBQUE7SUFDSixzQ0FBUSxDQUFBO0lBQ1Isa0NBQU0sQ0FBQTtJQUNOLHdEQUFpQixDQUFBO0lBQ2pCLG9DQUFPLENBQUE7SUFDUCxvQ0FBTyxDQUFBO0lBQ1Asc0NBQVEsQ0FBQTtJQUNSLDREQUFtQixDQUFBO0lBQ25CLHNDQUFRLENBQUE7SUFDUiwwQ0FBVSxDQUFBO0lBQ1YsMENBQVUsQ0FBQTtJQUNWLDBDQUFVLENBQUE7SUFDVixrQ0FBTSxDQUFBO0lBQ04sc0RBQWdCLENBQUE7SUFDaEIsb0NBQU8sQ0FBQTtJQUNQLDBEQUFrQixDQUFBO0lBQ2xCLDREQUFtQixDQUFBO0lBQ25CLHNDQUFRLENBQUE7SUFDUixrQ0FBTSxDQUFBO0lBQ04sb0NBQU8sQ0FBQTtJQUNQLHNDQUFRLENBQUE7SUFDUiw0Q0FBVyxDQUFBO0lBQ1gsc0NBQVEsQ0FBQTtJQUNSLGtDQUFNLENBQUE7SUFDTixzQ0FBUSxDQUFBO0lBQ1Isc0RBQWdCLENBQUE7SUFDaEIsNERBQW1CLENBQUE7SUFDbkIsZ0VBQXFCLENBQUE7SUFDckIsZ0VBQXFCLENBQUE7SUFDckIsZ0VBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWhFVyxLQUFLLEtBQUwsS0FBSyxRQWdFaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmF2aXR5LWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS1pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS1pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3Jhdml0eUljb25Db21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tSWNvbkNvbG9yVmFyaWFibGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGljb25OYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uU2l6ZTogJ2xnLTI0JyB8ICdtZC0xNicgfCAnc20tMTInIHwgJ3hsLTMyJztcbiAgQElucHV0KCkgcHVibGljIGhvdmVySWNvbjogYm9vbGVhbjtcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJztcbiAgQElucHV0KCkgcHVibGljIGlzQ29pbjogYm9vbGVhbjtcblxuICBwdWJsaWMgc3RhdGljIGlzT2xkSWNvbihpY29uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE9MRF9JQ09OU1tpY29uTmFtZV0gIT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc05ld0ljb24oaWNvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBJQ09OU1tpY29uTmFtZV0gIT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIE9MRF9JQ09OUyB7XG4gICd1bmNoZWNrJyxcbiAgJ2Fycm93LWJhY2snXG59XG5cbmV4cG9ydCBlbnVtIElDT05TIHtcbiAgJ2FkZC11cGRhdGUnLFxuICAnYWRkcmVzc2Jvb2snLFxuICAnYXJyb3ctZG93bicsXG4gICdhcnJvdy1sZWZ0JyxcbiAgJ2Fycm93LXJpZ2h0JyxcbiAgJ2Fycm93LXVwJyxcbiAgJ2JlbGwnLFxuICAnY2FsZW5kYXInLFxuICAnY2hlY2snLFxuICAnY2hlY2tib3gtZGFzaCcsXG4gICdjbG9jaycsXG4gICdjaGV2cm9uLWRvdWJsZS1kb3duJyxcbiAgJ2NoZXZyb24tZG91YmxlLXVwJyxcbiAgJ2NvcHknLFxuICAnZGVwb3NpdCcsXG4gICdkb3dubG9hZCcsXG4gICdleWUtY2xvc2VkJyxcbiAgJ2V5ZS1vcGVuJyxcbiAgJ2V4Y2hhbmdlLXByb3ZpZGVyJyxcbiAgJ2dyYXBoaWNzJyxcbiAgJ2hhcHB5LWZhY2UnLFxuICAnaG9tZScsXG4gICdpbmZvcm1hdGlvbi1jaXJjbGUnLFxuICAnaW50ZXJuYWwtcHJvY2Vzc2luZycsXG4gICdsYW5ndWFnZScsXG4gICdtYWlsJyxcbiAgJ21lbnUnLFxuICAnbW9uZXktaW4nLFxuICAnbW9uaXRvcicsXG4gICdtb3JlLW9wdGlvbnMnLFxuICAnbmV3LXRhYicsXG4gICduZXdzJyxcbiAgJ29mZicsXG4gICdvbicsXG4gICdwYXlvdXQnLFxuICAncGx1cycsXG4gICdxdWVzdGlvbi1jaXJjbGUnLFxuICAncXVldWUnLFxuICAncmF0ZXMnLFxuICAncmVwb3J0JyxcbiAgJ3JpZ2h0LWFuZ2xlLWFycm93JyxcbiAgJ3NlYXJjaCcsXG4gICdzZWN1cml0eScsXG4gICdzZXR0aW5ncycsXG4gICdzaWduLW91dCcsXG4gICdzdG9wJyxcbiAgJ3N1Y2Nlc3MtY2lyY2xlJyxcbiAgJ3N3YXBzJyxcbiAgJ3N3YXBzLWFycm93LWxlZnQnLFxuICAnc3dhcHMtYXJyb3ctcmlnaHQnLFxuICAnc3dpdGNoJyxcbiAgJ3Rvb2wnLFxuICAndHJhc2gnLFxuICAndW5sb2NrJyxcbiAgJ3Vuc3VjY2VzcycsXG4gICd1cGRhdGUnLFxuICAndXNlcicsXG4gICd3YWxsZXQnLFxuICAnd2FybmluZy1jaXJjbGUnLFxuICAnaGVyby1hdmF0YXItYWRtaW4nLFxuICAnaGVyby1hdmF0YXItcmVndWxhcicsXG4gICdoZXJvLWF2YXRhci1zdXBwb3J0JyxcbiAgJ2hlcm8tYXZhdGFyLWJsb2NrZWQnXG59XG4iLCI8c3ZnLWljb24gW2NsYXNzLndpdGgtaG92ZXJdPVwiaG92ZXJJY29uXCIgY2xhc3M9XCJ7e3NpemV9fSB7e2ljb25TaXplfX1cIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cImN1c3RvbUljb25Db2xvclZhcmlhYmxlXCJcbiAgICAgICAgICBbbmFtZV09XCJpc0NvaW4gPyAnZ3QtaWNvbi0nICsgaWNvbk5hbWUgOiBpY29uU2l6ZSA/ICdndC1pY29uLScgKyBpY29uTmFtZSArICctJyArIGljb25TaXplIDogaWNvbk5hbWVcIj48L3N2Zy1pY29uPlxuIl19
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
66
66
  }], selectedItems: [{
67
67
  type: Output
68
68
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ncmF2aXR5LXRyZWUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L2dyYXZpdHktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFlLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBV3pDLE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFBNEIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFIM0Msb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR2hELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDOUUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDN0M7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBaUIsRUFBRSxTQUEwQjtRQUNyRSxNQUFNLGFBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBRXRDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUF1QixFQUFFLEVBQUU7WUFDNUMsTUFBTSxTQUFTLEdBQWMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFckUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNyQixTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxRSxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUNqRDtZQUVELGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBM0RVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHlMQUZ4QixDQUFDLFdBQVcsQ0FBQywrQ0NYMUIseVBBR0E7OzRGRFVhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsYUFHbEIsQ0FBQyxXQUFXLENBQUM7a0dBS2YsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJlZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2UvdHJlZS1zZXJ2aWNlXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbiwgdGltZXJ9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge05vZGVJdGVtfSBmcm9tIFwiLi9tb2RlbHMvbm9kZS1pdGVtXCI7XG5pbXBvcnQge1RyZWVDYWxsYmFja3N9IGZyb20gXCIuL21vZGVscy90cmVlLWNhbGxiYWNrc1wiO1xuaW1wb3J0IHtOb2RlU3RhdGV9IGZyb20gXCIuL21vZGVscy9ub2RlLXN0YXRlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktdHJlZS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYXZpdHktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbVHJlZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEdyYXZpdHlUcmVlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmVlU2VydmljZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgpIGNhbGxiYWNrczogVHJlZUNhbGxiYWNrcztcbiAgQElucHV0KCkgbm9kZUl0ZW1zOiBOb2RlSXRlbTxhbnk+W107XG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0cmVlU2VydmljZTogVHJlZVNlcnZpY2UpIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlU3Vic2NyaXB0aW9uID0gdHJlZVNlcnZpY2UuY29ubmVjdCgpLnN1YnNjcmliZSgoaXRlbXM6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aW1lcigwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZW1pdChpdGVtcyk7XG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuY2FsbGJhY2tzKSB7XG4gICAgICB0aGlzLnRyZWVTZXJ2aWNlLmNhbGxiYWNrcyA9IHRoaXMuY2FsbGJhY2tzO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLm5vZGVJdGVtcykge1xuICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy50cmVlU2VydmljZS5jYWxsYmFja3MgPSB0aGlzLmNhbGxiYWNrcztcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLm5vZGVJdGVtcyA9IHRoaXMubm9kZUl0ZW1zO1xuXG4gICAgdGhpcy50cmVlU2VydmljZS50cmVlU3RhdGUgPSB0aGlzLmluaXRUcmVlU3RydWN0dXJlKG51bGwsIHRoaXMudHJlZVNlcnZpY2Uubm9kZUl0ZW1zKTtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLmNsZWFyKCk7XG4gICAgdGhpcy50cmVlU2VydmljZS5zZXRJbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRyZWVTdHJ1Y3R1cmUocGFyZW50OiBOb2RlU3RhdGUsIG5vZGVJdGVtczogTm9kZUl0ZW08YW55PltdKTogTm9kZVN0YXRlW10ge1xuICAgIGNvbnN0IHRyZWVTdHJ1Y3R1cmU6IE5vZGVTdGF0ZVtdID0gW107XG5cbiAgICBub2RlSXRlbXMuZm9yRWFjaCgobm9kZUl0ZW06IE5vZGVJdGVtPGFueT4pID0+IHtcbiAgICAgIGNvbnN0IG5vZGVTdGF0ZTogTm9kZVN0YXRlID0gVHJlZVNlcnZpY2UuaW5pdFN0YXRlKHBhcmVudCwgbm9kZUl0ZW0pO1xuXG4gICAgICBpZiAobm9kZUl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgbm9kZVN0YXRlLmNoaWxkcmVuID0gdGhpcy5pbml0VHJlZVN0cnVjdHVyZShub2RlU3RhdGUsIG5vZGVJdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgbm9kZVN0YXRlLmZpbHRlcmVkQ2hpbGRyZW4gPSBub2RlU3RhdGUuY2hpbGRyZW47XG4gICAgICB9XG5cbiAgICAgIHRyZWVTdHJ1Y3R1cmUucHVzaChub2RlU3RhdGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyZWVTdHJ1Y3R1cmU7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmlsdGVyKG5ld1ZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLmZpbHRlckNoYW5nZWQobmV3VmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbiIsIjxncmF2aXR5LXRleHQtZmllbGQgW2xhYmVsXT1cIidDaGFuZ2UgZmlsdGVyJ1wiICpuZ0lmPVwic2hvd0ZpbHRlcklucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKT1cImNoYW5nZUZpbHRlcigkZXZlbnQpXCI+PC9ncmF2aXR5LXRleHQtZmllbGQ+XG48dHJlZS1ub2RlIFtub2RlU3RhdGVdPVwic3RhdGVcIiAqbmdGb3I9XCJsZXQgc3RhdGUgb2YgdHJlZVNlcnZpY2UudHJlZVN0YXRlXCI+PC90cmVlLW5vZGU+XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ncmF2aXR5LXRyZWUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdHJlZS12aWV3L2dyYXZpdHktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFlLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBV3pDLE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFBNEIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFIM0Msb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR2hELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDOUUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDN0M7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRGLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBaUIsRUFBRSxTQUEwQjtRQUNyRSxNQUFNLGFBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBRXRDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUF1QixFQUFFLEVBQUU7WUFDNUMsTUFBTSxTQUFTLEdBQWMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFckUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNyQixTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxRSxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUNqRDtZQUVELGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBM0RVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHlMQUZ4QixDQUFDLFdBQVcsQ0FBQywrQ0NYMUIseVBBR0E7OzRGRFVhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsYUFHbEIsQ0FBQyxXQUFXLENBQUM7a0dBS2YsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJlZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2UvdHJlZS1zZXJ2aWNlXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbiwgdGltZXJ9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge05vZGVJdGVtfSBmcm9tIFwiLi9tb2RlbHMvbm9kZS1pdGVtXCI7XG5pbXBvcnQge1RyZWVDYWxsYmFja3N9IGZyb20gXCIuL21vZGVscy90cmVlLWNhbGxiYWNrc1wiO1xuaW1wb3J0IHtOb2RlU3RhdGV9IGZyb20gXCIuL21vZGVscy9ub2RlLXN0YXRlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktdHJlZS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYXZpdHktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbVHJlZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEdyYXZpdHlUcmVlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmVlU2VydmljZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgpIGNhbGxiYWNrczogVHJlZUNhbGxiYWNrcztcbiAgQElucHV0KCkgbm9kZUl0ZW1zOiBOb2RlSXRlbTxhbnk+W107XG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0cmVlU2VydmljZTogVHJlZVNlcnZpY2UpIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlU3Vic2NyaXB0aW9uID0gdHJlZVNlcnZpY2UuY29ubmVjdCgpLnN1YnNjcmliZSgoaXRlbXM6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aW1lcigwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZW1pdChpdGVtcyk7XG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuY2FsbGJhY2tzKSB7XG4gICAgICB0aGlzLnRyZWVTZXJ2aWNlLmNhbGxiYWNrcyA9IHRoaXMuY2FsbGJhY2tzO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLm5vZGVJdGVtcykge1xuICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy50cmVlU2VydmljZS5jYWxsYmFja3MgPSB0aGlzLmNhbGxiYWNrcztcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLm5vZGVJdGVtcyA9IHRoaXMubm9kZUl0ZW1zO1xuICAgIHRoaXMudHJlZVNlcnZpY2UudHJlZVN0YXRlID0gdGhpcy5pbml0VHJlZVN0cnVjdHVyZShudWxsLCB0aGlzLnRyZWVTZXJ2aWNlLm5vZGVJdGVtcyk7XG5cbiAgICB0aGlzLnRyZWVTZXJ2aWNlLmNsZWFyKCk7XG4gICAgdGhpcy50cmVlU2VydmljZS5zZXRJbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRyZWVTdHJ1Y3R1cmUocGFyZW50OiBOb2RlU3RhdGUsIG5vZGVJdGVtczogTm9kZUl0ZW08YW55PltdKTogTm9kZVN0YXRlW10ge1xuICAgIGNvbnN0IHRyZWVTdHJ1Y3R1cmU6IE5vZGVTdGF0ZVtdID0gW107XG5cbiAgICBub2RlSXRlbXMuZm9yRWFjaCgobm9kZUl0ZW06IE5vZGVJdGVtPGFueT4pID0+IHtcbiAgICAgIGNvbnN0IG5vZGVTdGF0ZTogTm9kZVN0YXRlID0gVHJlZVNlcnZpY2UuaW5pdFN0YXRlKHBhcmVudCwgbm9kZUl0ZW0pO1xuXG4gICAgICBpZiAobm9kZUl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgbm9kZVN0YXRlLmNoaWxkcmVuID0gdGhpcy5pbml0VHJlZVN0cnVjdHVyZShub2RlU3RhdGUsIG5vZGVJdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgbm9kZVN0YXRlLmZpbHRlcmVkQ2hpbGRyZW4gPSBub2RlU3RhdGUuY2hpbGRyZW47XG4gICAgICB9XG5cbiAgICAgIHRyZWVTdHJ1Y3R1cmUucHVzaChub2RlU3RhdGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyZWVTdHJ1Y3R1cmU7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmlsdGVyKG5ld1ZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLmZpbHRlckNoYW5nZWQobmV3VmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbiIsIjxncmF2aXR5LXRleHQtZmllbGQgW2xhYmVsXT1cIidDaGFuZ2UgZmlsdGVyJ1wiICpuZ0lmPVwic2hvd0ZpbHRlcklucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKT1cImNoYW5nZUZpbHRlcigkZXZlbnQpXCI+PC9ncmF2aXR5LXRleHQtZmllbGQ+XG48dHJlZS1ub2RlIFtub2RlU3RhdGVdPVwic3RhdGVcIiAqbmdGb3I9XCJsZXQgc3RhdGUgb2YgdHJlZVNlcnZpY2UudHJlZVN0YXRlXCI+PC90cmVlLW5vZGU+XG4iXX0=
@@ -21,14 +21,32 @@ export class TreeService {
21
21
  return this.selectedItemsSubject.asObservable();
22
22
  }
23
23
  setInitialState() {
24
- this.setInitialSelectedState(this.treeState);
24
+ this.setInitialSelectedState();
25
+ this.treeState.forEach(state => {
26
+ this.reEvaluateSelectedState(state);
27
+ });
28
+ this.selectedItemsSubject.next(this.selectedItems);
29
+ }
30
+ setInitialSelectedState() {
31
+ this.traverseAndInitialize(this.treeState);
32
+ this.treeState.forEach(state => {
33
+ this.reEvaluateSelectedState(state);
34
+ });
35
+ this.selectedItemsSubject.next(this.selectedItems);
25
36
  }
26
- setInitialSelectedState(nodeStates) {
27
- for (const state of nodeStates) {
28
- if (state.nodeItem.selected && (!state.children || state.children.length === 0)) {
29
- this.toggleSelectedState(state, true);
37
+ traverseAndInitialize(states) {
38
+ for (const state of states) {
39
+ if (state.nodeItem.selected && state.showCheckbox && !state.disabled) {
40
+ state.selected = true;
41
+ state.selectedState = NodeSelectedState.checked;
42
+ if (!this.selectedItems.includes(state.nodeItem.item)) {
43
+ this.selectedItems.push(state.nodeItem.item);
44
+ this.selectedStates.push(state);
45
+ }
46
+ }
47
+ if (state.children?.length) {
48
+ this.traverseAndInitialize(state.children);
30
49
  }
31
- this.setInitialSelectedState(state.children);
32
50
  }
33
51
  }
34
52
  clear() {
@@ -76,39 +94,36 @@ export class TreeService {
76
94
  if (state.showCheckbox) {
77
95
  this.addSelected(state);
78
96
  }
79
- }
80
- else if (state.selectedState === NodeSelectedState.checked) {
81
- this.setUnchecked(state, true, ignoreDisabled);
97
+ this.selectParents(state.parent);
82
98
  }
83
99
  else {
84
- if (this.anyActiveSelected(state) && !state.selected) {
85
- this.setUnchecked(state, true, ignoreDisabled);
86
- }
87
- else {
88
- state.selectedState = NodeSelectedState.checked;
89
- state.selected = true;
90
- if (state.showCheckbox) {
91
- this.addSelected(state);
92
- }
93
- }
100
+ this.setUnchecked(state, state.showCheckbox, ignoreDisabled);
94
101
  }
102
+ this.selectedItemsSubject.next(this.selectedItems);
95
103
  if (state.parent) {
96
104
  this.childStateChanged(state.parent);
97
105
  }
98
- this.selectedItemsSubject.next(this.selectedItems);
99
106
  }
100
- setUnchecked(state, propagate, ignoreDisabled) {
107
+ selectParents(state) {
108
+ while (state) {
109
+ if (state.showCheckbox) {
110
+ state.selectedState = NodeSelectedState.checked;
111
+ state.selected = true;
112
+ this.addSelected(state);
113
+ }
114
+ state = state.parent;
115
+ }
116
+ }
117
+ setUnchecked(state, propagate = false, ignoreDisabled) {
101
118
  if (state.disabled && !ignoreDisabled) {
102
119
  return;
103
120
  }
104
121
  if (state.showCheckbox) {
105
122
  state.selectedState = NodeSelectedState.unChecked;
106
123
  state.selected = false;
107
- if (TreeService.hasNoChildren(state)) {
108
- this.removeSelected(state.nodeItem.item);
109
- if (this.callbacks?.unSelect) {
110
- this.callbacks.unSelect(state.nodeItem);
111
- }
124
+ this.removeSelected(state.nodeItem.item);
125
+ if (this.callbacks?.unSelect) {
126
+ this.callbacks.unSelect(state.nodeItem);
112
127
  }
113
128
  }
114
129
  if (propagate) {
@@ -116,22 +131,25 @@ export class TreeService {
116
131
  this.setUnchecked(child, propagate, ignoreDisabled);
117
132
  }
118
133
  }
119
- if (!this.anyChildSelected(state)) {
120
- this.removeSelected(state.nodeItem.item);
134
+ if (state.parent) {
135
+ this.childStateChanged(state.parent);
121
136
  }
122
137
  }
123
138
  removeSelected(item) {
124
139
  let index = this.selectedItems.indexOf(item);
125
140
  if (index !== -1) {
126
141
  this.selectedItems.splice(index, 1);
127
- this.selectedItemsSubject.next(this.selectedItems);
128
142
  }
143
+ let stateIndex = this.selectedStates.findIndex(s => s.nodeItem.item === item);
144
+ if (stateIndex !== -1) {
145
+ this.selectedStates.splice(stateIndex, 1);
146
+ }
147
+ this.selectedItemsSubject.next(this.selectedItems);
129
148
  }
130
149
  static hasNoChildren(state) {
131
150
  return !state.children || state.children.length === 0;
132
151
  }
133
152
  addSelected(state) {
134
- // Add the current node to selectedItems
135
153
  if (this.selectedItems.indexOf(state.nodeItem.item) === -1) {
136
154
  this.selectedItems.push(state.nodeItem.item);
137
155
  this.selectedStates.push(state);
@@ -139,7 +157,6 @@ export class TreeService {
139
157
  this.callbacks.select(state.nodeItem);
140
158
  }
141
159
  }
142
- // Add all ancestors (parent, grandparent, etc.) to selectedItems
143
160
  let current = state.parent;
144
161
  while (current) {
145
162
  if (this.selectedItems.indexOf(current.nodeItem.item) === -1) {
@@ -212,15 +229,6 @@ export class TreeService {
212
229
  return state.children.every(it => it.selectedState === NodeSelectedState.checked);
213
230
  }
214
231
  }
215
- anyActiveSelected(state) {
216
- let result = state.children.filter(it => !it.disabled && it.selected).length > 0;
217
- for (const child of state.children) {
218
- if (!TreeService.hasNoChildren(child) && this.anyActiveSelected(child)) {
219
- result = true;
220
- }
221
- }
222
- return result;
223
- }
224
232
  filterChanged(value) {
225
233
  this.filterValue = value;
226
234
  this.filterChangeSubject.next(value);
@@ -231,4 +239,4 @@ export class TreeService {
231
239
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeService, decorators: [{
232
240
  type: Injectable
233
241
  }], ctorParameters: function () { return []; } });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9zZXJ2aWNlL3RyZWUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxlQUFlLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJaEUsTUFBTSxPQUFPLFdBQVc7SUFhdEI7UUFUTyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUV6QixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUd6Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELG1CQUFjLEdBQWdCLEVBQUUsQ0FBQztRQUd2QyxJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JELENB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QUFDOytHQTFRVSxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOb2RlSXRlbX0gZnJvbSAnLi4vbW9kZWxzL25vZGUtaXRlbSc7XG5pbXBvcnQge05vZGVTdGF0ZX0gZnJvbSAnLi4vbW9kZWxzL25vZGUtc3RhdGUnO1xuaW1wb3J0IHtOb2RlU2VsZWN0ZWRTdGF0ZX0gZnJvbSAnLi4vbW9kZWxzL25vZGUtc2VsZWN0ZWQtc3RhdGUnO1xuaW1wb3J0IHtUcmVlQ2FsbGJhY2tzfSBmcm9tICcuLi9tb2RlbHMvdHJlZS1jYWxsYmFja3MnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlckNoYW5nZVN1YmplY3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgY2FsbGJhY2tzOiBUcmVlQ2FsbGJhY2tzO1xuICBwdWJsaWMgZmlsdGVyVmFsdWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgbm9kZUl0ZW1zOiBOb2RlSXRlbTxhbnk+W107XG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgdHJlZVN0YXRlOiBOb2RlU3RhdGVbXTtcblxuICBwcml2YXRlIGZpbHRlckNoYW5nZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuZmlsdGVyVmFsdWUpO1xuICBwcml2YXRlIHNlbGVjdGVkSXRlbXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICBwcml2YXRlIHNlbGVjdGVkU3RhdGVzOiBOb2RlU3RhdGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZmlsdGVyQ2hhbmdlU3ViamVjdFN1YnNjcmlwdGlvbiA9IHRoaXMuZmlsdGVyQ2hhbmdlU3ViamVjdC5waXBlKGRlYm91bmNlVGltZSgzMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJUcmF2ZXJzZSh0aGlzLnRyZWVTdGF0ZSwgdGhpcy5maWx0ZXJWYWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZpbHRlckNoYW5nZVN1YmplY3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25uZWN0KCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbml0aWFsU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRJbml0aWFsU2VsZWN0ZWRTdGF0ZSh0aGlzLnRyZWVTdGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldEluaXRpYWxTZWxlY3RlZFN0YXRlKG5vZGVTdGF0ZXM6IE5vZGVTdGF0ZVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdGF0ZSBvZiBub2RlU3RhdGVzKSB7XG4gICAgICBpZiAoc3RhdGUubm9kZUl0ZW0uc2VsZWN0ZWQgJiYgKCFzdGF0ZS5jaGlsZHJlbiB8fCBzdGF0ZS5jaGlsZHJlbi5sZW5ndGggPT09IDApKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0ZWRTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0SW5pdGlhbFNlbGVjdGVkU3RhdGUoc3RhdGUuY2hpbGRyZW4pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBzdGF0ZSBvZiB0aGlzLnNlbGVjdGVkU3RhdGVzKSB7XG4gICAgICBzdGF0ZS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgc3RhdGUuc2VsZWN0ZWRTdGF0ZSA9IE5vZGVTZWxlY3RlZFN0YXRlLnVuQ2hlY2tlZDtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID0gMDtcbiAgICB0aGlzLnNlbGVjdGVkU3RhdGVzLmxlbmd0aCA9IDA7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlclRyYXZlcnNlKHN0YXRlczogTm9kZVN0YXRlW10sIGZpbHRlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IHJlc3VsdHM6IGJvb2xlYW5bXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgc3RhdGUgb2Ygc3RhdGVzKSB7XG4gICAgICBpZiAoc3RhdGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICBzdGF0ZS5oYXNGaWx0ZXJlZENoaWxkcmVuID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmhhc0ZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbHRlclRyYXZlcnNlKHN0YXRlLmNoaWxkcmVuLCBmaWx0ZXIpO1xuXG4gICAgICAgIGlmICh0aGlzLmFwcGx5RmlsdGVyKHN0YXRlLCBmaWx0ZXIpKSB7XG4gICAgICAgICAgc3RhdGUuaGFzRmlsdGVyZWRDaGlsZHJlbiA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXN1bHRzLnB1c2goc3RhdGUuaGFzRmlsdGVyZWRDaGlsZHJlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHMuc29tZSgoaXRlbTogYm9vbGVhbikgPT4gaXRlbSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RmlsdGVyKHN0YXRlOiBOb2RlU3RhdGUsIGZpbHRlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgc3RhdGUuZmlsdGVyZWRDaGlsZHJlbiA9IHRoaXMuZmlsdGVyKHN0YXRlLmNoaWxkcmVuLCBmaWx0ZXIpO1xuICAgIHJldHVybiBzdGF0ZS5maWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlcihzdGF0ZXM6IE5vZGVTdGF0ZVtdLCB2YWx1ZTogc3RyaW5nKTogTm9kZVN0YXRlW10ge1xuICAgIHJldHVybiBzdGF0ZXMuZmlsdGVyKChub2RlU3RhdGU6IE5vZGVTdGF0ZSkgPT4gbm9kZVN0YXRlLmhhc0ZpbHRlcmVkQ2hpbGRyZW4gfHwgdmFsdWUgPT09ICcnIHx8IG5vZGVTdGF0ZS5ub2RlSXRlbS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih2YWx1ZSkgIT09IC0xKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja2JveENsaWNrKHN0YXRlOiBOb2RlU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVNlbGVjdGVkU3RhdGUoc3RhdGUsIGZhbHNlKTtcblxuICAgIGlmICh0aGlzLmNhbGxiYWNrcz8udG9nZ2xlKSB7XG4gICAgICB0aGlzLmNhbGxiYWNrcy50b2dnbGUoc3RhdGUubm9kZUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlU2VsZWN0ZWRTdGF0ZShzdGF0ZTogTm9kZVN0YXRlLCBpZ25vcmVEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGF0ZS5kaXNhYmxlZCAmJiAhaWdub3JlRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGUuc2VsZWN0ZWRTdGF0ZSA9PT0gTm9kZVNlbGVjdGVkU3RhdGUudW5DaGVja2VkKSB7XG4gICAgICBzdGF0ZS5zZWxlY3RlZFN0YXRlID0gTm9kZVNlbGVjdGVkU3RhdGUuY2hlY2tlZDtcbiAgICAgIHN0YXRlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIGlmIChzdGF0ZS5zaG93Q2hlY2tib3gpIHtcbiAgICAgICAgdGhpcy5hZGRTZWxlY3RlZChzdGF0ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChzdGF0ZS5zZWxlY3RlZFN0YXRlID09PSBOb2RlU2VsZWN0ZWRTdGF0ZS5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNldFVuY2hlY2tlZChzdGF0ZSwgdHJ1ZSwgaWdub3JlRGlzYWJsZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5hbnlBY3RpdmVTZWxlY3RlZChzdGF0ZSkgJiYgIXN0YXRlLnNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuc2V0VW5jaGVja2VkKHN0YXRlLCB0cnVlLCBpZ25vcmVEaXNhYmxlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0ZS5zZWxlY3RlZFN0YXRlID0gTm9kZVNlbGVjdGVkU3RhdGUuY2hlY2tlZDtcbiAgICAgICAgc3RhdGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICBpZiAoc3RhdGUuc2hvd0NoZWNrYm94KSB7XG4gICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZChzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGUucGFyZW50KSB7XG4gICAgICB0aGlzLmNoaWxkU3RhdGVDaGFuZ2VkKHN0YXRlLnBhcmVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zU3ViamVjdC5uZXh0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gIH1cblxuICBwcml2YXRlIHNldFVuY2hlY2tlZChzdGF0ZTogTm9kZVN0YXRlLCBwcm9wYWdhdGU6IGJvb2xlYW4sIGlnbm9yZURpc2FibGVkPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGF0ZS5kaXNhYmxlZCAmJiAhaWdub3JlRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGUuc2hvd0NoZWNrYm94KSB7XG4gICAgICBzdGF0ZS5zZWxlY3RlZFN0YXRlID0gTm9kZVNlbGVjdGVkU3RhdGUudW5DaGVja2VkO1xuICAgICAgc3RhdGUuc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgICAgaWYgKFRyZWVTZXJ2aWNlLmhhc05vQ2hpbGRyZW4oc3RhdGUpKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWQoc3RhdGUubm9kZUl0ZW0uaXRlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMuY2FsbGJhY2tzPy51blNlbGVjdCkge1xuICAgICAgICAgIHRoaXMuY2FsbGJhY2tzLnVuU2VsZWN0KHN0YXRlLm5vZGVJdGVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wYWdhdGUpIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygc3RhdGUuY2hpbGRyZW4pIHtcbiAgICAgICAgdGhpcy5zZXRVbmNoZWNrZWQoY2hpbGQsIHByb3BhZ2F0ZSwgaWdub3JlRGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hbnlDaGlsZFNlbGVjdGVkKHN0YXRlKSkge1xuICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZChzdGF0ZS5ub2RlSXRlbS5pdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVNlbGVjdGVkKGl0ZW06IGFueSk6IHZvaWQge1xuICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zU3ViamVjdC5uZXh0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaGFzTm9DaGlsZHJlbihzdGF0ZTogTm9kZVN0YXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFzdGF0ZS5jaGlsZHJlbiB8fCBzdGF0ZS5jaGlsZHJlbi5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwcml2YXRlIGFkZFNlbGVjdGVkKHN0YXRlOiBOb2RlU3RhdGUpOiB2b2lkIHtcbiAgICAvLyBBZGQgdGhlIGN1cnJlbnQgbm9kZSB0byBzZWxlY3RlZEl0ZW1zXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmRleE9mKHN0YXRlLm5vZGVJdGVtLml0ZW0pID09PSAtMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goc3RhdGUubm9kZUl0ZW0uaXRlbSk7XG4gICAgICB0aGlzLnNlbGVjdGVkU3RhdGVzLnB1c2goc3RhdGUpO1xuICAgICAgaWYgKHRoaXMuY2FsbGJhY2tzPy5zZWxlY3QpIHtcbiAgICAgICAgdGhpcy5jYWxsYmFja3Muc2VsZWN0KHN0YXRlLm5vZGVJdGVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgYWxsIGFuY2VzdG9ycyAocGFyZW50LCBncmFuZHBhcmVudCwgZXRjLikgdG8gc2VsZWN0ZWRJdGVtc1xuICAgIGxldCBjdXJyZW50ID0gc3RhdGUucGFyZW50O1xuICAgIHdoaWxlIChjdXJyZW50KSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zLmluZGV4T2YoY3VycmVudC5ub2RlSXRlbS5pdGVtKSA9PT0gLTEpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goY3VycmVudC5ub2RlSXRlbS5pdGVtKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN0YXRlcy5wdXNoKGN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgY3VycmVudCA9IGN1cnJlbnQucGFyZW50O1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1N1YmplY3QubmV4dCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICB9XG5cbiAgcHVibGljIHJlRXZhbHVhdGVTZWxlY3RlZFN0YXRlKHN0YXRlOiBOb2RlU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAoIVRyZWVTZXJ2aWNlLmhhc05vQ2hpbGRyZW4oc3RhdGUpKSB7XG4gICAgICB0aGlzLmNoaWxkU3RhdGVDaGFuZ2VkKHN0YXRlKTtcblxuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBzdGF0ZS5jaGlsZHJlbikge1xuICAgICAgICB0aGlzLnJlRXZhbHVhdGVTZWxlY3RlZFN0YXRlKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoaWxkU3RhdGVDaGFuZ2VkKHN0YXRlOiBOb2RlU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hbnlDaGlsZFNlbGVjdGVkKHN0YXRlKSkge1xuICAgICAgaWYgKHRoaXMuYWxsQ2hpbGRyZW5TZWxlY3RlZChzdGF0ZSkpIHtcbiAgICAgICAgaWYgKHN0YXRlLnNob3dDaGVja2JveCkge1xuICAgICAgICAgIHN0YXRlLnNlbGVjdGVkU3RhdGUgPSBOb2RlU2VsZWN0ZWRTdGF0ZS5jaGVja2VkO1xuICAgICAgICAgIHN0YXRlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoc3RhdGUubm9kZUl0ZW0uaWQgIT09ICcwJyAmJiB0aGlzLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihzdGF0ZS5ub2RlSXRlbS5pdGVtKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHN0YXRlLm5vZGVJdGVtLml0ZW0pO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN0YXRlcy5wdXNoKHN0YXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUuc2VsZWN0ZWRTdGF0ZSA9IE5vZGVTZWxlY3RlZFN0YXRlLmluZGV0ZXJtaW5hdGU7XG4gICAgICAgICAgc3RhdGUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUuc2VsZWN0ZWRTdGF0ZSA9IE5vZGVTZWxlY3RlZFN0YXRlLmluZGV0ZXJtaW5hdGU7XG4gICAgICAgIHN0YXRlLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghc3RhdGUuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuc2V0VW5jaGVja2VkKHN0YXRlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlLnBhcmVudCkge1xuICAgICAgdGhpcy5jaGlsZFN0YXRlQ2hhbmdlZChzdGF0ZS5wYXJlbnQpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1N1YmplY3QubmV4dCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhbnlDaGlsZFNlbGVjdGVkKHN0YXRlOiBOb2RlU3RhdGUpOiBib29sZWFuIHtcblxuXG4gICAgcmV0dXJuIHN0YXRlLmNoaWxkcmVuLmZpbmQoKGl0ZW06IE5vZGVTdGF0ZSkgPT4gaXRlbS5zZWxlY3RlZFN0YXRlID09PSBOb2RlU2VsZWN0ZWRTdGF0ZS5jaGVja2VkIHx8IGl0ZW0uc2VsZWN0ZWRTdGF0ZSA9PT0gTm9kZVNlbGVjdGVkU3RhdGUuaW5kZXRlcm1pbmF0ZSkgIT0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaW5pdFN0YXRlKHBhcmVudDogTm9kZVN0YXRlLCBub2RlSXRlbTogTm9kZUl0ZW08YW55Pik6IE5vZGVTdGF0ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmVudDogcGFyZW50LFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgZmlsdGVyZWRDaGlsZHJlbjogW10sXG4gICAgICBoYXNGaWx0ZXJlZENoaWxkcmVuOiBmYWxzZSxcbiAgICAgIG5vZGVJdGVtOiBub2RlSXRlbSxcbiAgICAgIGV4cGFuZGVkOiBub2RlSXRlbS5leHBhbmRlZCAhPT0gZmFsc2UsXG4gICAgICBkaXNhYmxlZDogbm9kZUl0ZW0uZGlzYWJsZWQgPT09IHRydWUsXG4gICAgICBzZWxlY3RlZFN0YXRlOiBOb2RlU2VsZWN0ZWRTdGF0ZS51bkNoZWNrZWQsXG4gICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICBzaG93Q2hlY2tib3g6IG5vZGVJdGVtLnNob3dDaGVja2JveFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFsbENoaWxkcmVuU2VsZWN0ZWQoc3RhdGU6IE5vZGVTdGF0ZSk6IGJvb2xlYW4ge1xuICAgIGlmIChzdGF0ZS5ub2RlSXRlbS5jaGlsZHJlbikge1xuICAgICAgcmV0dXJuIHN0YXRlLmNoaWxkcmVuLmV2ZXJ5KGl0ID0+IGl0LnNlbGVjdGVkU3RhdGUgPT09IE5vZGVTZWxlY3RlZFN0YXRlLmNoZWNrZWQpICYmIHN0YXRlLmNoaWxkcmVuLmxlbmd0aCA9PT0gc3RhdGUubm9kZUl0ZW0uY2hpbGRyZW4ubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3RhdGUuY2hpbGRyZW4uZXZlcnkoaXQgPT4gaXQuc2VsZWN0ZWRTdGF0ZSA9PT0gTm9kZVNlbGVjdGVkU3RhdGUuY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhbnlBY3RpdmVTZWxlY3RlZChzdGF0ZTogTm9kZVN0YXRlKTogYm9vbGVhbiB7XG4gICAgbGV0IHJlc3VsdCA9IHN0YXRlLmNoaWxkcmVuLmZpbHRlcihpdCA9PiAhaXQuZGlzYWJsZWQgJiYgaXQuc2VsZWN0ZWQpLmxlbmd0aCA+IDA7XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHN0YXRlLmNoaWxkcmVuKSB7XG4gICAgICBpZiAoIVRyZWVTZXJ2aWNlLmhhc05vQ2hpbGRyZW4oY2hpbGQpICYmIHRoaXMuYW55QWN0aXZlU2VsZWN0ZWQoY2hpbGQpKSB7XG4gICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJDaGFuZ2VkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbHRlclZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2VTdWJqZWN0Lm5leHQodmFsdWUpO1xuICB9XG59XG4iXX0=
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9zZXJ2aWNlL3RyZWUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxlQUFlLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJaEUsTUFBTSxPQUFPLFdBQVc7SUFhdEI7UUFUTyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUV6QixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUd6Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlELG1CQUFjLEdBQWdCLEVBQUUsQ0FBQztRQUd2QyxJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JELENB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QUFDLGFBQWEsS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7U0FDL0k7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxLQUFLLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ25GO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzsrR0ExUlUsV0FBVzttSEFBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWR9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Tm9kZUl0ZW19IGZyb20gJy4uL21vZGVscy9ub2RlLWl0ZW0nO1xuaW1wb3J0IHtOb2RlU3RhdGV9IGZyb20gJy4uL21vZGVscy9ub2RlLXN0YXRlJztcbmltcG9ydCB7Tm9kZVNlbGVjdGVkU3RhdGV9IGZyb20gJy4uL21vZGVscy9ub2RlLXNlbGVjdGVkLXN0YXRlJztcbmltcG9ydCB7VHJlZUNhbGxiYWNrc30gZnJvbSAnLi4vbW9kZWxzL3RyZWUtY2FsbGJhY2tzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyZWVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJDaGFuZ2VTdWJqZWN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIGNhbGxiYWNrczogVHJlZUNhbGxiYWNrcztcbiAgcHVibGljIGZpbHRlclZhbHVlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIG5vZGVJdGVtczogTm9kZUl0ZW08YW55PltdO1xuICBwdWJsaWMgc2VsZWN0ZWRJdGVtczogYW55W10gPSBbXTtcbiAgcHVibGljIHRyZWVTdGF0ZTogTm9kZVN0YXRlW107XG5cbiAgcHJpdmF0ZSBmaWx0ZXJDaGFuZ2VTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmZpbHRlclZhbHVlKTtcbiAgcHVibGljIHNlbGVjdGVkSXRlbXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICBwcml2YXRlIHNlbGVjdGVkU3RhdGVzOiBOb2RlU3RhdGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZmlsdGVyQ2hhbmdlU3ViamVjdFN1YnNjcmlwdGlvbiA9IHRoaXMuZmlsdGVyQ2hhbmdlU3ViamVjdC5waXBlKGRlYm91bmNlVGltZSgzMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJUcmF2ZXJzZSh0aGlzLnRyZWVTdGF0ZSwgdGhpcy5maWx0ZXJWYWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZpbHRlckNoYW5nZVN1YmplY3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25uZWN0KCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbml0aWFsU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRJbml0aWFsU2VsZWN0ZWRTdGF0ZSgpO1xuXG4gICAgdGhpcy50cmVlU3RhdGUuZm9yRWFjaChzdGF0ZSA9PiB7XG4gICAgICB0aGlzLnJlRXZhbHVhdGVTZWxlY3RlZFN0YXRlKHN0YXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1N1YmplY3QubmV4dCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICB9XG5cbiAgcHVibGljIHNldEluaXRpYWxTZWxlY3RlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMudHJhdmVyc2VBbmRJbml0aWFsaXplKHRoaXMudHJlZVN0YXRlKTtcblxuICAgIHRoaXMudHJlZVN0YXRlLmZvckVhY2goc3RhdGUgPT4ge1xuICAgICAgdGhpcy5yZUV2YWx1YXRlU2VsZWN0ZWRTdGF0ZShzdGF0ZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNTdWJqZWN0Lm5leHQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhdmVyc2VBbmRJbml0aWFsaXplKHN0YXRlczogTm9kZVN0YXRlW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN0YXRlIG9mIHN0YXRlcykge1xuICAgICAgaWYgKHN0YXRlLm5vZGVJdGVtLnNlbGVjdGVkICYmIHN0YXRlLnNob3dDaGVja2JveCAmJiAhc3RhdGUuZGlzYWJsZWQpIHtcbiAgICAgICAgc3RhdGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5zZWxlY3RlZFN0YXRlID0gTm9kZVNlbGVjdGVkU3RhdGUuY2hlY2tlZDtcblxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhzdGF0ZS5ub2RlSXRlbS5pdGVtKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHN0YXRlLm5vZGVJdGVtLml0ZW0pO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdGF0ZXMucHVzaChzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN0YXRlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy50cmF2ZXJzZUFuZEluaXRpYWxpemUoc3RhdGUuY2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIGZvciAobGV0IHN0YXRlIG9mIHRoaXMuc2VsZWN0ZWRTdGF0ZXMpIHtcbiAgICAgIHN0YXRlLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICBzdGF0ZS5zZWxlY3RlZFN0YXRlID0gTm9kZVNlbGVjdGVkU3RhdGUudW5DaGVja2VkO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPSAwO1xuICAgIHRoaXMuc2VsZWN0ZWRTdGF0ZXMubGVuZ3RoID0gMDtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVHJhdmVyc2Uoc3RhdGVzOiBOb2RlU3RhdGVbXSwgZmlsdGVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0czogYm9vbGVhbltdID0gW107XG5cbiAgICBmb3IgKGxldCBzdGF0ZSBvZiBzdGF0ZXMpIHtcbiAgICAgIGlmIChzdGF0ZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIHN0YXRlLmhhc0ZpbHRlcmVkQ2hpbGRyZW4gPSBmYWxzZTtcbiAgICAgICAgc3RhdGUuaGFzRmlsdGVyZWRDaGlsZHJlbiA9IHRoaXMuZmlsdGVyVHJhdmVyc2Uoc3RhdGUuY2hpbGRyZW4sIGZpbHRlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuYXBwbHlGaWx0ZXIoc3RhdGUsIGZpbHRlcikpIHtcbiAgICAgICAgICBzdGF0ZS5oYXNGaWx0ZXJlZENoaWxkcmVuID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdHMucHVzaChzdGF0ZS5oYXNGaWx0ZXJlZENoaWxkcmVuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0cy5zb21lKChpdGVtOiBib29sZWFuKSA9PiBpdGVtKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWx0ZXIoc3RhdGU6IE5vZGVTdGF0ZSwgZmlsdGVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBzdGF0ZS5maWx0ZXJlZENoaWxkcmVuID0gdGhpcy5maWx0ZXIoc3RhdGUuY2hpbGRyZW4sIGZpbHRlcik7XG4gICAgcmV0dXJuIHN0YXRlLmZpbHRlcmVkQ2hpbGRyZW4ubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyKHN0YXRlczogTm9kZVN0YXRlW10sIHZhbHVlOiBzdHJpbmcpOiBOb2RlU3RhdGVbXSB7XG4gICAgcmV0dXJuIHN0YXRlcy5maWx0ZXIoKG5vZGVTdGF0ZTogTm9kZVN0YXRlKSA9PiBub2RlU3RhdGUuaGFzRmlsdGVyZWRDaGlsZHJlbiB8fCB2YWx1ZSA9PT0gJycgfHwgbm9kZVN0YXRlLm5vZGVJdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHZhbHVlKSAhPT0gLTEpO1xuICB9XG5cbiAgcHVibGljIGNoZWNrYm94Q2xpY2soc3RhdGU6IE5vZGVTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU2VsZWN0ZWRTdGF0ZShzdGF0ZSwgZmFsc2UpO1xuXG4gICAgaWYgKHRoaXMuY2FsbGJhY2tzPy50b2dnbGUpIHtcbiAgICAgIHRoaXMuY2FsbGJhY2tzLnRvZ2dsZShzdGF0ZS5ub2RlSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVTZWxlY3RlZFN0YXRlKHN0YXRlOiBOb2RlU3RhdGUsIGlnbm9yZURpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHN0YXRlLmRpc2FibGVkICYmICFpZ25vcmVEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZS5zZWxlY3RlZFN0YXRlID09PSBOb2RlU2VsZWN0ZWRTdGF0ZS51bkNoZWNrZWQpIHtcbiAgICAgIHN0YXRlLnNlbGVjdGVkU3RhdGUgPSBOb2RlU2VsZWN0ZWRTdGF0ZS5jaGVja2VkO1xuICAgICAgc3RhdGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgaWYgKHN0YXRlLnNob3dDaGVja2JveCkge1xuICAgICAgICB0aGlzLmFkZFNlbGVjdGVkKHN0YXRlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0UGFyZW50cyhzdGF0ZS5wYXJlbnQpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMuc2V0VW5jaGVja2VkKHN0YXRlLCBzdGF0ZS5zaG93Q2hlY2tib3gsIGlnbm9yZURpc2FibGVkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNTdWJqZWN0Lm5leHQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcblxuICAgIGlmIChzdGF0ZS5wYXJlbnQpIHtcbiAgICAgIHRoaXMuY2hpbGRTdGF0ZUNoYW5nZWQoc3RhdGUucGFyZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdFBhcmVudHMoc3RhdGU6IE5vZGVTdGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICB3aGlsZSAoc3RhdGUpIHtcbiAgICAgIGlmIChzdGF0ZS5zaG93Q2hlY2tib3gpIHtcbiAgICAgICAgc3RhdGUuc2VsZWN0ZWRTdGF0ZSA9IE5vZGVTZWxlY3RlZFN0YXRlLmNoZWNrZWQ7XG4gICAgICAgIHN0YXRlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hZGRTZWxlY3RlZChzdGF0ZSk7XG4gICAgICB9XG4gICAgICBzdGF0ZSA9IHN0YXRlLnBhcmVudDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFVuY2hlY2tlZChzdGF0ZTogTm9kZVN0YXRlLCBwcm9wYWdhdGU6IGJvb2xlYW4gPSBmYWxzZSwgaWdub3JlRGlzYWJsZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHN0YXRlLmRpc2FibGVkICYmICFpZ25vcmVEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZS5zaG93Q2hlY2tib3gpIHtcbiAgICAgIHN0YXRlLnNlbGVjdGVkU3RhdGUgPSBOb2RlU2VsZWN0ZWRTdGF0ZS51bkNoZWNrZWQ7XG4gICAgICBzdGF0ZS5zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkKHN0YXRlLm5vZGVJdGVtLml0ZW0pO1xuXG4gICAgICBpZiAodGhpcy5jYWxsYmFja3M/LnVuU2VsZWN0KSB7XG4gICAgICAgIHRoaXMuY2FsbGJhY2tzLnVuU2VsZWN0KHN0YXRlLm5vZGVJdGVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJvcGFnYXRlKSB7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHN0YXRlLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuc2V0VW5jaGVja2VkKGNoaWxkLCBwcm9wYWdhdGUsIGlnbm9yZURpc2FibGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGUucGFyZW50KSB7XG4gICAgICB0aGlzLmNoaWxkU3RhdGVDaGFuZ2VkKHN0YXRlLnBhcmVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVTZWxlY3RlZChpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gICAgbGV0IHN0YXRlSW5kZXggPSB0aGlzLnNlbGVjdGVkU3RhdGVzLmZpbmRJbmRleChzID0+IHMubm9kZUl0ZW0uaXRlbSA9PT0gaXRlbSk7XG4gICAgaWYgKHN0YXRlSW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU3RhdGVzLnNwbGljZShzdGF0ZUluZGV4LCAxKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zU3ViamVjdC5uZXh0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBoYXNOb0NoaWxkcmVuKHN0YXRlOiBOb2RlU3RhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXN0YXRlLmNoaWxkcmVuIHx8IHN0YXRlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkU2VsZWN0ZWQoc3RhdGU6IE5vZGVTdGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihzdGF0ZS5ub2RlSXRlbS5pdGVtKSA9PT0gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKHN0YXRlLm5vZGVJdGVtLml0ZW0pO1xuICAgICAgdGhpcy5zZWxlY3RlZFN0YXRlcy5wdXNoKHN0YXRlKTtcbiAgICAgIGlmICh0aGlzLmNhbGxiYWNrcz8uc2VsZWN0KSB7XG4gICAgICAgIHRoaXMuY2FsbGJhY2tzLnNlbGVjdChzdGF0ZS5ub2RlSXRlbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGN1cnJlbnQgPSBzdGF0ZS5wYXJlbnQ7XG4gICAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihjdXJyZW50Lm5vZGVJdGVtLml0ZW0pID09PSAtMSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChjdXJyZW50Lm5vZGVJdGVtLml0ZW0pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3RhdGVzLnB1c2goY3VycmVudCk7XG4gICAgICB9XG4gICAgICBjdXJyZW50ID0gY3VycmVudC5wYXJlbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zU3ViamVjdC5uZXh0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gIH1cblxuICBwdWJsaWMgcmVFdmFsdWF0ZVNlbGVjdGVkU3RhdGUoc3RhdGU6IE5vZGVTdGF0ZSk6IHZvaWQge1xuICAgIGlmICghVHJlZVNlcnZpY2UuaGFzTm9DaGlsZHJlbihzdGF0ZSkpIHtcbiAgICAgIHRoaXMuY2hpbGRTdGF0ZUNoYW5nZWQoc3RhdGUpO1xuXG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHN0YXRlLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMucmVFdmFsdWF0ZVNlbGVjdGVkU3RhdGUoY2hpbGQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hpbGRTdGF0ZUNoYW5nZWQoc3RhdGU6IE5vZGVTdGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFueUNoaWxkU2VsZWN0ZWQoc3RhdGUpKSB7XG4gICAgICBpZiAodGhpcy5hbGxDaGlsZHJlblNlbGVjdGVkKHN0YXRlKSkge1xuICAgICAgICBpZiAoc3RhdGUuc2hvd0NoZWNrYm94KSB7XG4gICAgICAgICAgc3RhdGUuc2VsZWN0ZWRTdGF0ZSA9IE5vZGVTZWxlY3RlZFN0YXRlLmNoZWNrZWQ7XG4gICAgICAgICAgc3RhdGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgIGlmIChzdGF0ZS5ub2RlSXRlbS5pZCAhPT0gJzAnICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmRleE9mKHN0YXRlLm5vZGVJdGVtLml0ZW0pID09PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goc3RhdGUubm9kZUl0ZW0uaXRlbSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3RhdGVzLnB1c2goc3RhdGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZS5zZWxlY3RlZFN0YXRlID0gTm9kZVNlbGVjdGVkU3RhdGUuaW5kZXRlcm1pbmF0ZTtcbiAgICAgICAgICBzdGF0ZS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0ZS5zZWxlY3RlZFN0YXRlID0gTm9kZVNlbGVjdGVkU3RhdGUuaW5kZXRlcm1pbmF0ZTtcbiAgICAgICAgc3RhdGUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFzdGF0ZS5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5zZXRVbmNoZWNrZWQoc3RhdGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGUucGFyZW50KSB7XG4gICAgICB0aGlzLmNoaWxkU3RhdGVDaGFuZ2VkKHN0YXRlLnBhcmVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zU3ViamVjdC5uZXh0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gIH1cblxuICBwcml2YXRlIGFueUNoaWxkU2VsZWN0ZWQoc3RhdGU6IE5vZGVTdGF0ZSk6IGJvb2xlYW4ge1xuXG5cbiAgICByZXR1cm4gc3RhdGUuY2hpbGRyZW4uZmluZCgoaXRlbTogTm9kZVN0YXRlKSA9PiBpdGVtLnNlbGVjdGVkU3RhdGUgPT09IE5vZGVTZWxlY3RlZFN0YXRlLmNoZWNrZWQgfHwgaXRlbS5zZWxlY3RlZFN0YXRlID09PSBOb2RlU2VsZWN0ZWRTdGF0ZS5pbmRldGVybWluYXRlKSAhPSBudWxsO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpbml0U3RhdGUocGFyZW50OiBOb2RlU3RhdGUsIG5vZGVJdGVtOiBOb2RlSXRlbTxhbnk+KTogTm9kZVN0YXRlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyZW50OiBwYXJlbnQsXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgICBmaWx0ZXJlZENoaWxkcmVuOiBbXSxcbiAgICAgIGhhc0ZpbHRlcmVkQ2hpbGRyZW46IGZhbHNlLFxuICAgICAgbm9kZUl0ZW06IG5vZGVJdGVtLFxuICAgICAgZXhwYW5kZWQ6IG5vZGVJdGVtLmV4cGFuZGVkICE9PSBmYWxzZSxcbiAgICAgIGRpc2FibGVkOiBub2RlSXRlbS5kaXNhYmxlZCA9PT0gdHJ1ZSxcbiAgICAgIHNlbGVjdGVkU3RhdGU6IE5vZGVTZWxlY3RlZFN0YXRlLnVuQ2hlY2tlZCxcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIHNob3dDaGVja2JveDogbm9kZUl0ZW0uc2hvd0NoZWNrYm94XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYWxsQ2hpbGRyZW5TZWxlY3RlZChzdGF0ZTogTm9kZVN0YXRlKTogYm9vbGVhbiB7XG4gICAgaWYgKHN0YXRlLm5vZGVJdGVtLmNoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gc3RhdGUuY2hpbGRyZW4uZXZlcnkoaXQgPT4gaXQuc2VsZWN0ZWRTdGF0ZSA9PT0gTm9kZVNlbGVjdGVkU3RhdGUuY2hlY2tlZCkgJiYgc3RhdGUuY2hpbGRyZW4ubGVuZ3RoID09PSBzdGF0ZS5ub2RlSXRlbS5jaGlsZHJlbi5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzdGF0ZS5jaGlsZHJlbi5ldmVyeShpdCA9PiBpdC5zZWxlY3RlZFN0YXRlID09PSBOb2RlU2VsZWN0ZWRTdGF0ZS5jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyQ2hhbmdlZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5maWx0ZXJWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuZmlsdGVyQ2hhbmdlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -112,11 +112,12 @@ var ICONS;
112
112
  ICONS[ICONS["unsuccess"] = 54] = "unsuccess";
113
113
  ICONS[ICONS["update"] = 55] = "update";
114
114
  ICONS[ICONS["user"] = 56] = "user";
115
- ICONS[ICONS["warning-circle"] = 57] = "warning-circle";
116
- ICONS[ICONS["hero-avatar-admin"] = 58] = "hero-avatar-admin";
117
- ICONS[ICONS["hero-avatar-regular"] = 59] = "hero-avatar-regular";
118
- ICONS[ICONS["hero-avatar-support"] = 60] = "hero-avatar-support";
119
- ICONS[ICONS["hero-avatar-blocked"] = 61] = "hero-avatar-blocked";
115
+ ICONS[ICONS["wallet"] = 57] = "wallet";
116
+ ICONS[ICONS["warning-circle"] = 58] = "warning-circle";
117
+ ICONS[ICONS["hero-avatar-admin"] = 59] = "hero-avatar-admin";
118
+ ICONS[ICONS["hero-avatar-regular"] = 60] = "hero-avatar-regular";
119
+ ICONS[ICONS["hero-avatar-support"] = 61] = "hero-avatar-support";
120
+ ICONS[ICONS["hero-avatar-blocked"] = 62] = "hero-avatar-blocked";
120
121
  })(ICONS || (ICONS = {}));
121
122
 
122
123
  class GravityButtonComponent {
@@ -4965,14 +4966,32 @@ class TreeService {
4965
4966
  return this.selectedItemsSubject.asObservable();
4966
4967
  }
4967
4968
  setInitialState() {
4968
- this.setInitialSelectedState(this.treeState);
4969
+ this.setInitialSelectedState();
4970
+ this.treeState.forEach(state => {
4971
+ this.reEvaluateSelectedState(state);
4972
+ });
4973
+ this.selectedItemsSubject.next(this.selectedItems);
4974
+ }
4975
+ setInitialSelectedState() {
4976
+ this.traverseAndInitialize(this.treeState);
4977
+ this.treeState.forEach(state => {
4978
+ this.reEvaluateSelectedState(state);
4979
+ });
4980
+ this.selectedItemsSubject.next(this.selectedItems);
4969
4981
  }
4970
- setInitialSelectedState(nodeStates) {
4971
- for (const state of nodeStates) {
4972
- if (state.nodeItem.selected && (!state.children || state.children.length === 0)) {
4973
- this.toggleSelectedState(state, true);
4982
+ traverseAndInitialize(states) {
4983
+ for (const state of states) {
4984
+ if (state.nodeItem.selected && state.showCheckbox && !state.disabled) {
4985
+ state.selected = true;
4986
+ state.selectedState = NodeSelectedState.checked;
4987
+ if (!this.selectedItems.includes(state.nodeItem.item)) {
4988
+ this.selectedItems.push(state.nodeItem.item);
4989
+ this.selectedStates.push(state);
4990
+ }
4991
+ }
4992
+ if (state.children?.length) {
4993
+ this.traverseAndInitialize(state.children);
4974
4994
  }
4975
- this.setInitialSelectedState(state.children);
4976
4995
  }
4977
4996
  }
4978
4997
  clear() {
@@ -5020,39 +5039,36 @@ class TreeService {
5020
5039
  if (state.showCheckbox) {
5021
5040
  this.addSelected(state);
5022
5041
  }
5023
- }
5024
- else if (state.selectedState === NodeSelectedState.checked) {
5025
- this.setUnchecked(state, true, ignoreDisabled);
5042
+ this.selectParents(state.parent);
5026
5043
  }
5027
5044
  else {
5028
- if (this.anyActiveSelected(state) && !state.selected) {
5029
- this.setUnchecked(state, true, ignoreDisabled);
5030
- }
5031
- else {
5032
- state.selectedState = NodeSelectedState.checked;
5033
- state.selected = true;
5034
- if (state.showCheckbox) {
5035
- this.addSelected(state);
5036
- }
5037
- }
5045
+ this.setUnchecked(state, state.showCheckbox, ignoreDisabled);
5038
5046
  }
5047
+ this.selectedItemsSubject.next(this.selectedItems);
5039
5048
  if (state.parent) {
5040
5049
  this.childStateChanged(state.parent);
5041
5050
  }
5042
- this.selectedItemsSubject.next(this.selectedItems);
5043
5051
  }
5044
- setUnchecked(state, propagate, ignoreDisabled) {
5052
+ selectParents(state) {
5053
+ while (state) {
5054
+ if (state.showCheckbox) {
5055
+ state.selectedState = NodeSelectedState.checked;
5056
+ state.selected = true;
5057
+ this.addSelected(state);
5058
+ }
5059
+ state = state.parent;
5060
+ }
5061
+ }
5062
+ setUnchecked(state, propagate = false, ignoreDisabled) {
5045
5063
  if (state.disabled && !ignoreDisabled) {
5046
5064
  return;
5047
5065
  }
5048
5066
  if (state.showCheckbox) {
5049
5067
  state.selectedState = NodeSelectedState.unChecked;
5050
5068
  state.selected = false;
5051
- if (TreeService.hasNoChildren(state)) {
5052
- this.removeSelected(state.nodeItem.item);
5053
- if (this.callbacks?.unSelect) {
5054
- this.callbacks.unSelect(state.nodeItem);
5055
- }
5069
+ this.removeSelected(state.nodeItem.item);
5070
+ if (this.callbacks?.unSelect) {
5071
+ this.callbacks.unSelect(state.nodeItem);
5056
5072
  }
5057
5073
  }
5058
5074
  if (propagate) {
@@ -5060,22 +5076,25 @@ class TreeService {
5060
5076
  this.setUnchecked(child, propagate, ignoreDisabled);
5061
5077
  }
5062
5078
  }
5063
- if (!this.anyChildSelected(state)) {
5064
- this.removeSelected(state.nodeItem.item);
5079
+ if (state.parent) {
5080
+ this.childStateChanged(state.parent);
5065
5081
  }
5066
5082
  }
5067
5083
  removeSelected(item) {
5068
5084
  let index = this.selectedItems.indexOf(item);
5069
5085
  if (index !== -1) {
5070
5086
  this.selectedItems.splice(index, 1);
5071
- this.selectedItemsSubject.next(this.selectedItems);
5072
5087
  }
5088
+ let stateIndex = this.selectedStates.findIndex(s => s.nodeItem.item === item);
5089
+ if (stateIndex !== -1) {
5090
+ this.selectedStates.splice(stateIndex, 1);
5091
+ }
5092
+ this.selectedItemsSubject.next(this.selectedItems);
5073
5093
  }
5074
5094
  static hasNoChildren(state) {
5075
5095
  return !state.children || state.children.length === 0;
5076
5096
  }
5077
5097
  addSelected(state) {
5078
- // Add the current node to selectedItems
5079
5098
  if (this.selectedItems.indexOf(state.nodeItem.item) === -1) {
5080
5099
  this.selectedItems.push(state.nodeItem.item);
5081
5100
  this.selectedStates.push(state);
@@ -5083,7 +5102,6 @@ class TreeService {
5083
5102
  this.callbacks.select(state.nodeItem);
5084
5103
  }
5085
5104
  }
5086
- // Add all ancestors (parent, grandparent, etc.) to selectedItems
5087
5105
  let current = state.parent;
5088
5106
  while (current) {
5089
5107
  if (this.selectedItems.indexOf(current.nodeItem.item) === -1) {
@@ -5156,15 +5174,6 @@ class TreeService {
5156
5174
  return state.children.every(it => it.selectedState === NodeSelectedState.checked);
5157
5175
  }
5158
5176
  }
5159
- anyActiveSelected(state) {
5160
- let result = state.children.filter(it => !it.disabled && it.selected).length > 0;
5161
- for (const child of state.children) {
5162
- if (!TreeService.hasNoChildren(child) && this.anyActiveSelected(child)) {
5163
- result = true;
5164
- }
5165
- }
5166
- return result;
5167
- }
5168
5177
  filterChanged(value) {
5169
5178
  this.filterValue = value;
5170
5179
  this.filterChangeSubject.next(value);
@@ -5592,6 +5601,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
5592
5601
  }] } });
5593
5602
 
5594
5603
  class GravityGenericAvatarComponent {
5604
+ constructor() {
5605
+ this.size = 'sm';
5606
+ }
5595
5607
  getStatus() {
5596
5608
  if (this.isDisabled) {
5597
5609
  return 'disabled';
@@ -5601,17 +5613,19 @@ class GravityGenericAvatarComponent {
5601
5613
  }
5602
5614
  }
5603
5615
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityGenericAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5604
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityGenericAvatarComponent, selector: "gravity-generic-avatar", inputs: { label: "label", initials: "initials", isDisabled: "isDisabled" }, ngImport: i0, template: "<div class=\"gravity-generic-avatar {{getStatus()}}\">\n <div class=\"gravity-margin-right-xxs\">\n <span class=\"hr-body sm-regular\">{{initials}}</span>\n </div>\n <label class=\"hr-body sm-regular\">{{label}}</label>\n</div>", styles: [":host{display:block}.gravity-generic-avatar{display:flex;align-items:center}.gravity-generic-avatar div{width:24px;height:24px;display:flex;border-radius:50px;align-items:center;justify-content:center;color:var(--avatar-initials-text-color);background-color:var(--avatar-initials-backgroud-color)}.gravity-generic-avatar div span{margin-top:2px}.gravity-generic-avatar label{margin-top:2px;color:var(--avatar-label-color)}.gravity-generic-avatar.active{--avatar-label-color: var(--cl-generic-avatar-label-primary);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-primary);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-primary)}.gravity-generic-avatar.disabled{--avatar-label-color: var(--cl-generic-avatar-label-disabled);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-disabled);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-disabled)}\n"] }); }
5616
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityGenericAvatarComponent, selector: "gravity-generic-avatar", inputs: { label: "label", initials: "initials", isDisabled: "isDisabled", size: "size" }, ngImport: i0, template: "<div class=\"gravity-generic-avatar {{getStatus()}} {{size}}\">\n <div class=\"gravity-margin-right-xxs\">\n <span class=\"hr-body sm-bold\">{{initials}}</span>\n </div>\n <label class=\"hr-body\" [ngClass]=\"size === 'sm' ? 'sm-regular' : 'md-bold'\">{{label}}</label>\n</div>", styles: [":host{display:block}.gravity-generic-avatar{display:flex;align-items:center}.gravity-generic-avatar div{width:24px;height:24px;display:flex;border-radius:50px;align-items:center;justify-content:center;color:var(--avatar-initials-text-color);background-color:var(--avatar-initials-backgroud-color)}.gravity-generic-avatar div span{margin-top:2px}.gravity-generic-avatar label{margin-top:2px;color:var(--avatar-label-color)}.gravity-generic-avatar.md div{width:32px;height:32px}.gravity-generic-avatar.active{--avatar-label-color: var(--cl-generic-avatar-label-primary);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-primary);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-primary)}.gravity-generic-avatar.disabled{--avatar-label-color: var(--cl-generic-avatar-label-disabled);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-disabled);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-disabled)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
5605
5617
  }
5606
5618
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityGenericAvatarComponent, decorators: [{
5607
5619
  type: Component,
5608
- args: [{ selector: 'gravity-generic-avatar', template: "<div class=\"gravity-generic-avatar {{getStatus()}}\">\n <div class=\"gravity-margin-right-xxs\">\n <span class=\"hr-body sm-regular\">{{initials}}</span>\n </div>\n <label class=\"hr-body sm-regular\">{{label}}</label>\n</div>", styles: [":host{display:block}.gravity-generic-avatar{display:flex;align-items:center}.gravity-generic-avatar div{width:24px;height:24px;display:flex;border-radius:50px;align-items:center;justify-content:center;color:var(--avatar-initials-text-color);background-color:var(--avatar-initials-backgroud-color)}.gravity-generic-avatar div span{margin-top:2px}.gravity-generic-avatar label{margin-top:2px;color:var(--avatar-label-color)}.gravity-generic-avatar.active{--avatar-label-color: var(--cl-generic-avatar-label-primary);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-primary);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-primary)}.gravity-generic-avatar.disabled{--avatar-label-color: var(--cl-generic-avatar-label-disabled);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-disabled);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-disabled)}\n"] }]
5620
+ args: [{ selector: 'gravity-generic-avatar', template: "<div class=\"gravity-generic-avatar {{getStatus()}} {{size}}\">\n <div class=\"gravity-margin-right-xxs\">\n <span class=\"hr-body sm-bold\">{{initials}}</span>\n </div>\n <label class=\"hr-body\" [ngClass]=\"size === 'sm' ? 'sm-regular' : 'md-bold'\">{{label}}</label>\n</div>", styles: [":host{display:block}.gravity-generic-avatar{display:flex;align-items:center}.gravity-generic-avatar div{width:24px;height:24px;display:flex;border-radius:50px;align-items:center;justify-content:center;color:var(--avatar-initials-text-color);background-color:var(--avatar-initials-backgroud-color)}.gravity-generic-avatar div span{margin-top:2px}.gravity-generic-avatar label{margin-top:2px;color:var(--avatar-label-color)}.gravity-generic-avatar.md div{width:32px;height:32px}.gravity-generic-avatar.active{--avatar-label-color: var(--cl-generic-avatar-label-primary);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-primary);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-primary)}.gravity-generic-avatar.disabled{--avatar-label-color: var(--cl-generic-avatar-label-disabled);--avatar-initials-text-color: var(--cl-generic-avatar-initial-text-disabled);--avatar-initials-backgroud-color: var(--on-bg-generic-avatar-initials-disabled)}\n"] }]
5609
5621
  }], propDecorators: { label: [{
5610
5622
  type: Input
5611
5623
  }], initials: [{
5612
5624
  type: Input
5613
5625
  }], isDisabled: [{
5614
5626
  type: Input
5627
+ }], size: [{
5628
+ type: Input
5615
5629
  }] } });
5616
5630
 
5617
5631
  class GravityMultiLanguageComponent {