ngx-vector-components 0.0.11 → 0.0.12

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.
@@ -24,6 +24,28 @@ export class MenuComponent {
24
24
  this.onFinishMenuOptionsConfig = new EventEmitter();
25
25
  this._opened = true;
26
26
  this.subscription = new Subscription();
27
+ this.currentWindowWidth = 0;
28
+ }
29
+ set opened(opened) {
30
+ this._opened = opened;
31
+ this.menuService.menuOpened$.next(this.opened);
32
+ }
33
+ get opened() {
34
+ return this._opened;
35
+ }
36
+ get hasFintechAdminPermission() {
37
+ return this.profileService.hasFintechAdminPermission;
38
+ }
39
+ get hasMarketplaceAdminPermission() {
40
+ return this.profileService.hasMarketplaceAdminPermission;
41
+ }
42
+ get hasAnyMarketplacePermission() {
43
+ return this.profileService.hasAnyMarketplacePermission;
44
+ }
45
+ get hasAnyFintechPermission() {
46
+ return this.profileService.hasAnyFintechPermission;
47
+ }
48
+ ngOnInit() {
27
49
  this.subscription.add(this.menuService.toggleMenu$.subscribe(() => {
28
50
  this.toggleMenu();
29
51
  }));
@@ -67,25 +89,6 @@ export class MenuComponent {
67
89
  }));
68
90
  this.currentWindowWidth = window.innerWidth;
69
91
  }
70
- set opened(opened) {
71
- this._opened = opened;
72
- this.menuService.menuOpened$.next(this.opened);
73
- }
74
- get opened() {
75
- return this._opened;
76
- }
77
- get hasFintechAdminPermission() {
78
- return this.profileService.hasFintechAdminPermission;
79
- }
80
- get hasMarketplaceAdminPermission() {
81
- return this.profileService.hasMarketplaceAdminPermission;
82
- }
83
- get hasAnyMarketplacePermission() {
84
- return this.profileService.hasAnyMarketplacePermission;
85
- }
86
- get hasAnyFintechPermission() {
87
- return this.profileService.hasAnyFintechPermission;
88
- }
89
92
  onResize() {
90
93
  if (this.opened && this.currentWindowWidth !== window.innerWidth) {
91
94
  this.clearAndCloseMenu();
@@ -263,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
263
266
  type: HostListener,
264
267
  args: ['document:keydown.escape', ['$event']]
265
268
  }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBWSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7QUFrRXZELE1BQU0sT0FBTyxhQUFhO0lBMEN4QixZQUNVLFdBQXdCLEVBQ3hCLE1BQWMsRUFDZCxjQUE4QixFQUM5QixjQUE4QixFQUNQLFdBQWdCLEVBQ3BCLFVBQWtCO1FBTHJDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1AsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQS9DeEMsWUFBTyxHQUFlLEVBQUUsQ0FBQztRQUd6QixlQUFVLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFD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OzRCQUNELEtBQUssQ0FDSCxHQUFHLEVBQ0gsS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLFdBQVcsRUFBRSxLQUFLO2dDQUNsQixLQUFLLEVBQUUsTUFBTTs2QkFDZCxDQUFDLENBQ0g7NEJBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt5QkFDcEQsQ0FBQzt3QkFDRixPQUFPLENBQUMsa0JBQWtCLEVBQUU7NEJBQzFCLEtBQUssQ0FDSCxHQUFHLEVBQ0gsS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLE1BQU0sRUFBRSxJQUFJOzZCQUNiLENBQUMsQ0FDSDs0QkFDRCxLQUFLLENBQ0gsR0FBRyxFQUNILEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixNQUFNLEVBQUUsYUFBYTs2QkFDdEIsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7eUJBQ3BELENBQUM7cUJBQ0g7OzBCQWlERSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLFNBQVM7NENBckNaLHlCQUF5QjtzQkFEL0IsTUFBTTtnQkE4RlAsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTekMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcE5hbWUsIE1lbnVJdGVtLCBSb2xlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgTWVudVNlcnZpY2UsIFByb2ZpbGVTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignc2lkZUluT3V0JywgW3N0YXRlKCdpbicsIHN0eWxlKHsgd2lkdGg6ICc2MHB4JyB9KSksIHN0YXRlKCdvdXQnLCBzdHlsZSh7IHdpZHRoOiAnMjUwcHgnIH0pKV0pLFxyXG4gICAgdHJpZ2dlcignZmFkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnMCcsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogMCxcclxuICAgICAgICAgIHdpZHRoOiAnMCUnLFxyXG4gICAgICAgICAgJ2ZvbnQtc2l6ZSc6ICcwZW0nLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcxJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgJ2ZvbnQtc2l6ZSc6ICcxZW0nLFxyXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKCcwIDw9PiAxJywgYW5pbWF0ZSgnMzUwbXMgZWFzZS1pbi1vdXQnKSksXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ2ZhZGVTZWFyY2hJbk91dCcsIFtcclxuICAgICAgc3RhdGUoXHJcbiAgICAgICAgJzAnLFxyXG4gICAgICAgIHN0eWxlKHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAsXHJcbiAgICAgICAgICB3aWR0aDogJzAlJyxcclxuICAgICAgICAgICdmb250LXNpemUnOiAnMGVtJyxcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnMScsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICAgICdmb250LXNpemUnOiAnMWVtJyxcclxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgfSlcclxuICAgICAgKSxcclxuICAgICAgdHJhbnNpdGlvbignMCA8PT4gMScsIGFuaW1hdGUoJzM1MG1zIGVhc2UtaW4tb3V0JykpLFxyXG4gICAgXSksXHJcbiAgICB0cmlnZ2VyKCdzdWJtZW51RmFkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnMCcsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogMCxcclxuICAgICAgICAgIGhlaWdodDogJzAlJyxcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnMScsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICAgIGhlaWdodDogJ2ZpdC1jb250ZW50JyxcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKCcwIDw9PiAxJywgYW5pbWF0ZSgnMzUwbXMgZWFzZS1pbi1vdXQnKSksXHJcbiAgICBdKSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIG9wdGlvbnM6IE1lbnVJdGVtW10gPSBbXTtcclxuICBwdWJsaWMgYWN0aXZlT3B0aW9uOiBNZW51SXRlbSB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgYWN0aXZlU3VibWVudU9wdGlvbjogTWVudUl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHdpZHRoU3R5bGUgPSB7IHdpZHRoOiAnMjUwcHgnIH07XHJcbiAgcHVibGljIGxhc3RBbmltYXRpb24gPSAnb3V0JztcclxuICBwdWJsaWMgYXBwTmFtZUxhYmVsID0gdGhpcy5lbnZpcm9ubWVudC5hcHBOYW1lO1xyXG4gIHB1YmxpYyBhZG1pbk9wdGlvbjogTWVudUl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGFwcHMgPSBBcHBOYW1lO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25GaW5pc2hNZW51T3B0aW9uc0NvbmZpZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBzZXQgb3BlbmVkKG9wZW5lZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fb3BlbmVkID0gb3BlbmVkO1xyXG4gICAgdGhpcy5tZW51U2VydmljZS5tZW51T3BlbmVkJC5uZXh0KHRoaXMub3BlbmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgb3BlbmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX29wZW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaGFzRmludGVjaEFkbWluUGVybWlzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmhhc0ZpbnRlY2hBZG1pblBlcm1pc3Npb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc01hcmtldHBsYWNlQWRtaW5QZXJtaXNzaW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UuaGFzTWFya2V0cGxhY2VBZG1pblBlcm1pc3Npb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc0FueU1hcmtldHBsYWNlUGVybWlzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmhhc0FueU1hcmtldHBsYWNlUGVybWlzc2lvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaGFzQW55RmludGVjaFBlcm1pc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5oYXNBbnlGaW50ZWNoUGVybWlzc2lvbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5lZCA9IHRydWU7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgcHJpdmF0ZSBjdXJyZW50V2luZG93V2lkdGg6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksXHJcbiAgICBASW5qZWN0KCdhcHBOYW1lJykgcHJpdmF0ZSBjdXJyZW50QXBwOiBzdHJpbmdcclxuICApIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5tZW51U2VydmljZS50b2dnbGVNZW51JC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudG9nZ2xlTWVudSgpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMucHJvZmlsZVNlcnZpY2UubW9kdWxlUHJvZmlsZSQuc3Vic2NyaWJlKChwcm9maWxlKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb2ZpbGUpIHtcclxuICAgICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFJvbGUoKTtcclxuICAgICAgICAgIHRoaXMub3B0aW9ucyA9XHJcbiAgICAgICAgICAgIHJvbGUgPT09IFJvbGUuQURNSU5cclxuICAgICAgICAgICAgICA/IHRoaXMubWVudVNlcnZpY2UuZ2V0U2lkZUFkbWluTWVudU9wdGlvbnMoKVxyXG4gICAgICAgICAgICAgIDogdGhpcy5tZW51U2VydmljZS5nZXRTaWRlTWFpbk1lbnVPcHRpb25zKCk7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuaGFzRmludGVjaEFkbWluUGVybWlzc2lvbiB8fCB0aGlzLmhhc01hcmtldHBsYWNlQWRtaW5QZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRtaW5PcHRpb24gPSB7XHJcbiAgICAgICAgICAgICAgaWQ6IDk5OTk5LFxyXG4gICAgICAgICAgICAgIGxhYmVsOiAnQWRtaW4nLFxyXG4gICAgICAgICAgICAgIGljb25GaWxlTmFtZTogJ3ZlY3Rvcl9hZG1pbl9pY29uJyxcclxuICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hZG1pbk9wdGlvbi5jaGlsZHJlbj8ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBpZDogOTk5OTkxLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBZG1pbiBGaW50ZWNoJyxcclxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvUG9ydGFsKHsgcG9ydGFsOiAnZmludGVjaCcsIGFkbWluOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGhpZGRlbjogIXRoaXMuaGFzRmludGVjaEFkbWluUGVybWlzc2lvbixcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzTWFya2V0cGxhY2VBZG1pblBlcm1pc3Npb24pIHtcclxuICAgICAgICAgICAgICB0aGlzLmFkbWluT3B0aW9uLmNoaWxkcmVuPy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGlkOiA5OTk5OTIsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FkbWluIE1hcmtldHBsYWNlJyxcclxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvUG9ydGFsKHsgcG9ydGFsOiAnbWFya2V0cGxhY2UnLCBhZG1pbjogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBoaWRkZW46ICF0aGlzLmhhc01hcmtldHBsYWNlQWRtaW5QZXJtaXNzaW9uLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLm9uRmluaXNoTWVudU9wdGlvbnNDb25maWcuZW1pdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY3VycmVudFdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLm9wZW5lZCAmJiB0aGlzLmN1cnJlbnRXaW5kb3dXaWR0aCAhPT0gd2luZG93LmlubmVyV2lkdGgpIHtcclxuICAgICAgdGhpcy5jbGVhckFuZENsb3NlTWVudSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50V2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KCkge1xyXG4gICAgdGhpcy5jbGVhckFuZENsb3NlTWVudSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZDtcclxuICAgIGlmICghdGhpcy5vcGVuZWQpIHtcclxuICAgICAgdGhpcy5hY3RpdmVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIHRoaXMucmVzaXplTWVudSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTWVudUNsaWNrKG9wdGlvbjogTWVudUl0ZW0pIHtcclxuICAgIGlmICghb3B0aW9uLmFsd2F5c09wZW4pIHtcclxuICAgICAgaWYgKHRoaXMuYWN0aXZlT3B0aW9uPy5pZCA9PT0gb3B0aW9uLmlkKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVPcHRpb24gPSBvcHRpb24uY2hpbGRyZW4/Lmxlbmd0aCA/IG9wdGlvbiA6IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIW9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW29wdGlvbi5yb3V0ZV0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb24uY2hpbGRyZW4/Lmxlbmd0aCAmJiAhdGhpcy5vcGVuZWQpIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZU1lbnUoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TdWJtZW51Q2xpY2soc3VibWVudUl0ZW06IE1lbnVJdGVtKSB7XHJcbiAgICBpZiAoIXN1Ym1lbnVJdGVtLmFsd2F5c09wZW4pIHtcclxuICAgICAgaWYgKHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbj8uaWQgPT09IHN1Ym1lbnVJdGVtPy5pZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSBzdWJtZW51SXRlbS5jaGlsZHJlbj8ubGVuZ3RoID8gc3VibWVudUl0ZW0gOiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdWJtZW51SXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaWYgKHN1Ym1lbnVJdGVtLnJvdXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbc3VibWVudUl0ZW0ucm91dGVdKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHN1Ym1lbnVJdGVtLmNvbW1hbmQpIHtcclxuICAgICAgICAgIHN1Ym1lbnVJdGVtLmNvbW1hbmQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuVGVybXNPZlVzZSgpIHt9XHJcblxyXG4gIHB1YmxpYyBpc1BvcnRhbFNlbGVjdGVkKHBvcnRhbDogQXBwTmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEFwcCA9PT0gcG9ydGFsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5hdmlnYXRlVG9Qb3J0YWwocGFyYW1zOiB7IHBvcnRhbDogJ2ZpbnRlY2gnIHwgJ2xvZ3RlY2gnIHwgJ21hcmtldHBsYWNlJzsgYWRtaW46IGJvb2xlYW4gfSkge1xyXG4gICAgdGhpcy5hY3RpdmVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLm5hdmlnYXRlVG9Qb3J0YWwocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJBbmRDbG9zZU1lbnUoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5hY3RpdmVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnJlc2l6ZU1lbnUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzaXplTWVudSgpIHtcclxuICAgIHRoaXMubGFzdEFuaW1hdGlvbiA9IHRoaXMub3BlbmVkID8gJ291dCcgOiAnaW4nO1xyXG4gICAgdGhpcy53aWR0aFN0eWxlID0geyB3aWR0aDogdGhpcy5vcGVuZWQgPyAnMjUwcHgnIDogJzYwcHgnIH07XHJcbiAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXRNZW51cyhjbGVhciA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBjbGVhciA/IFtdIDogdGhpcy5vcHRpb25zO1xyXG4gICAgdGhpcy5hZG1pbk9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIiwiPG5hdiBpZD1cIm1lbnVcIiBbbmdTdHlsZV09XCJ3aWR0aFN0eWxlXCIgW0BzaWRlSW5PdXRdPVwibGFzdEFuaW1hdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItbWVudVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxvZ28tY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2dvXCIgW25nQ2xhc3NdPVwieyAnbG9nby1zbWFsbCc6ICFvcGVuZWQgfVwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1lbnUtc2VjdGlvbnNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXNlY3Rpb25cIj5cclxuICAgICAgPHNwYW4gW25nU3R5bGVdPVwieyBvcGFjaXR5OiBvcGVuZWQgPyAxIDogMCB9XCIgY2xhc3M9XCJtZW51LXNlY3Rpb24tdGl0bGVcIj5TRUxFw4fDg08gREUgUE9SVEFMPC9zcGFuPlxyXG4gICAgICA8dWwgY2xhc3M9XCJzaWRlLW1lbnVcIj5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3RlZC1wb3J0YWwnOiBpc1BvcnRhbFNlbGVjdGVkKGFwcHMuTE9HVEVDSCkgfVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKHsgcG9ydGFsOiAnbG9ndGVjaCcsIGFkbWluOiBmYWxzZSB9KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL2ljb25zL3ZlY3Rvcl9sb2d0ZWNoX2ljb24uc3ZnXCIgY2xhc3M9XCJtZW51LWljb25cIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+Q2FyZ2FzPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgKm5nSWY9XCJoYXNBbnlGaW50ZWNoUGVybWlzc2lvblwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInNpZGUtbWVudS1pdGVtXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc2VsZWN0ZWQtcG9ydGFsJzogaXNQb3J0YWxTZWxlY3RlZChhcHBzLkZJTlRFQ0gpIH1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1BvcnRhbCh7IHBvcnRhbDogJ2ZpbnRlY2gnLCBhZG1pbjogZmFsc2UgfSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pY29ucy92ZWN0b3JfZmludGVjaF9pY29uLnN2Z1wiIGNsYXNzPVwibWVudS1pY29uXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbFwiPkNhcnRlaXJhIGRpZ2l0YWw8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaT5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkLXBvcnRhbCc6IGlzUG9ydGFsU2VsZWN0ZWQoYXBwcy5NQVJLRVRQTEFDRSkgfVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKHsgcG9ydGFsOiAnbWFya2V0cGxhY2UnLCBhZG1pbjogZmFsc2UgfSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pY29ucy92ZWN0b3JfbWFya2V0cGxhY2VfaWNvbi5zdmdcIiBjbGFzcz1cIm1lbnUtaWNvblwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtbGFiZWxcIj5Db21idXN0w612ZWw8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSAqbmdJZj1cImFkbWluT3B0aW9uICYmIChoYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uIHx8IGhhc01hcmtldHBsYWNlQWRtaW5QZXJtaXNzaW9uKVwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInNpZGUtbWVudS1pdGVtXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTWVudUNsaWNrKGFkbWluT3B0aW9uKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZS1tZW51JzogYWN0aXZlT3B0aW9uPy5pZCA9PT0gYWRtaW5PcHRpb24uaWQgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL2ljb25zL3ZlY3Rvcl9hZG1pbl9pY29uLnN2Z1wiIGNsYXNzPVwibWVudS1pY29uXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbFwiPnt7IGFkbWluT3B0aW9uLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwib3BlbmVkICYmIGFkbWluT3B0aW9uLmNoaWxkcmVuPy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmFzIGFuZ2xlLWljb25cIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICdmYS1hbmdsZS1kb3duJzogYWN0aXZlT3B0aW9uPy5pZCAhPT0gYWRtaW5PcHRpb24uaWQsXHJcbiAgICAgICAgICAgICAgICAnZmEtYW5nbGUtdXAnOiBhY3RpdmVPcHRpb24/LmlkID09PSBhZG1pbk9wdGlvbi5pZFxyXG4gICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8dmVjdG9yLXN1Yi1tZW51cy1saXN0XHJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cImFkbWluT3B0aW9uLmNoaWxkcmVuXCJcclxuICAgICAgICAgICAgW3Nob3dMaXN0XT1cImFjdGl2ZU9wdGlvbj8uaWQgPT09IGFkbWluT3B0aW9uLmlkXCJcclxuICAgICAgICAgICAgW3N1Ym1lbnVTZWxlY3RlZF09XCJhY3RpdmVTdWJtZW51T3B0aW9uXCJcclxuICAgICAgICAgICAgKHN1Ym1lbnVTZWxlY3RlZENoYW5nZSk9XCJvblN1Ym1lbnVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgID48L3ZlY3Rvci1zdWItbWVudXMtbGlzdD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWVudS1zZWN0aW9uXCI+XHJcbiAgICAgIDxzcGFuIFtuZ1N0eWxlXT1cInsgb3BhY2l0eTogb3BlbmVkICYmIG9wdGlvbnM/Lmxlbmd0aCA/IDEgOiAwIH1cIiBjbGFzcz1cIm1lbnUtc2VjdGlvbi10aXRsZVwiPk1FTlU8L3NwYW4+XHJcbiAgICAgIDx1bCBjbGFzcz1cInNpZGUtbWVudVwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZS1tZW51JzogYWN0aXZlT3B0aW9uPy5pZCA9PT0gb3B0aW9uLmlkLCAnYWx3YXlzLW9wZW4nOiAhIW9wdGlvbi5hbHdheXNPcGVuIH1cIlxyXG4gICAgICAgICAgICBbcFRvb2x0aXBdPVwib3B0aW9uLmxhYmVsXCJcclxuICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25NZW51Q2xpY2sob3B0aW9uKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwib3B0aW9uLmljb25GaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIicuLi8uLi8uLi8uLi9hc3NldHMvaWNvbnMvJyArIG9wdGlvbi5pY29uRmlsZU5hbWUgKyAnLnN2ZydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWljb25cIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPGkgKm5nSWY9XCJvcHRpb24uaWNvblwiIGNsYXNzPVwibWVudS1pY29uIHt7IG9wdGlvbi5pY29uIH19XCI+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwib3BlbmVkICYmIG9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoICYmICFvcHRpb24uYWx3YXlzT3BlblwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgYW5nbGUtaWNvblwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLWRvd24nOiBhY3RpdmVPcHRpb24/LmlkICE9PSBvcHRpb24uaWQsXHJcbiAgICAgICAgICAgICAgICAnZmEtYW5nbGUtdXAnOiBhY3RpdmVPcHRpb24/LmlkID09PSBvcHRpb24uaWRcclxuICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHZlY3Rvci1zdWItbWVudXMtbGlzdFxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb24uY2hpbGRyZW5cIlxyXG4gICAgICAgICAgICBbc2hvd0xpc3RdPVwiYWN0aXZlT3B0aW9uPy5pZCA9PT0gb3B0aW9uLmlkIHx8ICghIW9wdGlvbi5hbHdheXNPcGVuICYmIG9wZW5lZClcIlxyXG4gICAgICAgICAgICBbc3VibWVudVNlbGVjdGVkXT1cImFjdGl2ZVN1Ym1lbnVPcHRpb25cIlxyXG4gICAgICAgICAgICAoc3VibWVudVNlbGVjdGVkQ2hhbmdlKT1cIm9uU3VibWVudUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvdmVjdG9yLXN1Yi1tZW51cy1saXN0PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyIHNpZGUtbWVudS1pdGVtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgPGltZyBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaWNvbnMvbWVudV9mb290ZXJfaWNvbi5zdmdcIiBjbGFzcz1cIm1lbnUtaWNvblwiIC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbCBmb290ZXItY29udGVudFwiPlxyXG4gICAgICA8c3Bhbj4gVmVqYSBub3NzbyA8YSAoY2xpY2spPVwib3BlblRlcm1zT2ZVc2UoKVwiPlRlcm1vIGRlIHVzbzwvYT4gPC9zcGFuPlxyXG4gICAgICA8c3Bhbj5lIDxhPlBvbMOtdGljYSBkZSBwcml2YWNpZGFkZTwvYT48L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbjwvbmF2PlxyXG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQVksSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBa0V2RCxNQUFNLE9BQU8sYUFBYTtJQXlDeEIsWUFDVSxXQUF3QixFQUN4QixNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsY0FBOEIsRUFDUCxXQUFnQixFQUNwQixVQUFrQjtRQUxyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNQLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVE7UUE5Q3hDLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFHekIsZUFBVSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFeEMsU0FBSSxHQUFHLE9BQU8sQ0FBQztRQUVaLDhCQUF5QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUEyQnRELFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO0lBU3BDLENBQUM7SUFwQ0osSUFBSSxNQUFNLENBQUMsTUFBZTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcseUJBQXlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBVyw2QkFBNkI7UUFDdEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDZCQUE2QixDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLDJCQUEyQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsdUJBQXVCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQztJQUNyRCxDQUFDO0lBZUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3ZELElBQUksT0FBTyxFQUFFO2dCQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxPQUFPO29CQUNWLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSzt3QkFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEVBQUU7d0JBQzVDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBRWhELElBQUksSUFBSSxDQUFDLHlCQUF5QixJQUFJLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtvQkFDeEUsSUFBSSxDQUFDLFdBQVcsR0FBRzt3QkFDakIsRUFBRSxFQUFFLEtBQUs7d0JBQ1QsS0FBSyxFQUFFLE9BQU87d0JBQ2QsWUFBWSxFQUFFLG1CQUFtQjt3QkFDakMsUUFBUSxFQUFFLEVBQUU7cUJBQ2IsQ0FBQztvQkFFRixJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRTt3QkFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDOzRCQUM5QixFQUFFLEVBQUUsTUFBTTs0QkFDVixLQUFLLEVBQUUsZUFBZTs0QkFDdEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQ0FDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDOzRCQUM1RCxDQUFDOzRCQUNELE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUI7eUJBQ3hDLENBQUMsQ0FBQztxQkFDSjtvQkFFRCxJQUFJLElBQUksQ0FBQyw2QkFBNkIsRUFBRTt3QkFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDOzRCQUM5QixFQUFFLEVBQUUsTUFBTTs0QkFDVixLQUFLLEVBQUUsbUJBQW1COzRCQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFO2dDQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7NEJBQ2hFLENBQUM7NEJBQ0QsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLDZCQUE2Qjt5QkFDNUMsQ0FBQyxDQUFDO3FCQUNKO2lCQUNGO2dCQUNELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0M7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDOUMsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDaEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUM5QyxDQUFDO0lBR0QsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxNQUFnQjtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2FBQy9CO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2FBQ2xFO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1lBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQjtZQUNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLFdBQXFCO1FBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsS0FBSyxXQUFXLEVBQUUsRUFBRSxFQUFFO2dCQUNwRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxXQUFXLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDbkY7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQ2pDLElBQUksV0FBVyxDQUFDLEtBQUssRUFBRTtvQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDM0M7cUJBQU0sSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO29CQUM5QixXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3ZCO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTSxjQUFjLEtBQUksQ0FBQztJQUVuQixnQkFBZ0IsQ0FBQyxNQUFlO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQXlFO1FBQy9GLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUs7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDOzswR0EvTFUsYUFBYSwrSEE4Q2QsYUFBYSxhQUNiLFNBQVM7OEZBL0NSLGFBQWEsZ1BDdEUxQix1NktBMkhBLHVpZ0JEaEhjO1FBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ25CLEtBQUssQ0FDSCxHQUFHLEVBQ0gsS0FBSyxDQUFDO2dCQUNKLE9BQU8sRUFBRSxDQUFDO2dCQUNWLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxLQUFLO2FBQ25CLENBQUMsQ0FDSDtZQUNELEtBQUssQ0FDSCxHQUFHLEVBQ0gsS0FBSyxDQUFDO2dCQUNKLE9BQU8sRUFBRSxDQUFDO2dCQUNWLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixLQUFLLEVBQUUsTUFBTTthQUNkLENBQUMsQ0FDSDtZQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDcEQsQ0FBQztRQUNGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtZQUN6QixLQUFLLENBQ0gsR0FBRyxFQUNILEtBQUssQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztnQkFDVixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsS0FBSzthQUNuQixDQUFDLENBQ0g7WUFDRCxLQUFLLENBQ0gsR0FBRyxFQUNILEtBQUssQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztnQkFDVixXQUFXLEVBQUUsS0FBSztnQkFDbEIsS0FBSyxFQUFFLE1BQU07YUFDZCxDQUFDLENBQ0g7WUFDRCxVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3BELENBQUM7UUFDRixPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDMUIsS0FBSyxDQUNILEdBQUcsRUFDSCxLQUFLLENBQUM7Z0JBQ0osT0FBTyxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDLENBQ0g7WUFDRCxLQUFLLENBQ0gsR0FBRyxFQUNILEtBQUssQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztnQkFDVixNQUFNLEVBQUUsYUFBYTthQUN0QixDQUFDLENBQ0g7WUFDRCxVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3BELENBQUM7S0FDSDsyRkFFVSxhQUFhO2tCQS9EekIsU0FBUzsrQkFDRSxhQUFhLGNBR1g7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDdEcsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsS0FBSyxDQUNILEdBQUcsRUFDSCxLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLElBQUk7Z0NBQ1gsV0FBVyxFQUFFLEtBQUs7NkJBQ25CLENBQUMsQ0FDSDs0QkFDRCxLQUFLLENBQ0gsR0FBRyxFQUNILEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixXQUFXLEVBQUUsS0FBSztnQ0FDbEIsS0FBSyxFQUFFLE1BQU07NkJBQ2QsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7eUJBQ3BELENBQUM7d0JBQ0YsT0FBTyxDQUFDLGlCQUFpQixFQUFFOzRCQUN6QixLQUFLLENBQ0gsR0FBRyxFQUNILEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsSUFBSTtnQ0FDWCxXQUFXLEVBQUUsS0FBSzs2QkFDbkIsQ0FBQyxDQUNIOzRCQUNELEtBQUssQ0FDSCxHQUFHLEVBQ0gsS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLFdBQVcsRUFBRSxLQUFLO2dDQUNsQixLQUFLLEVBQUUsTUFBTTs2QkFDZCxDQUFDLENBQ0g7NEJBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt5QkFDcEQsQ0FBQzt3QkFDRixPQUFPLENBQUMsa0JBQWtCLEVBQUU7NEJBQzFCLEtBQUssQ0FDSCxHQUFHLEVBQ0gsS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLE1BQU0sRUFBRSxJQUFJOzZCQUNiLENBQUMsQ0FDSDs0QkFDRCxLQUFLLENBQ0gsR0FBRyxFQUNILEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixNQUFNLEVBQUUsYUFBYTs2QkFDdEIsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7eUJBQ3BELENBQUM7cUJBQ0g7OzBCQWdERSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLFNBQVM7NENBckNULHlCQUF5QjtzQkFBbEMsTUFBTTtnQkErRlAsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTekMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXBwTmFtZSwgTWVudUl0ZW0sIFJvbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBNZW51U2VydmljZSwgUHJvZmlsZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzaWRlSW5PdXQnLCBbc3RhdGUoJ2luJywgc3R5bGUoeyB3aWR0aDogJzYwcHgnIH0pKSwgc3RhdGUoJ291dCcsIHN0eWxlKHsgd2lkdGg6ICcyNTBweCcgfSkpXSksXHJcbiAgICB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcwJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgd2lkdGg6ICcwJScsXHJcbiAgICAgICAgICAnZm9udC1zaXplJzogJzBlbScsXHJcbiAgICAgICAgfSlcclxuICAgICAgKSxcclxuICAgICAgc3RhdGUoXHJcbiAgICAgICAgJzEnLFxyXG4gICAgICAgIHN0eWxlKHtcclxuICAgICAgICAgIG9wYWNpdHk6IDEsXHJcbiAgICAgICAgICAnZm9udC1zaXplJzogJzFlbScsXHJcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oJzAgPD0+IDEnLCBhbmltYXRlKCczNTBtcyBlYXNlLWluLW91dCcpKSxcclxuICAgIF0pLFxyXG4gICAgdHJpZ2dlcignZmFkZVNlYXJjaEluT3V0JywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnMCcsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogMCxcclxuICAgICAgICAgIHdpZHRoOiAnMCUnLFxyXG4gICAgICAgICAgJ2ZvbnQtc2l6ZSc6ICcwZW0nLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcxJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgJ2ZvbnQtc2l6ZSc6ICcxZW0nLFxyXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKCcwIDw9PiAxJywgYW5pbWF0ZSgnMzUwbXMgZWFzZS1pbi1vdXQnKSksXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ3N1Ym1lbnVGYWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcwJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgaGVpZ2h0OiAnMCUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcxJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgaGVpZ2h0OiAnZml0LWNvbnRlbnQnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oJzAgPD0+IDEnLCBhbmltYXRlKCczNTBtcyBlYXNlLWluLW91dCcpKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBvcHRpb25zOiBNZW51SXRlbVtdID0gW107XHJcbiAgcHVibGljIGFjdGl2ZU9wdGlvbjogTWVudUl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGFjdGl2ZVN1Ym1lbnVPcHRpb246IE1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyB3aWR0aFN0eWxlID0geyB3aWR0aDogJzI1MHB4JyB9O1xyXG4gIHB1YmxpYyBsYXN0QW5pbWF0aW9uID0gJ291dCc7XHJcbiAgcHVibGljIGFwcE5hbWVMYWJlbCA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTmFtZTtcclxuICBwdWJsaWMgYWRtaW5PcHRpb246IE1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBhcHBzID0gQXBwTmFtZTtcclxuXHJcbiAgQE91dHB1dCgpIG9uRmluaXNoTWVudU9wdGlvbnNDb25maWcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgc2V0IG9wZW5lZChvcGVuZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX29wZW5lZCA9IG9wZW5lZDtcclxuICAgIHRoaXMubWVudVNlcnZpY2UubWVudU9wZW5lZCQubmV4dCh0aGlzLm9wZW5lZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG9wZW5lZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcGVuZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc0ZpbnRlY2hBZG1pblBlcm1pc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5oYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmhhc01hcmtldHBsYWNlQWRtaW5QZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoYXNBbnlNYXJrZXRwbGFjZVBlcm1pc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5oYXNBbnlNYXJrZXRwbGFjZVBlcm1pc3Npb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc0FueUZpbnRlY2hQZXJtaXNzaW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UuaGFzQW55RmludGVjaFBlcm1pc3Npb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuZWQgPSB0cnVlO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgY3VycmVudFdpbmRvd1dpZHRoOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcclxuICAgIEBJbmplY3QoJ2FwcE5hbWUnKSBwcml2YXRlIGN1cnJlbnRBcHA6IHN0cmluZ1xyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UudG9nZ2xlTWVudSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRvZ2dsZU1lbnUoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLm1vZHVsZVByb2ZpbGUkLnN1YnNjcmliZSgocHJvZmlsZSkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9maWxlKSB7XHJcbiAgICAgICAgICBjb25zdCByb2xlID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRSb2xlKCk7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMgPVxyXG4gICAgICAgICAgICByb2xlID09PSBSb2xlLkFETUlOXHJcbiAgICAgICAgICAgICAgPyB0aGlzLm1lbnVTZXJ2aWNlLmdldFNpZGVBZG1pbk1lbnVPcHRpb25zKClcclxuICAgICAgICAgICAgICA6IHRoaXMubWVudVNlcnZpY2UuZ2V0U2lkZU1haW5NZW51T3B0aW9ucygpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmhhc0ZpbnRlY2hBZG1pblBlcm1pc3Npb24gfHwgdGhpcy5oYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICB0aGlzLmFkbWluT3B0aW9uID0ge1xyXG4gICAgICAgICAgICAgIGlkOiA5OTk5OSxcclxuICAgICAgICAgICAgICBsYWJlbDogJ0FkbWluJyxcclxuICAgICAgICAgICAgICBpY29uRmlsZU5hbWU6ICd2ZWN0b3JfYWRtaW5faWNvbicsXHJcbiAgICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzRmludGVjaEFkbWluUGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWRtaW5PcHRpb24uY2hpbGRyZW4/LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaWQ6IDk5OTk5MSxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiAnQWRtaW4gRmludGVjaCcsXHJcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1BvcnRhbCh7IHBvcnRhbDogJ2ZpbnRlY2gnLCBhZG1pbjogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBoaWRkZW46ICF0aGlzLmhhc0ZpbnRlY2hBZG1pblBlcm1pc3Npb24sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc01hcmtldHBsYWNlQWRtaW5QZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hZG1pbk9wdGlvbi5jaGlsZHJlbj8ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBpZDogOTk5OTkyLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBZG1pbiBNYXJrZXRwbGFjZScsXHJcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1BvcnRhbCh7IHBvcnRhbDogJ21hcmtldHBsYWNlJywgYWRtaW46IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiAhdGhpcy5oYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbixcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5vbkZpbmlzaE1lbnVPcHRpb25zQ29uZmlnLmVtaXQobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRXaW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5vcGVuZWQgJiYgdGhpcy5jdXJyZW50V2luZG93V2lkdGggIT09IHdpbmRvdy5pbm5lcldpZHRoKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJBbmRDbG9zZU1lbnUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY3VycmVudFdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudCgpIHtcclxuICAgIHRoaXMuY2xlYXJBbmRDbG9zZU1lbnUoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVNZW51KCkge1xyXG4gICAgdGhpcy5vcGVuZWQgPSAhdGhpcy5vcGVuZWQ7XHJcbiAgICBpZiAoIXRoaXMub3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc2l6ZU1lbnUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk1lbnVDbGljayhvcHRpb246IE1lbnVJdGVtKSB7XHJcbiAgICBpZiAoIW9wdGlvbi5hbHdheXNPcGVuKSB7XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2ZU9wdGlvbj8uaWQgPT09IG9wdGlvbi5pZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gb3B0aW9uLmNoaWxkcmVuPy5sZW5ndGggPyBvcHRpb24gOiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFvcHRpb24uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtvcHRpb24ucm91dGVdKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0aW9uLmNoaWxkcmVuPy5sZW5ndGggJiYgIXRoaXMub3BlbmVkKSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGVNZW51KCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hY3RpdmVTdWJtZW51T3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU3VibWVudUNsaWNrKHN1Ym1lbnVJdGVtOiBNZW51SXRlbSkge1xyXG4gICAgaWYgKCFzdWJtZW51SXRlbS5hbHdheXNPcGVuKSB7XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24/LmlkID09PSBzdWJtZW51SXRlbT8uaWQpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVTdWJtZW51T3B0aW9uID0gc3VibWVudUl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCA/IHN1Ym1lbnVJdGVtIDogdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghc3VibWVudUl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgIGlmIChzdWJtZW51SXRlbS5yb3V0ZSkge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3N1Ym1lbnVJdGVtLnJvdXRlXSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzdWJtZW51SXRlbS5jb21tYW5kKSB7XHJcbiAgICAgICAgICBzdWJtZW51SXRlbS5jb21tYW5kKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblRlcm1zT2ZVc2UoKSB7fVxyXG5cclxuICBwdWJsaWMgaXNQb3J0YWxTZWxlY3RlZChwb3J0YWw6IEFwcE5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRBcHAgPT09IHBvcnRhbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvUG9ydGFsKHBhcmFtczogeyBwb3J0YWw6ICdmaW50ZWNoJyB8ICdsb2d0ZWNoJyB8ICdtYXJrZXRwbGFjZSc7IGFkbWluOiBib29sZWFuIH0pIHtcclxuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5hY3RpdmVTdWJtZW51T3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5tZW51U2VydmljZS5uYXZpZ2F0ZVRvUG9ydGFsKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyQW5kQ2xvc2VNZW51KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5yZXNpemVNZW51KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2l6ZU1lbnUoKSB7XHJcbiAgICB0aGlzLmxhc3RBbmltYXRpb24gPSB0aGlzLm9wZW5lZCA/ICdvdXQnIDogJ2luJztcclxuICAgIHRoaXMud2lkdGhTdHlsZSA9IHsgd2lkdGg6IHRoaXMub3BlbmVkID8gJzI1MHB4JyA6ICc2MHB4JyB9O1xyXG4gICAgdGhpcy5hY3RpdmVTdWJtZW51T3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlc2V0TWVudXMoY2xlYXIgPSBmYWxzZSkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gY2xlYXIgPyBbXSA6IHRoaXMub3B0aW9ucztcclxuICAgIHRoaXMuYWRtaW5PcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxuYXYgaWQ9XCJtZW51XCIgW25nU3R5bGVdPVwid2lkdGhTdHlsZVwiIFtAc2lkZUluT3V0XT1cImxhc3RBbmltYXRpb25cIj5cclxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyLW1lbnVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsb2dvLWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibG9nb1wiIFtuZ0NsYXNzXT1cInsgJ2xvZ28tc21hbGwnOiAhb3BlbmVkIH1cIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtZW51LXNlY3Rpb25zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWVudS1zZWN0aW9uXCI+XHJcbiAgICAgIDxzcGFuIFtuZ1N0eWxlXT1cInsgb3BhY2l0eTogb3BlbmVkID8gMSA6IDAgfVwiIGNsYXNzPVwibWVudS1zZWN0aW9uLXRpdGxlXCI+U0VMRcOHw4NPIERFIFBPUlRBTDwvc3Bhbj5cclxuICAgICAgPHVsIGNsYXNzPVwic2lkZS1tZW51XCI+XHJcbiAgICAgICAgPGxpPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInNpZGUtbWVudS1pdGVtXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc2VsZWN0ZWQtcG9ydGFsJzogaXNQb3J0YWxTZWxlY3RlZChhcHBzLkxPR1RFQ0gpIH1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1BvcnRhbCh7IHBvcnRhbDogJ2xvZ3RlY2gnLCBhZG1pbjogZmFsc2UgfSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pY29ucy92ZWN0b3JfbG9ndGVjaF9pY29uLnN2Z1wiIGNsYXNzPVwibWVudS1pY29uXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbFwiPkNhcmdhczwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpICpuZ0lmPVwiaGFzQW55RmludGVjaFBlcm1pc3Npb25cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkLXBvcnRhbCc6IGlzUG9ydGFsU2VsZWN0ZWQoYXBwcy5GSU5URUNIKSB9XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9Qb3J0YWwoeyBwb3J0YWw6ICdmaW50ZWNoJywgYWRtaW46IGZhbHNlIH0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgPGltZyBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaWNvbnMvdmVjdG9yX2ZpbnRlY2hfaWNvbi5zdmdcIiBjbGFzcz1cIm1lbnUtaWNvblwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtbGFiZWxcIj5DYXJ0ZWlyYSBkaWdpdGFsPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3RlZC1wb3J0YWwnOiBpc1BvcnRhbFNlbGVjdGVkKGFwcHMuTUFSS0VUUExBQ0UpIH1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1BvcnRhbCh7IHBvcnRhbDogJ21hcmtldHBsYWNlJywgYWRtaW46IGZhbHNlIH0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgPGltZyBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaWNvbnMvdmVjdG9yX21hcmtldHBsYWNlX2ljb24uc3ZnXCIgY2xhc3M9XCJtZW51LWljb25cIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+Q29tYnVzdMOtdmVsPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgKm5nSWY9XCJhZG1pbk9wdGlvbiAmJiAoaGFzRmludGVjaEFkbWluUGVybWlzc2lvbiB8fCBoYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbilcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk1lbnVDbGljayhhZG1pbk9wdGlvbilcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUtbWVudSc6IGFjdGl2ZU9wdGlvbj8uaWQgPT09IGFkbWluT3B0aW9uLmlkIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pY29ucy92ZWN0b3JfYWRtaW5faWNvbi5zdmdcIiBjbGFzcz1cIm1lbnUtaWNvblwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtbGFiZWxcIj57eyBhZG1pbk9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAqbmdJZj1cIm9wZW5lZCAmJiBhZG1pbk9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZhcyBhbmdsZS1pY29uXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAnZmEtYW5nbGUtZG93bic6IGFjdGl2ZU9wdGlvbj8uaWQgIT09IGFkbWluT3B0aW9uLmlkLFxyXG4gICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLXVwJzogYWN0aXZlT3B0aW9uPy5pZCA9PT0gYWRtaW5PcHRpb24uaWRcclxuICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHZlY3Rvci1zdWItbWVudXMtbGlzdFxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJhZG1pbk9wdGlvbi5jaGlsZHJlblwiXHJcbiAgICAgICAgICAgIFtzaG93TGlzdF09XCJhY3RpdmVPcHRpb24/LmlkID09PSBhZG1pbk9wdGlvbi5pZFwiXHJcbiAgICAgICAgICAgIFtzdWJtZW51U2VsZWN0ZWRdPVwiYWN0aXZlU3VibWVudU9wdGlvblwiXHJcbiAgICAgICAgICAgIChzdWJtZW51U2VsZWN0ZWRDaGFuZ2UpPVwib25TdWJtZW51Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC92ZWN0b3Itc3ViLW1lbnVzLWxpc3Q+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtc2VjdGlvblwiPlxyXG4gICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7IG9wYWNpdHk6IG9wZW5lZCAmJiBvcHRpb25zPy5sZW5ndGggPyAxIDogMCB9XCIgY2xhc3M9XCJtZW51LXNlY3Rpb24tdGl0bGVcIj5NRU5VPC9zcGFuPlxyXG4gICAgICA8dWwgY2xhc3M9XCJzaWRlLW1lbnVcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUtbWVudSc6IGFjdGl2ZU9wdGlvbj8uaWQgPT09IG9wdGlvbi5pZCwgJ2Fsd2F5cy1vcGVuJzogISFvcHRpb24uYWx3YXlzT3BlbiB9XCJcclxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIm9wdGlvbi5sYWJlbFwiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTWVudUNsaWNrKG9wdGlvbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9wdGlvbi5pY29uRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCInLi4vLi4vLi4vLi4vYXNzZXRzL2ljb25zLycgKyBvcHRpb24uaWNvbkZpbGVOYW1lICsgJy5zdmcnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1pY29uXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDxpICpuZ0lmPVwib3B0aW9uLmljb25cIiBjbGFzcz1cIm1lbnUtaWNvbiB7eyBvcHRpb24uaWNvbiB9fVwiPjwvaT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbFwiPnt7IG9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAqbmdJZj1cIm9wZW5lZCAmJiBvcHRpb24uY2hpbGRyZW4/Lmxlbmd0aCAmJiAhb3B0aW9uLmFsd2F5c09wZW5cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmFzIGFuZ2xlLWljb25cIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICdmYS1hbmdsZS1kb3duJzogYWN0aXZlT3B0aW9uPy5pZCAhPT0gb3B0aW9uLmlkLFxyXG4gICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLXVwJzogYWN0aXZlT3B0aW9uPy5pZCA9PT0gb3B0aW9uLmlkXHJcbiAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDx2ZWN0b3Itc3ViLW1lbnVzLWxpc3RcclxuICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9uLmNoaWxkcmVuXCJcclxuICAgICAgICAgICAgW3Nob3dMaXN0XT1cImFjdGl2ZU9wdGlvbj8uaWQgPT09IG9wdGlvbi5pZCB8fCAoISFvcHRpb24uYWx3YXlzT3BlbiAmJiBvcGVuZWQpXCJcclxuICAgICAgICAgICAgW3N1Ym1lbnVTZWxlY3RlZF09XCJhY3RpdmVTdWJtZW51T3B0aW9uXCJcclxuICAgICAgICAgICAgKHN1Ym1lbnVTZWxlY3RlZENoYW5nZSk9XCJvblN1Ym1lbnVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgID48L3ZlY3Rvci1zdWItbWVudXMtbGlzdD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZvb3RlciBzaWRlLW1lbnUtaXRlbVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCI+XHJcbiAgICAgIDxpbWcgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL2ljb25zL21lbnVfZm9vdGVyX2ljb24uc3ZnXCIgY2xhc3M9XCJtZW51LWljb25cIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1lbnUtbGFiZWwgZm9vdGVyLWNvbnRlbnRcIj5cclxuICAgICAgPHNwYW4+IFZlamEgbm9zc28gPGEgKGNsaWNrKT1cIm9wZW5UZXJtc09mVXNlKClcIj5UZXJtbyBkZSB1c288L2E+IDwvc3Bhbj5cclxuICAgICAgPHNwYW4+ZSA8YT5Qb2zDrXRpY2EgZGUgcHJpdmFjaWRhZGU8L2E+PC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG48L25hdj5cclxuIl19
@@ -2390,6 +2390,28 @@ class MenuComponent {
2390
2390
  this.onFinishMenuOptionsConfig = new EventEmitter();
2391
2391
  this._opened = true;
2392
2392
  this.subscription = new Subscription();
2393
+ this.currentWindowWidth = 0;
2394
+ }
2395
+ set opened(opened) {
2396
+ this._opened = opened;
2397
+ this.menuService.menuOpened$.next(this.opened);
2398
+ }
2399
+ get opened() {
2400
+ return this._opened;
2401
+ }
2402
+ get hasFintechAdminPermission() {
2403
+ return this.profileService.hasFintechAdminPermission;
2404
+ }
2405
+ get hasMarketplaceAdminPermission() {
2406
+ return this.profileService.hasMarketplaceAdminPermission;
2407
+ }
2408
+ get hasAnyMarketplacePermission() {
2409
+ return this.profileService.hasAnyMarketplacePermission;
2410
+ }
2411
+ get hasAnyFintechPermission() {
2412
+ return this.profileService.hasAnyFintechPermission;
2413
+ }
2414
+ ngOnInit() {
2393
2415
  this.subscription.add(this.menuService.toggleMenu$.subscribe(() => {
2394
2416
  this.toggleMenu();
2395
2417
  }));
@@ -2434,25 +2456,6 @@ class MenuComponent {
2434
2456
  }));
2435
2457
  this.currentWindowWidth = window.innerWidth;
2436
2458
  }
2437
- set opened(opened) {
2438
- this._opened = opened;
2439
- this.menuService.menuOpened$.next(this.opened);
2440
- }
2441
- get opened() {
2442
- return this._opened;
2443
- }
2444
- get hasFintechAdminPermission() {
2445
- return this.profileService.hasFintechAdminPermission;
2446
- }
2447
- get hasMarketplaceAdminPermission() {
2448
- return this.profileService.hasMarketplaceAdminPermission;
2449
- }
2450
- get hasAnyMarketplacePermission() {
2451
- return this.profileService.hasAnyMarketplacePermission;
2452
- }
2453
- get hasAnyFintechPermission() {
2454
- return this.profileService.hasAnyFintechPermission;
2455
- }
2456
2459
  onResize() {
2457
2460
  if (this.opened && this.currentWindowWidth !== window.innerWidth) {
2458
2461
  this.clearAndCloseMenu();