@unipin/angular-applet 18.7.0 → 18.7.2

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.
@@ -17,27 +17,29 @@ export class FilterComponent {
17
17
  this.initialItems = new Map();
18
18
  }
19
19
  ngOnInit() {
20
- this.config.fields.forEach(({ key, initialValue, initialItems }) => {
20
+ this.config.fields.forEach(({ key, initialValue, initialItems, isIrresolute }) => {
21
21
  if (typeof key !== 'string') {
22
- key.forEach((k, i) => this.createFormControl(k, initialValue?.at(i)));
22
+ key.forEach((k, i) => this.createFormControl(k, initialValue?.at(i), isIrresolute));
23
23
  }
24
24
  else {
25
25
  if (initialItems) {
26
26
  this.initialItems.set(key, initialItems);
27
27
  }
28
- this.createFormControl(key, initialValue);
28
+ this.createFormControl(key, initialValue, isIrresolute);
29
29
  }
30
30
  });
31
31
  const savedState = localStorage.getItem(`${this.id}`);
32
- if (savedState) {
33
- const state = JSON.parse(savedState);
34
- this.activeFilter = state.activeFilter;
35
- if (state.initialItems) {
36
- this.initialItems = new Map(Object.entries(state.initialItems));
37
- }
38
- this.form.patchValue(state.formValues);
32
+ if (!savedState) {
39
33
  this.emitValue();
34
+ return;
40
35
  }
36
+ const state = JSON.parse(savedState);
37
+ this.activeFilter = state.activeFilter;
38
+ if (state.initialItems) {
39
+ this.initialItems = new Map(Object.entries(state.initialItems));
40
+ }
41
+ this.form.patchValue(state.formValues);
42
+ this.emitValue();
41
43
  }
42
44
  close() {
43
45
  this.popoverCtrl.dismiss();
@@ -52,6 +54,10 @@ export class FilterComponent {
52
54
  removeFilter(i) {
53
55
  this.form.controls[this.activeFilter[i].key].setValue('');
54
56
  this.activeFilter.splice(i, 1);
57
+ if (this.activeFilter.length === 0) {
58
+ this.clear();
59
+ return;
60
+ }
55
61
  this.emitValue();
56
62
  }
57
63
  search() {
@@ -129,12 +135,14 @@ export class FilterComponent {
129
135
  this.onSearch.emit({ mode: this.config.mode, data: flag ? data : null });
130
136
  this.saveState();
131
137
  }
132
- createFormControl(key, val) {
138
+ createFormControl(key, val, isIrresolute) {
133
139
  this.form.addControl(key, new FormControl(''));
134
140
  if (val) {
135
141
  this.form.controls[key].setValue(val);
136
142
  this.processFilter(key, val);
137
- this.saveState();
143
+ if (!isIrresolute) {
144
+ this.saveState();
145
+ }
138
146
  }
139
147
  }
140
148
  saveState() {
@@ -174,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
174
182
  type: ViewChild,
175
183
  args: ['searchBox']
176
184
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0osT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUloRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFvQnJILE1BQU0sT0FBTyxlQUFlO0lBK0MxQixZQUNtQyxXQUFtQixFQUNqQyxFQUFxQixFQUNyQixXQUE4QjtRQUZoQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNqQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUE3QnpCLGFBQVEsR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVl6RSxTQUFJLEdBQW1CLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBTWxELGlCQUFZLEdBQW9ELEVBQUUsQ0FBQztRQU1uRSxpQkFBWSxHQUFvRCxJQUFJLEdBQUcs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UztRQUNqQixZQUFZLENBQUMsT0FBTyxDQUNsQixHQUFJLElBQUksQ0FBQyxFQUFHLEVBQUUsRUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFlBQVksRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDbkQsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQ3BDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0ExUFUsZUFBZSxrQkFnRGIsYUFBYTttR0FoRGYsZUFBZSwrU0MzQjVCLGc5SkE2RkEsOHBCRDFFSSxXQUFXLDg0QkFDWCxpQkFBaUIscUlBQ2pCLGtCQUFrQiw4SEFDbEIsbUJBQW1CLDZyQkFDbkIsbUJBQW1CLGlNQUNuQiw2QkFBNkI7OzRGQUdwQixlQUFlO2tCQWxCM0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSwyQkFBMkI7cUJBQ25DLFdBQ1E7d0JBQ1AsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLDZCQUE2QjtxQkFDOUI7OzBCQWtERSxTQUFTOzJCQUFDLGFBQWE7eUdBekNRLEVBQUU7c0JBQW5DLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQU9TLE1BQU07c0JBQXZDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQU9DLFFBQVE7c0JBQWpDLE1BQU07Z0JBTW9DLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbmljTW9kdWxlLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEZpbHRlckNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9maWx0ZXItY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXJGaWVsZCB9IGZyb20gJy4vaW50ZXJmYWNlcy9maWx0ZXItZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlclNlYXJjaEV2ZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2ZpbHRlci1zZWFyY2gtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCwgRm9ybVNlbGVjdENvbXBvbmVudCwgRm9ybURhdGVDb21wb25lbnQsIEZvcm1TZWFyY2hhYmxlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1maWx0ZXInLFxuICBzdHlsZVVybDogICcuL2ZpbHRlci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBcbiAgICBjbGFzczogJ2QtYmxvY2sgcG9zaXRpb24tcmVsYXRpdmUnIFxuICB9LFxuICBpbXBvcnRzOiBbICBcbiAgICBJb25pY01vZHVsZSxcbiAgICBGb3JtRGF0ZUNvbXBvbmVudCxcbiAgICBGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtU2VsZWN0Q29tcG9uZW50LFxuICAgIEZvcm1TZWFyY2hhYmxlU2VsZWN0Q29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgZm9yIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZmlsdGVyLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBpZCE6IHN0cmluZztcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgZm9yIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBzcGVjaWZ5aW5nIGZpbHRlciBmaWVsZHMgYW5kIG1vZGUuXG4gICAqIEB0eXBlIHtGaWx0ZXJDb25maWd9XG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IEZpbHRlckNvbmZpZztcblxuICAvKipcbiAgICogT3V0cHV0IGV2ZW50IGVtaXR0ZXIgdHJpZ2dlcmVkIHdoZW4gdGhlIHVzZXIgcGVyZm9ybXMgYSBzZWFyY2guXG4gICAqIEVtaXRzIGEgYEZpbHRlclNlYXJjaEV2ZW50YCBvYmplY3Qgd2l0aCBzZWFyY2ggbW9kZSBhbmQgY3JpdGVyaWEgZGF0YS5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxGaWx0ZXJTZWFyY2hFdmVudD59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uU2VhcmNoOiBFdmVudEVtaXR0ZXI8RmlsdGVyU2VhcmNoRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBWaWV3Q2hpbGQgZGVjb3JhdG9yIHRvIHJlZmVyZW5jZSB0aGUgc2VhcmNoQm94IGVsZW1lbnQgaW4gdGhlIHRlbXBsYXRlLlxuICAgKiBAdHlwZSB7RWxlbWVudFJlZn1cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcpIHByb3RlY3RlZCByZWFkb25seSBzZWFyY2hCb3ghOiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBGb3JtIGdyb3VwIGZvciBtYW5hZ2luZyBmb3JtIGNvbnRyb2xzLlxuICAgKiBAdHlwZSB7Rm9ybUdyb3VwPGFueT59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwPGFueT4gPSBuZXcgRm9ybUdyb3VwKHt9KTtcblxuICAvKipcbiAgICogQXJyYXkgdG8gc3RvcmUgYWN0aXZlIGZpbHRlciBjcml0ZXJpYS5cbiAgICogQHR5cGUge3sgbGFiZWw6IHN0cmluZywga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdfVxuICAgKi9cbiAgcHVibGljIGFjdGl2ZUZpbHRlcjogeyBsYWJlbDogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W10gPSBbXTtcblxuICAvKipcbiAgICogTWFwIHRvIHN0b3JlIGluaXRpYWwgaXRlbXMgZm9yIGVhY2ggZmlsdGVyIGtleS5cbiAgICogQHR5cGUge01hcDxzdHJpbmcsIHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W10+fVxuICAgKi9cbiAgcHVibGljIGluaXRpYWxJdGVtczogTWFwPHN0cmluZywgeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXT4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2g6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb3BvdmVyQ3RybDogUG9wb3ZlckNvbnRyb2xsZXJcbiAgKSB7IH0gXG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBob29rIHRvIGluaXRpYWxpemUgdGhlIGNvbXBvbmVudC5cbiAgICogQ3JlYXRlcyBmb3JtIGNvbnRyb2xzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9uIGFuZCByZXN0b3JlcyBzYXZlZCBmaWx0ZXIgc3RhdGUuXG4gICAqL1xuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZHtcbiAgICB0aGlzLmNvbmZpZy5maWVsZHMuZm9yRWFjaCgoeyBrZXksIGluaXRpYWxWYWx1ZSwgaW5pdGlhbEl0ZW1zIH06IEZpbHRlckZpZWxkKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAga2V5LmZvckVhY2goKGs6IHN0cmluZywgaTogbnVtYmVyKSA9PiB0aGlzLmNyZWF0ZUZvcm1Db250cm9sKGssIGluaXRpYWxWYWx1ZT8uYXQoaSkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChpbml0aWFsSXRlbXMpIHtcbiAgICAgICAgICB0aGlzLmluaXRpYWxJdGVtcy5zZXQoa2V5LCBpbml0aWFsSXRlbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtQ29udHJvbChrZXksIGluaXRpYWxWYWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBzYXZlZFN0YXRlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oYCR7IHRoaXMuaWQgfWApO1xuICAgIGlmIChzYXZlZFN0YXRlKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IEpTT04ucGFyc2Uoc2F2ZWRTdGF0ZSk7XG5cbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyID0gc3RhdGUuYWN0aXZlRmlsdGVyO1xuICAgICAgaWYgKHN0YXRlLmluaXRpYWxJdGVtcykge1xuICAgICAgICB0aGlzLmluaXRpYWxJdGVtcyA9IG5ldyBNYXAoT2JqZWN0LmVudHJpZXMoc3RhdGUuaW5pdGlhbEl0ZW1zKSk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShzdGF0ZS5mb3JtVmFsdWVzKTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgZmlsdGVyIHBvcG92ZXIuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZHsgXG4gICAgdGhpcy5wb3BvdmVyQ3RybC5kaXNtaXNzKCk7IFxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBhbGwgZmlsdGVyIGNyaXRlcmlhLCBsb2NhbFN0b3JhZ2UsIGFuZCB0cmlnZ2VycyBhIHNlYXJjaCBldmVudCB3aXRoIG51bGwgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lke1xuICAgIHRoaXMucmVzZXRWYWx1ZSgpO1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oYCR7IHRoaXMuaWQgfWApO1xuICAgIHRoaXMuaW5pdGlhbEl0ZW1zLmNsZWFyKCk7XG4gICAgdGhpcy5vblNlYXJjaC5lbWl0KHsgbW9kZTogdGhpcy5jb25maWcubW9kZSwgZGF0YTogbnVsbCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgc3BlY2lmaWMgZmlsdGVyIGNyaXRlcmlhIGJhc2VkIG9uIGl0cyBpbmRleC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGkgLSBJbmRleCBvZiB0aGUgZmlsdGVyIGNyaXRlcmlhIHRvIGJlIHJlbW92ZWQuXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlRmlsdGVyKGk6IG51bWJlcik6IHZvaWR7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMuYWN0aXZlRmlsdGVyW2ldLmtleV0uc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuYWN0aXZlRmlsdGVyLnNwbGljZShpLCAxKTtcbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBhIHNlYXJjaCBiYXNlZCBvbiB0aGUgYWN0aXZlIGZpbHRlciBjcml0ZXJpYSBhbmQgY2xlYXJzIHRoZSBzYXZlZCBmaWx0ZXIgc3RhdGUgaWYgdGhlcmUgYXJlIG5vIGFjdGl2ZSBmaWx0ZXJzLlxuICAgKi9cbiAgcHVibGljIHNlYXJjaCgpOiB2b2lke1xuICAgIHRoaXMucmVzZXRWYWx1ZSgpO1xuICAgIHRoaXMuZW1pdFZhbHVlKChrOiBzdHJpbmcsIHY6IGFueSkgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodikpIHtcbiAgICAgICAgdi5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB0aGlzLnByb2Nlc3NGaWx0ZXIoaywgdmFsdWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0ZpbHRlcihrLCB2KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgXG4gICAgaWYgKHRoaXMuYWN0aXZlRmlsdGVyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pbml0aWFsSXRlbXMuY2xlYXIoKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGAke3RoaXMuaWR9YCk7XG4gICAgfVxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuICBcbiAgcHJvdGVjdGVkIHByb2Nlc3NGaWx0ZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lke1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZVswXTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgaW5pdGlhbEl0ZW0gPSB0aGlzLmluaXRpYWxJdGVtcy5nZXQoa2V5KT8uZmluZChpdGVtID0+IGl0ZW0udmFsdWUgPT09IHZhbHVlKTtcbiAgICBjb25zdCBsYWJlbCA9IGluaXRpYWxJdGVtXG4gICAgICA/IGAkeyBrZXkgfTogJHsgaW5pdGlhbEl0ZW0ubGFiZWwgfWBcbiAgICAgIDogYCR7IGtleSB9OiAkeyBrZXkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGF0ZScpPyBmb3JtYXREYXRlKHZhbHVlLCAnZGQgTU1NIHl5eXknLCAnZW4tVVMnKSA6IHZhbHVlIH1gO1xuICBcbiAgICB0aGlzLmFjdGl2ZUZpbHRlci5wdXNoKHsga2V5LCB2YWx1ZSwgbGFiZWwgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWx0ZXIgY3JpdGVyaWEgYmFzZWQgb24gdGhlIHVzZXIgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYWRkKCk6IHZvaWR7XG4gICAgY29uc3QgeyBrZXksIHZhbHVlIH0gPSB0aGlzLmdldFZhbHVlKHRoaXMuc2VhcmNoQm94Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICAgIGlmICh0aGlzLmNvbmZpZy5maWVsZHMuZmluZEluZGV4KCh7IGtleTogayB9KSA9PiBrID09PSBrZXkpID09PSAtMSkge1xuICAgICAgdGhpcy5zZWFyY2hCb3gubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGkgPSB0aGlzLmFjdGl2ZUZpbHRlci5maW5kSW5kZXgoKHsga2V5OiBrIH0pID0+IGsgPT09IGtleSk7XG4gICAgaWYgKGkgPT09IC0xKSB0aGlzLmFjdGl2ZUZpbHRlci5wdXNoKHsgbGFiZWw6IGAkeyBrZXkgfTokeyB2YWx1ZSB9YCwga2V5LCB2YWx1ZSB9KTtcbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyW2ldLmtleSA9IGtleTtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyW2ldLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlcltpXS5sYWJlbCA9IGAkeyBrZXkgfTokeyB2YWx1ZSB9YDtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IFtrZXldOiB2YWx1ZSB9KTtcbiAgICB0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNlaXZlIHRoZSBpbml0aWFsSXRlbXMgZm9ybSBzZWFyY2hhYmxlIG9yIHNlbGVjdCBjb21wb25lbnQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGluaXRpYWxJdGVtcyBtYXAgdG8gYmUgdXNlZCBhZ2FpbiBieSBzZWFyY2hhYmxlIG9yIHNlbGVjdCBjb21wb25lbnRcbiAgICogd2hlbiBpdCBpbml0aWFsaXplZCBhZ2Fpbi5cbiAgICogQHBhcmFtIHthbnl9IGl0ZW0gLSBUaGUgaW5pdGlhbCBpdGVtcyByZWNlaXZlZCBmcm9tIHRoZSBzZWFyY2FibGUgb3Igc2VsZWN0IGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBrZXkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpbml0aWFsIGl0ZW1zLlxuICAgKi9cbiAgcHVibGljIGFwcGx5SW5pdGlhbEl0ZW1zKGl0ZW06IGFueSwga2V5OiBzdHJpbmcpOiB2b2lkeyBcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaXRlbSkpIHtcbiAgICAgIHRoaXMuaW5pdGlhbEl0ZW1zID0gdGhpcy5pbml0aWFsSXRlbXMuc2V0KGtleSwgWyBpdGVtIF0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdGlhbEl0ZW1zID0gdGhpcy5pbml0aWFsSXRlbXMuc2V0KGtleSwgaXRlbSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGFjdGl2ZSBmaWx0ZXIgYW5kIGNsZWFycyB0aGUgc2VhcmNoIGJveC5cbiAgICovXG4gIHByb3RlY3RlZCByZXNldFZhbHVlKCk6IHZvaWR7XG4gICAgdGhpcy5hY3RpdmVGaWx0ZXIubGVuZ3RoID0gMDtcbiAgICB0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIHRoZSBpbnB1dCB2YWx1ZSBhbmQgcmV0dXJucyBhIGtleS12YWx1ZSBwYWlyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBJbnB1dCB2YWx1ZSB0byBiZSBwYXJzZWQuXG4gICAqIEByZXR1cm5zIHt7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH19IC0gS2V5LXZhbHVlIHBhaXIgZXh0cmFjdGVkIGZyb20gdGhlIGlucHV0IHZhbHVlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH17XG4gICAgY29uc3QgdmFsdWVzOiBzdHJpbmdbXSA9IHZhbHVlLnNwbGl0KCc6Jyk7XG5cbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMSkgcmV0dXJuIHsga2V5OiA8c3RyaW5nPiB0aGlzLmNvbmZpZy5maWVsZHNbMF0ua2V5LCB2YWx1ZTogdmFsdWVzWzBdIH07XG4gICAgcmV0dXJuIHsga2V5OiB2YWx1ZXNbMF0sIHZhbHVlOiB2YWx1ZXNbMV0gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc2VhcmNoIGV2ZW50IGJhc2VkIG9uIHRoZSBmb3JtIHZhbHVlcy5cbiAgICogSW52b2tlcyBhbiBleHRyYSBhY3Rpb24gaWYgcHJvdmlkZWQgYW5kIHNhdmVzIHRoZSBzdGF0ZSB0byBsb2NhbFN0b3JhZ2UuXG4gICAqIEBwYXJhbSB7KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkfSBbZXh0cmFBY3Rpb25dIC0gT3B0aW9uYWwgZXh0cmEgYWN0aW9uIHRvIGJlIGludm9rZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZW1pdFZhbHVlKGV4dHJhQWN0aW9uPzogKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZHtcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGNvbnN0IGYgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICBjb25zdCBkYXRhOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIFxuICAgIE9iamVjdC5rZXlzKGYpLmZvckVhY2goKGs6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFmW2tdKSByZXR1cm47XG4gICAgICBcbiAgICAgIGZsYWcgPSB0cnVlO1xuICAgICAgZGF0YVtrXSA9IGZba107XG4gICAgICBleHRyYUFjdGlvbj8uKGssIGZba10pO1xuICAgIH0pO1xuICAgIHRoaXMub25TZWFyY2guZW1pdCh7IG1vZGU6IHRoaXMuY29uZmlnLm1vZGUsIGRhdGE6IGZsYWc/IGRhdGEgOiBudWxsIH0pO1xuICAgIFxuICAgIHRoaXMuc2F2ZVN0YXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvcm0gY29udHJvbCBmb3IgYSBnaXZlbiBrZXkgYW5kIHNldHMgaXRzIGluaXRpYWwgdmFsdWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBLZXkgZm9yIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAqIEBwYXJhbSB7Kn0gW3ZhbF0gLSBJbml0aWFsIHZhbHVlIGZvciB0aGUgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUZvcm1Db250cm9sKGtleTogc3RyaW5nLCB2YWw/OiBhbnkpOiB2b2lke1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGtleSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG5cbiAgICBpZiAodmFsKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNba2V5XS5zZXRWYWx1ZSh2YWwpO1xuICAgICAgdGhpcy5wcm9jZXNzRmlsdGVyKGtleSwgdmFsKTtcbiAgICAgIHRoaXMuc2F2ZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNhdmVTdGF0ZSgpOiB2b2lke1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgYCR7IHRoaXMuaWQgfWAsIFxuICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBhY3RpdmVGaWx0ZXI6IHRoaXMuYWN0aXZlRmlsdGVyLFxuICAgICAgICBpbml0aWFsSXRlbXM6IE9iamVjdC5mcm9tRW50cmllcyh0aGlzLmluaXRpYWxJdGVtcyksXG4gICAgICAgIGZvcm1WYWx1ZXM6IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjxpb24taWNvbiBuYW1lPVwic2VhcmNoXCIgY2xhc3M9XCJmcy00IHBvc2l0aW9uLWFic29sdXRlXCIgLz5cblxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9ybS1jb250cm9sIHBzLTUgcHktMCBwZS0wIGdhcC0zXCI+XG4gICAgQGlmIChhY3RpdmVGaWx0ZXIubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtZ3Jvdy0xIGZsZXgtc2hyaW5rLTAgdGFnLWNvbnRhaW5lciBnYXAtMiB0ZXh0LW5vd3JhcCBvdmVyZmxvdy1hdXRvXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGFjdGl2ZUZpbHRlcjsgdHJhY2sgaXRlbS5rZXk7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZy1pdGVtIHAtMSByb3VuZGVkIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdXNlci1zZWxlY3Qtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlXCIgY2xhc3M9XCJwZS0xIG1lLTEgY3Vyc29yLXBvaW50ZXIgdGV4dC1wcmltYXJ5XCIgKGNsaWNrKT1cInJlbW92ZUZpbHRlcihpKTtcIiAvPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxpbnB1dCAjc2VhcmNoQm94IHR5cGU9XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCIgY2xhc3M9XCJmbGV4LXNocmluay0xIGJvcmRlci0wIGZvcm0tY29udHJvbCBwcy0wIHB5LTJcIiBbY2xhc3MuYWR2XT1cImNvbmZpZy5tb2RlID09PSAnYWR2YW5jZWQnXCIgKGtleXVwLmVudGVyKT1cImFkZCgpO1wiIC8+XG48L2Rpdj5cblxuQGlmIChjb25maWcubW9kZSA9PT0gJ2FkdmFuY2VkJykge1xuICAgIDxpb24taWNvbiBuYW1lPVwiZmlsdGVyXCIgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBmcy00IGN1cnNvci1wb2ludGVyXCIgaWQ9XCJmaWx0ZXIte3sgaWQgfX1cIiAvPlxuICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2VcIiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGZzLTQgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiY2xlYXIoKTtcIiAvPlxuICAgIFxuICAgIDxpb24tcG9wb3ZlciB0cmlnZ2VyPVwiZmlsdGVyLXt7IGlkIH19XCIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmlsdGVyIG92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBib3JkZXItYm90dG9tIHAtMSBwZS00IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b25zPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtNSBmdy1tZWRpdW1cIj5BZHZhbmNlZCBGaWx0ZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9XCJmbGV4LWdyb3ctMSBvdmVyZmxvdy1hdXRvIHB4LTRcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoYyBvZiBjb25maWcuZmllbGRzOyB0cmFjayBjLmtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQHN3aXRjaCAoYy50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCB0eXBlPVwibnVtYmVyXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJteS00XCIgbGFiZWw9XCJ7eyBjLmxhYmVsIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgYy5rZXkgfX1cIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2NoZWNrYm94Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jaGVja2JveCBsYWJlbFBsYWNlbWVudD1cImVuZFwiIGZvcm1Db250cm9sTmFtZT1cInt7IGMua2V5IH19XCI+e3sgYy5sYWJlbCB9fTwvaW9uLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2RhdGUtcmFuZ2UnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTMgbXktNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwLWRhdGUgY2xhc3M9XCJmbGV4LWdyb3ctMVwiIG5hbWU9XCJmaWx0ZXItZnJvbVwiIGxhYmVsPVwie3sgYy5sYWJlbFswXSB9fVwiIGZvcm1Db250cm9sTmFtZT1cInt7IGMua2V5WzBdIH19XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1kYXRlIGNsYXNzPVwiZmxleC1ncm93LTFcIiBuYW1lPVwiZmlsdGVyLXRvXCIgbGFiZWw9XCJ7eyBjLmxhYmVsWzFdIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgYy5rZXlbMV0gfX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ3NlbGVjdCcpIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1zZWxlY3QgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cInt7IGMubGFiZWwgfX1cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7IGMua2V5IH19XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiYy5vcHRpb25zIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwiYy5tdWx0aXBsZSB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnc2VhcmNoYWJsZS1zZWxlY3QnKSB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXAtc2VhcmNoYWJsZS1zZWxlY3QgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ7eyBjLmxhYmVsIH19XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ7eyBjLmtleSB9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3F1ZXJ5RnVuY109XCJjLmdldE9wdGlvbnMhXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5pdGlhbEl0ZW1zXT1cImMub3B0aW9ucyEgfHwgaW5pdGlhbEl0ZW1zLmdldChjLmtleS50b1N0cmluZygpKSFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cImMubXVsdGlwbGUgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImFwcGx5SW5pdGlhbEl0ZW1zKCRldmVudCwgYy5rZXkudG9TdHJpbmcoKSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGRlZmF1bHQgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwLWlucHV0IHR5cGU9XCJ0ZXh0XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJteS00XCIgbGFiZWw9XCJ7eyBjLmxhYmVsIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgYy5rZXkgfX1cIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIHB5LTMgcHgtNCBib3JkZXItdG9wIGQtZmxleCBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgY29sb3I9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwiZm9ybS5yZXNldCgpO1wiPlJlc2V0PC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNlYXJjaCgpO1wiPlNlYXJjaDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICA8L2lvbi1wb3BvdmVyPiAgICBcbn1cbiJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0osT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUloRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFvQnJILE1BQU0sT0FBTyxlQUFlO0lBK0MxQixZQUNtQyxXQUFtQixFQUNqQyxFQUFxQixFQUNyQixXQUE4QjtRQUZoQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNqQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUE3QnpCLGFBQVEsR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVl6RSxTQUFJLEdBQW1CLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBTWxELGlCQUFZLEdBQW9ELEVBQUUsQ0FBQztRQU1uRSxpQkFBWSxHQUFvRCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBTTdFLENBQUM7SUFNRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQWUsRUFBRSxFQUFFO1lBQzVGLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN0RyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO2dCQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQzFELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBSSxJQUFJLENBQUMsRUFBRyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFLTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBS00sS0FBSztRQUNWLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWxCLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBSSxJQUFJLENBQUMsRUFBRyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFNTSxZQUFZLENBQUMsQ0FBUztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBSU0sTUFBTTtRQUNYLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENB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O3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPQyxRQUFRO3NCQUFqQyxNQUFNO2dCQU1vQyxTQUFTO3NCQUFuRCxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvZmlsdGVyLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyRmllbGQgfSBmcm9tICcuL2ludGVyZmFjZXMvZmlsdGVyLWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWFyY2hFdmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy9maWx0ZXItc2VhcmNoLWV2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQsIEZvcm1TZWxlY3RDb21wb25lbnQsIEZvcm1EYXRlQ29tcG9uZW50LCBGb3JtU2VhcmNoYWJsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtZmlsdGVyJyxcbiAgc3R5bGVVcmw6ICAnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgXG4gICAgY2xhc3M6ICdkLWJsb2NrIHBvc2l0aW9uLXJlbGF0aXZlJyBcbiAgfSxcbiAgaW1wb3J0czogWyAgXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgRm9ybURhdGVDb21wb25lbnQsXG4gICAgRm9ybUlucHV0Q29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybVNlbGVjdENvbXBvbmVudCxcbiAgICBGb3JtU2VhcmNoYWJsZVNlbGVjdENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGZpbHRlci5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgaWQhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciB0aGUgY29uZmlndXJhdGlvbiBvYmplY3Qgc3BlY2lmeWluZyBmaWx0ZXIgZmllbGRzIGFuZCBtb2RlLlxuICAgKiBAdHlwZSB7RmlsdGVyQ29uZmlnfVxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBjb25maWchOiBGaWx0ZXJDb25maWc7XG5cbiAgLyoqXG4gICAqIE91dHB1dCBldmVudCBlbWl0dGVyIHRyaWdnZXJlZCB3aGVuIHRoZSB1c2VyIHBlcmZvcm1zIGEgc2VhcmNoLlxuICAgKiBFbWl0cyBhIGBGaWx0ZXJTZWFyY2hFdmVudGAgb2JqZWN0IHdpdGggc2VhcmNoIG1vZGUgYW5kIGNyaXRlcmlhIGRhdGEuXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8RmlsdGVyU2VhcmNoRXZlbnQ+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBvblNlYXJjaDogRXZlbnRFbWl0dGVyPEZpbHRlclNlYXJjaEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVmlld0NoaWxkIGRlY29yYXRvciB0byByZWZlcmVuY2UgdGhlIHNlYXJjaEJveCBlbGVtZW50IGluIHRoZSB0ZW1wbGF0ZS5cbiAgICogQHR5cGUge0VsZW1lbnRSZWZ9XG4gICAqL1xuICBAVmlld0NoaWxkKCdzZWFyY2hCb3gnKSBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VhcmNoQm94ITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogRm9ybSBncm91cCBmb3IgbWFuYWdpbmcgZm9ybSBjb250cm9scy5cbiAgICogQHR5cGUge0Zvcm1Hcm91cDxhbnk+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZvcm06IEZvcm1Hcm91cDxhbnk+ID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgLyoqXG4gICAqIEFycmF5IHRvIHN0b3JlIGFjdGl2ZSBmaWx0ZXIgY3JpdGVyaWEuXG4gICAqIEB0eXBlIHt7IGxhYmVsOiBzdHJpbmcsIGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXX1cbiAgICovXG4gIHB1YmxpYyBhY3RpdmVGaWx0ZXI6IHsgbGFiZWw6IHN0cmluZywga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdID0gW107XG5cbiAgLyoqXG4gICAqIE1hcCB0byBzdG9yZSBpbml0aWFsIGl0ZW1zIGZvciBlYWNoIGZpbHRlciBrZXkuXG4gICAqIEB0eXBlIHtNYXA8c3RyaW5nLCB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdPn1cbiAgICovXG4gIHB1YmxpYyBpbml0aWFsSXRlbXM6IE1hcDxzdHJpbmcsIHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W10+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9wb3ZlckN0cmw6IFBvcG92ZXJDb250cm9sbGVyXG4gICkgeyB9IFxuXG4gIC8qKlxuICAgKiBMaWZlY3ljbGUgaG9vayB0byBpbml0aWFsaXplIHRoZSBjb21wb25lbnQuXG4gICAqIENyZWF0ZXMgZm9ybSBjb250cm9scyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbiBhbmQgcmVzdG9yZXMgc2F2ZWQgZmlsdGVyIHN0YXRlLlxuICAgKi9cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWR7XG4gICAgdGhpcy5jb25maWcuZmllbGRzLmZvckVhY2goKHsga2V5LCBpbml0aWFsVmFsdWUsIGluaXRpYWxJdGVtcywgaXNJcnJlc29sdXRlIH06IEZpbHRlckZpZWxkKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAga2V5LmZvckVhY2goKGs6IHN0cmluZywgaTogbnVtYmVyKSA9PiB0aGlzLmNyZWF0ZUZvcm1Db250cm9sKGssIGluaXRpYWxWYWx1ZT8uYXQoaSksIGlzSXJyZXNvbHV0ZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGluaXRpYWxJdGVtcykge1xuICAgICAgICAgIHRoaXMuaW5pdGlhbEl0ZW1zLnNldChrZXksIGluaXRpYWxJdGVtcyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZUZvcm1Db250cm9sKGtleSwgaW5pdGlhbFZhbHVlLCBpc0lycmVzb2x1dGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2F2ZWRTdGF0ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGAkeyB0aGlzLmlkIH1gKTtcbiAgICBpZiAoIXNhdmVkU3RhdGUpIHtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0YXRlID0gSlNPTi5wYXJzZShzYXZlZFN0YXRlKTtcblxuICAgIHRoaXMuYWN0aXZlRmlsdGVyID0gc3RhdGUuYWN0aXZlRmlsdGVyO1xuICAgIGlmIChzdGF0ZS5pbml0aWFsSXRlbXMpIHtcbiAgICAgIHRoaXMuaW5pdGlhbEl0ZW1zID0gbmV3IE1hcChPYmplY3QuZW50cmllcyhzdGF0ZS5pbml0aWFsSXRlbXMpKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoc3RhdGUuZm9ybVZhbHVlcyk7XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGZpbHRlciBwb3BvdmVyLlxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWR7IFxuICAgIHRoaXMucG9wb3ZlckN0cmwuZGlzbWlzcygpOyBcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIGZpbHRlciBjcml0ZXJpYSwgbG9jYWxTdG9yYWdlLCBhbmQgdHJpZ2dlcnMgYSBzZWFyY2ggZXZlbnQgd2l0aCBudWxsIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZHtcbiAgICB0aGlzLnJlc2V0VmFsdWUoKTtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcblxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGAkeyB0aGlzLmlkIH1gKTtcbiAgICB0aGlzLmluaXRpYWxJdGVtcy5jbGVhcigpO1xuICAgIHRoaXMub25TZWFyY2guZW1pdCh7IG1vZGU6IHRoaXMuY29uZmlnLm1vZGUsIGRhdGE6IG51bGwgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIHNwZWNpZmljIGZpbHRlciBjcml0ZXJpYSBiYXNlZCBvbiBpdHMgaW5kZXguXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpIC0gSW5kZXggb2YgdGhlIGZpbHRlciBjcml0ZXJpYSB0byBiZSByZW1vdmVkLlxuICAgKi9cbiAgcHVibGljIHJlbW92ZUZpbHRlcihpOiBudW1iZXIpOiB2b2lke1xuICAgIHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmFjdGl2ZUZpbHRlcltpXS5rZXldLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmFjdGl2ZUZpbHRlci5zcGxpY2UoaSwgMSk7XG4gICBcbiAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXIubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gIH1cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBhIHNlYXJjaCBiYXNlZCBvbiB0aGUgYWN0aXZlIGZpbHRlciBjcml0ZXJpYSBhbmQgY2xlYXJzIHRoZSBzYXZlZCBmaWx0ZXIgc3RhdGUgaWYgdGhlcmUgYXJlIG5vIGFjdGl2ZSBmaWx0ZXJzLlxuICAgKi9cbiAgcHVibGljIHNlYXJjaCgpOiB2b2lke1xuICAgIHRoaXMucmVzZXRWYWx1ZSgpO1xuICAgIHRoaXMuZW1pdFZhbHVlKChrOiBzdHJpbmcsIHY6IGFueSkgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodikpIHtcbiAgICAgICAgdi5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB0aGlzLnByb2Nlc3NGaWx0ZXIoaywgdmFsdWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0ZpbHRlcihrLCB2KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgXG4gICAgaWYgKHRoaXMuYWN0aXZlRmlsdGVyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pbml0aWFsSXRlbXMuY2xlYXIoKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGAke3RoaXMuaWR9YCk7XG4gICAgfVxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuICBcbiAgcHJvdGVjdGVkIHByb2Nlc3NGaWx0ZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lke1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZVswXTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgaW5pdGlhbEl0ZW0gPSB0aGlzLmluaXRpYWxJdGVtcy5nZXQoa2V5KT8uZmluZChpdGVtID0+IGl0ZW0udmFsdWUgPT09IHZhbHVlKTtcbiAgICBjb25zdCBsYWJlbCA9IGluaXRpYWxJdGVtXG4gICAgICA/IGAkeyBrZXkgfTogJHsgaW5pdGlhbEl0ZW0ubGFiZWwgfWBcbiAgICAgIDogYCR7IGtleSB9OiAkeyBrZXkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGF0ZScpPyBmb3JtYXREYXRlKHZhbHVlLCAnZGQgTU1NIHl5eXknLCAnZW4tVVMnKSA6IHZhbHVlIH1gO1xuICBcbiAgICB0aGlzLmFjdGl2ZUZpbHRlci5wdXNoKHsga2V5LCB2YWx1ZSwgbGFiZWwgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWx0ZXIgY3JpdGVyaWEgYmFzZWQgb24gdGhlIHVzZXIgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYWRkKCk6IHZvaWR7XG4gICAgY29uc3QgeyBrZXksIHZhbHVlIH0gPSB0aGlzLmdldFZhbHVlKHRoaXMuc2VhcmNoQm94Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICAgIGlmICh0aGlzLmNvbmZpZy5maWVsZHMuZmluZEluZGV4KCh7IGtleTogayB9KSA9PiBrID09PSBrZXkpID09PSAtMSkge1xuICAgICAgdGhpcy5zZWFyY2hCb3gubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGkgPSB0aGlzLmFjdGl2ZUZpbHRlci5maW5kSW5kZXgoKHsga2V5OiBrIH0pID0+IGsgPT09IGtleSk7XG4gICAgaWYgKGkgPT09IC0xKSB0aGlzLmFjdGl2ZUZpbHRlci5wdXNoKHsgbGFiZWw6IGAkeyBrZXkgfTokeyB2YWx1ZSB9YCwga2V5LCB2YWx1ZSB9KTtcbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyW2ldLmtleSA9IGtleTtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyW2ldLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlcltpXS5sYWJlbCA9IGAkeyBrZXkgfTokeyB2YWx1ZSB9YDtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IFtrZXldOiB2YWx1ZSB9KTtcbiAgICB0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNlaXZlIHRoZSBpbml0aWFsSXRlbXMgZm9ybSBzZWFyY2hhYmxlIG9yIHNlbGVjdCBjb21wb25lbnQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGluaXRpYWxJdGVtcyBtYXAgdG8gYmUgdXNlZCBhZ2FpbiBieSBzZWFyY2hhYmxlIG9yIHNlbGVjdCBjb21wb25lbnRcbiAgICogd2hlbiBpdCBpbml0aWFsaXplZCBhZ2Fpbi5cbiAgICogQHBhcmFtIHthbnl9IGl0ZW0gLSBUaGUgaW5pdGlhbCBpdGVtcyByZWNlaXZlZCBmcm9tIHRoZSBzZWFyY2FibGUgb3Igc2VsZWN0IGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBrZXkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpbml0aWFsIGl0ZW1zLlxuICAgKi9cbiAgcHVibGljIGFwcGx5SW5pdGlhbEl0ZW1zKGl0ZW06IGFueSwga2V5OiBzdHJpbmcpOiB2b2lkeyBcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaXRlbSkpIHtcbiAgICAgIHRoaXMuaW5pdGlhbEl0ZW1zID0gdGhpcy5pbml0aWFsSXRlbXMuc2V0KGtleSwgWyBpdGVtIF0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdGlhbEl0ZW1zID0gdGhpcy5pbml0aWFsSXRlbXMuc2V0KGtleSwgaXRlbSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGFjdGl2ZSBmaWx0ZXIgYW5kIGNsZWFycyB0aGUgc2VhcmNoIGJveC5cbiAgICovXG4gIHByb3RlY3RlZCByZXNldFZhbHVlKCk6IHZvaWR7XG4gICAgdGhpcy5hY3RpdmVGaWx0ZXIubGVuZ3RoID0gMDtcbiAgICB0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIHRoZSBpbnB1dCB2YWx1ZSBhbmQgcmV0dXJucyBhIGtleS12YWx1ZSBwYWlyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBJbnB1dCB2YWx1ZSB0byBiZSBwYXJzZWQuXG4gICAqIEByZXR1cm5zIHt7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH19IC0gS2V5LXZhbHVlIHBhaXIgZXh0cmFjdGVkIGZyb20gdGhlIGlucHV0IHZhbHVlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH17XG4gICAgY29uc3QgdmFsdWVzOiBzdHJpbmdbXSA9IHZhbHVlLnNwbGl0KCc6Jyk7XG5cbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMSkgcmV0dXJuIHsga2V5OiA8c3RyaW5nPiB0aGlzLmNvbmZpZy5maWVsZHNbMF0ua2V5LCB2YWx1ZTogdmFsdWVzWzBdIH07XG4gICAgcmV0dXJuIHsga2V5OiB2YWx1ZXNbMF0sIHZhbHVlOiB2YWx1ZXNbMV0gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc2VhcmNoIGV2ZW50IGJhc2VkIG9uIHRoZSBmb3JtIHZhbHVlcy5cbiAgICogSW52b2tlcyBhbiBleHRyYSBhY3Rpb24gaWYgcHJvdmlkZWQgYW5kIHNhdmVzIHRoZSBzdGF0ZSB0byBsb2NhbFN0b3JhZ2UuXG4gICAqIEBwYXJhbSB7KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkfSBbZXh0cmFBY3Rpb25dIC0gT3B0aW9uYWwgZXh0cmEgYWN0aW9uIHRvIGJlIGludm9rZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZW1pdFZhbHVlKGV4dHJhQWN0aW9uPzogKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZHtcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGNvbnN0IGYgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICBjb25zdCBkYXRhOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIFxuICAgIE9iamVjdC5rZXlzKGYpLmZvckVhY2goKGs6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFmW2tdKSByZXR1cm47XG4gICAgICBcbiAgICAgIGZsYWcgPSB0cnVlO1xuICAgICAgZGF0YVtrXSA9IGZba107XG4gICAgICBleHRyYUFjdGlvbj8uKGssIGZba10pO1xuICAgIH0pO1xuICAgIHRoaXMub25TZWFyY2guZW1pdCh7IG1vZGU6IHRoaXMuY29uZmlnLm1vZGUsIGRhdGE6IGZsYWc/IGRhdGEgOiBudWxsIH0pO1xuICAgIFxuICAgIHRoaXMuc2F2ZVN0YXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvcm0gY29udHJvbCBmb3IgYSBnaXZlbiBrZXkgYW5kIHNldHMgaXRzIGluaXRpYWwgdmFsdWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBLZXkgZm9yIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAqIEBwYXJhbSB7Kn0gW3ZhbF0gLSBJbml0aWFsIHZhbHVlIGZvciB0aGUgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUZvcm1Db250cm9sKGtleTogc3RyaW5nLCB2YWw/OiBhbnksIGlzSXJyZXNvbHV0ZT86IGJvb2xlYW4pOiB2b2lke1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGtleSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG5cbiAgICBpZiAodmFsKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNba2V5XS5zZXRWYWx1ZSh2YWwpO1xuICAgICAgdGhpcy5wcm9jZXNzRmlsdGVyKGtleSwgdmFsKTtcblxuICAgICAgaWYgKCFpc0lycmVzb2x1dGUpIHtcbiAgICAgICAgdGhpcy5zYXZlU3RhdGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2F2ZVN0YXRlKCk6IHZvaWR7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICBgJHsgdGhpcy5pZCB9YCwgXG4gICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGFjdGl2ZUZpbHRlcjogdGhpcy5hY3RpdmVGaWx0ZXIsXG4gICAgICAgIGluaXRpYWxJdGVtczogT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMuaW5pdGlhbEl0ZW1zKSxcbiAgICAgICAgZm9ybVZhbHVlczogdGhpcy5mb3JtLmdldFJhd1ZhbHVlKClcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGlvbi1pY29uIG5hbWU9XCJzZWFyY2hcIiBjbGFzcz1cImZzLTQgcG9zaXRpb24tYWJzb2x1dGVcIiAvPlxuXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmb3JtLWNvbnRyb2wgcHMtNSBweS0wIHBlLTAgZ2FwLTNcIj5cbiAgICBAaWYgKGFjdGl2ZUZpbHRlci5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1ncm93LTEgZmxleC1zaHJpbmstMCB0YWctY29udGFpbmVyIGdhcC0yIHRleHQtbm93cmFwIG92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgYWN0aXZlRmlsdGVyOyB0cmFjayBpdGVtLmtleTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLWl0ZW0gcC0xIHJvdW5kZWQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB1c2VyLXNlbGVjdC1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2VcIiBjbGFzcz1cInBlLTEgbWUtMSBjdXJzb3ItcG9pbnRlciB0ZXh0LXByaW1hcnlcIiAoY2xpY2spPVwicmVtb3ZlRmlsdGVyKGkpO1wiIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGlucHV0ICNzZWFyY2hCb3ggdHlwZT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIiBjbGFzcz1cImZsZXgtc2hyaW5rLTEgYm9yZGVyLTAgZm9ybS1jb250cm9sIHBzLTAgcHktMlwiIFtjbGFzcy5hZHZdPVwiY29uZmlnLm1vZGUgPT09ICdhZHZhbmNlZCdcIiAoa2V5dXAuZW50ZXIpPVwiYWRkKCk7XCIgLz5cbjwvZGl2PlxuXG5AaWYgKGNvbmZpZy5tb2RlID09PSAnYWR2YW5jZWQnKSB7XG4gICAgPGlvbi1pY29uIG5hbWU9XCJmaWx0ZXJcIiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGZzLTQgY3Vyc29yLXBvaW50ZXJcIiBpZD1cImZpbHRlci17eyBpZCB9fVwiIC8+XG4gICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZVwiIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgZnMtNCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjbGVhcigpO1wiIC8+XG4gICAgXG4gICAgPGlvbi1wb3BvdmVyIHRyaWdnZXI9XCJmaWx0ZXIte3sgaWQgfX1cIiB0cmlnZ2VyQWN0aW9uPVwiY2xpY2tcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmaWx0ZXIgb3ZlcmZsb3ctYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIGJvcmRlci1ib3R0b20gcC0xIHBlLTQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbnM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcy01IGZ3LW1lZGl1bVwiPkFkdmFuY2VkIEZpbHRlcjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz1cImZsZXgtZ3Jvdy0xIG92ZXJmbG93LWF1dG8gcHgtNFwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChjIG9mIGNvbmZpZy5maWVsZHM7IHRyYWNrIGMua2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAc3dpdGNoIChjLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwLWlucHV0IHR5cGU9XCJudW1iZXJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cIm15LTRcIiBsYWJlbD1cInt7IGMubGFiZWwgfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ7eyBjLmtleSB9fVwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNoZWNrYm94IGxhYmVsUGxhY2VtZW50PVwiZW5kXCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgYy5rZXkgfX1cIj57eyBjLmxhYmVsIH19PC9pb24tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnZGF0ZS1yYW5nZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMyBteS00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXAtZGF0ZSBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgbmFtZT1cImZpbHRlci1mcm9tXCIgbGFiZWw9XCJ7eyBjLmxhYmVsWzBdIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgYy5rZXlbMF0gfX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwLWRhdGUgY2xhc3M9XCJmbGV4LWdyb3ctMVwiIG5hbWU9XCJmaWx0ZXItdG9cIiBsYWJlbD1cInt7IGMubGFiZWxbMV0gfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ7eyBjLmtleVsxXSB9fVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnc2VsZWN0JykgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwLXNlbGVjdCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXktNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwie3sgYy5sYWJlbCB9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3sgYy5rZXkgfX1cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJjLm9wdGlvbnMhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJjLm11bHRpcGxlIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdzZWFyY2hhYmxlLXNlbGVjdCcpIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1zZWFyY2hhYmxlLXNlbGVjdCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXktNFwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cInt7IGMubGFiZWwgfX1cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7IGMua2V5IH19XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcXVlcnlGdW5jXT1cImMuZ2V0T3B0aW9ucyFcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbml0aWFsSXRlbXNdPVwiYy5vcHRpb25zISB8fCBpbml0aWFsSXRlbXMuZ2V0KGMua2V5LnRvU3RyaW5nKCkpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwiYy5tdWx0aXBsZSB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiYXBwbHlJbml0aWFsSXRlbXMoJGV2ZW50LCBjLmtleS50b1N0cmluZygpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGVmYXVsdCB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXAtaW5wdXQgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cIm15LTRcIiBsYWJlbD1cInt7IGMubGFiZWwgfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ7eyBjLmtleSB9fVwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgcHktMyBweC00IGJvcmRlci10b3AgZC1mbGV4IGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGNsYXNzPVwiZmxleC1ncm93LTFcIiBjb2xvcj1cInNlY29uZGFyeVwiIChjbGljayk9XCJmb3JtLnJlc2V0KCk7XCI+UmVzZXQ8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGNsYXNzPVwiZmxleC1ncm93LTFcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2VhcmNoKCk7XCI+U2VhcmNoPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgIDwvaW9uLXBvcG92ZXI+ICAgIFxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvaW50ZXJmYWNlcy9maWx0ZXItZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRmllbGQge1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byByZXRyaWV2ZSBvcHRpb25zIGFzeW5jaHJvbm91c2x5IGJhc2VkIG9uIGEga2V5d29yZC5cbiAgICogSXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIG9mIGFuIGFycmF5IG9mIHsgbGFiZWwsIHZhbHVlIH0gb2JqZWN0cy5cbiAgICogQHR5cGUgeyhrZXl3b3JkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXT59XG4gICAqL1xuICBnZXRPcHRpb25zPzogKGtleXdvcmQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdPjtcblxuICAvKipcbiAgICogSW5pdGlhbCB2YWx1ZSBmb3IgdGhlIGZpbHRlciBmaWVsZC4gSXQgY2FuIGJlIGEgc2luZ2xlIHN0cmluZyBvciBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgKiBAdHlwZSB7KHN0cmluZyB8IHN0cmluZ1tdKX1cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIHZhbHVlIGZvciB0aGUgZmlsdGVyIGZpZWxkLiBVc2VkIGFzIGludGlhbCBpdGVtcyBmb3Igc2VsZWN0IGZvcm0gZmlsdGVyLlxuICAgKiBAdHlwZSB7eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXX1cbiAgICovXG4gIGluaXRpYWxJdGVtcz86IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W107XG5cbiAgLyoqXG4gICAqIEtleSBvciBhcnJheSBvZiBrZXlzIHJlcHJlc2VudGluZyB0aGUgZmllbGQgaW4gdGhlIGRhdGEgbW9kZWwuXG4gICAqIEB0eXBlIHsoc3RyaW5nIHwgc3RyaW5nW10pfVxuICAgKi9cbiAga2V5OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGFiZWwgb3IgYXJyYXkgb2YgbGFiZWxzIGZvciBkaXNwbGF5aW5nIHRoZSBmaWVsZCBpbiB0aGUgVUkuXG4gICAqIEB0eXBlIHsoc3RyaW5nIHwgc3RyaW5nW10pfVxuICAgKi9cbiAgbGFiZWw6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBzZWxlY3QtbGlrZSBmaWVsZHMgKHNlbGVjdCwgc2VhcmNoYWJsZS1zZWxlY3QsIGNoZWNrYm94KS5cbiAgICogQW4gYXJyYXkgb2YgeyBsYWJlbCwgdmFsdWUgfSBvYmplY3RzLlxuICAgKiBAdHlwZSB7eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXX1cbiAgICovXG4gIG9wdGlvbnM/OiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIHRoZSBmaWx0ZXIgZmllbGQuIEl0IGNhbiBiZSAndGV4dCcsICdudW1iZXInLCAnZGF0ZS1yYW5nZScsICdzZWxlY3QnLCAnc2VhcmNoYWJsZS1zZWxlY3QnLCBvciAnY2hlY2tib3gnLlxuICAgKiBAdHlwZSB7KCd0ZXh0JyB8ICdudW1iZXInIHwgJ2RhdGUtcmFuZ2UnIHwgJ3NlbGVjdCcgfCAnc2VhcmNoYWJsZS1zZWxlY3QnIHwgJ2NoZWNrYm94Jyl9XG4gICAqL1xuICB0eXBlOiAndGV4dCcgfCAnbnVtYmVyJyB8ICdkYXRlLXJhbmdlJyB8ICdzZWxlY3QnIHwgJ3NlYXJjaGFibGUtc2VsZWN0JyB8ICdjaGVja2JveCc7XG5cbiAgLyoqXG4gICAqIFRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBzZWxlY3QgdHlwZWQgZmllbGQgY2FuIGhhcyBtdWx0aXBsZSB2YWx1ZXMgb3Igbm90LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXIvaW50ZXJmYWNlcy9maWx0ZXItZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRmllbGQge1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byByZXRyaWV2ZSBvcHRpb25zIGFzeW5jaHJvbm91c2x5IGJhc2VkIG9uIGEga2V5d29yZC5cbiAgICogSXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIG9mIGFuIGFycmF5IG9mIHsgbGFiZWwsIHZhbHVlIH0gb2JqZWN0cy5cbiAgICogQHR5cGUgeyhrZXl3b3JkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXT59XG4gICAqL1xuICBnZXRPcHRpb25zPzogKGtleXdvcmQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdPjtcblxuICAvKipcbiAgICogSW5pdGlhbCB2YWx1ZSBmb3IgdGhlIGZpbHRlciBmaWVsZC4gSXQgY2FuIGJlIGEgc2luZ2xlIHN0cmluZyBvciBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgKiBAdHlwZSB7KHN0cmluZyB8IHN0cmluZ1tdKX1cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIHZhbHVlIGZvciB0aGUgZmlsdGVyIGZpZWxkLiBVc2VkIGFzIGludGlhbCBpdGVtcyBmb3Igc2VsZWN0IGZvcm0gZmlsdGVyLlxuICAgKiBAdHlwZSB7eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXX1cbiAgICovXG4gIGluaXRpYWxJdGVtcz86IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9W107XG5cbiAgLyoqXG4gICAqIEtleSBvciBhcnJheSBvZiBrZXlzIHJlcHJlc2VudGluZyB0aGUgZmllbGQgaW4gdGhlIGRhdGEgbW9kZWwuXG4gICAqIEB0eXBlIHsoc3RyaW5nIHwgc3RyaW5nW10pfVxuICAgKi9cbiAga2V5OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGFiZWwgb3IgYXJyYXkgb2YgbGFiZWxzIGZvciBkaXNwbGF5aW5nIHRoZSBmaWVsZCBpbiB0aGUgVUkuXG4gICAqIEB0eXBlIHsoc3RyaW5nIHwgc3RyaW5nW10pfVxuICAgKi9cbiAgbGFiZWw6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBzZWxlY3QtbGlrZSBmaWVsZHMgKHNlbGVjdCwgc2VhcmNoYWJsZS1zZWxlY3QsIGNoZWNrYm94KS5cbiAgICogQW4gYXJyYXkgb2YgeyBsYWJlbCwgdmFsdWUgfSBvYmplY3RzLlxuICAgKiBAdHlwZSB7eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXX1cbiAgICovXG4gIG9wdGlvbnM/OiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIHRoZSBmaWx0ZXIgZmllbGQuIEl0IGNhbiBiZSAndGV4dCcsICdudW1iZXInLCAnZGF0ZS1yYW5nZScsICdzZWxlY3QnLCAnc2VhcmNoYWJsZS1zZWxlY3QnLCBvciAnY2hlY2tib3gnLlxuICAgKiBAdHlwZSB7KCd0ZXh0JyB8ICdudW1iZXInIHwgJ2RhdGUtcmFuZ2UnIHwgJ3NlbGVjdCcgfCAnc2VhcmNoYWJsZS1zZWxlY3QnIHwgJ2NoZWNrYm94Jyl9XG4gICAqL1xuICB0eXBlOiAndGV4dCcgfCAnbnVtYmVyJyB8ICdkYXRlLXJhbmdlJyB8ICdzZWxlY3QnIHwgJ3NlYXJjaGFibGUtc2VsZWN0JyB8ICdjaGVja2JveCc7XG5cbiAgLyoqXG4gICAqIFRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBzZWxlY3QgdHlwZWQgZmllbGQgY2FuIGhhcyBtdWx0aXBsZSB2YWx1ZXMgb3Igbm90LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgZmlsdGVyIGZpZWxkIHNob3VsZCBza2lwIHNhdmluZyBpdHMgdmFsdWUgdG8gbG9jYWxTdG9yYWdlLlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGZpZWxkIHdpbGwgYWx3YXlzIHVzZSB0aGUgZGVmaW5lZCBpbml0aWFsVmFsdWUgaW5zdGVhZCBvZiBhbnkgc2F2ZWQgdmFsdWUuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgaXNJcnJlc29sdXRlPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -10,6 +10,7 @@ export const refreshTokenInterceptor = (request, next) => {
10
10
  return throwError(() => errors[0]);
11
11
  }
12
12
  return authService.refreshToken({ refreshToken: AuthService.refreshToken }).pipe(switchMap(({ data }) => {
13
+ console.log('data new refersh token: ', data);
13
14
  const { accessToken, refreshToken } = data.authMsRefreshAccessToken;
14
15
  AuthService.authToken = accessToken;
15
16
  AuthService.refreshToken = refreshToken;
@@ -41,6 +42,7 @@ export class RefreshTokenInterceptor {
41
42
  return next.handle(request).pipe(catchError(({ error: { errors } }) => {
42
43
  if (errors[0].extensions.code === 'USER_INVALID_TOKEN') {
43
44
  return this.authService.refreshToken({ refreshToken: AuthService.refreshToken }).pipe(switchMap(({ data }) => {
45
+ console.log('data new refresh token: ', data);
44
46
  const { accessToken, refreshToken } = data.authMsRefreshAccessToken;
45
47
  AuthService.authToken = accessToken;
46
48
  AuthService.refreshToken = refreshToken;
@@ -72,4 +74,4 @@ export class RefreshTokenInterceptor {
72
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RefreshTokenInterceptor, decorators: [{
73
75
  type: Injectable
74
76
  }], ctorParameters: () => [{ type: i1.AuthService }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC10b2tlbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvaW50ZXJjZXB0b3JzL3JlZnJlc2gtdG9rZW4vcmVmcmVzaC10b2tlbi5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFjLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFN0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXNCLENBQ3hELE9BQXlCLEVBQ3pCLElBQW1CLEVBQ1MsRUFBRTtJQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN2QixVQUFVLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNuQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLG9CQUFvQixFQUFFLENBQUM7WUFDdkQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzlFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNyQixNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxH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QVcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO29CQUMzQixXQUFXLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO29CQUVsQyxRQUFRLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztvQkFDOUIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7WUFDSixDQUFDO1lBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBN0NVLHVCQUF1QjttSEFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSGFuZGxlckZuLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBJbnRlcmNlcHRvckZuLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCByZWZyZXNoVG9rZW5JbnRlcmNlcHRvcjogSHR0cEludGVyY2VwdG9yRm4gPSAoXG4gIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIFxuICBuZXh0OiBIdHRwSGFuZGxlckZuXG4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiA9PiB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcblxuICByZXR1cm4gbmV4dChyZXF1ZXN0KS5waXBlKFxuICAgIGNhdGNoRXJyb3IoKHsgZXJyb3I6IHsgZXJyb3JzIH0gfSkgPT4ge1xuICAgICAgaWYgKGVycm9yc1swXS5leHRlbnNpb25zLmNvZGUgIT09ICdVU0VSX0lOVkFMSURfVE9LRU4nKSB7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yc1swXSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoU2VydmljZS5yZWZyZXNoVG9rZW4oeyByZWZyZXNoVG9rZW46IEF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbiB9KS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSBkYXRhIS5hdXRoTXNSZWZyZXNoQWNjZXNzVG9rZW47XG5cbiAgICAgICAgICBBdXRoU2VydmljZS5hdXRoVG9rZW4gPSBhY2Nlc3NUb2tlbiE7XG4gICAgICAgICAgQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuID0gcmVmcmVzaFRva2VuITtcblxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoVG9rZW4nLCBhY2Nlc3NUb2tlbiEpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdyZWZyZXNoVG9rZW4nLCByZWZyZXNoVG9rZW4hKTtcblxuICAgICAgICAgIHJldHVybiBuZXh0KHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgICAgICBhdXRob3JpemF0aW9uOiBhY2Nlc3NUb2tlbiEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdyb2xlcycpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd1c2VyR3VpZCcpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdhdXRoVG9rZW4nKTtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgncmVmcmVzaFRva2VuJyk7XG5cbiAgICAgICAgICBBdXRoU2VydmljZS5hdXRoVG9rZW4gPSAnJztcbiAgICAgICAgICBBdXRoU2VydmljZS5yZWZyZXNoVG9rZW4gPSAnJztcbiAgICAgICAgICBhdXRoU2VydmljZS51c2VyID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgbG9jYXRpb24uaHJlZiA9ICcvYXV0aC9sb2dpbic7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3JzWzBdKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSlcbiAgKTtcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgLSBESSBiYXNlZCBpbnRlcmNlcHRvciB3aWxsIGJlIHJlbW92ZWQgYXQgdjE5LjAuMCwgdXNlIGZ1bmN0aW9uIGJhc2VkIGludGVyY2VwdG9yIGluc3RlYWRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlZnJlc2hUb2tlbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+e1xuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoeyBlcnJvcjogeyBlcnJvcnMgfSB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcnNbMF0uZXh0ZW5zaW9ucy5jb2RlID09PSAnVVNFUl9JTlZBTElEX1RPS0VOJykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbih7IHJlZnJlc2hUb2tlbjogQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuIH0pLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbiB9ID0gZGF0YSEuYXV0aE1zUmVmcmVzaEFjY2Vzc1Rva2VuO1xuXG4gICAgICAgICAgICAgIEF1dGhTZXJ2aWNlLmF1dGhUb2tlbiA9IGFjY2Vzc1Rva2VuITtcbiAgICAgICAgICAgICAgQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuID0gcmVmcmVzaFRva2VuITtcblxuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXV0aFRva2VuJywgYWNjZXNzVG9rZW4hKTtcbiAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3JlZnJlc2hUb2tlbicsIHJlZnJlc2hUb2tlbiEpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICBhdXRob3JpemF0aW9uOiBhY2Nlc3NUb2tlbiFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdyb2xlcycpO1xuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndXNlckd1aWQnKTtcbiAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2F1dGhUb2tlbicpO1xuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgncmVmcmVzaFRva2VuJyk7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBBdXRoU2VydmljZS5hdXRoVG9rZW4gPSAnJztcbiAgICAgICAgICAgICAgQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuID0gJyc7XG4gICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXNlciA9IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICBsb2NhdGlvbi5ocmVmID0gJy9hdXRoL2xvZ2luJztcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3JzWzBdKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yc1swXSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC10b2tlbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvaW50ZXJjZXB0b3JzL3JlZnJlc2gtdG9rZW4vcmVmcmVzaC10b2tlbi5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFjLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFN0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXNCLENBQ3hELE9BQXlCLEVBQ3pCLElBQW1CLEVBQ1MsRUFBRTtJQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN2QixVQUFVLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNuQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLG9CQUFvQixFQUFFLENBQUM7WUFDdkQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzlFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFF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QUFVLENBQUMsQ0FBQztvQkFDcEMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDckMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFFeEMsV0FBVyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7b0JBQzNCLFdBQVcsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO29CQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7b0JBRWxDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO29CQUM5QixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7WUFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0E5Q1UsdUJBQXVCO21IQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBIYW5kbGVyRm4sIEh0dHBJbnRlcmNlcHRvciwgSHR0cEludGVyY2VwdG9yRm4sIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IHJlZnJlc2hUb2tlbkludGVyY2VwdG9yOiBIdHRwSW50ZXJjZXB0b3JGbiA9IChcbiAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgXG4gIG5leHQ6IEh0dHBIYW5kbGVyRm5cbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+ID0+IHtcbiAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuXG4gIHJldHVybiBuZXh0KHJlcXVlc3QpLnBpcGUoXG4gICAgY2F0Y2hFcnJvcigoeyBlcnJvcjogeyBlcnJvcnMgfSB9KSA9PiB7XG4gICAgICBpZiAoZXJyb3JzWzBdLmV4dGVuc2lvbnMuY29kZSAhPT0gJ1VTRVJfSU5WQUxJRF9UT0tFTicpIHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3JzWzBdKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbih7IHJlZnJlc2hUb2tlbjogQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuIH0pLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoeyBkYXRhIH0pID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnZGF0YSBuZXcgcmVmZXJzaCB0b2tlbjogJywgZGF0YSk7XG4gICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSBkYXRhIS5hdXRoTXNSZWZyZXNoQWNjZXNzVG9rZW47XG5cbiAgICAgICAgICBBdXRoU2VydmljZS5hdXRoVG9rZW4gPSBhY2Nlc3NUb2tlbiE7XG4gICAgICAgICAgQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuID0gcmVmcmVzaFRva2VuITtcblxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoVG9rZW4nLCBhY2Nlc3NUb2tlbiEpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdyZWZyZXNoVG9rZW4nLCByZWZyZXNoVG9rZW4hKTtcblxuICAgICAgICAgIHJldHVybiBuZXh0KHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgICAgICBhdXRob3JpemF0aW9uOiBhY2Nlc3NUb2tlbiEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdyb2xlcycpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd1c2VyR3VpZCcpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdhdXRoVG9rZW4nKTtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgncmVmcmVzaFRva2VuJyk7XG5cbiAgICAgICAgICBBdXRoU2VydmljZS5hdXRoVG9rZW4gPSAnJztcbiAgICAgICAgICBBdXRoU2VydmljZS5yZWZyZXNoVG9rZW4gPSAnJztcbiAgICAgICAgICBhdXRoU2VydmljZS51c2VyID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgbG9jYXRpb24uaHJlZiA9ICcvYXV0aC9sb2dpbic7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3JzWzBdKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSlcbiAgKTtcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgLSBESSBiYXNlZCBpbnRlcmNlcHRvciB3aWxsIGJlIHJlbW92ZWQgYXQgdjE5LjAuMCwgdXNlIGZ1bmN0aW9uIGJhc2VkIGludGVyY2VwdG9yIGluc3RlYWRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlZnJlc2hUb2tlbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+e1xuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoeyBlcnJvcjogeyBlcnJvcnMgfSB9KSA9PiB7XG4gICAgICAgIGlmIChlcnJvcnNbMF0uZXh0ZW5zaW9ucy5jb2RlID09PSAnVVNFUl9JTlZBTElEX1RPS0VOJykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbih7IHJlZnJlc2hUb2tlbjogQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuIH0pLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdkYXRhIG5ldyByZWZyZXNoIHRva2VuOiAnLCBkYXRhKTtcbiAgICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSBkYXRhIS5hdXRoTXNSZWZyZXNoQWNjZXNzVG9rZW47XG5cbiAgICAgICAgICAgICAgQXV0aFNlcnZpY2UuYXV0aFRva2VuID0gYWNjZXNzVG9rZW4hO1xuICAgICAgICAgICAgICBBdXRoU2VydmljZS5yZWZyZXNoVG9rZW4gPSByZWZyZXNoVG9rZW4hO1xuXG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoVG9rZW4nLCBhY2Nlc3NUb2tlbiEpO1xuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncmVmcmVzaFRva2VuJywgcmVmcmVzaFRva2VuISk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgIGF1dGhvcml6YXRpb246IGFjY2Vzc1Rva2VuIVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3JvbGVzJyk7XG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd1c2VyR3VpZCcpO1xuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aFRva2VuJyk7XG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdyZWZyZXNoVG9rZW4nKTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIEF1dGhTZXJ2aWNlLmF1dGhUb2tlbiA9ICcnO1xuICAgICAgICAgICAgICBBdXRoU2VydmljZS5yZWZyZXNoVG9rZW4gPSAnJztcbiAgICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS51c2VyID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgIGxvY2F0aW9uLmhyZWYgPSAnL2F1dGgvbG9naW4nO1xuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcnNbMF0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3JzWzBdKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -30,6 +30,16 @@ export class AuthService {
30
30
  mobileNumber
31
31
  name
32
32
  status
33
+ departments {
34
+ department {
35
+ hierarchyCode
36
+ hierarchyPath
37
+ name
38
+ guid
39
+ status
40
+ }
41
+ isLead
42
+ }
33
43
  }
34
44
  roles {
35
45
  guid
@@ -38,16 +48,6 @@ export class AuthService {
38
48
  isInternal
39
49
  status
40
50
  }
41
- departments {
42
- department {
43
- hierarchyCode
44
- hierarchyPath
45
- name
46
- guid
47
- status
48
- }
49
- isLead
50
- }
51
51
  }
52
52
  }
53
53
  `
@@ -55,6 +55,7 @@ export class AuthService {
55
55
  if (data?.authMsLogin) {
56
56
  const { accessToken, user, refreshToken, suggestedAction, roles } = data.authMsLogin;
57
57
  this.user = user;
58
+ this.user.roles = roles;
58
59
  this.user.photo = '/assets/imgs/profile.svg';
59
60
  AuthService.authToken = accessToken ?? '';
60
61
  AuthService.refreshToken = refreshToken ?? '';
@@ -152,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
152
153
  providedIn: 'root'
153
154
  }]
154
155
  }], ctorParameters: () => [{ type: i1.Apollo }, { type: i2.ProfileService }] });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUEwQixHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxPQUFPLEVBQXNGLGNBQWMsRUFBRSxlQUFlLEVBQVMsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQU94SyxNQUFNLE9BQU8sV0FBVzthQVFSLGNBQVMsR0FBVyxFQUFFLEFBQWIsQ0FBYzthQUN2QixpQkFBWSxHQUFXLEVBQUUsQUFBYixDQUFjO0lBU3hDLFlBQ3FCLE1BQWMsRUFDZCxjQUE4QjtRQUQ5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQy9DLENBQUM7SUFVRSxLQUFLLENBQUMsS0FBa0U7UUFDN0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBaUM7WUFDeEQsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFO1lBQ3BCLFFBQVEsRUFBRSxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUNaO1NBQ0YsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDZixJQUFJLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUVyRixJQUFJLENBQUMsSUFB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U0FBUztpQkFDVjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVFNLGNBQWMsQ0FBQyxLQUFtRDtRQUN2RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxHQUFHLENBQUE7Ozs7T0FJWjtZQUNELFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDOytHQS9NVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBvbGxvLCBNdXRhdGlvblJlc3VsdCwgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgRmV0Y2hQb2xpY3kgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IEFwcExvZ2luU3ViamVjdCwgQ2hhbmdlUGFzc1JxLCBMb2dpblJlc3BvbnNlLCBNdXRhdGlvbkF1dGhNc1JlZnJlc2hBY2Nlc3NUb2tlbkFyZ3MsIFNvdXJjZVBsYXRmb3JtLCBTdWdnZXN0ZWRBY3Rpb24sIFRva2VuIH0gZnJvbSAnLi4vLi4vLi4vZ3JhcGhxbC9nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICcuLi9wcm9maWxlL3Byb2ZpbGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcblxuICAvKipcbiAgICogQm90aCBgYXV0aFRva2VuYCBhbmQgYHJlZnJlc2hUb2tlbmAgYXJlIHB1YmxpYyBzdGF0aWMgdmFyaWFibGUgdG8gc3RvcmUgdGhlIGF1dGggdG9rZW4gYW5kIHJlZnJlc2ggdG9rZW4gb2J0YWluZWQgZm9ybSB0aGUgbG9naW4gQVBJLlxuICAgKiBUaGV5IHdpbGwgYmUgc2V0IGFzIGhlYWRlciBwYXJhbSBpbnNpZGUgQVBJIGNhbGxzLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhdXRoVG9rZW46IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc3RhdGljIHJlZnJlc2hUb2tlbjogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIEEgcHVibGljIHZhcmlhYmxlIHRvIHN0b3JlIHRoZSBsb2dpbmVkIHVzZXIgaW5mb3JtYXRpb24uXG4gICAqIEB0eXBlIHtVc2VyfSBBbiBpbnRlcmZhY2UgY29udGFpbiB1c2VyIGluZm9ybWF0aW9uLlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHB1YmxpYyB1c2VyPzogVXNlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBvbGxvOiBBcG9sbG8sXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZVxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0byBhdXRoZW50aWNhdGUgdGhlIHVzZXIgdG8gZ2V0IHRoZSBzZXNzaW9uIGZvciBhcHBsZXQgb3IgcGxhdGZvcm0uXG4gICAqIFdoZW4gc3VjY2Vzc2Z1bCBpdCB3aWxsIHNldCB0aGUgdXNlciBpbmZvcm1hdGlvbiB0byB0aGUgYHVzZXJgIHZhcmlhYmxlLCBgYXV0aFRva2VuYCBhbmQgYHJlZnJlc2hUb2tlbmAuXG4gICAqIEl0IHdpbGwgc2V0IHRoZSBgYXV0aFRva2VuYCwgYHJlZnJlc2hUb2tlbmAsIGB1c2VyR3VpZGAgYW5kIGByb2xlc2AgdG8gdGhlIGxvY2FsU3RvcmFnZSBhbHNvIGZvciBBUEkgY2FsbHMuXG4gICAqIEBwYXJhbSB7eyBlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBzb3VyY2VQbGF0Zm9ybTogc3RyaW5nIH19IGlucHV0IC0gQ29udGFpbiBgZW1haWxgIHdoaWNoIGlzIHJlZ2lzdGVyZWQgdXNlciBlbWFpbCwgYHBhc3N3b3JkYCB3aGljaCBpcyByZWdpc3RlcmVkIHVzZXIgcGFzc3dvcmRcbiAgICogYW5kIGBzb3VyY2VQbGF0Zm9ybWAgaXQncyB2YWx1ZSBjYW4gYmUgYEFETUlOYCB0byBnZXQgdGhlIGFwcGxldCBzZXNzaW9uIG9yIGBDUF9DT01NRVJDRWAgdG8gZ2V0IHRoZSBwbGF0Zm9ybSBzZXNzaW9uLlxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxNdXRhdGlvblJlc3VsdDx7IGF1dGhNc0xvZ2luOiBMb2dpblJlc3BvbnNlIH0+Pn0gQ29udGFpbiBsb2dpbmVkIHVzZXIgaW5mb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgbG9naW4oaW5wdXQ6IHsgZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgc291cmNlUGxhdGZvcm06IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxNdXRhdGlvblJlc3VsdDx7IGF1dGhNc0xvZ2luOiBMb2dpblJlc3BvbnNlIH0+PntcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8ubXV0YXRlPHsgYXV0aE1zTG9naW46IExvZ2luUmVzcG9uc2UgfT4oe1xuICAgICAgdmFyaWFibGVzOiB7IGlucHV0IH0sXG4gICAgICBtdXRhdGlvbjogZ3FsYFxuICAgICAgICBtdXRhdGlvbiBMb2dpbigkaW5wdXQ6IExvZ2luUnEhKSB7XG4gICAgICAgICAgYXV0aE1zTG9naW4oaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgYWNjZXNzVG9rZW5cbiAgICAgICAgICAgIHJlZnJlc2hUb2tlblxuICAgICAgICAgICAgc3VnZ2VzdGVkQWN0aW9uXG4gICAgICAgICAgICB1c2VyIHtcbiAgICAgICAgICAgICAgYmlydGhkYXlcbiAgICAgICAgICAgICAgY2F0ZWdvcnlcbiAgICAgICAgICAgICAgZW1haWxcbiAgICAgICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgICAgIGd1aWRcbiAgICAgICAgICAgICAgbW9iaWxlTnVtYmVyXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb2xlcyB7XG4gICAgICAgICAgICAgIGd1aWRcbiAgICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGlzSW50ZXJuYWxcbiAgICAgICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZXBhcnRtZW50cyB7XG4gICAgICAgICAgICAgIGRlcGFydG1lbnQge1xuICAgICAgICAgICAgICAgIGhpZXJhcmNoeUNvZGVcbiAgICAgICAgICAgICAgICBoaWVyYXJjaHlQYXRoXG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIGd1aWRcbiAgICAgICAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpc0xlYWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGBcbiAgICB9KS5waXBlKFxuICAgICAgdGFwKCh7IGRhdGEgfSkgPT4ge1xuICAgICAgICBpZiAoZGF0YT8uYXV0aE1zTG9naW4pIHtcbiAgICAgICAgICBjb25zdCB7IGFjY2Vzc1Rva2VuLCB1c2VyLCByZWZyZXNoVG9rZW4sIHN1Z2dlc3RlZEFjdGlvbiwgcm9sZXMgfSA9IGRhdGEuYXV0aE1zTG9naW47XG5cbiAgICAgICAgICB0aGlzLnVzZXIgPSB1c2VyIGFzIFVzZXI7XG4gICAgICAgICAgdGhpcy51c2VyIS5waG90byA9ICcvYXNzZXRzL2ltZ3MvcHJvZmlsZS5zdmcnO1xuICAgICAgICAgIEF1dGhTZXJ2aWNlLmF1dGhUb2tlbiA9IGFjY2Vzc1Rva2VuID8/ICcnO1xuICAgICAgICAgIEF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbiA9IHJlZnJlc2hUb2tlbiA/PyAnJztcblxuICAgICAgICAgIGlmIChzdWdnZXN0ZWRBY3Rpb24gIT09IFN1Z2dlc3RlZEFjdGlvbi5DaGFuZ2VQYXNzd29yZCApIHsgXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXV0aFRva2VuJywgQXV0aFNlcnZpY2UuYXV0aFRva2VuKTsgXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJHdWlkJywgdGhpcy51c2VyIS5ndWlkKTtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncm9sZXMnLCBKU09OLnN0cmluZ2lmeShyb2xlcykpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdyZWZyZXNoVG9rZW4nLCBBdXRoU2VydmljZS5yZWZyZXNoVG9rZW4pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCBieSB0aGUgYHJlZnJlc2hUb2tlbkludGVyY2VwdG9yYCwgdG8gZ2V0IHRoZSBuZXcgdG9rZW4gc2hvcnRseSBiZWZvcmUgdGhlIGF1dGggdG9rZW4gaXMgZXhwaXJlZC5cbiAgICogQHBhcmFtIHtNdXRhdGlvbkF1dGhNc1JlZnJlc2hBY2Nlc3NUb2tlbkFyZ3N9IHZhcmlhYmxlcyAtIENvbnRhaW4gYHJlZnJlc2hUb2tlbmAgYXR0cmlidXRlIHdoaWNoIGlzIHRoZSBjdXJyZW50IHJlZnJlc2ggdG9rZW4uXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PHsgYXV0aE1zUmVmcmVzaEFjY2Vzc1Rva2VuOiBUb2tlbiB9Pj59IENvbnRhaW4gbmV3IGBhdXRoVG9rZW5gIGFuZCBgcmVmcmVzaFRva2VuYC5cbiAgICovXG4gIHB1YmxpYyByZWZyZXNoVG9rZW4odmFyaWFibGVzOiBNdXRhdGlvbkF1dGhNc1JlZnJlc2hBY2Nlc3NUb2tlbkFyZ3MpOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PHsgYXV0aE1zUmVmcmVzaEFjY2Vzc1Rva2VuOiBUb2tlbiB9Pj57XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvLm11dGF0ZSh7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnb3BlcmF0aW9uLXR5cGUnOiAnTXV0YXRpb24nLFxuICAgICAgICAgICdvcGVyYXRpb24tbmFtZSc6ICdSZWZyZXNoVG9rZW4nXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB2YXJpYWJsZXMsXG4gICAgICBtdXRhdGlvbjogZ3FsYFxuICAgICAgICBtdXRhdGlvbiBSZWZyZXNoVG9rZW4oJHJlZnJlc2hUb2tlbjogU3RyaW5nISkge1xuICAgICAgICAgIGF1dGhNc1JlZnJlc2hBY2Nlc3NUb2tlbihyZWZyZXNoVG9rZW46ICRyZWZyZXNoVG9rZW4pIHtcbiAgICAgICAgICAgIGFjY2Vzc1Rva2VuXG4gICAgICAgICAgICByZWZyZXNoVG9rZW5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGBcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0byBzZXQgdGhlIHVzZXIgaW5mb3JtYXRpb24gdG8gdGhlIGB1c2VyYCB2YXJpYWJsZSB3aGVuIHRoZSB1c2VyIHJlZnJlc2ggdGhlIHBhZ2UuXG4gICAqIEJlY2F1c2Ugb2YgdGhlIHVzZXIgaW5mb3JtYXRpb24gb25seSBzdG9yZWQgaW4gdGhlIHZhcmlhYmxlIHNvIGl0IHdpbGwgZ29uZSB3aGlsZSB0aGUgcGFnZSByZWZyZXNoZWQgYW5kIG5lZWQgdG8gcmVzZXQgYWdhaW4uXG4gICAqIEBwYXJhbSB7RmV0Y2hQb2xpY3kgfCB1bmRlZmluZWR9IGZldGNoUG9saWN5IC0gU3BlY2lmaWVzIGhvdyBBcG9sbG8gQ2xpZW50IHNob3VsZCBoYW5kbGUgZGF0YSByZXRyaWV2YWwsXG4gICAqIGRldGVybWluaW5nIHdoZXRoZXIgaXQgc2hvdWxkIG1ha2UgYSBuZXR3b3JrIHJlcXVlc3QgdG8gZmV0Y2ggZnJlc2ggZGF0YSBmcm9tIHRoZSBzZXJ2ZXIgb3IgdXNlIGRhdGEgZnJvbSB0aGUgbG9jYWwgY2FjaGUuXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEFwcExvZ2luU3ViamVjdCB8IG51bGw+fVxuICAgKi9cbiAgcHVibGljIGdldFByb2ZpbGUoZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeSk6IE9ic2VydmFibGU8QXBwTG9naW5TdWJqZWN0IHwgbnVsbD57XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0TXlQcm9maWxlKGZldGNoUG9saWN5KS5waXBlKFxuICAgICAgdGFwKCh1c2VyOiBBcHBMb2dpblN1YmplY3QgfCBudWxsKSA9PiB7XG4gICAgICAgIGlmICghdXNlcikgcmV0dXJuO1xuICAgICAgICB0aGlzLnVzZXIgPSB7IC4uLnVzZXIsIHBob3RvOiAnL2Fzc2V0cy9pbWdzL3Byb2ZpbGUuc3ZnJyB9IGFzIFVzZXI7XG5cbiAgICAgICAgdXNlci5hcHBMb2dpbkV4dD8uZm9yRWFjaCgoeyBwYXJhbUNvZGUsIGZpbGU6IHsgcHVibGljVXJsIH19OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocGFyYW1Db2RlID09PSAnVVNFUl9QUk9GSUxFX1BIT1RPJykgdGhpcy51c2VyIS5waG90byA9IHB1YmxpY1VybDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXNlci5hcHBMb2dpblByaW5jaXBhbD8uZm9yRWFjaCgoeyBwcmluY2lwYWxJZCwgcHJpbmNpcGFsVHlwZSB9OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocHJpbmNpcGFsVHlwZSA9PT0gJ0VNQUlMX1VTRVJOQU1FJykgdGhpcy51c2VyIS5lbWFpbCA9IHByaW5jaXBhbElkO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0byBnZXQgdGhlIG90cCAvIHZlcmlmaWNhdGlvbiBjb2RlIGZvciByZXNldCBwYXNzd29yZCBwdXJwb3NlLlxuICAgKiBObyBuZWVkIGF1dGhvcml6YXRpb24gaGVhZGVyIHRvIGNhbGwgdGhpcyBBUEkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbWFpbCAtIENvbnRhaW4gcmVnaXN0ZXJlZCB1c2VyIGVtYWlsLlxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxNdXRhdGlvblJlc3VsdDxhbnk+Pn0gQ29udGFpbiBtZXNzYWdlIHN0YXRpbmcgdGhhdCB2ZXJpZmljYXRpb24gY29kZSBoYXMgYmVlbiBzZW50IHRvIHRoZSBlbWFpbC5cbiAgICovXG4gIHB1YmxpYyBpbml0Rm9yZ290UGFzc3dvcmQoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8TXV0YXRpb25SZXN1bHQ8YW55Pj57XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvLm11dGF0ZSh7XG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBlbWFpbCxcbiAgICAgICAgICBzb3VyY2VQbGF0Zm9ybTogU291cmNlUGxhdGZvcm0uQWRtaW5cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG11dGF0aW9uOiAgZ3FsYFxuICAgICAgICBtdXRhdGlvbiBJbml0Rm9yZ290UGFzc3dvcmQoJGlucHV0OiBGb3Jnb3RQYXNzT3RwUnEhKSB7XG4gICAgICAgICAgYXV0aE1zRm9yZ290UGFzc3dvcmRPdHAoaW5wdXQ6ICRpbnB1dClcbiAgICAgICAgfVxuICAgICAgYFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRvIGdlbmVyYXRlIG5ldyBwYXNzd29yZCB3aGVuIHRoZSB1c2VyIGZvcmdldHMgdGhlIHBhc3N3b3JkLlxuICAgKiBObyBuZWVkIGF1dGhvcml6YXRpb24gaGVhZGVyIGZvciB0aGlzIEFQSS5cbiAgICogQHBhcmFtIHt7IGNvbmZpcm06IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZywgcHJpbmNpcGFsSWQ6IHN0cmluZywgdmVyaWZDb2RlOiBzdHJpbmcsIHNvdXJjZVBsYXRmb3JtOiBzdHJpbmcgfX0gLSBDb250YWluIDpcbiAgICogbmV3UGFzc3dvcmQgLSB0aGUgbmV3IHBhc3N3b3JkLlxuICAgKiBjb25maXJtIC0gdGhlIGV4YWN0bHkgc2FtZSB3aXRoIHRoZSBuZXcgcGFzc3dvcmQuXG4gICAqIHByaW5jaXBhbElkIC0gcmVnaXN0ZXJlZCBlbWFpbCBvciBwaG9uZSBudW1iZXIgYXR0YWNoZWQgdG8gdXNlci5cbiAgICogdmVyaWZDb2RlIC0gb3RwIC8gdmVyaWZpY2F0aW9uIGNvZGUgdGhhdCBoYXMgYmVlbiBzZW50IHRvIGVtYWlsLlxuICAgKiBzb3VyY2VQbGF0Zm9ybSAtIGBBRE1JTmAgZm9yIGFwcGxldCBvciBgQ1BfQ09NTUVSQ0VgIGZvciBwbGF0Zm9ybS5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8TXV0YXRpb25SZXN1bHQ8YW55Pj59IENvbnRhaW4gbWVzc2FnZSBzdGF0aW5nIHRoYXQgdXNlciBzdWNjZXNzZnVsbHkgLyBmYWlsZWQgdG8gcmVzZXQgdGhlIHBhc3N3b3JkLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZU5ld1Bhc3N3b3JkKHsgbmV3UGFzc3dvcmQsIHByaW5jaXBhbElkLCBzb3VyY2VQbGF0Zm9ybSwgdmVyaWZDb2RlIH06IHsgY29uZmlybTogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nLCBwcmluY2lwYWxJZDogc3RyaW5nLCB2ZXJpZkNvZGU6IHN0cmluZywgc291cmNlUGxhdGZvcm06IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxNdXRhdGlvblJlc3VsdDxhbnk+PntcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8ubXV0YXRlKHtcbiAgICAgIG11dGF0aW9uIDogZ3FsYFxuICAgICAgICBtdXRhdGlvbiBTdWJtaXRGb3Jnb3RQYXNzd29yZCgkaW5wdXQ6IEZvcmdvdFBhc3NScSEpIHtcbiAgICAgICAgICBhdXRoTXNGb3Jnb3RQYXNzd29yZChpbnB1dDogJGlucHV0KVxuICAgICAgICB9XG4gICAgICBgLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgbmV3UGFzc3dvcmQsXG4gICAgICAgICAgcHJpbmNpcGFsSWQsXG4gICAgICAgICAgc291cmNlUGxhdGZvcm0sXG4gICAgICAgICAgdmVyaWZDb2RlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0byB1cGRhdGUgdXNlcidzIHBhc3N3b3JkLlxuICAgKiBOZWVkIGF1dGhvcml6YXRpb24gaGVhZGVyIGZvciB0aGlzIEFQSS5cbiAgICogQHBhcmFtIHt7IG9sZFBhc3N3b3JkOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcgfX0gaW5wdXQgLSBDb250YWluIG9sZFBhc3N3b3JkIHdoaWNoIGlzIG9sZCAvIGN1cnJlbnQgcGFzc3dvcmQgYW5kIG5ld1Bhc3N3b3JkIHdoaWNoIGlzIHRoZSBuZXcgcGFzc3dvcmQuXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PHsgYXV0aE1zQ2hhbmdlUGFzc3dvcmQ6IENoYW5nZVBhc3NScSB9Pj59IENvbnRhaW4gbWVzc2FnZSBzdGF0aW5nIHRoZSBwYXNzd29yZCB1cGRhdGVkIHN1Y2Nlc3NmdWxseS5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVQYXNzd29yZChpbnB1dDogeyBvbGRQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PHsgYXV0aE1zQ2hhbmdlUGFzc3dvcmQ6IENoYW5nZVBhc3NScSB9Pj57XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvLm11dGF0ZSh7XG4gICAgICBtdXRhdGlvbjogZ3FsYFxuICAgICAgICBtdXRhdGlvbiBDaGFuZ2VQYXNzd29yZCgkaW5wdXQ6IENoYW5nZVBhc3NScSEpIHtcbiAgICAgICAgICBhdXRoTXNDaGFuZ2VQYXNzd29yZChpbnB1dDogJGlucHV0KVxuICAgICAgICB9XG4gICAgICBgLFxuICAgICAgdmFyaWFibGVzOiB7IGlucHV0IH1cbiAgICB9KTtcbiAgfVxufVxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUEwQixHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxPQUFPLEVBQXNGLGNBQWMsRUFBRSxlQUFlLEVBQVMsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQU94SyxNQUFNLE9BQU8sV0FBVzthQVFSLGNBQVMsR0FBVyxFQUFFLEFBQWIsQ0FBYzthQUN2QixpQkFBWSxHQUFXLEVBQUUsQUFBYixDQUFjO0lBU3hDLFlBQ3FCLE1BQWMsRUFDZCxjQUE4QjtRQUQ5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQy9DLENBQUM7SUFVRSxLQUFLLENBQUMsS0FBa0U7UUFDN0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBaUM7WUFDeEQsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFO1lBQ3BCLFFBQVEsRUFBRSxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUNaO1NBQ0YsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDZixJQUFJLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUVyRixJQUFJLENBQUMsSUFB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QUssRUFBRTtvQkFDTCxXQUFXO29CQUNYLFdBQVc7b0JBQ1gsY0FBYztvQkFDZCxTQUFTO2lCQUNWO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBUU0sY0FBYyxDQUFDLEtBQW1EO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLEdBQUcsQ0FBQTs7OztPQUlaO1lBQ0QsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBaE5VLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcG9sbG8sIE11dGF0aW9uUmVzdWx0LCBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBGZXRjaFBvbGljeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgQXBwTG9naW5TdWJqZWN0LCBDaGFuZ2VQYXNzUnEsIExvZ2luUmVzcG9uc2UsIE11dGF0aW9uQXV0aE1zUmVmcmVzaEFjY2Vzc1Rva2VuQXJncywgU291cmNlUGxhdGZvcm0sIFN1Z2dlc3RlZEFjdGlvbiwgVG9rZW4gfSBmcm9tICcuLi8uLi8uLi9ncmFwaHFsL2dlbmVyYXRlZCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQcm9maWxlU2VydmljZSB9IGZyb20gJy4uL3Byb2ZpbGUvcHJvZmlsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuXG4gIC8qKlxuICAgKiBCb3RoIGBhdXRoVG9rZW5gIGFuZCBgcmVmcmVzaFRva2VuYCBhcmUgcHVibGljIHN0YXRpYyB2YXJpYWJsZSB0byBzdG9yZSB0aGUgYXV0aCB0b2tlbiBhbmQgcmVmcmVzaCB0b2tlbiBvYnRhaW5lZCBmb3JtIHRoZSBsb2dpbiBBUEkuXG4gICAqIFRoZXkgd2lsbCBiZSBzZXQgYXMgaGVhZGVyIHBhcmFtIGluc2lkZSBBUEkgY2FsbHMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICcnXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGF1dGhUb2tlbjogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzdGF0aWMgcmVmcmVzaFRva2VuOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogQSBwdWJsaWMgdmFyaWFibGUgdG8gc3RvcmUgdGhlIGxvZ2luZWQgdXNlciBpbmZvcm1hdGlvbi5cbiAgICogQHR5cGUge1VzZXJ9IEFuIGludGVyZmFjZSBjb250YWluIHVzZXIgaW5mb3JtYXRpb24uXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcHVibGljIHVzZXI/OiBVc2VyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBhcG9sbG86IEFwb2xsbyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRvIGF1dGhlbnRpY2F0ZSB0aGUgdXNlciB0byBnZXQgdGhlIHNlc3Npb24gZm9yIGFwcGxldCBvciBwbGF0Zm9ybS5cbiAgICogV2hlbiBzdWNjZXNzZnVsIGl0IHdpbGwgc2V0IHRoZSB1c2VyIGluZm9ybWF0aW9uIHRvIHRoZSBgdXNlcmAgdmFyaWFibGUsIGBhdXRoVG9rZW5gIGFuZCBgcmVmcmVzaFRva2VuYC5cbiAgICogSXQgd2lsbCBzZXQgdGhlIGBhdXRoVG9rZW5gLCBgcmVmcmVzaFRva2VuYCwgYHVzZXJHdWlkYCBhbmQgYHJvbGVzYCB0byB0aGUgbG9jYWxTdG9yYWdlIGFsc28gZm9yIEFQSSBjYWxscy5cbiAgICogQHBhcmFtIHt7IGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIHNvdXJjZVBsYXRmb3JtOiBzdHJpbmcgfX0gaW5wdXQgLSBDb250YWluIGBlbWFpbGAgd2hpY2ggaXMgcmVnaXN0ZXJlZCB1c2VyIGVtYWlsLCBgcGFzc3dvcmRgIHdoaWNoIGlzIHJlZ2lzdGVyZWQgdXNlciBwYXNzd29yZFxuICAgKiBhbmQgYHNvdXJjZVBsYXRmb3JtYCBpdCdzIHZhbHVlIGNhbiBiZSBgQURNSU5gIHRvIGdldCB0aGUgYXBwbGV0IHNlc3Npb24gb3IgYENQX0NPTU1FUkNFYCB0byBnZXQgdGhlIHBsYXRmb3JtIHNlc3Npb24uXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PHsgYXV0aE1zTG9naW46IExvZ2luUmVzcG9uc2UgfT4+fSBDb250YWluIGxvZ2luZWQgdXNlciBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHB1YmxpYyBsb2dpbihpbnB1dDogeyBlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBzb3VyY2VQbGF0Zm9ybTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PHsgYXV0aE1zTG9naW46IExvZ2luUmVzcG9uc2UgfT4+e1xuICAgIHJldHVybiB0aGlzLmFwb2xsby5tdXRhdGU8eyBhdXRoTXNMb2dpbjogTG9naW5SZXNwb25zZSB9Pih7XG4gICAgICB2YXJpYWJsZXM6IHsgaW5wdXQgfSxcbiAgICAgIG11dGF0aW9uOiBncWxgXG4gICAgICAgIG11dGF0aW9uIExvZ2luKCRpbnB1dDogTG9naW5ScSEpIHtcbiAgICAgICAgICBhdXRoTXNMb2dpbihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBhY2Nlc3NUb2tlblxuICAgICAgICAgICAgcmVmcmVzaFRva2VuXG4gICAgICAgICAgICBzdWdnZXN0ZWRBY3Rpb25cbiAgICAgICAgICAgIHVzZXIge1xuICAgICAgICAgICAgICBiaXJ0aGRheVxuICAgICAgICAgICAgICBjYXRlZ29yeVxuICAgICAgICAgICAgICBlbWFpbFxuICAgICAgICAgICAgICBnZW5kZXJcbiAgICAgICAgICAgICAgZ3VpZFxuICAgICAgICAgICAgICBtb2JpbGVOdW1iZXJcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICAgICAgZGVwYXJ0bWVudHMge1xuICAgICAgICAgICAgICAgIGRlcGFydG1lbnQge1xuICAgICAgICAgICAgICAgICAgaGllcmFyY2h5Q29kZVxuICAgICAgICAgICAgICAgICAgaGllcmFyY2h5UGF0aFxuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgZ3VpZFxuICAgICAgICAgICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlzTGVhZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb2xlcyB7XG4gICAgICAgICAgICAgIGd1aWRcbiAgICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGlzSW50ZXJuYWxcbiAgICAgICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgXG4gICAgfSkucGlwZShcbiAgICAgIHRhcCgoeyBkYXRhIH0pID0+IHtcbiAgICAgICAgaWYgKGRhdGE/LmF1dGhNc0xvZ2luKSB7XG4gICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgdXNlciwgcmVmcmVzaFRva2VuLCBzdWdnZXN0ZWRBY3Rpb24sIHJvbGVzIH0gPSBkYXRhLmF1dGhNc0xvZ2luO1xuXG4gICAgICAgICAgdGhpcy51c2VyID0gdXNlciBhcyBVc2VyO1xuICAgICAgICAgIHRoaXMudXNlci5yb2xlcyA9IHJvbGVzIGFzIGFueTtcbiAgICAgICAgICB0aGlzLnVzZXIhLnBob3RvID0gJy9hc3NldHMvaW1ncy9wcm9maWxlLnN2Zyc7XG4gICAgICAgICAgQXV0aFNlcnZpY2UuYXV0aFRva2VuID0gYWNjZXNzVG9rZW4gPz8gJyc7XG4gICAgICAgICAgQXV0aFNlcnZpY2UucmVmcmVzaFRva2VuID0gcmVmcmVzaFRva2VuID8/ICcnO1xuXG4gICAgICAgICAgaWYgKHN1Z2dlc3RlZEFjdGlvbiAhPT0gU3VnZ2VzdGVkQWN0aW9uLkNoYW5nZVBhc3N3b3JkICkgeyBcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoVG9rZW4nLCBBdXRoU2VydmljZS5hdXRoVG9rZW4pOyBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlckd1aWQnLCB0aGlzLnVzZXIhLmd1aWQpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdyb2xlcycsIEpTT04uc3RyaW5naWZ5KHJvbGVzKSk7XG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3JlZnJlc2hUb2tlbicsIEF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbik7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIGJ5IHRoZSBgcmVmcmVzaFRva2VuSW50ZXJjZXB0b3JgLCB0byBnZXQgdGhlIG5ldyB0b2tlbiBzaG9ydGx5IGJlZm9yZSB0aGUgYXV0aCB0b2tlbiBpcyBleHBpcmVkLlxuICAgKiBAcGFyYW0ge011dGF0aW9uQXV0aE1zUmVmcmVzaEFjY2Vzc1Rva2VuQXJnc30gdmFyaWFibGVzIC0gQ29udGFpbiBgcmVmcmVzaFRva2VuYCBhdHRyaWJ1dGUgd2hpY2ggaXMgdGhlIGN1cnJlbnQgcmVmcmVzaCB0b2tlbi5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8TXV0YXRpb25SZXN1bHQ8eyBhdXRoTXNSZWZyZXNoQWNjZXNzVG9rZW46IFRva2VuIH0+Pn0gQ29udGFpbiBuZXcgYGF1dGhUb2tlbmAgYW5kIGByZWZyZXNoVG9rZW5gLlxuICAgKi9cbiAgcHVibGljIHJlZnJlc2hUb2tlbih2YXJpYWJsZXM6IE11dGF0aW9uQXV0aE1zUmVmcmVzaEFjY2Vzc1Rva2VuQXJncyk6IE9ic2VydmFibGU8TXV0YXRpb25SZXN1bHQ8eyBhdXRoTXNSZWZyZXNoQWNjZXNzVG9rZW46IFRva2VuIH0+PntcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8ubXV0YXRlKHtcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdvcGVyYXRpb24tdHlwZSc6ICdNdXRhdGlvbicsXG4gICAgICAgICAgJ29wZXJhdGlvbi1uYW1lJzogJ1JlZnJlc2hUb2tlbidcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHZhcmlhYmxlcyxcbiAgICAgIG11dGF0aW9uOiBncWxgXG4gICAgICAgIG11dGF0aW9uIFJlZnJlc2hUb2tlbigkcmVmcmVzaFRva2VuOiBTdHJpbmchKSB7XG4gICAgICAgICAgYXV0aE1zUmVmcmVzaEFjY2Vzc1Rva2VuKHJlZnJlc2hUb2tlbjogJHJlZnJlc2hUb2tlbikge1xuICAgICAgICAgICAgYWNjZXNzVG9rZW5cbiAgICAgICAgICAgIHJlZnJlc2hUb2tlblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRvIHNldCB0aGUgdXNlciBpbmZvcm1hdGlvbiB0byB0aGUgYHVzZXJgIHZhcmlhYmxlIHdoZW4gdGhlIHVzZXIgcmVmcmVzaCB0aGUgcGFnZS5cbiAgICogQmVjYXVzZSBvZiB0aGUgdXNlciBpbmZvcm1hdGlvbiBvbmx5IHN0b3JlZCBpbiB0aGUgdmFyaWFibGUgc28gaXQgd2lsbCBnb25lIHdoaWxlIHRoZSBwYWdlIHJlZnJlc2hlZCBhbmQgbmVlZCB0byByZXNldCBhZ2Fpbi5cbiAgICogQHBhcmFtIHtGZXRjaFBvbGljeSB8IHVuZGVmaW5lZH0gZmV0Y2hQb2xpY3kgLSBTcGVjaWZpZXMgaG93IEFwb2xsbyBDbGllbnQgc2hvdWxkIGhhbmRsZSBkYXRhIHJldHJpZXZhbCxcbiAgICogZGV0ZXJtaW5pbmcgd2hldGhlciBpdCBzaG91bGQgbWFrZSBhIG5ldHdvcmsgcmVxdWVzdCB0byBmZXRjaCBmcmVzaCBkYXRhIGZyb20gdGhlIHNlcnZlciBvciB1c2UgZGF0YSBmcm9tIHRoZSBsb2NhbCBjYWNoZS5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8QXBwTG9naW5TdWJqZWN0IHwgbnVsbD59XG4gICAqL1xuICBwdWJsaWMgZ2V0UHJvZmlsZShmZXRjaFBvbGljeT86IEZldGNoUG9saWN5KTogT2JzZXJ2YWJsZTxBcHBMb2dpblN1YmplY3QgfCBudWxsPntcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5nZXRNeVByb2ZpbGUoZmV0Y2hQb2xpY3kpLnBpcGUoXG4gICAgICB0YXAoKHVzZXI6IEFwcExvZ2luU3ViamVjdCB8IG51bGwpID0+IHtcbiAgICAgICAgaWYgKCF1c2VyKSByZXR1cm47XG4gICAgICAgIHRoaXMudXNlciA9IHsgLi4udXNlciwgcGhvdG86ICcvYXNzZXRzL2ltZ3MvcHJvZmlsZS5zdmcnIH0gYXMgVXNlcjtcblxuICAgICAgICB1c2VyLmFwcExvZ2luRXh0Py5mb3JFYWNoKCh7IHBhcmFtQ29kZSwgZmlsZTogeyBwdWJsaWNVcmwgfX06IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChwYXJhbUNvZGUgPT09ICdVU0VSX1BST0ZJTEVfUEhPVE8nKSB0aGlzLnVzZXIhLnBob3RvID0gcHVibGljVXJsO1xuICAgICAgICB9KTtcblxuICAgICAgICB1c2VyLmFwcExvZ2luUHJpbmNpcGFsPy5mb3JFYWNoKCh7IHByaW5jaXBhbElkLCBwcmluY2lwYWxUeXBlIH06IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChwcmluY2lwYWxUeXBlID09PSAnRU1BSUxfVVNFUk5BTUUnKSB0aGlzLnVzZXIhLmVtYWlsID0gcHJpbmNpcGFsSWQ7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRvIGdldCB0aGUgb3RwIC8gdmVyaWZpY2F0aW9uIGNvZGUgZm9yIHJlc2V0IHBhc3N3b3JkIHB1cnBvc2UuXG4gICAqIE5vIG5lZWQgYXV0aG9yaXphdGlvbiBoZWFkZXIgdG8gY2FsbCB0aGlzIEFQSS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGVtYWlsIC0gQ29udGFpbiByZWdpc3RlcmVkIHVzZXIgZW1haWwuXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PGFueT4+fSBDb250YWluIG1lc3NhZ2Ugc3RhdGluZyB0aGF0IHZlcmlmaWNhdGlvbiBjb2RlIGhhcyBiZWVuIHNlbnQgdG8gdGhlIGVtYWlsLlxuICAgKi9cbiAgcHVibGljIGluaXRGb3Jnb3RQYXNzd29yZChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxNdXRhdGlvblJlc3VsdDxhbnk+PntcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8ubXV0YXRlKHtcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGVtYWlsLFxuICAgICAgICAgIHNvdXJjZVBsYXRmb3JtOiBTb3VyY2VQbGF0Zm9ybS5BZG1pblxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbXV0YXRpb246ICBncWxgXG4gICAgICAgIG11dGF0aW9uIEluaXRGb3Jnb3RQYXNzd29yZCgkaW5wdXQ6IEZvcmdvdFBhc3NPdHBScSEpIHtcbiAgICAgICAgICBhdXRoTXNGb3Jnb3RQYXNzd29yZE90cChpbnB1dDogJGlucHV0KVxuICAgICAgICB9XG4gICAgICBgXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQSBtZXRob2QgdG8gZ2VuZXJhdGUgbmV3IHBhc3N3b3JkIHdoZW4gdGhlIHVzZXIgZm9yZ2V0cyB0aGUgcGFzc3dvcmQuXG4gICAqIE5vIG5lZWQgYXV0aG9yaXphdGlvbiBoZWFkZXIgZm9yIHRoaXMgQVBJLlxuICAgKiBAcGFyYW0ge3sgY29uZmlybTogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nLCBwcmluY2lwYWxJZDogc3RyaW5nLCB2ZXJpZkNvZGU6IHN0cmluZywgc291cmNlUGxhdGZvcm06IHN0cmluZyB9fSAtIENvbnRhaW4gOlxuICAgKiBuZXdQYXNzd29yZCAtIHRoZSBuZXcgcGFzc3dvcmQuXG4gICAqIGNvbmZpcm0gLSB0aGUgZXhhY3RseSBzYW1lIHdpdGggdGhlIG5ldyBwYXNzd29yZC5cbiAgICogcHJpbmNpcGFsSWQgLSByZWdpc3RlcmVkIGVtYWlsIG9yIHBob25lIG51bWJlciBhdHRhY2hlZCB0byB1c2VyLlxuICAgKiB2ZXJpZkNvZGUgLSBvdHAgLyB2ZXJpZmljYXRpb24gY29kZSB0aGF0IGhhcyBiZWVuIHNlbnQgdG8gZW1haWwuXG4gICAqIHNvdXJjZVBsYXRmb3JtIC0gYEFETUlOYCBmb3IgYXBwbGV0IG9yIGBDUF9DT01NRVJDRWAgZm9yIHBsYXRmb3JtLlxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxNdXRhdGlvblJlc3VsdDxhbnk+Pn0gQ29udGFpbiBtZXNzYWdlIHN0YXRpbmcgdGhhdCB1c2VyIHN1Y2Nlc3NmdWxseSAvIGZhaWxlZCB0byByZXNldCB0aGUgcGFzc3dvcmQuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlTmV3UGFzc3dvcmQoeyBuZXdQYXNzd29yZCwgcHJpbmNpcGFsSWQsIHNvdXJjZVBsYXRmb3JtLCB2ZXJpZkNvZGUgfTogeyBjb25maXJtOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcsIHByaW5jaXBhbElkOiBzdHJpbmcsIHZlcmlmQ29kZTogc3RyaW5nLCBzb3VyY2VQbGF0Zm9ybTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PGFueT4+e1xuICAgIHJldHVybiB0aGlzLmFwb2xsby5tdXRhdGUoe1xuICAgICAgbXV0YXRpb24gOiBncWxgXG4gICAgICAgIG11dGF0aW9uIFN1Ym1pdEZvcmdvdFBhc3N3b3JkKCRpbnB1dDogRm9yZ290UGFzc1JxISkge1xuICAgICAgICAgIGF1dGhNc0ZvcmdvdFBhc3N3b3JkKGlucHV0OiAkaW5wdXQpXG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBuZXdQYXNzd29yZCxcbiAgICAgICAgICBwcmluY2lwYWxJZCxcbiAgICAgICAgICBzb3VyY2VQbGF0Zm9ybSxcbiAgICAgICAgICB2ZXJpZkNvZGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRvIHVwZGF0ZSB1c2VyJ3MgcGFzc3dvcmQuXG4gICAqIE5lZWQgYXV0aG9yaXphdGlvbiBoZWFkZXIgZm9yIHRoaXMgQVBJLlxuICAgKiBAcGFyYW0ge3sgb2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZyB9fSBpbnB1dCAtIENvbnRhaW4gb2xkUGFzc3dvcmQgd2hpY2ggaXMgb2xkIC8gY3VycmVudCBwYXNzd29yZCBhbmQgbmV3UGFzc3dvcmQgd2hpY2ggaXMgdGhlIG5ldyBwYXNzd29yZC5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8TXV0YXRpb25SZXN1bHQ8eyBhdXRoTXNDaGFuZ2VQYXNzd29yZDogQ2hhbmdlUGFzc1JxIH0+Pn0gQ29udGFpbiBtZXNzYWdlIHN0YXRpbmcgdGhlIHBhc3N3b3JkIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVBhc3N3b3JkKGlucHV0OiB7IG9sZFBhc3N3b3JkOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8TXV0YXRpb25SZXN1bHQ8eyBhdXRoTXNDaGFuZ2VQYXNzd29yZDogQ2hhbmdlUGFzc1JxIH0+PntcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8ubXV0YXRlKHtcbiAgICAgIG11dGF0aW9uOiBncWxgXG4gICAgICAgIG11dGF0aW9uIENoYW5nZVBhc3N3b3JkKCRpbnB1dDogQ2hhbmdlUGFzc1JxISkge1xuICAgICAgICAgIGF1dGhNc0NoYW5nZVBhc3N3b3JkKGlucHV0OiAkaW5wdXQpXG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICB2YXJpYWJsZXM6IHsgaW5wdXQgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -2143,6 +2143,16 @@ class AuthService {
2143
2143
  mobileNumber
2144
2144
  name
2145
2145
  status
2146
+ departments {
2147
+ department {
2148
+ hierarchyCode
2149
+ hierarchyPath
2150
+ name
2151
+ guid
2152
+ status
2153
+ }
2154
+ isLead
2155
+ }
2146
2156
  }
2147
2157
  roles {
2148
2158
  guid
@@ -2151,16 +2161,6 @@ class AuthService {
2151
2161
  isInternal
2152
2162
  status
2153
2163
  }
2154
- departments {
2155
- department {
2156
- hierarchyCode
2157
- hierarchyPath
2158
- name
2159
- guid
2160
- status
2161
- }
2162
- isLead
2163
- }
2164
2164
  }
2165
2165
  }
2166
2166
  `
@@ -2168,6 +2168,7 @@ class AuthService {
2168
2168
  if (data?.authMsLogin) {
2169
2169
  const { accessToken, user, refreshToken, suggestedAction, roles } = data.authMsLogin;
2170
2170
  this.user = user;
2171
+ this.user.roles = roles;
2171
2172
  this.user.photo = '/assets/imgs/profile.svg';
2172
2173
  AuthService.authToken = accessToken ?? '';
2173
2174
  AuthService.refreshToken = refreshToken ?? '';
@@ -2614,27 +2615,29 @@ class FilterComponent {
2614
2615
  this.initialItems = new Map();
2615
2616
  }
2616
2617
  ngOnInit() {
2617
- this.config.fields.forEach(({ key, initialValue, initialItems }) => {
2618
+ this.config.fields.forEach(({ key, initialValue, initialItems, isIrresolute }) => {
2618
2619
  if (typeof key !== 'string') {
2619
- key.forEach((k, i) => this.createFormControl(k, initialValue?.at(i)));
2620
+ key.forEach((k, i) => this.createFormControl(k, initialValue?.at(i), isIrresolute));
2620
2621
  }
2621
2622
  else {
2622
2623
  if (initialItems) {
2623
2624
  this.initialItems.set(key, initialItems);
2624
2625
  }
2625
- this.createFormControl(key, initialValue);
2626
+ this.createFormControl(key, initialValue, isIrresolute);
2626
2627
  }
2627
2628
  });
2628
2629
  const savedState = localStorage.getItem(`${this.id}`);
2629
- if (savedState) {
2630
- const state = JSON.parse(savedState);
2631
- this.activeFilter = state.activeFilter;
2632
- if (state.initialItems) {
2633
- this.initialItems = new Map(Object.entries(state.initialItems));
2634
- }
2635
- this.form.patchValue(state.formValues);
2630
+ if (!savedState) {
2636
2631
  this.emitValue();
2632
+ return;
2633
+ }
2634
+ const state = JSON.parse(savedState);
2635
+ this.activeFilter = state.activeFilter;
2636
+ if (state.initialItems) {
2637
+ this.initialItems = new Map(Object.entries(state.initialItems));
2637
2638
  }
2639
+ this.form.patchValue(state.formValues);
2640
+ this.emitValue();
2638
2641
  }
2639
2642
  close() {
2640
2643
  this.popoverCtrl.dismiss();
@@ -2649,6 +2652,10 @@ class FilterComponent {
2649
2652
  removeFilter(i) {
2650
2653
  this.form.controls[this.activeFilter[i].key].setValue('');
2651
2654
  this.activeFilter.splice(i, 1);
2655
+ if (this.activeFilter.length === 0) {
2656
+ this.clear();
2657
+ return;
2658
+ }
2652
2659
  this.emitValue();
2653
2660
  }
2654
2661
  search() {
@@ -2726,12 +2733,14 @@ class FilterComponent {
2726
2733
  this.onSearch.emit({ mode: this.config.mode, data: flag ? data : null });
2727
2734
  this.saveState();
2728
2735
  }
2729
- createFormControl(key, val) {
2736
+ createFormControl(key, val, isIrresolute) {
2730
2737
  this.form.addControl(key, new FormControl(''));
2731
2738
  if (val) {
2732
2739
  this.form.controls[key].setValue(val);
2733
2740
  this.processFilter(key, val);
2734
- this.saveState();
2741
+ if (!isIrresolute) {
2742
+ this.saveState();
2743
+ }
2735
2744
  }
2736
2745
  }
2737
2746
  saveState() {
@@ -3939,6 +3948,7 @@ const refreshTokenInterceptor = (request, next) => {
3939
3948
  return throwError(() => errors[0]);
3940
3949
  }
3941
3950
  return authService.refreshToken({ refreshToken: AuthService.refreshToken }).pipe(switchMap(({ data }) => {
3951
+ console.log('data new refersh token: ', data);
3942
3952
  const { accessToken, refreshToken } = data.authMsRefreshAccessToken;
3943
3953
  AuthService.authToken = accessToken;
3944
3954
  AuthService.refreshToken = refreshToken;
@@ -3970,6 +3980,7 @@ class RefreshTokenInterceptor {
3970
3980
  return next.handle(request).pipe(catchError(({ error: { errors } }) => {
3971
3981
  if (errors[0].extensions.code === 'USER_INVALID_TOKEN') {
3972
3982
  return this.authService.refreshToken({ refreshToken: AuthService.refreshToken }).pipe(switchMap(({ data }) => {
3983
+ console.log('data new refresh token: ', data);
3973
3984
  const { accessToken, refreshToken } = data.authMsRefreshAccessToken;
3974
3985
  AuthService.authToken = accessToken;
3975
3986
  AuthService.refreshToken = refreshToken;