stream-chat-angular 7.2.0-rc.1 → 7.2.0-rc.3

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.
@@ -106,11 +106,11 @@ export class PollActionsComponent extends BasePollComponent {
106
106
  };
107
107
  }
108
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PollActionsComponent, deps: [{ token: i1.CustomTemplatesService }, { token: i2.ChatClientService }, { token: i0.ChangeDetectorRef }, { token: i3.ChannelService }, { token: i4.NotificationService }, { token: i5.MessageActionsService }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PollActionsComponent, selector: "stream-poll-actions", inputs: { maxOptionsDisplayed: "maxOptionsDisplayed", maxPollOptions: "maxPollOptions" }, viewQueries: [{ propertyName: "allOptions", first: true, predicate: ["allOptions"], descendants: true }, { propertyName: "suggestOption", first: true, predicate: ["suggestOption"], descendants: true }, { propertyName: "addAnswer", first: true, predicate: ["addAnswer"], descendants: true }, { propertyName: "viewComments", first: true, predicate: ["viewComments"], descendants: true }, { propertyName: "viewResults", first: true, predicate: ["viewResults"], descendants: true }, { propertyName: "endVote", first: true, predicate: ["endVote"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"str-chat__poll-actions\">\n <ng-container\n *ngIf=\"maxOptionsDisplayed && options.length > maxOptionsDisplayed\"\n >\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('allOptions')\">\n {{ \"streamChat.See all options ({{count}})\" | translate:{count:\n options.length} }}\n </button>\n </ng-container>\n <ng-container\n *ngIf=\"\n allowUserSuggestions &&\n canVote &&\n !isClosed &&\n options.length < maxPollOptions\n \"\n >\n <button\n class=\"str-chat__poll-action\"\n (click)=\"modalOpened('suggestOption')\"\n >\n {{ \"streamChat.Suggest an option\" | translate }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"allowAnswers && canVote && !isClosed\">\n <button\n class=\"str-chat__poll-action\"\n (click)=\"modalOpened('addAnswer')\"\n (keyup.enter)=\"modalOpened('addAnswer')\"\n >\n <ng-container *ngIf=\"ownAnwer; else newAnswer\">\n {{ \"streamChat.Update your comment\" | translate }}\n </ng-container>\n <ng-template #newAnswer>\n {{ \"streamChat.Add a comment\" | translate }}\n </ng-template>\n </button>\n </ng-container>\n <ng-container *ngIf=\"answerCount > 0 && canQueryVotes\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('viewComments')\">\n {{ (answerCount === 1 ? \"streamChat.View {{ count }} comment\" :\n \"streamChat.View {{ count }} comments\") | translate:{count: answerCount}\n }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"canQueryVotes\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('viewResults')\">\n {{ \"streamChat.View results\" | translate }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"isOwnPoll && !isClosed\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('endVote')\">\n {{ \"streamChat.End vote\" | translate }}\n </button>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"selectedAction\">\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.modalTemplate$ | async) || defaultModal;\n context: getModalContext()\n \"\n />\n</ng-container>\n\n<ng-template\n #defaultModal\n let-isOpen=\"isOpen\"\n let-isOpenChangeHandler=\"isOpenChangeHandler\"\n let-content=\"content\"\n>\n <stream-modal\n class=\"str-chat__poll-actions str-chat-angular__poll-actions\"\n [isOpen]=\"isOpen\"\n [content]=\"content\"\n (isOpenChange)=\"isOpenChangeHandler($event)\"\n />\n</ng-template>\n\n<ng-template #allOptions>\n <div class=\"str-chat__modal__poll-option-list str-chat-angular__poll-actions\">\n <div class=\"str-chat__modal-header\">\n <div class=\"str-chat__modal-header__title\">\n {{ \"streamChat.Poll options\" | translate }}\n </div>\n </div>\n <div class=\"str-chat__modal__poll-option-list__body\">\n <div class=\"str-chat__modal__poll-option-list__title\">{{ name }}</div>\n <stream-poll-options-list\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [maxOptionsDisplayed]=\"undefined\"\n />\n <stream-notification-list />\n </div>\n </div>\n</ng-template>\n<ng-template #suggestOption>\n <stream-add-option\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [closeModal]=\"modalClosed\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #addAnswer>\n <stream-upsert-answer\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [answer]=\"ownAnwer\"\n [closeModal]=\"modalClosed\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #viewComments>\n <stream-poll-answers-list\n (upsertOwnAnswer)=\"modalOpened('addAnswer')\"\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #viewResults>\n <stream-poll-results-list [messageId]=\"messageId\" [pollId]=\"pollId\" />\n <stream-notification-list />\n</ng-template>\n<ng-template #endVote>\n <div\n class=\"str-chat__dialog str-chat__dialog--prompt str-chat__modal__end-vote\"\n >\n <div class=\"str-chat__dialog__body\">\n <div class=\"str-chat__dialog__title\" translate>streamChat.End vote</div>\n <div class=\"str-chat__dialog__prompt\" translate>\n streamChat.After a poll is closed, no more votes can be cast\n </div>\n <stream-notification-list />\n <div class=\"str-chat__dialog__controls\">\n <button\n class=\"str-chat__dialog__controls-button\"\n (click)=\"modalClosed()\"\n >\n {{ \"streamChat.Cancel\" | translate }}\n </button>\n <button class=\"str-chat__dialog__controls-button\" (click)=\"closePoll()\">\n {{ \"streamChat.End vote\" | translate }}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.ModalComponent, selector: "stream-modal", inputs: ["isOpen", "content"], outputs: ["isOpenChange"] }, { kind: "component", type: i8.NotificationListComponent, selector: "stream-notification-list" }, { kind: "component", type: i9.PollOptionsListComponent, selector: "stream-poll-options-list", inputs: ["maxOptionsDisplayed"] }, { kind: "component", type: i10.PollResultsListComponent, selector: "stream-poll-results-list" }, { kind: "component", type: i11.PollAnswersListComponent, selector: "stream-poll-answers-list", outputs: ["upsertOwnAnswer"] }, { kind: "component", type: i12.UpsertAnswerComponent, selector: "stream-upsert-answer", inputs: ["answer", "closeModal"] }, { kind: "component", type: i13.AddOptionComponent, selector: "stream-add-option", inputs: ["closeModal"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PollActionsComponent, selector: "stream-poll-actions", inputs: { maxOptionsDisplayed: "maxOptionsDisplayed", maxPollOptions: "maxPollOptions" }, viewQueries: [{ propertyName: "allOptions", first: true, predicate: ["allOptions"], descendants: true }, { propertyName: "suggestOption", first: true, predicate: ["suggestOption"], descendants: true }, { propertyName: "addAnswer", first: true, predicate: ["addAnswer"], descendants: true }, { propertyName: "viewComments", first: true, predicate: ["viewComments"], descendants: true }, { propertyName: "viewResults", first: true, predicate: ["viewResults"], descendants: true }, { propertyName: "endVote", first: true, predicate: ["endVote"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"str-chat__poll-actions\">\n <ng-container\n *ngIf=\"maxOptionsDisplayed && options.length > maxOptionsDisplayed\"\n >\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('allOptions')\">\n {{ \"streamChat.See all options ({{count}})\" | translate:{count:\n options.length} }}\n </button>\n </ng-container>\n <ng-container\n *ngIf=\"\n allowUserSuggestions &&\n canVote &&\n !isClosed &&\n options.length < maxPollOptions\n \"\n >\n <button\n class=\"str-chat__poll-action\"\n (click)=\"modalOpened('suggestOption')\"\n >\n {{ \"streamChat.Suggest an option\" | translate }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"allowAnswers && canVote && !isClosed\">\n <button\n class=\"str-chat__poll-action\"\n (click)=\"modalOpened('addAnswer')\"\n (keyup.enter)=\"modalOpened('addAnswer')\"\n >\n <ng-container *ngIf=\"ownAnwer; else newAnswer\">\n {{ \"streamChat.Update your comment\" | translate }}\n </ng-container>\n <ng-template #newAnswer>\n {{ \"streamChat.Add a comment\" | translate }}\n </ng-template>\n </button>\n </ng-container>\n <ng-container *ngIf=\"answerCount > 0 && canQueryVotes\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('viewComments')\">\n {{ (answerCount === 1 ? \"streamChat.View {{ count }} comment\" :\n \"streamChat.View {{ count }} comments\") | translate:{count: answerCount}\n }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"canQueryVotes\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('viewResults')\">\n {{ \"streamChat.View results\" | translate }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"isOwnPoll && !isClosed\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('endVote')\">\n {{ \"streamChat.End vote\" | translate }}\n </button>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"selectedAction\">\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.modalTemplate$ | async) || defaultModal;\n context: getModalContext()\n \"\n />\n</ng-container>\n\n<ng-template\n #defaultModal\n let-isOpen=\"isOpen\"\n let-isOpenChangeHandler=\"isOpenChangeHandler\"\n let-content=\"content\"\n>\n <stream-modal\n class=\"str-chat__poll-actions str-chat-angular__poll-actions\"\n [isOpen]=\"isOpen\"\n [content]=\"content\"\n (isOpenChange)=\"isOpenChangeHandler($event)\"\n />\n</ng-template>\n\n<ng-template #allOptions>\n <div class=\"str-chat__modal__poll-option-list str-chat-angular__poll-actions\">\n <div class=\"str-chat__modal-header\">\n <div class=\"str-chat__modal-header__title\">\n {{ \"streamChat.Poll options\" | translate }}\n </div>\n </div>\n <div class=\"str-chat__modal__poll-option-list__body\">\n <div class=\"str-chat__modal__poll-option-list__title\">{{ name }}</div>\n <stream-poll-options-list\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [maxOptionsDisplayed]=\"undefined\"\n />\n <stream-notification-list />\n </div>\n </div>\n</ng-template>\n<ng-template #suggestOption>\n <stream-add-option\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [closeModal]=\"modalClosed\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #addAnswer>\n <stream-upsert-answer\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [answer]=\"ownAnwer\"\n [closeModal]=\"modalClosed\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #viewComments>\n <stream-poll-answers-list\n (upsertOwnAnswer)=\"modalOpened('addAnswer')\"\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #viewResults>\n <stream-poll-results-list [messageId]=\"messageId\" [pollId]=\"pollId\" />\n <stream-notification-list />\n</ng-template>\n<ng-template #endVote>\n <div\n class=\"str-chat__dialog str-chat__dialog--prompt str-chat__modal__end-vote\"\n >\n <div class=\"str-chat__dialog__body\">\n <div class=\"str-chat__dialog__title\">\n {{ \"streamChat.End vote\" | translate }}\n </div>\n <div class=\"str-chat__dialog__prompt\">\n {{\n \"streamChat.After a poll is closed, no more votes can be cast\"\n | translate\n }}\n </div>\n <stream-notification-list />\n <div class=\"str-chat__dialog__controls\">\n <button\n class=\"str-chat__dialog__controls-button\"\n (click)=\"modalClosed()\"\n >\n {{ \"streamChat.Cancel\" | translate }}\n </button>\n <button class=\"str-chat__dialog__controls-button\" (click)=\"closePoll()\">\n {{ \"streamChat.End vote\" | translate }}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.ModalComponent, selector: "stream-modal", inputs: ["isOpen", "content"], outputs: ["isOpenChange"] }, { kind: "component", type: i8.NotificationListComponent, selector: "stream-notification-list" }, { kind: "component", type: i9.PollOptionsListComponent, selector: "stream-poll-options-list", inputs: ["maxOptionsDisplayed"] }, { kind: "component", type: i10.PollResultsListComponent, selector: "stream-poll-results-list" }, { kind: "component", type: i11.PollAnswersListComponent, selector: "stream-poll-answers-list", outputs: ["upsertOwnAnswer"] }, { kind: "component", type: i12.UpsertAnswerComponent, selector: "stream-upsert-answer", inputs: ["answer", "closeModal"] }, { kind: "component", type: i13.AddOptionComponent, selector: "stream-add-option", inputs: ["closeModal"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
110
110
  }
111
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PollActionsComponent, decorators: [{
112
112
  type: Component,
113
- args: [{ selector: 'stream-poll-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"str-chat__poll-actions\">\n <ng-container\n *ngIf=\"maxOptionsDisplayed && options.length > maxOptionsDisplayed\"\n >\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('allOptions')\">\n {{ \"streamChat.See all options ({{count}})\" | translate:{count:\n options.length} }}\n </button>\n </ng-container>\n <ng-container\n *ngIf=\"\n allowUserSuggestions &&\n canVote &&\n !isClosed &&\n options.length < maxPollOptions\n \"\n >\n <button\n class=\"str-chat__poll-action\"\n (click)=\"modalOpened('suggestOption')\"\n >\n {{ \"streamChat.Suggest an option\" | translate }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"allowAnswers && canVote && !isClosed\">\n <button\n class=\"str-chat__poll-action\"\n (click)=\"modalOpened('addAnswer')\"\n (keyup.enter)=\"modalOpened('addAnswer')\"\n >\n <ng-container *ngIf=\"ownAnwer; else newAnswer\">\n {{ \"streamChat.Update your comment\" | translate }}\n </ng-container>\n <ng-template #newAnswer>\n {{ \"streamChat.Add a comment\" | translate }}\n </ng-template>\n </button>\n </ng-container>\n <ng-container *ngIf=\"answerCount > 0 && canQueryVotes\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('viewComments')\">\n {{ (answerCount === 1 ? \"streamChat.View {{ count }} comment\" :\n \"streamChat.View {{ count }} comments\") | translate:{count: answerCount}\n }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"canQueryVotes\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('viewResults')\">\n {{ \"streamChat.View results\" | translate }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"isOwnPoll && !isClosed\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('endVote')\">\n {{ \"streamChat.End vote\" | translate }}\n </button>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"selectedAction\">\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.modalTemplate$ | async) || defaultModal;\n context: getModalContext()\n \"\n />\n</ng-container>\n\n<ng-template\n #defaultModal\n let-isOpen=\"isOpen\"\n let-isOpenChangeHandler=\"isOpenChangeHandler\"\n let-content=\"content\"\n>\n <stream-modal\n class=\"str-chat__poll-actions str-chat-angular__poll-actions\"\n [isOpen]=\"isOpen\"\n [content]=\"content\"\n (isOpenChange)=\"isOpenChangeHandler($event)\"\n />\n</ng-template>\n\n<ng-template #allOptions>\n <div class=\"str-chat__modal__poll-option-list str-chat-angular__poll-actions\">\n <div class=\"str-chat__modal-header\">\n <div class=\"str-chat__modal-header__title\">\n {{ \"streamChat.Poll options\" | translate }}\n </div>\n </div>\n <div class=\"str-chat__modal__poll-option-list__body\">\n <div class=\"str-chat__modal__poll-option-list__title\">{{ name }}</div>\n <stream-poll-options-list\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [maxOptionsDisplayed]=\"undefined\"\n />\n <stream-notification-list />\n </div>\n </div>\n</ng-template>\n<ng-template #suggestOption>\n <stream-add-option\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [closeModal]=\"modalClosed\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #addAnswer>\n <stream-upsert-answer\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [answer]=\"ownAnwer\"\n [closeModal]=\"modalClosed\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #viewComments>\n <stream-poll-answers-list\n (upsertOwnAnswer)=\"modalOpened('addAnswer')\"\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #viewResults>\n <stream-poll-results-list [messageId]=\"messageId\" [pollId]=\"pollId\" />\n <stream-notification-list />\n</ng-template>\n<ng-template #endVote>\n <div\n class=\"str-chat__dialog str-chat__dialog--prompt str-chat__modal__end-vote\"\n >\n <div class=\"str-chat__dialog__body\">\n <div class=\"str-chat__dialog__title\" translate>streamChat.End vote</div>\n <div class=\"str-chat__dialog__prompt\" translate>\n streamChat.After a poll is closed, no more votes can be cast\n </div>\n <stream-notification-list />\n <div class=\"str-chat__dialog__controls\">\n <button\n class=\"str-chat__dialog__controls-button\"\n (click)=\"modalClosed()\"\n >\n {{ \"streamChat.Cancel\" | translate }}\n </button>\n <button class=\"str-chat__dialog__controls-button\" (click)=\"closePoll()\">\n {{ \"streamChat.End vote\" | translate }}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n" }]
113
+ args: [{ selector: 'stream-poll-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"str-chat__poll-actions\">\n <ng-container\n *ngIf=\"maxOptionsDisplayed && options.length > maxOptionsDisplayed\"\n >\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('allOptions')\">\n {{ \"streamChat.See all options ({{count}})\" | translate:{count:\n options.length} }}\n </button>\n </ng-container>\n <ng-container\n *ngIf=\"\n allowUserSuggestions &&\n canVote &&\n !isClosed &&\n options.length < maxPollOptions\n \"\n >\n <button\n class=\"str-chat__poll-action\"\n (click)=\"modalOpened('suggestOption')\"\n >\n {{ \"streamChat.Suggest an option\" | translate }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"allowAnswers && canVote && !isClosed\">\n <button\n class=\"str-chat__poll-action\"\n (click)=\"modalOpened('addAnswer')\"\n (keyup.enter)=\"modalOpened('addAnswer')\"\n >\n <ng-container *ngIf=\"ownAnwer; else newAnswer\">\n {{ \"streamChat.Update your comment\" | translate }}\n </ng-container>\n <ng-template #newAnswer>\n {{ \"streamChat.Add a comment\" | translate }}\n </ng-template>\n </button>\n </ng-container>\n <ng-container *ngIf=\"answerCount > 0 && canQueryVotes\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('viewComments')\">\n {{ (answerCount === 1 ? \"streamChat.View {{ count }} comment\" :\n \"streamChat.View {{ count }} comments\") | translate:{count: answerCount}\n }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"canQueryVotes\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('viewResults')\">\n {{ \"streamChat.View results\" | translate }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"isOwnPoll && !isClosed\">\n <button class=\"str-chat__poll-action\" (click)=\"modalOpened('endVote')\">\n {{ \"streamChat.End vote\" | translate }}\n </button>\n </ng-container>\n</div>\n\n<ng-container *ngIf=\"selectedAction\">\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.modalTemplate$ | async) || defaultModal;\n context: getModalContext()\n \"\n />\n</ng-container>\n\n<ng-template\n #defaultModal\n let-isOpen=\"isOpen\"\n let-isOpenChangeHandler=\"isOpenChangeHandler\"\n let-content=\"content\"\n>\n <stream-modal\n class=\"str-chat__poll-actions str-chat-angular__poll-actions\"\n [isOpen]=\"isOpen\"\n [content]=\"content\"\n (isOpenChange)=\"isOpenChangeHandler($event)\"\n />\n</ng-template>\n\n<ng-template #allOptions>\n <div class=\"str-chat__modal__poll-option-list str-chat-angular__poll-actions\">\n <div class=\"str-chat__modal-header\">\n <div class=\"str-chat__modal-header__title\">\n {{ \"streamChat.Poll options\" | translate }}\n </div>\n </div>\n <div class=\"str-chat__modal__poll-option-list__body\">\n <div class=\"str-chat__modal__poll-option-list__title\">{{ name }}</div>\n <stream-poll-options-list\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [maxOptionsDisplayed]=\"undefined\"\n />\n <stream-notification-list />\n </div>\n </div>\n</ng-template>\n<ng-template #suggestOption>\n <stream-add-option\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [closeModal]=\"modalClosed\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #addAnswer>\n <stream-upsert-answer\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n [answer]=\"ownAnwer\"\n [closeModal]=\"modalClosed\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #viewComments>\n <stream-poll-answers-list\n (upsertOwnAnswer)=\"modalOpened('addAnswer')\"\n [pollId]=\"pollId\"\n [messageId]=\"messageId\"\n />\n <stream-notification-list />\n</ng-template>\n<ng-template #viewResults>\n <stream-poll-results-list [messageId]=\"messageId\" [pollId]=\"pollId\" />\n <stream-notification-list />\n</ng-template>\n<ng-template #endVote>\n <div\n class=\"str-chat__dialog str-chat__dialog--prompt str-chat__modal__end-vote\"\n >\n <div class=\"str-chat__dialog__body\">\n <div class=\"str-chat__dialog__title\">\n {{ \"streamChat.End vote\" | translate }}\n </div>\n <div class=\"str-chat__dialog__prompt\">\n {{\n \"streamChat.After a poll is closed, no more votes can be cast\"\n | translate\n }}\n </div>\n <stream-notification-list />\n <div class=\"str-chat__dialog__controls\">\n <button\n class=\"str-chat__dialog__controls-button\"\n (click)=\"modalClosed()\"\n >\n {{ \"streamChat.Cancel\" | translate }}\n </button>\n <button class=\"str-chat__dialog__controls-button\" (click)=\"closePoll()\">\n {{ \"streamChat.End vote\" | translate }}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n" }]
114
114
  }], ctorParameters: () => [{ type: i1.CustomTemplatesService }, { type: i2.ChatClientService }, { type: i0.ChangeDetectorRef }, { type: i3.ChannelService }, { type: i4.NotificationService }, { type: i5.MessageActionsService }], propDecorators: { maxOptionsDisplayed: [{
115
115
  type: Input
116
116
  }], maxPollOptions: [{
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
134
134
  type: ViewChild,
135
135
  args: ['endVote']
136
136
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9wb2xscy9wb2xsLWFjdGlvbnMvcG9sbC1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9wb2xscy9wb2xsLWFjdGlvbnMvcG9sbC1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQjNEOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQTBCekQsWUFDRSxzQkFBOEMsRUFDOUMsaUJBQW9DLEVBQ3BDLEtBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLG1CQUF3QyxFQUNoQyxjQUFxQztRQUU3QyxLQUFLLENBQ0gsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixDQUNwQixDQUFDO1FBUk0sbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBL0IvQzs7V0FFRztRQUNNLHdCQUFtQixHQUF1QixFQUFFLENBQUM7UUFDdEQ7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUM5QixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtQkFBYyxHQUF1QixTQUFTLENBQUM7UUFDL0MsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUEwRHBCLGdCQUFXLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUMsQ0FBQztRQUVGLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDLENBQUM7SUFsREYsQ0FBQztJQUVTLGtCQUFrQixDQUMxQixJQUFVLEVBQ1YsWUFBd0I7UUFFeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDbEQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzFCLDRCQUE0QixFQUFFLEtBQUssQ0FBQyw0QkFBNEI7WUFDaEUsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNqQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMzQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7U0FDakQsQ0FBQyxFQUNGLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztZQUN6QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixJQUFJLEtBQUssQ0FBQztZQUN4RSxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO1lBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQztZQUM5QyxZQUFZLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQ0YsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFtQkQsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJO1lBQ0YsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx3QkFBd0IsQ0FDL0MsK0JBQStCLENBQ2hDLENBQUM7WUFDRixNQUFNLEtBQUssQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3hCLG1CQUFtQixFQUFFLENBQUMsTUFBZSxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksTUFBTSxFQUFFO29CQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQyxDQUFDO2lCQUN4QztxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQztZQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQztTQUNwQyxDQUFDO0lBQ0osQ0FBQzsrR0F0SFUsb0JBQW9CO21HQUFwQixvQkFBb0IsaXVCQ2xDakMsNHhKQXVKQTs7NEZEckhhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTs4UEFNdEMsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUlHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBV21CLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0YsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDQyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0YsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VQb2xsQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1wb2xsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb2xsLCBQb2xsQW5zd2VyLCBQb2xsT3B0aW9uIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS10ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDaGF0Q2xpZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVzc2FnZUFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVzc2FnZS1hY3Rpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxudHlwZSBBY3Rpb24gPVxuICB8ICdhbGxPcHRpb25zJ1xuICB8ICdzdWdnZXN0T3B0aW9uJ1xuICB8ICdhZGRBbnN3ZXInXG4gIHwgJ3ZpZXdDb21tZW50cydcbiAgfCAndmlld1Jlc3VsdHMnXG4gIHwgJ2VuZFZvdGUnO1xuXG4vKipcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1wb2xsLWFjdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9sbC1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbGxBY3Rpb25zQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBvbGxDb21wb25lbnQge1xuICAvKipcbiAgICogSWYgdGhlcmUgYXJlIG1vcmUgb3B0aW9ucyB0aGFuIHRoaXMgbnVtYmVyLCB0aGUgXCJTZWUgYWxsIG9wdGlvbnNcIiBidXR0b24gd2lsbCBiZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIG1heE9wdGlvbnNEaXNwbGF5ZWQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IDEwO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIG9wdGlvbnMgYWxsb3dlZCBmb3IgdGhlIHBvbGwsIHRoaXMgaXMgZGVmaW5lZCBieSBTdHJlYW0gQVBJXG4gICAqL1xuICBASW5wdXQoKSBtYXhQb2xsT3B0aW9ucyA9IDEwMDtcbiAgbmFtZSA9ICcnO1xuICBvcHRpb25zOiBQb2xsT3B0aW9uW10gPSBbXTtcbiAgaXNDbG9zZWQgPSBmYWxzZTtcbiAgYWxsb3dVc2VyU3VnZ2VzdGlvbnMgPSBmYWxzZTtcbiAgYWxsb3dBbnN3ZXJzID0gZmFsc2U7XG4gIGFuc3dlckNvdW50ID0gMDtcbiAgaXNPd25Qb2xsID0gZmFsc2U7XG4gIG93bkFud2VyOiBQb2xsQW5zd2VyIHwgdW5kZWZpbmVkO1xuICBzZWxlY3RlZEFjdGlvbjogQWN0aW9uIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBpc01vZGFsT3BlbiA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdhbGxPcHRpb25zJykgYWxsT3B0aW9ucyE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBAVmlld0NoaWxkKCdzdWdnZXN0T3B0aW9uJykgc3VnZ2VzdE9wdGlvbiE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBAVmlld0NoaWxkKCdhZGRBbnN3ZXInKSBhZGRBbnN3ZXIhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQFZpZXdDaGlsZCgndmlld0NvbW1lbnRzJykgdmlld0NvbW1lbnRzITogVGVtcGxhdGVSZWY8dm9pZD47XG4gIEBWaWV3Q2hpbGQoJ3ZpZXdSZXN1bHRzJykgdmlld1Jlc3VsdHMhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQFZpZXdDaGlsZCgnZW5kVm90ZScpIGVuZFZvdGUhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlOiBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLFxuICAgIGNoYXRDbGllbnRTZXJ2aWNlOiBDaGF0Q2xpZW50U2VydmljZSxcbiAgICBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZUFjdGlvbnNTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgY3VzdG9tVGVtcGxhdGVzU2VydmljZSxcbiAgICAgIGNoYXRDbGllbnRTZXJ2aWNlLFxuICAgICAgY2RSZWYsXG4gICAgICBjaGFubmVsU2VydmljZSxcbiAgICAgIG5vdGlmaWNhdGlvblNlcnZpY2VcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXRlU3RvcmVTZWxlY3RvcihcbiAgICBwb2xsOiBQb2xsLFxuICAgIG1hcmtGb3JDaGVjazogKCkgPT4gdm9pZFxuICApOiAoKSA9PiB2b2lkIHtcbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IHBvbGwuc3RhdGUuc3Vic2NyaWJlV2l0aFNlbGVjdG9yKFxuICAgICAgKHN0YXRlKSA9PiAoe1xuICAgICAgICBvcHRpb25zOiBzdGF0ZS5vcHRpb25zLFxuICAgICAgICBpc19jbG9zZWQ6IHN0YXRlLmlzX2Nsb3NlZCxcbiAgICAgICAgYWxsb3dfdXNlcl9zdWdnZXN0ZWRfb3B0aW9uczogc3RhdGUuYWxsb3dfdXNlcl9zdWdnZXN0ZWRfb3B0aW9ucyxcbiAgICAgICAgYWxsb3dfYW5zd2Vyczogc3RhdGUuYWxsb3dfYW5zd2VycyxcbiAgICAgICAgYW5zd2VyX2NvdW50OiBzdGF0ZS5hbnN3ZXJzX2NvdW50LFxuICAgICAgICBjcmVhdGVkX2J5OiBzdGF0ZS5jcmVhdGVkX2J5LFxuICAgICAgICBuYW1lOiBzdGF0ZS5uYW1lLFxuICAgICAgICBvd25fYW5zd2VyOiBzdGF0ZS5vd25BbnN3ZXIsXG4gICAgICAgIG1heF92b3Rlc19hbGxvd2VkOiBzdGF0ZS5tYXhfdm90ZXNfYWxsb3dlZCxcbiAgICAgICAgb3duX3ZvdGVzX2J5X29wdGlvbl9pZDogc3RhdGUub3duVm90ZXNCeU9wdGlvbklkLFxuICAgICAgfSksXG4gICAgICAoc3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gc3RhdGUub3B0aW9ucztcbiAgICAgICAgdGhpcy5pc0Nsb3NlZCA9IHN0YXRlLmlzX2Nsb3NlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5hbGxvd1VzZXJTdWdnZXN0aW9ucyA9IHN0YXRlLmFsbG93X3VzZXJfc3VnZ2VzdGVkX29wdGlvbnMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuYWxsb3dBbnN3ZXJzID0gc3RhdGUuYWxsb3dfYW5zd2VycyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5hbnN3ZXJDb3VudCA9IHN0YXRlLmFuc3dlcl9jb3VudCA/PyAwO1xuICAgICAgICB0aGlzLmlzT3duUG9sbCA9IHN0YXRlLmNyZWF0ZWRfYnk/LmlkID09PSB0aGlzLmN1cnJlbnRVc2VyPy5pZDtcbiAgICAgICAgdGhpcy5uYW1lID0gc3RhdGUubmFtZTtcbiAgICAgICAgdGhpcy5vd25BbndlciA9IHN0YXRlLm93bl9hbnN3ZXIgPz8gdW5kZWZpbmVkO1xuICAgICAgICBtYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIHVuc3Vic2NyaWJlO1xuICB9XG5cbiAgbW9kYWxPcGVuZWQgPSAoYWN0aW9uOiBBY3Rpb24pID0+IHtcbiAgICB0aGlzLnNlbGVjdGVkQWN0aW9uID0gYWN0aW9uO1xuICAgIGlmICghdGhpcy5pc01vZGFsT3Blbikge1xuICAgICAgdGhpcy5pc01vZGFsT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLm1vZGFsT3BlbmVkRm9yTWVzc2FnZS5uZXh0KHRoaXMubWVzc2FnZUlkKTtcbiAgICB9XG4gIH07XG5cbiAgbW9kYWxDbG9zZWQgPSAoKSA9PiB7XG4gICAgdGhpcy5zZWxlY3RlZEFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5pc01vZGFsT3Blbikge1xuICAgICAgdGhpcy5pc01vZGFsT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5tb2RhbE9wZW5lZEZvck1lc3NhZ2UubmV4dCh1bmRlZmluZWQpO1xuICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH07XG5cbiAgYXN5bmMgY2xvc2VQb2xsKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnBvbGw/LmNsb3NlKCk7XG4gICAgICB0aGlzLm1vZGFsQ2xvc2VkKCk7XG4gICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICAnc3RyZWFtQ2hhdC5GYWlsZWQgdG8gZW5kIHZvdGUnXG4gICAgICApO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgZ2V0TW9kYWxDb250ZXh0KCk6IE1vZGFsQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzT3BlbjogdGhpcy5pc01vZGFsT3BlbixcbiAgICAgIGlzT3BlbkNoYW5nZUhhbmRsZXI6IChpc09wZW46IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICAgIHRoaXMubW9kYWxPcGVuZWQodGhpcy5zZWxlY3RlZEFjdGlvbiEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubW9kYWxDbG9zZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNvbnRlbnQ6IHRoaXNbdGhpcy5zZWxlY3RlZEFjdGlvbiFdLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hY3Rpb25zXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIm1heE9wdGlvbnNEaXNwbGF5ZWQgJiYgb3B0aW9ucy5sZW5ndGggPiBtYXhPcHRpb25zRGlzcGxheWVkXCJcbiAgPlxuICAgIDxidXR0b24gY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hY3Rpb25cIiAoY2xpY2spPVwibW9kYWxPcGVuZWQoJ2FsbE9wdGlvbnMnKVwiPlxuICAgICAge3sgXCJzdHJlYW1DaGF0LlNlZSBhbGwgb3B0aW9ucyAoe3tjb3VudH19KVwiIHwgdHJhbnNsYXRlOntjb3VudDpcbiAgICAgIG9wdGlvbnMubGVuZ3RofSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBhbGxvd1VzZXJTdWdnZXN0aW9ucyAmJlxuICAgICAgY2FuVm90ZSAmJlxuICAgICAgIWlzQ2xvc2VkICYmXG4gICAgICBvcHRpb25zLmxlbmd0aCA8IG1heFBvbGxPcHRpb25zXG4gICAgXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYWN0aW9uXCJcbiAgICAgIChjbGljayk9XCJtb2RhbE9wZW5lZCgnc3VnZ2VzdE9wdGlvbicpXCJcbiAgICA+XG4gICAgICB7eyBcInN0cmVhbUNoYXQuU3VnZ2VzdCBhbiBvcHRpb25cIiB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93QW5zd2VycyAmJiBjYW5Wb3RlICYmICFpc0Nsb3NlZFwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYWN0aW9uXCJcbiAgICAgIChjbGljayk9XCJtb2RhbE9wZW5lZCgnYWRkQW5zd2VyJylcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm1vZGFsT3BlbmVkKCdhZGRBbnN3ZXInKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm93bkFud2VyOyBlbHNlIG5ld0Fuc3dlclwiPlxuICAgICAgICB7eyBcInN0cmVhbUNoYXQuVXBkYXRlIHlvdXIgY29tbWVudFwiIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbmV3QW5zd2VyPlxuICAgICAgICB7eyBcInN0cmVhbUNoYXQuQWRkIGEgY29tbWVudFwiIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFuc3dlckNvdW50ID4gMCAmJiBjYW5RdWVyeVZvdGVzXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInN0ci1jaGF0X19wb2xsLWFjdGlvblwiIChjbGljayk9XCJtb2RhbE9wZW5lZCgndmlld0NvbW1lbnRzJylcIj5cbiAgICAgIHt7IChhbnN3ZXJDb3VudCA9PT0gMSA/IFwic3RyZWFtQ2hhdC5WaWV3IHt7IGNvdW50IH19IGNvbW1lbnRcIiA6XG4gICAgICBcInN0cmVhbUNoYXQuVmlldyB7eyBjb3VudCB9fSBjb21tZW50c1wiKSB8IHRyYW5zbGF0ZTp7Y291bnQ6IGFuc3dlckNvdW50fVxuICAgICAgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5RdWVyeVZvdGVzXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInN0ci1jaGF0X19wb2xsLWFjdGlvblwiIChjbGljayk9XCJtb2RhbE9wZW5lZCgndmlld1Jlc3VsdHMnKVwiPlxuICAgICAge3sgXCJzdHJlYW1DaGF0LlZpZXcgcmVzdWx0c1wiIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPd25Qb2xsICYmICFpc0Nsb3NlZFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hY3Rpb25cIiAoY2xpY2spPVwibW9kYWxPcGVuZWQoJ2VuZFZvdGUnKVwiPlxuICAgICAge3sgXCJzdHJlYW1DaGF0LkVuZCB2b3RlXCIgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQWN0aW9uXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgKGN1c3RvbVRlbXBsYXRlc1NlcnZpY2UubW9kYWxUZW1wbGF0ZSQgfCBhc3luYykgfHwgZGVmYXVsdE1vZGFsO1xuICAgICAgY29udGV4dDogZ2V0TW9kYWxDb250ZXh0KClcbiAgICBcIlxuICAvPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdE1vZGFsXG4gIGxldC1pc09wZW49XCJpc09wZW5cIlxuICBsZXQtaXNPcGVuQ2hhbmdlSGFuZGxlcj1cImlzT3BlbkNoYW5nZUhhbmRsZXJcIlxuICBsZXQtY29udGVudD1cImNvbnRlbnRcIlxuPlxuICA8c3RyZWFtLW1vZGFsXG4gICAgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hY3Rpb25zIHN0ci1jaGF0LWFuZ3VsYXJfX3BvbGwtYWN0aW9uc1wiXG4gICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgIFtjb250ZW50XT1cImNvbnRlbnRcIlxuICAgIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYWxsT3B0aW9ucz5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbF9fcG9sbC1vcHRpb24tbGlzdCBzdHItY2hhdC1hbmd1bGFyX19wb2xsLWFjdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsLWhlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbC1oZWFkZXJfX3RpdGxlXCI+XG4gICAgICAgIHt7IFwic3RyZWFtQ2hhdC5Qb2xsIG9wdGlvbnNcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbF9fcG9sbC1vcHRpb24tbGlzdF9fYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbF9fcG9sbC1vcHRpb24tbGlzdF9fdGl0bGVcIj57eyBuYW1lIH19PC9kaXY+XG4gICAgICA8c3RyZWFtLXBvbGwtb3B0aW9ucy1saXN0XG4gICAgICAgIFtwb2xsSWRdPVwicG9sbElkXCJcbiAgICAgICAgW21lc3NhZ2VJZF09XCJtZXNzYWdlSWRcIlxuICAgICAgICBbbWF4T3B0aW9uc0Rpc3BsYXllZF09XCJ1bmRlZmluZWRcIlxuICAgICAgLz5cbiAgICAgIDxzdHJlYW0tbm90aWZpY2F0aW9uLWxpc3QgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNzdWdnZXN0T3B0aW9uPlxuICA8c3RyZWFtLWFkZC1vcHRpb25cbiAgICBbcG9sbElkXT1cInBvbGxJZFwiXG4gICAgW21lc3NhZ2VJZF09XCJtZXNzYWdlSWRcIlxuICAgIFtjbG9zZU1vZGFsXT1cIm1vZGFsQ2xvc2VkXCJcbiAgLz5cbiAgPHN0cmVhbS1ub3RpZmljYXRpb24tbGlzdCAvPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjYWRkQW5zd2VyPlxuICA8c3RyZWFtLXVwc2VydC1hbnN3ZXJcbiAgICBbcG9sbElkXT1cInBvbGxJZFwiXG4gICAgW21lc3NhZ2VJZF09XCJtZXNzYWdlSWRcIlxuICAgIFthbnN3ZXJdPVwib3duQW53ZXJcIlxuICAgIFtjbG9zZU1vZGFsXT1cIm1vZGFsQ2xvc2VkXCJcbiAgLz5cbiAgPHN0cmVhbS1ub3RpZmljYXRpb24tbGlzdCAvPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdmlld0NvbW1lbnRzPlxuICA8c3RyZWFtLXBvbGwtYW5zd2Vycy1saXN0XG4gICAgKHVwc2VydE93bkFuc3dlcik9XCJtb2RhbE9wZW5lZCgnYWRkQW5zd2VyJylcIlxuICAgIFtwb2xsSWRdPVwicG9sbElkXCJcbiAgICBbbWVzc2FnZUlkXT1cIm1lc3NhZ2VJZFwiXG4gIC8+XG4gIDxzdHJlYW0tbm90aWZpY2F0aW9uLWxpc3QgLz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3ZpZXdSZXN1bHRzPlxuICA8c3RyZWFtLXBvbGwtcmVzdWx0cy1saXN0IFttZXNzYWdlSWRdPVwibWVzc2FnZUlkXCIgW3BvbGxJZF09XCJwb2xsSWRcIiAvPlxuICA8c3RyZWFtLW5vdGlmaWNhdGlvbi1saXN0IC8+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNlbmRWb3RlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzdHItY2hhdF9fZGlhbG9nIHN0ci1jaGF0X19kaWFsb2ctLXByb21wdCBzdHItY2hhdF9fbW9kYWxfX2VuZC12b3RlXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fZGlhbG9nX19ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2RpYWxvZ19fdGl0bGVcIiB0cmFuc2xhdGU+c3RyZWFtQ2hhdC5FbmQgdm90ZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19kaWFsb2dfX3Byb21wdFwiIHRyYW5zbGF0ZT5cbiAgICAgICAgc3RyZWFtQ2hhdC5BZnRlciBhIHBvbGwgaXMgY2xvc2VkLCBubyBtb3JlIHZvdGVzIGNhbiBiZSBjYXN0XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzdHJlYW0tbm90aWZpY2F0aW9uLWxpc3QgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fZGlhbG9nX19jb250cm9sc1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fZGlhbG9nX19jb250cm9scy1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJtb2RhbENsb3NlZCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IFwic3RyZWFtQ2hhdC5DYW5jZWxcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInN0ci1jaGF0X19kaWFsb2dfX2NvbnRyb2xzLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZVBvbGwoKVwiPlxuICAgICAgICAgIHt7IFwic3RyZWFtQ2hhdC5FbmQgdm90ZVwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9wb2xscy9wb2xsLWFjdGlvbnMvcG9sbC1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9wb2xscy9wb2xsLWFjdGlvbnMvcG9sbC1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQjNEOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQTBCekQsWUFDRSxzQkFBOEMsRUFDOUMsaUJBQW9DLEVBQ3BDLEtBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLG1CQUF3QyxFQUNoQyxjQUFxQztRQUU3QyxLQUFLLENBQ0gsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixDQUNwQixDQUFDO1FBUk0sbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBL0IvQzs7V0FFRztRQUNNLHdCQUFtQixHQUF1QixFQUFFLENBQUM7UUFDdEQ7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUM5QixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtQkFBYyxHQUF1QixTQUFTLENBQUM7UUFDL0MsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUEwRHBCLGdCQUFXLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUMsQ0FBQztRQUVGLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDLENBQUM7SUFsREYsQ0FBQztJQUVTLGtCQUFrQixDQUMxQixJQUFVLEVBQ1YsWUFBd0I7UUFFeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDbEQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzFCLDRCQUE0QixFQUFFLEtBQUssQ0FBQyw0QkFBNEI7WUFDaEUsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNqQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMzQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7U0FDakQsQ0FBQyxFQUNGLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztZQUN6QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixJQUFJLEtBQUssQ0FBQztZQUN4RSxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO1lBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQztZQUM5QyxZQUFZLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQ0YsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFtQkQsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJO1lBQ0YsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx3QkFBd0IsQ0FDL0MsK0JBQStCLENBQ2hDLENBQUM7WUFDRixNQUFNLEtBQUssQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3hCLG1CQUFtQixFQUFFLENBQUMsTUFBZSxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksTUFBTSxFQUFFO29CQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQyxDQUFDO2lCQUN4QztxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQztZQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQztTQUNwQyxDQUFDO0lBQ0osQ0FBQzsrR0F0SFUsb0JBQW9CO21HQUFwQixvQkFBb0IsaXVCQ2xDakMsdTJKQTRKQTs7NEZEMUhhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTs4UEFNdEMsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUlHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBV21CLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0YsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDQyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0YsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VQb2xsQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1wb2xsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb2xsLCBQb2xsQW5zd2VyLCBQb2xsT3B0aW9uIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS10ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDaGF0Q2xpZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVzc2FnZUFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVzc2FnZS1hY3Rpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxudHlwZSBBY3Rpb24gPVxuICB8ICdhbGxPcHRpb25zJ1xuICB8ICdzdWdnZXN0T3B0aW9uJ1xuICB8ICdhZGRBbnN3ZXInXG4gIHwgJ3ZpZXdDb21tZW50cydcbiAgfCAndmlld1Jlc3VsdHMnXG4gIHwgJ2VuZFZvdGUnO1xuXG4vKipcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1wb2xsLWFjdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9sbC1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbGxBY3Rpb25zQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBvbGxDb21wb25lbnQge1xuICAvKipcbiAgICogSWYgdGhlcmUgYXJlIG1vcmUgb3B0aW9ucyB0aGFuIHRoaXMgbnVtYmVyLCB0aGUgXCJTZWUgYWxsIG9wdGlvbnNcIiBidXR0b24gd2lsbCBiZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIG1heE9wdGlvbnNEaXNwbGF5ZWQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IDEwO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIG9wdGlvbnMgYWxsb3dlZCBmb3IgdGhlIHBvbGwsIHRoaXMgaXMgZGVmaW5lZCBieSBTdHJlYW0gQVBJXG4gICAqL1xuICBASW5wdXQoKSBtYXhQb2xsT3B0aW9ucyA9IDEwMDtcbiAgbmFtZSA9ICcnO1xuICBvcHRpb25zOiBQb2xsT3B0aW9uW10gPSBbXTtcbiAgaXNDbG9zZWQgPSBmYWxzZTtcbiAgYWxsb3dVc2VyU3VnZ2VzdGlvbnMgPSBmYWxzZTtcbiAgYWxsb3dBbnN3ZXJzID0gZmFsc2U7XG4gIGFuc3dlckNvdW50ID0gMDtcbiAgaXNPd25Qb2xsID0gZmFsc2U7XG4gIG93bkFud2VyOiBQb2xsQW5zd2VyIHwgdW5kZWZpbmVkO1xuICBzZWxlY3RlZEFjdGlvbjogQWN0aW9uIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBpc01vZGFsT3BlbiA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdhbGxPcHRpb25zJykgYWxsT3B0aW9ucyE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBAVmlld0NoaWxkKCdzdWdnZXN0T3B0aW9uJykgc3VnZ2VzdE9wdGlvbiE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBAVmlld0NoaWxkKCdhZGRBbnN3ZXInKSBhZGRBbnN3ZXIhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQFZpZXdDaGlsZCgndmlld0NvbW1lbnRzJykgdmlld0NvbW1lbnRzITogVGVtcGxhdGVSZWY8dm9pZD47XG4gIEBWaWV3Q2hpbGQoJ3ZpZXdSZXN1bHRzJykgdmlld1Jlc3VsdHMhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQFZpZXdDaGlsZCgnZW5kVm90ZScpIGVuZFZvdGUhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlOiBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLFxuICAgIGNoYXRDbGllbnRTZXJ2aWNlOiBDaGF0Q2xpZW50U2VydmljZSxcbiAgICBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZUFjdGlvbnNTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgY3VzdG9tVGVtcGxhdGVzU2VydmljZSxcbiAgICAgIGNoYXRDbGllbnRTZXJ2aWNlLFxuICAgICAgY2RSZWYsXG4gICAgICBjaGFubmVsU2VydmljZSxcbiAgICAgIG5vdGlmaWNhdGlvblNlcnZpY2VcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXRlU3RvcmVTZWxlY3RvcihcbiAgICBwb2xsOiBQb2xsLFxuICAgIG1hcmtGb3JDaGVjazogKCkgPT4gdm9pZFxuICApOiAoKSA9PiB2b2lkIHtcbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IHBvbGwuc3RhdGUuc3Vic2NyaWJlV2l0aFNlbGVjdG9yKFxuICAgICAgKHN0YXRlKSA9PiAoe1xuICAgICAgICBvcHRpb25zOiBzdGF0ZS5vcHRpb25zLFxuICAgICAgICBpc19jbG9zZWQ6IHN0YXRlLmlzX2Nsb3NlZCxcbiAgICAgICAgYWxsb3dfdXNlcl9zdWdnZXN0ZWRfb3B0aW9uczogc3RhdGUuYWxsb3dfdXNlcl9zdWdnZXN0ZWRfb3B0aW9ucyxcbiAgICAgICAgYWxsb3dfYW5zd2Vyczogc3RhdGUuYWxsb3dfYW5zd2VycyxcbiAgICAgICAgYW5zd2VyX2NvdW50OiBzdGF0ZS5hbnN3ZXJzX2NvdW50LFxuICAgICAgICBjcmVhdGVkX2J5OiBzdGF0ZS5jcmVhdGVkX2J5LFxuICAgICAgICBuYW1lOiBzdGF0ZS5uYW1lLFxuICAgICAgICBvd25fYW5zd2VyOiBzdGF0ZS5vd25BbnN3ZXIsXG4gICAgICAgIG1heF92b3Rlc19hbGxvd2VkOiBzdGF0ZS5tYXhfdm90ZXNfYWxsb3dlZCxcbiAgICAgICAgb3duX3ZvdGVzX2J5X29wdGlvbl9pZDogc3RhdGUub3duVm90ZXNCeU9wdGlvbklkLFxuICAgICAgfSksXG4gICAgICAoc3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gc3RhdGUub3B0aW9ucztcbiAgICAgICAgdGhpcy5pc0Nsb3NlZCA9IHN0YXRlLmlzX2Nsb3NlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5hbGxvd1VzZXJTdWdnZXN0aW9ucyA9IHN0YXRlLmFsbG93X3VzZXJfc3VnZ2VzdGVkX29wdGlvbnMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuYWxsb3dBbnN3ZXJzID0gc3RhdGUuYWxsb3dfYW5zd2VycyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5hbnN3ZXJDb3VudCA9IHN0YXRlLmFuc3dlcl9jb3VudCA/PyAwO1xuICAgICAgICB0aGlzLmlzT3duUG9sbCA9IHN0YXRlLmNyZWF0ZWRfYnk/LmlkID09PSB0aGlzLmN1cnJlbnRVc2VyPy5pZDtcbiAgICAgICAgdGhpcy5uYW1lID0gc3RhdGUubmFtZTtcbiAgICAgICAgdGhpcy5vd25BbndlciA9IHN0YXRlLm93bl9hbnN3ZXIgPz8gdW5kZWZpbmVkO1xuICAgICAgICBtYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIHVuc3Vic2NyaWJlO1xuICB9XG5cbiAgbW9kYWxPcGVuZWQgPSAoYWN0aW9uOiBBY3Rpb24pID0+IHtcbiAgICB0aGlzLnNlbGVjdGVkQWN0aW9uID0gYWN0aW9uO1xuICAgIGlmICghdGhpcy5pc01vZGFsT3Blbikge1xuICAgICAgdGhpcy5pc01vZGFsT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLm1vZGFsT3BlbmVkRm9yTWVzc2FnZS5uZXh0KHRoaXMubWVzc2FnZUlkKTtcbiAgICB9XG4gIH07XG5cbiAgbW9kYWxDbG9zZWQgPSAoKSA9PiB7XG4gICAgdGhpcy5zZWxlY3RlZEFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5pc01vZGFsT3Blbikge1xuICAgICAgdGhpcy5pc01vZGFsT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5tb2RhbE9wZW5lZEZvck1lc3NhZ2UubmV4dCh1bmRlZmluZWQpO1xuICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH07XG5cbiAgYXN5bmMgY2xvc2VQb2xsKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnBvbGw/LmNsb3NlKCk7XG4gICAgICB0aGlzLm1vZGFsQ2xvc2VkKCk7XG4gICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICAnc3RyZWFtQ2hhdC5GYWlsZWQgdG8gZW5kIHZvdGUnXG4gICAgICApO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgZ2V0TW9kYWxDb250ZXh0KCk6IE1vZGFsQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzT3BlbjogdGhpcy5pc01vZGFsT3BlbixcbiAgICAgIGlzT3BlbkNoYW5nZUhhbmRsZXI6IChpc09wZW46IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICAgIHRoaXMubW9kYWxPcGVuZWQodGhpcy5zZWxlY3RlZEFjdGlvbiEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubW9kYWxDbG9zZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNvbnRlbnQ6IHRoaXNbdGhpcy5zZWxlY3RlZEFjdGlvbiFdLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hY3Rpb25zXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIm1heE9wdGlvbnNEaXNwbGF5ZWQgJiYgb3B0aW9ucy5sZW5ndGggPiBtYXhPcHRpb25zRGlzcGxheWVkXCJcbiAgPlxuICAgIDxidXR0b24gY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hY3Rpb25cIiAoY2xpY2spPVwibW9kYWxPcGVuZWQoJ2FsbE9wdGlvbnMnKVwiPlxuICAgICAge3sgXCJzdHJlYW1DaGF0LlNlZSBhbGwgb3B0aW9ucyAoe3tjb3VudH19KVwiIHwgdHJhbnNsYXRlOntjb3VudDpcbiAgICAgIG9wdGlvbnMubGVuZ3RofSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBhbGxvd1VzZXJTdWdnZXN0aW9ucyAmJlxuICAgICAgY2FuVm90ZSAmJlxuICAgICAgIWlzQ2xvc2VkICYmXG4gICAgICBvcHRpb25zLmxlbmd0aCA8IG1heFBvbGxPcHRpb25zXG4gICAgXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYWN0aW9uXCJcbiAgICAgIChjbGljayk9XCJtb2RhbE9wZW5lZCgnc3VnZ2VzdE9wdGlvbicpXCJcbiAgICA+XG4gICAgICB7eyBcInN0cmVhbUNoYXQuU3VnZ2VzdCBhbiBvcHRpb25cIiB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93QW5zd2VycyAmJiBjYW5Wb3RlICYmICFpc0Nsb3NlZFwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYWN0aW9uXCJcbiAgICAgIChjbGljayk9XCJtb2RhbE9wZW5lZCgnYWRkQW5zd2VyJylcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm1vZGFsT3BlbmVkKCdhZGRBbnN3ZXInKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm93bkFud2VyOyBlbHNlIG5ld0Fuc3dlclwiPlxuICAgICAgICB7eyBcInN0cmVhbUNoYXQuVXBkYXRlIHlvdXIgY29tbWVudFwiIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbmV3QW5zd2VyPlxuICAgICAgICB7eyBcInN0cmVhbUNoYXQuQWRkIGEgY29tbWVudFwiIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFuc3dlckNvdW50ID4gMCAmJiBjYW5RdWVyeVZvdGVzXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInN0ci1jaGF0X19wb2xsLWFjdGlvblwiIChjbGljayk9XCJtb2RhbE9wZW5lZCgndmlld0NvbW1lbnRzJylcIj5cbiAgICAgIHt7IChhbnN3ZXJDb3VudCA9PT0gMSA/IFwic3RyZWFtQ2hhdC5WaWV3IHt7IGNvdW50IH19IGNvbW1lbnRcIiA6XG4gICAgICBcInN0cmVhbUNoYXQuVmlldyB7eyBjb3VudCB9fSBjb21tZW50c1wiKSB8IHRyYW5zbGF0ZTp7Y291bnQ6IGFuc3dlckNvdW50fVxuICAgICAgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5RdWVyeVZvdGVzXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInN0ci1jaGF0X19wb2xsLWFjdGlvblwiIChjbGljayk9XCJtb2RhbE9wZW5lZCgndmlld1Jlc3VsdHMnKVwiPlxuICAgICAge3sgXCJzdHJlYW1DaGF0LlZpZXcgcmVzdWx0c1wiIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNPd25Qb2xsICYmICFpc0Nsb3NlZFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hY3Rpb25cIiAoY2xpY2spPVwibW9kYWxPcGVuZWQoJ2VuZFZvdGUnKVwiPlxuICAgICAge3sgXCJzdHJlYW1DaGF0LkVuZCB2b3RlXCIgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQWN0aW9uXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgKGN1c3RvbVRlbXBsYXRlc1NlcnZpY2UubW9kYWxUZW1wbGF0ZSQgfCBhc3luYykgfHwgZGVmYXVsdE1vZGFsO1xuICAgICAgY29udGV4dDogZ2V0TW9kYWxDb250ZXh0KClcbiAgICBcIlxuICAvPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdE1vZGFsXG4gIGxldC1pc09wZW49XCJpc09wZW5cIlxuICBsZXQtaXNPcGVuQ2hhbmdlSGFuZGxlcj1cImlzT3BlbkNoYW5nZUhhbmRsZXJcIlxuICBsZXQtY29udGVudD1cImNvbnRlbnRcIlxuPlxuICA8c3RyZWFtLW1vZGFsXG4gICAgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hY3Rpb25zIHN0ci1jaGF0LWFuZ3VsYXJfX3BvbGwtYWN0aW9uc1wiXG4gICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgIFtjb250ZW50XT1cImNvbnRlbnRcIlxuICAgIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYWxsT3B0aW9ucz5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbF9fcG9sbC1vcHRpb24tbGlzdCBzdHItY2hhdC1hbmd1bGFyX19wb2xsLWFjdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsLWhlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbC1oZWFkZXJfX3RpdGxlXCI+XG4gICAgICAgIHt7IFwic3RyZWFtQ2hhdC5Qb2xsIG9wdGlvbnNcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbF9fcG9sbC1vcHRpb24tbGlzdF9fYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbF9fcG9sbC1vcHRpb24tbGlzdF9fdGl0bGVcIj57eyBuYW1lIH19PC9kaXY+XG4gICAgICA8c3RyZWFtLXBvbGwtb3B0aW9ucy1saXN0XG4gICAgICAgIFtwb2xsSWRdPVwicG9sbElkXCJcbiAgICAgICAgW21lc3NhZ2VJZF09XCJtZXNzYWdlSWRcIlxuICAgICAgICBbbWF4T3B0aW9uc0Rpc3BsYXllZF09XCJ1bmRlZmluZWRcIlxuICAgICAgLz5cbiAgICAgIDxzdHJlYW0tbm90aWZpY2F0aW9uLWxpc3QgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNzdWdnZXN0T3B0aW9uPlxuICA8c3RyZWFtLWFkZC1vcHRpb25cbiAgICBbcG9sbElkXT1cInBvbGxJZFwiXG4gICAgW21lc3NhZ2VJZF09XCJtZXNzYWdlSWRcIlxuICAgIFtjbG9zZU1vZGFsXT1cIm1vZGFsQ2xvc2VkXCJcbiAgLz5cbiAgPHN0cmVhbS1ub3RpZmljYXRpb24tbGlzdCAvPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjYWRkQW5zd2VyPlxuICA8c3RyZWFtLXVwc2VydC1hbnN3ZXJcbiAgICBbcG9sbElkXT1cInBvbGxJZFwiXG4gICAgW21lc3NhZ2VJZF09XCJtZXNzYWdlSWRcIlxuICAgIFthbnN3ZXJdPVwib3duQW53ZXJcIlxuICAgIFtjbG9zZU1vZGFsXT1cIm1vZGFsQ2xvc2VkXCJcbiAgLz5cbiAgPHN0cmVhbS1ub3RpZmljYXRpb24tbGlzdCAvPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdmlld0NvbW1lbnRzPlxuICA8c3RyZWFtLXBvbGwtYW5zd2Vycy1saXN0XG4gICAgKHVwc2VydE93bkFuc3dlcik9XCJtb2RhbE9wZW5lZCgnYWRkQW5zd2VyJylcIlxuICAgIFtwb2xsSWRdPVwicG9sbElkXCJcbiAgICBbbWVzc2FnZUlkXT1cIm1lc3NhZ2VJZFwiXG4gIC8+XG4gIDxzdHJlYW0tbm90aWZpY2F0aW9uLWxpc3QgLz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3ZpZXdSZXN1bHRzPlxuICA8c3RyZWFtLXBvbGwtcmVzdWx0cy1saXN0IFttZXNzYWdlSWRdPVwibWVzc2FnZUlkXCIgW3BvbGxJZF09XCJwb2xsSWRcIiAvPlxuICA8c3RyZWFtLW5vdGlmaWNhdGlvbi1saXN0IC8+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNlbmRWb3RlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzdHItY2hhdF9fZGlhbG9nIHN0ci1jaGF0X19kaWFsb2ctLXByb21wdCBzdHItY2hhdF9fbW9kYWxfX2VuZC12b3RlXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fZGlhbG9nX19ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2RpYWxvZ19fdGl0bGVcIj5cbiAgICAgICAge3sgXCJzdHJlYW1DaGF0LkVuZCB2b3RlXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19kaWFsb2dfX3Byb21wdFwiPlxuICAgICAgICB7e1xuICAgICAgICAgIFwic3RyZWFtQ2hhdC5BZnRlciBhIHBvbGwgaXMgY2xvc2VkLCBubyBtb3JlIHZvdGVzIGNhbiBiZSBjYXN0XCJcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzdHJlYW0tbm90aWZpY2F0aW9uLWxpc3QgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fZGlhbG9nX19jb250cm9sc1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fZGlhbG9nX19jb250cm9scy1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJtb2RhbENsb3NlZCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IFwic3RyZWFtQ2hhdC5DYW5jZWxcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInN0ci1jaGF0X19kaWFsb2dfX2NvbnRyb2xzLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZVBvbGwoKVwiPlxuICAgICAgICAgIHt7IFwic3RyZWFtQ2hhdC5FbmQgdm90ZVwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -68,15 +68,15 @@ export class PollAnswersListComponent extends BasePollComponent {
68
68
  return unsubscribe;
69
69
  }
70
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PollAnswersListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PollAnswersListComponent, selector: "stream-poll-answers-list", outputs: { upsertOwnAnswer: "upsertOwnAnswer" }, host: { properties: { "class": "this.class" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"str-chat__modal__poll-answer-list\">\n <div class=\"str-chat__modal-header\">\n <div class=\"str-chat__modal-header__title\" translate>\n streamChat.Poll comments\n </div>\n </div>\n <div class=\"str-chat__modal__poll-answer-list__body\">\n <div class=\"str-chat__poll-answer-list\">\n <stream-paginated-list\n class=\"str-chat__poll-answer-list\"\n [items]=\"answers\"\n [hasMore]=\"next !== undefined\"\n [isLoading]=\"isLoading\"\n [trackBy]=\"trackByAnswerId\"\n (loadMore)=\"queryAnswers()\"\n >\n <ng-template let-answer=\"item\">\n <div class=\"str-chat__poll-answer\">\n <p *ngIf=\"answer.answer_text\" class=\"str-chat__poll-answer__text\">\n {{ answer.answer_text }}\n </p>\n <stream-poll-vote [vote]=\"answer\" />\n </div>\n </ng-template>\n </stream-paginated-list>\n <button\n *ngIf=\"!isClosed\"\n class=\"str-chat__poll-action\"\n (click)=\"upsertOwnAnswer.emit()\"\n >\n {{\n (ownAnswer\n ? \"streamChat.Update your comment\"\n : \"streamChat.Add a comment\"\n ) | translate\n }}\n </button>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PaginatedListComponent, selector: "stream-paginated-list", inputs: ["items", "isLoading", "hasMore", "trackBy"], outputs: ["loadMore"] }, { kind: "component", type: i3.PollVoteComponent, selector: "stream-poll-vote", inputs: ["vote"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PollAnswersListComponent, selector: "stream-poll-answers-list", outputs: { upsertOwnAnswer: "upsertOwnAnswer" }, host: { properties: { "class": "this.class" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"str-chat__modal__poll-answer-list\">\n <div class=\"str-chat__modal-header\">\n <div class=\"str-chat__modal-header__title\">\n {{ \"streamChat.Poll comments\" | translate }}\n </div>\n </div>\n <div class=\"str-chat__modal__poll-answer-list__body\">\n <div class=\"str-chat__poll-answer-list\">\n <stream-paginated-list\n class=\"str-chat__poll-answer-list\"\n [items]=\"answers\"\n [hasMore]=\"next !== undefined\"\n [isLoading]=\"isLoading\"\n [trackBy]=\"trackByAnswerId\"\n (loadMore)=\"queryAnswers()\"\n >\n <ng-template let-answer=\"item\">\n <div class=\"str-chat__poll-answer\">\n <p *ngIf=\"answer.answer_text\" class=\"str-chat__poll-answer__text\">\n {{ answer.answer_text }}\n </p>\n <stream-poll-vote [vote]=\"answer\" />\n </div>\n </ng-template>\n </stream-paginated-list>\n <button\n *ngIf=\"!isClosed\"\n class=\"str-chat__poll-action\"\n (click)=\"upsertOwnAnswer.emit()\"\n >\n {{\n (ownAnswer\n ? \"streamChat.Update your comment\"\n : \"streamChat.Add a comment\"\n ) | translate\n }}\n </button>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PaginatedListComponent, selector: "stream-paginated-list", inputs: ["items", "isLoading", "hasMore", "trackBy"], outputs: ["loadMore"] }, { kind: "component", type: i3.PollVoteComponent, selector: "stream-poll-vote", inputs: ["vote"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PollAnswersListComponent, decorators: [{
74
74
  type: Component,
75
- args: [{ selector: 'stream-poll-answers-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"str-chat__modal__poll-answer-list\">\n <div class=\"str-chat__modal-header\">\n <div class=\"str-chat__modal-header__title\" translate>\n streamChat.Poll comments\n </div>\n </div>\n <div class=\"str-chat__modal__poll-answer-list__body\">\n <div class=\"str-chat__poll-answer-list\">\n <stream-paginated-list\n class=\"str-chat__poll-answer-list\"\n [items]=\"answers\"\n [hasMore]=\"next !== undefined\"\n [isLoading]=\"isLoading\"\n [trackBy]=\"trackByAnswerId\"\n (loadMore)=\"queryAnswers()\"\n >\n <ng-template let-answer=\"item\">\n <div class=\"str-chat__poll-answer\">\n <p *ngIf=\"answer.answer_text\" class=\"str-chat__poll-answer__text\">\n {{ answer.answer_text }}\n </p>\n <stream-poll-vote [vote]=\"answer\" />\n </div>\n </ng-template>\n </stream-paginated-list>\n <button\n *ngIf=\"!isClosed\"\n class=\"str-chat__poll-action\"\n (click)=\"upsertOwnAnswer.emit()\"\n >\n {{\n (ownAnswer\n ? \"streamChat.Update your comment\"\n : \"streamChat.Add a comment\"\n ) | translate\n }}\n </button>\n </div>\n </div>\n</div>\n" }]
75
+ args: [{ selector: 'stream-poll-answers-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"str-chat__modal__poll-answer-list\">\n <div class=\"str-chat__modal-header\">\n <div class=\"str-chat__modal-header__title\">\n {{ \"streamChat.Poll comments\" | translate }}\n </div>\n </div>\n <div class=\"str-chat__modal__poll-answer-list__body\">\n <div class=\"str-chat__poll-answer-list\">\n <stream-paginated-list\n class=\"str-chat__poll-answer-list\"\n [items]=\"answers\"\n [hasMore]=\"next !== undefined\"\n [isLoading]=\"isLoading\"\n [trackBy]=\"trackByAnswerId\"\n (loadMore)=\"queryAnswers()\"\n >\n <ng-template let-answer=\"item\">\n <div class=\"str-chat__poll-answer\">\n <p *ngIf=\"answer.answer_text\" class=\"str-chat__poll-answer__text\">\n {{ answer.answer_text }}\n </p>\n <stream-poll-vote [vote]=\"answer\" />\n </div>\n </ng-template>\n </stream-paginated-list>\n <button\n *ngIf=\"!isClosed\"\n class=\"str-chat__poll-action\"\n (click)=\"upsertOwnAnswer.emit()\"\n >\n {{\n (ownAnswer\n ? \"streamChat.Update your comment\"\n : \"streamChat.Add a comment\"\n ) | translate\n }}\n </button>\n </div>\n </div>\n</div>\n" }]
76
76
  }], propDecorators: { class: [{
77
77
  type: HostBinding,
78
78
  args: ['class']
79
79
  }], upsertOwnAnswer: [{
80
80
  type: Output
81
81
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC1hbnN3ZXJzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL3BvbGxzL3BvbGwtYWN0aW9ucy9wb2xsLWFuc3dlcnMtbGlzdC9wb2xsLWFuc3dlcnMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvcG9sbHMvcG9sbC1hY3Rpb25zL3BvbGwtYW5zd2Vycy1saXN0L3BvbGwtYW5zd2Vycy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBRVgsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFHOUQ7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSxpQkFBaUI7SUFQM0I7O1FBVXdCLFVBQUssR0FBRyxtQ0FBbUMsQ0FBQztRQUNsRTs7V0FFRztRQUNnQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixZQUFPLEdBQWlCLEVBQUUsQ0FBQztRQUMzQixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBNkRsQjtJQTFEQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQixLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU87U0FDUjtRQUNELElBQUk7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUM1QyxNQUFNLEVBQUUsRUFBRTtnQkFDVixJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7aUJBQ2hCO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLENBQy9DLGtDQUFrQyxDQUNuQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxDQUFDO1NBQ2I7Z0JBQVM7WUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQVMsRUFBRSxNQUFrQjtRQUMzQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLGtCQUFrQixDQUMxQixJQUFVLEVBQ1YsWUFBd0I7UUFFeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDbEQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDVixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxTQUFTO1NBQzVCLENBQUMsRUFDRixDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksU0FBUyxDQUFDO1lBQy9DLFlBQVksRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FDRixDQUFDO1FBRUYsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzsrR0F4RVUsd0JBQXdCO21HQUF4Qix3QkFBd0IsOE1DckJyQyxneENBd0NBOzs0RkRuQmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTTs4QkFNekIsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQUlELGVBQWU7c0JBQWpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlUG9sbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtcG9sbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9sbCwgUG9sbEFuc3dlciB9IGZyb20gJ3N0cmVhbS1jaGF0JztcblxuLyoqXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tcG9sbC1hbnN3ZXJzLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9sbC1hbnN3ZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUG9sbEFuc3dlcnNMaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZVBvbGxDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ3N0ci1jaGF0X19tb2RhbF9fcG9sbC1hbnN3ZXItbGlzdCc7XG4gIC8qKlxuICAgKiBUaGUgZXZlbiB0aGF0J3MgZW1pdHRlZCB3aGVuIHRoZSB1cGRhdGUvYWRkIGNvbW1lbnQgYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSB1cHNlcnRPd25BbnN3ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIGlzTG9hZGluZyA9IGZhbHNlO1xuICBuZXh0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBhbnN3ZXJzOiBQb2xsQW5zd2VyW10gPSBbXTtcbiAgaXNDbG9zZWQgPSBmYWxzZTtcbiAgb3duQW5zd2VyOiBQb2xsQW5zd2VyIHwgdW5kZWZpbmVkO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICBpZiAoY2hhbmdlc1sncG9sbElkJ10pIHtcbiAgICAgIHZvaWQgdGhpcy5xdWVyeUFuc3dlcnMoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBxdWVyeUFuc3dlcnMoKSB7XG4gICAgaWYgKCF0aGlzLnBvbGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5wb2xsLnF1ZXJ5QW5zd2Vycyh7XG4gICAgICAgIGZpbHRlcjoge30sXG4gICAgICAgIHNvcnQ6IHsgY3JlYXRlZF9hdDogLTEgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG5leHQ6IHRoaXMubmV4dCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm5leHQgPSByZXNwb25zZS5uZXh0O1xuICAgICAgdGhpcy5hbnN3ZXJzID0gWy4uLnRoaXMuYW5zd2VycywgLi4ucmVzcG9uc2Uudm90ZXNdO1xuICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgbG9hZGluZyBhbnN3ZXJzJ1xuICAgICAgKTtcbiAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeUFuc3dlcklkKF86IG51bWJlciwgYW5zd2VyOiBQb2xsQW5zd2VyKSB7XG4gICAgcmV0dXJuIGFuc3dlci5pZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGF0ZVN0b3JlU2VsZWN0b3IoXG4gICAgcG9sbDogUG9sbCxcbiAgICBtYXJrRm9yQ2hlY2s6ICgpID0+IHZvaWRcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSBwb2xsLnN0YXRlLnN1YnNjcmliZVdpdGhTZWxlY3RvcihcbiAgICAgIChzdGF0ZSkgPT4gKHtcbiAgICAgICAgaXNfY2xvc2VkOiBzdGF0ZS5pc19jbG9zZWQsXG4gICAgICAgIG93bl9hbnN3ZXI6IHN0YXRlLm93bkFuc3dlcixcbiAgICAgIH0pLFxuICAgICAgKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDbG9zZWQgPSBzdGF0ZS5pc19jbG9zZWQgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMub3duQW5zd2VyID0gc3RhdGUub3duX2Fuc3dlciA/PyB1bmRlZmluZWQ7XG4gICAgICAgIG1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWxfX3BvbGwtYW5zd2VyLWxpc3RcIj5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbC1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsLWhlYWRlcl9fdGl0bGVcIiB0cmFuc2xhdGU+XG4gICAgICBzdHJlYW1DaGF0LlBvbGwgY29tbWVudHNcbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWxfX3BvbGwtYW5zd2VyLWxpc3RfX2JvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYW5zd2VyLWxpc3RcIj5cbiAgICAgIDxzdHJlYW0tcGFnaW5hdGVkLWxpc3RcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hbnN3ZXItbGlzdFwiXG4gICAgICAgIFtpdGVtc109XCJhbnN3ZXJzXCJcbiAgICAgICAgW2hhc01vcmVdPVwibmV4dCAhPT0gdW5kZWZpbmVkXCJcbiAgICAgICAgW2lzTG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgICAgICBbdHJhY2tCeV09XCJ0cmFja0J5QW5zd2VySWRcIlxuICAgICAgICAobG9hZE1vcmUpPVwicXVlcnlBbnN3ZXJzKClcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWFuc3dlcj1cIml0ZW1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYW5zd2VyXCI+XG4gICAgICAgICAgICA8cCAqbmdJZj1cImFuc3dlci5hbnN3ZXJfdGV4dFwiIGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYW5zd2VyX190ZXh0XCI+XG4gICAgICAgICAgICAgIHt7IGFuc3dlci5hbnN3ZXJfdGV4dCB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHN0cmVhbS1wb2xsLXZvdGUgW3ZvdGVdPVwiYW5zd2VyXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvc3RyZWFtLXBhZ2luYXRlZC1saXN0PlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFpc0Nsb3NlZFwiXG4gICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYWN0aW9uXCJcbiAgICAgICAgKGNsaWNrKT1cInVwc2VydE93bkFuc3dlci5lbWl0KClcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIChvd25BbnN3ZXJcbiAgICAgICAgICAgID8gXCJzdHJlYW1DaGF0LlVwZGF0ZSB5b3VyIGNvbW1lbnRcIlxuICAgICAgICAgICAgOiBcInN0cmVhbUNoYXQuQWRkIGEgY29tbWVudFwiXG4gICAgICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgICAgICB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC1hbnN3ZXJzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL3BvbGxzL3BvbGwtYWN0aW9ucy9wb2xsLWFuc3dlcnMtbGlzdC9wb2xsLWFuc3dlcnMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvcG9sbHMvcG9sbC1hY3Rpb25zL3BvbGwtYW5zd2Vycy1saXN0L3BvbGwtYW5zd2Vycy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBRVgsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFHOUQ7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSxpQkFBaUI7SUFQM0I7O1FBVXdCLFVBQUssR0FBRyxtQ0FBbUMsQ0FBQztRQUNsRTs7V0FFRztRQUNnQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixZQUFPLEdBQWlCLEVBQUUsQ0FBQztRQUMzQixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBNkRsQjtJQTFEQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQixLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU87U0FDUjtRQUNELElBQUk7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUM1QyxNQUFNLEVBQUUsRUFBRTtnQkFDVixJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7aUJBQ2hCO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLENBQy9DLGtDQUFrQyxDQUNuQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxDQUFDO1NBQ2I7Z0JBQVM7WUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQVMsRUFBRSxNQUFrQjtRQUMzQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLGtCQUFrQixDQUMxQixJQUFVLEVBQ1YsWUFBd0I7UUFFeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDbEQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDVixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxTQUFTO1NBQzVCLENBQUMsRUFDRixDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksU0FBUyxDQUFDO1lBQy9DLFlBQVksRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FDRixDQUFDO1FBRUYsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzsrR0F4RVUsd0JBQXdCO21HQUF4Qix3QkFBd0IsOE1DckJyQyw0eENBd0NBOzs0RkRuQmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTTs4QkFNekIsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQUlELGVBQWU7c0JBQWpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlUG9sbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtcG9sbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9sbCwgUG9sbEFuc3dlciB9IGZyb20gJ3N0cmVhbS1jaGF0JztcblxuLyoqXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tcG9sbC1hbnN3ZXJzLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9sbC1hbnN3ZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUG9sbEFuc3dlcnNMaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZVBvbGxDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ3N0ci1jaGF0X19tb2RhbF9fcG9sbC1hbnN3ZXItbGlzdCc7XG4gIC8qKlxuICAgKiBUaGUgZXZlbiB0aGF0J3MgZW1pdHRlZCB3aGVuIHRoZSB1cGRhdGUvYWRkIGNvbW1lbnQgYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSB1cHNlcnRPd25BbnN3ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIGlzTG9hZGluZyA9IGZhbHNlO1xuICBuZXh0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBhbnN3ZXJzOiBQb2xsQW5zd2VyW10gPSBbXTtcbiAgaXNDbG9zZWQgPSBmYWxzZTtcbiAgb3duQW5zd2VyOiBQb2xsQW5zd2VyIHwgdW5kZWZpbmVkO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICBpZiAoY2hhbmdlc1sncG9sbElkJ10pIHtcbiAgICAgIHZvaWQgdGhpcy5xdWVyeUFuc3dlcnMoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBxdWVyeUFuc3dlcnMoKSB7XG4gICAgaWYgKCF0aGlzLnBvbGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5wb2xsLnF1ZXJ5QW5zd2Vycyh7XG4gICAgICAgIGZpbHRlcjoge30sXG4gICAgICAgIHNvcnQ6IHsgY3JlYXRlZF9hdDogLTEgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG5leHQ6IHRoaXMubmV4dCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm5leHQgPSByZXNwb25zZS5uZXh0O1xuICAgICAgdGhpcy5hbnN3ZXJzID0gWy4uLnRoaXMuYW5zd2VycywgLi4ucmVzcG9uc2Uudm90ZXNdO1xuICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgbG9hZGluZyBhbnN3ZXJzJ1xuICAgICAgKTtcbiAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeUFuc3dlcklkKF86IG51bWJlciwgYW5zd2VyOiBQb2xsQW5zd2VyKSB7XG4gICAgcmV0dXJuIGFuc3dlci5pZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGF0ZVN0b3JlU2VsZWN0b3IoXG4gICAgcG9sbDogUG9sbCxcbiAgICBtYXJrRm9yQ2hlY2s6ICgpID0+IHZvaWRcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSBwb2xsLnN0YXRlLnN1YnNjcmliZVdpdGhTZWxlY3RvcihcbiAgICAgIChzdGF0ZSkgPT4gKHtcbiAgICAgICAgaXNfY2xvc2VkOiBzdGF0ZS5pc19jbG9zZWQsXG4gICAgICAgIG93bl9hbnN3ZXI6IHN0YXRlLm93bkFuc3dlcixcbiAgICAgIH0pLFxuICAgICAgKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDbG9zZWQgPSBzdGF0ZS5pc19jbG9zZWQgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMub3duQW5zd2VyID0gc3RhdGUub3duX2Fuc3dlciA/PyB1bmRlZmluZWQ7XG4gICAgICAgIG1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWxfX3BvbGwtYW5zd2VyLWxpc3RcIj5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19tb2RhbC1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsLWhlYWRlcl9fdGl0bGVcIj5cbiAgICAgIHt7IFwic3RyZWFtQ2hhdC5Qb2xsIGNvbW1lbnRzXCIgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWxfX3BvbGwtYW5zd2VyLWxpc3RfX2JvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYW5zd2VyLWxpc3RcIj5cbiAgICAgIDxzdHJlYW0tcGFnaW5hdGVkLWxpc3RcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1hbnN3ZXItbGlzdFwiXG4gICAgICAgIFtpdGVtc109XCJhbnN3ZXJzXCJcbiAgICAgICAgW2hhc01vcmVdPVwibmV4dCAhPT0gdW5kZWZpbmVkXCJcbiAgICAgICAgW2lzTG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgICAgICBbdHJhY2tCeV09XCJ0cmFja0J5QW5zd2VySWRcIlxuICAgICAgICAobG9hZE1vcmUpPVwicXVlcnlBbnN3ZXJzKClcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWFuc3dlcj1cIml0ZW1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYW5zd2VyXCI+XG4gICAgICAgICAgICA8cCAqbmdJZj1cImFuc3dlci5hbnN3ZXJfdGV4dFwiIGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYW5zd2VyX190ZXh0XCI+XG4gICAgICAgICAgICAgIHt7IGFuc3dlci5hbnN3ZXJfdGV4dCB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHN0cmVhbS1wb2xsLXZvdGUgW3ZvdGVdPVwiYW5zd2VyXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvc3RyZWFtLXBhZ2luYXRlZC1saXN0PlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFpc0Nsb3NlZFwiXG4gICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtYWN0aW9uXCJcbiAgICAgICAgKGNsaWNrKT1cInVwc2VydE93bkFuc3dlci5lbWl0KClcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIChvd25BbnN3ZXJcbiAgICAgICAgICAgID8gXCJzdHJlYW1DaGF0LlVwZGF0ZSB5b3VyIGNvbW1lbnRcIlxuICAgICAgICAgICAgOiBcInN0cmVhbUNoYXQuQWRkIGEgY29tbWVudFwiXG4gICAgICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgICAgICB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -51,13 +51,13 @@ export class PollResultsListComponent extends BasePollComponent {
51
51
  return vote.id;
52
52
  }
53
53
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PollResultsListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PollResultsListComponent, selector: "stream-poll-results-list", host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"str-chat__modal__poll-results\"\n [class.str-chat__modal__poll-results--option-detail]=\"optionToView\"\n>\n <div class=\"str-chat__modal-header\">\n <!-- eslint-disable-next-line @angular-eslint/template/elements-content -->\n <button\n *ngIf=\"optionToView\"\n class=\"str-chat__modal-header__go-back-button\"\n (click)=\"optionToView = undefined\"\n ></button>\n <div class=\"str-chat__modal-header__title\" translate>\n streamChat.Poll results\n </div>\n </div>\n <ng-container *ngIf=\"optionToView; else allOptions\">\n <div class=\"str-chat__modal__poll-results__body\">\n <stream-poll-vote-results-list\n [option]=\"optionToView\"\n [messageId]=\"messageId\"\n [pollId]=\"pollId\"\n />\n </div>\n </ng-container>\n <ng-template #allOptions>\n <div class=\"str-chat__modal__poll-results__body\">\n <div class=\"str-chat__modal__poll-results__title\">{{ name }}</div>\n <div class=\"str-chat__modal__poll-results__option-list\">\n <div\n *ngFor=\"let option of options; trackBy: trackByOptionId\"\n class=\"str-chat__poll-option\"\n >\n <div class=\"str-chat__poll-option__header\">\n <div class=\"str-chat__poll-option__option-text\">\n {{ option.text }}\n </div>\n <div class=\"str-chat__poll-result-option-vote-counter\">\n <div\n *ngIf=\"isWinner(option.id)\"\n class=\"str-chat__poll-result-winning-option-icon\"\n ></div>\n <span class=\"str-chat__poll-result-option-vote-count\">\n {{ 'streamChat.{{ count }} votes' | translate:{count:\n voteCountsByOption[option.id] ?? 0} }}\n </span>\n </div>\n </div>\n <ng-container *ngIf=\"latestVotesByOption[option?.id ?? '']\">\n <div class=\"str-chat__poll-vote-listing\">\n <ng-container\n *ngFor=\"\n let vote of latestVotesByOption[option?.id ?? '']\n | slice : 0 : votePreviewCount;\n trackBy: trackByVoteId\n \"\n >\n <stream-poll-vote [vote]=\"vote\" />\n </ng-container>\n </div>\n </ng-container>\n <button\n *ngIf=\"\n voteCountsByOption[option?.id ?? ''] > votePreviewCount &&\n canQueryVotes\n \"\n class=\"str-chat__poll-option__show-all-votes-button\"\n translate\n (click)=\"optionToView = option\"\n >\n streamChat.Show all\n </button>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PollVoteResultsListComponent, selector: "stream-poll-vote-results-list", inputs: ["option"] }, { kind: "component", type: i3.PollVoteComponent, selector: "stream-poll-vote", inputs: ["vote"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PollResultsListComponent, selector: "stream-poll-results-list", host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"str-chat__modal__poll-results\"\n [class.str-chat__modal__poll-results--option-detail]=\"optionToView\"\n>\n <div class=\"str-chat__modal-header\">\n <!-- eslint-disable-next-line @angular-eslint/template/elements-content -->\n <button\n *ngIf=\"optionToView\"\n class=\"str-chat__modal-header__go-back-button\"\n (click)=\"optionToView = undefined\"\n ></button>\n <div class=\"str-chat__modal-header__title\">\n {{ \"streamChat.Poll results\" | translate }}\n </div>\n </div>\n <ng-container *ngIf=\"optionToView; else allOptions\">\n <div class=\"str-chat__modal__poll-results__body\">\n <stream-poll-vote-results-list\n [option]=\"optionToView\"\n [messageId]=\"messageId\"\n [pollId]=\"pollId\"\n />\n </div>\n </ng-container>\n <ng-template #allOptions>\n <div class=\"str-chat__modal__poll-results__body\">\n <div class=\"str-chat__modal__poll-results__title\">{{ name }}</div>\n <div class=\"str-chat__modal__poll-results__option-list\">\n <div\n *ngFor=\"let option of options; trackBy: trackByOptionId\"\n class=\"str-chat__poll-option\"\n >\n <div class=\"str-chat__poll-option__header\">\n <div class=\"str-chat__poll-option__option-text\">\n {{ option.text }}\n </div>\n <div class=\"str-chat__poll-result-option-vote-counter\">\n <div\n *ngIf=\"isWinner(option.id)\"\n class=\"str-chat__poll-result-winning-option-icon\"\n ></div>\n <span class=\"str-chat__poll-result-option-vote-count\">\n {{ 'streamChat.{{ count }} votes' | translate:{count:\n voteCountsByOption[option.id] ?? 0} }}\n </span>\n </div>\n </div>\n <ng-container *ngIf=\"latestVotesByOption[option?.id ?? '']\">\n <div class=\"str-chat__poll-vote-listing\">\n <ng-container\n *ngFor=\"\n let vote of latestVotesByOption[option?.id ?? '']\n | slice : 0 : votePreviewCount;\n trackBy: trackByVoteId\n \"\n >\n <stream-poll-vote [vote]=\"vote\" />\n </ng-container>\n </div>\n </ng-container>\n <button\n *ngIf=\"\n voteCountsByOption[option?.id ?? ''] > votePreviewCount &&\n canQueryVotes\n \"\n class=\"str-chat__poll-option__show-all-votes-button\"\n (click)=\"optionToView = option\"\n >\n {{ \"streamChat.Show all\" | translate }}\n </button>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PollVoteResultsListComponent, selector: "stream-poll-vote-results-list", inputs: ["option"] }, { kind: "component", type: i3.PollVoteComponent, selector: "stream-poll-vote", inputs: ["vote"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
55
  }
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PollResultsListComponent, decorators: [{
57
57
  type: Component,
58
- args: [{ selector: 'stream-poll-results-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"str-chat__modal__poll-results\"\n [class.str-chat__modal__poll-results--option-detail]=\"optionToView\"\n>\n <div class=\"str-chat__modal-header\">\n <!-- eslint-disable-next-line @angular-eslint/template/elements-content -->\n <button\n *ngIf=\"optionToView\"\n class=\"str-chat__modal-header__go-back-button\"\n (click)=\"optionToView = undefined\"\n ></button>\n <div class=\"str-chat__modal-header__title\" translate>\n streamChat.Poll results\n </div>\n </div>\n <ng-container *ngIf=\"optionToView; else allOptions\">\n <div class=\"str-chat__modal__poll-results__body\">\n <stream-poll-vote-results-list\n [option]=\"optionToView\"\n [messageId]=\"messageId\"\n [pollId]=\"pollId\"\n />\n </div>\n </ng-container>\n <ng-template #allOptions>\n <div class=\"str-chat__modal__poll-results__body\">\n <div class=\"str-chat__modal__poll-results__title\">{{ name }}</div>\n <div class=\"str-chat__modal__poll-results__option-list\">\n <div\n *ngFor=\"let option of options; trackBy: trackByOptionId\"\n class=\"str-chat__poll-option\"\n >\n <div class=\"str-chat__poll-option__header\">\n <div class=\"str-chat__poll-option__option-text\">\n {{ option.text }}\n </div>\n <div class=\"str-chat__poll-result-option-vote-counter\">\n <div\n *ngIf=\"isWinner(option.id)\"\n class=\"str-chat__poll-result-winning-option-icon\"\n ></div>\n <span class=\"str-chat__poll-result-option-vote-count\">\n {{ 'streamChat.{{ count }} votes' | translate:{count:\n voteCountsByOption[option.id] ?? 0} }}\n </span>\n </div>\n </div>\n <ng-container *ngIf=\"latestVotesByOption[option?.id ?? '']\">\n <div class=\"str-chat__poll-vote-listing\">\n <ng-container\n *ngFor=\"\n let vote of latestVotesByOption[option?.id ?? '']\n | slice : 0 : votePreviewCount;\n trackBy: trackByVoteId\n \"\n >\n <stream-poll-vote [vote]=\"vote\" />\n </ng-container>\n </div>\n </ng-container>\n <button\n *ngIf=\"\n voteCountsByOption[option?.id ?? ''] > votePreviewCount &&\n canQueryVotes\n \"\n class=\"str-chat__poll-option__show-all-votes-button\"\n translate\n (click)=\"optionToView = option\"\n >\n streamChat.Show all\n </button>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n" }]
58
+ args: [{ selector: 'stream-poll-results-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"str-chat__modal__poll-results\"\n [class.str-chat__modal__poll-results--option-detail]=\"optionToView\"\n>\n <div class=\"str-chat__modal-header\">\n <!-- eslint-disable-next-line @angular-eslint/template/elements-content -->\n <button\n *ngIf=\"optionToView\"\n class=\"str-chat__modal-header__go-back-button\"\n (click)=\"optionToView = undefined\"\n ></button>\n <div class=\"str-chat__modal-header__title\">\n {{ \"streamChat.Poll results\" | translate }}\n </div>\n </div>\n <ng-container *ngIf=\"optionToView; else allOptions\">\n <div class=\"str-chat__modal__poll-results__body\">\n <stream-poll-vote-results-list\n [option]=\"optionToView\"\n [messageId]=\"messageId\"\n [pollId]=\"pollId\"\n />\n </div>\n </ng-container>\n <ng-template #allOptions>\n <div class=\"str-chat__modal__poll-results__body\">\n <div class=\"str-chat__modal__poll-results__title\">{{ name }}</div>\n <div class=\"str-chat__modal__poll-results__option-list\">\n <div\n *ngFor=\"let option of options; trackBy: trackByOptionId\"\n class=\"str-chat__poll-option\"\n >\n <div class=\"str-chat__poll-option__header\">\n <div class=\"str-chat__poll-option__option-text\">\n {{ option.text }}\n </div>\n <div class=\"str-chat__poll-result-option-vote-counter\">\n <div\n *ngIf=\"isWinner(option.id)\"\n class=\"str-chat__poll-result-winning-option-icon\"\n ></div>\n <span class=\"str-chat__poll-result-option-vote-count\">\n {{ 'streamChat.{{ count }} votes' | translate:{count:\n voteCountsByOption[option.id] ?? 0} }}\n </span>\n </div>\n </div>\n <ng-container *ngIf=\"latestVotesByOption[option?.id ?? '']\">\n <div class=\"str-chat__poll-vote-listing\">\n <ng-container\n *ngFor=\"\n let vote of latestVotesByOption[option?.id ?? '']\n | slice : 0 : votePreviewCount;\n trackBy: trackByVoteId\n \"\n >\n <stream-poll-vote [vote]=\"vote\" />\n </ng-container>\n </div>\n </ng-container>\n <button\n *ngIf=\"\n voteCountsByOption[option?.id ?? ''] > votePreviewCount &&\n canQueryVotes\n \"\n class=\"str-chat__poll-option__show-all-votes-button\"\n (click)=\"optionToView = option\"\n >\n {{ \"streamChat.Show all\" | translate }}\n </button>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n" }]
59
59
  }], propDecorators: { class: [{
60
60
  type: HostBinding,
61
61
  args: ['class']
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC1yZXN1bHRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL3BvbGxzL3BvbGwtYWN0aW9ucy9wb2xsLXJlc3VsdHMvcG9sbC1yZXN1bHRzLWxpc3QvcG9sbC1yZXN1bHRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL3BvbGxzL3BvbGwtYWN0aW9ucy9wb2xsLXJlc3VsdHMvcG9sbC1yZXN1bHRzLWxpc3QvcG9sbC1yZXN1bHRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQUdqRTs7R0FFRztBQU9ILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFOL0Q7O1FBT3dCLFVBQUssR0FBRywrQkFBK0IsQ0FBQztRQUM5RCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFFM0IscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLHNCQUFpQixHQUFhLEVBQUUsQ0FBQztRQUNqQyx1QkFBa0IsR0FBMkIsRUFBRSxDQUFDO1FBQ2hELHdCQUFtQixHQUErQixFQUFFLENBQUM7S0ErQ3REO0lBN0NXLGtCQUFrQixDQUMxQixJQUFVLEVBQ1YsWUFBd0I7UUFFeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDbEQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDVixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLHFCQUFxQjtZQUNsRCxzQkFBc0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCO1NBQ3JELENBQUMsRUFDRixDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDekIsT0FBTyxDQUNMLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3hDLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztZQUNqRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDO1lBQ3RELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsc0JBQXNCLENBQUM7WUFDeEQsWUFBWSxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUNGLENBQUM7UUFFRixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCO1FBQ3ZCLE9BQU8sQ0FDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBUyxFQUFFLE1BQWtCO1FBQzNDLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVMsRUFBRSxJQUFjO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQXREVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix3SUNickMsK3VGQTRFQTs7NEZEL0RhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07OEJBR3pCLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlUG9sbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtcG9sbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9sbCwgUG9sbE9wdGlvbiwgUG9sbFZvdGUgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5cbi8qKlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLXBvbGwtcmVzdWx0cy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvbGwtcmVzdWx0cy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbGxSZXN1bHRzTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VQb2xsQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ3N0ci1jaGF0X19tb2RhbF9fcG9sbC1yZXN1bHRzJztcbiAgbmFtZSA9ICcnO1xuICBvcHRpb25zOiBQb2xsT3B0aW9uW10gPSBbXTtcbiAgb3B0aW9uVG9WaWV3OiBQb2xsT3B0aW9uIHwgdW5kZWZpbmVkO1xuICB2b3RlUHJldmlld0NvdW50ID0gNTtcbiAgbWF4Vm90ZWRPcHRpb25JZHM6IHN0cmluZ1tdID0gW107XG4gIHZvdGVDb3VudHNCeU9wdGlvbjogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuICBsYXRlc3RWb3Rlc0J5T3B0aW9uOiBSZWNvcmQ8c3RyaW5nLCBQb2xsVm90ZVtdPiA9IHt9O1xuXG4gIHByb3RlY3RlZCBzdGF0ZVN0b3JlU2VsZWN0b3IoXG4gICAgcG9sbDogUG9sbCxcbiAgICBtYXJrRm9yQ2hlY2s6ICgpID0+IHZvaWRcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSBwb2xsLnN0YXRlLnN1YnNjcmliZVdpdGhTZWxlY3RvcihcbiAgICAgIChzdGF0ZSkgPT4gKHtcbiAgICAgICAgbmFtZTogc3RhdGUubmFtZSxcbiAgICAgICAgb3B0aW9uczogc3RhdGUub3B0aW9ucyxcbiAgICAgICAgbWF4Vm90ZWRPcHRpb25JZHM6IHN0YXRlLm1heFZvdGVkT3B0aW9uSWRzLFxuICAgICAgICB2b3RlX2NvdW50c19ieV9vcHRpb246IHN0YXRlLnZvdGVfY291bnRzX2J5X29wdGlvbixcbiAgICAgICAgbGF0ZXN0X3ZvdGVzX2J5X29wdGlvbjogc3RhdGUubGF0ZXN0X3ZvdGVzX2J5X29wdGlvbixcbiAgICAgIH0pLFxuICAgICAgKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMubmFtZSA9IHN0YXRlLm5hbWU7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IFsuLi5zdGF0ZS5vcHRpb25zXTtcbiAgICAgICAgdGhpcy5vcHRpb25zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKHN0YXRlLnZvdGVfY291bnRzX2J5X29wdGlvbltiLmlkXSA/PyAwKSAtXG4gICAgICAgICAgICAoc3RhdGUudm90ZV9jb3VudHNfYnlfb3B0aW9uW2EuaWRdID8/IDApXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubWF4Vm90ZWRPcHRpb25JZHMgPSBzdGF0ZS5tYXhWb3RlZE9wdGlvbklkcztcbiAgICAgICAgdGhpcy52b3RlQ291bnRzQnlPcHRpb24gPSBzdGF0ZS52b3RlX2NvdW50c19ieV9vcHRpb247XG4gICAgICAgIHRoaXMubGF0ZXN0Vm90ZXNCeU9wdGlvbiA9IHN0YXRlLmxhdGVzdF92b3Rlc19ieV9vcHRpb247XG4gICAgICAgIG1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gIH1cblxuICBpc1dpbm5lcihvcHRpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubWF4Vm90ZWRPcHRpb25JZHMubGVuZ3RoID09PSAxICYmXG4gICAgICB0aGlzLm1heFZvdGVkT3B0aW9uSWRzWzBdID09PSBvcHRpb25JZFxuICAgICk7XG4gIH1cblxuICB0cmFja0J5T3B0aW9uSWQoXzogbnVtYmVyLCBvcHRpb246IFBvbGxPcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uLmlkO1xuICB9XG5cbiAgdHJhY2tCeVZvdGVJZChfOiBudW1iZXIsIHZvdGU6IFBvbGxWb3RlKSB7XG4gICAgcmV0dXJuIHZvdGUuaWQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWxfX3BvbGwtcmVzdWx0c1wiXG4gIFtjbGFzcy5zdHItY2hhdF9fbW9kYWxfX3BvbGwtcmVzdWx0cy0tb3B0aW9uLWRldGFpbF09XCJvcHRpb25Ub1ZpZXdcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsLWhlYWRlclwiPlxuICAgIDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC90ZW1wbGF0ZS9lbGVtZW50cy1jb250ZW50IC0tPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwib3B0aW9uVG9WaWV3XCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21vZGFsLWhlYWRlcl9fZ28tYmFjay1idXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm9wdGlvblRvVmlldyA9IHVuZGVmaW5lZFwiXG4gICAgPjwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWwtaGVhZGVyX190aXRsZVwiIHRyYW5zbGF0ZT5cbiAgICAgIHN0cmVhbUNoYXQuUG9sbCByZXN1bHRzXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uVG9WaWV3OyBlbHNlIGFsbE9wdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsX19wb2xsLXJlc3VsdHNfX2JvZHlcIj5cbiAgICAgIDxzdHJlYW0tcG9sbC12b3RlLXJlc3VsdHMtbGlzdFxuICAgICAgICBbb3B0aW9uXT1cIm9wdGlvblRvVmlld1wiXG4gICAgICAgIFttZXNzYWdlSWRdPVwibWVzc2FnZUlkXCJcbiAgICAgICAgW3BvbGxJZF09XCJwb2xsSWRcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjYWxsT3B0aW9ucz5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsX19wb2xsLXJlc3VsdHNfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWxfX3BvbGwtcmVzdWx0c19fdGl0bGVcIj57eyBuYW1lIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsX19wb2xsLXJlc3VsdHNfX29wdGlvbi1saXN0XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlPcHRpb25JZFwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1vcHRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19wb2xsLW9wdGlvbl9faGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtb3B0aW9uX19vcHRpb24tdGV4dFwiPlxuICAgICAgICAgICAgICB7eyBvcHRpb24udGV4dCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtcmVzdWx0LW9wdGlvbi12b3RlLWNvdW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNXaW5uZXIob3B0aW9uLmlkKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1yZXN1bHQtd2lubmluZy1vcHRpb24taWNvblwiXG4gICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1yZXN1bHQtb3B0aW9uLXZvdGUtY291bnRcIj5cbiAgICAgICAgICAgICAgICB7eyAnc3RyZWFtQ2hhdC57eyBjb3VudCB9fSB2b3RlcycgfCB0cmFuc2xhdGU6e2NvdW50OlxuICAgICAgICAgICAgICAgIHZvdGVDb3VudHNCeU9wdGlvbltvcHRpb24uaWRdID8/IDB9IH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXRlc3RWb3Rlc0J5T3B0aW9uW29wdGlvbj8uaWQgPz8gJyddXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtdm90ZS1saXN0aW5nXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgIGxldCB2b3RlIG9mIGxhdGVzdFZvdGVzQnlPcHRpb25bb3B0aW9uPy5pZCA/PyAnJ11cbiAgICAgICAgICAgICAgICAgICAgfCBzbGljZSA6IDAgOiB2b3RlUHJldmlld0NvdW50O1xuICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeVZvdGVJZFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3RyZWFtLXBvbGwtdm90ZSBbdm90ZV09XCJ2b3RlXCIgLz5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICB2b3RlQ291bnRzQnlPcHRpb25bb3B0aW9uPy5pZCA/PyAnJ10gPiB2b3RlUHJldmlld0NvdW50ICYmXG4gICAgICAgICAgICAgIGNhblF1ZXJ5Vm90ZXNcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19wb2xsLW9wdGlvbl9fc2hvdy1hbGwtdm90ZXMtYnV0dG9uXCJcbiAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wdGlvblRvVmlldyA9IG9wdGlvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgc3RyZWFtQ2hhdC5TaG93IGFsbFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC1yZXN1bHRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL3BvbGxzL3BvbGwtYWN0aW9ucy9wb2xsLXJlc3VsdHMvcG9sbC1yZXN1bHRzLWxpc3QvcG9sbC1yZXN1bHRzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL3BvbGxzL3BvbGwtYWN0aW9ucy9wb2xsLXJlc3VsdHMvcG9sbC1yZXN1bHRzLWxpc3QvcG9sbC1yZXN1bHRzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQUdqRTs7R0FFRztBQU9ILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFOL0Q7O1FBT3dCLFVBQUssR0FBRywrQkFBK0IsQ0FBQztRQUM5RCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFFM0IscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLHNCQUFpQixHQUFhLEVBQUUsQ0FBQztRQUNqQyx1QkFBa0IsR0FBMkIsRUFBRSxDQUFDO1FBQ2hELHdCQUFtQixHQUErQixFQUFFLENBQUM7S0ErQ3REO0lBN0NXLGtCQUFrQixDQUMxQixJQUFVLEVBQ1YsWUFBd0I7UUFFeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDbEQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDVixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLHFCQUFxQjtZQUNsRCxzQkFBc0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCO1NBQ3JELENBQUMsRUFDRixDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDekIsT0FBTyxDQUNMLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3hDLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztZQUNqRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDO1lBQ3RELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsc0JBQXNCLENBQUM7WUFDeEQsWUFBWSxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUNGLENBQUM7UUFFRixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCO1FBQ3ZCLE9BQU8sQ0FDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBUyxFQUFFLE1BQWtCO1FBQzNDLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVMsRUFBRSxJQUFjO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQXREVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix3SUNickMsMHZGQTJFQTs7NEZEOURhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07OEJBR3pCLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlUG9sbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtcG9sbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9sbCwgUG9sbE9wdGlvbiwgUG9sbFZvdGUgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5cbi8qKlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLXBvbGwtcmVzdWx0cy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvbGwtcmVzdWx0cy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbGxSZXN1bHRzTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VQb2xsQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ3N0ci1jaGF0X19tb2RhbF9fcG9sbC1yZXN1bHRzJztcbiAgbmFtZSA9ICcnO1xuICBvcHRpb25zOiBQb2xsT3B0aW9uW10gPSBbXTtcbiAgb3B0aW9uVG9WaWV3OiBQb2xsT3B0aW9uIHwgdW5kZWZpbmVkO1xuICB2b3RlUHJldmlld0NvdW50ID0gNTtcbiAgbWF4Vm90ZWRPcHRpb25JZHM6IHN0cmluZ1tdID0gW107XG4gIHZvdGVDb3VudHNCeU9wdGlvbjogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuICBsYXRlc3RWb3Rlc0J5T3B0aW9uOiBSZWNvcmQ8c3RyaW5nLCBQb2xsVm90ZVtdPiA9IHt9O1xuXG4gIHByb3RlY3RlZCBzdGF0ZVN0b3JlU2VsZWN0b3IoXG4gICAgcG9sbDogUG9sbCxcbiAgICBtYXJrRm9yQ2hlY2s6ICgpID0+IHZvaWRcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgdW5zdWJzY3JpYmUgPSBwb2xsLnN0YXRlLnN1YnNjcmliZVdpdGhTZWxlY3RvcihcbiAgICAgIChzdGF0ZSkgPT4gKHtcbiAgICAgICAgbmFtZTogc3RhdGUubmFtZSxcbiAgICAgICAgb3B0aW9uczogc3RhdGUub3B0aW9ucyxcbiAgICAgICAgbWF4Vm90ZWRPcHRpb25JZHM6IHN0YXRlLm1heFZvdGVkT3B0aW9uSWRzLFxuICAgICAgICB2b3RlX2NvdW50c19ieV9vcHRpb246IHN0YXRlLnZvdGVfY291bnRzX2J5X29wdGlvbixcbiAgICAgICAgbGF0ZXN0X3ZvdGVzX2J5X29wdGlvbjogc3RhdGUubGF0ZXN0X3ZvdGVzX2J5X29wdGlvbixcbiAgICAgIH0pLFxuICAgICAgKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMubmFtZSA9IHN0YXRlLm5hbWU7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IFsuLi5zdGF0ZS5vcHRpb25zXTtcbiAgICAgICAgdGhpcy5vcHRpb25zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKHN0YXRlLnZvdGVfY291bnRzX2J5X29wdGlvbltiLmlkXSA/PyAwKSAtXG4gICAgICAgICAgICAoc3RhdGUudm90ZV9jb3VudHNfYnlfb3B0aW9uW2EuaWRdID8/IDApXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubWF4Vm90ZWRPcHRpb25JZHMgPSBzdGF0ZS5tYXhWb3RlZE9wdGlvbklkcztcbiAgICAgICAgdGhpcy52b3RlQ291bnRzQnlPcHRpb24gPSBzdGF0ZS52b3RlX2NvdW50c19ieV9vcHRpb247XG4gICAgICAgIHRoaXMubGF0ZXN0Vm90ZXNCeU9wdGlvbiA9IHN0YXRlLmxhdGVzdF92b3Rlc19ieV9vcHRpb247XG4gICAgICAgIG1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gIH1cblxuICBpc1dpbm5lcihvcHRpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubWF4Vm90ZWRPcHRpb25JZHMubGVuZ3RoID09PSAxICYmXG4gICAgICB0aGlzLm1heFZvdGVkT3B0aW9uSWRzWzBdID09PSBvcHRpb25JZFxuICAgICk7XG4gIH1cblxuICB0cmFja0J5T3B0aW9uSWQoXzogbnVtYmVyLCBvcHRpb246IFBvbGxPcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uLmlkO1xuICB9XG5cbiAgdHJhY2tCeVZvdGVJZChfOiBudW1iZXIsIHZvdGU6IFBvbGxWb3RlKSB7XG4gICAgcmV0dXJuIHZvdGUuaWQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWxfX3BvbGwtcmVzdWx0c1wiXG4gIFtjbGFzcy5zdHItY2hhdF9fbW9kYWxfX3BvbGwtcmVzdWx0cy0tb3B0aW9uLWRldGFpbF09XCJvcHRpb25Ub1ZpZXdcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsLWhlYWRlclwiPlxuICAgIDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC90ZW1wbGF0ZS9lbGVtZW50cy1jb250ZW50IC0tPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwib3B0aW9uVG9WaWV3XCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21vZGFsLWhlYWRlcl9fZ28tYmFjay1idXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm9wdGlvblRvVmlldyA9IHVuZGVmaW5lZFwiXG4gICAgPjwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWwtaGVhZGVyX190aXRsZVwiPlxuICAgICAge3sgXCJzdHJlYW1DaGF0LlBvbGwgcmVzdWx0c1wiIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uVG9WaWV3OyBlbHNlIGFsbE9wdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsX19wb2xsLXJlc3VsdHNfX2JvZHlcIj5cbiAgICAgIDxzdHJlYW0tcG9sbC12b3RlLXJlc3VsdHMtbGlzdFxuICAgICAgICBbb3B0aW9uXT1cIm9wdGlvblRvVmlld1wiXG4gICAgICAgIFttZXNzYWdlSWRdPVwibWVzc2FnZUlkXCJcbiAgICAgICAgW3BvbGxJZF09XCJwb2xsSWRcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjYWxsT3B0aW9ucz5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsX19wb2xsLXJlc3VsdHNfX2JvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbW9kYWxfX3BvbGwtcmVzdWx0c19fdGl0bGVcIj57eyBuYW1lIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21vZGFsX19wb2xsLXJlc3VsdHNfX29wdGlvbi1saXN0XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlPcHRpb25JZFwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1vcHRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19wb2xsLW9wdGlvbl9faGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtb3B0aW9uX19vcHRpb24tdGV4dFwiPlxuICAgICAgICAgICAgICB7eyBvcHRpb24udGV4dCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtcmVzdWx0LW9wdGlvbi12b3RlLWNvdW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNXaW5uZXIob3B0aW9uLmlkKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1yZXN1bHQtd2lubmluZy1vcHRpb24taWNvblwiXG4gICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdHItY2hhdF9fcG9sbC1yZXN1bHQtb3B0aW9uLXZvdGUtY291bnRcIj5cbiAgICAgICAgICAgICAgICB7eyAnc3RyZWFtQ2hhdC57eyBjb3VudCB9fSB2b3RlcycgfCB0cmFuc2xhdGU6e2NvdW50OlxuICAgICAgICAgICAgICAgIHZvdGVDb3VudHNCeU9wdGlvbltvcHRpb24uaWRdID8/IDB9IH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXRlc3RWb3Rlc0J5T3B0aW9uW29wdGlvbj8uaWQgPz8gJyddXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3BvbGwtdm90ZS1saXN0aW5nXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgIGxldCB2b3RlIG9mIGxhdGVzdFZvdGVzQnlPcHRpb25bb3B0aW9uPy5pZCA/PyAnJ11cbiAgICAgICAgICAgICAgICAgICAgfCBzbGljZSA6IDAgOiB2b3RlUHJldmlld0NvdW50O1xuICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeVZvdGVJZFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3RyZWFtLXBvbGwtdm90ZSBbdm90ZV09XCJ2b3RlXCIgLz5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICB2b3RlQ291bnRzQnlPcHRpb25bb3B0aW9uPy5pZCA/PyAnJ10gPiB2b3RlUHJldmlld0NvdW50ICYmXG4gICAgICAgICAgICAgIGNhblF1ZXJ5Vm90ZXNcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19wb2xsLW9wdGlvbl9fc2hvdy1hbGwtdm90ZXMtYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvcHRpb25Ub1ZpZXcgPSBvcHRpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IFwic3RyZWFtQ2hhdC5TaG93IGFsbFwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -2,7 +2,7 @@ import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { AutocompleteTextareaComponent } from './message-input/autocomplete-textarea/autocomplete-textarea.component';
4
4
  import { TranslatePipe } from '@ngx-translate/core';
5
- import { MentionModule } from 'angular-mentions';
5
+ import { MentionModule } from '@stream-io/angular-mentions';
6
6
  import { StreamAvatarModule } from './stream-avatar.module';
7
7
  import { textareaInjectionToken } from './injection-tokens';
8
8
  import * as i0 from "@angular/core";
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
30
30
  ],
31
31
  }]
32
32
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLWF1dG9jb21wbGV0ZS10ZXh0YXJlYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvc3RyZWFtLWF1dG9jb21wbGV0ZS10ZXh0YXJlYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDdEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFhNUQsTUFBTSxPQUFPLGdDQUFnQzsrR0FBaEMsZ0NBQWdDO2dIQUFoQyxnQ0FBZ0MsaUJBVjVCLDZCQUE2QixhQUNsQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsYUFDOUQsNkJBQTZCO2dIQVE1QixnQ0FBZ0MsYUFQaEM7WUFDVDtnQkFDRSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixRQUFRLEVBQUUsNkJBQTZCO2FBQ3hDO1NBQ0YsWUFQUyxZQUFZLEVBQWlCLGFBQWEsRUFBRSxrQkFBa0I7OzRGQVM3RCxnQ0FBZ0M7a0JBWDVDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDO29CQUN6RSxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDeEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFFBQVEsRUFBRSw2QkFBNkI7eUJBQ3hDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1pbnB1dC9hdXRvY29tcGxldGUtdGV4dGFyZWEvYXV0b2NvbXBsZXRlLXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNZW50aW9uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1tZW50aW9ucyc7XG5pbXBvcnQgeyBTdHJlYW1BdmF0YXJNb2R1bGUgfSBmcm9tICcuL3N0cmVhbS1hdmF0YXIubW9kdWxlJztcbmltcG9ydCB7IHRleHRhcmVhSW5qZWN0aW9uVG9rZW4gfSBmcm9tICcuL2luamVjdGlvbi10b2tlbnMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBdXRvY29tcGxldGVUZXh0YXJlYUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIE1lbnRpb25Nb2R1bGUsIFN0cmVhbUF2YXRhck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBdXRvY29tcGxldGVUZXh0YXJlYUNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IHRleHRhcmVhSW5qZWN0aW9uVG9rZW4sXG4gICAgICB1c2VWYWx1ZTogQXV0b2NvbXBsZXRlVGV4dGFyZWFDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RyZWFtQXV0b2NvbXBsZXRlVGV4dGFyZWFNb2R1bGUge31cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLWF1dG9jb21wbGV0ZS10ZXh0YXJlYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvc3RyZWFtLWF1dG9jb21wbGV0ZS10ZXh0YXJlYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDdEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFhNUQsTUFBTSxPQUFPLGdDQUFnQzsrR0FBaEMsZ0NBQWdDO2dIQUFoQyxnQ0FBZ0MsaUJBVjVCLDZCQUE2QixhQUNsQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsYUFDOUQsNkJBQTZCO2dIQVE1QixnQ0FBZ0MsYUFQaEM7WUFDVDtnQkFDRSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixRQUFRLEVBQUUsNkJBQTZCO2FBQ3hDO1NBQ0YsWUFQUyxZQUFZLEVBQWlCLGFBQWEsRUFBRSxrQkFBa0I7OzRGQVM3RCxnQ0FBZ0M7a0JBWDVDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDO29CQUN6RSxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDeEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFFBQVEsRUFBRSw2QkFBNkI7eUJBQ3hDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1pbnB1dC9hdXRvY29tcGxldGUtdGV4dGFyZWEvYXV0b2NvbXBsZXRlLXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNZW50aW9uTW9kdWxlIH0gZnJvbSAnQHN0cmVhbS1pby9hbmd1bGFyLW1lbnRpb25zJztcbmltcG9ydCB7IFN0cmVhbUF2YXRhck1vZHVsZSB9IGZyb20gJy4vc3RyZWFtLWF2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgdGV4dGFyZWFJbmplY3Rpb25Ub2tlbiB9IGZyb20gJy4vaW5qZWN0aW9uLXRva2Vucyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0F1dG9jb21wbGV0ZVRleHRhcmVhQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgTWVudGlvbk1vZHVsZSwgU3RyZWFtQXZhdGFyTW9kdWxlXSxcbiAgZXhwb3J0czogW0F1dG9jb21wbGV0ZVRleHRhcmVhQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogdGV4dGFyZWFJbmplY3Rpb25Ub2tlbixcbiAgICAgIHVzZVZhbHVlOiBBdXRvY29tcGxldGVUZXh0YXJlYUNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHJlYW1BdXRvY29tcGxldGVUZXh0YXJlYU1vZHVsZSB7fVxuIl19
@@ -6,6 +6,7 @@ import * as i2 from "../channel.service";
6
6
  import * as i3 from "../chat-client.service";
7
7
  import * as i4 from "@angular/common";
8
8
  import * as i5 from "../icon/icon-placeholder/icon-placeholder.component";
9
+ import * as i6 from "@ngx-translate/core";
9
10
  /**
10
11
  * The `Thread` component represents a [message thread](/chat/docs/javascript/threads/), it is a container component that displays a thread with a header, [`MessageList`](/chat/docs/sdk/angular/components/MessageListComponent) and [`MessageInput`](/chat/docs/sdk/angular/components/MessageInputComponent/) components.
11
12
  */
@@ -38,13 +39,13 @@ export class ThreadComponent {
38
39
  return getChannelDisplayText(this.channel, this.chatClientService.chatClient.user);
39
40
  }
40
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThreadComponent, deps: [{ token: i1.CustomTemplatesService }, { token: i2.ChannelService }, { token: i3.ChatClientService }], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ThreadComponent, selector: "stream-thread", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"str-chat__thread-container\">\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.threadHeaderTemplate$ | async) ||\n defaultThreadHeader;\n context: getThreadHeaderContext()\n \"\n />\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultThreadHeader\n let-parentMessage=\"parentMessage\"\n let-closeThreadHandler=\"closeThreadHandler\"\n>\n <div class=\"str-chat__thread-header\">\n <div class=\"str-chat__thread-header-details\">\n <div class=\"str-chat__thread-header-name\" translate>\n streamChat.Thread\n </div>\n <div\n class=\"str-chat__thread-header-channel-name\"\n data-testid=\"channel-name\"\n >\n {{ channelName }}\n </div>\n </div>\n <button\n class=\"str-chat__square-button str-chat__close-thread-button\"\n data-testid=\"close-button\"\n (click)=\"closeThreadHandler()\"\n >\n <stream-icon-placeholder icon=\"close\" />\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IconPlaceholderComponent, selector: "stream-icon-placeholder", inputs: ["icon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ThreadComponent, selector: "stream-thread", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"str-chat__thread-container\">\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.threadHeaderTemplate$ | async) ||\n defaultThreadHeader;\n context: getThreadHeaderContext()\n \"\n />\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultThreadHeader\n let-parentMessage=\"parentMessage\"\n let-closeThreadHandler=\"closeThreadHandler\"\n>\n <div class=\"str-chat__thread-header\">\n <div class=\"str-chat__thread-header-details\">\n <div class=\"str-chat__thread-header-name\">\n {{ \"streamChat.Thread\" | translate }}\n </div>\n <div\n class=\"str-chat__thread-header-channel-name\"\n data-testid=\"channel-name\"\n >\n {{ channelName }}\n </div>\n </div>\n <button\n class=\"str-chat__square-button str-chat__close-thread-button\"\n data-testid=\"close-button\"\n (click)=\"closeThreadHandler()\"\n >\n <stream-icon-placeholder icon=\"close\" />\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IconPlaceholderComponent, selector: "stream-icon-placeholder", inputs: ["icon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
42
43
  }
43
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThreadComponent, decorators: [{
44
45
  type: Component,
45
- args: [{ selector: 'stream-thread', template: "<div class=\"str-chat__thread-container\">\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.threadHeaderTemplate$ | async) ||\n defaultThreadHeader;\n context: getThreadHeaderContext()\n \"\n />\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultThreadHeader\n let-parentMessage=\"parentMessage\"\n let-closeThreadHandler=\"closeThreadHandler\"\n>\n <div class=\"str-chat__thread-header\">\n <div class=\"str-chat__thread-header-details\">\n <div class=\"str-chat__thread-header-name\" translate>\n streamChat.Thread\n </div>\n <div\n class=\"str-chat__thread-header-channel-name\"\n data-testid=\"channel-name\"\n >\n {{ channelName }}\n </div>\n </div>\n <button\n class=\"str-chat__square-button str-chat__close-thread-button\"\n data-testid=\"close-button\"\n (click)=\"closeThreadHandler()\"\n >\n <stream-icon-placeholder icon=\"close\" />\n </button>\n </div>\n</ng-template>\n" }]
46
+ args: [{ selector: 'stream-thread', template: "<div class=\"str-chat__thread-container\">\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.threadHeaderTemplate$ | async) ||\n defaultThreadHeader;\n context: getThreadHeaderContext()\n \"\n />\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultThreadHeader\n let-parentMessage=\"parentMessage\"\n let-closeThreadHandler=\"closeThreadHandler\"\n>\n <div class=\"str-chat__thread-header\">\n <div class=\"str-chat__thread-header-details\">\n <div class=\"str-chat__thread-header-name\">\n {{ \"streamChat.Thread\" | translate }}\n </div>\n <div\n class=\"str-chat__thread-header-channel-name\"\n data-testid=\"channel-name\"\n >\n {{ channelName }}\n </div>\n </div>\n <button\n class=\"str-chat__square-button str-chat__close-thread-button\"\n data-testid=\"close-button\"\n (click)=\"closeThreadHandler()\"\n >\n <stream-icon-placeholder icon=\"close\" />\n </button>\n </div>\n</ng-template>\n" }]
46
47
  }], ctorParameters: () => [{ type: i1.CustomTemplatesService }, { type: i2.ChannelService }, { type: i3.ChatClientService }], propDecorators: { class: [{
47
48
  type: HostBinding,
48
49
  args: ['class']
49
50
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWFkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi90aHJlYWQvdGhyZWFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi90aHJlYWQvdGhyZWFkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBTWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBR3BFOztHQUVHO0FBTUgsTUFBTSxPQUFPLGVBQWU7SUFNMUIsWUFDUyxzQkFBOEMsRUFDN0MsY0FBOEIsRUFDOUIsaUJBQW9DO1FBRnJDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDN0MsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEIsVUFBSyxHQUFHLGtCQUFrQixDQUFDO1FBR2pELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQU96QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQ2hELENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLENBQ3hELENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQzFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQ3RDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQzdDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUM1RCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxxQkFBcUIsQ0FDMUIsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDdkMsQ0FBQztJQUNKLENBQUM7K0dBOUNVLGVBQWU7bUdBQWYsZUFBZSxzR0NqQjVCLHdnQ0FxQ0E7OzRGRHBCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGVBQWU7d0pBS0ssS0FBSztzQkFBbEMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5uZWwgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5pbXBvcnQgeyBDaGF0Q2xpZW50U2VydmljZSB9IGZyb20gJy4uL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uL2N1c3RvbS10ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRDaGFubmVsRGlzcGxheVRleHQgfSBmcm9tICcuLi9nZXQtY2hhbm5lbC1kaXNwbGF5LXRleHQnO1xuaW1wb3J0IHsgU3RyZWFtTWVzc2FnZSwgVGhyZWFkSGVhZGVyQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBUaGUgYFRocmVhZGAgY29tcG9uZW50IHJlcHJlc2VudHMgYSBbbWVzc2FnZSB0aHJlYWRdKC9jaGF0L2RvY3MvamF2YXNjcmlwdC90aHJlYWRzLyksIGl0IGlzIGEgY29udGFpbmVyIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGEgdGhyZWFkIHdpdGggYSBoZWFkZXIsIFtgTWVzc2FnZUxpc3RgXSgvY2hhdC9kb2NzL3Nkay9hbmd1bGFyL2NvbXBvbmVudHMvTWVzc2FnZUxpc3RDb21wb25lbnQpIGFuZCBbYE1lc3NhZ2VJbnB1dGBdKC9jaGF0L2RvY3Mvc2RrL2FuZ3VsYXIvY29tcG9uZW50cy9NZXNzYWdlSW5wdXRDb21wb25lbnQvKSBjb21wb25lbnRzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tdGhyZWFkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RocmVhZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRocmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBwcml2YXRlIGNsYXNzID0gJ3N0ci1jaGF0X190aHJlYWQnO1xuICBwYXJlbnRNZXNzYWdlOiBTdHJlYW1NZXNzYWdlIHwgdW5kZWZpbmVkO1xuICBjaGFubmVsOiBDaGFubmVsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGN1c3RvbVRlbXBsYXRlc1NlcnZpY2U6IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGF0Q2xpZW50U2VydmljZTogQ2hhdENsaWVudFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLmFjdGl2ZVBhcmVudE1lc3NhZ2UkLnN1YnNjcmliZShcbiAgICAgICAgKHBhcmVudE1lc3NhZ2UpID0+ICh0aGlzLnBhcmVudE1lc3NhZ2UgPSBwYXJlbnRNZXNzYWdlKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLmFjdGl2ZUNoYW5uZWwkLnN1YnNjcmliZShcbiAgICAgICAgKGNoYW5uZWwpID0+ICh0aGlzLmNoYW5uZWwgPSBjaGFubmVsKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGdldFRocmVhZEhlYWRlckNvbnRleHQoKTogVGhyZWFkSGVhZGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmVudE1lc3NhZ2U6IHRoaXMucGFyZW50TWVzc2FnZSxcbiAgICAgIGNsb3NlVGhyZWFkSGFuZGxlcjogKCkgPT4gdGhpcy5jbG9zZVRocmVhZCgpLFxuICAgIH07XG4gIH1cblxuICBjbG9zZVRocmVhZCgpIHtcbiAgICB2b2lkIHRoaXMuY2hhbm5lbFNlcnZpY2Uuc2V0QXNBY3RpdmVQYXJlbnRNZXNzYWdlKHVuZGVmaW5lZCk7XG4gIH1cblxuICBnZXQgY2hhbm5lbE5hbWUoKSB7XG4gICAgaWYgKCF0aGlzLmNoYW5uZWwgfHwgIXRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBnZXRDaGFubmVsRGlzcGxheVRleHQoXG4gICAgICB0aGlzLmNoYW5uZWwsXG4gICAgICB0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLmNoYXRDbGllbnQudXNlclxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHItY2hhdF9fdGhyZWFkLWNvbnRhaW5lclwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIChjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLnRocmVhZEhlYWRlclRlbXBsYXRlJCB8IGFzeW5jKSB8fFxuICAgICAgICBkZWZhdWx0VGhyZWFkSGVhZGVyO1xuICAgICAgY29udGV4dDogZ2V0VGhyZWFkSGVhZGVyQ29udGV4dCgpXG4gICAgXCJcbiAgLz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRocmVhZEhlYWRlclxuICBsZXQtcGFyZW50TWVzc2FnZT1cInBhcmVudE1lc3NhZ2VcIlxuICBsZXQtY2xvc2VUaHJlYWRIYW5kbGVyPVwiY2xvc2VUaHJlYWRIYW5kbGVyXCJcbj5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X190aHJlYWQtaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X190aHJlYWQtaGVhZGVyLWRldGFpbHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fdGhyZWFkLWhlYWRlci1uYW1lXCIgdHJhbnNsYXRlPlxuICAgICAgICBzdHJlYW1DaGF0LlRocmVhZFxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3RocmVhZC1oZWFkZXItY2hhbm5lbC1uYW1lXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJjaGFubmVsLW5hbWVcIlxuICAgICAgPlxuICAgICAgICB7eyBjaGFubmVsTmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJzdHItY2hhdF9fc3F1YXJlLWJ1dHRvbiBzdHItY2hhdF9fY2xvc2UtdGhyZWFkLWJ1dHRvblwiXG4gICAgICBkYXRhLXRlc3RpZD1cImNsb3NlLWJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiY2xvc2VUaHJlYWRIYW5kbGVyKClcIlxuICAgID5cbiAgICAgIDxzdHJlYW0taWNvbi1wbGFjZWhvbGRlciBpY29uPVwiY2xvc2VcIiAvPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWFkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi90aHJlYWQvdGhyZWFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi90aHJlYWQvdGhyZWFkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBTWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQUdwRTs7R0FFRztBQU1ILE1BQU0sT0FBTyxlQUFlO0lBTTFCLFlBQ1Msc0JBQThDLEVBQzdDLGNBQThCLEVBQzlCLGlCQUFvQztRQUZyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzdDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUmhCLFVBQUssR0FBRyxrQkFBa0IsQ0FBQztRQUdqRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFPekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUNoRCxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxDQUN4RCxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUMxQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUN0QyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDNUQsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8scUJBQXFCLENBQzFCLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3ZDLENBQUM7SUFDSixDQUFDOytHQTlDVSxlQUFlO21HQUFmLGVBQWUsc0dDakI1QixvaENBcUNBOzs0RkRwQmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxlQUFlO3dKQUtLLEtBQUs7c0JBQWxDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFubmVsIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhdENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi9jaGF0LWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi9jdXN0b20tdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0Q2hhbm5lbERpc3BsYXlUZXh0IH0gZnJvbSAnLi4vZ2V0LWNoYW5uZWwtZGlzcGxheS10ZXh0JztcbmltcG9ydCB7IFN0cmVhbU1lc3NhZ2UsIFRocmVhZEhlYWRlckNvbnRleHQgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBUaHJlYWRgIGNvbXBvbmVudCByZXByZXNlbnRzIGEgW21lc3NhZ2UgdGhyZWFkXSgvY2hhdC9kb2NzL2phdmFzY3JpcHQvdGhyZWFkcy8pLCBpdCBpcyBhIGNvbnRhaW5lciBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhIHRocmVhZCB3aXRoIGEgaGVhZGVyLCBbYE1lc3NhZ2VMaXN0YF0oL2NoYXQvZG9jcy9zZGsvYW5ndWxhci9jb21wb25lbnRzL01lc3NhZ2VMaXN0Q29tcG9uZW50KSBhbmQgW2BNZXNzYWdlSW5wdXRgXSgvY2hhdC9kb2NzL3Nkay9hbmd1bGFyL2NvbXBvbmVudHMvTWVzc2FnZUlucHV0Q29tcG9uZW50LykgY29tcG9uZW50cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLXRocmVhZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90aHJlYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUaHJlYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHJpdmF0ZSBjbGFzcyA9ICdzdHItY2hhdF9fdGhyZWFkJztcbiAgcGFyZW50TWVzc2FnZTogU3RyZWFtTWVzc2FnZSB8IHVuZGVmaW5lZDtcbiAgY2hhbm5lbDogQ2hhbm5lbCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlOiBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhdENsaWVudFNlcnZpY2U6IENoYXRDbGllbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVQYXJlbnRNZXNzYWdlJC5zdWJzY3JpYmUoXG4gICAgICAgIChwYXJlbnRNZXNzYWdlKSA9PiAodGhpcy5wYXJlbnRNZXNzYWdlID0gcGFyZW50TWVzc2FnZSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJC5zdWJzY3JpYmUoXG4gICAgICAgIChjaGFubmVsKSA9PiAodGhpcy5jaGFubmVsID0gY2hhbm5lbClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBnZXRUaHJlYWRIZWFkZXJDb250ZXh0KCk6IFRocmVhZEhlYWRlckNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJlbnRNZXNzYWdlOiB0aGlzLnBhcmVudE1lc3NhZ2UsXG4gICAgICBjbG9zZVRocmVhZEhhbmRsZXI6ICgpID0+IHRoaXMuY2xvc2VUaHJlYWQoKSxcbiAgICB9O1xuICB9XG5cbiAgY2xvc2VUaHJlYWQoKSB7XG4gICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNldEFzQWN0aXZlUGFyZW50TWVzc2FnZSh1bmRlZmluZWQpO1xuICB9XG5cbiAgZ2V0IGNoYW5uZWxOYW1lKCkge1xuICAgIGlmICghdGhpcy5jaGFubmVsIHx8ICF0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLmNoYXRDbGllbnQudXNlcikge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gZ2V0Q2hhbm5lbERpc3BsYXlUZXh0KFxuICAgICAgdGhpcy5jaGFubmVsLFxuICAgICAgdGhpcy5jaGF0Q2xpZW50U2VydmljZS5jaGF0Q2xpZW50LnVzZXJcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3RocmVhZC1jb250YWluZXJcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAoY3VzdG9tVGVtcGxhdGVzU2VydmljZS50aHJlYWRIZWFkZXJUZW1wbGF0ZSQgfCBhc3luYykgfHxcbiAgICAgICAgZGVmYXVsdFRocmVhZEhlYWRlcjtcbiAgICAgIGNvbnRleHQ6IGdldFRocmVhZEhlYWRlckNvbnRleHQoKVxuICAgIFwiXG4gIC8+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRUaHJlYWRIZWFkZXJcbiAgbGV0LXBhcmVudE1lc3NhZ2U9XCJwYXJlbnRNZXNzYWdlXCJcbiAgbGV0LWNsb3NlVGhyZWFkSGFuZGxlcj1cImNsb3NlVGhyZWFkSGFuZGxlclwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fdGhyZWFkLWhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fdGhyZWFkLWhlYWRlci1kZXRhaWxzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3RocmVhZC1oZWFkZXItbmFtZVwiPlxuICAgICAgICB7eyBcInN0cmVhbUNoYXQuVGhyZWFkXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInN0ci1jaGF0X190aHJlYWQtaGVhZGVyLWNoYW5uZWwtbmFtZVwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiY2hhbm5lbC1uYW1lXCJcbiAgICAgID5cbiAgICAgICAge3sgY2hhbm5lbE5hbWUgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX3NxdWFyZS1idXR0b24gc3RyLWNoYXRfX2Nsb3NlLXRocmVhZC1idXR0b25cIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJjbG9zZS1idXR0b25cIlxuICAgICAgKGNsaWNrKT1cImNsb3NlVGhyZWFkSGFuZGxlcigpXCJcbiAgICA+XG4gICAgICA8c3RyZWFtLWljb24tcGxhY2Vob2xkZXIgaWNvbj1cImNsb3NlXCIgLz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19