@tilde-nlp/ngx-common 4.1.25 → 4.1.27

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.
@@ -15,7 +15,7 @@ import * as i9 from "../../shared/llm-textarea/llm-textarea.component";
15
15
  import * as i10 from "@ngx-translate/core";
16
16
  export class CreateSummaryComponent {
17
17
  get isCreatingDisabled() {
18
- return this.isLoading || !this.text || !this.summaryQuotaLeft;
18
+ return this.isLoading || !this.text || !this.summaryQuotaLeft || this.isCharactersLimitExceeded;
19
19
  }
20
20
  constructor(llmService, llmHelperService, quotaService, plausibleService, data) {
21
21
  this.llmService = llmService;
@@ -36,7 +36,7 @@ export class CreateSummaryComponent {
36
36
  }
37
37
  createSummary() {
38
38
  this.isLoading = true;
39
- this.llmService
39
+ this.subscription = this.llmService
40
40
  .summarize({ text: this.text, language: this.language })
41
41
  .pipe(finalize(() => (this.isLoading = false)))
42
42
  .subscribe({
@@ -51,7 +51,7 @@ export class CreateSummaryComponent {
51
51
  });
52
52
  }
53
53
  cancel() {
54
- this.llmService.cancelRequest();
54
+ this.subscription.unsubscribe();
55
55
  }
56
56
  copyEvent() {
57
57
  this.plausibleService.summaryCopyEvent();
@@ -59,6 +59,13 @@ export class CreateSummaryComponent {
59
59
  dislikeEvent() {
60
60
  this.plausibleService.summaryDislikeEvent();
61
61
  }
62
+ checkCharactersLimit() {
63
+ if (this.text.length > 10000) {
64
+ this.isCharactersLimitExceeded = true;
65
+ return;
66
+ }
67
+ this.isCharactersLimitExceeded = false;
68
+ }
62
69
  refreshQuota(decrease) {
63
70
  this.quotaService.getQuotaUsage().pipe(finalize(() => this.setQuotaMessage())).subscribe({
64
71
  next: (response) => {
@@ -75,13 +82,13 @@ export class CreateSummaryComponent {
75
82
  this.showRemainingQuotaMessage = this.summaryQuotaLeft <= this.trialRequestCount;
76
83
  }
77
84
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateSummaryComponent, deps: [{ token: i1.LLMService }, { token: i2.LLMHelperService }, { token: i3.QuotaService }, { token: i4.PlausibleService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateSummaryComponent, selector: "lib-create-summary", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\" (copyEvent)=\"copyEvent()\" (dislikeEvent)=\"dislikeEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-summary-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-summary-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isCreatingDisabled\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}.w-full{width:100%}.llm-summary-actions{display:flex;justify-content:end}.llm-summary-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i8.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i9.LLMTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent", "copyEvent"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateSummaryComponent, selector: "lib-create-summary", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p>{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event; checkCharactersLimit()\" (copyEvent)=\"copyEvent()\" (dislikeEvent)=\"dislikeEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-summary-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-summary-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isCreatingDisabled\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}.w-full{width:100%}.llm-summary-actions{display:flex;justify-content:end}.llm-summary-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i8.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i9.LLMTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent", "copyEvent"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
79
86
  }
80
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateSummaryComponent, decorators: [{
81
88
  type: Component,
82
- args: [{ selector: 'lib-create-summary', template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\" (copyEvent)=\"copyEvent()\" (dislikeEvent)=\"dislikeEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-summary-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-summary-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isCreatingDisabled\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}.w-full{width:100%}.llm-summary-actions{display:flex;justify-content:end}.llm-summary-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}\n"] }]
89
+ args: [{ selector: 'lib-create-summary', template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p>{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event; checkCharactersLimit()\" (copyEvent)=\"copyEvent()\" (dislikeEvent)=\"dislikeEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-summary-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-summary-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isCreatingDisabled\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}.w-full{width:100%}.llm-summary-actions{display:flex;justify-content:end}.llm-summary-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}\n"] }]
83
90
  }], ctorParameters: function () { return [{ type: i1.LLMService }, { type: i2.LLMHelperService }, { type: i3.QuotaService }, { type: i4.PlausibleService }, { type: undefined, decorators: [{
84
91
  type: Inject,
85
92
  args: [MAT_DIALOG_DATA]
86
93
  }] }]; } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2xsbS9jb21wb25lbnRzL2NyZWF0ZS1zdW1tYXJ5L2NyZWF0ZS1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9jcmVhdGUtc3VtbWFyeS9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7QUFVNUQsTUFBTSxPQUFPLHNCQUFzQjtJQWVqQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2hFLENBQUM7SUFFRCxZQUNtQixVQUFzQixFQUN0QixnQkFBa0MsRUFDbEMsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xCLElBQVM7UUFKekIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBSztRQVozQixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDdkIsZ0NBQTJCLEdBQUcs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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBMTE0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbGxtLm1vZGVsJztcclxuaW1wb3J0IHsgTExNU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xsbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUXVvdGFTZXJ2aWNlLCBRdW90YVR5cGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9ub3RpZmljYXRpb24tbWVzc2FnZSc7XHJcbmltcG9ydCB7IExMTUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sbG0taGVscGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQbGF1c2libGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGxhdXNpYmxlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY3JlYXRlLXN1bW1hcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLXN1bW1hcnkuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZVN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGlzTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgc2hvd0Vycm9yTWVzc2FnZSE6IGJvb2xlYW47XHJcbiAgc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZSE6IGJvb2xlYW47XHJcbiAgaXNTdW1tYXJpemluZ0NhbmNlbGVkITogYm9vbGVhbjtcclxuICB0ZXh0ITogc3RyaW5nO1xyXG4gIGxhbmd1YWdlITogc3RyaW5nO1xyXG4gIHN1bW1hcnlRdW90YUxlZnQhOiBudW1iZXI7XHJcbiAgc3Vic2NyaXB0aW9uVXJsITogc3RyaW5nO1xyXG5cclxuICByZWFjaGVkUXVvdGFNZXNzYWdlITogTm90aWZpY2F0aW9uTWVzc2FnZTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSB0cmlhbFJlcXVlc3RDb3VudCA9IDE1O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeVF1b3RhTG9jYWxTdG9yYWdlS2V5ID0gJ0xMTV9TVU1NQVJZX1VTQUdFX0tFWSc7XHJcblxyXG4gIGdldCBpc0NyZWF0aW5nRGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0xvYWRpbmcgfHwgIXRoaXMudGV4dCB8fCAhdGhpcy5zdW1tYXJ5UXVvdGFMZWZ0O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxsbVNlcnZpY2U6IExMTVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxsbUhlbHBlclNlcnZpY2U6IExMTUhlbHBlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1b3RhU2VydmljZTogUXVvdGFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGF1c2libGVTZXJ2aWNlOiBQbGF1c2libGVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YTogTExNXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGV4dCA9IHRoaXMuZGF0YS50ZXh0O1xyXG4gICAgdGhpcy5sYW5ndWFnZSA9IHRoaXMuZGF0YS5sYW5ndWFnZTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uVXJsID0gdGhpcy5sbG1TZXJ2aWNlLmxsbUNvbmZpZ3VyYXRpb24uc3Vic2NyaXB0aW9uVXJsO1xyXG4gICAgdGhpcy5yZWFjaGVkUXVvdGFNZXNzYWdlID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldFJlYWNoZWRRdW90YU1lc3NhZ2UoKTtcclxuICAgIHRoaXMuY3JlYXRlU3VtbWFyeSgpO1xyXG4gICAgdGhpcy5yZWZyZXNoUXVvdGEoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVN1bW1hcnkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5sbG1TZXJ2aWNlXHJcbiAgICAgIC5zdW1tYXJpemUoeyB0ZXh0OiB0aGlzLnRleHQsIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlIH0pXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50ZXh0ID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dFcnJvck1lc3NhZ2UgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFF1b3RhKHRydWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yTWVzc2FnZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMubGxtU2VydmljZS5jYW5jZWxSZXF1ZXN0KCk7XHJcbiAgfVxyXG5cclxuICBjb3B5RXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYXVzaWJsZVNlcnZpY2Uuc3VtbWFyeUNvcHlFdmVudCgpO1xyXG4gIH1cclxuICBcclxuICBkaXNsaWtlRXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYXVzaWJsZVNlcnZpY2Uuc3VtbWFyeURpc2xpa2VFdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoUXVvdGEoZGVjcmVhc2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnF1b3RhU2VydmljZS5nZXRRdW90YVVzYWdlKCkucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLnNldFF1b3RhTWVzc2FnZSgpKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVvdGEgPSByZXNwb25zZS51c2FnZS5maW5kKChpdGVtKSA9PiBpdGVtLnF1b3RhVHlwZSA9PT0gUXVvdGFUeXBlLkxMTV9SRVFVRVNUUyk7XHJcblxyXG4gICAgICAgIGlmICghcXVvdGEpIHtcclxuICAgICAgICAgIHRoaXMuc3VtbWFyeVF1b3RhTGVmdCA9IHRoaXMubGxtSGVscGVyU2VydmljZS5zZXRRdW90YUxvY2FsU3RvcmFnZVVzYWdlKHRoaXMuc3VtbWFyeVF1b3RhTG9jYWxTdG9yYWdlS2V5LCBkZWNyZWFzZSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuc3VtbWFyeVF1b3RhTGVmdCA9IHF1b3RhLnF1b3RhUmVtYWluaW5nO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFF1b3RhTWVzc2FnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZSA9IHRoaXMuc3VtbWFyeVF1b3RhTGVmdCA8PSB0aGlzLnRyaWFsUmVxdWVzdENvdW50O1xyXG4gIH1cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZT57eyBcIkxMTS5TVU1NQVJZX01PREFMLlRJVExFXCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8cCBjbGFzcz1cInRleHQtbVwiPnt7IFwiTExNLlNVTU1BUllfTU9EQUwuREVTQ1JJUFRJT05cIiB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuXHJcbiAgPGxpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2UgKm5nSWY9XCIhc3VtbWFyeVF1b3RhTGVmdFwiIFttZXNzYWdlXT1cInJlYWNoZWRRdW90YU1lc3NhZ2VcIj48L2xpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2U+XHJcblxyXG4gIDxsaWItbGxtLXRleHRhcmVhIFtzaG93RXJyb3JNZXNzYWdlXT1cInNob3dFcnJvck1lc3NhZ2VcIiBbdGV4dF09XCJ0ZXh0XCIgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAhc3VtbWFyeVF1b3RhTGVmdFwiICh0ZXh0RWRpdEV2ZW50KT1cInRleHQgPSAkZXZlbnRcIiAoY29weUV2ZW50KT1cImNvcHlFdmVudCgpXCIgKGRpc2xpa2VFdmVudCk9XCJkaXNsaWtlRXZlbnQoKVwiPjwvbGliLWxsbS10ZXh0YXJlYT5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJsbG0tc3VtbWFyeS1hY3Rpb25zLXdyYXBwZXJcIiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dSZW1haW5pbmdRdW90YU1lc3NhZ2VcIiBbaW5uZXJIVE1MXT1cIidMTE0uU1VNTUFSWV9NT0RBTC5MSU1JVCcgfCB0cmFuc2xhdGU6IHsgbGltaXQ6IHN1bW1hcnlRdW90YUxlZnQsIHN1YnNjcmlwdGlvblVybDogc3Vic2NyaXB0aW9uVXJsIH1cIj48L2Rpdj5cclxuXHJcbiAgPGRpdiBbY2xhc3Mudy1mdWxsXT1cIiFzaG93UmVtYWluaW5nUXVvdGFNZXNzYWdlXCIgY2xhc3M9XCJsbG0tc3VtbWFyeS1hY3Rpb25zXCI+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIGNsb3NlQnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICB7eyBcIkxMTS5TVU1NQVJZX01PREFMLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2Nsb3NlQnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+XHJcbiAgICAgICAge3sgXCJMTE0uU1VNTUFSWV9NT0RBTC5DTE9TRVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIFxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAoY2xpY2spPVwiY3JlYXRlU3VtbWFyeSgpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzQ3JlYXRpbmdEaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICAgIHt7XHJcbiAgICAgICAgKGlzTG9hZGluZ1xyXG4gICAgICAgICAgPyBcIkxMTS5TVU1NQVJZX01PREFMLkNSRUFUSU5HXCJcclxuICAgICAgICAgIDogXCJMTE0uU1VNTUFSWV9NT0RBTC5SRUdFTkVSQVRFXCJcclxuICAgICAgICApIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2xsbS9jb21wb25lbnRzL2NyZWF0ZS1zdW1tYXJ5L2NyZWF0ZS1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9jcmVhdGUtc3VtbWFyeS9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHM0QsT0FBTyxFQUFnQixRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVTVELE1BQU0sT0FBTyxzQkFBc0I7SUFrQmpDLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQ2xHLENBQUM7SUFFRCxZQUNtQixVQUFzQixFQUN0QixnQkFBa0MsRUFDbEMsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xCLElBQWE7UUFKN0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBUztRQVovQixzQkFBaUIsR0FBRyxFQUFF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TyxlQUFlO1FBQ3JCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ25GLENBQUM7K0dBL0ZVLHNCQUFzQix3SUEyQnZCLGVBQWU7bUdBM0JkLHNCQUFzQiwwRENmbkMsNm5EQXFDQTs7NEZEdEJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7OzBCQStCM0IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBMTE1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgTExNU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xsbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBRdW90YVNlcnZpY2UsIFF1b3RhVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL25vdGlmaWNhdGlvbi1tZXNzYWdlJztcclxuaW1wb3J0IHsgTExNSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xsbS1oZWxwZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBsYXVzaWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wbGF1c2libGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jcmVhdGUtc3VtbWFyeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaXNMb2FkaW5nITogYm9vbGVhbjtcclxuICBzaG93RXJyb3JNZXNzYWdlITogYm9vbGVhbjtcclxuICBzaG93UmVtYWluaW5nUXVvdGFNZXNzYWdlITogYm9vbGVhbjtcclxuICBpc1N1bW1hcml6aW5nQ2FuY2VsZWQhOiBib29sZWFuO1xyXG4gIGlzQ2hhcmFjdGVyc0xpbWl0RXhjZWVkZWQhOiBib29sZWFuO1xyXG4gIHRleHQhOiBzdHJpbmc7XHJcbiAgbGFuZ3VhZ2UhOiBzdHJpbmc7XHJcbiAgc3VtbWFyeVF1b3RhTGVmdCE6IG51bWJlcjtcclxuICBzdWJzY3JpcHRpb25VcmwhOiBzdHJpbmc7XHJcblxyXG4gIHJlYWNoZWRRdW90YU1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG5cclxuICBzdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdHJpYWxSZXF1ZXN0Q291bnQgPSAxNTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hcnlRdW90YUxvY2FsU3RvcmFnZUtleSA9ICdMTE1fU1VNTUFSWV9VU0FHRV9LRVknO1xyXG5cclxuICBnZXQgaXNDcmVhdGluZ0Rpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nIHx8ICF0aGlzLnRleHQgfHwgIXRoaXMuc3VtbWFyeVF1b3RhTGVmdCB8fCB0aGlzLmlzQ2hhcmFjdGVyc0xpbWl0RXhjZWVkZWQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtU2VydmljZTogTExNU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtSGVscGVyU2VydmljZTogTExNSGVscGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVvdGFTZXJ2aWNlOiBRdW90YVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXVzaWJsZVNlcnZpY2U6IFBsYXVzaWJsZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBMTE1EYXRhXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGV4dCA9IHRoaXMuZGF0YS50ZXh0O1xyXG4gICAgdGhpcy5sYW5ndWFnZSA9IHRoaXMuZGF0YS5sYW5ndWFnZTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uVXJsID0gdGhpcy5sbG1TZXJ2aWNlLmxsbUNvbmZpZ3VyYXRpb24uc3Vic2NyaXB0aW9uVXJsO1xyXG4gICAgdGhpcy5yZWFjaGVkUXVvdGFNZXNzYWdlID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldFJlYWNoZWRRdW90YU1lc3NhZ2UoKTtcclxuICAgIHRoaXMuY3JlYXRlU3VtbWFyeSgpO1xyXG4gICAgdGhpcy5yZWZyZXNoUXVvdGEoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVN1bW1hcnkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmxsbVNlcnZpY2VcclxuICAgICAgLnN1bW1hcml6ZSh7IHRleHQ6IHRoaXMudGV4dCwgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UgfSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaXNMb2FkaW5nID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRleHQgPSByZXNwb25zZTtcclxuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yTWVzc2FnZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUXVvdGEodHJ1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGNvcHlFdmVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhdXNpYmxlU2VydmljZS5zdW1tYXJ5Q29weUV2ZW50KCk7XHJcbiAgfVxyXG4gIFxyXG4gIGRpc2xpa2VFdmVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhdXNpYmxlU2VydmljZS5zdW1tYXJ5RGlzbGlrZUV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0NoYXJhY3RlcnNMaW1pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRleHQubGVuZ3RoID4gMTAwMDApIHtcclxuICAgICAgdGhpcy5pc0NoYXJhY3RlcnNMaW1pdEV4Y2VlZGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNDaGFyYWN0ZXJzTGltaXRFeGNlZWRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoUXVvdGEoZGVjcmVhc2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnF1b3RhU2VydmljZS5nZXRRdW90YVVzYWdlKCkucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLnNldFF1b3RhTWVzc2FnZSgpKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVvdGEgPSByZXNwb25zZS51c2FnZS5maW5kKChpdGVtKSA9PiBpdGVtLnF1b3RhVHlwZSA9PT0gUXVvdGFUeXBlLkxMTV9SRVFVRVNUUyk7XHJcblxyXG4gICAgICAgIGlmICghcXVvdGEpIHtcclxuICAgICAgICAgIHRoaXMuc3VtbWFyeVF1b3RhTGVmdCA9IHRoaXMubGxtSGVscGVyU2VydmljZS5zZXRRdW90YUxvY2FsU3RvcmFnZVVzYWdlKHRoaXMuc3VtbWFyeVF1b3RhTG9jYWxTdG9yYWdlS2V5LCBkZWNyZWFzZSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuc3VtbWFyeVF1b3RhTGVmdCA9IHF1b3RhLnF1b3RhUmVtYWluaW5nO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFF1b3RhTWVzc2FnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZSA9IHRoaXMuc3VtbWFyeVF1b3RhTGVmdCA8PSB0aGlzLnRyaWFsUmVxdWVzdENvdW50O1xyXG4gIH1cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZT57eyBcIkxMTS5TVU1NQVJZX01PREFMLlRJVExFXCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8cD57eyBcIkxMTS5TVU1NQVJZX01PREFMLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcblxyXG4gIDxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0lmPVwiIXN1bW1hcnlRdW90YUxlZnRcIiBbbWVzc2FnZV09XCJyZWFjaGVkUXVvdGFNZXNzYWdlXCI+PC9saWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlPlxyXG5cclxuICA8bGliLWxsbS10ZXh0YXJlYSBbc2hvd0Vycm9yTWVzc2FnZV09XCJzaG93RXJyb3JNZXNzYWdlXCIgW3RleHRdPVwidGV4dFwiIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcgfHwgIXN1bW1hcnlRdW90YUxlZnRcIiAodGV4dEVkaXRFdmVudCk9XCJ0ZXh0ID0gJGV2ZW50OyBjaGVja0NoYXJhY3RlcnNMaW1pdCgpXCIgKGNvcHlFdmVudCk9XCJjb3B5RXZlbnQoKVwiIChkaXNsaWtlRXZlbnQpPVwiZGlzbGlrZUV2ZW50KClcIj48L2xpYi1sbG0tdGV4dGFyZWE+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibGxtLXN1bW1hcnktYWN0aW9ucy13cmFwcGVyXCIgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93UmVtYWluaW5nUXVvdGFNZXNzYWdlXCIgW2lubmVySFRNTF09XCInTExNLlNVTU1BUllfTU9EQUwuTElNSVQnIHwgdHJhbnNsYXRlOiB7IGxpbWl0OiBzdW1tYXJ5UXVvdGFMZWZ0LCBzdWJzY3JpcHRpb25Vcmw6IHN1YnNjcmlwdGlvblVybCB9XCI+PC9kaXY+XHJcblxyXG4gIDxkaXYgW2NsYXNzLnctZnVsbF09XCIhc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZVwiIGNsYXNzPVwibGxtLXN1bW1hcnktYWN0aW9uc1wiPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImlzTG9hZGluZzsgZWxzZSBjbG9zZUJ1dHRvblwiIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAge3sgXCJMTE0uU1VNTUFSWV9NT0RBTC5DQU5DRUxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNjbG9zZUJ1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiPlxyXG4gICAgICAgIHt7IFwiTExNLlNVTU1BUllfTU9EQUwuQ0xPU0VcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBcclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgKGNsaWNrKT1cImNyZWF0ZVN1bW1hcnkoKVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0NyZWF0aW5nRGlzYWJsZWRcIlxyXG4gICAgPlxyXG4gICAgICB7e1xyXG4gICAgICAgIChpc0xvYWRpbmdcclxuICAgICAgICAgID8gXCJMTE0uU1VNTUFSWV9NT0RBTC5DUkVBVElOR1wiXHJcbiAgICAgICAgICA6IFwiTExNLlNVTU1BUllfTU9EQUwuUkVHRU5FUkFURVwiXHJcbiAgICAgICAgKSB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -20,7 +20,7 @@ import * as i13 from "../../shared/llm-textarea/llm-textarea.component";
20
20
  import * as i14 from "@ngx-translate/core";
21
21
  export class RephraseTranslationComponent {
22
22
  get isRephrasingDisabled() {
23
- return this.isLoading || !this.text || !this.rephraseQuotaLeft;
23
+ return this.isLoading || !this.text || !this.rephraseQuotaLeft || this.isCharactersLimitExceeded;
24
24
  }
25
25
  constructor(llmService, quotaService, llmHelperService, plausibleService, data) {
26
26
  this.llmService = llmService;
@@ -41,7 +41,7 @@ export class RephraseTranslationComponent {
41
41
  }
42
42
  rephraseText() {
43
43
  this.isLoading = true;
44
- this.llmService
44
+ this.subscription = this.llmService
45
45
  .rephrase({ text: this.text, style: this.selectedWritingStyle })
46
46
  .pipe(finalize(() => (this.isLoading = false)))
47
47
  .subscribe({
@@ -56,7 +56,7 @@ export class RephraseTranslationComponent {
56
56
  });
57
57
  }
58
58
  cancel() {
59
- this.llmService.cancelRequest();
59
+ this.subscription.unsubscribe();
60
60
  }
61
61
  copyEvent() {
62
62
  this.plausibleService.rephraseCopyEvent();
@@ -64,6 +64,13 @@ export class RephraseTranslationComponent {
64
64
  dislikeEvent() {
65
65
  this.plausibleService.rephraseDislikeEvent();
66
66
  }
67
+ checkCharactersLimit() {
68
+ if (this.text.length > 10000) {
69
+ this.isCharactersLimitExceeded = true;
70
+ return;
71
+ }
72
+ this.isCharactersLimitExceeded = false;
73
+ }
67
74
  refreshQuota(decrease) {
68
75
  this.quotaService.getQuotaUsage().pipe(finalize(() => this.setQuotaMessage())).subscribe({
69
76
  next: (response) => {
@@ -80,13 +87,13 @@ export class RephraseTranslationComponent {
80
87
  this.showRemainingQuotaMessage = this.rephraseQuotaLeft <= this.trialRequestCount;
81
88
  }
82
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RephraseTranslationComponent, deps: [{ token: i1.LLMService }, { token: i2.QuotaService }, { token: i3.LLMHelperService }, { token: i4.PlausibleService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RephraseTranslationComponent, selector: "lib-rephrase-translation", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"llm-writing-style text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\" (copyEvent)=\"copyEvent()\" (dislikeEvent)=\"dislikeEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-rephrase-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-rephrase-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isRephrasingDisabled\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-rephrase-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-rephrase-actions{display:flex;justify-content:end}.w-full{width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i11.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i13.LLMTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent", "copyEvent"] }, { kind: "pipe", type: i5.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RephraseTranslationComponent, selector: "lib-rephrase-translation", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p>{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"llm-writing-style text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP_' + (selectedWritingStyle | uppercase) | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event; checkCharactersLimit()\" (copyEvent)=\"copyEvent()\" (dislikeEvent)=\"dislikeEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-rephrase-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-rephrase-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isRephrasingDisabled\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-rephrase-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-rephrase-actions{display:flex;justify-content:end}.w-full{width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i11.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i13.LLMTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent", "copyEvent"] }, { kind: "pipe", type: i5.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
84
91
  }
85
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RephraseTranslationComponent, decorators: [{
86
93
  type: Component,
87
- args: [{ selector: 'lib-rephrase-translation', template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"llm-writing-style text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\" (copyEvent)=\"copyEvent()\" (dislikeEvent)=\"dislikeEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-rephrase-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-rephrase-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isRephrasingDisabled\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-rephrase-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-rephrase-actions{display:flex;justify-content:end}.w-full{width:100%}\n"] }]
94
+ args: [{ selector: 'lib-rephrase-translation', template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p>{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"llm-writing-style text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP_' + (selectedWritingStyle | uppercase) | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event; checkCharactersLimit()\" (copyEvent)=\"copyEvent()\" (dislikeEvent)=\"dislikeEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-rephrase-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-rephrase-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isRephrasingDisabled\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-rephrase-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-rephrase-actions{display:flex;justify-content:end}.w-full{width:100%}\n"] }]
88
95
  }], ctorParameters: function () { return [{ type: i1.LLMService }, { type: i2.QuotaService }, { type: i3.LLMHelperService }, { type: i4.PlausibleService }, { type: undefined, decorators: [{
89
96
  type: Inject,
90
97
  args: [MAT_DIALOG_DATA]
91
98
  }] }]; } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwaHJhc2UtdHJhbnNsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2xsbS9jb21wb25lbnRzL3JlcGhyYXNlLXRyYW5zbGF0aW9uL3JlcGhyYXNlLXRyYW5zbGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9yZXBocmFzZS10cmFuc2xhdGlvbi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUxRCxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVV0RSxNQUFNLE9BQU8sNEJBQTRCO0lBaUJ2QyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQ2hFLENBQUM7SUFFRCxZQUNtQixVQUFzQixFQUN0QixZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsZ0JBQWtDLEVBQ2xCLElBQVM7UUFKekIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0Is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NEJBQTRCLGdFQ2hCekMsa29GQTREQTs7NEZENUNhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwwQkFBMEI7OzBCQThCakMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMTE1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGxtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdW90YVNlcnZpY2UsIFF1b3RhVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTExNIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS5tb2RlbCc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExMTVdyaXRpbmdTdHlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9sbG0td3JpdGluZy1zdHlsZS5lbnVtJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL25vdGlmaWNhdGlvbi1tZXNzYWdlJztcclxuaW1wb3J0IHsgTExNSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xsbS1oZWxwZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBsYXVzaWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wbGF1c2libGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yZXBocmFzZS10cmFuc2xhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGhyYXNlLXRyYW5zbGF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBocmFzZVRyYW5zbGF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpc0xvYWRpbmchOiBib29sZWFuO1xyXG4gIHNob3dFcnJvck1lc3NhZ2UhOiBib29sZWFuO1xyXG4gIHNob3dSZW1haW5pbmdRdW90YU1lc3NhZ2UhOiBib29sZWFuO1xyXG4gIGlzUmVwaHJhc2VDYW5jZWxlZCE6IGJvb2xlYW47XHJcbiAgdGV4dCE6IHN0cmluZztcclxuICByZXBocmFzZVF1b3RhTGVmdCE6IG51bWJlcjtcclxuICBzdWJzY3JpcHRpb25VcmwhOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRXcml0aW5nU3R5bGUgPSBMTE1Xcml0aW5nU3R5bGUuR0VORVJBTDtcclxuXHJcbiAgcmVhY2hlZFF1b3RhTWVzc2FnZSE6IE5vdGlmaWNhdGlvbk1lc3NhZ2U7XHJcbiAgXHJcbiAgcmVhZG9ubHkgd3JpdGluZ1N0eWxlcyA9IE9iamVjdC52YWx1ZXMoTExNV3JpdGluZ1N0eWxlKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSB0cmlhbFJlcXVlc3RDb3VudCA9IDE1O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVwaHJhc2VRdW90YUxvY2FsU3RvcmFnZUtleSA9ICdMTE1fUkVQSFJBU0VfVVNBR0VfS0VZJztcclxuXHJcbiAgZ2V0IGlzUmVwaHJhc2luZ0Rpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nIHx8ICF0aGlzLnRleHQgfHwgIXRoaXMucmVwaHJhc2VRdW90YUxlZnRcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsbG1TZXJ2aWNlOiBMTE1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdW90YVNlcnZpY2U6IFF1b3RhU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtSGVscGVyU2VydmljZTogTExNSGVscGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhdXNpYmxlU2VydmljZTogUGxhdXNpYmxlU2VydmljZSxcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IExMTVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHQgPSB0aGlzLmRhdGEudGV4dDtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uVXJsID0gdGhpcy5sbG1TZXJ2aWNlLmxsbUNvbmZpZ3VyYXRpb24uc3Vic2NyaXB0aW9uVXJsO1xyXG4gICAgdGhpcy5yZWFjaGVkUXVvdGFNZXNzYWdlID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldFJlYWNoZWRRdW90YU1lc3NhZ2UoKTtcclxuICAgIHRoaXMucmVmcmVzaFF1b3RhKCk7XHJcbiAgfVxyXG5cclxuICByZXBocmFzZVRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5sbG1TZXJ2aWNlXHJcbiAgICAgIC5yZXBocmFzZSh7IHRleHQ6IHRoaXMudGV4dCwgc3R5bGU6IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUgfSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaXNMb2FkaW5nID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRleHQgPSByZXNwb25zZTtcclxuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yTWVzc2FnZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUXVvdGEodHJ1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sbG1TZXJ2aWNlLmNhbmNlbFJlcXVlc3QoKTtcclxuICB9XHJcblxyXG4gIGNvcHlFdmVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhdXNpYmxlU2VydmljZS5yZXBocmFzZUNvcHlFdmVudCgpO1xyXG4gIH1cclxuICBcclxuICBkaXNsaWtlRXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYXVzaWJsZVNlcnZpY2UucmVwaHJhc2VEaXNsaWtlRXZlbnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFF1b3RhKGRlY3JlYXNlPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5xdW90YVNlcnZpY2UuZ2V0UXVvdGFVc2FnZSgpLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5zZXRRdW90YU1lc3NhZ2UoKSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1b3RhID0gcmVzcG9uc2UudXNhZ2UuZmluZCgoaXRlbSkgPT4gaXRlbS5xdW90YVR5cGUgPT09IFF1b3RhVHlwZS5MTE1fQ0hBUkFDVEVSX0NPVU5UKTtcclxuXHJcbiAgICAgICAgaWYgKCFxdW90YSkge1xyXG4gICAgICAgICAgdGhpcy5yZXBocmFzZVF1b3RhTGVmdCA9IHRoaXMubGxtSGVscGVyU2VydmljZS5zZXRRdW90YUxvY2FsU3RvcmFnZVVzYWdlKHRoaXMucmVwaHJhc2VRdW90YUxvY2FsU3RvcmFnZUtleSwgZGVjcmVhc2UpOyAgICAgICAgICBcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVwaHJhc2VRdW90YUxlZnQgPSBxdW90YS5xdW90YVJlbWFpbmluZztcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRRdW90YU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dSZW1haW5pbmdRdW90YU1lc3NhZ2UgPSB0aGlzLnJlcGhyYXNlUXVvdGFMZWZ0IDw9IHRoaXMudHJpYWxSZXF1ZXN0Q291bnQ7XHJcbiAgfVxyXG59XHJcbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPnt7IFwiTExNLlJFUEhSQVNFX01PREFMLlRJVExFXCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8cCBjbGFzcz1cInRleHQtbVwiPnt7IFwiTExNLlJFUEhSQVNFX01PREFMLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcblxyXG4gIDxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0lmPVwiIXJlcGhyYXNlUXVvdGFMZWZ0XCIgW21lc3NhZ2VdPVwicmVhY2hlZFF1b3RhTWVzc2FnZVwiPjwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwiYWNjZW50XCIgY2xhc3M9XCJ3LWZ1bGwgbGxtLXdyaXRpbmctc3R5bGUtc2VsZWN0XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgIDxtYXQtbGFiZWw+e3sgJ0xMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy5USVRMRScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IFsodmFsdWUpXT1cInNlbGVjdGVkV3JpdGluZ1N0eWxlXCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdHlsZSBvZiB3cml0aW5nU3R5bGVzXCIgW3ZhbHVlXT1cInN0eWxlXCI+XHJcbiAgICAgICAge3sgJ0xMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy4nICsgKHN0eWxlIHwgdXBwZXJjYXNlKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPHAgY2xhc3M9XCJsbG0td3JpdGluZy1zdHlsZSB0ZXh0LW0tc2VtaS1ib2xkXCI+e3tcclxuICAgICAgXCJMTE0uUkVQSFJBU0VfTU9EQUwuV1JJVElOR19TVFlMRVMuU1BFQ0lGSUNfU1RZTEVcIiB8IHRyYW5zbGF0ZSA6IFxyXG4gICAgICB7IHN0eWxlOiAnTExNLlJFUEhSQVNFX01PREFMLldSSVRJTkdfU1RZTEVTLicgKyAoc2VsZWN0ZWRXcml0aW5nU3R5bGUgfCB1cHBlcmNhc2UpIHwgdHJhbnNsYXRlIH0gXHJcbiAgICB9fVxyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBpbmZvLWljb25cIlxyXG4gICAgICBtYXRUb29sdGlwQ2xhc3M9XCJtdWx0aWxpbmUtdG9vbHRpcFwiXHJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgXHJcbiAgICAgIFttYXRUb29sdGlwXT1cIidMTE0uUkVQSFJBU0VfTU9EQUwuV1JJVElOR19TVFlMRVMuVE9PTFRJUCcgfCB0cmFuc2xhdGVcIiBcclxuICAgID5cclxuICAgICAgaW5mb1xyXG4gICAgPC9zcGFuPlxyXG4gIDwvcD5cclxuXHJcbiAgPGxpYi1sbG0tdGV4dGFyZWEgW3RleHRdPVwidGV4dFwiIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcgfHwgIXJlcGhyYXNlUXVvdGFMZWZ0XCIgW3Nob3dFcnJvck1lc3NhZ2VdPVwic2hvd0Vycm9yTWVzc2FnZVwiICh0ZXh0RWRpdEV2ZW50KT1cInRleHQgPSAkZXZlbnRcIiAoY29weUV2ZW50KT1cImNvcHlFdmVudCgpXCIgKGRpc2xpa2VFdmVudCk9XCJkaXNsaWtlRXZlbnQoKVwiPjwvbGliLWxsbS10ZXh0YXJlYT5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJsbG0tcmVwaHJhc2UtYWN0aW9ucy13cmFwcGVyXCIgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93UmVtYWluaW5nUXVvdGFNZXNzYWdlXCIgW2lubmVySFRNTF09XCInTExNLlJFUEhSQVNFX01PREFMLkxJTUlUJyB8IHRyYW5zbGF0ZTogeyBsaW1pdDogcmVwaHJhc2VRdW90YUxlZnQsIHN1YnNjcmlwdGlvblVybDogc3Vic2NyaXB0aW9uVXJsIH1cIj48L2Rpdj5cclxuXHJcbiAgPGRpdiBbY2xhc3Mudy1mdWxsXT1cIiFzaG93UmVtYWluaW5nUXVvdGFNZXNzYWdlXCIgY2xhc3M9XCJsbG0tcmVwaHJhc2UtYWN0aW9uc1wiPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImlzTG9hZGluZzsgZWxzZSBjbG9zZUJ1dHRvblwiIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAge3sgXCJMTE0uUkVQSFJBU0VfTU9EQUwuQ0FOQ0VMXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VCdXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cclxuICAgICAgICB7eyBcIkxMTS5SRVBIUkFTRV9NT0RBTC5DTE9TRVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIFxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAoY2xpY2spPVwicmVwaHJhc2VUZXh0KClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNSZXBocmFzaW5nRGlzYWJsZWRcIlxyXG4gICAgPlxyXG4gICAgICB7e1xyXG4gICAgICAgIChpc0xvYWRpbmdcclxuICAgICAgICAgID8gXCJMTE0uUkVQSFJBU0VfTU9EQUwuUkVQSFJBU0lOR1wiXHJcbiAgICAgICAgICA6IFwiTExNLlJFUEhSQVNFX01PREFMLlJFUEhSQVNFXCJcclxuICAgICAgICApIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwaHJhc2UtdHJhbnNsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2xsbS9jb21wb25lbnRzL3JlcGhyYXNlLXRyYW5zbGF0aW9uL3JlcGhyYXNlLXRyYW5zbGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9yZXBocmFzZS10cmFuc2xhdGlvbi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUxRCxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVdEUsTUFBTSxPQUFPLDRCQUE0QjtJQW9CdkMsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUE7SUFDbEcsQ0FBQztJQUVELFlBQ21CLFVBQXNCLEVBQ3RCLFlBQTBCLEVBQzFCLGdCQUFrQyxFQUNsQyxnQkFBa0MsRUFDbEIsSUFBYTtRQUo3QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFD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QUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQ2hELENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNwRixDQUFDOytHQS9GVSw0QkFBNEIsd0lBNkI3QixlQUFlO21HQTdCZCw0QkFBNEIsZ0VDaEJ6QywrcUZBNERBOzs0RkQ1Q2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDBCQUEwQjs7MEJBaUNqQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExMTVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sbG0uc2VydmljZSc7XHJcbmltcG9ydCB7IFF1b3RhU2VydmljZSwgUXVvdGFUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBMTE1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMTE1Xcml0aW5nU3R5bGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGxtLXdyaXRpbmctc3R5bGUuZW51bSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9ub3RpZmljYXRpb24tbWVzc2FnZSc7XHJcbmltcG9ydCB7IExMTUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sbG0taGVscGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQbGF1c2libGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGxhdXNpYmxlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcmVwaHJhc2UtdHJhbnNsYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVwaHJhc2UtdHJhbnNsYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwaHJhc2VUcmFuc2xhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaXNMb2FkaW5nITogYm9vbGVhbjtcclxuICBzaG93RXJyb3JNZXNzYWdlITogYm9vbGVhbjtcclxuICBzaG93UmVtYWluaW5nUXVvdGFNZXNzYWdlITogYm9vbGVhbjtcclxuICBpc1JlcGhyYXNlQ2FuY2VsZWQhOiBib29sZWFuO1xyXG4gIHRleHQhOiBzdHJpbmc7XHJcbiAgcmVwaHJhc2VRdW90YUxlZnQhOiBudW1iZXI7XHJcbiAgc3Vic2NyaXB0aW9uVXJsITogc3RyaW5nO1xyXG4gIHNlbGVjdGVkV3JpdGluZ1N0eWxlID0gTExNV3JpdGluZ1N0eWxlLkdFTkVSQUw7XHJcbiAgaXNDaGFyYWN0ZXJzTGltaXRFeGNlZWRlZCE6IGJvb2xlYW47XHJcblxyXG4gIHJlYWNoZWRRdW90YU1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG5cclxuICBzdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgXHJcbiAgcmVhZG9ubHkgd3JpdGluZ1N0eWxlcyA9IE9iamVjdC52YWx1ZXMoTExNV3JpdGluZ1N0eWxlKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSB0cmlhbFJlcXVlc3RDb3VudCA9IDE1O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVwaHJhc2VRdW90YUxvY2FsU3RvcmFnZUtleSA9ICdMTE1fUkVQSFJBU0VfVVNBR0VfS0VZJztcclxuXHJcbiAgZ2V0IGlzUmVwaHJhc2luZ0Rpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nIHx8ICF0aGlzLnRleHQgfHwgIXRoaXMucmVwaHJhc2VRdW90YUxlZnQgfHwgdGhpcy5pc0NoYXJhY3RlcnNMaW1pdEV4Y2VlZGVkXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtU2VydmljZTogTExNU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVvdGFTZXJ2aWNlOiBRdW90YVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxsbUhlbHBlclNlcnZpY2U6IExMTUhlbHBlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXVzaWJsZVNlcnZpY2U6IFBsYXVzaWJsZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBMTE1EYXRhXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGV4dCA9IHRoaXMuZGF0YS50ZXh0O1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25VcmwgPSB0aGlzLmxsbVNlcnZpY2UubGxtQ29uZmlndXJhdGlvbi5zdWJzY3JpcHRpb25Vcmw7XHJcbiAgICB0aGlzLnJlYWNoZWRRdW90YU1lc3NhZ2UgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0UmVhY2hlZFF1b3RhTWVzc2FnZSgpO1xyXG4gICAgdGhpcy5yZWZyZXNoUXVvdGEoKTtcclxuICB9XHJcblxyXG4gIHJlcGhyYXNlVGV4dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMubGxtU2VydmljZVxyXG4gICAgICAucmVwaHJhc2UoeyB0ZXh0OiB0aGlzLnRleHQsIHN0eWxlOiB0aGlzLnNlbGVjdGVkV3JpdGluZ1N0eWxlIH0pXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50ZXh0ID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dFcnJvck1lc3NhZ2UgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFF1b3RhKHRydWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yTWVzc2FnZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBjb3B5RXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYXVzaWJsZVNlcnZpY2UucmVwaHJhc2VDb3B5RXZlbnQoKTtcclxuICB9XHJcbiAgXHJcbiAgZGlzbGlrZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wbGF1c2libGVTZXJ2aWNlLnJlcGhyYXNlRGlzbGlrZUV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0NoYXJhY3RlcnNMaW1pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRleHQubGVuZ3RoID4gMTAwMDApIHtcclxuICAgICAgdGhpcy5pc0NoYXJhY3RlcnNMaW1pdEV4Y2VlZGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNDaGFyYWN0ZXJzTGltaXRFeGNlZWRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoUXVvdGEoZGVjcmVhc2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnF1b3RhU2VydmljZS5nZXRRdW90YVVzYWdlKCkucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLnNldFF1b3RhTWVzc2FnZSgpKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVvdGEgPSByZXNwb25zZS51c2FnZS5maW5kKChpdGVtKSA9PiBpdGVtLnF1b3RhVHlwZSA9PT0gUXVvdGFUeXBlLkxMTV9DSEFSQUNURVJfQ09VTlQpO1xyXG5cclxuICAgICAgICBpZiAoIXF1b3RhKSB7XHJcbiAgICAgICAgICB0aGlzLnJlcGhyYXNlUXVvdGFMZWZ0ID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLnNldFF1b3RhTG9jYWxTdG9yYWdlVXNhZ2UodGhpcy5yZXBocmFzZVF1b3RhTG9jYWxTdG9yYWdlS2V5LCBkZWNyZWFzZSk7ICAgICAgICAgIFxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZXBocmFzZVF1b3RhTGVmdCA9IHF1b3RhLnF1b3RhUmVtYWluaW5nO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFF1b3RhTWVzc2FnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZSA9IHRoaXMucmVwaHJhc2VRdW90YUxlZnQgPD0gdGhpcy50cmlhbFJlcXVlc3RDb3VudDtcclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgXCJMTE0uUkVQSFJBU0VfTU9EQUwuVElUTEVcIiB8IHRyYW5zbGF0ZSB9fTwvaDE+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxwPnt7IFwiTExNLlJFUEhSQVNFX01PREFMLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcblxyXG4gIDxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0lmPVwiIXJlcGhyYXNlUXVvdGFMZWZ0XCIgW21lc3NhZ2VdPVwicmVhY2hlZFF1b3RhTWVzc2FnZVwiPjwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwiYWNjZW50XCIgY2xhc3M9XCJ3LWZ1bGwgbGxtLXdyaXRpbmctc3R5bGUtc2VsZWN0XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgIDxtYXQtbGFiZWw+e3sgJ0xMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy5USVRMRScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IFsodmFsdWUpXT1cInNlbGVjdGVkV3JpdGluZ1N0eWxlXCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdHlsZSBvZiB3cml0aW5nU3R5bGVzXCIgW3ZhbHVlXT1cInN0eWxlXCI+XHJcbiAgICAgICAge3sgJ0xMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy4nICsgKHN0eWxlIHwgdXBwZXJjYXNlKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPHAgY2xhc3M9XCJsbG0td3JpdGluZy1zdHlsZSB0ZXh0LW0tc2VtaS1ib2xkXCI+e3tcclxuICAgICAgXCJMTE0uUkVQSFJBU0VfTU9EQUwuV1JJVElOR19TVFlMRVMuU1BFQ0lGSUNfU1RZTEVcIiB8IHRyYW5zbGF0ZSA6IFxyXG4gICAgICB7IHN0eWxlOiAnTExNLlJFUEhSQVNFX01PREFMLldSSVRJTkdfU1RZTEVTLicgKyAoc2VsZWN0ZWRXcml0aW5nU3R5bGUgfCB1cHBlcmNhc2UpIHwgdHJhbnNsYXRlIH0gXHJcbiAgICB9fVxyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBpbmZvLWljb25cIlxyXG4gICAgICBtYXRUb29sdGlwQ2xhc3M9XCJtdWx0aWxpbmUtdG9vbHRpcFwiXHJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgXHJcbiAgICAgIFttYXRUb29sdGlwXT1cIidMTE0uUkVQSFJBU0VfTU9EQUwuV1JJVElOR19TVFlMRVMuVE9PTFRJUF8nICsgKHNlbGVjdGVkV3JpdGluZ1N0eWxlIHwgdXBwZXJjYXNlKSB8IHRyYW5zbGF0ZVwiIFxyXG4gICAgPlxyXG4gICAgICBpbmZvXHJcbiAgICA8L3NwYW4+XHJcbiAgPC9wPlxyXG5cclxuICA8bGliLWxsbS10ZXh0YXJlYSBbdGV4dF09XCJ0ZXh0XCIgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAhcmVwaHJhc2VRdW90YUxlZnRcIiBbc2hvd0Vycm9yTWVzc2FnZV09XCJzaG93RXJyb3JNZXNzYWdlXCIgKHRleHRFZGl0RXZlbnQpPVwidGV4dCA9ICRldmVudDsgY2hlY2tDaGFyYWN0ZXJzTGltaXQoKVwiIChjb3B5RXZlbnQpPVwiY29weUV2ZW50KClcIiAoZGlzbGlrZUV2ZW50KT1cImRpc2xpa2VFdmVudCgpXCI+PC9saWItbGxtLXRleHRhcmVhPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImxsbS1yZXBocmFzZS1hY3Rpb25zLXdyYXBwZXJcIiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dSZW1haW5pbmdRdW90YU1lc3NhZ2VcIiBbaW5uZXJIVE1MXT1cIidMTE0uUkVQSFJBU0VfTU9EQUwuTElNSVQnIHwgdHJhbnNsYXRlOiB7IGxpbWl0OiByZXBocmFzZVF1b3RhTGVmdCwgc3Vic2NyaXB0aW9uVXJsOiBzdWJzY3JpcHRpb25VcmwgfVwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IFtjbGFzcy53LWZ1bGxdPVwiIXNob3dSZW1haW5pbmdRdW90YU1lc3NhZ2VcIiBjbGFzcz1cImxsbS1yZXBocmFzZS1hY3Rpb25zXCI+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIGNsb3NlQnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICB7eyBcIkxMTS5SRVBIUkFTRV9NT0RBTC5DQU5DRUxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNjbG9zZUJ1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiPlxyXG4gICAgICAgIHt7IFwiTExNLlJFUEhSQVNFX01PREFMLkNMT1NFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgIChjbGljayk9XCJyZXBocmFzZVRleHQoKVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1JlcGhyYXNpbmdEaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICAgIHt7XHJcbiAgICAgICAgKGlzTG9hZGluZ1xyXG4gICAgICAgICAgPyBcIkxMTS5SRVBIUkFTRV9NT0RBTC5SRVBIUkFTSU5HXCJcclxuICAgICAgICAgIDogXCJMTE0uUkVQSFJBU0VfTU9EQUwuUkVQSFJBU0VcIlxyXG4gICAgICAgICkgfCB0cmFuc2xhdGVcclxuICAgICAgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -11,12 +11,17 @@ import * as i3 from "@angular/common";
11
11
  import * as i4 from "@angular/material/button";
12
12
  import * as i5 from "@angular/material/icon";
13
13
  import * as i6 from "@angular/material/menu";
14
- import * as i7 from "@ngx-translate/core";
14
+ import * as i7 from "@angular/material/tooltip";
15
+ import * as i8 from "@ngx-translate/core";
15
16
  export class LLMComponent {
17
+ get isTextSummarasible() {
18
+ return this.text.length > 100;
19
+ }
16
20
  constructor(dialog, iconService) {
17
21
  this.dialog = dialog;
18
22
  this.iconService = iconService;
19
23
  this.llmActions = Object.values(LLMActions);
24
+ this.llmAction = LLMActions;
20
25
  this.iconService.registerIcons(icons);
21
26
  }
22
27
  openLLMModal(action) {
@@ -37,11 +42,11 @@ export class LLMComponent {
37
42
  }
38
43
  }
39
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LLMComponent, deps: [{ token: i1.MatDialog }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LLMComponent, selector: "lib-llm", inputs: { text: "text", language: "language", llmActions: "llmActions" }, ngImport: i0, template: "<button mat-icon-button [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"llm_menu\"></mat-icon>\r\n</button>\r\n\r\n<mat-menu #menu=\"matMenu\">\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let action of llmActions\"\r\n (click)=\"openLLMModal(action)\"\r\n >\r\n {{ \"LLM.\" + action | translate }}\r\n </button>\r\n</mat-menu>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LLMComponent, selector: "lib-llm", inputs: { text: "text", language: "language", llmActions: "llmActions" }, ngImport: i0, template: "<button [matTooltip]=\"'LLM.MENU_TOOLTIP' | translate\" mat-icon-button [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"llm_menu\"></mat-icon>\r\n</button>\r\n\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-container *ngFor=\"let action of llmActions\">\r\n <button\r\n mat-menu-item\r\n [disabled]=\"action === llmAction.SUMMARY && !isTextSummarasible\"\r\n (click)=\"openLLMModal(action)\"\r\n >\r\n {{ \"LLM.\" + action | translate }}\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
41
46
  }
42
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LLMComponent, decorators: [{
43
48
  type: Component,
44
- args: [{ selector: 'lib-llm', template: "<button mat-icon-button [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"llm_menu\"></mat-icon>\r\n</button>\r\n\r\n<mat-menu #menu=\"matMenu\">\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let action of llmActions\"\r\n (click)=\"openLLMModal(action)\"\r\n >\r\n {{ \"LLM.\" + action | translate }}\r\n </button>\r\n</mat-menu>\r\n" }]
49
+ args: [{ selector: 'lib-llm', template: "<button [matTooltip]=\"'LLM.MENU_TOOLTIP' | translate\" mat-icon-button [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"llm_menu\"></mat-icon>\r\n</button>\r\n\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-container *ngFor=\"let action of llmActions\">\r\n <button\r\n mat-menu-item\r\n [disabled]=\"action === llmAction.SUMMARY && !isTextSummarasible\"\r\n (click)=\"openLLMModal(action)\"\r\n >\r\n {{ \"LLM.\" + action | translate }}\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n" }]
45
50
  }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.IconService }]; }, propDecorators: { text: [{
46
51
  type: Input
47
52
  }], language: [{
@@ -49,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
49
54
  }], llmActions: [{
50
55
  type: Input
51
56
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUMsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7Ozs7Ozs7OztBQU9qQyxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFtQixNQUFpQixFQUFtQixXQUF3QjtRQUE1RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQW1CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRnRFLGVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRzlDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBa0I7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JELFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQzNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHVCQUF1QixDQUFDLE1BQWtCO1FBQ2hELFFBQVEsTUFBTSxFQUFFO1lBQ2QsS0FBSyxVQUFVLENBQUMsUUFBUTtnQkFDdEIsT0FBTyw0QkFBNEIsQ0FBQztZQUN0QyxLQUFLLFVBQVUsQ0FBQyxPQUFPO2dCQUNyQixPQUFPLHNCQUFzQixDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzsrR0ExQlUsWUFBWTttR0FBWixZQUFZLHlIQ2Z6QixpV0FhQTs7NEZERWEsWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxTQUFTOzBIQUtWLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExMTUFjdGlvbnMgfSBmcm9tICcuL21vZGVscy9sbG0tYWN0aW9ucy5lbnVtJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUmVwaHJhc2VUcmFuc2xhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZXBocmFzZS10cmFuc2xhdGlvbi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDcmVhdGVTdW1tYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NyZWF0ZS1zdW1tYXJ5L2NyZWF0ZS1zdW1tYXJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc29sdXRpb25IZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0ICogYXMgaWNvbnMgZnJvbSAnLi9pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1sbG0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sbG0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xsbS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTExNQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSB0ZXh0ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhbmd1YWdlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxsbUFjdGlvbnMgPSBPYmplY3QudmFsdWVzKExMTUFjdGlvbnMpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVySWNvbnMoaWNvbnMpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkxMTU1vZGFsKGFjdGlvbjogTExNQWN0aW9ucyk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2cub3Blbih0aGlzLmdldENvbXBvbmVudEJ5TExNQWN0aW9uKGFjdGlvbiksIHtcclxuICAgICAgbWluV2lkdGg6IFJlc29sdXRpb25IZWxwZXIuaXNNb2JpbGVSZXMoKSA/ICcxMDAlJyA6ICc4MDBweCcsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB0ZXh0OiB0aGlzLnRleHQsXHJcbiAgICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2VcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbXBvbmVudEJ5TExNQWN0aW9uKGFjdGlvbjogTExNQWN0aW9ucyk6IENvbXBvbmVudFR5cGU8UmVwaHJhc2VUcmFuc2xhdGlvbkNvbXBvbmVudCB8IENyZWF0ZVN1bW1hcnlDb21wb25lbnQ+IHtcclxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgTExNQWN0aW9ucy5SRVBIUkFTRTpcclxuICAgICAgICByZXR1cm4gUmVwaHJhc2VUcmFuc2xhdGlvbkNvbXBvbmVudDtcclxuICAgICAgY2FzZSBMTE1BY3Rpb25zLlNVTU1BUlk6XHJcbiAgICAgICAgcmV0dXJuIENyZWF0ZVN1bW1hcnlDb21wb25lbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgPG1hdC1pY29uIHN2Z0ljb249XCJsbG1fbWVudVwiPjwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG5cclxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gIDxidXR0b25cclxuICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgbGxtQWN0aW9uc1wiXHJcbiAgICAoY2xpY2spPVwib3BlbkxMTU1vZGFsKGFjdGlvbilcIlxyXG4gID5cclxuICAgIHt7IFwiTExNLlwiICsgYWN0aW9uIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9idXR0b24+XHJcbjwvbWF0LW1lbnU+XHJcbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUMsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7Ozs7Ozs7Ozs7QUFPakMsTUFBTSxPQUFPLFlBQVk7SUFPdkIsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW1CLE1BQWlCLEVBQW1CLFdBQXdCO1FBQTVELFdBQU0sR0FBTixNQUFNLENBQVc7UUFBbUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFSdEUsZUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEQsY0FBUyxHQUFHLFVBQVUsQ0FBQztRQU9yQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWtCO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyRCxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTztZQUMzRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxNQUFrQjtRQUNoRCxRQUFRLE1BQU0sRUFBRTtZQUNkLEtBQUssVUFBVSxDQUFDLFFBQVE7Z0JBQ3RCLE9BQU8sNEJBQTRCLENBQUM7WUFDdEMsS0FBSyxVQUFVLENBQUMsT0FBTztnQkFDckIsT0FBTyxzQkFBc0IsQ0FBQztTQUNqQztJQUNILENBQUM7K0dBaENVLFlBQVk7bUdBQVosWUFBWSx5SENmekIseWdCQWVBOzs0RkRBYSxZQUFZO2tCQUx4QixTQUFTOytCQUNFLFNBQVM7MEhBS1YsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTExNQWN0aW9ucyB9IGZyb20gJy4vbW9kZWxzL2xsbS1hY3Rpb25zLmVudW0nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBSZXBocmFzZVRyYW5zbGF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlcGhyYXNlLXRyYW5zbGF0aW9uL3JlcGhyYXNlLXRyYW5zbGF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENyZWF0ZVN1bW1hcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3JlYXRlLXN1bW1hcnkvY3JlYXRlLXN1bW1hcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzb2x1dGlvbkhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgKiBhcyBpY29ucyBmcm9tICcuL2ljb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxsbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xsbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGxtLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMTE1Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHRleHQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFuZ3VhZ2UhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGxtQWN0aW9ucyA9IE9iamVjdC52YWx1ZXMoTExNQWN0aW9ucyk7XHJcblxyXG4gIGxsbUFjdGlvbiA9IExMTUFjdGlvbnM7XHJcblxyXG4gIGdldCBpc1RleHRTdW1tYXJhc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXh0Lmxlbmd0aCA+IDEwMDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UpIHtcclxuICAgIHRoaXMuaWNvblNlcnZpY2UucmVnaXN0ZXJJY29ucyhpY29ucyk7XHJcbiAgfVxyXG5cclxuICBvcGVuTExNTW9kYWwoYWN0aW9uOiBMTE1BY3Rpb25zKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKHRoaXMuZ2V0Q29tcG9uZW50QnlMTE1BY3Rpb24oYWN0aW9uKSwge1xyXG4gICAgICBtaW5XaWR0aDogUmVzb2x1dGlvbkhlbHBlci5pc01vYmlsZVJlcygpID8gJzEwMCUnIDogJzgwMHB4JyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHRleHQ6IHRoaXMudGV4dCxcclxuICAgICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50QnlMTE1BY3Rpb24oYWN0aW9uOiBMTE1BY3Rpb25zKTogQ29tcG9uZW50VHlwZTxSZXBocmFzZVRyYW5zbGF0aW9uQ29tcG9uZW50IHwgQ3JlYXRlU3VtbWFyeUNvbXBvbmVudD4ge1xyXG4gICAgc3dpdGNoIChhY3Rpb24pIHtcclxuICAgICAgY2FzZSBMTE1BY3Rpb25zLlJFUEhSQVNFOlxyXG4gICAgICAgIHJldHVybiBSZXBocmFzZVRyYW5zbGF0aW9uQ29tcG9uZW50O1xyXG4gICAgICBjYXNlIExMTUFjdGlvbnMuU1VNTUFSWTpcclxuICAgICAgICByZXR1cm4gQ3JlYXRlU3VtbWFyeUNvbXBvbmVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBbbWF0VG9vbHRpcF09XCInTExNLk1FTlVfVE9PTFRJUCcgfCB0cmFuc2xhdGVcIiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cImxsbV9tZW51XCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcblxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGxsbUFjdGlvbnNcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uID09PSBsbG1BY3Rpb24uU1VNTUFSWSAmJiAhaXNUZXh0U3VtbWFyYXNpYmxlXCJcclxuICAgICAgKGNsaWNrKT1cIm9wZW5MTE1Nb2RhbChhY3Rpb24pXCJcclxuICAgID5cclxuICAgICAge3sgXCJMTE0uXCIgKyBhY3Rpb24gfCB0cmFuc2xhdGUgfX1cclxuICA8L2J1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9tYXQtbWVudT5cclxuIl19
@@ -14,6 +14,7 @@ import { LLMTextareaComponent } from './shared/llm-textarea/llm-textarea.compone
14
14
  import { MatSelectModule } from '@angular/material/select';
15
15
  import { NotificationMessageModule } from '../notification-message';
16
16
  import { MatTooltipModule } from '@angular/material/tooltip';
17
+ import { FlexLayoutModule } from '@angular/flex-layout';
17
18
  import * as i0 from "@angular/core";
18
19
  export class LLMModule {
19
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LLMModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -31,7 +32,8 @@ export class LLMModule {
31
32
  ReactiveFormsModule,
32
33
  MatSelectModule,
33
34
  NotificationMessageModule,
34
- MatTooltipModule], exports: [LLMComponent] }); }
35
+ MatTooltipModule,
36
+ FlexLayoutModule], exports: [LLMComponent] }); }
35
37
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LLMModule, imports: [CommonModule,
36
38
  MatButtonModule,
37
39
  MatIconModule,
@@ -43,7 +45,8 @@ export class LLMModule {
43
45
  ReactiveFormsModule,
44
46
  MatSelectModule,
45
47
  NotificationMessageModule,
46
- MatTooltipModule] }); }
48
+ MatTooltipModule,
49
+ FlexLayoutModule] }); }
47
50
  }
48
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LLMModule, decorators: [{
49
52
  type: NgModule,
@@ -66,9 +69,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
66
69
  ReactiveFormsModule,
67
70
  MatSelectModule,
68
71
  NotificationMessageModule,
69
- MatTooltipModule
72
+ MatTooltipModule,
73
+ FlexLayoutModule
70
74
  ],
71
75
  exports: [LLMComponent],
72
76
  }]
73
77
  }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUF5QjdELE1BQU0sT0FBTyxTQUFTOytHQUFULFNBQVM7Z0hBQVQsU0FBUyxpQkFyQmxCLFlBQVk7WUFDWiw0QkFBNEI7WUFDNUIsc0JBQXNCO1lBQ3RCLG9CQUFvQixhQUdwQixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixlQUFlO1lBQ2YsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YseUJBQXlCO1lBQ3pCLGdCQUFnQixhQUVSLFlBQVk7Z0hBRVgsU0FBUyxZQWZsQixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixlQUFlO1lBQ2YsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YseUJBQXlCO1lBQ3pCLGdCQUFnQjs7NEZBSVAsU0FBUztrQkF2QnJCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLFlBQVk7d0JBQ1osNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YseUJBQXlCO3dCQUN6QixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBMTE1Db21wb25lbnQgfSBmcm9tICcuL2xsbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFJlcGhyYXNlVHJhbnNsYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVwaHJhc2UtdHJhbnNsYXRpb24vcmVwaHJhc2UtdHJhbnNsYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3JlYXRlU3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jcmVhdGUtc3VtbWFyeS9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExMTVRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvbGxtLXRleHRhcmVhL2xsbS10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlTW9kdWxlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTExNQ29tcG9uZW50LFxyXG4gICAgUmVwaHJhc2VUcmFuc2xhdGlvbkNvbXBvbmVudCxcclxuICAgIENyZWF0ZVN1bW1hcnlDb21wb25lbnQsXHJcbiAgICBMTE1UZXh0YXJlYUNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgQ2xpcGJvYXJkTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTm90aWZpY2F0aW9uTWVzc2FnZU1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtMTE1Db21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTExNTW9kdWxlIHt9XHJcbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUEwQnhELE1BQU0sT0FBTyxTQUFTOytHQUFULFNBQVM7Z0hBQVQsU0FBUyxpQkF0QmxCLFlBQVk7WUFDWiw0QkFBNEI7WUFDNUIsc0JBQXNCO1lBQ3RCLG9CQUFvQixhQUdwQixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixlQUFlO1lBQ2YsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YseUJBQXlCO1lBQ3pCLGdCQUFnQjtZQUNoQixnQkFBZ0IsYUFFUixZQUFZO2dIQUVYLFNBQVMsWUFoQmxCLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZix5QkFBeUI7WUFDekIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjs7NEZBSVAsU0FBUztrQkF4QnJCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLFlBQVk7d0JBQ1osNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YseUJBQXlCO3dCQUN6QixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IExMTUNvbXBvbmVudCB9IGZyb20gJy4vbGxtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgUmVwaHJhc2VUcmFuc2xhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZXBocmFzZS10cmFuc2xhdGlvbi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDcmVhdGVTdW1tYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NyZWF0ZS1zdW1tYXJ5L2NyZWF0ZS1zdW1tYXJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTExNVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9sbG0tdGV4dGFyZWEvbGxtLXRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2VNb2R1bGUgfSBmcm9tICcuLi9ub3RpZmljYXRpb24tbWVzc2FnZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBMTE1Db21wb25lbnQsXHJcbiAgICBSZXBocmFzZVRyYW5zbGF0aW9uQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlU3VtbWFyeUNvbXBvbmVudCxcclxuICAgIExMTVRleHRhcmVhQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBDbGlwYm9hcmRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBOb3RpZmljYXRpb25NZXNzYWdlTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtMTE1Db21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTExNTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLWNvbmZpZ3VyYXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL21vZGVscy9sbG0tY29uZmlndXJhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMTE1Db25maWd1cmF0aW9uIHtcclxuICBzZXJ2aWNlVXJsOiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uVXJsOiBzdHJpbmc7XHJcbiAgc3VwcG9ydEVtYWlsOiBzdHJpbmc7XHJcbiAgeEFwaUtleTogc3RyaW5nLFxyXG4gIGFwcElkOiBzdHJpbmdcclxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLWNvbmZpZ3VyYXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL21vZGVscy9sbG0tY29uZmlndXJhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMTE1Db25maWd1cmF0aW9uIHtcclxuICBzZXJ2aWNlVXJsOiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uVXJsOiBzdHJpbmc7XHJcbiAgc3VwcG9ydEVtYWlsOiBzdHJpbmc7XHJcbiAgeEFwaUtleTogc3RyaW5nLFxyXG4gIGFwcElkOiBzdHJpbmcsXHJcbiAgcGxhdXNpYmxlRG9tYWluPzogc3RyaW5nXHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL21vZGVscy9sbG0tZGF0YS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMTE1EYXRhIHtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgbGFuZ3VhZ2U6IHN0cmluZztcclxufSJdfQ==
@@ -1,31 +1,20 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { LLM_CONFIGURATION_TOKEN } from '../models/llm-configuration.token';
3
- import { Subject, takeUntil } from 'rxjs';
4
3
  import { AuthHeadersHelper } from '../../helpers';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@angular/common/http";
7
6
  export class LLMService {
8
7
  constructor(http, config) {
9
8
  this.http = http;
10
- this.cancelSubject = new Subject();
11
9
  this.llmConfiguration = config;
12
10
  }
13
11
  summarize(request) {
14
12
  const headers = AuthHeadersHelper.getApiV2AuthHeaders(this.llmConfiguration.xApiKey, this.llmConfiguration.appId);
15
- return this.http
16
- .post(`${this.llmConfiguration.serviceUrl}/summarize`, request, { responseType: "text", headers })
17
- .pipe(takeUntil(this.cancelSubject));
13
+ return this.http.post(`${this.llmConfiguration.serviceUrl}/summarize`, request, { responseType: "text", headers });
18
14
  }
19
15
  rephrase(request) {
20
16
  const headers = AuthHeadersHelper.getApiV2AuthHeaders(this.llmConfiguration.xApiKey, this.llmConfiguration.appId);
21
- return this.http
22
- .post(`${this.llmConfiguration.serviceUrl}/rewrite`, request, { responseType: "text", headers })
23
- .pipe(takeUntil(this.cancelSubject));
24
- }
25
- cancelRequest() {
26
- this.cancelSubject.next();
27
- this.cancelSubject.complete();
28
- this.cancelSubject = new Subject();
17
+ return this.http.post(`${this.llmConfiguration.serviceUrl}/rewrite`, request, { responseType: "text", headers });
29
18
  }
30
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LLMService, deps: [{ token: i1.HttpClient }, { token: LLM_CONFIGURATION_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
31
20
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LLMService, providedIn: 'root' }); }
@@ -39,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
39
28
  type: Inject,
40
29
  args: [LLM_CONFIGURATION_TOKEN]
41
30
  }] }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL3NlcnZpY2VzL2xsbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTVFLE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxVQUFVO0lBS3JCLFlBQTZCLElBQWdCLEVBQW1DLE1BQXdCO1FBQTNFLFNBQUksR0FBSixJQUFJLENBQVk7UUFKckMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFZO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxILE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUNqRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBb0I7UUFDM0IsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEgsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLFVBQVUsRUFBRSxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO2FBQy9GLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBN0JVLFVBQVUsNENBS2tDLHVCQUF1QjttSEFMbkUsVUFBVSxjQUZULE1BQU07OzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNaUQsTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTExNX0NPTkZJR1VSQVRJT05fVE9LRU4gfSBmcm9tICcuLi9tb2RlbHMvbGxtLWNvbmZpZ3VyYXRpb24udG9rZW4nO1xyXG5pbXBvcnQgeyBMTE1Db25maWd1cmF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2xsbS1jb25maWd1cmF0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExMTSB9IGZyb20gJy4uL21vZGVscy9sbG0ubW9kZWwnO1xyXG5pbXBvcnQgeyBMTE1SZXBocmFzZSB9IGZyb20gJy4uL21vZGVscy9sbG0tcmVwaHJhc2UubW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoSGVhZGVyc0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTExNU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjYW5jZWxTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgbGxtQ29uZmlndXJhdGlvbiE6IExMTUNvbmZpZ3VyYXRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChMTE1fQ09ORklHVVJBVElPTl9UT0tFTikgY29uZmlnOiBMTE1Db25maWd1cmF0aW9uKSB7XHJcbiAgICB0aGlzLmxsbUNvbmZpZ3VyYXRpb24gPSBjb25maWc7XHJcbiAgfVxyXG5cclxuICBzdW1tYXJpemUocmVxdWVzdDogTExNKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMubGxtQ29uZmlndXJhdGlvbi54QXBpS2V5LCB0aGlzLmxsbUNvbmZpZ3VyYXRpb24uYXBwSWQpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3QoYCR7dGhpcy5sbG1Db25maWd1cmF0aW9uLnNlcnZpY2VVcmx9L3N1bW1hcml6ZWAsIHJlcXVlc3QsIHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiwgaGVhZGVycyB9KVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jYW5jZWxTdWJqZWN0KSk7XHJcbiAgfVxyXG5cclxuICByZXBocmFzZShyZXF1ZXN0OiBMTE1SZXBocmFzZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gQXV0aEhlYWRlcnNIZWxwZXIuZ2V0QXBpVjJBdXRoSGVhZGVycyh0aGlzLmxsbUNvbmZpZ3VyYXRpb24ueEFwaUtleSwgdGhpcy5sbG1Db25maWd1cmF0aW9uLmFwcElkKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KGAke3RoaXMubGxtQ29uZmlndXJhdGlvbi5zZXJ2aWNlVXJsfS9yZXdyaXRlYCwgcmVxdWVzdCwgeyByZXNwb25zZVR5cGU6IFwidGV4dFwiLCBoZWFkZXJzIH0pXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNhbmNlbFN1YmplY3QpKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbFJlcXVlc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbmNlbFN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5jYW5jZWxTdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNhbmNlbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL3NlcnZpY2VzL2xsbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxVQUFVO0lBR3JCLFlBQTZCLElBQWdCLEVBQW1DLE1BQXdCO1FBQTNFLFNBQUksR0FBSixJQUFJLENBQVk7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWdCO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ3BILENBQUM7SUFFRCxRQUFRLENBQUMsT0FBb0I7UUFDM0IsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLFVBQVUsRUFBRSxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDbEgsQ0FBQzsrR0FmVSxVQUFVLDRDQUdrQyx1QkFBdUI7bUhBSG5FLFVBQVUsY0FGVCxNQUFNOzs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSWlELE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExMTV9DT05GSUdVUkFUSU9OX1RPS0VOIH0gZnJvbSAnLi4vbW9kZWxzL2xsbS1jb25maWd1cmF0aW9uLnRva2VuJztcclxuaW1wb3J0IHsgTExNQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9sbG0tY29uZmlndXJhdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTExNRGF0YSB9IGZyb20gJy4uL21vZGVscy9sbG0tZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7IExMTVJlcGhyYXNlIH0gZnJvbSAnLi4vbW9kZWxzL2xsbS1yZXBocmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IEF1dGhIZWFkZXJzSGVscGVyIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMTE1TZXJ2aWNlIHtcclxuICBsbG1Db25maWd1cmF0aW9uITogTExNQ29uZmlndXJhdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KExMTV9DT05GSUdVUkFUSU9OX1RPS0VOKSBjb25maWc6IExMTUNvbmZpZ3VyYXRpb24pIHtcclxuICAgIHRoaXMubGxtQ29uZmlndXJhdGlvbiA9IGNvbmZpZztcclxuICB9XHJcblxyXG4gIHN1bW1hcml6ZShyZXF1ZXN0OiBMTE1EYXRhKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMubGxtQ29uZmlndXJhdGlvbi54QXBpS2V5LCB0aGlzLmxsbUNvbmZpZ3VyYXRpb24uYXBwSWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMubGxtQ29uZmlndXJhdGlvbi5zZXJ2aWNlVXJsfS9zdW1tYXJpemVgLCByZXF1ZXN0LCB7IHJlc3BvbnNlVHlwZTogXCJ0ZXh0XCIsIGhlYWRlcnMgfSlcclxuICB9XHJcblxyXG4gIHJlcGhyYXNlKHJlcXVlc3Q6IExMTVJlcGhyYXNlKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMubGxtQ29uZmlndXJhdGlvbi54QXBpS2V5LCB0aGlzLmxsbUNvbmZpZ3VyYXRpb24uYXBwSWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMubGxtQ29uZmlndXJhdGlvbi5zZXJ2aWNlVXJsfS9yZXdyaXRlYCwgcmVxdWVzdCwgeyByZXNwb25zZVR5cGU6IFwidGV4dFwiLCBoZWFkZXJzIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,26 +1,28 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { PlausibleHelper } from '../../plausible';
3
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "./llm.service";
4
5
  export class PlausibleService {
5
- constructor() {
6
+ constructor(llmService) {
7
+ this.llmService = llmService;
6
8
  this.addPlausible();
7
9
  }
8
10
  summaryCopyEvent() {
9
- PlausibleHelper.customEvent('summary', 'copy');
11
+ PlausibleHelper.customEvent('summary', { action: 'copy' });
10
12
  }
11
13
  summaryDislikeEvent() {
12
- PlausibleHelper.customEvent('summary', 'dislike');
14
+ PlausibleHelper.customEvent('summary', { action: 'dislike' });
13
15
  }
14
16
  rephraseCopyEvent() {
15
- PlausibleHelper.customEvent('rephrase', 'copy');
17
+ PlausibleHelper.customEvent('rephrase', { action: 'copy' });
16
18
  }
17
19
  rephraseDislikeEvent() {
18
- PlausibleHelper.customEvent('rephrase', 'dislike');
20
+ PlausibleHelper.customEvent('rephrase', { action: 'dislike' });
19
21
  }
20
22
  addPlausible() {
21
- PlausibleHelper.addPlausible(window.location.host);
23
+ PlausibleHelper.addPlausible(this.llmService.llmConfiguration?.plausibleDomain ?? window.location.host);
22
24
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlausibleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlausibleService, deps: [{ token: i1.LLMService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
26
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlausibleService, providedIn: 'root' }); }
25
27
  }
26
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlausibleService, decorators: [{
@@ -28,5 +30,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
28
30
  args: [{
29
31
  providedIn: 'root'
30
32
  }]
31
- }], ctorParameters: function () { return []; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdXNpYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL3NlcnZpY2VzL3BsYXVzaWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUtsRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCO1FBQ0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxlQUFlLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLGVBQWUsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxpQkFBaUI7UUFDZixlQUFlLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLGVBQWUsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxZQUFZO1FBQ2xCLGVBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDOytHQXZCVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBsYXVzaWJsZUhlbHBlciB9IGZyb20gJy4uLy4uL3BsYXVzaWJsZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF1c2libGVTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoKSB7XHJcbiAgICB0aGlzLmFkZFBsYXVzaWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc3VtbWFyeUNvcHlFdmVudCgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5jdXN0b21FdmVudCgnc3VtbWFyeScsICdjb3B5Jyk7XHJcbiAgfVxyXG5cclxuICBzdW1tYXJ5RGlzbGlrZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KCdzdW1tYXJ5JywgJ2Rpc2xpa2UnKTtcclxuICB9XHJcblxyXG4gIHJlcGhyYXNlQ29weUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KCdyZXBocmFzZScsICdjb3B5Jyk7XHJcbiAgfVxyXG5cclxuICByZXBocmFzZURpc2xpa2VFdmVudCgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5jdXN0b21FdmVudCgncmVwaHJhc2UnLCAnZGlzbGlrZScpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRQbGF1c2libGUoKTogdm9pZCB7XHJcbiAgICBQbGF1c2libGVIZWxwZXIuYWRkUGxhdXNpYmxlKHdpbmRvdy5sb2NhdGlvbi5ob3N0KTtcclxuICB9XHJcbn1cclxuIl19
33
+ }], ctorParameters: function () { return [{ type: i1.LLMService }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdXNpYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL3NlcnZpY2VzL3BsYXVzaWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFNbEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUE4QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2xELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsZUFBZSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLGVBQWUsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGlCQUFpQjtRQUNmLGVBQWUsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixlQUFlLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxZQUFZO1FBQ2xCLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRyxDQUFDOytHQXZCVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBsYXVzaWJsZUhlbHBlciB9IGZyb20gJy4uLy4uL3BsYXVzaWJsZSc7XHJcbmltcG9ydCB7IExMTVNlcnZpY2UgfSBmcm9tICcuL2xsbS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBsYXVzaWJsZVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yIChwcml2YXRlIHJlYWRvbmx5IGxsbVNlcnZpY2U6IExMTVNlcnZpY2UpIHtcclxuICAgIHRoaXMuYWRkUGxhdXNpYmxlKCk7XHJcbiAgfVxyXG5cclxuICBzdW1tYXJ5Q29weUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KCdzdW1tYXJ5JywgeyBhY3Rpb246ICdjb3B5JyB9KTtcclxuICB9XHJcblxyXG4gIHN1bW1hcnlEaXNsaWtlRXZlbnQoKTogdm9pZCB7XHJcbiAgICBQbGF1c2libGVIZWxwZXIuY3VzdG9tRXZlbnQoJ3N1bW1hcnknLCB7IGFjdGlvbjogJ2Rpc2xpa2UnIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVwaHJhc2VDb3B5RXZlbnQoKTogdm9pZCB7XHJcbiAgICBQbGF1c2libGVIZWxwZXIuY3VzdG9tRXZlbnQoJ3JlcGhyYXNlJywgeyBhY3Rpb246ICdjb3B5JyB9KTtcclxuICB9XHJcblxyXG4gIHJlcGhyYXNlRGlzbGlrZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KCdyZXBocmFzZScsIHsgYWN0aW9uOiAnZGlzbGlrZScgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFBsYXVzaWJsZSgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5hZGRQbGF1c2libGUodGhpcy5sbG1TZXJ2aWNlLmxsbUNvbmZpZ3VyYXRpb24/LnBsYXVzaWJsZURvbWFpbiA/PyB3aW5kb3cubG9jYXRpb24uaG9zdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==