vcomply-workflow-engine 6.1.45 → 6.1.47
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/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +24 -129
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/sub-responsibility/sub-responsibility.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +3 -3
- package/esm2022/lib/sharedComponents/risk-classification/risk-classification.component.mjs +1 -1
- package/esm2022/lib/ui-kit/avatar-v2/avatar-v2.component.mjs +28 -3
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +6 -5
- package/esm2022/lib/workflow-engine.module.mjs +8 -4
- package/fesm2022/vcomply-workflow-engine.mjs +64 -141
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +5 -22
- package/lib/ui-kit/avatar-v2/avatar-v2.component.d.ts +9 -2
- package/lib/workflow-engine.module.d.ts +2 -1
- package/package.json +1 -1
|
@@ -9,19 +9,44 @@ import * as i4 from "../popover/popover.directive";
|
|
|
9
9
|
export class AvatarV2Component {
|
|
10
10
|
constructor(config) {
|
|
11
11
|
this.avatarList = [];
|
|
12
|
+
this.type = 'MULTI_AVATAR';
|
|
12
13
|
this.imagePath = '';
|
|
14
|
+
this.sliceCount = 3;
|
|
15
|
+
this.popoverSliceCount = 3;
|
|
16
|
+
this.showPopover = false;
|
|
13
17
|
this.env = config?.envConfig;
|
|
14
18
|
this.imagePath = this.env?.s3Url + this.env?.s3Bucket + '/profile_pic/thumb/';
|
|
15
19
|
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
console.log('avatarList', this.avatarList);
|
|
22
|
+
this.getSliceCount();
|
|
23
|
+
}
|
|
24
|
+
getSliceCount() {
|
|
25
|
+
if (this.type === 'SINGLE_AVATAR' && this.avatarList?.length > 1) {
|
|
26
|
+
this.sliceCount = 0;
|
|
27
|
+
this.popoverSliceCount = 0;
|
|
28
|
+
this.showPopover = true;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
if (this.avatarList?.length > 3) {
|
|
32
|
+
this.showPopover = true;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.showPopover = false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
16
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarV2Component, deps: [{ token: i1.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AvatarV2Component, isStandalone: true, selector: "lib-avatar-v2", inputs: { avatarList: "avatarList" }, ngImport: i0, template: "<div class=\"vx-avatar
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AvatarV2Component, isStandalone: true, selector: "lib-avatar-v2", inputs: { avatarList: "avatarList", type: "type" }, ngImport: i0, template: "<div class=\"vx-avatar-group \">\n\n <ng-container *ngFor=\"let eachAvatar of avatarList | slice:0:sliceCount\">\n <div class=\"vx-avatar md\">\n <img *ngIf=\"eachAvatar?.imagePath; else avatar\" [src]=\"imagePath + eachAvatar?.imagePath\"\n [alt]=\"eachAvatar?.shortName\" [appTooltip]=\"eaeachAvatar?.name\" placement=\"bottom-left\" delay=\"0\"\n type=\"black\" [tooltipMandatory]=\"true\" />\n <ng-template #avatar>\n <span *ngIf=\"!eachAvatar?.avatar\" [appTooltip]=\"eachAvatar?.name\" [tooltipMandatory]=\"true\"\n class=\"blue\">{{ eachAvatar?.shortName\n }}</span>\n </ng-template>\n </div>\n\n </ng-container>\n <div *ngIf=\"showPopover \" appPopover (click)=\"users.popover()\" placement=\"left\" class=\"vx-avatar md multi-user\">\n <span class=\"user\">\n <i class=\"icons user-icons vx-fs-12\"></i>\n <span class=\"count vx-txt-white vx-d-flex vx-align-center vx-justify-center\">{{ avatarList?.length -\n popoverSliceCount\n }}</span>\n </span>\n </div>\n\n\n</div>\n\n<app-popover #users>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of avatarList | slice: popoverSliceCount\" appTooltip=\"{{ user?.name }}\"\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <div class=\"avatar-card\">\n <div class=\"avatar\">\n <ng-container *ngIf=\"!user?.avatar\">{{\n user?.shortName\n }}</ng-container>\n <img *ngIf=\"user?.avatar\" [src]=\"user?.avatar\" alt=\"\" width=\"24\" height=\"24\" />\n </div>\n <span class=\"value\">{{ user?.name }}</span>\n </div>\n </li>\n </ul>\n </div>\n</app-popover>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";.multi-user{background:#f9f9fa;border:2px solid #F2F2F5}.multi-user .user{background:transparent;position:relative;cursor:pointer}.multi-user .user .user-icons{color:#565a6f;position:absolute}.multi-user .user .count{background:#1e5dd3;border:2px solid #FFFFFF;border-radius:20px;min-width:1.125rem;height:1rem;position:absolute;top:unset;bottom:-.125rem;right:-10px;width:auto;padding:0 .125rem;font-size:9px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }] }); }
|
|
18
41
|
}
|
|
19
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AvatarV2Component, decorators: [{
|
|
20
43
|
type: Component,
|
|
21
|
-
args: [{ selector: 'lib-avatar-v2', standalone: true, imports: [CommonModule, PopoverModule], template: "<div class=\"vx-avatar
|
|
44
|
+
args: [{ selector: 'lib-avatar-v2', standalone: true, imports: [CommonModule, PopoverModule], template: "<div class=\"vx-avatar-group \">\n\n <ng-container *ngFor=\"let eachAvatar of avatarList | slice:0:sliceCount\">\n <div class=\"vx-avatar md\">\n <img *ngIf=\"eachAvatar?.imagePath; else avatar\" [src]=\"imagePath + eachAvatar?.imagePath\"\n [alt]=\"eachAvatar?.shortName\" [appTooltip]=\"eaeachAvatar?.name\" placement=\"bottom-left\" delay=\"0\"\n type=\"black\" [tooltipMandatory]=\"true\" />\n <ng-template #avatar>\n <span *ngIf=\"!eachAvatar?.avatar\" [appTooltip]=\"eachAvatar?.name\" [tooltipMandatory]=\"true\"\n class=\"blue\">{{ eachAvatar?.shortName\n }}</span>\n </ng-template>\n </div>\n\n </ng-container>\n <div *ngIf=\"showPopover \" appPopover (click)=\"users.popover()\" placement=\"left\" class=\"vx-avatar md multi-user\">\n <span class=\"user\">\n <i class=\"icons user-icons vx-fs-12\"></i>\n <span class=\"count vx-txt-white vx-d-flex vx-align-center vx-justify-center\">{{ avatarList?.length -\n popoverSliceCount\n }}</span>\n </span>\n </div>\n\n\n</div>\n\n<app-popover #users>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let user of avatarList | slice: popoverSliceCount\" appTooltip=\"{{ user?.name }}\"\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <div class=\"avatar-card\">\n <div class=\"avatar\">\n <ng-container *ngIf=\"!user?.avatar\">{{\n user?.shortName\n }}</ng-container>\n <img *ngIf=\"user?.avatar\" [src]=\"user?.avatar\" alt=\"\" width=\"24\" height=\"24\" />\n </div>\n <span class=\"value\">{{ user?.name }}</span>\n </div>\n </li>\n </ul>\n </div>\n</app-popover>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";.multi-user{background:#f9f9fa;border:2px solid #F2F2F5}.multi-user .user{background:transparent;position:relative;cursor:pointer}.multi-user .user .user-icons{color:#565a6f;position:absolute}.multi-user .user .count{background:#1e5dd3;border:2px solid #FFFFFF;border-radius:20px;min-width:1.125rem;height:1rem;position:absolute;top:unset;bottom:-.125rem;right:-10px;width:auto;padding:0 .125rem;font-size:9px}\n"] }]
|
|
22
45
|
}], ctorParameters: function () { return [{ type: i1.Configurations, decorators: [{
|
|
23
46
|
type: Optional
|
|
24
47
|
}] }]; }, propDecorators: { avatarList: [{
|
|
25
48
|
type: Input
|
|
49
|
+
}], type: [{
|
|
50
|
+
type: Input
|
|
26
51
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC9hdmF0YXItdjIvYXZhdGFyLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC9hdmF0YXItdjIvYXZhdGFyLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFVMUQsTUFBTSxPQUFPLGlCQUFpQjtJQVE3QixZQUE0QixNQUF1QjtRQVAxQyxlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLFNBQUksR0FBcUMsY0FBYyxDQUFDO1FBQ2pFLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFdkIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDOUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcscUJBQXFCLENBQUM7SUFDL0UsQ0FBQztJQUVBLFFBQVE7UUFDSixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN6QjthQUFNO1lBQ0wsSUFBRyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2FBQzFCO1NBQ0Y7SUFDSCxDQUFDOytHQWhDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2SENaOUIsOC9EQTRDYywraEJEcENGLFlBQVksb1RBQUUsYUFBYTs7NEZBSTFCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzs7MEJBWXRCLFFBQVE7NENBUGhCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3B0aW9uYWwsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXZhdGFyLXYyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUG9wb3Zlck1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXItdjIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXItdjIuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJWMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gQElucHV0KCkgYXZhdGFyTGlzdDogYW55W10gPSBbXTtcbiBASW5wdXQoKSB0eXBlOiAnU0lOR0xFX0FWQVRBUicgfCAnTVVMVElfQVZBVEFSJyA9ICdNVUxUSV9BVkFUQVInO1xuIGltYWdlUGF0aDogc3RyaW5nID0gJyc7XG4gZW52OiBhbnk7XG4gc2xpY2VDb3VudDogbnVtYmVyID0gMztcbiBwb3BvdmVyU2xpY2VDb3VudDogbnVtYmVyID0gMztcbiBzaG93UG9wb3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xuIGNvbnN0cnVjdG9yKCAgICBAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9uc1xuKSB7XG4gIHRoaXMuZW52ID0gY29uZmlnPy5lbnZDb25maWc7XG4gIHRoaXMuaW1hZ2VQYXRoID0gdGhpcy5lbnY/LnMzVXJsICsgdGhpcy5lbnY/LnMzQnVja2V0ICsgJy9wcm9maWxlX3BpYy90aHVtYi8nO1xuIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIGNvbnNvbGUubG9nKCdhdmF0YXJMaXN0Jyx0aGlzLmF2YXRhckxpc3QpO1xuICAgICAgdGhpcy5nZXRTbGljZUNvdW50KCk7XG4gIH1cblxuXG4gIGdldFNsaWNlQ291bnQoKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ1NJTkdMRV9BVkFUQVInICYmIHRoaXMuYXZhdGFyTGlzdD8ubGVuZ3RoID4gMSkge1xuICAgICAgdGhpcy5zbGljZUNvdW50ID0gMDtcbiAgICAgIHRoaXMucG9wb3ZlclNsaWNlQ291bnQgPSAwO1xuICAgICAgdGhpcy5zaG93UG9wb3ZlciA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmKHRoaXMuYXZhdGFyTGlzdD8ubGVuZ3RoID4gMykge1xuICAgICAgICB0aGlzLnNob3dQb3BvdmVyID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvd1BvcG92ZXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInZ4LWF2YXRhci1ncm91cCBcIj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVhY2hBdmF0YXIgb2YgYXZhdGFyTGlzdCB8IHNsaWNlOjA6c2xpY2VDb3VudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtYXZhdGFyIG1kXCI+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiZWFjaEF2YXRhcj8uaW1hZ2VQYXRoOyBlbHNlIGF2YXRhclwiIFtzcmNdPVwiaW1hZ2VQYXRoICsgZWFjaEF2YXRhcj8uaW1hZ2VQYXRoXCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImVhY2hBdmF0YXI/LnNob3J0TmFtZVwiIFthcHBUb29sdGlwXT1cImVhZWFjaEF2YXRhcj8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXZhdGFyPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWVhY2hBdmF0YXI/LmF2YXRhclwiIFthcHBUb29sdGlwXT1cImVhY2hBdmF0YXI/Lm5hbWVcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibHVlXCI+e3sgZWFjaEF2YXRhcj8uc2hvcnROYW1lXG4gICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1BvcG92ZXIgXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwidXNlcnMucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiIGNsYXNzPVwidngtYXZhdGFyIG1kIG11bHRpLXVzZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHVzZXItaWNvbnMgdngtZnMtMTJcIj4mI3hlYTM1OzwvaT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnQgdngtdHh0LXdoaXRlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj57eyBhdmF0YXJMaXN0Py5sZW5ndGggLVxuICAgICAgICAgICAgICAgIHBvcG92ZXJTbGljZUNvdW50XG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuXG48L2Rpdj5cblxuPGFwcC1wb3BvdmVyICN1c2Vycz5cbiAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdXNlciBvZiBhdmF0YXJMaXN0IHwgc2xpY2U6IHBvcG92ZXJTbGljZUNvdW50XCIgYXBwVG9vbHRpcD1cInt7IHVzZXI/Lm5hbWUgfX1cIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXVzZXI/LmF2YXRhclwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcj8uc2hvcnROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJ1c2VyPy5hdmF0YXJcIiBbc3JjXT1cInVzZXI/LmF2YXRhclwiIGFsdD1cIlwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgdXNlcj8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2FwcC1wb3BvdmVyPiJdfQ==
|