@bizdoc/core 1.16.21 → 1.16.24
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/esm2020/lib/admin/configuration-designer/declarations.mjs +2 -3
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +41 -42
- package/esm2020/lib/admin/configuration-designer/designer-privileges.component.mjs +6 -8
- package/esm2020/lib/admin/configuration-designer/designer.base.mjs +3 -1
- package/esm2020/lib/admin/configuration-designer/designer.component.mjs +62 -37
- package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +6 -5
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +30 -11
- package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +22 -21
- package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +80 -25
- package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +13 -7
- package/esm2020/lib/admin/configuration-designer/elements/policy.component.mjs +5 -4
- package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +6 -7
- package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +3 -2
- package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +5 -4
- package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +3 -2
- package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +5 -8
- package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +5 -4
- package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +4 -3
- package/esm2020/lib/admin/system.service.mjs +1 -1
- package/esm2020/lib/core/pipes/time-ago.pipe.mjs +47 -1
- package/esm2020/lib/core/translations.mjs +10 -2
- package/esm2020/lib/shared.module.mjs +6 -6
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/bizdoc-core.mjs +498 -344
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +495 -342
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/configuration-designer/declarations.d.ts +1 -1
- package/lib/admin/configuration-designer/designer-element.component.d.ts +7 -11
- package/lib/admin/configuration-designer/designer.base.d.ts +1 -0
- package/lib/admin/configuration-designer/designer.component.d.ts +6 -4
- package/lib/admin/configuration-designer/elements/action.component.d.ts +1 -3
- package/lib/admin/configuration-designer/elements/cube.component.d.ts +3 -1
- package/lib/admin/configuration-designer/elements/folder.component.d.ts +11 -3
- package/lib/admin/configuration-designer/elements/form.component.d.ts +21 -6
- package/lib/admin/configuration-designer/elements/policy.component.d.ts +1 -2
- package/lib/admin/configuration-designer/elements/report.component.d.ts +0 -1
- package/lib/admin/configuration-designer/elements/utility.component.d.ts +1 -3
- package/lib/admin/system.service.d.ts +8 -1
- package/lib/core/pipes/time-ago.pipe.d.ts +13 -0
- package/lib/core/translations.d.ts +8 -0
- package/lib/shared.module.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
@@ -57,4 +57,4 @@ SystemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versio
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: SystemService, decorators: [{
|
58
58
|
type: Injectable
|
59
59
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3N5c3RlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFHN0MsTUFBTSxPQUFPLGFBQWE7SUE2Q3hCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFFckMsQ0FBQztJQTlDRCxLQUFLLENBQUMsSUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBb0Isb0JBQW9CLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUlELE9BQU8sQ0FBQyxPQUFnRjtRQUN0RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDeEI7WUFDSCxJQUFJLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3RELElBQUksT0FBTyxDQUFDLE1BQU07Z0JBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEQsSUFBSSxPQUFPLENBQUMsS0FBSztnQkFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNFLElBQUksT0FBTyxDQUFDLEdBQUc7Z0JBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0RTtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWlCLDBCQUEwQixFQUFFO1lBQ2hFLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSztRQUNILE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLDZCQUE2QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQWU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBYyx3QkFBd0IsRUFBRTtZQUMzRCxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRTtTQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNkLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFXLG9CQUFvQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBTyxvQkFBb0Isa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBVTtRQUNiLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBUyxvQkFBb0Isa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25HLENBQUM7O0FBckNjLG9CQUFNLEdBQUcsRUFBRyxDQUFBOzBHQVBoQixhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGb3JtLCBSb2xlIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN5c3RlbVNlcnZpY2Uge1xyXG4gIHJ1bGVzKGFyZ3M/OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxSdWxlW10+KCcvYXBpL3N5c3RlbS9mb3JtL3J1bGVzJywgeyBwYXJhbXM6IGFyZ3MgfSk7XHJcbiAgfVxyXG4gIHN5bmNocmluaXplKG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdDxCYWNrZ3JvdW5kSm9iSW5mbz4oYC9hcGkvc3lzdGVtL2N1YmUvJHtlbmNvZGVVUklDb21wb25lbnQobmFtZSl9L3N5bmNocm9uaXplYCwge30pO1xyXG4gIH1cclxuICBwcml2YXRlIHN0YXRpYyBfY2FjaGUgPSB7fTtcclxuICBmaW5kQWxsKG9wdGlvbnM6IHsgc2VhcmNoPzogc3RyaW5nLCBzdGFydD86IERhdGUsIGVuZD86IERhdGUsIGZvcm1JZD86IHN0cmluZyB9KVxyXG4gIGZpbmRBbGwoc2VhcmNoPzogc3RyaW5nKVxyXG4gIGZpbmRBbGwob3B0aW9uczogc3RyaW5nIHwgeyBzZWFyY2g/OiBzdHJpbmcsIHN0YXJ0PzogRGF0ZSwgZW5kPzogRGF0ZSwgZm9ybUlkPzogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPERvY3VtZW50SW5mb1tdPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcclxuICAgIGlmIChpc1N0cmluZyhvcHRpb25zKSlcclxuICAgICAgcGFyYW1zWydzZWFyY2gnXSA9IG9wdGlvbnM7XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKG9wdGlvbnMuc2VhcmNoKSBwYXJhbXNbJ3NlYXJjaCddID0gb3B0aW9ucy5zZWFyY2g7XHJcbiAgICAgIGlmIChvcHRpb25zLmZvcm1JZCkgcGFyYW1zWydmb3JtSWQnXSA9IG9wdGlvbnMuZm9ybUlkO1xyXG4gICAgICBpZiAob3B0aW9ucy5zdGFydCkgcGFyYW1zWydzdGFydCddID0gbmV3IERhdGUob3B0aW9ucy5zdGFydCkudG9JU09TdHJpbmcoKTtcclxuICAgICAgaWYgKG9wdGlvbnMuZW5kKSBwYXJhbXNbJ2VuZCddID0gbmV3IERhdGUob3B0aW9ucy5lbmQpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8RG9jdW1lbnRJbmZvW10+KCcvYXBpL3N5c3RlbS9mb3JtL2ZpbmRBbGwnLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJvbGVzKCk6IE9ic2VydmFibGU8Um9sZVtdPiB7XHJcbiAgICByZXR1cm4gU3lzdGVtU2VydmljZS5fY2FjaGVbJ3JvbGVzJ10gfHwgKFN5c3RlbVNlcnZpY2UuX2NhY2hlWydyb2xlcyddID1cclxuICAgICAgdGhpcy5faHR0cC5nZXQ8Um9sZVtdPignL2FwaS9zeXN0ZW0vcG9zaXRpb25zL3JvbGVzJykucGlwZShzaGFyZVJlcGxheSgpKSk7XHJcbiAgfVxyXG4gIHJhbmdlKGZvcm1JZD86IHN0cmluZyk6IE9ic2VydmFibGU8UmFuZ2VJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxSYW5nZUluZm9bXT4oJy9hcGkvc3lzdGVtL2Zvcm0vcmFuZ2UnLCB7XHJcbiAgICAgIHBhcmFtczogeyBmb3JtSWQ6IGZvcm1JZCB8fCBudWxsIH1cclxuICAgIH0pLnBpcGUodGFwKHIgPT5cclxuICAgICAgci5mb3JFYWNoKHAgPT4gcC5kYXRlID0gbmV3IERhdGUocC5kYXRlKSlcclxuICAgICkpO1xyXG4gIH1cclxuICBjdWJlKG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PEN1YmVJbmZvPihgL2FwaS9zeXN0ZW0vY3ViZS8ke2VuY29kZVVSSUNvbXBvbmVudChuYW1lKX1gKTtcclxuICB9XHJcbiAgZm9ybShuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZvcm0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxGb3JtPihgL2FwaS9zeXN0ZW0vZm9ybS8ke2VuY29kZVVSSUNvbXBvbmVudChuYW1lKX1gKTtcclxuICB9XHJcbiAgc2F2ZShmb3JtOiBGb3JtKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHsgd29ya2Zsb3cgfSA9IGZvcm07XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8bnVtYmVyPihgL2FwaS9zeXN0ZW0vZm9ybS8ke2VuY29kZVVSSUNvbXBvbmVudChmb3JtLm5hbWUpfWAsIHsgd29ya2Zsb3cgfSk7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQpIHtcclxuXHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VJbmZvIHtcclxuICBjb3VudDogbnVtYmVyO1xyXG4gIGRhdGU6IERhdGU7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudEluZm8ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgc3ViamVjdDogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVJbmZvIHtcclxuICBqb2JJbmZvOiBCYWNrZ3JvdW5kSm9iSW5mbztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEJhY2tncm91bmRKb2JJbmZvIHtcclxuICBlcnJvcj86IHN0cmluZztcclxuICBuZXh0RXhlY3V0aW9uPzogRGF0ZTtcclxuICBsYXN0RXhlY3V0aW9uPzogRGF0ZTtcclxuICBsYXN0Sm9iU3RhdGU/OiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIFJ1bGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
@@ -2,6 +2,52 @@ import { Pipe } from '@angular/core';
|
|
2
2
|
/// <reference path="./node_modules/dayjs/plugin/relativeTime.d.ts" />
|
3
3
|
import dayjs from 'dayjs';
|
4
4
|
import * as i0 from "@angular/core";
|
5
|
+
export class ToNowPipe {
|
6
|
+
constructor(cdRef, ngZone) {
|
7
|
+
this.cdRef = cdRef;
|
8
|
+
this.ngZone = ngZone;
|
9
|
+
}
|
10
|
+
transform(value, ...args) {
|
11
|
+
this.lastTime = dayjs(value);
|
12
|
+
this.createTimer();
|
13
|
+
return this.lastTime.toNow();
|
14
|
+
}
|
15
|
+
ngOnDestroy() {
|
16
|
+
this.removeTimer();
|
17
|
+
}
|
18
|
+
createTimer() {
|
19
|
+
if (this.currentTimer) {
|
20
|
+
return;
|
21
|
+
}
|
22
|
+
const timeToUpdate = getSecondsUntilUpdate(this.lastTime) * 1000;
|
23
|
+
this.currentTimer = this.ngZone.runOutsideAngular(() => {
|
24
|
+
if (typeof window !== 'undefined') {
|
25
|
+
return window.setTimeout(() => {
|
26
|
+
this.currentTimer = null;
|
27
|
+
this.ngZone.run(() => this.cdRef.markForCheck());
|
28
|
+
}, timeToUpdate);
|
29
|
+
}
|
30
|
+
else {
|
31
|
+
return null;
|
32
|
+
}
|
33
|
+
});
|
34
|
+
}
|
35
|
+
removeTimer() {
|
36
|
+
if (this.currentTimer) {
|
37
|
+
window.clearTimeout(this.currentTimer);
|
38
|
+
this.currentTimer = null;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
ToNowPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ToNowPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
|
43
|
+
ToNowPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: ToNowPipe, name: "amToNow", pure: false });
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ToNowPipe, decorators: [{
|
45
|
+
type: Pipe,
|
46
|
+
args: [{
|
47
|
+
name: 'amToNow',
|
48
|
+
pure: false
|
49
|
+
}]
|
50
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; } });
|
5
51
|
export class TimeAgoPipe {
|
6
52
|
constructor(cdRef, ngZone) {
|
7
53
|
this.cdRef = cdRef;
|
@@ -63,4 +109,4 @@ function getSecondsUntilUpdate(time) {
|
|
63
109
|
return 3600;
|
64
110
|
}
|
65
111
|
}
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZ28ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9waXBlcy90aW1lLWFnby5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxzRUFBc0U7QUFDdEUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQU0xQixNQUFNLE9BQU8sU0FBUztJQVFwQixZQUFvQixLQUF3QixFQUFVLE1BQWM7UUFBaEQsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3BFLENBQUM7SUFORCxTQUFTLENBQUMsS0FBVSxFQUFFLEdBQUcsSUFBVztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFHRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRWpFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDckQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7Z0JBQ2pDLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO29CQUN6QixJ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LENBQUM7S0FDWjtTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgTmdab25lLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL25vZGVfbW9kdWxlcy9kYXlqcy9wbHVnaW4vcmVsYXRpdmVUaW1lLmQudHNcIiAvPlxyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdhbVRvTm93JyxcclxuICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9Ob3dQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgcHJpdmF0ZSBjdXJyZW50VGltZXI6IG51bWJlcjtcclxuICBsYXN0VGltZTogZGF5anMuRGF5anM7XHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICB0aGlzLmxhc3RUaW1lID0gZGF5anModmFsdWUpO1xyXG4gICAgdGhpcy5jcmVhdGVUaW1lcigpO1xyXG4gICAgcmV0dXJuIHRoaXMubGFzdFRpbWUudG9Ob3coKTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbW92ZVRpbWVyKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgY3JlYXRlVGltZXIoKSB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VGltZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRpbWVUb1VwZGF0ZSA9IGdldFNlY29uZHNVbnRpbFVwZGF0ZSh0aGlzLmxhc3RUaW1lKSAqIDEwMDA7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50VGltZXIgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1lciA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKSk7XHJcbiAgICAgICAgfSwgdGltZVRvVXBkYXRlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZVRpbWVyKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRpbWVyKSB7XHJcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5jdXJyZW50VGltZXIpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRUaW1lciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBQaXBlKHtcclxuICBuYW1lOiAnYW1UaW1lQWdvJyxcclxuICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZUFnb1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIGN1cnJlbnRUaW1lcjogbnVtYmVyO1xyXG4gIGxhc3RUaW1lOiBkYXlqcy5EYXlqcztcclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pIHtcclxuICAgIHRoaXMubGFzdFRpbWUgPSBkYXlqcyh2YWx1ZSk7XHJcbiAgICB0aGlzLmNyZWF0ZVRpbWVyKCk7XHJcbiAgICByZXR1cm4gdGhpcy5sYXN0VGltZS5mcm9tTm93KCk7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1vdmVUaW1lcigpO1xyXG4gIH1cclxuICBwcml2YXRlIGNyZWF0ZVRpbWVyKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRpbWVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0aW1lVG9VcGRhdGUgPSBnZXRTZWNvbmRzVW50aWxVcGRhdGUodGhpcy5sYXN0VGltZSkgKiAxMDAwO1xyXG5cclxuICAgIHRoaXMuY3VycmVudFRpbWVyID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50VGltZXIgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCkpO1xyXG4gICAgICAgIH0sIHRpbWVUb1VwZGF0ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVUaW1lcigpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lcikge1xyXG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuY3VycmVudFRpbWVyKTtcclxuICAgICAgdGhpcy5jdXJyZW50VGltZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5mdW5jdGlvbiBnZXRTZWNvbmRzVW50aWxVcGRhdGUodGltZTogZGF5anMuRGF5anMpIHtcclxuICBjb25zdCBob3dPbGQgPSBNYXRoLmFicyh0aW1lLmRpZmYobmV3IERhdGUoKSwgJ21pbnV0ZScpKTtcclxuICBpZiAoaG93T2xkIDwgMSkge1xyXG4gICAgcmV0dXJuIDE7XHJcbiAgfSBlbHNlIGlmIChob3dPbGQgPCA2MCkge1xyXG4gICAgcmV0dXJuIDMwO1xyXG4gIH0gZWxzZSBpZiAoaG93T2xkIDwgMTgwKSB7XHJcbiAgICByZXR1cm4gMzAwO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gMzYwMDtcclxuICB9XHJcbn1cclxuIl19
|