@mintplayer/ng-bootstrap 13.1.21 → 13.1.26
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/_bootstrap.scss +0 -1
- package/esm2020/lib/components/context-menu/context-menu.directive.mjs +1 -2
- package/esm2020/lib/components/file-upload/component/file-upload.component.mjs +1 -2
- package/esm2020/lib/components/index.mjs +2 -1
- package/esm2020/lib/components/modal/service/modal.service.mjs +1 -2
- package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +7 -4
- package/esm2020/lib/components/navbar/navbar-item/navbar-item.component.mjs +12 -6
- package/esm2020/lib/components/navbar/navbar-toggler/navbar-toggler.component.mjs +8 -5
- package/esm2020/lib/components/scheduler/components/index.mjs +2 -0
- package/esm2020/lib/components/scheduler/components/scheduler/scheduler.component.mjs +346 -0
- package/esm2020/lib/components/scheduler/enums/drag-operation.mjs +8 -0
- package/esm2020/lib/components/scheduler/index.mjs +3 -0
- package/esm2020/lib/components/scheduler/interfaces/drag-operation.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/preview-event.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/scheduler-event-part.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/scheduler-event-with-parts.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/scheduler-event.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/time-slot.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/timeline-track.mjs +2 -0
- package/esm2020/lib/components/scheduler/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +16 -0
- package/esm2020/lib/components/scheduler/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +20 -0
- package/esm2020/lib/components/scheduler/pipes/date-offset/date-offset.pipe.mjs +20 -0
- package/esm2020/lib/components/scheduler/pipes/day-of-week/day-of-week.pipe.mjs +22 -0
- package/esm2020/lib/components/scheduler/scheduler.module.mjs +38 -0
- package/esm2020/lib/components/scheduler/services/timeline/timeline.service.mjs +65 -0
- package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +1 -1
- package/fesm2015/mintplayer-ng-bootstrap.mjs +526 -14
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +526 -14
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/navbar/navbar/navbar.component.d.ts +2 -1
- package/lib/components/navbar/navbar-item/navbar-item.component.d.ts +4 -2
- package/lib/components/navbar/navbar-toggler/navbar-toggler.component.d.ts +1 -1
- package/lib/components/scheduler/components/index.d.ts +1 -0
- package/lib/components/scheduler/components/scheduler/scheduler.component.d.ts +58 -0
- package/lib/components/scheduler/enums/drag-operation.d.ts +6 -0
- package/lib/components/scheduler/index.d.ts +2 -0
- package/lib/components/scheduler/interfaces/drag-operation.d.ts +6 -0
- package/lib/components/scheduler/interfaces/preview-event.d.ts +4 -0
- package/lib/components/scheduler/interfaces/scheduler-event-part.d.ts +6 -0
- package/lib/components/scheduler/interfaces/scheduler-event-with-parts.d.ts +6 -0
- package/lib/components/scheduler/interfaces/scheduler-event.d.ts +6 -0
- package/lib/components/scheduler/interfaces/time-slot.d.ts +4 -0
- package/lib/components/scheduler/interfaces/timeline-track.d.ts +5 -0
- package/lib/components/scheduler/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.d.ts +9 -0
- package/lib/components/scheduler/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.d.ts +9 -0
- package/lib/components/scheduler/pipes/date-offset/date-offset.pipe.d.ts +8 -0
- package/lib/components/scheduler/pipes/day-of-week/day-of-week.pipe.d.ts +9 -0
- package/lib/components/scheduler/scheduler.module.d.ts +12 -0
- package/lib/components/scheduler/services/timeline/timeline.service.d.ts +14 -0
- package/package.json +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BsSecondsTimespanPipe } from './pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe';
|
|
4
|
+
import { BsSecondsTodayOffsetPipe } from './pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe';
|
|
5
|
+
import { DateOffsetPipe } from './pipes/date-offset/date-offset.pipe';
|
|
6
|
+
import { DayOfWeekPipe } from './pipes/day-of-week/day-of-week.pipe';
|
|
7
|
+
import { BsSchedulerComponent } from './components/scheduler/scheduler.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class BsSchedulerModule {
|
|
10
|
+
}
|
|
11
|
+
BsSchedulerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSchedulerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
BsSchedulerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSchedulerModule, declarations: [BsSchedulerComponent,
|
|
13
|
+
BsSecondsTimespanPipe,
|
|
14
|
+
BsSecondsTodayOffsetPipe,
|
|
15
|
+
DateOffsetPipe,
|
|
16
|
+
DayOfWeekPipe], imports: [CommonModule], exports: [BsSchedulerComponent] });
|
|
17
|
+
BsSchedulerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSchedulerModule, imports: [[
|
|
18
|
+
CommonModule
|
|
19
|
+
]] });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSchedulerModule, decorators: [{
|
|
21
|
+
type: NgModule,
|
|
22
|
+
args: [{
|
|
23
|
+
declarations: [
|
|
24
|
+
BsSchedulerComponent,
|
|
25
|
+
BsSecondsTimespanPipe,
|
|
26
|
+
BsSecondsTodayOffsetPipe,
|
|
27
|
+
DateOffsetPipe,
|
|
28
|
+
DayOfWeekPipe
|
|
29
|
+
],
|
|
30
|
+
imports: [
|
|
31
|
+
CommonModule
|
|
32
|
+
],
|
|
33
|
+
exports: [
|
|
34
|
+
BsSchedulerComponent
|
|
35
|
+
]
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3NjaGVkdWxlci9zY2hlZHVsZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBaUJsRixNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBYjFCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsd0JBQXdCO1FBQ3hCLGNBQWM7UUFDZCxhQUFhLGFBR2IsWUFBWSxhQUdaLG9CQUFvQjsrR0FHWCxpQkFBaUIsWUFQbkI7WUFDUCxZQUFZO1NBQ2I7MkZBS1UsaUJBQWlCO2tCQWY3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJzU2Vjb25kc1RpbWVzcGFuUGlwZSB9IGZyb20gJy4vcGlwZXMvYnMtc2Vjb25kcy10aW1lc3Bhbi5waXBlL2JzLXNlY29uZHMtdGltZXNwYW4ucGlwZSc7XG5pbXBvcnQgeyBCc1NlY29uZHNUb2RheU9mZnNldFBpcGUgfSBmcm9tICcuL3BpcGVzL2JzLXNlY29uZHMtdG9kYXktb2Zmc2V0L2JzLXNlY29uZHMtdG9kYXktb2Zmc2V0LnBpcGUnO1xuaW1wb3J0IHsgRGF0ZU9mZnNldFBpcGUgfSBmcm9tICcuL3BpcGVzL2RhdGUtb2Zmc2V0L2RhdGUtb2Zmc2V0LnBpcGUnO1xuaW1wb3J0IHsgRGF5T2ZXZWVrUGlwZSB9IGZyb20gJy4vcGlwZXMvZGF5LW9mLXdlZWsvZGF5LW9mLXdlZWsucGlwZSc7XG5pbXBvcnQgeyBCc1NjaGVkdWxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zY2hlZHVsZXIvc2NoZWR1bGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJzU2NoZWR1bGVyQ29tcG9uZW50LFxuICAgIEJzU2Vjb25kc1RpbWVzcGFuUGlwZSxcbiAgICBCc1NlY29uZHNUb2RheU9mZnNldFBpcGUsXG4gICAgRGF0ZU9mZnNldFBpcGUsXG4gICAgRGF5T2ZXZWVrUGlwZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc1NjaGVkdWxlckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzU2NoZWR1bGVyTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BsTimelineService {
|
|
4
|
+
splitInParts(event) {
|
|
5
|
+
let startTime = event.start;
|
|
6
|
+
const result = [];
|
|
7
|
+
const eventOrNull = 'color' in event ? event : null;
|
|
8
|
+
while (!this.dateEquals(startTime, event.end)) {
|
|
9
|
+
const end = new Date(startTime.getFullYear(), startTime.getMonth(), startTime.getDate() + 1, 0, 0, 0);
|
|
10
|
+
result.push({ start: startTime, end: end, event: eventOrNull });
|
|
11
|
+
startTime = end;
|
|
12
|
+
}
|
|
13
|
+
if (startTime != event.end) {
|
|
14
|
+
result.push({ start: startTime, end: event.end, event: eventOrNull });
|
|
15
|
+
}
|
|
16
|
+
return { event: event, parts: result };
|
|
17
|
+
}
|
|
18
|
+
dateEquals(date1, date2) {
|
|
19
|
+
return (date1.getFullYear() === date2.getFullYear() &&
|
|
20
|
+
date1.getMonth() === date2.getMonth() &&
|
|
21
|
+
date1.getDate() === date2.getDate());
|
|
22
|
+
}
|
|
23
|
+
getTimeline(events) {
|
|
24
|
+
const timestamps = this.getTimestamps(events);
|
|
25
|
+
const tracks = [];
|
|
26
|
+
timestamps.forEach((timestamp, tIndex) => {
|
|
27
|
+
const starting = events.filter((e) => e.start === timestamp);
|
|
28
|
+
// const ending = events.filter((e) => e.end === timestamp);
|
|
29
|
+
starting.forEach((startedEvent, eIndex) => {
|
|
30
|
+
const freeTracks = tracks.filter(t => this.trackIsFreeAt(t, startedEvent));
|
|
31
|
+
if (freeTracks.length === 0) {
|
|
32
|
+
tracks.push({ index: tracks.length, events: [startedEvent] });
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
freeTracks[0].events.push(startedEvent);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return tracks;
|
|
40
|
+
}
|
|
41
|
+
getTimestamps(events) {
|
|
42
|
+
const allTimestamps = events.map(e => [e.start, e.end])
|
|
43
|
+
.reduce((flat, toFlatten) => flat.concat(toFlatten), []);
|
|
44
|
+
return allTimestamps
|
|
45
|
+
.filter((t, i) => allTimestamps.indexOf(t) === i)
|
|
46
|
+
.sort((t1, t2) => t1 - t2);
|
|
47
|
+
}
|
|
48
|
+
trackIsFreeAt(track, event) {
|
|
49
|
+
if (track.events.every((ev) => (ev.end <= event.start) || (event.end <= ev.start))) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
BsTimelineService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTimelineService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
BsTimelineService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTimelineService, providedIn: 'root' });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTimelineService, decorators: [{
|
|
60
|
+
type: Injectable,
|
|
61
|
+
args: [{
|
|
62
|
+
providedIn: 'root'
|
|
63
|
+
}]
|
|
64
|
+
}] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3NjaGVkdWxlci9zZXJ2aWNlcy90aW1lbGluZS90aW1lbGluZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTNDLE1BQU0sT0FBTyxpQkFBaUI7SUFFckIsWUFBWSxDQUFDLEtBQW9DO1FBQ3RELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDNUIsTUFBTSxNQUFNLEdBQXlCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFdBQVcsR0FBRyxPQUFPLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNwRCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzdDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDaEUsU0FBUyxHQUFHLEdBQUcsQ0FBQztTQUNqQjtRQUNELElBQUksU0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxT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SUFDSCxDQUFDOzs4R0E5RFUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJldmlld0V2ZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wcmV2aWV3LWV2ZW50JztcbmltcG9ydCB7IFNjaGVkdWxlckV2ZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY2hlZHVsZXItZXZlbnQnO1xuaW1wb3J0IHsgU2NoZWR1bGVyRXZlbnRQYXJ0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY2hlZHVsZXItZXZlbnQtcGFydCc7XG5pbXBvcnQgeyBTY2hlZHVsZXJFdmVudFdpdGhQYXJ0cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2NoZWR1bGVyLWV2ZW50LXdpdGgtcGFydHMnO1xuaW1wb3J0IHsgVGltZWxpbmVUcmFjayB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdGltZWxpbmUtdHJhY2snO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCc1RpbWVsaW5lU2VydmljZSB7XG5cbiAgcHVibGljIHNwbGl0SW5QYXJ0cyhldmVudDogU2NoZWR1bGVyRXZlbnQgfCBQcmV2aWV3RXZlbnQpIHtcbiAgICBsZXQgc3RhcnRUaW1lID0gZXZlbnQuc3RhcnQ7XG4gICAgY29uc3QgcmVzdWx0OiBTY2hlZHVsZXJFdmVudFBhcnRbXSA9IFtdO1xuICAgIGNvbnN0IGV2ZW50T3JOdWxsID0gJ2NvbG9yJyBpbiBldmVudCA/IGV2ZW50IDogbnVsbDtcbiAgICB3aGlsZSAoIXRoaXMuZGF0ZUVxdWFscyhzdGFydFRpbWUsIGV2ZW50LmVuZCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IG5ldyBEYXRlKHN0YXJ0VGltZS5nZXRGdWxsWWVhcigpLCBzdGFydFRpbWUuZ2V0TW9udGgoKSwgc3RhcnRUaW1lLmdldERhdGUoKSArIDEsIDAsIDAsIDApO1xuICAgICAgcmVzdWx0LnB1c2goeyBzdGFydDogc3RhcnRUaW1lLCBlbmQ6IGVuZCwgZXZlbnQ6IGV2ZW50T3JOdWxsIH0pO1xuICAgICAgc3RhcnRUaW1lID0gZW5kO1xuICAgIH1cbiAgICBpZiAoc3RhcnRUaW1lICE9IGV2ZW50LmVuZCkge1xuICAgICAgcmVzdWx0LnB1c2goeyBzdGFydDogc3RhcnRUaW1lLCBlbmQ6IGV2ZW50LmVuZCwgZXZlbnQ6IGV2ZW50T3JOdWxsIH0pO1xuICAgIH1cblxuICAgIHJldHVybiA8U2NoZWR1bGVyRXZlbnRXaXRoUGFydHM+eyBldmVudDogZXZlbnQsIHBhcnRzOiByZXN1bHQgfTtcbiAgfVxuICBcbiAgcHJpdmF0ZSBkYXRlRXF1YWxzKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICAgIHJldHVybiAoXG4gICAgICBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpICYmXG4gICAgICBkYXRlMS5nZXRNb250aCgpID09PSBkYXRlMi5nZXRNb250aCgpICYmXG4gICAgICBkYXRlMS5nZXREYXRlKCkgPT09IGRhdGUyLmdldERhdGUoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VGltZWxpbmUoZXZlbnRzOiBTY2hlZHVsZXJFdmVudFtdKSB7XG4gICAgY29uc3QgdGltZXN0YW1wcyA9IHRoaXMuZ2V0VGltZXN0YW1wcyhldmVudHMpO1xuICAgIGNvbnN0IHRyYWNrczogVGltZWxpbmVUcmFja1tdID0gW107XG5cbiAgICB0aW1lc3RhbXBzLmZvckVhY2goKHRpbWVzdGFtcCwgdEluZGV4KSA9PiB7XG4gICAgICBjb25zdCBzdGFydGluZyA9IGV2ZW50cy5maWx0ZXIoKGUpID0+IGUuc3RhcnQgPT09IHRpbWVzdGFtcCk7XG4gICAgICAvLyBjb25zdCBlbmRpbmcgPSBldmVudHMuZmlsdGVyKChlKSA9PiBlLmVuZCA9PT0gdGltZXN0YW1wKTtcblxuICAgICAgc3RhcnRpbmcuZm9yRWFjaCgoc3RhcnRlZEV2ZW50LCBlSW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZnJlZVRyYWNrcyA9IHRyYWNrcy5maWx0ZXIodCA9PiB0aGlzLnRyYWNrSXNGcmVlQXQodCwgc3RhcnRlZEV2ZW50KSk7XG4gICAgICAgIGlmIChmcmVlVHJhY2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRyYWNrcy5wdXNoKHsgaW5kZXg6IHRyYWNrcy5sZW5ndGgsIGV2ZW50czogW3N0YXJ0ZWRFdmVudF0gfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZnJlZVRyYWNrc1swXS5ldmVudHMucHVzaChzdGFydGVkRXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmFja3M7XG4gIH1cblxuICBwcml2YXRlIGdldFRpbWVzdGFtcHMoZXZlbnRzOiBTY2hlZHVsZXJFdmVudFtdKSB7XG4gICAgY29uc3QgYWxsVGltZXN0YW1wcyA9IGV2ZW50cy5tYXAoZSA9PiBbZS5zdGFydCwgZS5lbmRdKVxuICAgICAgLnJlZHVjZSgoZmxhdCwgdG9GbGF0dGVuKSA9PiBmbGF0LmNvbmNhdCh0b0ZsYXR0ZW4pLCBbXSk7XG4gICAgXG4gICAgcmV0dXJuIGFsbFRpbWVzdGFtcHNcbiAgICAgIC5maWx0ZXIoKHQsIGkpID0+IGFsbFRpbWVzdGFtcHMuaW5kZXhPZih0KSA9PT0gaSlcbiAgICAgIC5zb3J0KCh0MSwgdDIpID0+IDxhbnk+dDEgLSA8YW55PnQyKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhY2tJc0ZyZWVBdCh0cmFjazogVGltZWxpbmVUcmFjaywgZXZlbnQ6IFNjaGVkdWxlckV2ZW50KSB7XG4gICAgaWYgKHRyYWNrLmV2ZW50cy5ldmVyeSgoZXYpID0+IChldi5lbmQgPD0gZXZlbnQuc3RhcnQpIHx8IChldmVudC5lbmQgPD0gZXYuc3RhcnQpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
93
93
|
providedIn: 'root'
|
|
94
94
|
}]
|
|
95
95
|
}] });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9zZXJ2aWNlcy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFMUIsUUFBUSxDQUFDLEtBQVc7UUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxNQUFNLGNBQWMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFlB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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZURheU9mTW9udGggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RhdGUtZGF5LW9mLW1vbnRoJztcbmltcG9ydCB7IEZpcnN0QW5kTGFzdERhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ZpcnN0LWFuZC1sYXN0LWRhdGUnO1xuaW1wb3J0IHsgV2VlayB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvd2Vlayc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2FsZW5kYXJNb250aFNlcnZpY2Uge1xuXG4gIHB1YmxpYyBnZXRXZWVrcyhtb250aDogRGF0ZSkge1xuICAgIGNvbnN0IGZpcnN0QW5kTGFzdCA9IHRoaXMuZ2V0Rmlyc3RBbmRMYXN0RGF5T2ZNb250aChtb250aCk7XG4gICAgY29uc3QgZmlyc3RPZk1vbnRoID0gdGhpcy5nZXRNb25kYXlCZWZvcmUoZmlyc3RBbmRMYXN0LmZpcnN0KTtcbiAgICBjb25zdCBsYXN0T2ZNb250aCA9IHRoaXMuZ2V0U3VuZGF5QWZ0ZXIoZmlyc3RBbmRMYXN0Lmxhc3QpO1xuICAgIGNvbnN0IGRheXMgPSB0aGlzLmRhdGVEaWZmKGZpcnN0T2ZNb250aCwgbGFzdE9mTW9udGgpICsgMTtcbiAgICBjb25zdCBmaXJzdERheU9mZnNldCA9IChmaXJzdEFuZExhc3QuZmlyc3QuZ2V0RGF5KCkgKyA3IC0gMSkgJSA3O1xuICAgIGNvbnN0IGFsbERheXMgPSB0aGlzLmdlbmVyYXRlTGlzdChkYXlzKS5tYXAoZCA9PiBkIC0gZmlyc3REYXlPZmZzZXQpLm1hcChkID0+IHtcbiAgICAgIGNvbnN0IHdyb25nRGF0ZSA9IG5ldyBEYXRlKGZpcnN0QW5kTGFzdC5maXJzdC5nZXRGdWxsWWVhcigpLCBmaXJzdEFuZExhc3QuZmlyc3QuZ2V0TW9udGgoKSwgZmlyc3RBbmRMYXN0LmZpcnN0LmdldERhdGUoKSArIGQpO1xuICAgICAgY29uc3QgY29ycmVjdERhdGUgPSBuZXcgRGF0ZSh3cm9uZ0RhdGUuZ2V0RnVsbFllYXIoKSwgd3JvbmdEYXRlLmdldE1vbnRoKCksIHdyb25nRGF0ZS5nZXREYXRlKCkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0ZTogY29ycmVjdERhdGUsXG4gICAgICAgIGRheU9mTW9udGg6IGNvcnJlY3REYXRlLmdldERhdGUoKSxcbiAgICAgICAgaXNJbk1vbnRoOiAoY29ycmVjdERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gbW9udGguZ2V0RnVsbFllYXIoKSkgJiYgKGNvcnJlY3REYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoLmdldE1vbnRoKCkpXG4gICAgICB9O1xuICAgIH0pO1xuICAgIGNvbnN0IHdlZWtzID0gdGhpcy5jaHVuayhhbGxEYXlzLCA3KTtcbiAgICBjb25zdCB3ZWVrc01hcHBlZCA9IHdlZWtzLm1hcDxXZWVrPigodywgaSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbnVtYmVyOiB0aGlzLndlZWtPZlllYXIobmV3IERhdGUobW9udGguZ2V0RnVsbFllYXIoKSwgbW9udGguZ2V0TW9udGgoKSwgdy5maW5kKGQgPT4gZC5pc0luTW9udGgpPy5kYXlPZk1vbnRoKSksXG4gICAgICAgIGRheXM6IHdcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gd2Vla3NNYXBwZWQ7XG4gIH1cbiAgXG4gIGdlbmVyYXRlTGlzdChjb3VudDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIFsuLi5BcnJheShjb3VudCkua2V5cygpXTtcbiAgfVxuXG4gIGRheU9mV2Vla01vbmRheUJhc2VkKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBkID0gZGF0ZS5nZXREYXkoKSAtIDE7XG4gICAgaWYgKGQgPCAwKSB7XG4gICAgICByZXR1cm4gNjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuICB9XG5cbiAgd2Vla09mWWVhcihkYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgZGF0ZUNsb25lID0gbmV3IERhdGUoRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKSk7XG4gICAgZGF0ZUNsb25lLnNldFVUQ0RhdGUoZGF0ZUNsb25lLmdldFVUQ0RhdGUoKSArIDQgLSAoZGF0ZUNsb25lLmdldFVUQ0RheSgpIHx8IDcpKTtcbiAgICBjb25zdCB5ZWFyU3RhcnQgPSBuZXcgRGF0ZShEYXRlLlVUQyhkYXRlQ2xvbmUuZ2V0VVRDRnVsbFllYXIoKSwgMCwgMSkpO1xuICAgIGNvbnN0IHV0Y0RpZmYgPSB0aGlzLnRvVVRDKGRhdGVDbG9uZSkgLSB0aGlzLnRvVVRDKHllYXJTdGFydCk7XG4gICAgcmV0dXJuIE1hdGguY2VpbCgodXRjRGlmZiAvICgxMDAwICogNjAgKiA2MCAqIDI0KSArIDEpIC8gNyk7XG4gIH1cblxuICBnZXRGaXJzdEFuZExhc3REYXlPZk1vbnRoKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBmaXJzdCA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCAxKTtcbiAgICBjb25zdCBsYXN0ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkgKyAxLCAwKTtcbiAgICByZXR1cm4gPEZpcnN0QW5kTGFzdERhdGU+eyBmaXJzdCwgbGFzdCB9O1xuICB9XG5cbiAgZGF0ZURpZmYoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKSB7XG4gICAgY29uc3QgdXRjMSA9IHRoaXMudG9VVEMoZGF0ZTEpO1xuICAgIGNvbnN0IHV0YzIgPSB0aGlzLnRvVVRDKGRhdGUyKTtcbiAgICBjb25zdCBtc1BlckRheSA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoKHV0YzIgLSB1dGMxKSAvIG1zUGVyRGF5KTtcbiAgfVxuXG4gIGRheU9mWWVhcihkYXRlOiBEYXRlKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIDAsIDApO1xuICAgIHJldHVybiB0aGlzLmRhdGVEaWZmKHN0YXJ0LCBkYXRlKTtcbiAgfVxuXG4gIHRvVVRDKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcbiAgfVxuXG4gIGNodW5rPFQ+KGl0ZW1zOiBUW10sIHNpemU6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc3VsdDogVFtdW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSArPSBzaXplKSB7XG4gICAgICByZXN1bHQucHVzaChpdGVtcy5zbGljZShpLCBpICsgc2l6ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0TW9uZGF5QmVmb3JlKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERheSgpLCBkaWZmID0gZGF0ZS5nZXREYXRlKCkgLSBkYXkgKyAoZGF5ID09IDAgPyAtNiA6IDEpOyAvLyBhZGp1c3Qgd2hlbiBkYXkgaXMgc3VuZGF5XG4gICAgY29uc3QgbW9uZGF5ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgbW9uZGF5LnNldERhdGUoZGlmZik7XG4gICAgcmV0dXJuIG1vbmRheTtcbiAgfVxuXG4gIGdldFN1bmRheUFmdGVyKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERheSgpO1xuICAgIGNvbnN0IHN1bmRheSA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIGlmIChkYXkgIT09IDApIHtcbiAgICAgIGNvbnN0IGRpZmYgPSBkYXRlLmdldERhdGUoKSArIDcgLSBkYXk7XG4gICAgICBzdW5kYXkuc2V0RGF0ZShkaWZmKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1bmRheTtcbiAgfVxufSJdfQ==
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9zZXJ2aWNlcy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFMUIsUUFBUSxDQUFDLEtBQVc7UUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxNQUFNLGNBQWMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFlB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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlyc3RBbmRMYXN0RGF0ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZmlyc3QtYW5kLWxhc3QtZGF0ZSc7XG5pbXBvcnQgeyBXZWVrIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93ZWVrJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQnNDYWxlbmRhck1vbnRoU2VydmljZSB7XG5cbiAgcHVibGljIGdldFdlZWtzKG1vbnRoOiBEYXRlKSB7XG4gICAgY29uc3QgZmlyc3RBbmRMYXN0ID0gdGhpcy5nZXRGaXJzdEFuZExhc3REYXlPZk1vbnRoKG1vbnRoKTtcbiAgICBjb25zdCBmaXJzdE9mTW9udGggPSB0aGlzLmdldE1vbmRheUJlZm9yZShmaXJzdEFuZExhc3QuZmlyc3QpO1xuICAgIGNvbnN0IGxhc3RPZk1vbnRoID0gdGhpcy5nZXRTdW5kYXlBZnRlcihmaXJzdEFuZExhc3QubGFzdCk7XG4gICAgY29uc3QgZGF5cyA9IHRoaXMuZGF0ZURpZmYoZmlyc3RPZk1vbnRoLCBsYXN0T2ZNb250aCkgKyAxO1xuICAgIGNvbnN0IGZpcnN0RGF5T2Zmc2V0ID0gKGZpcnN0QW5kTGFzdC5maXJzdC5nZXREYXkoKSArIDcgLSAxKSAlIDc7XG4gICAgY29uc3QgYWxsRGF5cyA9IHRoaXMuZ2VuZXJhdGVMaXN0KGRheXMpLm1hcChkID0+IGQgLSBmaXJzdERheU9mZnNldCkubWFwKGQgPT4ge1xuICAgICAgY29uc3Qgd3JvbmdEYXRlID0gbmV3IERhdGUoZmlyc3RBbmRMYXN0LmZpcnN0LmdldEZ1bGxZZWFyKCksIGZpcnN0QW5kTGFzdC5maXJzdC5nZXRNb250aCgpLCBmaXJzdEFuZExhc3QuZmlyc3QuZ2V0RGF0ZSgpICsgZCk7XG4gICAgICBjb25zdCBjb3JyZWN0RGF0ZSA9IG5ldyBEYXRlKHdyb25nRGF0ZS5nZXRGdWxsWWVhcigpLCB3cm9uZ0RhdGUuZ2V0TW9udGgoKSwgd3JvbmdEYXRlLmdldERhdGUoKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRlOiBjb3JyZWN0RGF0ZSxcbiAgICAgICAgZGF5T2ZNb250aDogY29ycmVjdERhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBpc0luTW9udGg6IChjb3JyZWN0RGF0ZS5nZXRGdWxsWWVhcigpID09PSBtb250aC5nZXRGdWxsWWVhcigpKSAmJiAoY29ycmVjdERhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGguZ2V0TW9udGgoKSlcbiAgICAgIH07XG4gICAgfSk7XG4gICAgY29uc3Qgd2Vla3MgPSB0aGlzLmNodW5rKGFsbERheXMsIDcpO1xuICAgIGNvbnN0IHdlZWtzTWFwcGVkID0gd2Vla3MubWFwPFdlZWs+KCh3LCBpKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBudW1iZXI6IHRoaXMud2Vla09mWWVhcihuZXcgRGF0ZShtb250aC5nZXRGdWxsWWVhcigpLCBtb250aC5nZXRNb250aCgpLCB3LmZpbmQoZCA9PiBkLmlzSW5Nb250aCk/LmRheU9mTW9udGgpKSxcbiAgICAgICAgZGF5czogd1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB3ZWVrc01hcHBlZDtcbiAgfVxuICBcbiAgZ2VuZXJhdGVMaXN0KGNvdW50OiBudW1iZXIpIHtcbiAgICByZXR1cm4gWy4uLkFycmF5KGNvdW50KS5rZXlzKCldO1xuICB9XG5cbiAgZGF5T2ZXZWVrTW9uZGF5QmFzZWQoZGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IGQgPSBkYXRlLmdldERheSgpIC0gMTtcbiAgICBpZiAoZCA8IDApIHtcbiAgICAgIHJldHVybiA2O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZDtcbiAgICB9XG4gIH1cblxuICB3ZWVrT2ZZZWFyKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBkYXRlQ2xvbmUgPSBuZXcgRGF0ZShEYXRlLlVUQyhkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpKTtcbiAgICBkYXRlQ2xvbmUuc2V0VVRDRGF0ZShkYXRlQ2xvbmUuZ2V0VVRDRGF0ZSgpICsgNCAtIChkYXRlQ2xvbmUuZ2V0VVRDRGF5KCkgfHwgNykpO1xuICAgIGNvbnN0IHllYXJTdGFydCA9IG5ldyBEYXRlKERhdGUuVVRDKGRhdGVDbG9uZS5nZXRVVENGdWxsWWVhcigpLCAwLCAxKSk7XG4gICAgY29uc3QgdXRjRGlmZiA9IHRoaXMudG9VVEMoZGF0ZUNsb25lKSAtIHRoaXMudG9VVEMoeWVhclN0YXJ0KTtcbiAgICByZXR1cm4gTWF0aC5jZWlsKCh1dGNEaWZmIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpICsgMSkgLyA3KTtcbiAgfVxuXG4gIGdldEZpcnN0QW5kTGFzdERheU9mTW9udGgoZGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IGZpcnN0ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIDEpO1xuICAgIGNvbnN0IGxhc3QgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSArIDEsIDApO1xuICAgIHJldHVybiA8Rmlyc3RBbmRMYXN0RGF0ZT57IGZpcnN0LCBsYXN0IH07XG4gIH1cblxuICBkYXRlRGlmZihkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpIHtcbiAgICBjb25zdCB1dGMxID0gdGhpcy50b1VUQyhkYXRlMSk7XG4gICAgY29uc3QgdXRjMiA9IHRoaXMudG9VVEMoZGF0ZTIpO1xuICAgIGNvbnN0IG1zUGVyRGF5ID0gMTAwMCAqIDYwICogNjAgKiAyNDtcbiAgICByZXR1cm4gTWF0aC5mbG9vcigodXRjMiAtIHV0YzEpIC8gbXNQZXJEYXkpO1xuICB9XG5cbiAgZGF5T2ZZZWFyKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgMCwgMCk7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZURpZmYoc3RhcnQsIGRhdGUpO1xuICB9XG5cbiAgdG9VVEMoZGF0ZTogRGF0ZSkge1xuICAgIHJldHVybiBEYXRlLlVUQyhkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpO1xuICB9XG5cbiAgY2h1bms8VD4oaXRlbXM6IFRbXSwgc2l6ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgcmVzdWx0OiBUW11bXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpICs9IHNpemUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGl0ZW1zLnNsaWNlKGksIGkgKyBzaXplKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRNb25kYXlCZWZvcmUoZGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF5KCksIGRpZmYgPSBkYXRlLmdldERhdGUoKSAtIGRheSArIChkYXkgPT0gMCA/IC02IDogMSk7IC8vIGFkanVzdCB3aGVuIGRheSBpcyBzdW5kYXlcbiAgICBjb25zdCBtb25kYXkgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICBtb25kYXkuc2V0RGF0ZShkaWZmKTtcbiAgICByZXR1cm4gbW9uZGF5O1xuICB9XG5cbiAgZ2V0U3VuZGF5QWZ0ZXIoZGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF5KCk7XG4gICAgY29uc3Qgc3VuZGF5ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgaWYgKGRheSAhPT0gMCkge1xuICAgICAgY29uc3QgZGlmZiA9IGRhdGUuZ2V0RGF0ZSgpICsgNyAtIGRheTtcbiAgICAgIHN1bmRheS5zZXREYXRlKGRpZmYpO1xuICAgIH1cbiAgICByZXR1cm4gc3VuZGF5O1xuICB9XG59Il19
|