stream-chat-angular 2.17.0 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- export const version = '2.17.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICcyLjE3LjAnO1xuIl19
1
+ export const version = '3.0.0-beta.1';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICczLjAuMC1iZXRhLjEnO1xuIl19
@@ -5,7 +5,9 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "../message-list/image-load.service";
6
6
  import * as i2 from "../channel.service";
7
7
  import * as i3 from "../icon/icon.component";
8
- import * as i4 from "@angular/common";
8
+ import * as i4 from "../modal/modal.component";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "@ngx-translate/core";
9
11
  /**
10
12
  * The `AttachmentList` compontent displays the attachments of a message
11
13
  */
@@ -18,10 +20,14 @@ export class AttachmentListComponent {
18
20
  */
19
21
  this.attachments = [];
20
22
  this.orderedAttachments = [];
23
+ this.imagesToView = [];
24
+ this.imagesToViewCurrentIndex = 0;
21
25
  }
22
26
  ngOnChanges() {
27
+ const images = this.attachments.filter(this.isImage);
28
+ const containsGallery = images.length >= 2;
23
29
  this.orderedAttachments = [
24
- ...this.attachments.filter((a) => this.isImage(a)),
30
+ ...(containsGallery ? this.createGallery(images) : images),
25
31
  ...this.attachments.filter((a) => this.isFile(a)),
26
32
  ...this.attachments.filter((a) => this.isCard(a)),
27
33
  ];
@@ -35,6 +41,9 @@ export class AttachmentListComponent {
35
41
  isFile(attachment) {
36
42
  return attachment.type === 'file';
37
43
  }
44
+ isGallery(attachment) {
45
+ return attachment.type === 'gallery';
46
+ }
38
47
  isCard(attachment) {
39
48
  return (!attachment.type ||
40
49
  (attachment.type === 'image' && !this.isImage(attachment)) ||
@@ -66,9 +75,36 @@ export class AttachmentListComponent {
66
75
  trackByActionValue(_, item) {
67
76
  return item.value;
68
77
  }
78
+ openImageModal(attachments, selectedIndex = 0) {
79
+ this.imagesToView = attachments;
80
+ this.imagesToViewCurrentIndex = selectedIndex;
81
+ }
82
+ closeImageModal() {
83
+ this.imagesToView = [];
84
+ }
85
+ stepImages(dir) {
86
+ this.imagesToViewCurrentIndex += dir * 1;
87
+ }
88
+ trackByImageUrl(_, item) {
89
+ return item.image_url || item.img_url || item.thumb_url;
90
+ }
91
+ get isImageModalPrevButtonVisible() {
92
+ return this.imagesToViewCurrentIndex !== 0;
93
+ }
94
+ get isImageModalNextButtonVisible() {
95
+ return this.imagesToViewCurrentIndex !== this.imagesToView.length - 1;
96
+ }
97
+ createGallery(images) {
98
+ return [
99
+ {
100
+ type: 'gallery',
101
+ images,
102
+ },
103
+ ];
104
+ }
69
105
  }
70
106
  AttachmentListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AttachmentListComponent, deps: [{ token: i1.ImageLoadService }, { token: i2.ChannelService }], target: i0.ɵɵFactoryTarget.Component });
71
- AttachmentListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: AttachmentListComponent, selector: "stream-attachment-list", inputs: { messageId: "messageId", attachments: "attachments" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let attachment of orderedAttachments; trackBy: trackById\">\n <div\n data-testclass=\"attachment-container\"\n class=\"str-chat__message-attachment str-chat__message-attachment--{{\n attachment.type\n }}\"\n [class.str-chat__message-attachment--card]=\"isCard(attachment)\"\n [class.str-chat-angular__message-attachment-file-single]=\"\n isFile(attachment)\n \"\n >\n <img\n *ngIf=\"isImage(attachment)\"\n class=\"str-chat__message-attachment--img\"\n data-testclass=\"image\"\n [src]=\"attachment.img_url || attachment.thumb_url || attachment.image_url\"\n [alt]=\"attachment?.fallback\"\n (load)=\"imageLoaded()\"\n />\n <div\n *ngIf=\"isFile(attachment)\"\n class=\"\n str-chat__message-attachment-file--item\n str-chat-angular__message-attachment-file-single\n \"\n >\n <stream-icon icon=\"file\" [size]=\"30\"></stream-icon>\n <div class=\"str-chat__message-attachment-file--item-text\">\n <a\n data-testclass=\"file-link\"\n download\n href=\"{{ attachment.asset_url }}\"\n target=\"_blank\"\n >\n {{ attachment.title }}\n </a>\n <span data-testclass=\"size\" *ngIf=\"hasFileSize(attachment)\">{{\n getFileSize(attachment)\n }}</span>\n </div>\n </div>\n <div\n *ngIf=\"isCard(attachment)\"\n class=\"str-chat__message-attachment-card str-chat__message-attachment-card--{{\n attachment.type\n }}\"\n >\n <div\n *ngIf=\"attachment.image_url || attachment.thumb_url\"\n class=\"str-chat__message-attachment-card--header\"\n >\n <img\n data-testclass=\"card-img\"\n alt=\"{{ attachment.image_url || attachment.thumb_url }}\"\n src=\"{{ attachment.image_url || attachment.thumb_url }}\"\n />\n </div>\n <div class=\"str-chat__message-attachment-card--content\">\n <div class=\"str-chat__message-attachment-card--flex\">\n <div\n *ngIf=\"attachment.title\"\n data-testclass=\"card-title\"\n class=\"str-chat__message-attachment-card--title\"\n >\n {{ attachment.title }}\n </div>\n <div\n *ngIf=\"attachment.text\"\n class=\"str-chat__message-attachment-card--text\"\n data-testclass=\"card-text\"\n >\n {{ attachment.text }}\n </div>\n <a\n class=\"str-chat__message-attachment-card--url\"\n *ngIf=\"attachment.title_link || attachment.og_scrape_url\"\n data-testclass=\"url-link\"\n noopener\n noreferrer\n href=\"{{ attachment.title_link || attachment.og_scrape_url }}\"\n target=\"_blank\"\n >\n {{ trimUrl(attachment.title_link || attachment.og_scrape_url) }}\n </a>\n </div>\n </div>\n </div>\n <div\n class=\"str-chat__message-attachment-actions\"\n *ngIf=\"attachment.actions && attachment.actions.length > 0\"\n >\n <div class=\"str-chat__message-attachment-actions-form\">\n <button\n *ngFor=\"let action of attachment.actions; trackBy: trackByActionValue\"\n class=\"str-chat__message-attachment-actions-button str-chat__message-attachment-actions-button--{{\n action.style\n }}\"\n data-testclass=\"attachment-action\"\n (click)=\"sendAction(action)\"\n (keyup.enter)=\"sendAction(action)\"\n >\n {{ action.text }}\n </button>\n </div>\n </div>\n </div>\n</ng-container>\n", components: [{ type: i3.IconComponent, selector: "stream-icon", inputs: ["icon", "size"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
107
+ AttachmentListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: AttachmentListComponent, selector: "stream-attachment-list", inputs: { messageId: "messageId", attachments: "attachments" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let attachment of orderedAttachments; trackBy: trackById\">\n <div\n data-testclass=\"attachment-container\"\n class=\"str-chat__message-attachment str-chat__message-attachment--{{\n attachment.type\n }}\"\n [class.str-chat__message-attachment--card]=\"isCard(attachment)\"\n [class.str-chat-angular__message-attachment-file-single]=\"\n isFile(attachment)\n \"\n >\n <img\n *ngIf=\"isImage(attachment)\"\n class=\"str-chat__message-attachment--img\"\n data-testclass=\"image\"\n [src]=\"attachment.img_url || attachment.thumb_url || attachment.image_url\"\n [alt]=\"attachment?.fallback\"\n (load)=\"imageLoaded()\"\n (click)=\"openImageModal([attachment])\"\n (keyup.enter)=\"openImageModal([attachment])\"\n />\n <div\n class=\"str-chat__gallery\"\n data-testid=\"image-gallery\"\n *ngIf=\"isGallery(attachment)\"\n [class.str-chat__gallery--square]=\"(attachment?.images)!.length > 3\"\n >\n <ng-container\n *ngFor=\"\n let galleryImage of attachment.images;\n let index = index;\n let isLast = last;\n trackBy: trackByImageUrl\n \"\n >\n <button\n *ngIf=\"index < 3 || (index === 3 && isLast)\"\n class=\"str-chat__gallery-image\"\n data-testclass=\"gallery-image\"\n (click)=\"openImageModal(attachment.images!, index)\"\n (keyup.enter)=\"openImageModal(attachment.images!, index)\"\n >\n <img\n [src]=\"\n galleryImage.img_url ||\n galleryImage.thumb_url ||\n galleryImage.image_url\n \"\n [alt]=\"galleryImage.fallback\"\n (load)=\"imageLoaded()\"\n />\n </button>\n <button\n *ngIf=\"index === 3 && !isLast\"\n class=\"str-chat__gallery-placeholder\"\n data-testclass=\"gallery-image\"\n (click)=\"openImageModal(attachment.images!, index)\"\n (keyup.enter)=\"openImageModal(attachment.images!, index)\"\n [ngStyle]=\"{\n 'background-image':\n 'url(' +\n (galleryImage.img_url ||\n galleryImage.thumb_url ||\n galleryImage.image_url) +\n ')'\n }\"\n >\n <p\n [innerHTML]=\"\n 'streamChat.{{ imageCount }} more'\n | translate: { imageCount: attachment!.images!.length - 4 }\n \"\n ></p>\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"isFile(attachment)\"\n class=\"\n str-chat__message-attachment-file--item\n str-chat-angular__message-attachment-file-single\n \"\n >\n <stream-icon icon=\"file\" [size]=\"30\"></stream-icon>\n <div class=\"str-chat__message-attachment-file--item-text\">\n <a\n data-testclass=\"file-link\"\n download\n href=\"{{ attachment.asset_url }}\"\n target=\"_blank\"\n >\n {{ attachment.title }}\n </a>\n <span data-testclass=\"size\" *ngIf=\"hasFileSize(attachment)\">{{\n getFileSize(attachment)\n }}</span>\n </div>\n </div>\n <div\n *ngIf=\"isCard(attachment)\"\n class=\"str-chat__message-attachment-card str-chat__message-attachment-card--{{\n attachment.type\n }}\"\n >\n <div\n *ngIf=\"attachment.image_url || attachment.thumb_url\"\n class=\"str-chat__message-attachment-card--header\"\n >\n <img\n data-testclass=\"card-img\"\n alt=\"{{ attachment.image_url || attachment.thumb_url }}\"\n src=\"{{ attachment.image_url || attachment.thumb_url }}\"\n />\n </div>\n <div class=\"str-chat__message-attachment-card--content\">\n <div class=\"str-chat__message-attachment-card--flex\">\n <div\n *ngIf=\"attachment.title\"\n data-testclass=\"card-title\"\n class=\"str-chat__message-attachment-card--title\"\n >\n {{ attachment.title }}\n </div>\n <div\n *ngIf=\"attachment.text\"\n class=\"str-chat__message-attachment-card--text\"\n data-testclass=\"card-text\"\n >\n {{ attachment.text }}\n </div>\n <a\n class=\"str-chat__message-attachment-card--url\"\n *ngIf=\"attachment.title_link || attachment.og_scrape_url\"\n data-testclass=\"url-link\"\n noopener\n noreferrer\n href=\"{{ attachment.title_link || attachment.og_scrape_url }}\"\n target=\"_blank\"\n >\n {{ trimUrl(attachment.title_link || attachment.og_scrape_url) }}\n </a>\n </div>\n </div>\n </div>\n <div\n class=\"str-chat__message-attachment-actions\"\n *ngIf=\"attachment.actions && attachment.actions.length > 0\"\n >\n <div class=\"str-chat__message-attachment-actions-form\">\n <button\n *ngFor=\"let action of attachment.actions; trackBy: trackByActionValue\"\n class=\"str-chat__message-attachment-actions-button str-chat__message-attachment-actions-button--{{\n action.style\n }}\"\n data-testclass=\"attachment-action\"\n (click)=\"sendAction(action)\"\n (keyup.enter)=\"sendAction(action)\"\n >\n {{ action.text }}\n </button>\n </div>\n </div>\n </div>\n</ng-container>\n\n<stream-modal\n *ngIf=\"imagesToView && imagesToView.length > 0\"\n [isOpen]=\"imagesToView && imagesToView.length > 0\"\n (isOpenChange)=\"$event ? null : closeImageModal()\"\n>\n <div class=\"stream-chat-angular__image-modal\">\n <button\n class=\"stream-chat-angular__image-modal-stepper\"\n [ngStyle]=\"{\n visibility: isImageModalPrevButtonVisible ? 'visible' : 'hidden'\n }\"\n data-testid=\"image-modal-prev\"\n type=\"button\"\n (click)=\"stepImages(-1)\"\n (keyup.enter)=\"stepImages(-1)\"\n >\n <stream-icon icon=\"arrow-left\"></stream-icon>\n </button>\n <img\n class=\"stream-chat-angular__image-modal-image\"\n data-testid=\"modal-image\"\n [src]=\"\n imagesToView[imagesToViewCurrentIndex].img_url ||\n imagesToView[imagesToViewCurrentIndex].thumb_url ||\n imagesToView[imagesToViewCurrentIndex].image_url\n \"\n [alt]=\"imagesToView[imagesToViewCurrentIndex].fallback\"\n />\n <button\n class=\"stream-chat-angular__image-modal-stepper\"\n type=\"button\"\n [ngStyle]=\"{\n visibility: isImageModalNextButtonVisible ? 'visible' : 'hidden'\n }\"\n data-testid=\"image-modal-next\"\n (click)=\"stepImages(1)\"\n (keyup.enter)=\"stepImages(1)\"\n >\n <stream-icon icon=\"arrow-right\"></stream-icon>\n </button>\n </div>\n</stream-modal>\n", components: [{ type: i3.IconComponent, selector: "stream-icon", inputs: ["icon", "size"] }, { type: i4.ModalComponent, selector: "stream-modal", inputs: ["isOpen"], outputs: ["isOpenChange"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i6.TranslatePipe } });
72
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AttachmentListComponent, decorators: [{
73
109
  type: Component,
74
110
  args: [{
@@ -81,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
81
117
  }], attachments: [{
82
118
  type: Input
83
119
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBSTVELE9BQU8sV0FBVyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBRzNEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjtJQVdsQyxZQUNVLGdCQUFrQyxFQUNsQyxjQUE4QjtRQUQ5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVJ4Qzs7V0FFRztRQUNNLGdCQUFXLEdBQXdDLEVBQUUsQ0FBQztRQUMvRCx1QkFBa0IsR0FBd0MsRUFBRSxDQUFDO0lBSzFELENBQUM7SUFFSixXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEQsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xELENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxDQUFDLFVBQXNCO1FBQzVCLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFzQjtRQUMzQixPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBc0I7UUFDM0IsT0FBTyxDQUNMLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDaEIsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUQsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUE2QztRQUN2RCxPQUFPLENBQ0wsVUFBVSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsVUFBNkM7UUFDdkQsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxPQUFPLENBQUMsR0FBbUI7UUFDekIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDckMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUc7aUJBQ3JCLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLENBQUM7aUJBQzNDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVkLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWM7UUFDdkIsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBVSxFQUFFO1lBQ25ELENBQUMsTUFBTSxDQUFDLElBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFNO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxDQUFTLEVBQUUsSUFBWTtRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7b0hBN0VVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG1KQ2hCcEMsOG9IQTJHQTsyRkQzRmEsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSxrQ0FBa0M7b0JBQy9DLE1BQU0sRUFBRSxFQUFFO2lCQUNYO29JQUtVLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBBdHRhY2htZW50IH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgSW1hZ2VMb2FkU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2UtbGlzdC9pbWFnZS1sb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVmYXVsdEF0dGFjaG1lbnRUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHByZXR0eWJ5dGVzIGZyb20gJ3ByZXR0eS1ieXRlcyc7XG5pbXBvcnQgeyBpc0ltYWdlQXR0YWNobWVudCB9IGZyb20gJy4uL2lzLWltYWdlLWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuXG4vKipcbiAqIFRoZSBgQXR0YWNobWVudExpc3RgIGNvbXBvbnRlbnQgZGlzcGxheXMgdGhlIGF0dGFjaG1lbnRzIG9mIGEgbWVzc2FnZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tYXR0YWNobWVudC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEF0dGFjaG1lbnRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZSB0aGUgYXR0YWNobWVudHMgYmVsb25nIHRvXG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBhdHRhY2htZW50cyB0byBkaXNwbGF5XG4gICAqL1xuICBASW5wdXQoKSBhdHRhY2htZW50czogQXR0YWNobWVudDxEZWZhdWx0QXR0YWNobWVudFR5cGU+W10gPSBbXTtcbiAgb3JkZXJlZEF0dGFjaG1lbnRzOiBBdHRhY2htZW50PERlZmF1bHRBdHRhY2htZW50VHlwZT5bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1hZ2VMb2FkU2VydmljZTogSW1hZ2VMb2FkU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5vcmRlcmVkQXR0YWNobWVudHMgPSBbXG4gICAgICAuLi50aGlzLmF0dGFjaG1lbnRzLmZpbHRlcigoYSkgPT4gdGhpcy5pc0ltYWdlKGEpKSxcbiAgICAgIC4uLnRoaXMuYXR0YWNobWVudHMuZmlsdGVyKChhKSA9PiB0aGlzLmlzRmlsZShhKSksXG4gICAgICAuLi50aGlzLmF0dGFjaG1lbnRzLmZpbHRlcigoYSkgPT4gdGhpcy5pc0NhcmQoYSkpLFxuICAgIF07XG4gIH1cblxuICB0cmFja0J5SWQoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIGlzSW1hZ2UoYXR0YWNobWVudDogQXR0YWNobWVudCkge1xuICAgIHJldHVybiBpc0ltYWdlQXR0YWNobWVudChhdHRhY2htZW50KTtcbiAgfVxuXG4gIGlzRmlsZShhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XG4gICAgcmV0dXJuIGF0dGFjaG1lbnQudHlwZSA9PT0gJ2ZpbGUnO1xuICB9XG5cbiAgaXNDYXJkKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgIWF0dGFjaG1lbnQudHlwZSB8fFxuICAgICAgKGF0dGFjaG1lbnQudHlwZSA9PT0gJ2ltYWdlJyAmJiAhdGhpcy5pc0ltYWdlKGF0dGFjaG1lbnQpKSB8fFxuICAgICAgYXR0YWNobWVudC50eXBlID09PSAnZ2lwaHknXG4gICAgKTtcbiAgfVxuXG4gIGltYWdlTG9hZGVkKCkge1xuICAgIHRoaXMuaW1hZ2VMb2FkU2VydmljZS5pbWFnZUxvYWQkLm5leHQoKTtcbiAgfVxuXG4gIGhhc0ZpbGVTaXplKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQ8RGVmYXVsdEF0dGFjaG1lbnRUeXBlPikge1xuICAgIHJldHVybiAoXG4gICAgICBhdHRhY2htZW50LmZpbGVfc2l6ZSAmJiBOdW1iZXIuaXNGaW5pdGUoTnVtYmVyKGF0dGFjaG1lbnQuZmlsZV9zaXplKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RmlsZVNpemUoYXR0YWNobWVudDogQXR0YWNobWVudDxEZWZhdWx0QXR0YWNobWVudFR5cGU+KSB7XG4gICAgcmV0dXJuIHByZXR0eWJ5dGVzKE51bWJlcihhdHRhY2htZW50LmZpbGVfc2l6ZSEpKTtcbiAgfVxuXG4gIHRyaW1VcmwodXJsPzogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh1cmwgIT09IHVuZGVmaW5lZCAmJiB1cmwgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IFt0cmltbWVkVXJsXSA9IHVybFxuICAgICAgICAucmVwbGFjZSgvXig/Omh0dHBzPzpcXC9cXC8pPyg/Ond3d1xcLik/L2ksICcnKVxuICAgICAgICAuc3BsaXQoJy8nKTtcblxuICAgICAgcmV0dXJuIHRyaW1tZWRVcmw7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc2VuZEFjdGlvbihhY3Rpb246IEFjdGlvbikge1xuICAgIHZvaWQgdGhpcy5jaGFubmVsU2VydmljZS5zZW5kQWN0aW9uKHRoaXMubWVzc2FnZUlkISwge1xuICAgICAgW2FjdGlvbi5uYW1lIV06IGFjdGlvbi52YWx1ZSEsXG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5QWN0aW9uVmFsdWUoXzogbnVtYmVyLCBpdGVtOiBBY3Rpb24pIHtcbiAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0YWNobWVudCBvZiBvcmRlcmVkQXR0YWNobWVudHM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiPlxuICA8ZGl2XG4gICAgZGF0YS10ZXN0Y2xhc3M9XCJhdHRhY2htZW50LWNvbnRhaW5lclwiXG4gICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50IHN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLXt7XG4gICAgICBhdHRhY2htZW50LnR5cGVcbiAgICB9fVwiXG4gICAgW2NsYXNzLnN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLWNhcmRdPVwiaXNDYXJkKGF0dGFjaG1lbnQpXCJcbiAgICBbY2xhc3Muc3RyLWNoYXQtYW5ndWxhcl9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtc2luZ2xlXT1cIlxuICAgICAgaXNGaWxlKGF0dGFjaG1lbnQpXG4gICAgXCJcbiAgPlxuICAgIDxpbWdcbiAgICAgICpuZ0lmPVwiaXNJbWFnZShhdHRhY2htZW50KVwiXG4gICAgICBjbGFzcz1cInN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLWltZ1wiXG4gICAgICBkYXRhLXRlc3RjbGFzcz1cImltYWdlXCJcbiAgICAgIFtzcmNdPVwiYXR0YWNobWVudC5pbWdfdXJsIHx8IGF0dGFjaG1lbnQudGh1bWJfdXJsIHx8IGF0dGFjaG1lbnQuaW1hZ2VfdXJsXCJcbiAgICAgIFthbHRdPVwiYXR0YWNobWVudD8uZmFsbGJhY2tcIlxuICAgICAgKGxvYWQpPVwiaW1hZ2VMb2FkZWQoKVwiXG4gICAgLz5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImlzRmlsZShhdHRhY2htZW50KVwiXG4gICAgICBjbGFzcz1cIlxuICAgICAgICBzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtLWl0ZW1cbiAgICAgICAgc3RyLWNoYXQtYW5ndWxhcl9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtc2luZ2xlXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxzdHJlYW0taWNvbiBpY29uPVwiZmlsZVwiIFtzaXplXT1cIjMwXCI+PC9zdHJlYW0taWNvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtLWl0ZW0tdGV4dFwiPlxuICAgICAgICA8YVxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiZmlsZS1saW5rXCJcbiAgICAgICAgICBkb3dubG9hZFxuICAgICAgICAgIGhyZWY9XCJ7eyBhdHRhY2htZW50LmFzc2V0X3VybCB9fVwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGF0dGFjaG1lbnQudGl0bGUgfX1cbiAgICAgICAgPC9hPlxuICAgICAgICA8c3BhbiBkYXRhLXRlc3RjbGFzcz1cInNpemVcIiAqbmdJZj1cImhhc0ZpbGVTaXplKGF0dGFjaG1lbnQpXCI+e3tcbiAgICAgICAgICBnZXRGaWxlU2l6ZShhdHRhY2htZW50KVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaXNDYXJkKGF0dGFjaG1lbnQpXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkIHN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtY2FyZC0te3tcbiAgICAgICAgYXR0YWNobWVudC50eXBlXG4gICAgICB9fVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQuaW1hZ2VfdXJsIHx8IGF0dGFjaG1lbnQudGh1bWJfdXJsXCJcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLWhlYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICBkYXRhLXRlc3RjbGFzcz1cImNhcmQtaW1nXCJcbiAgICAgICAgICBhbHQ9XCJ7eyBhdHRhY2htZW50LmltYWdlX3VybCB8fCBhdHRhY2htZW50LnRodW1iX3VybCB9fVwiXG4gICAgICAgICAgc3JjPVwie3sgYXR0YWNobWVudC5pbWFnZV91cmwgfHwgYXR0YWNobWVudC50aHVtYl91cmwgfX1cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQudGl0bGVcIlxuICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJjYXJkLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS10aXRsZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgYXR0YWNobWVudC50aXRsZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiYXR0YWNobWVudC50ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS10ZXh0XCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiY2FyZC10ZXh0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBhdHRhY2htZW50LnRleHQgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLXVybFwiXG4gICAgICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmxcIlxuICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJ1cmwtbGlua1wiXG4gICAgICAgICAgICBub29wZW5lclxuICAgICAgICAgICAgbm9yZWZlcnJlclxuICAgICAgICAgICAgaHJlZj1cInt7IGF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmwgfX1cIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB0cmltVXJsKGF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmwpIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zXCJcbiAgICAgICpuZ0lmPVwiYXR0YWNobWVudC5hY3Rpb25zICYmIGF0dGFjaG1lbnQuYWN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zLWZvcm1cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYXR0YWNobWVudC5hY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uVmFsdWVcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zLWJ1dHRvbiBzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWFjdGlvbnMtYnV0dG9uLS17e1xuICAgICAgICAgICAgYWN0aW9uLnN0eWxlXG4gICAgICAgICAgfX1cIlxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiYXR0YWNobWVudC1hY3Rpb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZW5kQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzZW5kQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aW9uLnRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBSTVELE9BQU8sV0FBVyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFHM0Q7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBYWxDLFlBQ1UsZ0JBQWtDLEVBQ2xDLGNBQThCO1FBRDlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVnhDOztXQUVHO1FBQ00sZ0JBQVcsR0FBd0MsRUFBRSxDQUFDO1FBQy9ELHVCQUFrQixHQUF3QyxFQUFFLENBQUM7UUFDN0QsaUJBQVksR0FBd0MsRUFBRSxDQUFDO1FBQ3ZELDZCQUF3QixHQUFHLENBQUMsQ0FBQztJQUsxQixDQUFDO0lBRUosV0FBVztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUc7WUFDeEIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzFELEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8sQ0FBQyxVQUFzQjtRQUM1QixPQUFPLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBc0I7UUFDM0IsT0FBTyxVQUFVLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQXNCO1FBQzlCLE9BQU8sVUFBVSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFzQjtRQUMzQixPQUFPLENBQ0wsQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNoQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxRCxVQUFVLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQTZDO1FBQ3ZELE9BQU8sQ0FDTCxVQUFVLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUE2QztRQUN2RCxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFtQjtRQUN6QixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNyQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRztpQkFDckIsT0FBTyxDQUFDLDhCQUE4QixFQUFFLEVBQUUsQ0FBQztpQkFDM0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWQsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBYztRQUN2QixLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFVLEVBQUU7WUFDbkQsQ0FBQyxNQUFNLENBQUMsSUFBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQU07U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQVMsRUFBRSxJQUFZO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlCLEVBQUUsYUFBYSxHQUFHLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGFBQWEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsd0JBQXdCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQVMsRUFBRSxJQUFnQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLDZCQUE2QjtRQUMvQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksNkJBQTZCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQW9CO1FBQ3hDLE9BQU87WUFDTDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixNQUFNO2FBQ1A7U0FDRixDQUFDO0lBQ0osQ0FBQzs7b0hBdkhVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG1KQ2hCcEMsdzVOQStNQTsyRkQvTGEsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSxrQ0FBa0M7b0JBQy9DLE1BQU0sRUFBRSxFQUFFO2lCQUNYO29JQUtVLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBBdHRhY2htZW50IH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgSW1hZ2VMb2FkU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2UtbGlzdC9pbWFnZS1sb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVmYXVsdEF0dGFjaG1lbnRUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHByZXR0eWJ5dGVzIGZyb20gJ3ByZXR0eS1ieXRlcyc7XG5pbXBvcnQgeyBpc0ltYWdlQXR0YWNobWVudCB9IGZyb20gJy4uL2lzLWltYWdlLWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuXG4vKipcbiAqIFRoZSBgQXR0YWNobWVudExpc3RgIGNvbXBvbnRlbnQgZGlzcGxheXMgdGhlIGF0dGFjaG1lbnRzIG9mIGEgbWVzc2FnZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tYXR0YWNobWVudC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEF0dGFjaG1lbnRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZSB0aGUgYXR0YWNobWVudHMgYmVsb25nIHRvXG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBhdHRhY2htZW50cyB0byBkaXNwbGF5XG4gICAqL1xuICBASW5wdXQoKSBhdHRhY2htZW50czogQXR0YWNobWVudDxEZWZhdWx0QXR0YWNobWVudFR5cGU+W10gPSBbXTtcbiAgb3JkZXJlZEF0dGFjaG1lbnRzOiBBdHRhY2htZW50PERlZmF1bHRBdHRhY2htZW50VHlwZT5bXSA9IFtdO1xuICBpbWFnZXNUb1ZpZXc6IEF0dGFjaG1lbnQ8RGVmYXVsdEF0dGFjaG1lbnRUeXBlPltdID0gW107XG4gIGltYWdlc1RvVmlld0N1cnJlbnRJbmRleCA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbWFnZUxvYWRTZXJ2aWNlOiBJbWFnZUxvYWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlXG4gICkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBpbWFnZXMgPSB0aGlzLmF0dGFjaG1lbnRzLmZpbHRlcih0aGlzLmlzSW1hZ2UpO1xuICAgIGNvbnN0IGNvbnRhaW5zR2FsbGVyeSA9IGltYWdlcy5sZW5ndGggPj0gMjtcbiAgICB0aGlzLm9yZGVyZWRBdHRhY2htZW50cyA9IFtcbiAgICAgIC4uLihjb250YWluc0dhbGxlcnkgPyB0aGlzLmNyZWF0ZUdhbGxlcnkoaW1hZ2VzKSA6IGltYWdlcyksXG4gICAgICAuLi50aGlzLmF0dGFjaG1lbnRzLmZpbHRlcigoYSkgPT4gdGhpcy5pc0ZpbGUoYSkpLFxuICAgICAgLi4udGhpcy5hdHRhY2htZW50cy5maWx0ZXIoKGEpID0+IHRoaXMuaXNDYXJkKGEpKSxcbiAgICBdO1xuICB9XG5cbiAgdHJhY2tCeUlkKGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBpc0ltYWdlKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpIHtcbiAgICByZXR1cm4gaXNJbWFnZUF0dGFjaG1lbnQoYXR0YWNobWVudCk7XG4gIH1cblxuICBpc0ZpbGUoYXR0YWNobWVudDogQXR0YWNobWVudCkge1xuICAgIHJldHVybiBhdHRhY2htZW50LnR5cGUgPT09ICdmaWxlJztcbiAgfVxuXG4gIGlzR2FsbGVyeShhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XG4gICAgcmV0dXJuIGF0dGFjaG1lbnQudHlwZSA9PT0gJ2dhbGxlcnknO1xuICB9XG5cbiAgaXNDYXJkKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgIWF0dGFjaG1lbnQudHlwZSB8fFxuICAgICAgKGF0dGFjaG1lbnQudHlwZSA9PT0gJ2ltYWdlJyAmJiAhdGhpcy5pc0ltYWdlKGF0dGFjaG1lbnQpKSB8fFxuICAgICAgYXR0YWNobWVudC50eXBlID09PSAnZ2lwaHknXG4gICAgKTtcbiAgfVxuXG4gIGltYWdlTG9hZGVkKCkge1xuICAgIHRoaXMuaW1hZ2VMb2FkU2VydmljZS5pbWFnZUxvYWQkLm5leHQoKTtcbiAgfVxuXG4gIGhhc0ZpbGVTaXplKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQ8RGVmYXVsdEF0dGFjaG1lbnRUeXBlPikge1xuICAgIHJldHVybiAoXG4gICAgICBhdHRhY2htZW50LmZpbGVfc2l6ZSAmJiBOdW1iZXIuaXNGaW5pdGUoTnVtYmVyKGF0dGFjaG1lbnQuZmlsZV9zaXplKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RmlsZVNpemUoYXR0YWNobWVudDogQXR0YWNobWVudDxEZWZhdWx0QXR0YWNobWVudFR5cGU+KSB7XG4gICAgcmV0dXJuIHByZXR0eWJ5dGVzKE51bWJlcihhdHRhY2htZW50LmZpbGVfc2l6ZSEpKTtcbiAgfVxuXG4gIHRyaW1VcmwodXJsPzogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh1cmwgIT09IHVuZGVmaW5lZCAmJiB1cmwgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IFt0cmltbWVkVXJsXSA9IHVybFxuICAgICAgICAucmVwbGFjZSgvXig/Omh0dHBzPzpcXC9cXC8pPyg/Ond3d1xcLik/L2ksICcnKVxuICAgICAgICAuc3BsaXQoJy8nKTtcblxuICAgICAgcmV0dXJuIHRyaW1tZWRVcmw7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc2VuZEFjdGlvbihhY3Rpb246IEFjdGlvbikge1xuICAgIHZvaWQgdGhpcy5jaGFubmVsU2VydmljZS5zZW5kQWN0aW9uKHRoaXMubWVzc2FnZUlkISwge1xuICAgICAgW2FjdGlvbi5uYW1lIV06IGFjdGlvbi52YWx1ZSEsXG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5QWN0aW9uVmFsdWUoXzogbnVtYmVyLCBpdGVtOiBBY3Rpb24pIHtcbiAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgfVxuXG4gIG9wZW5JbWFnZU1vZGFsKGF0dGFjaG1lbnRzOiBBdHRhY2htZW50W10sIHNlbGVjdGVkSW5kZXggPSAwKSB7XG4gICAgdGhpcy5pbWFnZXNUb1ZpZXcgPSBhdHRhY2htZW50cztcbiAgICB0aGlzLmltYWdlc1RvVmlld0N1cnJlbnRJbmRleCA9IHNlbGVjdGVkSW5kZXg7XG4gIH1cblxuICBjbG9zZUltYWdlTW9kYWwoKSB7XG4gICAgdGhpcy5pbWFnZXNUb1ZpZXcgPSBbXTtcbiAgfVxuXG4gIHN0ZXBJbWFnZXMoZGlyOiAtMSB8IDEpIHtcbiAgICB0aGlzLmltYWdlc1RvVmlld0N1cnJlbnRJbmRleCArPSBkaXIgKiAxO1xuICB9XG5cbiAgdHJhY2tCeUltYWdlVXJsKF86IG51bWJlciwgaXRlbTogQXR0YWNobWVudCkge1xuICAgIHJldHVybiBpdGVtLmltYWdlX3VybCB8fCBpdGVtLmltZ191cmwgfHwgaXRlbS50aHVtYl91cmw7XG4gIH1cblxuICBnZXQgaXNJbWFnZU1vZGFsUHJldkJ1dHRvblZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1hZ2VzVG9WaWV3Q3VycmVudEluZGV4ICE9PSAwO1xuICB9XG5cbiAgZ2V0IGlzSW1hZ2VNb2RhbE5leHRCdXR0b25WaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmltYWdlc1RvVmlld0N1cnJlbnRJbmRleCAhPT0gdGhpcy5pbWFnZXNUb1ZpZXcubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlR2FsbGVyeShpbWFnZXM6IEF0dGFjaG1lbnRbXSkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdnYWxsZXJ5JyxcbiAgICAgICAgaW1hZ2VzLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhdHRhY2htZW50IG9mIG9yZGVyZWRBdHRhY2htZW50czsgdHJhY2tCeTogdHJhY2tCeUlkXCI+XG4gIDxkaXZcbiAgICBkYXRhLXRlc3RjbGFzcz1cImF0dGFjaG1lbnQtY29udGFpbmVyXCJcbiAgICBjbGFzcz1cInN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQgc3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC0te3tcbiAgICAgIGF0dGFjaG1lbnQudHlwZVxuICAgIH19XCJcbiAgICBbY2xhc3Muc3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC0tY2FyZF09XCJpc0NhcmQoYXR0YWNobWVudClcIlxuICAgIFtjbGFzcy5zdHItY2hhdC1hbmd1bGFyX19tZXNzYWdlLWF0dGFjaG1lbnQtZmlsZS1zaW5nbGVdPVwiXG4gICAgICBpc0ZpbGUoYXR0YWNobWVudClcbiAgICBcIlxuICA+XG4gICAgPGltZ1xuICAgICAgKm5nSWY9XCJpc0ltYWdlKGF0dGFjaG1lbnQpXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC0taW1nXCJcbiAgICAgIGRhdGEtdGVzdGNsYXNzPVwiaW1hZ2VcIlxuICAgICAgW3NyY109XCJhdHRhY2htZW50LmltZ191cmwgfHwgYXR0YWNobWVudC50aHVtYl91cmwgfHwgYXR0YWNobWVudC5pbWFnZV91cmxcIlxuICAgICAgW2FsdF09XCJhdHRhY2htZW50Py5mYWxsYmFja1wiXG4gICAgICAobG9hZCk9XCJpbWFnZUxvYWRlZCgpXCJcbiAgICAgIChjbGljayk9XCJvcGVuSW1hZ2VNb2RhbChbYXR0YWNobWVudF0pXCJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJvcGVuSW1hZ2VNb2RhbChbYXR0YWNobWVudF0pXCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2dhbGxlcnlcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJpbWFnZS1nYWxsZXJ5XCJcbiAgICAgICpuZ0lmPVwiaXNHYWxsZXJ5KGF0dGFjaG1lbnQpXCJcbiAgICAgIFtjbGFzcy5zdHItY2hhdF9fZ2FsbGVyeS0tc3F1YXJlXT1cIihhdHRhY2htZW50Py5pbWFnZXMpIS5sZW5ndGggPiAzXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBnYWxsZXJ5SW1hZ2Ugb2YgYXR0YWNobWVudC5pbWFnZXM7XG4gICAgICAgICAgbGV0IGluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgbGV0IGlzTGFzdCA9IGxhc3Q7XG4gICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUltYWdlVXJsXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImluZGV4IDwgMyB8fCAoaW5kZXggPT09IDMgJiYgaXNMYXN0KVwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fZ2FsbGVyeS1pbWFnZVwiXG4gICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJnYWxsZXJ5LWltYWdlXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoYXR0YWNobWVudC5pbWFnZXMhLCBpbmRleClcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJvcGVuSW1hZ2VNb2RhbChhdHRhY2htZW50LmltYWdlcyEsIGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICBnYWxsZXJ5SW1hZ2UuaW1nX3VybCB8fFxuICAgICAgICAgICAgICBnYWxsZXJ5SW1hZ2UudGh1bWJfdXJsIHx8XG4gICAgICAgICAgICAgIGdhbGxlcnlJbWFnZS5pbWFnZV91cmxcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbYWx0XT1cImdhbGxlcnlJbWFnZS5mYWxsYmFja1wiXG4gICAgICAgICAgICAobG9hZCk9XCJpbWFnZUxvYWRlZCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IDMgJiYgIWlzTGFzdFwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fZ2FsbGVyeS1wbGFjZWhvbGRlclwiXG4gICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJnYWxsZXJ5LWltYWdlXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoYXR0YWNobWVudC5pbWFnZXMhLCBpbmRleClcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJvcGVuSW1hZ2VNb2RhbChhdHRhY2htZW50LmltYWdlcyEsIGluZGV4KVwiXG4gICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnOlxuICAgICAgICAgICAgICAndXJsKCcgK1xuICAgICAgICAgICAgICAoZ2FsbGVyeUltYWdlLmltZ191cmwgfHxcbiAgICAgICAgICAgICAgICBnYWxsZXJ5SW1hZ2UudGh1bWJfdXJsIHx8XG4gICAgICAgICAgICAgICAgZ2FsbGVyeUltYWdlLmltYWdlX3VybCkgK1xuICAgICAgICAgICAgICAnKSdcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAnc3RyZWFtQ2hhdC57eyBpbWFnZUNvdW50IH19IG1vcmUnXG4gICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgaW1hZ2VDb3VudDogYXR0YWNobWVudCEuaW1hZ2VzIS5sZW5ndGggLSA0IH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvcD5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImlzRmlsZShhdHRhY2htZW50KVwiXG4gICAgICBjbGFzcz1cIlxuICAgICAgICBzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtLWl0ZW1cbiAgICAgICAgc3RyLWNoYXQtYW5ndWxhcl9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtc2luZ2xlXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxzdHJlYW0taWNvbiBpY29uPVwiZmlsZVwiIFtzaXplXT1cIjMwXCI+PC9zdHJlYW0taWNvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtLWl0ZW0tdGV4dFwiPlxuICAgICAgICA8YVxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiZmlsZS1saW5rXCJcbiAgICAgICAgICBkb3dubG9hZFxuICAgICAgICAgIGhyZWY9XCJ7eyBhdHRhY2htZW50LmFzc2V0X3VybCB9fVwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGF0dGFjaG1lbnQudGl0bGUgfX1cbiAgICAgICAgPC9hPlxuICAgICAgICA8c3BhbiBkYXRhLXRlc3RjbGFzcz1cInNpemVcIiAqbmdJZj1cImhhc0ZpbGVTaXplKGF0dGFjaG1lbnQpXCI+e3tcbiAgICAgICAgICBnZXRGaWxlU2l6ZShhdHRhY2htZW50KVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaXNDYXJkKGF0dGFjaG1lbnQpXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkIHN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtY2FyZC0te3tcbiAgICAgICAgYXR0YWNobWVudC50eXBlXG4gICAgICB9fVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQuaW1hZ2VfdXJsIHx8IGF0dGFjaG1lbnQudGh1bWJfdXJsXCJcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLWhlYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICBkYXRhLXRlc3RjbGFzcz1cImNhcmQtaW1nXCJcbiAgICAgICAgICBhbHQ9XCJ7eyBhdHRhY2htZW50LmltYWdlX3VybCB8fCBhdHRhY2htZW50LnRodW1iX3VybCB9fVwiXG4gICAgICAgICAgc3JjPVwie3sgYXR0YWNobWVudC5pbWFnZV91cmwgfHwgYXR0YWNobWVudC50aHVtYl91cmwgfX1cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQudGl0bGVcIlxuICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJjYXJkLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS10aXRsZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgYXR0YWNobWVudC50aXRsZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiYXR0YWNobWVudC50ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS10ZXh0XCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiY2FyZC10ZXh0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBhdHRhY2htZW50LnRleHQgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLXVybFwiXG4gICAgICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmxcIlxuICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJ1cmwtbGlua1wiXG4gICAgICAgICAgICBub29wZW5lclxuICAgICAgICAgICAgbm9yZWZlcnJlclxuICAgICAgICAgICAgaHJlZj1cInt7IGF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmwgfX1cIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB0cmltVXJsKGF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmwpIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zXCJcbiAgICAgICpuZ0lmPVwiYXR0YWNobWVudC5hY3Rpb25zICYmIGF0dGFjaG1lbnQuYWN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zLWZvcm1cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYXR0YWNobWVudC5hY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uVmFsdWVcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zLWJ1dHRvbiBzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWFjdGlvbnMtYnV0dG9uLS17e1xuICAgICAgICAgICAgYWN0aW9uLnN0eWxlXG4gICAgICAgICAgfX1cIlxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiYXR0YWNobWVudC1hY3Rpb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZW5kQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzZW5kQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aW9uLnRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPHN0cmVhbS1tb2RhbFxuICAqbmdJZj1cImltYWdlc1RvVmlldyAmJiBpbWFnZXNUb1ZpZXcubGVuZ3RoID4gMFwiXG4gIFtpc09wZW5dPVwiaW1hZ2VzVG9WaWV3ICYmIGltYWdlc1RvVmlldy5sZW5ndGggPiAwXCJcbiAgKGlzT3BlbkNoYW5nZSk9XCIkZXZlbnQgPyBudWxsIDogY2xvc2VJbWFnZU1vZGFsKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyZWFtLWNoYXQtYW5ndWxhcl9faW1hZ2UtbW9kYWxcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInN0cmVhbS1jaGF0LWFuZ3VsYXJfX2ltYWdlLW1vZGFsLXN0ZXBwZXJcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICB2aXNpYmlsaXR5OiBpc0ltYWdlTW9kYWxQcmV2QnV0dG9uVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXG4gICAgICB9XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW1hZ2UtbW9kYWwtcHJldlwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJzdGVwSW1hZ2VzKC0xKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwic3RlcEltYWdlcygtMSlcIlxuICAgID5cbiAgICAgIDxzdHJlYW0taWNvbiBpY29uPVwiYXJyb3ctbGVmdFwiPjwvc3RyZWFtLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGltZ1xuICAgICAgY2xhc3M9XCJzdHJlYW0tY2hhdC1hbmd1bGFyX19pbWFnZS1tb2RhbC1pbWFnZVwiXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWltYWdlXCJcbiAgICAgIFtzcmNdPVwiXG4gICAgICAgIGltYWdlc1RvVmlld1tpbWFnZXNUb1ZpZXdDdXJyZW50SW5kZXhdLmltZ191cmwgfHxcbiAgICAgICAgaW1hZ2VzVG9WaWV3W2ltYWdlc1RvVmlld0N1cnJlbnRJbmRleF0udGh1bWJfdXJsIHx8XG4gICAgICAgIGltYWdlc1RvVmlld1tpbWFnZXNUb1ZpZXdDdXJyZW50SW5kZXhdLmltYWdlX3VybFxuICAgICAgXCJcbiAgICAgIFthbHRdPVwiaW1hZ2VzVG9WaWV3W2ltYWdlc1RvVmlld0N1cnJlbnRJbmRleF0uZmFsbGJhY2tcIlxuICAgIC8+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJzdHJlYW0tY2hhdC1hbmd1bGFyX19pbWFnZS1tb2RhbC1zdGVwcGVyXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICB2aXNpYmlsaXR5OiBpc0ltYWdlTW9kYWxOZXh0QnV0dG9uVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXG4gICAgICB9XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW1hZ2UtbW9kYWwtbmV4dFwiXG4gICAgICAoY2xpY2spPVwic3RlcEltYWdlcygxKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwic3RlcEltYWdlcygxKVwiXG4gICAgPlxuICAgICAgPHN0cmVhbS1pY29uIGljb249XCJhcnJvdy1yaWdodFwiPjwvc3RyZWFtLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9zdHJlYW0tbW9kYWw+XG4iXX0=
@@ -2,8 +2,9 @@ import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../channel.service";
4
4
  import * as i2 from "../channel-list/channel-list-toggle.service";
5
- import * as i3 from "../avatar/avatar.component";
6
- import * as i4 from "@ngx-translate/core";
5
+ import * as i3 from "../icon/icon.component";
6
+ import * as i4 from "../avatar/avatar.component";
7
+ import * as i5 from "@ngx-translate/core";
7
8
  /**
8
9
  * The `ChannelHeader` component displays the avatar and name of the currently active channel along with member and watcher information. You can read about [the difference between members and watchers](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript#watchers-vs-members) in the platform documentation. Please note that number of watchers is only displayed if the user has [`connect-events` capability](https://getstream.io/chat/docs/javascript/channel_capabilities/?language=javascript)
9
10
  */
@@ -36,7 +37,7 @@ export class ChannelHeaderComponent {
36
37
  }
37
38
  }
38
39
  ChannelHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ChannelHeaderComponent, deps: [{ token: i1.ChannelService }, { token: i2.ChannelListToggleService }], target: i0.ɵɵFactoryTarget.Component });
39
- ChannelHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: ChannelHeaderComponent, selector: "stream-channel-header", ngImport: i0, template: "<div class=\"str-chat__header-livestream\">\n <div\n class=\"str-chat__header-hamburger\"\n (click)=\"toggleMenu($event)\"\n (keyup.enter)=\"toggleMenu($event)\"\n >\n <span class=\"str-chat__header-hamburger--line\"></span>\n <span class=\"str-chat__header-hamburger--line\"></span>\n <span class=\"str-chat__header-hamburger--line\"></span>\n </div>\n <stream-avatar\n imageUrl=\"{{ activeChannel?.data?.image }}\"\n name=\"{{ activeChannel?.data?.name }}\"\n ></stream-avatar>\n <div class=\"str-chat__header-livestream-left\">\n <p data-testid=\"name\" class=\"str-chat__header-livestream-left--title\">\n {{ activeChannel?.data?.name }}\n </p>\n <p data-testid=\"info\" class=\"str-chat__header-livestream-left--members\">\n {{'streamChat.{{ memberCount }} members' | translate:memberCountParam}}\n {{canReceiveConnectEvents ? ('streamChat.{{ watcherCount }} online' |\n translate:watcherCountParam) : ''}}\n </p>\n </div>\n</div>\n", components: [{ type: i3.AvatarComponent, selector: "stream-avatar", inputs: ["name", "imageUrl", "size"] }], pipes: { "translate": i4.TranslatePipe } });
40
+ ChannelHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: ChannelHeaderComponent, selector: "stream-channel-header", ngImport: i0, template: "<div class=\"str-chat__header-livestream\">\n <div\n class=\"str-chat__header-hamburger\"\n (click)=\"toggleMenu($event)\"\n (keyup.enter)=\"toggleMenu($event)\"\n >\n <stream-icon icon=\"menu\"></stream-icon>\n </div>\n <stream-avatar\n imageUrl=\"{{ activeChannel?.data?.image }}\"\n name=\"{{ activeChannel?.data?.name }}\"\n ></stream-avatar>\n <div class=\"str-chat__header-livestream-left\">\n <p data-testid=\"name\" class=\"str-chat__header-livestream-left--title\">\n {{ activeChannel?.data?.name }}\n </p>\n <p data-testid=\"info\" class=\"str-chat__header-livestream-left--members\">\n {{'streamChat.{{ memberCount }} members' | translate:memberCountParam}}\n {{canReceiveConnectEvents ? ('streamChat.{{ watcherCount }} online' |\n translate:watcherCountParam) : ''}}\n </p>\n </div>\n</div>\n", components: [{ type: i3.IconComponent, selector: "stream-icon", inputs: ["icon", "size"] }, { type: i4.AvatarComponent, selector: "stream-avatar", inputs: ["name", "imageUrl", "size"] }], pipes: { "translate": i5.TranslatePipe } });
40
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ChannelHeaderComponent, decorators: [{
41
42
  type: Component,
42
43
  args: [{
@@ -45,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
45
46
  styles: [],
46
47
  }]
47
48
  }], ctorParameters: function () { return [{ type: i1.ChannelService }, { type: i2.ChannelListToggleService }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2NoYW5uZWwtaGVhZGVyL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWhlYWRlci9jaGFubmVsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFLMUM7O0dBRUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQ1UsY0FBOEIsRUFDOUIsd0JBQWtEO1FBRGxELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRTFELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOztZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUN2QixNQUFNLFlBQVksR0FBRyxNQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsSUFBSSwwQ0FDekMsZ0JBQTRCLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDakIsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLHVCQUF1QjtnQkFDMUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZO1FBQ3JCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksZ0JBQWdCOztRQUNsQixPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUEsTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLElBQUksMENBQUUsWUFBWSxLQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGlCQUFpQjs7UUFDbkIsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxLQUFLLDBDQUFFLGFBQWEsS0FBSSxDQUFDLEVBQUUsQ0FBQztJQUN6RSxDQUFDOzttSEEvQlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsNkRDYm5DLDArQkF5QkE7MkZEWmEsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLE1BQU0sRUFBRSxFQUFFO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC1saXN0L2NoYW5uZWwtbGlzdC10b2dnbGUuc2VydmljZSc7XG5pbXBvcnQgeyBDaGFubmVsU2VydmljZSB9IGZyb20gJy4uL2NoYW5uZWwuc2VydmljZSc7XG5cbi8qKlxuICogVGhlIGBDaGFubmVsSGVhZGVyYCBjb21wb25lbnQgZGlzcGxheXMgdGhlIGF2YXRhciBhbmQgbmFtZSBvZiB0aGUgY3VycmVudGx5IGFjdGl2ZSBjaGFubmVsIGFsb25nIHdpdGggbWVtYmVyIGFuZCB3YXRjaGVyIGluZm9ybWF0aW9uLiBZb3UgY2FuIHJlYWQgYWJvdXQgW3RoZSBkaWZmZXJlbmNlIGJldHdlZW4gbWVtYmVycyBhbmQgd2F0Y2hlcnNdKGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9qYXZhc2NyaXB0L3dhdGNoX2NoYW5uZWwvP2xhbmd1YWdlPWphdmFzY3JpcHQjd2F0Y2hlcnMtdnMtbWVtYmVycykgaW4gdGhlIHBsYXRmb3JtIGRvY3VtZW50YXRpb24uIFBsZWFzZSBub3RlIHRoYXQgbnVtYmVyIG9mIHdhdGNoZXJzIGlzIG9ubHkgZGlzcGxheWVkIGlmIHRoZSB1c2VyIGhhcyBbYGNvbm5lY3QtZXZlbnRzYCBjYXBhYmlsaXR5XShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC9jaGFubmVsX2NhcGFiaWxpdGllcy8/bGFuZ3VhZ2U9amF2YXNjcmlwdClcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLWNoYW5uZWwtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbm5lbEhlYWRlckNvbXBvbmVudCB7XG4gIGFjdGl2ZUNoYW5uZWw6IENoYW5uZWwgfCB1bmRlZmluZWQ7XG4gIGNhblJlY2VpdmVDb25uZWN0RXZlbnRzOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlOiBDaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIHRoaXMuYWN0aXZlQ2hhbm5lbCA9IGM7XG4gICAgICBjb25zdCBjYXBhYmlsaXRpZXMgPSB0aGlzLmFjdGl2ZUNoYW5uZWw/LmRhdGFcbiAgICAgICAgPy5vd25fY2FwYWJpbGl0aWVzIGFzIHN0cmluZ1tdO1xuICAgICAgaWYgKCFjYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5jYW5SZWNlaXZlQ29ubmVjdEV2ZW50cyA9XG4gICAgICAgIGNhcGFiaWxpdGllcy5pbmRleE9mKCdjb25uZWN0LWV2ZW50cycpICE9PSAtMTtcbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5jaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UudG9nZ2xlKCk7XG4gIH1cblxuICBnZXQgbWVtYmVyQ291bnRQYXJhbSgpIHtcbiAgICByZXR1cm4geyBtZW1iZXJDb3VudDogdGhpcy5hY3RpdmVDaGFubmVsPy5kYXRhPy5tZW1iZXJfY291bnQgfHwgMCB9O1xuICB9XG5cbiAgZ2V0IHdhdGNoZXJDb3VudFBhcmFtKCkge1xuICAgIHJldHVybiB7IHdhdGNoZXJDb3VudDogdGhpcy5hY3RpdmVDaGFubmVsPy5zdGF0ZT8ud2F0Y2hlcl9jb3VudCB8fCAwIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHItY2hhdF9faGVhZGVyLWxpdmVzdHJlYW1cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1oYW1idXJnZXJcIlxuICAgIChjbGljayk9XCJ0b2dnbGVNZW51KCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVNZW51KCRldmVudClcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJzdHItY2hhdF9faGVhZGVyLWhhbWJ1cmdlci0tbGluZVwiPjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItaGFtYnVyZ2VyLS1saW5lXCI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1oYW1idXJnZXItLWxpbmVcIj48L3NwYW4+XG4gIDwvZGl2PlxuICA8c3RyZWFtLWF2YXRhclxuICAgIGltYWdlVXJsPVwie3sgYWN0aXZlQ2hhbm5lbD8uZGF0YT8uaW1hZ2UgfX1cIlxuICAgIG5hbWU9XCJ7eyBhY3RpdmVDaGFubmVsPy5kYXRhPy5uYW1lIH19XCJcbiAgPjwvc3RyZWFtLWF2YXRhcj5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItbGl2ZXN0cmVhbS1sZWZ0XCI+XG4gICAgPHAgZGF0YS10ZXN0aWQ9XCJuYW1lXCIgY2xhc3M9XCJzdHItY2hhdF9faGVhZGVyLWxpdmVzdHJlYW0tbGVmdC0tdGl0bGVcIj5cbiAgICAgIHt7IGFjdGl2ZUNoYW5uZWw/LmRhdGE/Lm5hbWUgfX1cbiAgICA8L3A+XG4gICAgPHAgZGF0YS10ZXN0aWQ9XCJpbmZvXCIgY2xhc3M9XCJzdHItY2hhdF9faGVhZGVyLWxpdmVzdHJlYW0tbGVmdC0tbWVtYmVyc1wiPlxuICAgICAge3snc3RyZWFtQ2hhdC57eyBtZW1iZXJDb3VudCB9fSBtZW1iZXJzJyB8IHRyYW5zbGF0ZTptZW1iZXJDb3VudFBhcmFtfX1cbiAgICAgIHt7Y2FuUmVjZWl2ZUNvbm5lY3RFdmVudHMgPyAoJ3N0cmVhbUNoYXQue3sgd2F0Y2hlckNvdW50IH19IG9ubGluZScgfFxuICAgICAgdHJhbnNsYXRlOndhdGNoZXJDb3VudFBhcmFtKSA6ICcnfX1cbiAgICA8L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2NoYW5uZWwtaGVhZGVyL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWhlYWRlci9jaGFubmVsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBSzFDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLGNBQThCLEVBQzlCLHdCQUFrRDtRQURsRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUUxRCxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7WUFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDdkIsTUFBTSxZQUFZLEdBQUcsTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLElBQUksMENBQ3pDLGdCQUE0QixDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2pCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyx1QkFBdUI7Z0JBQzFCLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLGdCQUFnQjs7UUFDbEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxJQUFJLDBDQUFFLFlBQVksS0FBSSxDQUFDLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7O1FBQ25CLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsS0FBSywwQ0FBRSxhQUFhLEtBQUksQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQzs7bUhBL0JVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDZEQ2JuQywrMUJBdUJBOzJGRFZhLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxNQUFNLEVBQUUsRUFBRTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbm5lbCB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IENoYW5uZWxMaXN0VG9nZ2xlU2VydmljZSB9IGZyb20gJy4uL2NoYW5uZWwtbGlzdC9jaGFubmVsLWxpc3QtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuXG4vKipcbiAqIFRoZSBgQ2hhbm5lbEhlYWRlcmAgY29tcG9uZW50IGRpc3BsYXlzIHRoZSBhdmF0YXIgYW5kIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgY2hhbm5lbCBhbG9uZyB3aXRoIG1lbWJlciBhbmQgd2F0Y2hlciBpbmZvcm1hdGlvbi4gWW91IGNhbiByZWFkIGFib3V0IFt0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1lbWJlcnMgYW5kIHdhdGNoZXJzXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC93YXRjaF9jaGFubmVsLz9sYW5ndWFnZT1qYXZhc2NyaXB0I3dhdGNoZXJzLXZzLW1lbWJlcnMpIGluIHRoZSBwbGF0Zm9ybSBkb2N1bWVudGF0aW9uLiBQbGVhc2Ugbm90ZSB0aGF0IG51bWJlciBvZiB3YXRjaGVycyBpcyBvbmx5IGRpc3BsYXllZCBpZiB0aGUgdXNlciBoYXMgW2Bjb25uZWN0LWV2ZW50c2AgY2FwYWJpbGl0eV0oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvY2hhbm5lbF9jYXBhYmlsaXRpZXMvP2xhbmd1YWdlPWphdmFzY3JpcHQpXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1jaGFubmVsLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIENoYW5uZWxIZWFkZXJDb21wb25lbnQge1xuICBhY3RpdmVDaGFubmVsOiBDaGFubmVsIHwgdW5kZWZpbmVkO1xuICBjYW5SZWNlaXZlQ29ubmVjdEV2ZW50czogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5uZWxMaXN0VG9nZ2xlU2VydmljZTogQ2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbCQuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICB0aGlzLmFjdGl2ZUNoYW5uZWwgPSBjO1xuICAgICAgY29uc3QgY2FwYWJpbGl0aWVzID0gdGhpcy5hY3RpdmVDaGFubmVsPy5kYXRhXG4gICAgICAgID8ub3duX2NhcGFiaWxpdGllcyBhcyBzdHJpbmdbXTtcbiAgICAgIGlmICghY2FwYWJpbGl0aWVzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2FuUmVjZWl2ZUNvbm5lY3RFdmVudHMgPVxuICAgICAgICBjYXBhYmlsaXRpZXMuaW5kZXhPZignY29ubmVjdC1ldmVudHMnKSAhPT0gLTE7XG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVNZW51KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlLnRvZ2dsZSgpO1xuICB9XG5cbiAgZ2V0IG1lbWJlckNvdW50UGFyYW0oKSB7XG4gICAgcmV0dXJuIHsgbWVtYmVyQ291bnQ6IHRoaXMuYWN0aXZlQ2hhbm5lbD8uZGF0YT8ubWVtYmVyX2NvdW50IHx8IDAgfTtcbiAgfVxuXG4gIGdldCB3YXRjaGVyQ291bnRQYXJhbSgpIHtcbiAgICByZXR1cm4geyB3YXRjaGVyQ291bnQ6IHRoaXMuYWN0aXZlQ2hhbm5lbD8uc3RhdGU/LndhdGNoZXJfY291bnQgfHwgMCB9O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1saXZlc3RyZWFtXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItaGFtYnVyZ2VyXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlTWVudSgkZXZlbnQpXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlTWVudSgkZXZlbnQpXCJcbiAgPlxuICAgIDxzdHJlYW0taWNvbiBpY29uPVwibWVudVwiPjwvc3RyZWFtLWljb24+XG4gIDwvZGl2PlxuICA8c3RyZWFtLWF2YXRhclxuICAgIGltYWdlVXJsPVwie3sgYWN0aXZlQ2hhbm5lbD8uZGF0YT8uaW1hZ2UgfX1cIlxuICAgIG5hbWU9XCJ7eyBhY3RpdmVDaGFubmVsPy5kYXRhPy5uYW1lIH19XCJcbiAgPjwvc3RyZWFtLWF2YXRhcj5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItbGl2ZXN0cmVhbS1sZWZ0XCI+XG4gICAgPHAgZGF0YS10ZXN0aWQ9XCJuYW1lXCIgY2xhc3M9XCJzdHItY2hhdF9faGVhZGVyLWxpdmVzdHJlYW0tbGVmdC0tdGl0bGVcIj5cbiAgICAgIHt7IGFjdGl2ZUNoYW5uZWw/LmRhdGE/Lm5hbWUgfX1cbiAgICA8L3A+XG4gICAgPHAgZGF0YS10ZXN0aWQ9XCJpbmZvXCIgY2xhc3M9XCJzdHItY2hhdF9faGVhZGVyLWxpdmVzdHJlYW0tbGVmdC0tbWVtYmVyc1wiPlxuICAgICAge3snc3RyZWFtQ2hhdC57eyBtZW1iZXJDb3VudCB9fSBtZW1iZXJzJyB8IHRyYW5zbGF0ZTptZW1iZXJDb3VudFBhcmFtfX1cbiAgICAgIHt7Y2FuUmVjZWl2ZUNvbm5lY3RFdmVudHMgPyAoJ3N0cmVhbUNoYXQue3sgd2F0Y2hlckNvdW50IH19IG9ubGluZScgfFxuICAgICAgdHJhbnNsYXRlOndhdGNoZXJDb3VudFBhcmFtKSA6ICcnfX1cbiAgICA8L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -9,7 +9,7 @@ export class IconComponent {
9
9
  constructor() { }
10
10
  }
11
11
  IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: IconComponent, selector: "stream-icon", inputs: { icon: "icon", size: "size" }, ngImport: i0, template: "<svg\n data-testid=\"action-icon\"\n *ngIf=\"icon === 'action-icon'\"\n height=\"4\"\n viewBox=\"0 0 11 4\"\n width=\"11\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n d=\"M1.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"\n fillRule=\"nonzero\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'delivered-icon'\"\n height=\"16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"delivered-icon\"\n>\n <path\n d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm3.72 6.633a.955.955 0 1 0-1.352-1.352L6.986 8.663 5.633 7.31A.956.956 0 1 0 4.28 8.663l2.029 2.028a.956.956 0 0 0 1.353 0l4.058-4.058z\"\n fill=\"#006CFF\"\n fillRule=\"evenodd\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'reaction-icon'\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n width=\"12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"reaction-icon\"\n>\n <g clipRule=\"evenodd\" fillRule=\"evenodd\">\n <path\n d=\"M6 1.2C3.3 1.2 1.2 3.3 1.2 6c0 2.7 2.1 4.8 4.8 4.8 2.7 0 4.8-2.1 4.8-4.8 0-2.7-2.1-4.8-4.8-4.8zM0 6c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6z\"\n ></path>\n <path\n d=\"M5.4 4.5c0 .5-.4.9-.9.9s-.9-.4-.9-.9.4-.9.9-.9.9.4.9.9zM8.4 4.5c0 .5-.4.9-.9.9s-.9-.4-.9-.9.4-.9.9-.9.9.4.9.9zM3.3 6.7c.3-.2.6-.1.8.1.3.4.8.9 1.5 1 .6.2 1.4.1 2.4-1 .2-.2.6-.3.8 0 .2.2.3.6 0 .8-1.1 1.3-2.4 1.7-3.5 1.5-1-.2-1.8-.9-2.2-1.5-.2-.3-.1-.7.2-.9z\"\n ></path>\n </g>\n</svg>\n<svg\n data-testid=\"connection-error\"\n *ngIf=\"icon === 'connection-error'\"\n width=\"78px\"\n height=\"78px\"\n viewBox=\"0 0 78 78\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->\n <title>Combined Shape</title>\n <desc>Created with Sketch.</desc>\n <g\n id=\"Interactions\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g\n id=\"Connection-Error-_-Connectivity\"\n transform=\"translate(-270.000000, -30.000000)\"\n fill=\"#CF1F25\"\n >\n <g\n id=\"109-network-connection\"\n transform=\"translate(270.000000, 30.000000)\"\n >\n <path\n d=\"M66.4609744,11.414231 C81.6225232,26.5757798 81.6225232,51.157545 66.4609744,66.3188467 C51.2994256,81.4803954 26.7176604,81.4803954 11.5563587,66.3188467 C-3.60519004,51.1572979 -3.60519004,26.5755327 11.5563587,11.414231 C26.7179075,-3.74731776 51.2996727,-3.74731776 66.4609744,11.414231 Z M54.7853215,45.8823776 L54.7853215,40.5882574 C54.7853215,39.613638 53.9952341,38.8235506 53.0206147,38.8235506 L44.9576695,38.8235506 L41.428256,42.3529641 L51.255555,42.3529641 L51.255555,45.8823776 L54.7853215,45.8823776 Z M40.6659027,43.1153174 L37.8988425,45.8823776 L40.6659027,45.8823776 L40.6659027,43.1153174 Z M51.1764962,56.4702653 L58.2353232,56.4702653 C59.2099355,56.4702653 60.00003,55.6801708 60.00003,54.7055585 L60.00003,51.176145 C60.00003,50.2015327 59.2099355,49.4114382 58.2353232,49.4114382 L51.1764962,49.4114382 C50.2018839,49.4114382 49.4117894,50.2015327 49.4117894,51.176145 L49.4117894,54.7055585 C49.4117894,55.6801708 50.2018839,56.4702653 51.1764962,56.4702653 Z M35.2941353,56.4702653 L42.3529624,56.4702653 C43.3275746,56.4702653 44.1176691,55.6801708 44.1176691,54.7055585 L44.1176691,51.176145 C44.1176691,50.2015327 43.3275746,49.4114382 42.3529624,49.4114382 L35.2941353,49.4114382 C34.319523,49.4114382 33.5294285,50.2015327 33.5294285,51.176145 L33.5294285,54.7055585 C33.5294285,55.6801708 34.319523,56.4702653 35.2941353,56.4702653 Z M56.6964989,19.0874231 C56.007381,18.3985134 54.8903216,18.3985134 54.2012036,19.087423 L45.882376,27.4062507 L45.882376,19.4117761 C45.882376,18.4371568 45.0922885,17.6470693 44.1176692,17.6470693 L33.5294286,17.6470693 C32.5548092,17.6470694 31.7647218,18.4371568 31.7647218,19.4117761 L31.7647218,30.0000167 C31.7647219,30.9746363 32.5548092,31.7647237 33.5294285,31.7647237 L41.5239031,31.7647237 L34.4650761,38.8235508 L24.7058947,38.8235508 C23.7312753,38.8235508 22.9411879,39.6136382 22.9411879,40.5882575 L22.9411879,45.8823778 L26.4706014,45.8823778 L26.4706014,42.3529643 L30.9356624,42.3529643 L23.8768354,49.4117914 L19.4117743,49.4117914 C18.4371549,49.4117914 17.6470675,50.2018788 17.6470675,51.1764981 L17.6470675,54.7059117 C17.6504049,54.9674302 17.7129076,55.2248042 17.8298886,55.4587302 L16.4456526,56.8429662 C15.7446193,57.5200453 15.7252005,58.6372282 16.4022825,59.3382615 C17.0793616,60.0392948 18.1965445,60.0587136 18.8975778,59.3816316 C18.9122847,59.3674273 18.9267436,59.3529684 18.940948,59.3382615 L56.6964963,21.5830662 C57.3856425,20.8939094 57.3856425,19.7765747 56.6964963,19.0874179 Z\"\n id=\"Combined-Shape\"\n ></path>\n </g>\n </g>\n </g>\n</svg>\n<svg\n *ngIf=\"icon === 'send'\"\n data-testid=\"send\"\n height=\"17\"\n viewBox=\"0 0 18 17\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <title translate>streamChat.Send</title>\n <path\n d=\"M0 17.015l17.333-8.508L0 0v6.617l12.417 1.89L0 10.397z\"\n fill=\"#006cff\"\n fillRule=\"evenodd\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'file-upload'\"\n data-testid=\"file-upload\"\n height=\"14\"\n width=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <title translate>streamChat.Attach files</title>\n <path\n d=\"M1.667.333h10.666c.737 0 1.334.597 1.334 1.334v10.666c0 .737-.597 1.334-1.334 1.334H1.667a1.333 1.333 0 0 1-1.334-1.334V1.667C.333.93.93.333 1.667.333zm2 1.334a1.667 1.667 0 1 0 0 3.333 1.667 1.667 0 0 0 0-3.333zm-2 9.333v1.333h10.666v-4l-2-2-4 4-2-2L1.667 11z\"\n fillRule=\"nonzero\"\n />\n</svg>\n<svg\n data-testid=\"retry\"\n *ngIf=\"icon === 'retry'\"\n width=\"22\"\n height=\"20\"\n viewBox=\"0 0 22 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n d=\"M20 5.535V2a1 1 0 0 1 2 0v6a1 1 0 0 1-1 1h-6a1 1 0 0 1 0-2h3.638l-2.975-2.653a8 8 0 1 0 1.884 8.32 1 1 0 1 1 1.886.666A10 10 0 1 1 5.175 1.245c3.901-2.15 8.754-1.462 11.88 1.667L20 5.535z\"\n fill=\"#FFF\"\n fill-rule=\"nonzero\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'close'\"\n data-testid=\"close\"\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <defs>\n <path\n d=\"M465 5c5.53 0 10 4.47 10 10s-4.47 10-10 10-10-4.47-10-10 4.47-10 10-10zm3.59 5L465 13.59 461.41 10 460 11.41l3.59 3.59-3.59 3.59 1.41 1.41 3.59-3.59 3.59 3.59 1.41-1.41-3.59-3.59 3.59-3.59-1.41-1.41z\"\n id=\"b\"\n />\n <filter\n x=\"-30%\"\n y=\"-30%\"\n width=\"160%\"\n height=\"160%\"\n filterUnits=\"objectBoundingBox\"\n id=\"a\"\n >\n <feOffset in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n <feGaussianBlur\n stdDeviation=\"2\"\n in=\"shadowOffsetOuter1\"\n result=\"shadowBlurOuter1\"\n />\n <feColorMatrix\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n in=\"shadowBlurOuter1\"\n />\n </filter>\n </defs>\n <g transform=\"translate(-451 -1)\" fill-rule=\"nonzero\" fill=\"none\">\n <use fill=\"#000\" filter=\"url(#a)\" xlink:href=\"#b\" />\n <use fill=\"#FFF\" fill-rule=\"evenodd\" xlink:href=\"#b\" />\n </g>\n</svg>\n<svg\n *ngIf=\"icon === 'file'\"\n data-testid=\"file\"\n className=\"rfu-file-icon--small fa-file-fallback\"\n [attr.height]=\"size || 20\"\n [attr.width]=\"size || 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 384 512\"\n>\n <path\n d=\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"\n fill=\"#414D54\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'reply'\"\n data-testid=\"reply\"\n height=\"15\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n d=\"M.56 10.946H.06l-.002-.498L.025.92a.5.5 0 1 1 1-.004l.032 9.029H9.06v-4l9 4.5-9 4.5v-4H.56z\"\n fillRule=\"nonzero\"\n />\n</svg>\n<svg\n height=\"10\"\n width=\"10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"close-no-outline\"\n *ngIf=\"icon === 'close-no-outline'\"\n>\n <path\n d=\"M9.916 1.027L8.973.084 5 4.058 1.027.084l-.943.943L4.058 5 .084 8.973l.943.943L5 5.942l3.973 3.974.943-.943L5.942 5z\"\n fillRule=\"evenodd\"\n />\n</svg>\n<svg\n height=\"10\"\n width=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"reply-in-thread\"\n *ngIf=\"icon === 'reply-in-thread'\"\n>\n <path\n d=\"M8.516 3c4.78 0 4.972 6.5 4.972 6.5-1.6-2.906-2.847-3.184-4.972-3.184v2.872L3.772 4.994 8.516.5V3zM.484 5l4.5-4.237v1.78L2.416 5l2.568 2.125v1.828L.484 5z\"\n fillRule=\"evenodd\"\n />\n</svg>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
12
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: IconComponent, selector: "stream-icon", inputs: { icon: "icon", size: "size" }, ngImport: i0, template: "<svg\n data-testid=\"action-icon\"\n *ngIf=\"icon === 'action-icon'\"\n height=\"4\"\n viewBox=\"0 0 11 4\"\n width=\"11\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n d=\"M1.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"\n fillRule=\"nonzero\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'delivered-icon'\"\n height=\"16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"delivered-icon\"\n>\n <path\n d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm3.72 6.633a.955.955 0 1 0-1.352-1.352L6.986 8.663 5.633 7.31A.956.956 0 1 0 4.28 8.663l2.029 2.028a.956.956 0 0 0 1.353 0l4.058-4.058z\"\n fill=\"#006CFF\"\n fillRule=\"evenodd\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'reaction-icon'\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n width=\"12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"reaction-icon\"\n>\n <g clipRule=\"evenodd\" fillRule=\"evenodd\">\n <path\n d=\"M6 1.2C3.3 1.2 1.2 3.3 1.2 6c0 2.7 2.1 4.8 4.8 4.8 2.7 0 4.8-2.1 4.8-4.8 0-2.7-2.1-4.8-4.8-4.8zM0 6c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6z\"\n ></path>\n <path\n d=\"M5.4 4.5c0 .5-.4.9-.9.9s-.9-.4-.9-.9.4-.9.9-.9.9.4.9.9zM8.4 4.5c0 .5-.4.9-.9.9s-.9-.4-.9-.9.4-.9.9-.9.9.4.9.9zM3.3 6.7c.3-.2.6-.1.8.1.3.4.8.9 1.5 1 .6.2 1.4.1 2.4-1 .2-.2.6-.3.8 0 .2.2.3.6 0 .8-1.1 1.3-2.4 1.7-3.5 1.5-1-.2-1.8-.9-2.2-1.5-.2-.3-.1-.7.2-.9z\"\n ></path>\n </g>\n</svg>\n<svg\n data-testid=\"connection-error\"\n *ngIf=\"icon === 'connection-error'\"\n width=\"78px\"\n height=\"78px\"\n viewBox=\"0 0 78 78\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->\n <title>Combined Shape</title>\n <desc>Created with Sketch.</desc>\n <g\n id=\"Interactions\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g\n id=\"Connection-Error-_-Connectivity\"\n transform=\"translate(-270.000000, -30.000000)\"\n fill=\"#CF1F25\"\n >\n <g\n id=\"109-network-connection\"\n transform=\"translate(270.000000, 30.000000)\"\n >\n <path\n d=\"M66.4609744,11.414231 C81.6225232,26.5757798 81.6225232,51.157545 66.4609744,66.3188467 C51.2994256,81.4803954 26.7176604,81.4803954 11.5563587,66.3188467 C-3.60519004,51.1572979 -3.60519004,26.5755327 11.5563587,11.414231 C26.7179075,-3.74731776 51.2996727,-3.74731776 66.4609744,11.414231 Z M54.7853215,45.8823776 L54.7853215,40.5882574 C54.7853215,39.613638 53.9952341,38.8235506 53.0206147,38.8235506 L44.9576695,38.8235506 L41.428256,42.3529641 L51.255555,42.3529641 L51.255555,45.8823776 L54.7853215,45.8823776 Z M40.6659027,43.1153174 L37.8988425,45.8823776 L40.6659027,45.8823776 L40.6659027,43.1153174 Z M51.1764962,56.4702653 L58.2353232,56.4702653 C59.2099355,56.4702653 60.00003,55.6801708 60.00003,54.7055585 L60.00003,51.176145 C60.00003,50.2015327 59.2099355,49.4114382 58.2353232,49.4114382 L51.1764962,49.4114382 C50.2018839,49.4114382 49.4117894,50.2015327 49.4117894,51.176145 L49.4117894,54.7055585 C49.4117894,55.6801708 50.2018839,56.4702653 51.1764962,56.4702653 Z M35.2941353,56.4702653 L42.3529624,56.4702653 C43.3275746,56.4702653 44.1176691,55.6801708 44.1176691,54.7055585 L44.1176691,51.176145 C44.1176691,50.2015327 43.3275746,49.4114382 42.3529624,49.4114382 L35.2941353,49.4114382 C34.319523,49.4114382 33.5294285,50.2015327 33.5294285,51.176145 L33.5294285,54.7055585 C33.5294285,55.6801708 34.319523,56.4702653 35.2941353,56.4702653 Z M56.6964989,19.0874231 C56.007381,18.3985134 54.8903216,18.3985134 54.2012036,19.087423 L45.882376,27.4062507 L45.882376,19.4117761 C45.882376,18.4371568 45.0922885,17.6470693 44.1176692,17.6470693 L33.5294286,17.6470693 C32.5548092,17.6470694 31.7647218,18.4371568 31.7647218,19.4117761 L31.7647218,30.0000167 C31.7647219,30.9746363 32.5548092,31.7647237 33.5294285,31.7647237 L41.5239031,31.7647237 L34.4650761,38.8235508 L24.7058947,38.8235508 C23.7312753,38.8235508 22.9411879,39.6136382 22.9411879,40.5882575 L22.9411879,45.8823778 L26.4706014,45.8823778 L26.4706014,42.3529643 L30.9356624,42.3529643 L23.8768354,49.4117914 L19.4117743,49.4117914 C18.4371549,49.4117914 17.6470675,50.2018788 17.6470675,51.1764981 L17.6470675,54.7059117 C17.6504049,54.9674302 17.7129076,55.2248042 17.8298886,55.4587302 L16.4456526,56.8429662 C15.7446193,57.5200453 15.7252005,58.6372282 16.4022825,59.3382615 C17.0793616,60.0392948 18.1965445,60.0587136 18.8975778,59.3816316 C18.9122847,59.3674273 18.9267436,59.3529684 18.940948,59.3382615 L56.6964963,21.5830662 C57.3856425,20.8939094 57.3856425,19.7765747 56.6964963,19.0874179 Z\"\n id=\"Combined-Shape\"\n ></path>\n </g>\n </g>\n </g>\n</svg>\n<svg\n *ngIf=\"icon === 'send'\"\n data-testid=\"send\"\n height=\"17\"\n viewBox=\"0 0 18 17\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <title translate>streamChat.Send</title>\n <path\n d=\"M0 17.015l17.333-8.508L0 0v6.617l12.417 1.89L0 10.397z\"\n fill=\"#006cff\"\n fillRule=\"evenodd\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'file-upload'\"\n data-testid=\"file-upload\"\n height=\"14\"\n width=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <title translate>streamChat.Attach files</title>\n <path\n d=\"M1.667.333h10.666c.737 0 1.334.597 1.334 1.334v10.666c0 .737-.597 1.334-1.334 1.334H1.667a1.333 1.333 0 0 1-1.334-1.334V1.667C.333.93.93.333 1.667.333zm2 1.334a1.667 1.667 0 1 0 0 3.333 1.667 1.667 0 0 0 0-3.333zm-2 9.333v1.333h10.666v-4l-2-2-4 4-2-2L1.667 11z\"\n fillRule=\"nonzero\"\n />\n</svg>\n<svg\n data-testid=\"retry\"\n *ngIf=\"icon === 'retry'\"\n width=\"22\"\n height=\"20\"\n viewBox=\"0 0 22 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n d=\"M20 5.535V2a1 1 0 0 1 2 0v6a1 1 0 0 1-1 1h-6a1 1 0 0 1 0-2h3.638l-2.975-2.653a8 8 0 1 0 1.884 8.32 1 1 0 1 1 1.886.666A10 10 0 1 1 5.175 1.245c3.901-2.15 8.754-1.462 11.88 1.667L20 5.535z\"\n fill=\"#FFF\"\n fill-rule=\"nonzero\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'close'\"\n data-testid=\"close\"\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 28 28\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <defs>\n <path\n d=\"M465 5c5.53 0 10 4.47 10 10s-4.47 10-10 10-10-4.47-10-10 4.47-10 10-10zm3.59 5L465 13.59 461.41 10 460 11.41l3.59 3.59-3.59 3.59 1.41 1.41 3.59-3.59 3.59 3.59 1.41-1.41-3.59-3.59 3.59-3.59-1.41-1.41z\"\n id=\"b\"\n />\n <filter\n x=\"-30%\"\n y=\"-30%\"\n width=\"160%\"\n height=\"160%\"\n filterUnits=\"objectBoundingBox\"\n id=\"a\"\n >\n <feOffset in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n <feGaussianBlur\n stdDeviation=\"2\"\n in=\"shadowOffsetOuter1\"\n result=\"shadowBlurOuter1\"\n />\n <feColorMatrix\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"\n in=\"shadowBlurOuter1\"\n />\n </filter>\n </defs>\n <g transform=\"translate(-451 -1)\" fill-rule=\"nonzero\" fill=\"none\">\n <use fill=\"#000\" filter=\"url(#a)\" xlink:href=\"#b\" />\n <use fill=\"#FFF\" fill-rule=\"evenodd\" xlink:href=\"#b\" />\n </g>\n</svg>\n<svg\n *ngIf=\"icon === 'file'\"\n data-testid=\"file\"\n className=\"rfu-file-icon--small fa-file-fallback\"\n [attr.height]=\"size || 20\"\n [attr.width]=\"size || 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 384 512\"\n>\n <path\n d=\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"\n fill=\"#414D54\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'reply'\"\n data-testid=\"reply\"\n height=\"15\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n d=\"M.56 10.946H.06l-.002-.498L.025.92a.5.5 0 1 1 1-.004l.032 9.029H9.06v-4l9 4.5-9 4.5v-4H.56z\"\n fillRule=\"nonzero\"\n />\n</svg>\n<svg\n height=\"10\"\n width=\"10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"close-no-outline\"\n *ngIf=\"icon === 'close-no-outline'\"\n>\n <path\n d=\"M9.916 1.027L8.973.084 5 4.058 1.027.084l-.943.943L4.058 5 .084 8.973l.943.943L5 5.942l3.973 3.974.943-.943L5.942 5z\"\n fillRule=\"evenodd\"\n />\n</svg>\n<svg\n height=\"10\"\n width=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"reply-in-thread\"\n *ngIf=\"icon === 'reply-in-thread'\"\n>\n <path\n d=\"M8.516 3c4.78 0 4.972 6.5 4.972 6.5-1.6-2.906-2.847-3.184-4.972-3.184v2.872L3.772 4.994 8.516.5V3zM.484 5l4.5-4.237v1.78L2.416 5l2.568 2.125v1.828L.484 5z\"\n fillRule=\"evenodd\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'arrow-left'\"\n data-testid=\"arrow-left\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n d=\"M15.7049 7.41L14.2949 6L8.29492 12L14.2949 18L15.7049 16.59L11.1249 12L15.7049 7.41Z\"\n fill=\"var(--black)\"\n />\n</svg>\n\n<svg\n *ngIf=\"icon === 'arrow-right'\"\n data-testid=\"arrow-right\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n d=\"M9.70492 6L8.29492 7.41L12.8749 12L8.29492 16.59L9.70492 18L15.7049 12L9.70492 6Z\"\n fill=\"var(--black)\"\n />\n</svg>\n<svg\n *ngIf=\"icon === 'menu'\"\n data-testid=\"menu\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 8V6H21V8H3ZM3 13H21V11H3V13ZM3 18H21V16H3V18Z\"\n fill=\"black\"\n />\n</svg>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: IconComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
22
22
  }], size: [{
23
23
  type: Input
24
24
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFnQmpEOztHQUVHO0FBTUgsTUFBTSxPQUFPLGFBQWE7SUFTeEIsZ0JBQWUsQ0FBQzs7MEdBVEwsYUFBYTs4RkFBYixhQUFhLDJGQ3hCMUIsa3RSQW1OQTsyRkQzTGEsYUFBYTtrQkFMekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsTUFBTSxFQUFFLEVBQUU7aUJBQ1g7MEVBS1UsSUFBSTtzQkFBWixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgSWNvbiA9XG4gIHwgJ2FjdGlvbi1pY29uJ1xuICB8ICdkZWxpdmVyZWQtaWNvbidcbiAgfCAncmVhY3Rpb24taWNvbidcbiAgfCAnY29ubmVjdGlvbi1lcnJvcidcbiAgfCAnc2VuZCdcbiAgfCAnZmlsZS11cGxvYWQnXG4gIHwgJ3JldHJ5J1xuICB8ICdjbG9zZSdcbiAgfCAnZmlsZSdcbiAgfCAncmVwbHknXG4gIHwgJ2Nsb3NlLW5vLW91dGxpbmUnXG4gIHwgJ3JlcGx5LWluLXRocmVhZCc7XG5cbi8qKlxuICogVGhlIGBJY29uYCBjb21wb25lbnQgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSBkaWZmZXJlbnQgaWNvbnMgKGkuIGUuIG1lc3NhZ2UgZGVsaXZlcmVkIGljb24pLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0taWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byBkaXNwbGF5LCB0aGUgbGlzdCBvZiBbc3VwcG9ydGVkIGljb25zXShodHRwczovL2dpdGh1Yi5jb20vR2V0U3RyZWFtL3N0cmVhbS1jaGF0LWFuZ3VsYXIvdHJlZS9tYXN0ZXIvcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMpIGNhbiBiZSBmb3VuZCBvbiBHaXRIdWIuXG4gICAqL1xuICBASW5wdXQoKSBpY29uOiBJY29uIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGljb24gKGluIHBpeGVscylcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPHN2Z1xuICBkYXRhLXRlc3RpZD1cImFjdGlvbi1pY29uXCJcbiAgKm5nSWY9XCJpY29uID09PSAnYWN0aW9uLWljb24nXCJcbiAgaGVpZ2h0PVwiNFwiXG4gIHZpZXdCb3g9XCIwIDAgMTEgNFwiXG4gIHdpZHRoPVwiMTFcIlxuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbj5cbiAgPHBhdGhcbiAgICBkPVwiTTEuNSAzYTEuNSAxLjUgMCAxIDEgMC0zIDEuNSAxLjUgMCAwIDEgMCAzem00IDBhMS41IDEuNSAwIDEgMSAwLTMgMS41IDEuNSAwIDAgMSAwIDN6bTQgMGExLjUgMS41IDAgMSAxIDAtMyAxLjUgMS41IDAgMCAxIDAgM3pcIlxuICAgIGZpbGxSdWxlPVwibm9uemVyb1wiXG4gIC8+XG48L3N2Zz5cbjxzdmdcbiAgKm5nSWY9XCJpY29uID09PSAnZGVsaXZlcmVkLWljb24nXCJcbiAgaGVpZ2h0PVwiMTZcIlxuICB3aWR0aD1cIjE2XCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gIGRhdGEtdGVzdGlkPVwiZGVsaXZlcmVkLWljb25cIlxuPlxuICA8cGF0aFxuICAgIGQ9XCJNOCAwYTggOCAwIDEgMSAwIDE2QTggOCAwIDAgMSA4IDB6bTMuNzIgNi42MzNhLjk1NS45NTUgMCAxIDAtMS4zNTItMS4zNTJMNi45ODYgOC42NjMgNS42MzMgNy4zMUEuOTU2Ljk1NiAwIDEgMCA0LjI4IDguNjYzbDIuMDI5IDIuMDI4YS45NTYuOTU2IDAgMCAwIDEuMzUzIDBsNC4wNTgtNC4wNTh6XCJcbiAgICBmaWxsPVwiIzAwNkNGRlwiXG4gICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgLz5cbjwvc3ZnPlxuPHN2Z1xuICAqbmdJZj1cImljb24gPT09ICdyZWFjdGlvbi1pY29uJ1wiXG4gIGhlaWdodD1cIjEyXCJcbiAgdmlld0JveD1cIjAgMCAxMiAxMlwiXG4gIHdpZHRoPVwiMTJcIlxuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgZGF0YS10ZXN0aWQ9XCJyZWFjdGlvbi1pY29uXCJcbj5cbiAgPGcgY2xpcFJ1bGU9XCJldmVub2RkXCIgZmlsbFJ1bGU9XCJldmVub2RkXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNNiAxLjJDMy4zIDEuMiAxLjIgMy4zIDEuMiA2YzAgMi43IDIuMSA0LjggNC44IDQuOCAyLjcgMCA0LjgtMi4xIDQuOC00LjggMC0yLjctMi4xLTQuOC00LjgtNC44ek0wIDZjMC0zLjMgMi43LTYgNi02czYgMi43IDYgNi0yLjcgNi02IDYtNi0yLjctNi02elwiXG4gICAgPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZD1cIk01LjQgNC41YzAgLjUtLjQuOS0uOS45cy0uOS0uNC0uOS0uOS40LS45LjktLjkuOS40LjkuOXpNOC40IDQuNWMwIC41LS40LjktLjkuOXMtLjktLjQtLjktLjkuNC0uOS45LS45LjkuNC45Ljl6TTMuMyA2LjdjLjMtLjIuNi0uMS44LjEuMy40LjguOSAxLjUgMSAuNi4yIDEuNC4xIDIuNC0xIC4yLS4yLjYtLjMuOCAwIC4yLjIuMy42IDAgLjgtMS4xIDEuMy0yLjQgMS43LTMuNSAxLjUtMS0uMi0xLjgtLjktMi4yLTEuNS0uMi0uMy0uMS0uNy4yLS45elwiXG4gICAgPjwvcGF0aD5cbiAgPC9nPlxuPC9zdmc+XG48c3ZnXG4gIGRhdGEtdGVzdGlkPVwiY29ubmVjdGlvbi1lcnJvclwiXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ2Nvbm5lY3Rpb24tZXJyb3InXCJcbiAgd2lkdGg9XCI3OHB4XCJcbiAgaGVpZ2h0PVwiNzhweFwiXG4gIHZpZXdCb3g9XCIwIDAgNzggNzhcIlxuICB2ZXJzaW9uPVwiMS4xXCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4+XG4gIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTIuNiAoNjc0OTEpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPlxuICA8dGl0bGU+Q29tYmluZWQgU2hhcGU8L3RpdGxlPlxuICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz5cbiAgPGdcbiAgICBpZD1cIkludGVyYWN0aW9uc1wiXG4gICAgc3Ryb2tlPVwibm9uZVwiXG4gICAgc3Ryb2tlLXdpZHRoPVwiMVwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICA+XG4gICAgPGdcbiAgICAgIGlkPVwiQ29ubmVjdGlvbi1FcnJvci1fLUNvbm5lY3Rpdml0eVwiXG4gICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTI3MC4wMDAwMDAsIC0zMC4wMDAwMDApXCJcbiAgICAgIGZpbGw9XCIjQ0YxRjI1XCJcbiAgICA+XG4gICAgICA8Z1xuICAgICAgICBpZD1cIjEwOS1uZXR3b3JrLWNvbm5lY3Rpb25cIlxuICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjcwLjAwMDAwMCwgMzAuMDAwMDAwKVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk02Ni40NjA5NzQ0LDExLjQxNDIzMSBDODEuNjIyNTIzMiwyNi41NzU3Nzk4IDgxLjYyMjUyMzIsNTEuMTU3NTQ1IDY2LjQ2MDk3NDQsNjYuMzE4ODQ2NyBDNTEuMjk5NDI1Niw4MS40ODAzOTU0IDI2LjcxNzY2MDQsODEuNDgwMzk1NCAxMS41NTYzNTg3LDY2LjMxODg0NjcgQy0zLjYwNTE5MDA0LDUxLjE1NzI5NzkgLTMuNjA1MTkwMDQsMjYuNTc1NTMyNyAxMS41NTYzNTg3LDExLjQxNDIzMSBDMjYuNzE3OTA3NSwtMy43NDczMTc3NiA1MS4yOTk2NzI3LC0zLjc0NzMxNzc2IDY2LjQ2MDk3NDQsMTEuNDE0MjMxIFogTTU0Ljc4NTMyMTUsNDUuODgyMzc3NiBMNTQuNzg1MzIxNSw0MC41ODgyNTc0IEM1NC43ODUzMjE1LDM5LjYxMzYzOCA1My45OTUyMzQxLDM4LjgyMzU1MDYgNTMuMDIwNjE0NywzOC44MjM1NTA2IEw0NC45NTc2Njk1LDM4LjgyMzU1MDYgTDQxLjQyODI1Niw0Mi4zNTI5NjQxIEw1MS4yNTU1NTUsNDIuMzUyOTY0MSBMNTEuMjU1NTU1LDQ1Ljg4MjM3NzYgTDU0Ljc4NTMyMTUsNDUuODgyMzc3NiBaIE00MC42NjU5MDI3LDQzLjExNTMxNzQgTDM3Ljg5ODg0MjUsNDUuODgyMzc3NiBMNDAuNjY1OTAyNyw0NS44ODIzNzc2IEw0MC42NjU5MDI3LDQzLjExNTMxNzQgWiBNNTEuMTc2NDk2Miw1Ni40NzAyNjUzIEw1OC4yMzUzMjMyLDU2LjQ3MDI2NTMgQzU5LjIwOTkzNTUsNTYuNDcwMjY1MyA2MC4wMDAwMyw1NS42ODAxNzA4IDYwLjAwMDAzLDU0LjcwNTU1ODUgTDYwLjAwMDAzLDUxLjE3NjE0NSBDNjAuMDAwMDMsNTAuMjAxNTMyNyA1OS4yMDk5MzU1LDQ5LjQxMTQzODIgNTguMjM1MzIzMiw0OS40MTE0MzgyIEw1MS4xNzY0OTYyLDQ5LjQxMTQzODIgQzUwLjIwMTg4MzksNDkuNDExNDM4MiA0OS40MTE3ODk0LDUwLjIwMTUzMjcgNDkuNDExNzg5NCw1MS4xNzYxNDUgTDQ5LjQxMTc4OTQsNTQuNzA1NTU4NSBDNDkuNDExNzg5NCw1NS42ODAxNzA4IDUwLjIwMTg4MzksNTYuNDcwMjY1MyA1MS4xNzY0OTYyLDU2LjQ3MDI2NTMgWiBNMzUuMjk0MTM1Myw1Ni40NzAyNjUzIEw0Mi4zNTI5NjI0LDU2LjQ3MDI2NTMgQzQzLjMyNzU3NDYsNTYuNDcwMjY1MyA0NC4xMTc2NjkxLDU1LjY4MDE3MDggNDQuMTE3NjY5MSw1NC43MDU1NTg1IEw0NC4xMTc2NjkxLDUxLjE3NjE0NSBDNDQuMTE3NjY5MSw1MC4yMDE1MzI3IDQzLjMyNzU3NDYsNDkuNDExNDM4MiA0Mi4zNTI5NjI0LDQ5LjQxMTQzODIgTDM1LjI5NDEzNTMsNDkuNDExNDM4MiBDMzQuMzE5NTIzLDQ5LjQxMTQzODIgMzMuNTI5NDI4NSw1MC4yMDE1MzI3IDMzLjUyOTQyODUsNTEuMTc2MTQ1IEwzMy41Mjk0Mjg1LDU0LjcwNTU1ODUgQzMzLjUyOTQyODUsNTUuNjgwMTcwOCAzNC4zMTk1MjMsNTYuNDcwMjY1MyAzNS4yOTQxMzUzLDU2LjQ3MDI2NTMgWiBNNTYuNjk2NDk4OSwxOS4wODc0MjMxIEM1Ni4wMDczODEsMTguMzk4NTEzNCA1NC44OTAzMjE2LDE4LjM5ODUxMzQgNTQuMjAxMjAzNiwxOS4wODc0MjMgTDQ1Ljg4MjM3NiwyNy40MDYyNTA3IEw0NS44ODIzNzYsMTkuNDExNzc2MSBDNDUuODgyMzc2LDE4LjQzNzE1NjggNDUuMDkyMjg4NSwxNy42NDcwNjkzIDQ0LjExNzY2OTIsMTcuNjQ3MDY5MyBMMzMuNTI5NDI4NiwxNy42NDcwNjkzIEMzMi41NTQ4MDkyLDE3LjY0NzA2OTQgMzEuNzY0NzIxOCwxOC40MzcxNTY4IDMxLjc2NDcyMTgsMTkuNDExNzc2MSBMMzEuNzY0NzIxOCwzMC4wMDAwMTY3IEMzMS43NjQ3MjE5LDMwLjk3NDYzNjMgMzIuNTU0ODA5MiwzMS43NjQ3MjM3IDMzLjUyOTQyODUsMzEuNzY0NzIzNyBMNDEuNTIzOTAzMSwzMS43NjQ3MjM3IEwzNC40NjUwNzYxLDM4LjgyMzU1MDggTDI0LjcwNTg5NDcsMzguODIzNTUwOCBDMjMuNzMxMjc1MywzOC44MjM1NTA4IDIyLjk0MTE4NzksMzkuNjEzNjM4MiAyMi45NDExODc5LDQwLjU4ODI1NzUgTDIyLjk0MTE4NzksNDUuODgyMzc3OCBMMjYuNDcwNjAxNCw0NS44ODIzNzc4IEwyNi40NzA2MDE0LDQyLjM1Mjk2NDMgTDMwLjkzNTY2MjQsNDIuMzUyOTY0MyBMMjMuODc2ODM1NCw0OS40MTE3OTE0IEwxOS40MTE3NzQzLDQ5LjQxMTc5MTQgQzE4LjQzNzE1NDksNDkuNDExNzkxNCAxNy42NDcwNjc1LDUwLjIwMTg3ODggMTcuNjQ3MDY3NSw1MS4xNzY0OTgxIEwxNy42NDcwNjc1LDU0LjcwNTkxMTcgQzE3LjY1MDQwNDksNTQuOTY3NDMwMiAxNy43MTI5MDc2LDU1LjIyNDgwNDIgMTcuODI5ODg4Niw1NS40NTg3MzAyIEwxNi40NDU2NTI2LDU2Ljg0Mjk2NjIgQzE1Ljc0NDYxOTMsNTcuNTIwMDQ1MyAxNS43MjUyMDA1LDU4LjYzNzIyODIgMTYuNDAyMjgyNSw1OS4zMzgyNjE1IEMxNy4wNzkzNjE2LDYwLjAzOTI5NDggMTguMTk2NTQ0NSw2MC4wNTg3MTM2IDE4Ljg5NzU3NzgsNTkuMzgxNjMxNiBDMTguOTEyMjg0Nyw1OS4zNjc0MjczIDE4LjkyNjc0MzYsNTkuMzUyOTY4NCAxOC45NDA5NDgsNTkuMzM4MjYxNSBMNTYuNjk2NDk2MywyMS41ODMwNjYyIEM1Ny4zODU2NDI1LDIwLjg5MzkwOTQgNTcuMzg1NjQyNSwxOS43NzY1NzQ3IDU2LjY5NjQ5NjMsMTkuMDg3NDE3OSBaXCJcbiAgICAgICAgICBpZD1cIkNvbWJpbmVkLVNoYXBlXCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvZz5cbjwvc3ZnPlxuPHN2Z1xuICAqbmdJZj1cImljb24gPT09ICdzZW5kJ1wiXG4gIGRhdGEtdGVzdGlkPVwic2VuZFwiXG4gIGhlaWdodD1cIjE3XCJcbiAgdmlld0JveD1cIjAgMCAxOCAxN1wiXG4gIHdpZHRoPVwiMThcIlxuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbj5cbiAgPHRpdGxlIHRyYW5zbGF0ZT5zdHJlYW1DaGF0LlNlbmQ8L3RpdGxlPlxuICA8cGF0aFxuICAgIGQ9XCJNMCAxNy4wMTVsMTcuMzMzLTguNTA4TDAgMHY2LjYxN2wxMi40MTcgMS44OUwwIDEwLjM5N3pcIlxuICAgIGZpbGw9XCIjMDA2Y2ZmXCJcbiAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAvPlxuPC9zdmc+XG48c3ZnXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ2ZpbGUtdXBsb2FkJ1wiXG4gIGRhdGEtdGVzdGlkPVwiZmlsZS11cGxvYWRcIlxuICBoZWlnaHQ9XCIxNFwiXG4gIHdpZHRoPVwiMTRcIlxuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbj5cbiAgPHRpdGxlIHRyYW5zbGF0ZT5zdHJlYW1DaGF0LkF0dGFjaCBmaWxlczwvdGl0bGU+XG4gIDxwYXRoXG4gICAgZD1cIk0xLjY2Ny4zMzNoMTAuNjY2Yy43MzcgMCAxLjMzNC41OTcgMS4zMzQgMS4zMzR2MTAuNjY2YzAgLjczNy0uNTk3IDEuMzM0LTEuMzM0IDEuMzM0SDEuNjY3YTEuMzMzIDEuMzMzIDAgMCAxLTEuMzM0LTEuMzM0VjEuNjY3Qy4zMzMuOTMuOTMuMzMzIDEuNjY3LjMzM3ptMiAxLjMzNGExLjY2NyAxLjY2NyAwIDEgMCAwIDMuMzMzIDEuNjY3IDEuNjY3IDAgMCAwIDAtMy4zMzN6bS0yIDkuMzMzdjEuMzMzaDEwLjY2NnYtNGwtMi0yLTQgNC0yLTJMMS42NjcgMTF6XCJcbiAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAvPlxuPC9zdmc+XG48c3ZnXG4gIGRhdGEtdGVzdGlkPVwicmV0cnlcIlxuICAqbmdJZj1cImljb24gPT09ICdyZXRyeSdcIlxuICB3aWR0aD1cIjIyXCJcbiAgaGVpZ2h0PVwiMjBcIlxuICB2aWV3Qm94PVwiMCAwIDIyIDIwXCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4+XG4gIDxwYXRoXG4gICAgZD1cIk0yMCA1LjUzNVYyYTEgMSAwIDAgMSAyIDB2NmExIDEgMCAwIDEtMSAxaC02YTEgMSAwIDAgMSAwLTJoMy42MzhsLTIuOTc1LTIuNjUzYTggOCAwIDEgMCAxLjg4NCA4LjMyIDEgMSAwIDEgMSAxLjg4Ni42NjZBMTAgMTAgMCAxIDEgNS4xNzUgMS4yNDVjMy45MDEtMi4xNSA4Ljc1NC0xLjQ2MiAxMS44OCAxLjY2N0wyMCA1LjUzNXpcIlxuICAgIGZpbGw9XCIjRkZGXCJcbiAgICBmaWxsLXJ1bGU9XCJub256ZXJvXCJcbiAgLz5cbjwvc3ZnPlxuPHN2Z1xuICAqbmdJZj1cImljb24gPT09ICdjbG9zZSdcIlxuICBkYXRhLXRlc3RpZD1cImNsb3NlXCJcbiAgd2lkdGg9XCIyOFwiXG4gIGhlaWdodD1cIjI4XCJcbiAgdmlld0JveD1cIjAgMCAyOCAyOFwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuPlxuICA8ZGVmcz5cbiAgICA8cGF0aFxuICAgICAgZD1cIk00NjUgNWM1LjUzIDAgMTAgNC40NyAxMCAxMHMtNC40NyAxMC0xMCAxMC0xMC00LjQ3LTEwLTEwIDQuNDctMTAgMTAtMTB6bTMuNTkgNUw0NjUgMTMuNTkgNDYxLjQxIDEwIDQ2MCAxMS40MWwzLjU5IDMuNTktMy41OSAzLjU5IDEuNDEgMS40MSAzLjU5LTMuNTkgMy41OSAzLjU5IDEuNDEtMS40MS0zLjU5LTMuNTkgMy41OS0zLjU5LTEuNDEtMS40MXpcIlxuICAgICAgaWQ9XCJiXCJcbiAgICAvPlxuICAgIDxmaWx0ZXJcbiAgICAgIHg9XCItMzAlXCJcbiAgICAgIHk9XCItMzAlXCJcbiAgICAgIHdpZHRoPVwiMTYwJVwiXG4gICAgICBoZWlnaHQ9XCIxNjAlXCJcbiAgICAgIGZpbHRlclVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIlxuICAgICAgaWQ9XCJhXCJcbiAgICA+XG4gICAgICA8ZmVPZmZzZXQgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cInNoYWRvd09mZnNldE91dGVyMVwiIC8+XG4gICAgICA8ZmVHYXVzc2lhbkJsdXJcbiAgICAgICAgc3RkRGV2aWF0aW9uPVwiMlwiXG4gICAgICAgIGluPVwic2hhZG93T2Zmc2V0T3V0ZXIxXCJcbiAgICAgICAgcmVzdWx0PVwic2hhZG93Qmx1ck91dGVyMVwiXG4gICAgICAvPlxuICAgICAgPGZlQ29sb3JNYXRyaXhcbiAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC41IDBcIlxuICAgICAgICBpbj1cInNoYWRvd0JsdXJPdXRlcjFcIlxuICAgICAgLz5cbiAgICA8L2ZpbHRlcj5cbiAgPC9kZWZzPlxuICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTQ1MSAtMSlcIiBmaWxsLXJ1bGU9XCJub256ZXJvXCIgZmlsbD1cIm5vbmVcIj5cbiAgICA8dXNlIGZpbGw9XCIjMDAwXCIgZmlsdGVyPVwidXJsKCNhKVwiIHhsaW5rOmhyZWY9XCIjYlwiIC8+XG4gICAgPHVzZSBmaWxsPVwiI0ZGRlwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiB4bGluazpocmVmPVwiI2JcIiAvPlxuICA8L2c+XG48L3N2Zz5cbjxzdmdcbiAgKm5nSWY9XCJpY29uID09PSAnZmlsZSdcIlxuICBkYXRhLXRlc3RpZD1cImZpbGVcIlxuICBjbGFzc05hbWU9XCJyZnUtZmlsZS1pY29uLS1zbWFsbCBmYS1maWxlLWZhbGxiYWNrXCJcbiAgW2F0dHIuaGVpZ2h0XT1cInNpemUgfHwgMjBcIlxuICBbYXR0ci53aWR0aF09XCJzaXplIHx8IDIwXCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gIHZpZXdCb3g9XCIwIDAgMzg0IDUxMlwiXG4+XG4gIDxwYXRoXG4gICAgZD1cIk0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6TTMzMi4xIDEyOEgyNTZWNTEuOWw3Ni4xIDc2LjF6TTQ4IDQ2NFY0OGgxNjB2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYyODhINDh6XCJcbiAgICBmaWxsPVwiIzQxNEQ1NFwiXG4gIC8+XG48L3N2Zz5cbjxzdmdcbiAgKm5nSWY9XCJpY29uID09PSAncmVwbHknXCJcbiAgZGF0YS10ZXN0aWQ9XCJyZXBseVwiXG4gIGhlaWdodD1cIjE1XCJcbiAgd2lkdGg9XCIxOFwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuPlxuICA8cGF0aFxuICAgIGQ9XCJNLjU2IDEwLjk0NkguMDZsLS4wMDItLjQ5OEwuMDI1LjkyYS41LjUgMCAxIDEgMS0uMDA0bC4wMzIgOS4wMjlIOS4wNnYtNGw5IDQuNS05IDQuNXYtNEguNTZ6XCJcbiAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAvPlxuPC9zdmc+XG48c3ZnXG4gIGhlaWdodD1cIjEwXCJcbiAgd2lkdGg9XCIxMFwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICBkYXRhLXRlc3RpZD1cImNsb3NlLW5vLW91dGxpbmVcIlxuICAqbmdJZj1cImljb24gPT09ICdjbG9zZS1uby1vdXRsaW5lJ1wiXG4+XG4gIDxwYXRoXG4gICAgZD1cIk05LjkxNiAxLjAyN0w4Ljk3My4wODQgNSA0LjA1OCAxLjAyNy4wODRsLS45NDMuOTQzTDQuMDU4IDUgLjA4NCA4Ljk3M2wuOTQzLjk0M0w1IDUuOTQybDMuOTczIDMuOTc0Ljk0My0uOTQzTDUuOTQyIDV6XCJcbiAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAvPlxuPC9zdmc+XG48c3ZnXG4gIGhlaWdodD1cIjEwXCJcbiAgd2lkdGg9XCIxNFwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICBkYXRhLXRlc3RpZD1cInJlcGx5LWluLXRocmVhZFwiXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ3JlcGx5LWluLXRocmVhZCdcIlxuPlxuICA8cGF0aFxuICAgIGQ9XCJNOC41MTYgM2M0Ljc4IDAgNC45NzIgNi41IDQuOTcyIDYuNS0xLjYtMi45MDYtMi44NDctMy4xODQtNC45NzItMy4xODR2Mi44NzJMMy43NzIgNC45OTQgOC41MTYuNVYzek0uNDg0IDVsNC41LTQuMjM3djEuNzhMMi40MTYgNWwyLjU2OCAyLjEyNXYxLjgyOEwuNDg0IDV6XCJcbiAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAvPlxuPC9zdmc+XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFtQmpEOztHQUVHO0FBTUgsTUFBTSxPQUFPLGFBQWE7SUFTeEIsZ0JBQWUsQ0FBQzs7MEdBVEwsYUFBYTs4RkFBYixhQUFhLDJGQzNCMUIsK3JUQWdRQTsyRkRyT2EsYUFBYTtrQkFMekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsTUFBTSxFQUFFLEVBQUU7aUJBQ1g7MEVBS1UsSUFBSTtzQkFBWixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgSWNvbiA9XG4gIHwgJ2FjdGlvbi1pY29uJ1xuICB8ICdkZWxpdmVyZWQtaWNvbidcbiAgfCAncmVhY3Rpb24taWNvbidcbiAgfCAnY29ubmVjdGlvbi1lcnJvcidcbiAgfCAnc2VuZCdcbiAgfCAnZmlsZS11cGxvYWQnXG4gIHwgJ3JldHJ5J1xuICB8ICdjbG9zZSdcbiAgfCAnZmlsZSdcbiAgfCAncmVwbHknXG4gIHwgJ2Nsb3NlLW5vLW91dGxpbmUnXG4gIHwgJ3JlcGx5LWluLXRocmVhZCdcbiAgfCAnYXJyb3ctbGVmdCdcbiAgfCAnYXJyb3ctcmlnaHQnXG4gIHwgJ21lbnUnO1xuXG4vKipcbiAqIFRoZSBgSWNvbmAgY29tcG9uZW50IGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgZGlmZmVyZW50IGljb25zIChpLiBlLiBtZXNzYWdlIGRlbGl2ZXJlZCBpY29uKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICAvKipcbiAgICogVGhlIGljb24gdG8gZGlzcGxheSwgdGhlIGxpc3Qgb2YgW3N1cHBvcnRlZCBpY29uc10oaHR0cHM6Ly9naXRodWIuY29tL0dldFN0cmVhbS9zdHJlYW0tY2hhdC1hbmd1bGFyL3RyZWUvbWFzdGVyL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50LnRzKSBjYW4gYmUgZm91bmQgb24gR2l0SHViLlxuICAgKi9cbiAgQElucHV0KCkgaWNvbjogSWNvbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBpY29uIChpbiBwaXhlbHMpXG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiIsIjxzdmdcbiAgZGF0YS10ZXN0aWQ9XCJhY3Rpb24taWNvblwiXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ2FjdGlvbi1pY29uJ1wiXG4gIGhlaWdodD1cIjRcIlxuICB2aWV3Qm94PVwiMCAwIDExIDRcIlxuICB3aWR0aD1cIjExXCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4+XG4gIDxwYXRoXG4gICAgZD1cIk0xLjUgM2ExLjUgMS41IDAgMSAxIDAtMyAxLjUgMS41IDAgMCAxIDAgM3ptNCAwYTEuNSAxLjUgMCAxIDEgMC0zIDEuNSAxLjUgMCAwIDEgMCAzem00IDBhMS41IDEuNSAwIDEgMSAwLTMgMS41IDEuNSAwIDAgMSAwIDN6XCJcbiAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAvPlxuPC9zdmc+XG48c3ZnXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ2RlbGl2ZXJlZC1pY29uJ1wiXG4gIGhlaWdodD1cIjE2XCJcbiAgd2lkdGg9XCIxNlwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICBkYXRhLXRlc3RpZD1cImRlbGl2ZXJlZC1pY29uXCJcbj5cbiAgPHBhdGhcbiAgICBkPVwiTTggMGE4IDggMCAxIDEgMCAxNkE4IDggMCAwIDEgOCAwem0zLjcyIDYuNjMzYS45NTUuOTU1IDAgMSAwLTEuMzUyLTEuMzUyTDYuOTg2IDguNjYzIDUuNjMzIDcuMzFBLjk1Ni45NTYgMCAxIDAgNC4yOCA4LjY2M2wyLjAyOSAyLjAyOGEuOTU2Ljk1NiAwIDAgMCAxLjM1MyAwbDQuMDU4LTQuMDU4elwiXG4gICAgZmlsbD1cIiMwMDZDRkZcIlxuICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gIC8+XG48L3N2Zz5cbjxzdmdcbiAgKm5nSWY9XCJpY29uID09PSAncmVhY3Rpb24taWNvbidcIlxuICBoZWlnaHQ9XCIxMlwiXG4gIHZpZXdCb3g9XCIwIDAgMTIgMTJcIlxuICB3aWR0aD1cIjEyXCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gIGRhdGEtdGVzdGlkPVwicmVhY3Rpb24taWNvblwiXG4+XG4gIDxnIGNsaXBSdWxlPVwiZXZlbm9kZFwiIGZpbGxSdWxlPVwiZXZlbm9kZFwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTYgMS4yQzMuMyAxLjIgMS4yIDMuMyAxLjIgNmMwIDIuNyAyLjEgNC44IDQuOCA0LjggMi43IDAgNC44LTIuMSA0LjgtNC44IDAtMi43LTIuMS00LjgtNC44LTQuOHpNMCA2YzAtMy4zIDIuNy02IDYtNnM2IDIuNyA2IDYtMi43IDYtNiA2LTYtMi43LTYtNnpcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNNS40IDQuNWMwIC41LS40LjktLjkuOXMtLjktLjQtLjktLjkuNC0uOS45LS45LjkuNC45Ljl6TTguNCA0LjVjMCAuNS0uNC45LS45LjlzLS45LS40LS45LS45LjQtLjkuOS0uOS45LjQuOS45ek0zLjMgNi43Yy4zLS4yLjYtLjEuOC4xLjMuNC44LjkgMS41IDEgLjYuMiAxLjQuMSAyLjQtMSAuMi0uMi42LS4zLjggMCAuMi4yLjMuNiAwIC44LTEuMSAxLjMtMi40IDEuNy0zLjUgMS41LTEtLjItMS44LS45LTIuMi0xLjUtLjItLjMtLjEtLjcuMi0uOXpcIlxuICAgID48L3BhdGg+XG4gIDwvZz5cbjwvc3ZnPlxuPHN2Z1xuICBkYXRhLXRlc3RpZD1cImNvbm5lY3Rpb24tZXJyb3JcIlxuICAqbmdJZj1cImljb24gPT09ICdjb25uZWN0aW9uLWVycm9yJ1wiXG4gIHdpZHRoPVwiNzhweFwiXG4gIGhlaWdodD1cIjc4cHhcIlxuICB2aWV3Qm94PVwiMCAwIDc4IDc4XCJcbiAgdmVyc2lvbj1cIjEuMVwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuPlxuICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjYgKDY3NDkxKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT5cbiAgPHRpdGxlPkNvbWJpbmVkIFNoYXBlPC90aXRsZT5cbiAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+XG4gIDxnXG4gICAgaWQ9XCJJbnRlcmFjdGlvbnNcIlxuICAgIHN0cm9rZT1cIm5vbmVcIlxuICAgIHN0cm9rZS13aWR0aD1cIjFcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgPlxuICAgIDxnXG4gICAgICBpZD1cIkNvbm5lY3Rpb24tRXJyb3ItXy1Db25uZWN0aXZpdHlcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yNzAuMDAwMDAwLCAtMzAuMDAwMDAwKVwiXG4gICAgICBmaWxsPVwiI0NGMUYyNVwiXG4gICAgPlxuICAgICAgPGdcbiAgICAgICAgaWQ9XCIxMDktbmV0d29yay1jb25uZWN0aW9uXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDI3MC4wMDAwMDAsIDMwLjAwMDAwMClcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNNjYuNDYwOTc0NCwxMS40MTQyMzEgQzgxLjYyMjUyMzIsMjYuNTc1Nzc5OCA4MS42MjI1MjMyLDUxLjE1NzU0NSA2Ni40NjA5NzQ0LDY2LjMxODg0NjcgQzUxLjI5OTQyNTYsODEuNDgwMzk1NCAyNi43MTc2NjA0LDgxLjQ4MDM5NTQgMTEuNTU2MzU4Nyw2Ni4zMTg4NDY3IEMtMy42MDUxOTAwNCw1MS4xNTcyOTc5IC0zLjYwNTE5MDA0LDI2LjU3NTUzMjcgMTEuNTU2MzU4NywxMS40MTQyMzEgQzI2LjcxNzkwNzUsLTMuNzQ3MzE3NzYgNTEuMjk5NjcyNywtMy43NDczMTc3NiA2Ni40NjA5NzQ0LDExLjQxNDIzMSBaIE01NC43ODUzMjE1LDQ1Ljg4MjM3NzYgTDU0Ljc4NTMyMTUsNDAuNTg4MjU3NCBDNTQuNzg1MzIxNSwzOS42MTM2MzggNTMuOTk1MjM0MSwzOC44MjM1NTA2IDUzLjAyMDYxNDcsMzguODIzNTUwNiBMNDQuOTU3NjY5NSwzOC44MjM1NTA2IEw0MS40MjgyNTYsNDIuMzUyOTY0MSBMNTEuMjU1NTU1LDQyLjM1Mjk2NDEgTDUxLjI1NTU1NSw0NS44ODIzNzc2IEw1NC43ODUzMjE1LDQ1Ljg4MjM3NzYgWiBNNDAuNjY1OTAyNyw0My4xMTUzMTc0IEwzNy44OTg4NDI1LDQ1Ljg4MjM3NzYgTDQwLjY2NTkwMjcsNDUuODgyMzc3NiBMNDAuNjY1OTAyNyw0My4xMTUzMTc0IFogTTUxLjE3NjQ5NjIsNTYuNDcwMjY1MyBMNTguMjM1MzIzMiw1Ni40NzAyNjUzIEM1OS4yMDk5MzU1LDU2LjQ3MDI2NTMgNjAuMDAwMDMsNTUuNjgwMTcwOCA2MC4wMDAwMyw1NC43MDU1NTg1IEw2MC4wMDAwMyw1MS4xNzYxNDUgQzYwLjAwMDAzLDUwLjIwMTUzMjcgNTkuMjA5OTM1NSw0OS40MTE0MzgyIDU4LjIzNTMyMzIsNDkuNDExNDM4MiBMNTEuMTc2NDk2Miw0OS40MTE0MzgyIEM1MC4yMDE4ODM5LDQ5LjQxMTQzODIgNDkuNDExNzg5NCw1MC4yMDE1MzI3IDQ5LjQxMTc4OTQsNTEuMTc2MTQ1IEw0OS40MTE3ODk0LDU0LjcwNTU1ODUgQzQ5LjQxMTc4OTQsNTUuNjgwMTcwOCA1MC4yMDE4ODM5LDU2LjQ3MDI2NTMgNTEuMTc2NDk2Miw1Ni40NzAyNjUzIFogTTM1LjI5NDEzNTMsNTYuNDcwMjY1MyBMNDIuMzUyOTYyNCw1Ni40NzAyNjUzIEM0My4zMjc1NzQ2LDU2LjQ3MDI2NTMgNDQuMTE3NjY5MSw1NS42ODAxNzA4IDQ0LjExNzY2OTEsNTQuNzA1NTU4NSBMNDQuMTE3NjY5MSw1MS4xNzYxNDUgQzQ0LjExNzY2OTEsNTAuMjAxNTMyNyA0My4zMjc1NzQ2LDQ5LjQxMTQzODIgNDIuMzUyOTYyNCw0OS40MTE0MzgyIEwzNS4yOTQxMzUzLDQ5LjQxMTQzODIgQzM0LjMxOTUyMyw0OS40MTE0MzgyIDMzLjUyOTQyODUsNTAuMjAxNTMyNyAzMy41Mjk0Mjg1LDUxLjE3NjE0NSBMMzMuNTI5NDI4NSw1NC43MDU1NTg1IEMzMy41Mjk0Mjg1LDU1LjY4MDE3MDggMzQuMzE5NTIzLDU2LjQ3MDI2NTMgMzUuMjk0MTM1Myw1Ni40NzAyNjUzIFogTTU2LjY5NjQ5ODksMTkuMDg3NDIzMSBDNTYuMDA3MzgxLDE4LjM5ODUxMzQgNTQuODkwMzIxNiwxOC4zOTg1MTM0IDU0LjIwMTIwMzYsMTkuMDg3NDIzIEw0NS44ODIzNzYsMjcuNDA2MjUwNyBMNDUuODgyMzc2LDE5LjQxMTc3NjEgQzQ1Ljg4MjM3NiwxOC40MzcxNTY4IDQ1LjA5MjI4ODUsMTcuNjQ3MDY5MyA0NC4xMTc2NjkyLDE3LjY0NzA2OTMgTDMzLjUyOTQyODYsMTcuNjQ3MDY5MyBDMzIuNTU0ODA5MiwxNy42NDcwNjk0IDMxLjc2NDcyMTgsMTguNDM3MTU2OCAzMS43NjQ3MjE4LDE5LjQxMTc3NjEgTDMxLjc2NDcyMTgsMzAuMDAwMDE2NyBDMzEuNzY0NzIxOSwzMC45NzQ2MzYzIDMyLjU1NDgwOTIsMzEuNzY0NzIzNyAzMy41Mjk0Mjg1LDMxLjc2NDcyMzcgTDQxLjUyMzkwMzEsMzEuNzY0NzIzNyBMMzQuNDY1MDc2MSwzOC44MjM1NTA4IEwyNC43MDU4OTQ3LDM4LjgyMzU1MDggQzIzLjczMTI3NTMsMzguODIzNTUwOCAyMi45NDExODc5LDM5LjYxMzYzODIgMjIuOTQxMTg3OSw0MC41ODgyNTc1IEwyMi45NDExODc5LDQ1Ljg4MjM3NzggTDI2LjQ3MDYwMTQsNDUuODgyMzc3OCBMMjYuNDcwNjAxNCw0Mi4zNTI5NjQzIEwzMC45MzU2NjI0LDQyLjM1Mjk2NDMgTDIzLjg3NjgzNTQsNDkuNDExNzkxNCBMMTkuNDExNzc0Myw0OS40MTE3OTE0IEMxOC40MzcxNTQ5LDQ5LjQxMTc5MTQgMTcuNjQ3MDY3NSw1MC4yMDE4Nzg4IDE3LjY0NzA2NzUsNTEuMTc2NDk4MSBMMTcuNjQ3MDY3NSw1NC43MDU5MTE3IEMxNy42NTA0MDQ5LDU0Ljk2NzQzMDIgMTcuNzEyOTA3Niw1NS4yMjQ4MDQyIDE3LjgyOTg4ODYsNTUuNDU4NzMwMiBMMTYuNDQ1NjUyNiw1Ni44NDI5NjYyIEMxNS43NDQ2MTkzLDU3LjUyMDA0NTMgMTUuNzI1MjAwNSw1OC42MzcyMjgyIDE2LjQwMjI4MjUsNTkuMzM4MjYxNSBDMTcuMDc5MzYxNiw2MC4wMzkyOTQ4IDE4LjE5NjU0NDUsNjAuMDU4NzEzNiAxOC44OTc1Nzc4LDU5LjM4MTYzMTYgQzE4LjkxMjI4NDcsNTkuMzY3NDI3MyAxOC45MjY3NDM2LDU5LjM1Mjk2ODQgMTguOTQwOTQ4LDU5LjMzODI2MTUgTDU2LjY5NjQ5NjMsMjEuNTgzMDY2MiBDNTcuMzg1NjQyNSwyMC44OTM5MDk0IDU3LjM4NTY0MjUsMTkuNzc2NTc0NyA1Ni42OTY0OTYzLDE5LjA4NzQxNzkgWlwiXG4gICAgICAgICAgaWQ9XCJDb21iaW5lZC1TaGFwZVwiXG4gICAgICAgID48L3BhdGg+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L2c+XG48L3N2Zz5cbjxzdmdcbiAgKm5nSWY9XCJpY29uID09PSAnc2VuZCdcIlxuICBkYXRhLXRlc3RpZD1cInNlbmRcIlxuICBoZWlnaHQ9XCIxN1wiXG4gIHZpZXdCb3g9XCIwIDAgMTggMTdcIlxuICB3aWR0aD1cIjE4XCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4+XG4gIDx0aXRsZSB0cmFuc2xhdGU+c3RyZWFtQ2hhdC5TZW5kPC90aXRsZT5cbiAgPHBhdGhcbiAgICBkPVwiTTAgMTcuMDE1bDE3LjMzMy04LjUwOEwwIDB2Ni42MTdsMTIuNDE3IDEuODlMMCAxMC4zOTd6XCJcbiAgICBmaWxsPVwiIzAwNmNmZlwiXG4gICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgLz5cbjwvc3ZnPlxuPHN2Z1xuICAqbmdJZj1cImljb24gPT09ICdmaWxlLXVwbG9hZCdcIlxuICBkYXRhLXRlc3RpZD1cImZpbGUtdXBsb2FkXCJcbiAgaGVpZ2h0PVwiMTRcIlxuICB3aWR0aD1cIjE0XCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4+XG4gIDx0aXRsZSB0cmFuc2xhdGU+c3RyZWFtQ2hhdC5BdHRhY2ggZmlsZXM8L3RpdGxlPlxuICA8cGF0aFxuICAgIGQ9XCJNMS42NjcuMzMzaDEwLjY2NmMuNzM3IDAgMS4zMzQuNTk3IDEuMzM0IDEuMzM0djEwLjY2NmMwIC43MzctLjU5NyAxLjMzNC0xLjMzNCAxLjMzNEgxLjY2N2ExLjMzMyAxLjMzMyAwIDAgMS0xLjMzNC0xLjMzNFYxLjY2N0MuMzMzLjkzLjkzLjMzMyAxLjY2Ny4zMzN6bTIgMS4zMzRhMS42NjcgMS42NjcgMCAxIDAgMCAzLjMzMyAxLjY2NyAxLjY2NyAwIDAgMCAwLTMuMzMzem0tMiA5LjMzM3YxLjMzM2gxMC42NjZ2LTRsLTItMi00IDQtMi0yTDEuNjY3IDExelwiXG4gICAgZmlsbFJ1bGU9XCJub256ZXJvXCJcbiAgLz5cbjwvc3ZnPlxuPHN2Z1xuICBkYXRhLXRlc3RpZD1cInJldHJ5XCJcbiAgKm5nSWY9XCJpY29uID09PSAncmV0cnknXCJcbiAgd2lkdGg9XCIyMlwiXG4gIGhlaWdodD1cIjIwXCJcbiAgdmlld0JveD1cIjAgMCAyMiAyMFwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuPlxuICA8cGF0aFxuICAgIGQ9XCJNMjAgNS41MzVWMmExIDEgMCAwIDEgMiAwdjZhMSAxIDAgMCAxLTEgMWgtNmExIDEgMCAwIDEgMC0yaDMuNjM4bC0yLjk3NS0yLjY1M2E4IDggMCAxIDAgMS44ODQgOC4zMiAxIDEgMCAxIDEgMS44ODYuNjY2QTEwIDEwIDAgMSAxIDUuMTc1IDEuMjQ1YzMuOTAxLTIuMTUgOC43NTQtMS40NjIgMTEuODggMS42NjdMMjAgNS41MzV6XCJcbiAgICBmaWxsPVwiI0ZGRlwiXG4gICAgZmlsbC1ydWxlPVwibm9uemVyb1wiXG4gIC8+XG48L3N2Zz5cbjxzdmdcbiAgKm5nSWY9XCJpY29uID09PSAnY2xvc2UnXCJcbiAgZGF0YS10ZXN0aWQ9XCJjbG9zZVwiXG4gIHdpZHRoPVwiMjhcIlxuICBoZWlnaHQ9XCIyOFwiXG4gIHZpZXdCb3g9XCIwIDAgMjggMjhcIlxuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbj5cbiAgPGRlZnM+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNNDY1IDVjNS41MyAwIDEwIDQuNDcgMTAgMTBzLTQuNDcgMTAtMTAgMTAtMTAtNC40Ny0xMC0xMCA0LjQ3LTEwIDEwLTEwem0zLjU5IDVMNDY1IDEzLjU5IDQ2MS40MSAxMCA0NjAgMTEuNDFsMy41OSAzLjU5LTMuNTkgMy41OSAxLjQxIDEuNDEgMy41OS0zLjU5IDMuNTkgMy41OSAxLjQxLTEuNDEtMy41OS0zLjU5IDMuNTktMy41OS0xLjQxLTEuNDF6XCJcbiAgICAgIGlkPVwiYlwiXG4gICAgLz5cbiAgICA8ZmlsdGVyXG4gICAgICB4PVwiLTMwJVwiXG4gICAgICB5PVwiLTMwJVwiXG4gICAgICB3aWR0aD1cIjE2MCVcIlxuICAgICAgaGVpZ2h0PVwiMTYwJVwiXG4gICAgICBmaWx0ZXJVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCJcbiAgICAgIGlkPVwiYVwiXG4gICAgPlxuICAgICAgPGZlT2Zmc2V0IGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJzaGFkb3dPZmZzZXRPdXRlcjFcIiAvPlxuICAgICAgPGZlR2F1c3NpYW5CbHVyXG4gICAgICAgIHN0ZERldmlhdGlvbj1cIjJcIlxuICAgICAgICBpbj1cInNoYWRvd09mZnNldE91dGVyMVwiXG4gICAgICAgIHJlc3VsdD1cInNoYWRvd0JsdXJPdXRlcjFcIlxuICAgICAgLz5cbiAgICAgIDxmZUNvbG9yTWF0cml4XG4gICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuNSAwXCJcbiAgICAgICAgaW49XCJzaGFkb3dCbHVyT3V0ZXIxXCJcbiAgICAgIC8+XG4gICAgPC9maWx0ZXI+XG4gIDwvZGVmcz5cbiAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC00NTEgLTEpXCIgZmlsbC1ydWxlPVwibm9uemVyb1wiIGZpbGw9XCJub25lXCI+XG4gICAgPHVzZSBmaWxsPVwiIzAwMFwiIGZpbHRlcj1cInVybCgjYSlcIiB4bGluazpocmVmPVwiI2JcIiAvPlxuICAgIDx1c2UgZmlsbD1cIiNGRkZcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgeGxpbms6aHJlZj1cIiNiXCIgLz5cbiAgPC9nPlxuPC9zdmc+XG48c3ZnXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ2ZpbGUnXCJcbiAgZGF0YS10ZXN0aWQ9XCJmaWxlXCJcbiAgY2xhc3NOYW1lPVwicmZ1LWZpbGUtaWNvbi0tc21hbGwgZmEtZmlsZS1mYWxsYmFja1wiXG4gIFthdHRyLmhlaWdodF09XCJzaXplIHx8IDIwXCJcbiAgW2F0dHIud2lkdGhdPVwic2l6ZSB8fCAyMFwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICB2aWV3Qm94PVwiMCAwIDM4NCA1MTJcIlxuPlxuICA8cGF0aFxuICAgIGQ9XCJNMzY5LjkgOTcuOUwyODYgMTRDMjc3IDUgMjY0LjgtLjEgMjUyLjEtLjFINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyODhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTMxLjljMC0xMi43LTUuMS0yNS0xNC4xLTM0ek0zMzIuMSAxMjhIMjU2VjUxLjlsNzYuMSA3Ni4xek00OCA0NjRWNDhoMTYwdjEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxMDR2Mjg4SDQ4elwiXG4gICAgZmlsbD1cIiM0MTRENTRcIlxuICAvPlxuPC9zdmc+XG48c3ZnXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ3JlcGx5J1wiXG4gIGRhdGEtdGVzdGlkPVwicmVwbHlcIlxuICBoZWlnaHQ9XCIxNVwiXG4gIHdpZHRoPVwiMThcIlxuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbj5cbiAgPHBhdGhcbiAgICBkPVwiTS41NiAxMC45NDZILjA2bC0uMDAyLS40OThMLjAyNS45MmEuNS41IDAgMSAxIDEtLjAwNGwuMDMyIDkuMDI5SDkuMDZ2LTRsOSA0LjUtOSA0LjV2LTRILjU2elwiXG4gICAgZmlsbFJ1bGU9XCJub256ZXJvXCJcbiAgLz5cbjwvc3ZnPlxuPHN2Z1xuICBoZWlnaHQ9XCIxMFwiXG4gIHdpZHRoPVwiMTBcIlxuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgZGF0YS10ZXN0aWQ9XCJjbG9zZS1uby1vdXRsaW5lXCJcbiAgKm5nSWY9XCJpY29uID09PSAnY2xvc2Utbm8tb3V0bGluZSdcIlxuPlxuICA8cGF0aFxuICAgIGQ9XCJNOS45MTYgMS4wMjdMOC45NzMuMDg0IDUgNC4wNTggMS4wMjcuMDg0bC0uOTQzLjk0M0w0LjA1OCA1IC4wODQgOC45NzNsLjk0My45NDNMNSA1Ljk0MmwzLjk3MyAzLjk3NC45NDMtLjk0M0w1Ljk0MiA1elwiXG4gICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgLz5cbjwvc3ZnPlxuPHN2Z1xuICBoZWlnaHQ9XCIxMFwiXG4gIHdpZHRoPVwiMTRcIlxuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgZGF0YS10ZXN0aWQ9XCJyZXBseS1pbi10aHJlYWRcIlxuICAqbmdJZj1cImljb24gPT09ICdyZXBseS1pbi10aHJlYWQnXCJcbj5cbiAgPHBhdGhcbiAgICBkPVwiTTguNTE2IDNjNC43OCAwIDQuOTcyIDYuNSA0Ljk3MiA2LjUtMS42LTIuOTA2LTIuODQ3LTMuMTg0LTQuOTcyLTMuMTg0djIuODcyTDMuNzcyIDQuOTk0IDguNTE2LjVWM3pNLjQ4NCA1bDQuNS00LjIzN3YxLjc4TDIuNDE2IDVsMi41NjggMi4xMjV2MS44MjhMLjQ4NCA1elwiXG4gICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgLz5cbjwvc3ZnPlxuPHN2Z1xuICAqbmdJZj1cImljb24gPT09ICdhcnJvdy1sZWZ0J1wiXG4gIGRhdGEtdGVzdGlkPVwiYXJyb3ctbGVmdFwiXG4gIHdpZHRoPVwiMjRcIlxuICBoZWlnaHQ9XCIyNFwiXG4gIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICBmaWxsPVwibm9uZVwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuPlxuICA8cGF0aFxuICAgIGQ9XCJNMTUuNzA0OSA3LjQxTDE0LjI5NDkgNkw4LjI5NDkyIDEyTDE0LjI5NDkgMThMMTUuNzA0OSAxNi41OUwxMS4xMjQ5IDEyTDE1LjcwNDkgNy40MVpcIlxuICAgIGZpbGw9XCJ2YXIoLS1ibGFjaylcIlxuICAvPlxuPC9zdmc+XG5cbjxzdmdcbiAgKm5nSWY9XCJpY29uID09PSAnYXJyb3ctcmlnaHQnXCJcbiAgZGF0YS10ZXN0aWQ9XCJhcnJvdy1yaWdodFwiXG4gIHdpZHRoPVwiMjRcIlxuICBoZWlnaHQ9XCIyNFwiXG4gIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICBmaWxsPVwibm9uZVwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuPlxuICA8cGF0aFxuICAgIGQ9XCJNOS43MDQ5MiA2TDguMjk0OTIgNy40MUwxMi44NzQ5IDEyTDguMjk0OTIgMTYuNTlMOS43MDQ5MiAxOEwxNS43MDQ5IDEyTDkuNzA0OTIgNlpcIlxuICAgIGZpbGw9XCJ2YXIoLS1ibGFjaylcIlxuICAvPlxuPC9zdmc+XG48c3ZnXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ21lbnUnXCJcbiAgZGF0YS10ZXN0aWQ9XCJtZW51XCJcbiAgd2lkdGg9XCIyNFwiXG4gIGhlaWdodD1cIjI0XCJcbiAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gIGZpbGw9XCJub25lXCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4+XG4gIDxwYXRoXG4gICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgZD1cIk0zIDhWNkgyMVY4SDNaTTMgMTNIMjFWMTFIM1YxM1pNMyAxOEgyMVYxNkgzVjE4WlwiXG4gICAgZmlsbD1cImJsYWNrXCJcbiAgLz5cbjwvc3ZnPlxuIl19