@rolatech/angular-comment 17.1.0 → 17.2.0
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.
- package/esm2022/lib/components/comment-action/comment-action.component.mjs +16 -27
- package/esm2022/lib/components/comment-item/comment-item.component.mjs +10 -9
- package/esm2022/lib/components/comment-replies/comment-replies.component.mjs +15 -25
- package/esm2022/lib/components/comments/comments.component.mjs +9 -16
- package/esm2022/lib/components/comments-header/comments-header.component.mjs +17 -29
- package/esm2022/lib/components/reply-item/reply-item.component.mjs +13 -15
- package/esm2022/lib/interfaces/comment.interface.mjs +1 -1
- package/esm2022/lib/services/comment.service.mjs +10 -8
- package/fesm2022/rolatech-angular-comment.mjs +77 -116
- package/fesm2022/rolatech-angular-comment.mjs.map +1 -1
- package/lib/components/comment-action/comment-action.component.d.ts +6 -7
- package/lib/components/comment-item/comment-item.component.d.ts +5 -4
- package/lib/components/comment-replies/comment-replies.component.d.ts +6 -7
- package/lib/components/comments/comments.component.d.ts +2 -2
- package/lib/components/comments-header/comments-header.component.d.ts +5 -6
- package/lib/components/reply-item/reply-item.component.d.ts +5 -4
- package/lib/interfaces/comment.interface.d.ts +2 -2
- package/lib/services/comment.service.d.ts +3 -4
- package/package.json +1 -1
- package/themes/_default.scss +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, effect, inject, input, output } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { MatButtonModule } from '@angular/material/button';
|
|
4
4
|
import { MatIconModule } from '@angular/material/icon';
|
|
@@ -13,16 +13,20 @@ import * as i3 from "@angular/material/menu";
|
|
|
13
13
|
export class ReplyItemComponent {
|
|
14
14
|
constructor() {
|
|
15
15
|
this.commentService = inject(CommentService);
|
|
16
|
-
this.commentId =
|
|
17
|
-
this.
|
|
16
|
+
this.commentId = input.required();
|
|
17
|
+
this.item = input.required();
|
|
18
|
+
this.replied = output();
|
|
18
19
|
this.show = false;
|
|
20
|
+
effect(() => {
|
|
21
|
+
this.reply = this.item();
|
|
22
|
+
});
|
|
19
23
|
}
|
|
20
24
|
onReply(content) {
|
|
21
25
|
const data = {
|
|
22
26
|
replyId: this.reply.id,
|
|
23
27
|
content,
|
|
24
28
|
};
|
|
25
|
-
this.commentService.reply(this.commentId, data).subscribe({
|
|
29
|
+
this.commentService.reply(this.commentId(), data).subscribe({
|
|
26
30
|
next: (res) => {
|
|
27
31
|
this.commentService.onCommentLoading.emit(false);
|
|
28
32
|
this.replied.emit(res);
|
|
@@ -53,17 +57,11 @@ export class ReplyItemComponent {
|
|
|
53
57
|
},
|
|
54
58
|
});
|
|
55
59
|
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ReplyItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: ReplyItemComponent, isStandalone: true, selector: "rolatech-reply-item", inputs: { commentId: { classPropertyName: "commentId", publicName: "commentId", isSignal: true, isRequired: true, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { replied: "replied" }, ngImport: i0, template: "<div class=\"block w-full\">\n @if (reply) {\n <div class=\"flex group\">\n <div class=\"bg-orange-600 min-w-[28px] min-h-[28px] h-fit mr-3 rounded-full\">\n @if (reply.user && reply.user.avatar) {\n <img class=\"w-7 h-7 rounded-full\" [src]=\"reply.user.avatar\" />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (reply.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ reply.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ reply.createdAt | time }}</span>\n </a>\n <div [innerText]=\"reply.content\"></div>\n <rolatech-comment-action\n (reply)=\"onReply($event)\"\n [data]=\"reply\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-10\">\n <button\n class=\"hover:bg-gray-200 w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>\u4E3E\u62A5</span>\n </button>\n</mat-menu>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: CommentActionComponent, selector: "rolatech-comment-action", inputs: ["placeholder", "data"], outputs: ["reply", "thumbsUp", "thumbsDown"] }, { kind: "pipe", type: TimePipe, name: "time" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
|
|
58
62
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ReplyItemComponent, decorators: [{
|
|
60
64
|
type: Component,
|
|
61
65
|
args: [{ selector: 'rolatech-reply-item', standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, CommentActionComponent, TimePipe, MatMenuModule], template: "<div class=\"block w-full\">\n @if (reply) {\n <div class=\"flex group\">\n <div class=\"bg-orange-600 min-w-[28px] min-h-[28px] h-fit mr-3 rounded-full\">\n @if (reply.user && reply.user.avatar) {\n <img class=\"w-7 h-7 rounded-full\" [src]=\"reply.user.avatar\" />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (reply.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ reply.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ reply.createdAt | time }}</span>\n </a>\n <div [innerText]=\"reply.content\"></div>\n <rolatech-comment-action\n (reply)=\"onReply($event)\"\n [data]=\"reply\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-10\">\n <button\n class=\"hover:bg-gray-200 w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>\u4E3E\u62A5</span>\n </button>\n</mat-menu>\n" }]
|
|
62
|
-
}],
|
|
63
|
-
|
|
64
|
-
}], commentId: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], replied: [{
|
|
67
|
-
type: Output
|
|
68
|
-
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tbWVudC9zcmMvbGliL2NvbXBvbmVudHMvcmVwbHktaXRlbS9yZXBseS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21tZW50L3NyYy9saWIvY29tcG9uZW50cy9yZXBseS1pdGVtL3JlcGx5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBUXZELE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFRRSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUvQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2QsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFDOUMsU0FBSSxHQUFHLEtBQUssQ0FBQztLQXFDZDtJQXBDQyxPQUFPLENBQUMsT0FBZTtRQUNyQixNQUFNLElBQUksR0FBRztZQUNYLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsT0FBTztTQUNSLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN4RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUQsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F6Q1Usa0JBQWtCO2tHQUFsQixrQkFBa0Isb0tDaEIvQiw0OENBMENBLHlERDlCWSxZQUFZLDRIQUFFLGVBQWUsOEJBQUUsYUFBYSxvTEFBRSxzQkFBc0IsOElBQUUsUUFBUSw0Q0FBRSxhQUFhOzsyRkFJNUYsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDOzhCQU0vRixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlcGx5IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQ29tbWVudEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1lbnQtYWN0aW9uL2NvbW1lbnQtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFRpbWVQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXJlcGx5LWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIENvbW1lbnRBY3Rpb25Db21wb25lbnQsIFRpbWVQaXBlLCBNYXRNZW51TW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGx5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcmVwbHktaXRlbS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFJlcGx5SXRlbUNvbXBvbmVudCB7XG4gIGNvbW1lbnRTZXJ2aWNlID0gaW5qZWN0KENvbW1lbnRTZXJ2aWNlKTtcbiAgQElucHV0KCkgcmVwbHkhOiBSZXBseTtcbiAgQElucHV0KCkgY29tbWVudElkID0gJyc7XG4gIEBPdXRwdXQoKSByZXBsaWVkID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBseT4oKTtcbiAgc2hvdyA9IGZhbHNlO1xuICBvblJlcGx5KGNvbnRlbnQ6IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICByZXBseUlkOiB0aGlzLnJlcGx5LmlkLFxuICAgICAgY29udGVudCxcbiAgICB9O1xuICAgIHRoaXMuY29tbWVudFNlcnZpY2UucmVwbHkodGhpcy5jb21tZW50SWQsIGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuY29tbWVudFNlcnZpY2Uub25Db21tZW50TG9hZGluZy5lbWl0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5yZXBsaWVkLmVtaXQocmVzKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuY29tbWVudFNlcnZpY2Uub25Db21tZW50TG9hZGluZy5lbWl0KGZhbHNlKTtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvblRodW1ic1VwKCkge1xuICAgIHRoaXMuY29tbWVudFNlcnZpY2UucmVwbHlUaHVtYnNVcCh0aGlzLnJlcGx5LmlkISkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5yZXBseS50aHVtYnNVcENvdW50ID0gcmVzLmRhdGEudGh1bWJzVXBDb3VudDtcbiAgICAgICAgdGhpcy5yZXBseS50aHVtYnNEb3duQ291bnQgPSByZXMuZGF0YS50aHVtYnNEb3duQ291bnQ7XG4gICAgICAgIHRoaXMucmVwbHkubGlrZSA9IHRydWU7XG4gICAgICAgIHRoaXMucmVwbHkuZGlzbGlrZSA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvblRodW1ic0Rvd24oKSB7XG4gICAgdGhpcy5jb21tZW50U2VydmljZS5yZXBseVRodW1ic0Rvd24odGhpcy5yZXBseS5pZCEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucmVwbHkudGh1bWJzVXBDb3VudCA9IHJlcy5kYXRhLnRodW1ic1VwQ291bnQ7XG4gICAgICAgIHRoaXMucmVwbHkudGh1bWJzRG93bkNvdW50ID0gcmVzLmRhdGEudGh1bWJzRG93bkNvdW50O1xuICAgICAgICB0aGlzLnJlcGx5Lmxpa2UgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXBseS5kaXNsaWtlID0gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJibG9jayB3LWZ1bGxcIj5cbiAgQGlmIChyZXBseSkge1xuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3VwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYmctb3JhbmdlLTYwMCBtaW4tdy1bMjhweF0gbWluLWgtWzI4cHhdIGgtZml0IG1yLTMgcm91bmRlZC1mdWxsXCI+XG4gICAgICAgIEBpZiAocmVwbHkudXNlciAmJiByZXBseS51c2VyLmF2YXRhcikge1xuICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTcgaC03IHJvdW5kZWQtZnVsbFwiIFtzcmNdPVwicmVwbHkudXNlci5hdmF0YXJcIiAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHctZnVsbFwiPlxuICAgICAgICA8YSBjbGFzcz1cIm1iLTAuNVwiPlxuICAgICAgICAgIEBpZiAocmVwbHkudXNlcikge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW1kIGZvbnQtc2VtaWJvbGQgbXItMVwiPiYjNjQ7e3sgcmVwbHkudXNlci51c2VybmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIG9wYWNpdHktNzBcIj57eyByZXBseS5jcmVhdGVkQXQgfCB0aW1lIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxkaXYgW2lubmVyVGV4dF09XCJyZXBseS5jb250ZW50XCI+PC9kaXY+XG4gICAgICAgIDxyb2xhdGVjaC1jb21tZW50LWFjdGlvblxuICAgICAgICAgIChyZXBseSk9XCJvblJlcGx5KCRldmVudClcIlxuICAgICAgICAgIFtkYXRhXT1cInJlcGx5XCJcbiAgICAgICAgICAodGh1bWJzVXApPVwib25UaHVtYnNVcCgpXCJcbiAgICAgICAgICAodGh1bWJzRG93bik9XCJvblRodW1ic0Rvd24oKVwiXG4gICAgICAgID48L3JvbGF0ZWNoLWNvbW1lbnQtYWN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXctMTBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiaG92ZXI6YmctZ3JheS0yMDAgdy05IGgtOSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgZ3JvdXAtaG92ZXI6dmlzaWJsZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwibWVtbnUubWVudU9wZW4gPyAndmlzaWJsZScgOiAnaW52aXNpYmxlJ1wiXG4gICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbk1lbnVcIlxuICAgICAgICAgICNtZW1udT1cIm1hdE1lbnVUcmlnZ2VyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbjxtYXQtbWVudSAjYWN0aW9uTWVudT1cIm1hdE1lbnVcIj5cbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPlxuICAgIDxtYXQtaWNvbj5mbGFnPC9tYXQtaWNvbj5cbiAgICA8c3Bhbj7kuL7miqU8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9tYXQtbWVudT5cbiJdfQ==
|
|
66
|
+
}], ctorParameters: () => [] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbHktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tbWVudC9zcmMvbGliL2NvbXBvbmVudHMvcmVwbHktaXRlbS9yZXBseS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21tZW50L3NyYy9saWIvY29tcG9uZW50cy9yZXBseS1pdGVtL3JlcGx5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBUXZELE1BQU0sT0FBTyxrQkFBa0I7SUFNN0I7UUFMQSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3JDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFTLENBQUM7UUFDL0IsWUFBTyxHQUFHLE1BQU0sRUFBUyxDQUFDO1FBUTFCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFMWCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsT0FBTyxDQUFDLE9BQWU7UUFDckIsTUFBTSxJQUFJLEdBQUc7WUFDWCxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLE9BQU87U0FDUixDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDM0QsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FoRFUsa0JBQWtCO2tHQUFsQixrQkFBa0IsbVhDaEIvQiw0OENBMENBLHlERDlCWSxZQUFZLDRIQUFFLGVBQWUsOEJBQUUsYUFBYSxvTEFBRSxzQkFBc0IsOElBQUUsUUFBUSw0Q0FBRSxhQUFhOzsyRkFJNUYsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlcGx5IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQ29tbWVudEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1lbnQtYWN0aW9uL2NvbW1lbnQtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFRpbWVQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXJlcGx5LWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIENvbW1lbnRBY3Rpb25Db21wb25lbnQsIFRpbWVQaXBlLCBNYXRNZW51TW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGx5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcmVwbHktaXRlbS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFJlcGx5SXRlbUNvbXBvbmVudCB7XG4gIGNvbW1lbnRTZXJ2aWNlID0gaW5qZWN0KENvbW1lbnRTZXJ2aWNlKTtcbiAgY29tbWVudElkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBpdGVtID0gaW5wdXQucmVxdWlyZWQ8UmVwbHk+KCk7XG4gIHJlcGxpZWQgPSBvdXRwdXQ8UmVwbHk+KCk7XG4gIHJlcGx5ITogUmVwbHk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnJlcGx5ID0gdGhpcy5pdGVtKCk7XG4gICAgfSk7XG4gIH1cblxuICBzaG93ID0gZmFsc2U7XG4gIG9uUmVwbHkoY29udGVudDogc3RyaW5nKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIHJlcGx5SWQ6IHRoaXMucmVwbHkuaWQsXG4gICAgICBjb250ZW50LFxuICAgIH07XG4gICAgdGhpcy5jb21tZW50U2VydmljZS5yZXBseSh0aGlzLmNvbW1lbnRJZCgpLCBkYXRhKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmNvbW1lbnRTZXJ2aWNlLm9uQ29tbWVudExvYWRpbmcuZW1pdChmYWxzZSk7XG4gICAgICAgIHRoaXMucmVwbGllZC5lbWl0KHJlcyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmNvbW1lbnRTZXJ2aWNlLm9uQ29tbWVudExvYWRpbmcuZW1pdChmYWxzZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgb25UaHVtYnNVcCgpIHtcbiAgICB0aGlzLmNvbW1lbnRTZXJ2aWNlLnJlcGx5VGh1bWJzVXAodGhpcy5yZXBseS5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5yZXBseS50aHVtYnNVcENvdW50ID0gcmVzLmRhdGEudGh1bWJzVXBDb3VudDtcbiAgICAgICAgdGhpcy5yZXBseS50aHVtYnNEb3duQ291bnQgPSByZXMuZGF0YS50aHVtYnNEb3duQ291bnQ7XG4gICAgICAgIHRoaXMucmVwbHkubGlrZSA9IHRydWU7XG4gICAgICAgIHRoaXMucmVwbHkuZGlzbGlrZSA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvblRodW1ic0Rvd24oKSB7XG4gICAgdGhpcy5jb21tZW50U2VydmljZS5yZXBseVRodW1ic0Rvd24odGhpcy5yZXBseS5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5yZXBseS50aHVtYnNVcENvdW50ID0gcmVzLmRhdGEudGh1bWJzVXBDb3VudDtcbiAgICAgICAgdGhpcy5yZXBseS50aHVtYnNEb3duQ291bnQgPSByZXMuZGF0YS50aHVtYnNEb3duQ291bnQ7XG4gICAgICAgIHRoaXMucmVwbHkubGlrZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlcGx5LmRpc2xpa2UgPSB0cnVlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJsb2NrIHctZnVsbFwiPlxuICBAaWYgKHJlcGx5KSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ3JvdXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJiZy1vcmFuZ2UtNjAwIG1pbi13LVsyOHB4XSBtaW4taC1bMjhweF0gaC1maXQgbXItMyByb3VuZGVkLWZ1bGxcIj5cbiAgICAgICAgQGlmIChyZXBseS51c2VyICYmIHJlcGx5LnVzZXIuYXZhdGFyKSB7XG4gICAgICAgICAgPGltZyBjbGFzcz1cInctNyBoLTcgcm91bmRlZC1mdWxsXCIgW3NyY109XCJyZXBseS51c2VyLmF2YXRhclwiIC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdy1mdWxsXCI+XG4gICAgICAgIDxhIGNsYXNzPVwibWItMC41XCI+XG4gICAgICAgICAgQGlmIChyZXBseS51c2VyKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbWQgZm9udC1zZW1pYm9sZCBtci0xXCI+JiM2NDt7eyByZXBseS51c2VyLnVzZXJuYW1lIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gb3BhY2l0eS03MFwiPnt7IHJlcGx5LmNyZWF0ZWRBdCB8IHRpbWUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGRpdiBbaW5uZXJUZXh0XT1cInJlcGx5LmNvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgPHJvbGF0ZWNoLWNvbW1lbnQtYWN0aW9uXG4gICAgICAgICAgKHJlcGx5KT1cIm9uUmVwbHkoJGV2ZW50KVwiXG4gICAgICAgICAgW2RhdGFdPVwicmVwbHlcIlxuICAgICAgICAgICh0aHVtYnNVcCk9XCJvblRodW1ic1VwKClcIlxuICAgICAgICAgICh0aHVtYnNEb3duKT1cIm9uVGh1bWJzRG93bigpXCJcbiAgICAgICAgPjwvcm9sYXRlY2gtY29tbWVudC1hY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0xMFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJob3ZlcjpiZy1ncmF5LTIwMCB3LTkgaC05IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBncm91cC1ob3Zlcjp2aXNpYmxlXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJtZW1udS5tZW51T3BlbiA/ICd2aXNpYmxlJyA6ICdpbnZpc2libGUnXCJcbiAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9uTWVudVwiXG4gICAgICAgICAgI21lbW51PVwibWF0TWVudVRyaWdnZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuPG1hdC1tZW51ICNhY3Rpb25NZW51PVwibWF0TWVudVwiPlxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+XG4gICAgPG1hdC1pY29uPmZsYWc8L21hdC1pY29uPlxuICAgIDxzcGFuPuS4vuaKpTwvc3Bhbj5cbiAgPC9idXR0b24+XG48L21hdC1tZW51PlxuIl19
|
|
@@ -3,4 +3,4 @@ export var ThumbStatus;
|
|
|
3
3
|
ThumbStatus[ThumbStatus["UP"] = 'Like'] = "UP";
|
|
4
4
|
ThumbStatus[ThumbStatus["DOWN"] = 'Dislike'] = "DOWN";
|
|
5
5
|
})(ThumbStatus || (ThumbStatus = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tbWVudC9zcmMvbGliL2ludGVyZmFjZXMvY29tbWVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNBLE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsZ0NBQVUsTUFBTSxRQUFBLENBQUE7SUFDaEIsa0NBQVksU0FBUyxVQUFBLENBQUE7QUFDdkIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb21tZW50IHtcbiAgaWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgaXRlbUlkOiBzdHJpbmc7XG4gIHJlcGxpZXM6IFJlcGx5W107XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1c2VyOiBDb21tZW50VXNlcjtcbiAgcmVwbGllc0NvdW50OiBudW1iZXI7XG4gIHRodW1ic1VwQ291bnQ6IG51bWJlcjtcbiAgdGh1bWJzRG93bkNvdW50OiBudW1iZXI7XG4gIGxpa2U6IGJvb2xlYW47XG4gIGRpc2xpa2U6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFJlcGx5IHtcbiAgaWQ6IHN0cmluZztcbiAgY29tbWVudElkOiBzdHJpbmc7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgc2VuZGVySWQ6IHN0cmluZztcbiAgcmVwbHlJZD86IHN0cmluZztcbiAgcmVjaXBpZW50SWQ6IHN0cmluZztcbiAgcmVwbGllcz86IFJlcGx5W107XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1c2VyOiBDb21tZW50VXNlcjtcbiAgdGh1bWJzVXBDb3VudDogbnVtYmVyO1xuICB0aHVtYnNEb3duQ291bnQ6IG51bWJlcjtcbiAgbGlrZTogYm9vbGVhbjtcbiAgZGlzbGlrZTogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudFVzZXIge1xuICBpZDogc3RyaW5nO1xuICBhdmF0YXI/OiBzdHJpbmc7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFRodW1iIHtcbiAgaWQ6IHN0cmluZztcbiAgc3RhdHVzOiBUaHVtYlN0YXR1cyB8IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBUaHVtYlN0YXR1cyB7XG4gIFVQID0gPGFueT4nTGlrZScsXG4gIERPV04gPSA8YW55PidEaXNsaWtlJyxcbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Injectable, inject, output } from '@angular/core';
|
|
2
2
|
import { AuthService, AuthUserService } from '@rolatech/angular-auth';
|
|
3
3
|
import { BaseService } from '@rolatech/angular-services';
|
|
4
4
|
import _ from 'lodash';
|
|
@@ -9,9 +9,9 @@ export class CommentService extends BaseService {
|
|
|
9
9
|
super(...arguments);
|
|
10
10
|
this.authService = inject(AuthService);
|
|
11
11
|
this.authUserService = inject(AuthUserService);
|
|
12
|
-
this.onCommentLoading =
|
|
13
|
-
this.onComment =
|
|
14
|
-
this.onCommentReply =
|
|
12
|
+
this.onCommentLoading = output();
|
|
13
|
+
this.onComment = output();
|
|
14
|
+
this.onCommentReply = output();
|
|
15
15
|
}
|
|
16
16
|
init() {
|
|
17
17
|
this.endpoint = 'comments';
|
|
@@ -20,6 +20,7 @@ export class CommentService extends BaseService {
|
|
|
20
20
|
findComments(options) {
|
|
21
21
|
options = {
|
|
22
22
|
sort: 'createdAt desc',
|
|
23
|
+
limit: 20,
|
|
23
24
|
};
|
|
24
25
|
return this.http.get(`${this.actionUrl}`, { params: options }).pipe(map((res) => {
|
|
25
26
|
const userIds = _.uniq(_.map(res.data, 'userId')); // [12, 14, 16, 18]
|
|
@@ -31,6 +32,7 @@ export class CommentService extends BaseService {
|
|
|
31
32
|
const options = {
|
|
32
33
|
sort: 'createdAt desc',
|
|
33
34
|
filter: `itemId:${itemId}`,
|
|
35
|
+
limit: 2,
|
|
34
36
|
};
|
|
35
37
|
return this.http.get(`${this.actionUrl}`, { params: options }).pipe(switchMap((comments) => {
|
|
36
38
|
const userIds = _.uniq(_.map(comments.data, 'userId')); // [12, 14, 16, 18]
|
|
@@ -190,11 +192,11 @@ export class CommentService extends BaseService {
|
|
|
190
192
|
withCredentials: true,
|
|
191
193
|
});
|
|
192
194
|
}
|
|
193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
194
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
195
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CommentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
196
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CommentService, providedIn: 'root' }); }
|
|
195
197
|
}
|
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CommentService, decorators: [{
|
|
197
199
|
type: Injectable,
|
|
198
200
|
args: [{ providedIn: 'root' }]
|
|
199
201
|
}] });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbW1lbnQvc3JjL2xpYi9zZXJ2aWNlcy9jb21tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQWMsR0FBRyxFQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWhFLE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUQvQzs7UUFFRSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RCxjQUFTLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsbUJBQWMsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQTZOMUQ7SUEzTlUsSUFBSTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRCxZQUFZLENBQUMsT0FBWTtRQUN2QixPQUFPLEdBQUc7WUFDUixJQUFJLEVBQUUsZ0JBQWdCO1NBQ3ZCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNqRSxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNmLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7WUFDdEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9CLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxNQUFXO1FBQzlCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixNQUFNLEVBQUUsVUFBVSxNQUFNLEVBQUU7U0FDM0IsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2pFLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzFCLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7WUFDM0UsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN4QyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDakIsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDOUIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUM3RCxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzFCLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7WUFDbkUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FDdkMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUN0QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO3dCQUNsQixRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFOzRCQUN2QyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDM0YsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQzs0QkFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQzt3QkFDcEQsQ0FBQyxDQUFDLENBQUM7d0JBQ0gsT0FBTyxRQUFRLENBQUM7b0JBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7Z0JBQ0osQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVM7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDL0IsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxNQUFjO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELHVCQUF1QixDQUFDLFNBQWlCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsS0FBSyxDQUFDLEVBQVUsRUFBRSxJQUFTO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtZQUM3QyxlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxTQUFpQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDakUsU0FBUyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDekIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtZQUM1RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN2QyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDWixPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUM3QixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7b0JBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUN2QyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEIsSUFBSSxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3RCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDdkMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ2IsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTs0QkFDckMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3hGLEtBQUssQ0FBQyxJQUFJLEdBQUcsYUFBYSxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUM7NEJBQzVDLEtBQUssQ0FBQyxPQUFPLEdBQUcsYUFBYSxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUM7d0JBQ25ELENBQUMsQ0FBQyxDQUFDO3dCQUNILE9BQU8sT0FBTyxDQUFDO29CQUNqQixDQUFDLENBQUMsQ0FDSCxDQUFDO2dCQUNKLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxZQUFZLEVBQzFDLEVBQUUsRUFDRjtZQUNFLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxTQUFpQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxjQUFjLEVBQzVDLEVBQUUsRUFDRjtZQUNFLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxTQUFpQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLFlBQVksRUFBRTtZQUNsRSxlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsdUJBQXVCLENBQUMsU0FBaUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxjQUFjLEVBQUU7WUFDcEUsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGFBQWEsQ0FBQyxPQUFlO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLFNBQVMsWUFBWSxPQUFPLFlBQVksRUFDaEQsRUFBRSxFQUNGO1lBQ0UsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELGVBQWUsQ0FBQyxPQUFlO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLFNBQVMsWUFBWSxPQUFPLGNBQWMsRUFDbEQsRUFBRSxFQUNGO1lBQ0UsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQWU7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxZQUFZLEVBQUU7WUFDaEUsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELHFCQUFxQixDQUFDLE9BQWU7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxjQUFjLEVBQUU7WUFDbEUsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9ELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ25CLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9ELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsZUFBZSxDQUFDLEdBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsR0FBa0I7UUFDakMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxHQUFrQjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFlBQVksRUFBRTtZQUNsRCxNQUFNLEVBQUUsTUFBTTtZQUNkLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxHQUFrQjtRQUNwQyxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLG9CQUFvQixFQUFFO1lBQzFELE1BQU0sRUFBRSxNQUFNO1lBQ2QsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FqT1UsY0FBYztrSEFBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBBdXRoVXNlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCwgbWVyZ2VNYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbW1lbnQsIFJlcGx5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29tbWVudFNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG4gIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgYXV0aFVzZXJTZXJ2aWNlID0gaW5qZWN0KEF1dGhVc2VyU2VydmljZSk7XG4gIG9uQ29tbWVudExvYWRpbmc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgb25Db21tZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIG9uQ29tbWVudFJlcGx5OiBFdmVudEVtaXR0ZXI8UmVwbHk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG92ZXJyaWRlIGluaXQoKSB7XG4gICAgdGhpcy5lbmRwb2ludCA9ICdjb21tZW50cyc7XG4gICAgc3VwZXIuaW5pdCgpO1xuICB9XG4gIGZpbmRDb21tZW50cyhvcHRpb25zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICBzb3J0OiAnY3JlYXRlZEF0IGRlc2MnLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9YCwgeyBwYXJhbXM6IG9wdGlvbnMgfSkucGlwZShcbiAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgdXNlcklkcyA9IF8udW5pcShfLm1hcChyZXMuZGF0YSwgJ3VzZXJJZCcpKTsgLy8gWzEyLCAxNCwgMTYsIDE4XVxuICAgICAgICB0aGlzLmZpbmRDb21tZW50c1VzZXIodXNlcklkcyk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIGZpbmRDb21tZW50c0J5SXRlbUlkKGl0ZW1JZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgc29ydDogJ2NyZWF0ZWRBdCBkZXNjJyxcbiAgICAgIGZpbHRlcjogYGl0ZW1JZDoke2l0ZW1JZH1gLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9YCwgeyBwYXJhbXM6IG9wdGlvbnMgfSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoY29tbWVudHM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VySWRzID0gXy51bmlxKF8ubWFwKGNvbW1lbnRzLmRhdGEsICd1c2VySWQnKSk7IC8vIFsxMiwgMTQsIDE2LCAxOF1cbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZENvbW1lbnRzVXNlcih1c2VySWRzKS5waXBlKFxuICAgICAgICAgIG1hcCgodXNlcnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29tbWVudHMuZGF0YT8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZ1VzZXIgPSBfLmZpbmQodXNlcnMuZGF0YSwgeyBpZDogaXRlbS51c2VySWQgfSk7XG4gICAgICAgICAgICAgIGl0ZW0udXNlciA9IG1hdGNoaW5nVXNlcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGNvbW1lbnRzO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKGNvbW1lbnRzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgaWRzID0gXy51bmlxKF8ubWFwKGNvbW1lbnRzLmRhdGEsICdpZCcpKTsgLy8gWzEyLCAxNCwgMTYsIDE4XVxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5pbnRyb3NwZWN0KCkucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcy5hdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmRNeUNvbW1lbnRzVGh1bWJzKGlkcykucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHRodW1iczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb21tZW50cy5kYXRhPy5mb3JFYWNoKChpdGVtOiBDb21tZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nQ29tbWVudCA9IF8uZmluZCh0aHVtYnMuZGF0YSwgKG9iaikgPT4gXy5nZXQob2JqLCBgY29tbWVudC5pZGApID09PSBpdGVtLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5saWtlID0gbWF0Y2hpbmdDb21tZW50Py5zdGF0dXMgPT09ICdVUCc7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZGlzbGlrZSA9IG1hdGNoaW5nQ29tbWVudD8uc3RhdHVzID09PSAnRE9XTic7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjb21tZW50cztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihjb21tZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlQ29tbWVudChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KGAke3RoaXMuYWN0aW9uVXJsfWAsIGRhdGEsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgcmVzLmRhdGEucmVwbGllc0NvdW50ID0gMDtcbiAgICAgICAgICB0aGlzLmdldFVzZXJJbmZvKHJlcy5kYXRhKTtcbiAgICAgICAgICByZXR1cm4gcmVzLmRhdGE7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuICBjb3VudENvbW1uZW50c0J5SXRlbUlkKGl0ZW1JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFjdGlvblVybH0vY291bnQvYnlgLCB7IHBhcmFtczogeyBpdGVtSWQgfSB9KTtcbiAgfVxuICBjb3VudFJlcGxpZXNCeUNvbW1lbnRJZChjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcGxpZXMvY291bnQvYnlgLCB7IHBhcmFtczogeyBjb21tZW50SWQgfSB9KTtcbiAgfVxuXG4gIHJlcGx5KGlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QoYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L3JlcGxpZXNgLCBkYXRhLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZ2V0UmVwbHlVc2VySW5mbyhyZXMuZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIHJlcy5kYXRhO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cbiAgZmluZFJlcGxpZXNCeUNvbW1lbnRJZChjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y29tbWVudElkfS9yZXBsaWVzYCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVwbGllczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXJJZHMgPSBfLnVuaXEoXy5tYXAocmVwbGllcy5kYXRhLCAnc2VuZGVySWQnKSk7IC8vIFsxMiwgMTQsIDE2LCAxOF1cbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFJlcGxpZXNVc2VyKHVzZXJJZHMpLnBpcGUoXG4gICAgICAgICAgbWFwKCh1c2VycykgPT4ge1xuICAgICAgICAgICAgcmVwbGllcy5kYXRhPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nVXNlciA9IF8uZmluZCh1c2Vycy5kYXRhLCB7IGlkOiBpdGVtLnNlbmRlcklkIH0pO1xuICAgICAgICAgICAgICBpdGVtLnVzZXIgPSBtYXRjaGluZ1VzZXI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXBsaWVzO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKHJlcGxpZXMpID0+IHtcbiAgICAgICAgY29uc3QgaWRzID0gXy51bmlxKF8ubWFwKHJlcGxpZXMuZGF0YSwgJ2lkJykpO1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5pbnRyb3NwZWN0KCkucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcy5hdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmRNeVJlcGxpZXNUaHVtYnMoaWRzKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgodGh1bWJzKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXBsaWVzLmRhdGE/LmZvckVhY2goKHJlcGx5OiBSZXBseSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZ1JlcGx5ID0gXy5maW5kKHRodW1icy5kYXRhLCAob2JqKSA9PiBfLmdldChvYmosIGByZXBseS5pZGApID09PSByZXBseS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIHJlcGx5Lmxpa2UgPSBtYXRjaGluZ1JlcGx5Py5zdGF0dXMgPT09ICdVUCc7XG4gICAgICAgICAgICAgICAgICAgIHJlcGx5LmRpc2xpa2UgPSBtYXRjaGluZ1JlcGx5Py5zdGF0dXMgPT09ICdET1dOJztcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcGxpZXM7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gb2YocmVwbGllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIGNvbW1lbnRUaHVtYnNVcChjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y29tbWVudElkfS90aHVtYnMvdXBgLFxuICAgICAge30sXG4gICAgICB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuICBjb21tZW50VGh1bWJzRG93bihjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y29tbWVudElkfS90aHVtYnMvZG93bmAsXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG4gIGRlbGV0ZUNvbW1lbnRUaHVtYnNVcChjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y29tbWVudElkfS90aHVtYnMvdXBgLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlQ29tbWVudFRodW1ic0Rvd24oY29tbWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYWN0aW9uVXJsfS8ke2NvbW1lbnRJZH0vdGh1bWJzL2Rvd25gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgcmVwbHlUaHVtYnNVcChyZXBseUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIGAke3RoaXMuYWN0aW9uVXJsfS9yZXBsaWVzLyR7cmVwbHlJZH0vdGh1bWJzL3VwYCxcbiAgICAgIHt9LFxuICAgICAge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gIH1cbiAgcmVwbHlUaHVtYnNEb3duKHJlcGx5SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcGxpZXMvJHtyZXBseUlkfS90aHVtYnMvZG93bmAsXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlUmVwbHlUaHVtYnNVcChyZXBseUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYWN0aW9uVXJsfS8ke3JlcGx5SWR9L3RodW1icy91cGAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBkZWxldGVSZXBseVRodW1ic0Rvd24ocmVwbHlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmFjdGlvblVybH0vJHtyZXBseUlkfS90aHVtYnMvZG93bmAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFJlcGx5VXNlckluZm8ocmVwbHk6IGFueSkge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLmdldFB1YmxpY1VzZXJJbmZvKHJlcGx5LnNlbmRlcklkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICByZXBseS51c2VyID0gcmVzO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBnZXRVc2VySW5mbyhjb21tZW50OiBhbnkpIHtcbiAgICB0aGlzLmF1dGhVc2VyU2VydmljZS5nZXRQdWJsaWNVc2VySW5mbyhjb21tZW50LnVzZXJJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgY29tbWVudC51c2VyID0gcmVzO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kUmVwbGllc1VzZXIoaWRzOiBBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoVXNlclNlcnZpY2UuZmluZFB1YmxpY0luZm9CeUlkcyhpZHMpO1xuICB9XG4gIGZpbmRDb21tZW50c1VzZXIoaWRzOiBBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoVXNlclNlcnZpY2UuZmluZFB1YmxpY0luZm9CeUlkcyhpZHMpO1xuICB9XG4gIGZpbmRNeUNvbW1lbnRzVGh1bWJzKGlkczogQXJyYXk8c3RyaW5nPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcGFyYW1zID0geyBpZHM6IGlkcy5qb2luKCcsJykgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFjdGlvblVybH0vdGh1bWJzL21lYCwge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZmluZE15UmVwbGllc1RodW1icyhpZHM6IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgaWRzOiBpZHMuam9pbignLCcpIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcGxpZXMvdGh1bWJzL21lYCwge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbW1lbnQvc3JjL2xpYi9zZXJ2aWNlcy9jb21tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQWMsR0FBRyxFQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWhFLE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUQvQzs7UUFFRSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBRyxNQUFNLEVBQVcsQ0FBQztRQUNyQyxjQUFTLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFDOUIsbUJBQWMsR0FBRyxNQUFNLEVBQVMsQ0FBQztLQStObEM7SUE3TlUsSUFBSTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRCxZQUFZLENBQUMsT0FBWTtRQUN2QixPQUFPLEdBQUc7WUFDUixJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVB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QyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxZQUFZLEVBQUU7WUFDbEQsTUFBTSxFQUFFLE1BQU07WUFDZCxlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsR0FBa0I7UUFDcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxvQkFBb0IsRUFBRTtZQUMxRCxNQUFNLEVBQUUsTUFBTTtZQUNkLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBbk9VLGNBQWM7a0hBQWQsY0FBYyxjQURELE1BQU07OzJGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgQXV0aFVzZXJTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItYXV0aCc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIG1lcmdlTWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21tZW50LCBSZXBseSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbW1lbnRTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xuICBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICBvbkNvbW1lbnRMb2FkaW5nID0gb3V0cHV0PGJvb2xlYW4+KCk7XG4gIG9uQ29tbWVudCA9IG91dHB1dDxib29sZWFuPigpO1xuICBvbkNvbW1lbnRSZXBseSA9IG91dHB1dDxSZXBseT4oKTtcblxuICBvdmVycmlkZSBpbml0KCkge1xuICAgIHRoaXMuZW5kcG9pbnQgPSAnY29tbWVudHMnO1xuICAgIHN1cGVyLmluaXQoKTtcbiAgfVxuICBmaW5kQ29tbWVudHMob3B0aW9uczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBvcHRpb25zID0ge1xuICAgICAgc29ydDogJ2NyZWF0ZWRBdCBkZXNjJyxcbiAgICAgIGxpbWl0OiAyMCxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYWN0aW9uVXJsfWAsIHsgcGFyYW1zOiBvcHRpb25zIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXJJZHMgPSBfLnVuaXEoXy5tYXAocmVzLmRhdGEsICd1c2VySWQnKSk7IC8vIFsxMiwgMTQsIDE2LCAxOF1cbiAgICAgICAgdGhpcy5maW5kQ29tbWVudHNVc2VyKHVzZXJJZHMpO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuICBmaW5kQ29tbWVudHNCeUl0ZW1JZChpdGVtSWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHNvcnQ6ICdjcmVhdGVkQXQgZGVzYycsXG4gICAgICBmaWx0ZXI6IGBpdGVtSWQ6JHtpdGVtSWR9YCxcbiAgICAgIGxpbWl0OiAyLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9YCwgeyBwYXJhbXM6IG9wdGlvbnMgfSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoY29tbWVudHM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VySWRzID0gXy51bmlxKF8ubWFwKGNvbW1lbnRzLmRhdGEsICd1c2VySWQnKSk7IC8vIFsxMiwgMTQsIDE2LCAxOF1cbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZENvbW1lbnRzVXNlcih1c2VySWRzKS5waXBlKFxuICAgICAgICAgIG1hcCgodXNlcnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29tbWVudHMuZGF0YT8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZ1VzZXIgPSBfLmZpbmQodXNlcnMuZGF0YSwgeyBpZDogaXRlbS51c2VySWQgfSk7XG4gICAgICAgICAgICAgIGl0ZW0udXNlciA9IG1hdGNoaW5nVXNlcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGNvbW1lbnRzO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKGNvbW1lbnRzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgaWRzID0gXy51bmlxKF8ubWFwKGNvbW1lbnRzLmRhdGEsICdpZCcpKTsgLy8gWzEyLCAxNCwgMTYsIDE4XVxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5pbnRyb3NwZWN0KCkucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcy5hdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmRNeUNvbW1lbnRzVGh1bWJzKGlkcykucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHRodW1iczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb21tZW50cy5kYXRhPy5mb3JFYWNoKChpdGVtOiBDb21tZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nQ29tbWVudCA9IF8uZmluZCh0aHVtYnMuZGF0YSwgKG9iaikgPT4gXy5nZXQob2JqLCBgY29tbWVudC5pZGApID09PSBpdGVtLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5saWtlID0gbWF0Y2hpbmdDb21tZW50Py5zdGF0dXMgPT09ICdVUCc7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZGlzbGlrZSA9IG1hdGNoaW5nQ29tbWVudD8uc3RhdHVzID09PSAnRE9XTic7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjb21tZW50cztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihjb21tZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlQ29tbWVudChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KGAke3RoaXMuYWN0aW9uVXJsfWAsIGRhdGEsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgcmVzLmRhdGEucmVwbGllc0NvdW50ID0gMDtcbiAgICAgICAgICB0aGlzLmdldFVzZXJJbmZvKHJlcy5kYXRhKTtcbiAgICAgICAgICByZXR1cm4gcmVzLmRhdGE7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuICBjb3VudENvbW1uZW50c0J5SXRlbUlkKGl0ZW1JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFjdGlvblVybH0vY291bnQvYnlgLCB7IHBhcmFtczogeyBpdGVtSWQgfSB9KTtcbiAgfVxuICBjb3VudFJlcGxpZXNCeUNvbW1lbnRJZChjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcGxpZXMvY291bnQvYnlgLCB7IHBhcmFtczogeyBjb21tZW50SWQgfSB9KTtcbiAgfVxuXG4gIHJlcGx5KGlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QoYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L3JlcGxpZXNgLCBkYXRhLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZ2V0UmVwbHlVc2VySW5mbyhyZXMuZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIHJlcy5kYXRhO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cbiAgZmluZFJlcGxpZXNCeUNvbW1lbnRJZChjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y29tbWVudElkfS9yZXBsaWVzYCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVwbGllczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXJJZHMgPSBfLnVuaXEoXy5tYXAocmVwbGllcy5kYXRhLCAnc2VuZGVySWQnKSk7IC8vIFsxMiwgMTQsIDE2LCAxOF1cbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFJlcGxpZXNVc2VyKHVzZXJJZHMpLnBpcGUoXG4gICAgICAgICAgbWFwKCh1c2VycykgPT4ge1xuICAgICAgICAgICAgcmVwbGllcy5kYXRhPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nVXNlciA9IF8uZmluZCh1c2Vycy5kYXRhLCB7IGlkOiBpdGVtLnNlbmRlcklkIH0pO1xuICAgICAgICAgICAgICBpdGVtLnVzZXIgPSBtYXRjaGluZ1VzZXI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXBsaWVzO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKHJlcGxpZXMpID0+IHtcbiAgICAgICAgY29uc3QgaWRzID0gXy51bmlxKF8ubWFwKHJlcGxpZXMuZGF0YSwgJ2lkJykpO1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5pbnRyb3NwZWN0KCkucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcy5hdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmRNeVJlcGxpZXNUaHVtYnMoaWRzKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgodGh1bWJzKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXBsaWVzLmRhdGE/LmZvckVhY2goKHJlcGx5OiBSZXBseSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZ1JlcGx5ID0gXy5maW5kKHRodW1icy5kYXRhLCAob2JqKSA9PiBfLmdldChvYmosIGByZXBseS5pZGApID09PSByZXBseS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIHJlcGx5Lmxpa2UgPSBtYXRjaGluZ1JlcGx5Py5zdGF0dXMgPT09ICdVUCc7XG4gICAgICAgICAgICAgICAgICAgIHJlcGx5LmRpc2xpa2UgPSBtYXRjaGluZ1JlcGx5Py5zdGF0dXMgPT09ICdET1dOJztcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcGxpZXM7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gb2YocmVwbGllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIGNvbW1lbnRUaHVtYnNVcChjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y29tbWVudElkfS90aHVtYnMvdXBgLFxuICAgICAge30sXG4gICAgICB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuICBjb21tZW50VGh1bWJzRG93bihjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y29tbWVudElkfS90aHVtYnMvZG93bmAsXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG4gIGRlbGV0ZUNvbW1lbnRUaHVtYnNVcChjb21tZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5hY3Rpb25Vcmx9LyR7Y29tbWVudElkfS90aHVtYnMvdXBgLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlQ29tbWVudFRodW1ic0Rvd24oY29tbWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYWN0aW9uVXJsfS8ke2NvbW1lbnRJZH0vdGh1bWJzL2Rvd25gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgcmVwbHlUaHVtYnNVcChyZXBseUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIGAke3RoaXMuYWN0aW9uVXJsfS9yZXBsaWVzLyR7cmVwbHlJZH0vdGh1bWJzL3VwYCxcbiAgICAgIHt9LFxuICAgICAge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gIH1cbiAgcmVwbHlUaHVtYnNEb3duKHJlcGx5SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcGxpZXMvJHtyZXBseUlkfS90aHVtYnMvZG93bmAsXG4gICAgICB7fSxcbiAgICAgIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlUmVwbHlUaHVtYnNVcChyZXBseUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYWN0aW9uVXJsfS8ke3JlcGx5SWR9L3RodW1icy91cGAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBkZWxldGVSZXBseVRodW1ic0Rvd24ocmVwbHlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmFjdGlvblVybH0vJHtyZXBseUlkfS90aHVtYnMvZG93bmAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFJlcGx5VXNlckluZm8ocmVwbHk6IGFueSkge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLmdldFB1YmxpY1VzZXJJbmZvKHJlcGx5LnNlbmRlcklkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICByZXBseS51c2VyID0gcmVzO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBnZXRVc2VySW5mbyhjb21tZW50OiBhbnkpIHtcbiAgICB0aGlzLmF1dGhVc2VyU2VydmljZS5nZXRQdWJsaWNVc2VySW5mbyhjb21tZW50LnVzZXJJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgY29tbWVudC51c2VyID0gcmVzO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kUmVwbGllc1VzZXIoaWRzOiBBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoVXNlclNlcnZpY2UuZmluZFB1YmxpY0luZm9CeUlkcyhpZHMpO1xuICB9XG4gIGZpbmRDb21tZW50c1VzZXIoaWRzOiBBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoVXNlclNlcnZpY2UuZmluZFB1YmxpY0luZm9CeUlkcyhpZHMpO1xuICB9XG4gIGZpbmRNeUNvbW1lbnRzVGh1bWJzKGlkczogQXJyYXk8c3RyaW5nPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcGFyYW1zID0geyBpZHM6IGlkcy5qb2luKCcsJykgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFjdGlvblVybH0vdGh1bWJzL21lYCwge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZmluZE15UmVwbGllc1RodW1icyhpZHM6IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgaWRzOiBpZHMuam9pbignLCcpIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hY3Rpb25Vcmx9L3JlcGxpZXMvdGh1bWJzL21lYCwge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|