@dereekb/dbx-web 9.24.19 → 9.24.21
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/calendar/esm2020/lib/calendar.store.mjs +2 -2
- package/calendar/fesm2015/dereekb-dbx-web-calendar.mjs +1 -1
- package/calendar/fesm2015/dereekb-dbx-web-calendar.mjs.map +1 -1
- package/calendar/fesm2020/dereekb-dbx-web-calendar.mjs +1 -1
- package/calendar/fesm2020/dereekb-dbx-web-calendar.mjs.map +1 -1
- package/calendar/package.json +2 -2
- package/esm2020/calendar/lib/calendar.store.mjs +2 -2
- package/esm2020/mapbox/lib/index.mjs +2 -1
- package/esm2020/mapbox/lib/mapbox.layout.component.mjs +13 -9
- package/esm2020/mapbox/lib/mapbox.layout.resize.sync.directive.mjs +38 -0
- package/esm2020/mapbox/lib/mapbox.module.mjs +5 -1
- package/esm2020/mapbox/lib/mapbox.store.mjs +61 -26
- package/fesm2015/dereekb-dbx-web-calendar.mjs +1 -1
- package/fesm2015/dereekb-dbx-web-calendar.mjs.map +1 -1
- package/fesm2015/dereekb-dbx-web-mapbox.mjs +109 -34
- package/fesm2015/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-web-calendar.mjs +1 -1
- package/fesm2020/dereekb-dbx-web-calendar.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-web-mapbox.mjs +107 -34
- package/fesm2020/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/mapbox/esm2020/lib/index.mjs +2 -1
- package/mapbox/esm2020/lib/mapbox.layout.component.mjs +13 -9
- package/mapbox/esm2020/lib/mapbox.layout.resize.sync.directive.mjs +38 -0
- package/mapbox/esm2020/lib/mapbox.module.mjs +5 -1
- package/mapbox/esm2020/lib/mapbox.store.mjs +61 -26
- package/mapbox/fesm2015/dereekb-dbx-web-mapbox.mjs +109 -34
- package/mapbox/fesm2015/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/mapbox/fesm2020/dereekb-dbx-web-mapbox.mjs +107 -34
- package/mapbox/fesm2020/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/mapbox/lib/index.d.ts +1 -0
- package/mapbox/lib/mapbox.layout.component.d.ts +3 -1
- package/mapbox/lib/mapbox.layout.resize.sync.directive.d.ts +15 -0
- package/mapbox/lib/mapbox.module.d.ts +18 -17
- package/mapbox/lib/mapbox.store.d.ts +31 -13
- package/mapbox/package.json +3 -3
- package/package.json +3 -3
- package/table/package.json +3 -3
|
@@ -86,7 +86,7 @@ export class DbxCalendarStore extends ComponentStore {
|
|
|
86
86
|
}))));
|
|
87
87
|
});
|
|
88
88
|
// MARK: Accessors
|
|
89
|
-
this.showTodayButton$ = this.state$.pipe(map((x) => x.showTodayButton), distinctUntilChanged(), shareReplay());
|
|
89
|
+
this.showTodayButton$ = this.state$.pipe(map((x) => x.showTodayButton), distinctUntilChanged(), shareReplay(1));
|
|
90
90
|
this.date$ = this.state$.pipe(map((x) => x.date));
|
|
91
91
|
this.dateTappedTwice$ = this.state$.pipe(map((x) => x.dateTappedTwice));
|
|
92
92
|
this.events$ = this.state$.pipe(map((x) => x.events));
|
|
@@ -171,4 +171,4 @@ export function updateCalendarStateWithNavigationRangeLimit(state, navigationRan
|
|
|
171
171
|
return { ...state, navigationRangeLimit };
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQWEsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUFFLGNBQWMsRUFBUyx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzSixPQUFPLEVBQWMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRWhILE1BQU0sQ0FBTixJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0Isc0NBQWUsQ0FBQTtJQUNmLG9DQUFhLENBQUE7SUFDYixrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFnREQsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLGFBQTRCO0lBQzNFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsYUFBYSxDQUFDO0lBQzNELElBQUksS0FBVyxDQUFDO0lBQ2hCLElBQUksR0FBUyxDQUFDO0lBQ2QsSUFBSSxRQUFnQixDQUFDO0lBRXJCLFFBQVEsSUFBSSxFQUFFO1FBQ1osS0FBSyxtQkFBbUIsQ0FBQyxLQUFLO1lBQzVCLEtBQUssR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekUsR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QyxNQUFNO1FBQ1IsS0FBSyxtQkFBbUIsQ0FBQyxJQUFJO1lBQzNCLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsR0FBRyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsb0JBQW9CO1lBQ2xDLE1BQU07UUFDUixLQUFLLG1CQUFtQixDQUFDLEdBQUc7WUFDMUIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JCLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDYixNQUFNO0tBQ1Q7SUFFRCxNQUFNLGdCQUFnQixHQUFZLG9CQUFvQixFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVILE1BQU0sZ0JBQWdCLEdBQVksb0JBQW9CLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFdkgsNEdBQTRHO0lBQzVHLGtHQUFrRztJQUVsRyxPQUFPO1FBQ0wsSUFBSTtRQUNKLEtBQUs7UUFDTCxHQUFHO1FBQ0gsUUFBUTtRQUNSLGdCQUFnQjtRQUNoQixnQkFBZ0I7S0FDakIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLHNDQUFzQyxHQUFHLG9CQUFvQixDQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFHcEssTUFBTSxPQUFPLGdCQUEwQixTQUFRLGNBQWdDO0lBQzdFO1FBQ0UsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLG1CQUFtQixDQUFDLEtBQUs7WUFDL0IsZUFBZSxFQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2hCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQyxDQUFDO1FBR0wsZ0JBQWdCO1FBQ1AsaUJBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBdUIsRUFBRSxFQUFFO1lBQzlELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FDZixTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDMUIsS0FBSyxFQUFFLEVBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLEVBQUU7b0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDaEI7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRU0sWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUU7WUFDekQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNmLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUN6QixLQUFLLEVBQUUsRUFDUCxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzlCO1lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtZQUM3RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQ3pCLEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNqQztZQUNILENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFTSxnQkFBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUU7WUFDN0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNmLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUMxQixLQUFLLEVBQUUsRUFDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDUixJQUFJLENBQUMsRUFBRTtvQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNoQjtZQUNILENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxrQkFBa0I7UUFFVCxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQzdCLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsRUFBRSxDQUNkLENBQUM7UUFFTyxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3QyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBRW5FLFlBQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTFELHVGQUF1RjtRQUM5RSxtQkFBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN4QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDcEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyx3QkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDN0Msc0NBQXNDLEVBQ3RDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNkLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVJLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtTQUN2QyxDQUFDLENBQUMsRUFDSCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLG1CQUFjLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTdFLHNCQUFpQixHQUFzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDOUUsNENBQTRDO1FBQzVDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUMxRSxHQUFHLENBQUMsZ0NBQWdDLENBQUMsRUFDckMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3JCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BDO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDLENBQUMsb0NBQW9DO2FBQ25EO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyxzQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDNUMsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyw0QkFBdUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUM1RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUM5QixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLDRCQUF1QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQzVELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQzlCLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sc0JBQWlCLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFak0saUJBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ2xCLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN2QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLDBCQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUNsQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsRUFDckMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyx1QkFBa0IsR0FBNEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDcEYsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ3BCLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxFQUNuQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLHVCQUFrQixHQUE0QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUNwRixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFDbEIsb0JBQW9CLENBQUMsYUFBYSxDQUFDLEVBQ25DLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sbUNBQThCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDdkUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUNsRCxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLG9CQUFlLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLDZCQUE2QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLElBQUksNkJBQTZCLENBQUMsRUFDOUcsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyx3QkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFDbEcsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyxxQkFBZ0IsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNwSSxHQUFHLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDLEVBQUUsRUFBRTtZQUMzRSxPQUFPLGtCQUFrQixJQUFJLENBQUMsQ0FBQyxzQkFBc0IsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRUYsc0JBQXNCO1FBQ3RCOzs7O1dBSUc7UUFDTSxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFVLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRHOztXQUVHO1FBQ00sY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVqRzs7V0FFRztRQUNNLG1CQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRW5HOztXQUVHO1FBQ00sNEJBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxvQkFBK0MsRUFBRSxFQUFFLENBQUMsMkNBQTJDLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUU3Syx1QkFBa0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLGVBQStCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxlQUFlLEVBQUUsZUFBZSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakssdUJBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxlQUErQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBMU0zSyxDQUFDOzs4R0FUVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOztBQXVOWCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsS0FBb0IsRUFBRSxJQUFVO0lBQ2hGLDBDQUEwQztJQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFDcEMsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQ3RGLEtBQUssR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDM0c7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSwyQ0FBMkMsQ0FBQyxLQUFvQixFQUFFLG9CQUErQztJQUMvSCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXZCLG9EQUFvRDtJQUNwRCxJQUFJLG9CQUFvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLEVBQUU7UUFDMUUsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDckUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztLQUM5RDtTQUFNO1FBQ0wsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLG9CQUFvQixFQUFFLENBQUM7S0FDM0M7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhbXBEYXRlVG9EYXRlUmFuZ2UsIERhdGVSYW5nZSwgaXNEYXRlSW5EYXRlUmFuZ2UsIGlzRnVsbERhdGVSYW5nZSwgaXNTYW1lRGF0ZURheSwgaXNTYW1lRGF0ZVJhbmdlIH0gZnJvbSAnQGRlcmVla2IvZGF0ZSc7XG5pbXBvcnQgeyBpbnZlcnREZWNpc2lvbiwgTWF5YmUsIHJlZHVjZUJvb2xlYW5zV2l0aEFuZEZuIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBDYWxlbmRhckV2ZW50IH0gZnJvbSAnYW5ndWxhci1jYWxlbmRhcic7XG5pbXBvcnQgeyBkaWZmZXJlbmNlSW5EYXlzLCBhZGREYXlzLCBlbmRPZkRheSwgZW5kT2ZNb250aCwgZW5kT2ZXZWVrLCBpc1NhbWVEYXksIHN0YXJ0T2ZEYXksIHN0YXJ0T2ZNb250aCwgc3RhcnRPZldlZWssIGlzQmVmb3JlLCBpc0FmdGVyIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0LCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZW51bSBDYWxlbmRhckRpc3BsYXlUeXBlIHtcbiAgTU9OVEggPSAnbW9udGgnLFxuICBXRUVLID0gJ3dlZWsnLFxuICBEQVkgPSAnZGF5J1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVmlld0RhdGVSYW5nZSB7XG4gIHR5cGU6IENhbGVuZGFyRGlzcGxheVR5cGU7XG4gIHN0YXJ0OiBEYXRlO1xuICBlbmQ6IERhdGU7XG4gIGRpc3RhbmNlOiBudW1iZXI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgbWluIG5hdmlnYXRpb24gZGF0ZSBpcyBjdXJyZW50bHkgdmlzaWJsZS4gVGhpcyBpbXBsaWVzIHRoYXQgd2UncmUgYXQgdGhlIG1pbmltdW0gZGF0ZS5cbiAgICovXG4gIGlzTWluRGF0ZVZpc2libGU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgbWF4aW11bSBuYXZpZ2F0aW9uIGRhdGUgaXMgdmlzaWJsZS4gVGhpcyBpbXBsaWVzIHRoYXQgd2UncmUgYXQgdGhlIG1heGltdW0gZGF0ZS5cbiAgICovXG4gIGlzTWF4RGF0ZVZpc2libGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJTdGF0ZTxUID0gYW55PiB7XG4gIC8qKlxuICAgKiBDYWxlbmRhciBkaXNwbGF5IG1vZGVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IENhbGVuZGFyRGlzcGxheVR5cGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSB0b2RheSBidXR0b24uIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICByZWFkb25seSBzaG93VG9kYXlCdXR0b24/OiBib29sZWFuO1xuICAvKipcbiAgICogRGF0ZSB0aGF0IGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0ZTogRGF0ZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBkYXkgd2FzIHRhcHBlZC9zZXQgdHdpY2UuXG4gICAqL1xuICByZWFkb25seSBkYXRlVGFwcGVkVHdpY2U6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZXQgb2YgY2FsZW5kYXIgZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRzOiBDYWxlbmRhckV2ZW50PFQ+W107XG4gIC8qKlxuICAgKiBPcHRpb25hbCBuYXZpZ2F0aW9uIHJhbmdlIGxpbWl0YXRpb24gdGhhdCBsaW1pdHMgd2hpY2ggZGF0ZXMgY2FuIGJlIG5hdmlnYXRlZCB0by5cbiAgICovXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25SYW5nZUxpbWl0PzogTWF5YmU8UGFydGlhbDxEYXRlUmFuZ2U+PjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGRpc3BsYXkgdGhlIHBhZ2UgYnV0dG9ucyB3aGVuIGFwcGxpY2FibGUuIENhbiBvbmx5IGJlIGRpc3BsYXllZCB3aGVuIGEgbmF2aWdhdGlvblJhbmdlTGltaXQgaXMgc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvd1BhZ2VCdXR0b25zPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZpc2libGVEYXRlUmFuZ2VGb3JDYWxlbmRhclN0YXRlKGNhbGVuZGFyU3RhdGU6IENhbGVuZGFyU3RhdGUpOiBDYWxlbmRhclZpZXdEYXRlUmFuZ2Uge1xuICBjb25zdCB7IG5hdmlnYXRpb25SYW5nZUxpbWl0LCB0eXBlLCBkYXRlIH0gPSBjYWxlbmRhclN0YXRlO1xuICBsZXQgc3RhcnQ6IERhdGU7XG4gIGxldCBlbmQ6IERhdGU7XG4gIGxldCBkaXN0YW5jZTogbnVtYmVyO1xuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgQ2FsZW5kYXJEaXNwbGF5VHlwZS5NT05USDpcbiAgICAgIHN0YXJ0ID0gc3RhcnRPZkRheShzdGFydE9mV2VlayhzdGFydE9mTW9udGgoZGF0ZSksIHsgd2Vla1N0YXJ0c09uOiAwIH0pKTtcbiAgICAgIGVuZCA9IGVuZE9mV2VlayhlbmRPZk1vbnRoKGRhdGUpKTtcbiAgICAgIGRpc3RhbmNlID0gZGlmZmVyZW5jZUluRGF5cyhlbmQsIHN0YXJ0KSArIDE7XG4gICAgICBicmVhaztcbiAgICBjYXNlIENhbGVuZGFyRGlzcGxheVR5cGUuV0VFSzpcbiAgICAgIHN0YXJ0ID0gc3RhcnRPZldlZWsoZGF0ZSk7XG4gICAgICBlbmQgPSBlbmRPZldlZWsoc3RhcnQpO1xuICAgICAgZGlzdGFuY2UgPSA3OyAvLyA3IGRheXMgaW4gYSB3ZWVrLlxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBDYWxlbmRhckRpc3BsYXlUeXBlLkRBWTpcbiAgICAgIHN0YXJ0ID0gc3RhcnRPZkRheShkYXRlKTtcbiAgICAgIGVuZCA9IGVuZE9mRGF5KGRhdGUpO1xuICAgICAgZGlzdGFuY2UgPSAxO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICBjb25zdCBpc01pbkRhdGVWaXNpYmxlOiBib29sZWFuID0gbmF2aWdhdGlvblJhbmdlTGltaXQ/LnN0YXJ0ICE9IG51bGwgPyAhaXNBZnRlcihzdGFydCwgbmF2aWdhdGlvblJhbmdlTGltaXQuc3RhcnQpIDogZmFsc2U7XG4gIGNvbnN0IGlzTWF4RGF0ZVZpc2libGU6IGJvb2xlYW4gPSBuYXZpZ2F0aW9uUmFuZ2VMaW1pdD8uZW5kICE9IG51bGwgPyAhaXNCZWZvcmUoZW5kLCBuYXZpZ2F0aW9uUmFuZ2VMaW1pdC5lbmQpIDogZmFsc2U7XG5cbiAgLy8gVE9ETzogQ29uc2lkZXIgY2hhbmdpbmcgbWluL21heCBkYXRlIHZpc2libGUgbG9naWNhbCB1dGlsaXR5IHRvIGJlIGZ1bGx5IHdpdGhpbiB0aGUgY3VycmVudCBtb250aCBvciBub3QsXG4gIC8vIG5vdCBqdXN0IHZpc2libGUsIHNpbmNlIGl0IGNhbiBjaGFuZ2UgdG8gYSBsb2NrZWQgb3V0IGNhbGVuZGFyIGFuZCBkb2Vzbid0IGZlZWwgYXMgVUkgZnJpZW5kbHkuXG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlLFxuICAgIHN0YXJ0LFxuICAgIGVuZCxcbiAgICBkaXN0YW5jZSxcbiAgICBpc01pbkRhdGVWaXNpYmxlLFxuICAgIGlzTWF4RGF0ZVZpc2libGVcbiAgfTtcbn1cblxuY29uc3QgZGlzdGluY3RVbnRpbERhdGVPclR5cGVPckV2ZW50c0NoYW5nZWQgPSBkaXN0aW5jdFVudGlsQ2hhbmdlZDxDYWxlbmRhclN0YXRlPigoYSwgYikgPT4gYT8uZGF0ZSA9PT0gYj8uZGF0ZSAmJiBhPy50eXBlID09PSBiPy50eXBlICYmIGE/LmV2ZW50cyA9PT0gYj8uZXZlbnRzKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieENhbGVuZGFyU3RvcmU8VCA9IGFueT4gZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxDYWxlbmRhclN0YXRlPFQ+PiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6IENhbGVuZGFyRGlzcGxheVR5cGUuTU9OVEgsXG4gICAgICBzaG93VG9kYXlCdXR0b246IHRydWUsXG4gICAgICBkYXRlOiBuZXcgRGF0ZSgpLFxuICAgICAgZGF0ZVRhcHBlZFR3aWNlOiBmYWxzZSxcbiAgICAgIGV2ZW50czogW11cbiAgICB9KTtcbiAgfVxuXG4gIC8vIE1BUks6IEVmZmVjdHNcbiAgcmVhZG9ubHkgdGFwRmlyc3RQYWdlID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPHZvaWQ+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy5taW5OYXZpZ2F0aW9uRGF0ZSQucGlwZShcbiAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgIHRhcCgoeCkgPT4ge1xuICAgICAgICAgICAgaWYgKHgpIHtcbiAgICAgICAgICAgICAgdGhpcy50YXBEYXkoeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRhcE5leHQgPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8dm9pZD4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICB0aGlzLnZpc2libGVEYXRlUmFuZ2UkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICB0YXAoKHsgZW5kLCBpc01heERhdGVWaXNpYmxlIH0pID0+IHtcbiAgICAgICAgICAgIGlmICghaXNNYXhEYXRlVmlzaWJsZSkge1xuICAgICAgICAgICAgICB0aGlzLnRhcERheShhZGREYXlzKGVuZCwgMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9KTtcblxuICByZWFkb25seSB0YXBQcmV2aW91cyA9IHRoaXMuZWZmZWN0KChpbnB1dDogT2JzZXJ2YWJsZTx2b2lkPikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgIHRoaXMudmlzaWJsZURhdGVSYW5nZSQucGlwZShcbiAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgIHRhcCgoeyBzdGFydCwgaXNNaW5EYXRlVmlzaWJsZSB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWlzTWluRGF0ZVZpc2libGUpIHtcbiAgICAgICAgICAgICAgdGhpcy50YXBEYXkoYWRkRGF5cyhzdGFydCwgLTEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgdGFwTGFzdFBhZ2UgPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8dm9pZD4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICB0aGlzLm1heE5hdmlnYXRpb25EYXRlJC5waXBlKFxuICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgdGFwKCh4KSA9PiB7XG4gICAgICAgICAgICBpZiAoeCkge1xuICAgICAgICAgICAgICB0aGlzLnRhcERheSh4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfSk7XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG5cbiAgcmVhZG9ubHkgc2hvd1RvZGF5QnV0dG9uJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnNob3dUb2RheUJ1dHRvbiksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC5kYXRlKSk7XG4gIHJlYWRvbmx5IGRhdGVUYXBwZWRUd2ljZSQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC5kYXRlVGFwcGVkVHdpY2UpKTtcblxuICByZWFkb25seSBldmVudHMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IHguZXZlbnRzKSk7XG5cbiAgLy8gVE9ETzogRmlsdGVyIHRvIGJlIGV2ZW50cyB0aGF0IHdpbGwgb25seSBiZSBkaXNwbGF5ZWQgYmFzZWQgb24gdGhlIGN1cnJlbnQgY2FsZW5kYXIuXG4gIHJlYWRvbmx5IHZpc2libGVFdmVudHMkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXZlbnRzKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGV2ZW50c0ZvckRhdGVTdGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxEYXRlT3JUeXBlT3JFdmVudHNDaGFuZ2VkLFxuICAgIG1hcCgoc3RhdGUpID0+ICh7XG4gICAgICBkYXRlOiBzdGF0ZS5kYXRlLFxuICAgICAgZXZlbnRzOiBzdGF0ZS5ldmVudHMuZmlsdGVyKCh4KSA9PiBpc1NhbWVEYXkoeC5zdGFydCwgc3RhdGUuZGF0ZSkgfHwgKHguZW5kICYmIGlzQmVmb3JlKHguc3RhcnQsIHN0YXRlLmRhdGUpICYmIGlzQWZ0ZXIoeC5lbmQsIHN0YXRlLmRhdGUpKSksXG4gICAgICBkYXRlVGFwcGVkVHdpY2U6IHN0YXRlLmRhdGVUYXBwZWRUd2ljZVxuICAgIH0pKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGV2ZW50c0ZvckRhdGUkID0gdGhpcy5ldmVudHNGb3JEYXRlU3RhdGUkLnBpcGUobWFwKChzdGF0ZSkgPT4gc3RhdGUuZXZlbnRzKSk7XG5cbiAgcmVhZG9ubHkgdmlzaWJsZURhdGVSYW5nZSQ6IE9ic2VydmFibGU8Q2FsZW5kYXJWaWV3RGF0ZVJhbmdlPiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgLy8gSWYgdGhlIGRhdGUgb3IgdHlwZSBjaGFuZ2VzLCBjaGVjayBhZ2Fpbi5cbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYT8uZGF0ZSA9PT0gYj8uZGF0ZSAmJiBhPy50eXBlID09PSBiPy50eXBlKSxcbiAgICBtYXAodmlzaWJsZURhdGVSYW5nZUZvckNhbGVuZGFyU3RhdGUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiB7XG4gICAgICBpZiAoYS50eXBlID09PSBiLnR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGlzU2FtZURheShhLnN0YXJ0LCBiLnN0YXJ0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTsgLy8gVHlwZSBjaGFuZ2VkLCBkYXRlIHJhbmdlIGNoYW5nZWQuXG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc0xvb2tpbmdBdFRvZGF5JCA9IHRoaXMudmlzaWJsZURhdGVSYW5nZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGlzRGF0ZUluRGF0ZVJhbmdlKG5ldyBEYXRlKCksIHgpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaXNMb29raW5nQXRNaW5pbXVtRGF0ZSQgPSB0aGlzLnZpc2libGVEYXRlUmFuZ2UkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmlzTWluRGF0ZVZpc2libGUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc0xvb2tpbmdBdE1heGltdW1EYXRlJCA9IHRoaXMudmlzaWJsZURhdGVSYW5nZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguaXNNYXhEYXRlVmlzaWJsZSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGhhc011bHRpcGxlUGFnZXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5pc0xvb2tpbmdBdE1pbmltdW1EYXRlJCwgdGhpcy5pc0xvb2tpbmdBdE1heGltdW1EYXRlJF0pLnBpcGUobWFwKGludmVydERlY2lzaW9uKHJlZHVjZUJvb2xlYW5zV2l0aEFuZEZuKHRydWUpKSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBkaXNwbGF5VHlwZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC50eXBlKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYSA9PT0gYiksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBuYXZpZ2F0aW9uUmFuZ2VMaW1pdCQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5uYXZpZ2F0aW9uUmFuZ2VMaW1pdCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNTYW1lRGF0ZVJhbmdlKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IG1pbk5hdmlnYXRpb25EYXRlJDogT2JzZXJ2YWJsZTxNYXliZTxEYXRlPj4gPSB0aGlzLm5hdmlnYXRpb25SYW5nZUxpbWl0JC5waXBlKFxuICAgIG1hcCgoeCkgPT4geD8uc3RhcnQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGlzU2FtZURhdGVEYXkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgbWF4TmF2aWdhdGlvbkRhdGUkOiBPYnNlcnZhYmxlPE1heWJlPERhdGU+PiA9IHRoaXMubmF2aWdhdGlvblJhbmdlTGltaXQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5lbmQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGlzU2FtZURhdGVEYXkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaXNUb2RheUluTmF2aWdhdGlvblJhbmdlTGltaXQkID0gdGhpcy5uYXZpZ2F0aW9uUmFuZ2VMaW1pdCQucGlwZShcbiAgICBtYXAoKHgpID0+IGlzRGF0ZUluRGF0ZVJhbmdlKG5ldyBEYXRlKCksIHggPz8ge30pKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY2FuSnVtcFRvVG9kYXkkID0gY29tYmluZUxhdGVzdChbdGhpcy5pc0xvb2tpbmdBdFRvZGF5JCwgdGhpcy5pc1RvZGF5SW5OYXZpZ2F0aW9uUmFuZ2VMaW1pdCRdKS5waXBlKFxuICAgIG1hcCgoW2lzTG9va2luZ0F0VG9kYXksIGlzVG9kYXlJbk5hdmlnYXRpb25SYW5nZUxpbWl0XSkgPT4gIWlzTG9va2luZ0F0VG9kYXkgJiYgaXNUb2RheUluTmF2aWdhdGlvblJhbmdlTGltaXQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjYW5TaG93UGFnZUJ1dHRvbnMkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguc2hvd1BhZ2VCdXR0b25zICYmIHgubmF2aWdhdGlvblJhbmdlTGltaXQgJiYgaXNGdWxsRGF0ZVJhbmdlKHgubmF2aWdhdGlvblJhbmdlTGltaXQpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2hvd1BhZ2VCdXR0b25zJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY2FuU2hvd1BhZ2VCdXR0b25zJCwgdGhpcy5pc0xvb2tpbmdBdE1pbmltdW1EYXRlJCwgdGhpcy5pc0xvb2tpbmdBdE1heGltdW1EYXRlJF0pLnBpcGUoXG4gICAgbWFwKChbY2FuU2hvd1BhZ2VCdXR0b25zLCBpc0xvb2tpbmdBdE1pbmltdW1EYXRlLCBpc0xvb2tpbmdBdE1heGltdW1EYXRlXSkgPT4ge1xuICAgICAgcmV0dXJuIGNhblNob3dQYWdlQnV0dG9ucyAmJiAhKGlzTG9va2luZ0F0TWluaW11bURhdGUgJiYgaXNMb29raW5nQXRNYXhpbXVtRGF0ZSk7XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8vIE1BUks6IFN0YXRlIENoYW5nZXNcbiAgLyoqXG4gICAqIFRhcCBhIGRheS5cbiAgICpcbiAgICogLSBJZiB0aGUgc2FtZSBkYXkgaXMgcHJlc2VudGVkLCBkYXRlVGFwcGVkVHdpY2UgaXMgZmxpcHBlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhcERheSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGRhdGU6IERhdGUpID0+IHVwZGF0ZUNhbGVuZGFyU3RhdGVXaXRoVGFwcGVkRGF0ZShzdGF0ZSwgZGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBTZXQgYWxsIGV2ZW50cyBvbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICByZWFkb25seSBzZXRFdmVudHMgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBldmVudHM6IENhbGVuZGFyRXZlbnQ8VD5bXSkgPT4gKHsgLi4uc3RhdGUsIGV2ZW50cyB9KSk7XG5cbiAgLyoqXG4gICAqIFNldCBhbGwgZXZlbnRzIG9uIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIHJlYWRvbmx5IHNldERpc3BsYXlUeXBlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdHlwZTogQ2FsZW5kYXJEaXNwbGF5VHlwZSkgPT4gKHsgLi4uc3RhdGUsIHR5cGUgfSkpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBuYXZpZ2F0aW9uIGxpbWl0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0TmF2aWdhdGlvblJhbmdlTGltaXQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBuYXZpZ2F0aW9uUmFuZ2VMaW1pdDogTWF5YmU8UGFydGlhbDxEYXRlUmFuZ2U+PikgPT4gdXBkYXRlQ2FsZW5kYXJTdGF0ZVdpdGhOYXZpZ2F0aW9uUmFuZ2VMaW1pdChzdGF0ZSwgbmF2aWdhdGlvblJhbmdlTGltaXQpKTtcblxuICByZWFkb25seSBzZXRTaG93VG9kYXlCdXR0b24gPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBzaG93VG9kYXlCdXR0b246IE1heWJlPGJvb2xlYW4+KSA9PiAoeyAuLi5zdGF0ZSwgc2hvd1RvZGF5QnV0dG9uOiBzaG93VG9kYXlCdXR0b24gIT0gbnVsbCA/IHNob3dUb2RheUJ1dHRvbiA6IHRydWUgfSkpO1xuICByZWFkb25seSBzZXRTaG93UGFnZUJ1dHRvbnMgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBzaG93UGFnZUJ1dHRvbnM6IE1heWJlPGJvb2xlYW4+KSA9PiAoeyAuLi5zdGF0ZSwgc2hvd1BhZ2VCdXR0b25zOiBzaG93UGFnZUJ1dHRvbnMgIT0gbnVsbCA/IHNob3dQYWdlQnV0dG9ucyA6IGZhbHNlIH0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUNhbGVuZGFyU3RhdGVXaXRoVGFwcGVkRGF0ZShzdGF0ZTogQ2FsZW5kYXJTdGF0ZSwgZGF0ZTogRGF0ZSkge1xuICAvLyBvbmx5IHVwZGF0ZSB0aGUgZGF0ZSBpZiBpdCBpcyBkaWZmZXJlbnRcbiAgaWYgKCFpc1NhbWVEYXRlRGF5KHN0YXRlLmRhdGUsIGRhdGUpKSB7XG4gICAgLy8gT25seSB1cGRhdGUgdGhlIGRhdGUgaWYgaXQgaXMgd2l0aGluIHRoZSBkYXRlIHJhbmdlXG4gICAgaWYgKCFzdGF0ZS5uYXZpZ2F0aW9uUmFuZ2VMaW1pdCB8fCBpc0RhdGVJbkRhdGVSYW5nZShkYXRlLCBzdGF0ZS5uYXZpZ2F0aW9uUmFuZ2VMaW1pdCkpIHtcbiAgICAgIHN0YXRlID0geyAuLi5zdGF0ZSwgZGF0ZSwgZGF0ZVRhcHBlZFR3aWNlOiBpc1NhbWVEYXkoZGF0ZSwgc3RhdGUuZGF0ZSkgPyAhc3RhdGUuZGF0ZVRhcHBlZFR3aWNlIDogZmFsc2UgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVDYWxlbmRhclN0YXRlV2l0aE5hdmlnYXRpb25SYW5nZUxpbWl0KHN0YXRlOiBDYWxlbmRhclN0YXRlLCBuYXZpZ2F0aW9uUmFuZ2VMaW1pdDogTWF5YmU8UGFydGlhbDxEYXRlUmFuZ2U+Pikge1xuICBjb25zdCB7IGRhdGUgfSA9IHN0YXRlO1xuXG4gIC8vIGNhcCB0aGUgZGF0ZSBpZiBpdCBkb2Vzbid0IGZhbGwgd2l0aGluIHRoZSByYW5nZS5cbiAgaWYgKG5hdmlnYXRpb25SYW5nZUxpbWl0ICYmICFpc0RhdGVJbkRhdGVSYW5nZShkYXRlLCBuYXZpZ2F0aW9uUmFuZ2VMaW1pdCkpIHtcbiAgICBjb25zdCBjbGFtcGVkRGF0ZSA9IGNsYW1wRGF0ZVRvRGF0ZVJhbmdlKGRhdGUsIG5hdmlnYXRpb25SYW5nZUxpbWl0KTtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgZGF0ZTogY2xhbXBlZERhdGUsIG5hdmlnYXRpb25SYW5nZUxpbWl0IH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIG5hdmlnYXRpb25SYW5nZUxpbWl0IH07XG4gIH1cbn1cbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQWEsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUFFLGNBQWMsRUFBUyx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzSixPQUFPLEVBQWMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRWhILE1BQU0sQ0FBTixJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0Isc0NBQWUsQ0FBQTtJQUNmLG9DQUFhLENBQUE7SUFDYixrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFnREQsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLGFBQTRCO0lBQzNFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsYUFBYSxDQUFDO0lBQzNELElBQUksS0FBVyxDQUFDO0lBQ2hCLElBQUksR0FBUyxD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RTtZQUN0RixLQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNHO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsMkNBQTJDLENBQUMsS0FBb0IsRUFBRSxvQkFBK0M7SUFDL0gsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztJQUV2QixvREFBb0Q7SUFDcEQsSUFBSSxvQkFBb0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO1FBQzFFLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUM7S0FDOUQ7U0FBTTtRQUNMLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0tBQzNDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsYW1wRGF0ZVRvRGF0ZVJhbmdlLCBEYXRlUmFuZ2UsIGlzRGF0ZUluRGF0ZVJhbmdlLCBpc0Z1bGxEYXRlUmFuZ2UsIGlzU2FtZURhdGVEYXksIGlzU2FtZURhdGVSYW5nZSB9IGZyb20gJ0BkZXJlZWtiL2RhdGUnO1xuaW1wb3J0IHsgaW52ZXJ0RGVjaXNpb24sIE1heWJlLCByZWR1Y2VCb29sZWFuc1dpdGhBbmRGbiB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFdmVudCB9IGZyb20gJ2FuZ3VsYXItY2FsZW5kYXInO1xuaW1wb3J0IHsgZGlmZmVyZW5jZUluRGF5cywgYWRkRGF5cywgZW5kT2ZEYXksIGVuZE9mTW9udGgsIGVuZE9mV2VlaywgaXNTYW1lRGF5LCBzdGFydE9mRGF5LCBzdGFydE9mTW9udGgsIHN0YXJ0T2ZXZWVrLCBpc0JlZm9yZSwgaXNBZnRlciB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGVudW0gQ2FsZW5kYXJEaXNwbGF5VHlwZSB7XG4gIE1PTlRIID0gJ21vbnRoJyxcbiAgV0VFSyA9ICd3ZWVrJyxcbiAgREFZID0gJ2RheSdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclZpZXdEYXRlUmFuZ2Uge1xuICB0eXBlOiBDYWxlbmRhckRpc3BsYXlUeXBlO1xuICBzdGFydDogRGF0ZTtcbiAgZW5kOiBEYXRlO1xuICBkaXN0YW5jZTogbnVtYmVyO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIG1pbiBuYXZpZ2F0aW9uIGRhdGUgaXMgY3VycmVudGx5IHZpc2libGUuIFRoaXMgaW1wbGllcyB0aGF0IHdlJ3JlIGF0IHRoZSBtaW5pbXVtIGRhdGUuXG4gICAqL1xuICBpc01pbkRhdGVWaXNpYmxlOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIG1heGltdW0gbmF2aWdhdGlvbiBkYXRlIGlzIHZpc2libGUuIFRoaXMgaW1wbGllcyB0aGF0IHdlJ3JlIGF0IHRoZSBtYXhpbXVtIGRhdGUuXG4gICAqL1xuICBpc01heERhdGVWaXNpYmxlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyU3RhdGU8VCA9IGFueT4ge1xuICAvKipcbiAgICogQ2FsZW5kYXIgZGlzcGxheSBtb2RlXG4gICAqL1xuICByZWFkb25seSB0eXBlOiBDYWxlbmRhckRpc3BsYXlUeXBlO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgdG9kYXkgYnV0dG9uLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvd1RvZGF5QnV0dG9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERhdGUgdGhhdCBpcyBzZWxlY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGU6IERhdGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZGF5IHdhcyB0YXBwZWQvc2V0IHR3aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0ZVRhcHBlZFR3aWNlOiBib29sZWFuO1xuICAvKipcbiAgICogU2V0IG9mIGNhbGVuZGFyIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50czogQ2FsZW5kYXJFdmVudDxUPltdO1xuICAvKipcbiAgICogT3B0aW9uYWwgbmF2aWdhdGlvbiByYW5nZSBsaW1pdGF0aW9uIHRoYXQgbGltaXRzIHdoaWNoIGRhdGVzIGNhbiBiZSBuYXZpZ2F0ZWQgdG8uXG4gICAqL1xuICByZWFkb25seSBuYXZpZ2F0aW9uUmFuZ2VMaW1pdD86IE1heWJlPFBhcnRpYWw8RGF0ZVJhbmdlPj47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBkaXNwbGF5IHRoZSBwYWdlIGJ1dHRvbnMgd2hlbiBhcHBsaWNhYmxlLiBDYW4gb25seSBiZSBkaXNwbGF5ZWQgd2hlbiBhIG5hdmlnYXRpb25SYW5nZUxpbWl0IGlzIHNldC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3dQYWdlQnV0dG9ucz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2aXNpYmxlRGF0ZVJhbmdlRm9yQ2FsZW5kYXJTdGF0ZShjYWxlbmRhclN0YXRlOiBDYWxlbmRhclN0YXRlKTogQ2FsZW5kYXJWaWV3RGF0ZVJhbmdlIHtcbiAgY29uc3QgeyBuYXZpZ2F0aW9uUmFuZ2VMaW1pdCwgdHlwZSwgZGF0ZSB9ID0gY2FsZW5kYXJTdGF0ZTtcbiAgbGV0IHN0YXJ0OiBEYXRlO1xuICBsZXQgZW5kOiBEYXRlO1xuICBsZXQgZGlzdGFuY2U6IG51bWJlcjtcblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIENhbGVuZGFyRGlzcGxheVR5cGUuTU9OVEg6XG4gICAgICBzdGFydCA9IHN0YXJ0T2ZEYXkoc3RhcnRPZldlZWsoc3RhcnRPZk1vbnRoKGRhdGUpLCB7IHdlZWtTdGFydHNPbjogMCB9KSk7XG4gICAgICBlbmQgPSBlbmRPZldlZWsoZW5kT2ZNb250aChkYXRlKSk7XG4gICAgICBkaXN0YW5jZSA9IGRpZmZlcmVuY2VJbkRheXMoZW5kLCBzdGFydCkgKyAxO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBDYWxlbmRhckRpc3BsYXlUeXBlLldFRUs6XG4gICAgICBzdGFydCA9IHN0YXJ0T2ZXZWVrKGRhdGUpO1xuICAgICAgZW5kID0gZW5kT2ZXZWVrKHN0YXJ0KTtcbiAgICAgIGRpc3RhbmNlID0gNzsgLy8gNyBkYXlzIGluIGEgd2Vlay5cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQ2FsZW5kYXJEaXNwbGF5VHlwZS5EQVk6XG4gICAgICBzdGFydCA9IHN0YXJ0T2ZEYXkoZGF0ZSk7XG4gICAgICBlbmQgPSBlbmRPZkRheShkYXRlKTtcbiAgICAgIGRpc3RhbmNlID0gMTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgY29uc3QgaXNNaW5EYXRlVmlzaWJsZTogYm9vbGVhbiA9IG5hdmlnYXRpb25SYW5nZUxpbWl0Py5zdGFydCAhPSBudWxsID8gIWlzQWZ0ZXIoc3RhcnQsIG5hdmlnYXRpb25SYW5nZUxpbWl0LnN0YXJ0KSA6IGZhbHNlO1xuICBjb25zdCBpc01heERhdGVWaXNpYmxlOiBib29sZWFuID0gbmF2aWdhdGlvblJhbmdlTGltaXQ/LmVuZCAhPSBudWxsID8gIWlzQmVmb3JlKGVuZCwgbmF2aWdhdGlvblJhbmdlTGltaXQuZW5kKSA6IGZhbHNlO1xuXG4gIC8vIFRPRE86IENvbnNpZGVyIGNoYW5naW5nIG1pbi9tYXggZGF0ZSB2aXNpYmxlIGxvZ2ljYWwgdXRpbGl0eSB0byBiZSBmdWxseSB3aXRoaW4gdGhlIGN1cnJlbnQgbW9udGggb3Igbm90LFxuICAvLyBub3QganVzdCB2aXNpYmxlLCBzaW5jZSBpdCBjYW4gY2hhbmdlIHRvIGEgbG9ja2VkIG91dCBjYWxlbmRhciBhbmQgZG9lc24ndCBmZWVsIGFzIFVJIGZyaWVuZGx5LlxuXG4gIHJldHVybiB7XG4gICAgdHlwZSxcbiAgICBzdGFydCxcbiAgICBlbmQsXG4gICAgZGlzdGFuY2UsXG4gICAgaXNNaW5EYXRlVmlzaWJsZSxcbiAgICBpc01heERhdGVWaXNpYmxlXG4gIH07XG59XG5cbmNvbnN0IGRpc3RpbmN0VW50aWxEYXRlT3JUeXBlT3JFdmVudHNDaGFuZ2VkID0gZGlzdGluY3RVbnRpbENoYW5nZWQ8Q2FsZW5kYXJTdGF0ZT4oKGEsIGIpID0+IGE/LmRhdGUgPT09IGI/LmRhdGUgJiYgYT8udHlwZSA9PT0gYj8udHlwZSAmJiBhPy5ldmVudHMgPT09IGI/LmV2ZW50cyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhDYWxlbmRhclN0b3JlPFQgPSBhbnk+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8Q2FsZW5kYXJTdGF0ZTxUPj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBDYWxlbmRhckRpc3BsYXlUeXBlLk1PTlRILFxuICAgICAgc2hvd1RvZGF5QnV0dG9uOiB0cnVlLFxuICAgICAgZGF0ZTogbmV3IERhdGUoKSxcbiAgICAgIGRhdGVUYXBwZWRUd2ljZTogZmFsc2UsXG4gICAgICBldmVudHM6IFtdXG4gICAgfSk7XG4gIH1cblxuICAvLyBNQVJLOiBFZmZlY3RzXG4gIHJlYWRvbmx5IHRhcEZpcnN0UGFnZSA9IHRoaXMuZWZmZWN0KChpbnB1dDogT2JzZXJ2YWJsZTx2b2lkPikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgIHRoaXMubWluTmF2aWdhdGlvbkRhdGUkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICB0YXAoKHgpID0+IHtcbiAgICAgICAgICAgIGlmICh4KSB7XG4gICAgICAgICAgICAgIHRoaXMudGFwRGF5KHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9KTtcblxuICByZWFkb25seSB0YXBOZXh0ID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPHZvaWQ+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy52aXNpYmxlRGF0ZVJhbmdlJC5waXBlKFxuICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgdGFwKCh7IGVuZCwgaXNNYXhEYXRlVmlzaWJsZSB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWlzTWF4RGF0ZVZpc2libGUpIHtcbiAgICAgICAgICAgICAgdGhpcy50YXBEYXkoYWRkRGF5cyhlbmQsIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgdGFwUHJldmlvdXMgPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8dm9pZD4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICB0aGlzLnZpc2libGVEYXRlUmFuZ2UkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICB0YXAoKHsgc3RhcnQsIGlzTWluRGF0ZVZpc2libGUgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpc01pbkRhdGVWaXNpYmxlKSB7XG4gICAgICAgICAgICAgIHRoaXMudGFwRGF5KGFkZERheXMoc3RhcnQsIC0xKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRhcExhc3RQYWdlID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPHZvaWQ+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy5tYXhOYXZpZ2F0aW9uRGF0ZSQucGlwZShcbiAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgIHRhcCgoeCkgPT4ge1xuICAgICAgICAgICAgaWYgKHgpIHtcbiAgICAgICAgICAgICAgdGhpcy50YXBEYXkoeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xuXG4gIC8vIE1BUks6IEFjY2Vzc29yc1xuXG4gIHJlYWRvbmx5IHNob3dUb2RheUJ1dHRvbiQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5zaG93VG9kYXlCdXR0b24pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBkYXRlJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LmRhdGUpKTtcbiAgcmVhZG9ubHkgZGF0ZVRhcHBlZFR3aWNlJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LmRhdGVUYXBwZWRUd2ljZSkpO1xuXG4gIHJlYWRvbmx5IGV2ZW50cyQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC5ldmVudHMpKTtcblxuICAvLyBUT0RPOiBGaWx0ZXIgdG8gYmUgZXZlbnRzIHRoYXQgd2lsbCBvbmx5IGJlIGRpc3BsYXllZCBiYXNlZCBvbiB0aGUgY3VycmVudCBjYWxlbmRhci5cbiAgcmVhZG9ubHkgdmlzaWJsZUV2ZW50cyQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5ldmVudHMpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZXZlbnRzRm9yRGF0ZVN0YXRlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbERhdGVPclR5cGVPckV2ZW50c0NoYW5nZWQsXG4gICAgbWFwKChzdGF0ZSkgPT4gKHtcbiAgICAgIGRhdGU6IHN0YXRlLmRhdGUsXG4gICAgICBldmVudHM6IHN0YXRlLmV2ZW50cy5maWx0ZXIoKHgpID0+IGlzU2FtZURheSh4LnN0YXJ0LCBzdGF0ZS5kYXRlKSB8fCAoeC5lbmQgJiYgaXNCZWZvcmUoeC5zdGFydCwgc3RhdGUuZGF0ZSkgJiYgaXNBZnRlcih4LmVuZCwgc3RhdGUuZGF0ZSkpKSxcbiAgICAgIGRhdGVUYXBwZWRUd2ljZTogc3RhdGUuZGF0ZVRhcHBlZFR3aWNlXG4gICAgfSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZXZlbnRzRm9yRGF0ZSQgPSB0aGlzLmV2ZW50c0ZvckRhdGVTdGF0ZSQucGlwZShtYXAoKHN0YXRlKSA9PiBzdGF0ZS5ldmVudHMpKTtcblxuICByZWFkb25seSB2aXNpYmxlRGF0ZVJhbmdlJDogT2JzZXJ2YWJsZTxDYWxlbmRhclZpZXdEYXRlUmFuZ2U+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAvLyBJZiB0aGUgZGF0ZSBvciB0eXBlIGNoYW5nZXMsIGNoZWNrIGFnYWluLlxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5kYXRlID09PSBiPy5kYXRlICYmIGE/LnR5cGUgPT09IGI/LnR5cGUpLFxuICAgIG1hcCh2aXNpYmxlRGF0ZVJhbmdlRm9yQ2FsZW5kYXJTdGF0ZSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IHtcbiAgICAgIGlmIChhLnR5cGUgPT09IGIudHlwZSkge1xuICAgICAgICByZXR1cm4gaXNTYW1lRGF5KGEuc3RhcnQsIGIuc3RhcnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBUeXBlIGNoYW5nZWQsIGRhdGUgcmFuZ2UgY2hhbmdlZC5cbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGlzTG9va2luZ0F0VG9kYXkkID0gdGhpcy52aXNpYmxlRGF0ZVJhbmdlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gaXNEYXRlSW5EYXRlUmFuZ2UobmV3IERhdGUoKSwgeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc0xvb2tpbmdBdE1pbmltdW1EYXRlJCA9IHRoaXMudmlzaWJsZURhdGVSYW5nZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguaXNNaW5EYXRlVmlzaWJsZSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGlzTG9va2luZ0F0TWF4aW11bURhdGUkID0gdGhpcy52aXNpYmxlRGF0ZVJhbmdlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5pc01heERhdGVWaXNpYmxlKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGFzTXVsdGlwbGVQYWdlcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmlzTG9va2luZ0F0TWluaW11bURhdGUkLCB0aGlzLmlzTG9va2luZ0F0TWF4aW11bURhdGUkXSkucGlwZShtYXAoaW52ZXJ0RGVjaXNpb24ocmVkdWNlQm9vbGVhbnNXaXRoQW5kRm4odHJ1ZSkpKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGRpc3BsYXlUeXBlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnR5cGUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhID09PSBiKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25SYW5nZUxpbWl0JCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Lm5hdmlnYXRpb25SYW5nZUxpbWl0KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChpc1NhbWVEYXRlUmFuZ2UpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgbWluTmF2aWdhdGlvbkRhdGUkOiBPYnNlcnZhYmxlPE1heWJlPERhdGU+PiA9IHRoaXMubmF2aWdhdGlvblJhbmdlTGltaXQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5zdGFydCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNTYW1lRGF0ZURheSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBtYXhOYXZpZ2F0aW9uRGF0ZSQ6IE9ic2VydmFibGU8TWF5YmU8RGF0ZT4+ID0gdGhpcy5uYXZpZ2F0aW9uUmFuZ2VMaW1pdCQucGlwZShcbiAgICBtYXAoKHgpID0+IHg/LmVuZCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNTYW1lRGF0ZURheSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc1RvZGF5SW5OYXZpZ2F0aW9uUmFuZ2VMaW1pdCQgPSB0aGlzLm5hdmlnYXRpb25SYW5nZUxpbWl0JC5waXBlKFxuICAgIG1hcCgoeCkgPT4gaXNEYXRlSW5EYXRlUmFuZ2UobmV3IERhdGUoKSwgeCA/PyB7fSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjYW5KdW1wVG9Ub2RheSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmlzTG9va2luZ0F0VG9kYXkkLCB0aGlzLmlzVG9kYXlJbk5hdmlnYXRpb25SYW5nZUxpbWl0JF0pLnBpcGUoXG4gICAgbWFwKChbaXNMb29raW5nQXRUb2RheSwgaXNUb2RheUluTmF2aWdhdGlvblJhbmdlTGltaXRdKSA9PiAhaXNMb29raW5nQXRUb2RheSAmJiBpc1RvZGF5SW5OYXZpZ2F0aW9uUmFuZ2VMaW1pdCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGNhblNob3dQYWdlQnV0dG9ucyQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5zaG93UGFnZUJ1dHRvbnMgJiYgeC5uYXZpZ2F0aW9uUmFuZ2VMaW1pdCAmJiBpc0Z1bGxEYXRlUmFuZ2UoeC5uYXZpZ2F0aW9uUmFuZ2VMaW1pdCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBzaG93UGFnZUJ1dHRvbnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5jYW5TaG93UGFnZUJ1dHRvbnMkLCB0aGlzLmlzTG9va2luZ0F0TWluaW11bURhdGUkLCB0aGlzLmlzTG9va2luZ0F0TWF4aW11bURhdGUkXSkucGlwZShcbiAgICBtYXAoKFtjYW5TaG93UGFnZUJ1dHRvbnMsIGlzTG9va2luZ0F0TWluaW11bURhdGUsIGlzTG9va2luZ0F0TWF4aW11bURhdGVdKSA9PiB7XG4gICAgICByZXR1cm4gY2FuU2hvd1BhZ2VCdXR0b25zICYmICEoaXNMb29raW5nQXRNaW5pbXVtRGF0ZSAmJiBpc0xvb2tpbmdBdE1heGltdW1EYXRlKTtcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICAvKipcbiAgICogVGFwIGEgZGF5LlxuICAgKlxuICAgKiAtIElmIHRoZSBzYW1lIGRheSBpcyBwcmVzZW50ZWQsIGRhdGVUYXBwZWRUd2ljZSBpcyBmbGlwcGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFwRGF5ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZGF0ZTogRGF0ZSkgPT4gdXBkYXRlQ2FsZW5kYXJTdGF0ZVdpdGhUYXBwZWREYXRlKHN0YXRlLCBkYXRlKSk7XG5cbiAgLyoqXG4gICAqIFNldCBhbGwgZXZlbnRzIG9uIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIHJlYWRvbmx5IHNldEV2ZW50cyA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGV2ZW50czogQ2FsZW5kYXJFdmVudDxUPltdKSA9PiAoeyAuLi5zdGF0ZSwgZXZlbnRzIH0pKTtcblxuICAvKipcbiAgICogU2V0IGFsbCBldmVudHMgb24gdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RGlzcGxheVR5cGUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCB0eXBlOiBDYWxlbmRhckRpc3BsYXlUeXBlKSA9PiAoeyAuLi5zdGF0ZSwgdHlwZSB9KSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5hdmlnYXRpb24gbGltaXQuXG4gICAqL1xuICByZWFkb25seSBzZXROYXZpZ2F0aW9uUmFuZ2VMaW1pdCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIG5hdmlnYXRpb25SYW5nZUxpbWl0OiBNYXliZTxQYXJ0aWFsPERhdGVSYW5nZT4+KSA9PiB1cGRhdGVDYWxlbmRhclN0YXRlV2l0aE5hdmlnYXRpb25SYW5nZUxpbWl0KHN0YXRlLCBuYXZpZ2F0aW9uUmFuZ2VMaW1pdCkpO1xuXG4gIHJlYWRvbmx5IHNldFNob3dUb2RheUJ1dHRvbiA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHNob3dUb2RheUJ1dHRvbjogTWF5YmU8Ym9vbGVhbj4pID0+ICh7IC4uLnN0YXRlLCBzaG93VG9kYXlCdXR0b246IHNob3dUb2RheUJ1dHRvbiAhPSBudWxsID8gc2hvd1RvZGF5QnV0dG9uIDogdHJ1ZSB9KSk7XG4gIHJlYWRvbmx5IHNldFNob3dQYWdlQnV0dG9ucyA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHNob3dQYWdlQnV0dG9uczogTWF5YmU8Ym9vbGVhbj4pID0+ICh7IC4uLnN0YXRlLCBzaG93UGFnZUJ1dHRvbnM6IHNob3dQYWdlQnV0dG9ucyAhPSBudWxsID8gc2hvd1BhZ2VCdXR0b25zIDogZmFsc2UgfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2FsZW5kYXJTdGF0ZVdpdGhUYXBwZWREYXRlKHN0YXRlOiBDYWxlbmRhclN0YXRlLCBkYXRlOiBEYXRlKSB7XG4gIC8vIG9ubHkgdXBkYXRlIHRoZSBkYXRlIGlmIGl0IGlzIGRpZmZlcmVudFxuICBpZiAoIWlzU2FtZURhdGVEYXkoc3RhdGUuZGF0ZSwgZGF0ZSkpIHtcbiAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgZGF0ZSBpZiBpdCBpcyB3aXRoaW4gdGhlIGRhdGUgcmFuZ2VcbiAgICBpZiAoIXN0YXRlLm5hdmlnYXRpb25SYW5nZUxpbWl0IHx8IGlzRGF0ZUluRGF0ZVJhbmdlKGRhdGUsIHN0YXRlLm5hdmlnYXRpb25SYW5nZUxpbWl0KSkge1xuICAgICAgc3RhdGUgPSB7IC4uLnN0YXRlLCBkYXRlLCBkYXRlVGFwcGVkVHdpY2U6IGlzU2FtZURheShkYXRlLCBzdGF0ZS5kYXRlKSA/ICFzdGF0ZS5kYXRlVGFwcGVkVHdpY2UgOiBmYWxzZSB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUNhbGVuZGFyU3RhdGVXaXRoTmF2aWdhdGlvblJhbmdlTGltaXQoc3RhdGU6IENhbGVuZGFyU3RhdGUsIG5hdmlnYXRpb25SYW5nZUxpbWl0OiBNYXliZTxQYXJ0aWFsPERhdGVSYW5nZT4+KSB7XG4gIGNvbnN0IHsgZGF0ZSB9ID0gc3RhdGU7XG5cbiAgLy8gY2FwIHRoZSBkYXRlIGlmIGl0IGRvZXNuJ3QgZmFsbCB3aXRoaW4gdGhlIHJhbmdlLlxuICBpZiAobmF2aWdhdGlvblJhbmdlTGltaXQgJiYgIWlzRGF0ZUluRGF0ZVJhbmdlKGRhdGUsIG5hdmlnYXRpb25SYW5nZUxpbWl0KSkge1xuICAgIGNvbnN0IGNsYW1wZWREYXRlID0gY2xhbXBEYXRlVG9EYXRlUmFuZ2UoZGF0ZSwgbmF2aWdhdGlvblJhbmdlTGltaXQpO1xuICAgIHJldHVybiB7IC4uLnN0YXRlLCBkYXRlOiBjbGFtcGVkRGF0ZSwgbmF2aWdhdGlvblJhbmdlTGltaXQgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgbmF2aWdhdGlvblJhbmdlTGltaXQgfTtcbiAgfVxufVxuIl19
|
|
@@ -6,6 +6,7 @@ export * from './mapbox.injection.store';
|
|
|
6
6
|
export * from './mapbox.module';
|
|
7
7
|
export * from './mapbox.layout.component';
|
|
8
8
|
export * from './mapbox.layout.drawer.component';
|
|
9
|
+
export * from './mapbox.layout.resize.sync.directive';
|
|
9
10
|
export * from './mapbox.marker';
|
|
10
11
|
export * from './mapbox.marker.component';
|
|
11
12
|
export * from './mapbox.markers.component';
|
|
@@ -18,4 +19,4 @@ export * from './mapbox.store.provide';
|
|
|
18
19
|
export * from './mapbox';
|
|
19
20
|
export * from './mapbox.util';
|
|
20
21
|
export * from './options';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwYm94LmNkcmVmLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3guY2hhbmdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3guaW5qZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5pbmplY3Rpb24uc3RvcmUucHJvdmlkZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5pbmplY3Rpb24uc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3gubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LmxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3gubGF5b3V0LmRyYXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3gubGF5b3V0LnJlc2l6ZS5zeW5jLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5tYXJrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3gubWFya2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5tYXJrZXJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5yeGpzJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3guc3RvcmUubWFwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcGJveC5zdG9yZS5wcm92aWRlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwYm94LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb25zJztcbiJdfQ==
|
|
@@ -31,6 +31,7 @@ export class DbxMapboxLayoutComponent extends SubscriptionObject {
|
|
|
31
31
|
this._openToggle = new BehaviorSubject(true);
|
|
32
32
|
this._color = new BehaviorSubject(undefined);
|
|
33
33
|
this._toggleSub = new SubscriptionObject();
|
|
34
|
+
this.resized$ = this._resized.asObservable();
|
|
34
35
|
this.side$ = this._side.pipe(distinctUntilChanged(), shareReplay(1));
|
|
35
36
|
this.mode$ = this._mode.pipe(distinctUntilChanged(), shareReplay(1));
|
|
36
37
|
this.hasContent$ = combineLatest([this._forceHasContent, this.dbxMapboxMapStore.hasContent$]).pipe(map(([hasContent, forceHasContent]) => hasContent || forceHasContent), distinctUntilChanged(), shareReplay(1));
|
|
@@ -68,12 +69,12 @@ export class DbxMapboxLayoutComponent extends SubscriptionObject {
|
|
|
68
69
|
let obs;
|
|
69
70
|
if (mode === 'push') {
|
|
70
71
|
obs = combineLatest([this.opened$.pipe(distinctUntilChanged()), this._updateMargins]).pipe(tap(([opened]) => {
|
|
71
|
-
let { right } = this.
|
|
72
|
-
this.
|
|
72
|
+
let { right } = this.drawerContainer._contentMargins;
|
|
73
|
+
this.drawerContainer.updateContentMargins();
|
|
73
74
|
setTimeout(() => {
|
|
74
75
|
const flip = opened ? 1 : -1;
|
|
75
76
|
if (opened) {
|
|
76
|
-
right = this.
|
|
77
|
+
right = this.drawerContainer._contentMargins.right;
|
|
77
78
|
}
|
|
78
79
|
right = (right || 0) * flip;
|
|
79
80
|
const element = this.content.nativeElement;
|
|
@@ -96,7 +97,7 @@ export class DbxMapboxLayoutComponent extends SubscriptionObject {
|
|
|
96
97
|
}
|
|
97
98
|
else {
|
|
98
99
|
obs = combineLatest([this.opened$.pipe(distinctUntilChanged()), this._updateMargins]).pipe(switchMap((_) => this.dbxMapboxMapStore.mapInstance$), tap((x) => {
|
|
99
|
-
this.
|
|
100
|
+
this.drawerContainer.updateContentMargins();
|
|
100
101
|
x.triggerRepaint();
|
|
101
102
|
}));
|
|
102
103
|
}
|
|
@@ -143,15 +144,18 @@ export class DbxMapboxLayoutComponent extends SubscriptionObject {
|
|
|
143
144
|
this._color.next(color);
|
|
144
145
|
}
|
|
145
146
|
onResized(event) {
|
|
146
|
-
this._resized.next();
|
|
147
|
+
this._resized.next(event);
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
DbxMapboxLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxMapboxLayoutComponent, deps: [{ token: i1.DbxMapboxMapStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
-
DbxMapboxLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxMapboxLayoutComponent, selector: "dbx-mapbox-layout", inputs: { side: "side", mode: "mode", opened: "opened", hasContent: "hasContent", drawerColor: "drawerColor" }, viewQueries: [{ propertyName: "
|
|
151
|
+
DbxMapboxLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxMapboxLayoutComponent, selector: "dbx-mapbox-layout", inputs: { side: "side", mode: "mode", opened: "opened", hasContent: "hasContent", drawerColor: "drawerColor" }, viewQueries: [{ propertyName: "containerElement", first: true, predicate: MatDrawerContainer, descendants: true, read: ElementRef }, { propertyName: "drawerContainer", first: true, predicate: MatDrawerContainer, descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-drawer-container #containerElement class=\"dbx-mapbox-layout-container\" [ngClass]=\"(drawerClasses$ | async) || ''\" [hasBackdrop]=\"false\">\n <mat-drawer class=\"dbx-mapbox-layout-drawer\" #drawer [opened]=\"opened$ | async\" [mode]=\"(mode$ | async) || 'side'\" [position]=\"(position$ | async) || 'end'\">\n <div class=\"dbx-mapbox-layout-drawer-content\" [ngClass]=\"(drawerButtonClasses$ | async) || ''\">\n <ng-content select=\"[drawer]\"></ng-content>\n <dbx-mapbox-layout-drawer></dbx-mapbox-layout-drawer>\n </div>\n </mat-drawer>\n <mat-drawer-content #content class=\"dbx-mapbox-layout-content\" (resized)=\"onResized($event)\">\n <button mat-icon-button (click)=\"toggleDrawer()\" class=\"dbx-mapbox-layout-drawer-button\" [ngClass]=\"(drawerButtonClasses$ | async) || ''\">\n <mat-icon>{{ buttonIcon$ | async }}</mat-icon>\n </button>\n <ng-content></ng-content>\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [".dbx-mapbox-layout-container{height:100%;max-width:100%}.dbx-mapbox-layout-container .mat-drawer-container{height:100%}.dbx-mapbox-layout-container .dbx-mapbox-layout-drawer{max-width:calc(100% - var(--dbx-mapbox-min-width-var, 60px))}.dbx-mapbox-layout-container .dbx-mapbox-layout-drawer-content{height:100%;width:100%;overflow:hidden}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{position:absolute;z-index:2;top:40%;border:none;display:flex;overflow:hidden}.left-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{left:0;border-radius:0 20px 20px 0}.right-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{right:0;border-radius:20px 0 0 20px}.has-drawer-content .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:35px}.has-drawer-content.open-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:35px}.no-drawer-content .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:0px}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button mat-icon{padding-left:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i3.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i3.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.ResizedDirective, selector: "[resized]", outputs: ["resized"] }, { kind: "component", type: i7.DbxMapboxLayoutDrawerComponent, selector: "dbx-mapbox-layout-drawer" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
151
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxMapboxLayoutComponent, decorators: [{
|
|
152
153
|
type: Component,
|
|
153
|
-
args: [{ selector: 'dbx-mapbox-layout', template: "<mat-drawer-container class=\"dbx-mapbox-layout-container\" [ngClass]=\"(drawerClasses$ | async) || ''\" [hasBackdrop]=\"false\">\n <mat-drawer class=\"dbx-mapbox-layout-drawer\" #drawer [opened]=\"opened$ | async\" [mode]=\"(mode$ | async) || 'side'\" [position]=\"(position$ | async) || 'end'\">\n <div class=\"dbx-mapbox-layout-drawer-content\" [ngClass]=\"(drawerButtonClasses$ | async) || ''\">\n <ng-content select=\"[drawer]\"></ng-content>\n <dbx-mapbox-layout-drawer></dbx-mapbox-layout-drawer>\n </div>\n </mat-drawer>\n <mat-drawer-content #content class=\"dbx-mapbox-layout-content\" (resized)=\"onResized($event)\">\n <button mat-icon-button (click)=\"toggleDrawer()\" class=\"dbx-mapbox-layout-drawer-button\" [ngClass]=\"(drawerButtonClasses$ | async) || ''\">\n <mat-icon>{{ buttonIcon$ | async }}</mat-icon>\n </button>\n <ng-content></ng-content>\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [".dbx-mapbox-layout-container{height:100%;max-width:100%}.dbx-mapbox-layout-container .mat-drawer-container{height:100%}.dbx-mapbox-layout-container .dbx-mapbox-layout-drawer{max-width:calc(100% - var(--dbx-mapbox-min-width-var, 60px))}.dbx-mapbox-layout-container .dbx-mapbox-layout-drawer-content{height:100%;width:100%;overflow:hidden}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{position:absolute;z-index:2;top:40%;border:none;display:flex;overflow:hidden}.left-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{left:0;border-radius:0 20px 20px 0}.right-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{right:0;border-radius:20px 0 0 20px}.has-drawer-content .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:35px}.has-drawer-content.open-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:35px}.no-drawer-content .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:0px}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button mat-icon{padding-left:8px}\n"] }]
|
|
154
|
-
}], ctorParameters: function () { return [{ type: i1.DbxMapboxMapStore }]; }, propDecorators: {
|
|
154
|
+
args: [{ selector: 'dbx-mapbox-layout', template: "<mat-drawer-container #containerElement class=\"dbx-mapbox-layout-container\" [ngClass]=\"(drawerClasses$ | async) || ''\" [hasBackdrop]=\"false\">\n <mat-drawer class=\"dbx-mapbox-layout-drawer\" #drawer [opened]=\"opened$ | async\" [mode]=\"(mode$ | async) || 'side'\" [position]=\"(position$ | async) || 'end'\">\n <div class=\"dbx-mapbox-layout-drawer-content\" [ngClass]=\"(drawerButtonClasses$ | async) || ''\">\n <ng-content select=\"[drawer]\"></ng-content>\n <dbx-mapbox-layout-drawer></dbx-mapbox-layout-drawer>\n </div>\n </mat-drawer>\n <mat-drawer-content #content class=\"dbx-mapbox-layout-content\" (resized)=\"onResized($event)\">\n <button mat-icon-button (click)=\"toggleDrawer()\" class=\"dbx-mapbox-layout-drawer-button\" [ngClass]=\"(drawerButtonClasses$ | async) || ''\">\n <mat-icon>{{ buttonIcon$ | async }}</mat-icon>\n </button>\n <ng-content></ng-content>\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [".dbx-mapbox-layout-container{height:100%;max-width:100%}.dbx-mapbox-layout-container .mat-drawer-container{height:100%}.dbx-mapbox-layout-container .dbx-mapbox-layout-drawer{max-width:calc(100% - var(--dbx-mapbox-min-width-var, 60px))}.dbx-mapbox-layout-container .dbx-mapbox-layout-drawer-content{height:100%;width:100%;overflow:hidden}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{position:absolute;z-index:2;top:40%;border:none;display:flex;overflow:hidden}.left-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{left:0;border-radius:0 20px 20px 0}.right-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{right:0;border-radius:20px 0 0 20px}.has-drawer-content .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:35px}.has-drawer-content.open-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:35px}.no-drawer-content .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:0px}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button mat-icon{padding-left:8px}\n"] }]
|
|
155
|
+
}], ctorParameters: function () { return [{ type: i1.DbxMapboxMapStore }]; }, propDecorators: { containerElement: [{
|
|
156
|
+
type: ViewChild,
|
|
157
|
+
args: [MatDrawerContainer, { read: ElementRef }]
|
|
158
|
+
}], drawerContainer: [{
|
|
155
159
|
type: ViewChild,
|
|
156
160
|
args: [MatDrawerContainer]
|
|
157
161
|
}], content: [{
|
|
@@ -168,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
168
172
|
}], drawerColor: [{
|
|
169
173
|
type: Input
|
|
170
174
|
}] } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL21hcGJveC5sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gubGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkssT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFpQixNQUFNLGtCQUFrQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBTy9EOzs7Ozs7R0FNRztBQU1ILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUErRDlELFlBQXFCLGlCQUFvQztRQUN2RCxLQUFLLEVBQUUsQ0FBQztRQURXLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF4RGpELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN2RCxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQXNCLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBc0IsT0FBTyxDQUFDLENBQUM7UUFDMUQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNqRCxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQXVCLFNBQVMsQ0FBQyxDQUFDO1FBQzlELGVBQVUsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFckMsVUFBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsVUFBSyxHQUFvQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpHLGdCQUFXLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDcEcsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsSUFBSSxlQUFlLENBQUMsRUFDckUsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyxZQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEVBQy9DLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sY0FBUyxHQUFnQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDN0Msb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyxtQkFBYyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQzFHLEVBQUU7UUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQy9JLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8seUJBQW9CLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ25HLEVBQUU7UUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDdkQsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyxnQkFBVyxHQUF1QixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkYsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNyQixJQUFJLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUU5QyxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ25CLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDekI7WUFFRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUlGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLFlBQVksQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFDL0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUNkLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FDZixDQUNGLENBRUosQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNsRCxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBRVgsZUFBZTtnQkFDZixJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUU7b0JBQ2xCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDN0IsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWpCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQ3RDLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQixJQUFJLEdBQXdCLENBQUM7WUFFN0IsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUNuQixHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEYsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO29CQUNmLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztvQkFFL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO29CQUV0QyxVQUFVLENBQUMsR0FBRyxFQUFFO3dCQUNkLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFFN0IsSUFBSSxNQUFNLEVBQUU7NEJBQ1YsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQzt5QkFDOUM7d0JBRUQsS0FBSyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQzt3QkFFNUIsTUFBTSxPQUFPLEdBQWdCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO3dCQUN4RCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO3dCQUVsQyxNQUFNLE1BQU0sR0FBRzs0QkFDYixVQUFVLEVBQUUsQ0FBQzs0QkFDYixXQUFXLEVBQUUsS0FBSzs0QkFDbEIsU0FBUyxFQUFFLEtBQUs7eUJBQ2pCLENBQUM7d0JBRUYsTUFBTSxNQUFNLEdBQTZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzFILEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBbUIsQ0FBQSxDQUFDLENBQ3hGLENBQUM7d0JBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBRTlELElBQUksQ0FBQyxJQUFJLEVBQUU7NEJBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDdkM7NkJBQU07NEJBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQzt5QkFDYjtvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsR0FBRyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hGLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxFQUNyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDUixJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixFQUFFLENBQUM7b0JBQ3RDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDckIsQ0FBQyxDQUFDLENBQ0gsQ0FBQzthQUNIO1lBRUQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBYztRQUN6QixJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxJQUFJLENBQUMsSUFBZ0M7UUFDdkMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELElBQ0ksSUFBSSxDQUFDLElBQWdDO1FBQ3ZDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxJQUNJLE1BQU0sQ0FBQyxNQUFzQjtRQUMvQixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsVUFBMEI7UUFDdkMsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQsSUFDSSxXQUFXLENBQUMsS0FBMkI7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O3NIQS9NVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixvTkFDeEIsa0JBQWtCLGdIQUdDLFVBQVUsa0VDOUIxQyx1N0JBY0E7NEZEWWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG1CQUFtQjt3R0FNcEIsU0FBUztzQkFEakIsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBSXBCLE9BQU87c0JBRGYsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBeUtwRCxJQUFJO3NCQURQLEtBQUs7Z0JBUUYsSUFBSTtzQkFEUCxLQUFLO2dCQVFGLE1BQU07c0JBRFQsS0FBSztnQkFRRixVQUFVO3NCQURiLEtBQUs7Z0JBUUYsV0FBVztzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAsIGZpcnN0LCBzdGFydFdpdGgsIHNoYXJlUmVwbGF5LCB0aHJvdHRsZVRpbWUsIG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TWFwU3RvcmUgfSBmcm9tICcuL21hcGJveC5zdG9yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgZGJ4Q29sb3JCYWNrZ3JvdW5kLCBEYnhUaGVtZUNvbG9yIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBSZXNpemVkRXZlbnQgfSBmcm9tICdhbmd1bGFyLXJlc2l6ZS1ldmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1hdERyYXdlckNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWFwYm94RWFzZVRvIH0gZnJvbSAnLi9tYXBib3gnO1xuXG5leHBvcnQgdHlwZSBEYnhNYXBib3hMYXlvdXRTaWRlID0gJ2xlZnQnIHwgJ3JpZ2h0JztcblxuZXhwb3J0IHR5cGUgRGJ4TWFwYm94TGF5b3V0TW9kZSA9ICdzaWRlJyB8ICdwdXNoJztcblxuLyoqXG4gKiBSZXNwb25zaXZlIGNvbXBvbmVudCBtZWFudCB0byBzcGxpdCBhIGxlZnQgYW5kIHJpZ2h0IGNvbHVtbi5cbiAqXG4gKiBUaGUgbGVmdCBjb2x1bW4gaXMgc21hbGxlciB0aGFuIHRoZSByaWdodCBjb2x1bW4sIHdoaWNoIGNvbnRhaW5zIHRoZSBwcmltYXJ5IGNvbnRlbnQuXG4gKlxuICogUmVxdWlyZXMgYSBUd29Db2x1bW5zQ29udGV4dFN0b3JlIHRvIGJlIHByb3ZpZGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbWFwYm94LWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXBib3gubGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwYm94LmxheW91dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERieE1hcGJveExheW91dENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbk9iamVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZChNYXREcmF3ZXJDb250YWluZXIpXG4gIHJlYWRvbmx5IGNvbnRhaW5lciE6IE1hdERyYXdlckNvbnRhaW5lcjtcblxuICBAVmlld0NoaWxkKCdjb250ZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcmVhZG9ubHkgY29udGVudCE6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBfcmVzaXplZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3VwZGF0ZU1hcmdpbnMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9mb3JjZUhhc0NvbnRlbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBfbW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGJ4TWFwYm94TGF5b3V0TW9kZT4oJ3NpZGUnKTtcbiAgcHJpdmF0ZSBfc2lkZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGJ4TWFwYm94TGF5b3V0U2lkZT4oJ3JpZ2h0Jyk7XG4gIHByaXZhdGUgX29wZW5Ub2dnbGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIF9jb2xvciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4VGhlbWVDb2xvcj4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX3RvZ2dsZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBzaWRlJCA9IHRoaXMuX3NpZGUucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPERieE1hcGJveExheW91dE1vZGU+ID0gdGhpcy5fbW9kZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBoYXNDb250ZW50JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2ZvcmNlSGFzQ29udGVudCwgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5oYXNDb250ZW50JF0pLnBpcGUoXG4gICAgbWFwKChbaGFzQ29udGVudCwgZm9yY2VIYXNDb250ZW50XSkgPT4gaGFzQ29udGVudCB8fCBmb3JjZUhhc0NvbnRlbnQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBvcGVuZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5oYXNDb250ZW50JCwgdGhpcy5fb3BlblRvZ2dsZV0pLnBpcGUoXG4gICAgbWFwKChbaGFzQ29udGVudCwgb3Blbl0pID0+IGhhc0NvbnRlbnQgJiYgb3BlbiksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHBvc2l0aW9uJDogT2JzZXJ2YWJsZTwnc3RhcnQnIHwgJ2VuZCc+ID0gdGhpcy5zaWRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gKHggPT09ICdyaWdodCcgPyAnZW5kJyA6ICdzdGFydCcpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZHJhd2VyQ2xhc3NlcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNpZGUkLCB0aGlzLmRieE1hcGJveE1hcFN0b3JlLmhhc0NvbnRlbnQkLCB0aGlzLm9wZW5lZCRdKS5waXBlKFxuICAgIC8vXG4gICAgbWFwKChbc2lkZSwgaGFzQ29udGVudCwgb3Blbl0pID0+IChoYXNDb250ZW50ID8gJ2hhcy1kcmF3ZXItY29udGVudCcgOiAnbm8tZHJhd2VyLWNvbnRlbnQnKSArIGAgJHtzaWRlfS1kcmF3ZXIgYCArIChvcGVuID8gJ29wZW4tZHJhd2VyJyA6ICcnKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGRyYXdlckJ1dHRvbkNsYXNzZXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5oYXNDb250ZW50JCwgdGhpcy5fY29sb3JdKS5waXBlKFxuICAgIC8vXG4gICAgbWFwKChbaGFzQ29udGVudCwgY29sb3JdKSA9PiBkYnhDb2xvckJhY2tncm91bmQoY29sb3IpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYnV0dG9uSWNvbiQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc2lkZSQsIHRoaXMub3BlbmVkJF0pLnBpcGUoXG4gICAgbWFwKChbc2lkZSwgb3BlbmVkXSkgPT4ge1xuICAgICAgbGV0IGljb25zID0gWydjaGV2cm9uX3JpZ2h0JywgJ2NoZXZyb25fbGVmdCddO1xuXG4gICAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIGljb25zID0gaWNvbnMucmV2ZXJzZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3BlbmVkID8gaWNvbnNbMF0gOiBpY29uc1sxXTtcbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGRieE1hcGJveE1hcFN0b3JlOiBEYnhNYXBib3hNYXBTdG9yZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IChcbiAgICAgIHRoaXMuc2lkZSQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgdGhpcy5fcmVzaXplZC5waXBlKFxuICAgICAgICAgICAgdGhyb3R0bGVUaW1lKDEwMCwgdW5kZWZpbmVkLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pLFxuICAgICAgICAgICAgbWFwKCgpID0+ICdyJyksXG4gICAgICAgICAgICBzdGFydFdpdGgoJ3MnKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKSBhcyBPYnNlcnZhYmxlPCdzJyB8ICdyJz5cbiAgICApLnN1YnNjcmliZSgocmVhc29uKSA9PiB7XG4gICAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLm1hcEluc3RhbmNlJC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgeC5yZXNpemUoKTtcblxuICAgICAgICAvLyBzaWRlIGNoYW5nZWRcbiAgICAgICAgaWYgKHJlYXNvbiA9PT0gJ3MnKSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVNYXJnaW5zLm5leHQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBsZXQgaW5pdCA9IGZhbHNlO1xuXG4gICAgdGhpcy5fdG9nZ2xlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMubW9kZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKG1vZGUpID0+IHtcbiAgICAgICAgICBsZXQgb2JzOiBPYnNlcnZhYmxlPHVua25vd24+O1xuXG4gICAgICAgICAgaWYgKG1vZGUgPT09ICdwdXNoJykge1xuICAgICAgICAgICAgb2JzID0gY29tYmluZUxhdGVzdChbdGhpcy5vcGVuZWQkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksIHRoaXMuX3VwZGF0ZU1hcmdpbnNdKS5waXBlKFxuICAgICAgICAgICAgICB0YXAoKFtvcGVuZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHsgcmlnaHQgfSA9IHRoaXMuY29udGFpbmVyLl9jb250ZW50TWFyZ2lucztcblxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnVwZGF0ZUNvbnRlbnRNYXJnaW5zKCk7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZsaXAgPSBvcGVuZWQgPyAxIDogLTE7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChvcGVuZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSB0aGlzLmNvbnRhaW5lci5fY29udGVudE1hcmdpbnMucmlnaHQ7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gKHJpZ2h0IHx8IDApICogZmxpcDtcblxuICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZWxlbWVudC5jbGllbnRXaWR0aDtcblxuICAgICAgICAgICAgICAgICAgY29uc3QgbWFyZ2luID0ge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0TWFyZ2luOiAwLFxuICAgICAgICAgICAgICAgICAgICByaWdodE1hcmdpbjogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aDogd2lkdGhcbiAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGVhc2VUbzogT2JzZXJ2YWJsZTxNYXBib3hFYXNlVG8+ID0gdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5jYWxjdWxhdGVOZXh0Q2VudGVyT2Zmc2V0V2l0aFNjcmVlbk1hcmdpbkNoYW5nZShtYXJnaW4pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoY2VudGVyKSA9PiAoeyB0bzogeyBjZW50ZXIsIGR1cmF0aW9uOiAzMjAwLCBlc3NlbnRpYWw6IGZhbHNlIH0gfSBhcyBNYXBib3hFYXNlVG8pKVxuICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5zZXRNYXJnaW4ob3BlbmVkID8gbWFyZ2luIDogdW5kZWZpbmVkKTtcblxuICAgICAgICAgICAgICAgICAgaWYgKCFpbml0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGJ4TWFwYm94TWFwU3RvcmUuZWFzZVRvKGVhc2VUbyk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbml0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9icyA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub3BlbmVkJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLCB0aGlzLl91cGRhdGVNYXJnaW5zXSkucGlwZShcbiAgICAgICAgICAgICAgc3dpdGNoTWFwKChfKSA9PiB0aGlzLmRieE1hcGJveE1hcFN0b3JlLm1hcEluc3RhbmNlJCksXG4gICAgICAgICAgICAgIHRhcCgoeCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnVwZGF0ZUNvbnRlbnRNYXJnaW5zKCk7XG4gICAgICAgICAgICAgICAgeC50cmlnZ2VyUmVwYWludCgpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb2JzO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzaXplZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3VwZGF0ZU1hcmdpbnMuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zaWRlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fb3BlblRvZ2dsZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbG9yLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fdG9nZ2xlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9mb3JjZUhhc0NvbnRlbnQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHRvZ2dsZURyYXdlcihvcGVuPzogYm9vbGVhbikge1xuICAgIGlmIChvcGVuID09IG51bGwpIHtcbiAgICAgIG9wZW4gPSAhdGhpcy5fb3BlblRvZ2dsZS52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9vcGVuVG9nZ2xlLm5leHQob3Blbik7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc2lkZShzaWRlOiBNYXliZTxEYnhNYXBib3hMYXlvdXRTaWRlPikge1xuICAgIGlmIChzaWRlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX3NpZGUubmV4dChzaWRlKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbW9kZShtb2RlOiBNYXliZTxEYnhNYXBib3hMYXlvdXRNb2RlPikge1xuICAgIGlmIChtb2RlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX21vZGUubmV4dChtb2RlKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgb3BlbmVkKG9wZW5lZDogTWF5YmU8Ym9vbGVhbj4pIHtcbiAgICBpZiAob3BlbmVkICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX29wZW5Ub2dnbGUubmV4dChvcGVuZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBoYXNDb250ZW50KGhhc0NvbnRlbnQ6IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgaWYgKGhhc0NvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fZm9yY2VIYXNDb250ZW50Lm5leHQoaGFzQ29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRyYXdlckNvbG9yKGNvbG9yOiBNYXliZTxEYnhUaGVtZUNvbG9yPikge1xuICAgIHRoaXMuX2NvbG9yLm5leHQoY29sb3IpO1xuICB9XG5cbiAgb25SZXNpemVkKGV2ZW50OiBSZXNpemVkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNpemVkLm5leHQoKTtcbiAgfVxufVxuIiwiPG1hdC1kcmF3ZXItY29udGFpbmVyIGNsYXNzPVwiZGJ4LW1hcGJveC1sYXlvdXQtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiKGRyYXdlckNsYXNzZXMkIHwgYXN5bmMpIHx8ICcnXCIgW2hhc0JhY2tkcm9wXT1cImZhbHNlXCI+XG4gIDxtYXQtZHJhd2VyIGNsYXNzPVwiZGJ4LW1hcGJveC1sYXlvdXQtZHJhd2VyXCIgI2RyYXdlciBbb3BlbmVkXT1cIm9wZW5lZCQgfCBhc3luY1wiIFttb2RlXT1cIihtb2RlJCB8IGFzeW5jKSB8fCAnc2lkZSdcIiBbcG9zaXRpb25dPVwiKHBvc2l0aW9uJCB8IGFzeW5jKSB8fCAnZW5kJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtbWFwYm94LWxheW91dC1kcmF3ZXItY29udGVudFwiIFtuZ0NsYXNzXT1cIihkcmF3ZXJCdXR0b25DbGFzc2VzJCB8IGFzeW5jKSB8fCAnJ1wiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RyYXdlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGJ4LW1hcGJveC1sYXlvdXQtZHJhd2VyPjwvZGJ4LW1hcGJveC1sYXlvdXQtZHJhd2VyPlxuICAgIDwvZGl2PlxuICA8L21hdC1kcmF3ZXI+XG4gIDxtYXQtZHJhd2VyLWNvbnRlbnQgI2NvbnRlbnQgY2xhc3M9XCJkYngtbWFwYm94LWxheW91dC1jb250ZW50XCIgKHJlc2l6ZWQpPVwib25SZXNpemVkKCRldmVudClcIj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRHJhd2VyKClcIiBjbGFzcz1cImRieC1tYXBib3gtbGF5b3V0LWRyYXdlci1idXR0b25cIiBbbmdDbGFzc109XCIoZHJhd2VyQnV0dG9uQ2xhc3NlcyQgfCBhc3luYykgfHwgJydcIj5cbiAgICAgIDxtYXQtaWNvbj57eyBidXR0b25JY29uJCB8IGFzeW5jIH19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbWF0LWRyYXdlci1jb250ZW50PlxuPC9tYXQtZHJhd2VyLWNvbnRhaW5lcj5cbiJdfQ==
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL21hcGJveC5sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gubGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkssT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFpQixNQUFNLGtCQUFrQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBTy9EOzs7Ozs7R0FNRztBQU1ILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFtRTlELFlBQXFCLGlCQUFvQztRQUN2RCxLQUFLLEVBQUUsQ0FBQztRQURXLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF6RGpELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDckMscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFD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Q0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVELElBQ0ksVUFBVSxDQUFDLFVBQTBCO1FBQ3ZDLElBQUksVUFBVSxJQUFJLElBQUksRUFBRTtZQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELElBQ0ksV0FBVyxDQUFDLEtBQTJCO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7c0hBbk5VLHdCQUF3QjswR0FBeEIsd0JBQXdCLDJOQUN4QixrQkFBa0IsMkJBQVUsVUFBVSwrREFHdEMsa0JBQWtCLGdIQUdDLFVBQVUsa0VDakMxQyx5OEJBY0E7NEZEWWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG1CQUFtQjt3R0FNcEIsZ0JBQWdCO3NCQUR4QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJMUMsZUFBZTtzQkFEdkIsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBSXBCLE9BQU87c0JBRGYsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMEtwRCxJQUFJO3NCQURQLEtBQUs7Z0JBUUYsSUFBSTtzQkFEUCxLQUFLO2dCQVFGLE1BQU07c0JBRFQsS0FBSztnQkFRRixVQUFVO3NCQURiLEtBQUs7Z0JBUUYsV0FBVztzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAsIGZpcnN0LCBzdGFydFdpdGgsIHNoYXJlUmVwbGF5LCB0aHJvdHRsZVRpbWUsIG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TWFwU3RvcmUgfSBmcm9tICcuL21hcGJveC5zdG9yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgZGJ4Q29sb3JCYWNrZ3JvdW5kLCBEYnhUaGVtZUNvbG9yIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBSZXNpemVkRXZlbnQgfSBmcm9tICdhbmd1bGFyLXJlc2l6ZS1ldmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1hdERyYXdlckNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWFwYm94RWFzZVRvIH0gZnJvbSAnLi9tYXBib3gnO1xuXG5leHBvcnQgdHlwZSBEYnhNYXBib3hMYXlvdXRTaWRlID0gJ2xlZnQnIHwgJ3JpZ2h0JztcblxuZXhwb3J0IHR5cGUgRGJ4TWFwYm94TGF5b3V0TW9kZSA9ICdzaWRlJyB8ICdwdXNoJztcblxuLyoqXG4gKiBSZXNwb25zaXZlIGNvbXBvbmVudCBtZWFudCB0byBzcGxpdCBhIGxlZnQgYW5kIHJpZ2h0IGNvbHVtbi5cbiAqXG4gKiBUaGUgbGVmdCBjb2x1bW4gaXMgc21hbGxlciB0aGFuIHRoZSByaWdodCBjb2x1bW4sIHdoaWNoIGNvbnRhaW5zIHRoZSBwcmltYXJ5IGNvbnRlbnQuXG4gKlxuICogUmVxdWlyZXMgYSBUd29Db2x1bW5zQ29udGV4dFN0b3JlIHRvIGJlIHByb3ZpZGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbWFwYm94LWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXBib3gubGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwYm94LmxheW91dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERieE1hcGJveExheW91dENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbk9iamVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZChNYXREcmF3ZXJDb250YWluZXIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICByZWFkb25seSBjb250YWluZXJFbGVtZW50ITogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKE1hdERyYXdlckNvbnRhaW5lcilcbiAgcmVhZG9ubHkgZHJhd2VyQ29udGFpbmVyITogTWF0RHJhd2VyQ29udGFpbmVyO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICByZWFkb25seSBjb250ZW50ITogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF9yZXNpemVkID0gbmV3IFN1YmplY3Q8UmVzaXplZEV2ZW50PigpO1xuICBwcml2YXRlIF91cGRhdGVNYXJnaW5zID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfZm9yY2VIYXNDb250ZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgX21vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERieE1hcGJveExheW91dE1vZGU+KCdzaWRlJyk7XG4gIHByaXZhdGUgX3NpZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERieE1hcGJveExheW91dFNpZGU+KCdyaWdodCcpO1xuICBwcml2YXRlIF9vcGVuVG9nZ2xlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSBfY29sb3IgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieFRoZW1lQ29sb3I+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF90b2dnbGVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgcmVzaXplZCQgPSB0aGlzLl9yZXNpemVkLmFzT2JzZXJ2YWJsZSgpO1xuICByZWFkb25seSBzaWRlJCA9IHRoaXMuX3NpZGUucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPERieE1hcGJveExheW91dE1vZGU+ID0gdGhpcy5fbW9kZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBoYXNDb250ZW50JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2ZvcmNlSGFzQ29udGVudCwgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5oYXNDb250ZW50JF0pLnBpcGUoXG4gICAgbWFwKChbaGFzQ29udGVudCwgZm9yY2VIYXNDb250ZW50XSkgPT4gaGFzQ29udGVudCB8fCBmb3JjZUhhc0NvbnRlbnQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBvcGVuZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5oYXNDb250ZW50JCwgdGhpcy5fb3BlblRvZ2dsZV0pLnBpcGUoXG4gICAgbWFwKChbaGFzQ29udGVudCwgb3Blbl0pID0+IGhhc0NvbnRlbnQgJiYgb3BlbiksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHBvc2l0aW9uJDogT2JzZXJ2YWJsZTwnc3RhcnQnIHwgJ2VuZCc+ID0gdGhpcy5zaWRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gKHggPT09ICdyaWdodCcgPyAnZW5kJyA6ICdzdGFydCcpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZHJhd2VyQ2xhc3NlcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNpZGUkLCB0aGlzLmRieE1hcGJveE1hcFN0b3JlLmhhc0NvbnRlbnQkLCB0aGlzLm9wZW5lZCRdKS5waXBlKFxuICAgIC8vXG4gICAgbWFwKChbc2lkZSwgaGFzQ29udGVudCwgb3Blbl0pID0+IChoYXNDb250ZW50ID8gJ2hhcy1kcmF3ZXItY29udGVudCcgOiAnbm8tZHJhd2VyLWNvbnRlbnQnKSArIGAgJHtzaWRlfS1kcmF3ZXIgYCArIChvcGVuID8gJ29wZW4tZHJhd2VyJyA6ICcnKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGRyYXdlckJ1dHRvbkNsYXNzZXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5oYXNDb250ZW50JCwgdGhpcy5fY29sb3JdKS5waXBlKFxuICAgIC8vXG4gICAgbWFwKChbaGFzQ29udGVudCwgY29sb3JdKSA9PiBkYnhDb2xvckJhY2tncm91bmQoY29sb3IpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYnV0dG9uSWNvbiQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc2lkZSQsIHRoaXMub3BlbmVkJF0pLnBpcGUoXG4gICAgbWFwKChbc2lkZSwgb3BlbmVkXSkgPT4ge1xuICAgICAgbGV0IGljb25zID0gWydjaGV2cm9uX3JpZ2h0JywgJ2NoZXZyb25fbGVmdCddO1xuXG4gICAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIGljb25zID0gaWNvbnMucmV2ZXJzZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3BlbmVkID8gaWNvbnNbMF0gOiBpY29uc1sxXTtcbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGRieE1hcGJveE1hcFN0b3JlOiBEYnhNYXBib3hNYXBTdG9yZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IChcbiAgICAgIHRoaXMuc2lkZSQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgdGhpcy5fcmVzaXplZC5waXBlKFxuICAgICAgICAgICAgdGhyb3R0bGVUaW1lKDEwMCwgdW5kZWZpbmVkLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pLFxuICAgICAgICAgICAgbWFwKCgpID0+ICdyJyksXG4gICAgICAgICAgICBzdGFydFdpdGgoJ3MnKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKSBhcyBPYnNlcnZhYmxlPCdzJyB8ICdyJz5cbiAgICApLnN1YnNjcmliZSgocmVhc29uKSA9PiB7XG4gICAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLm1hcEluc3RhbmNlJC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgeC5yZXNpemUoKTtcblxuICAgICAgICAvLyBzaWRlIGNoYW5nZWRcbiAgICAgICAgaWYgKHJlYXNvbiA9PT0gJ3MnKSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVNYXJnaW5zLm5leHQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBsZXQgaW5pdCA9IGZhbHNlO1xuXG4gICAgdGhpcy5fdG9nZ2xlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMubW9kZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKG1vZGUpID0+IHtcbiAgICAgICAgICBsZXQgb2JzOiBPYnNlcnZhYmxlPHVua25vd24+O1xuXG4gICAgICAgICAgaWYgKG1vZGUgPT09ICdwdXNoJykge1xuICAgICAgICAgICAgb2JzID0gY29tYmluZUxhdGVzdChbdGhpcy5vcGVuZWQkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksIHRoaXMuX3VwZGF0ZU1hcmdpbnNdKS5waXBlKFxuICAgICAgICAgICAgICB0YXAoKFtvcGVuZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHsgcmlnaHQgfSA9IHRoaXMuZHJhd2VyQ29udGFpbmVyLl9jb250ZW50TWFyZ2lucztcblxuICAgICAgICAgICAgICAgIHRoaXMuZHJhd2VyQ29udGFpbmVyLnVwZGF0ZUNvbnRlbnRNYXJnaW5zKCk7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZsaXAgPSBvcGVuZWQgPyAxIDogLTE7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChvcGVuZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSB0aGlzLmRyYXdlckNvbnRhaW5lci5fY29udGVudE1hcmdpbnMucmlnaHQ7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gKHJpZ2h0IHx8IDApICogZmxpcDtcblxuICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZWxlbWVudC5jbGllbnRXaWR0aDtcblxuICAgICAgICAgICAgICAgICAgY29uc3QgbWFyZ2luID0ge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0TWFyZ2luOiAwLFxuICAgICAgICAgICAgICAgICAgICByaWdodE1hcmdpbjogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aDogd2lkdGhcbiAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGVhc2VUbzogT2JzZXJ2YWJsZTxNYXBib3hFYXNlVG8+ID0gdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5jYWxjdWxhdGVOZXh0Q2VudGVyT2Zmc2V0V2l0aFNjcmVlbk1hcmdpbkNoYW5nZShtYXJnaW4pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoY2VudGVyKSA9PiAoeyB0bzogeyBjZW50ZXIsIGR1cmF0aW9uOiAzMjAwLCBlc3NlbnRpYWw6IGZhbHNlIH0gfSBhcyBNYXBib3hFYXNlVG8pKVxuICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5zZXRNYXJnaW4ob3BlbmVkID8gbWFyZ2luIDogdW5kZWZpbmVkKTtcblxuICAgICAgICAgICAgICAgICAgaWYgKCFpbml0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGJ4TWFwYm94TWFwU3RvcmUuZWFzZVRvKGVhc2VUbyk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbml0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9icyA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub3BlbmVkJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLCB0aGlzLl91cGRhdGVNYXJnaW5zXSkucGlwZShcbiAgICAgICAgICAgICAgc3dpdGNoTWFwKChfKSA9PiB0aGlzLmRieE1hcGJveE1hcFN0b3JlLm1hcEluc3RhbmNlJCksXG4gICAgICAgICAgICAgIHRhcCgoeCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJhd2VyQ29udGFpbmVyLnVwZGF0ZUNvbnRlbnRNYXJnaW5zKCk7XG4gICAgICAgICAgICAgICAgeC50cmlnZ2VyUmVwYWludCgpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb2JzO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzaXplZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3VwZGF0ZU1hcmdpbnMuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zaWRlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fb3BlblRvZ2dsZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbG9yLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fdG9nZ2xlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9mb3JjZUhhc0NvbnRlbnQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHRvZ2dsZURyYXdlcihvcGVuPzogYm9vbGVhbikge1xuICAgIGlmIChvcGVuID09IG51bGwpIHtcbiAgICAgIG9wZW4gPSAhdGhpcy5fb3BlblRvZ2dsZS52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9vcGVuVG9nZ2xlLm5leHQob3Blbik7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc2lkZShzaWRlOiBNYXliZTxEYnhNYXBib3hMYXlvdXRTaWRlPikge1xuICAgIGlmIChzaWRlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX3NpZGUubmV4dChzaWRlKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbW9kZShtb2RlOiBNYXliZTxEYnhNYXBib3hMYXlvdXRNb2RlPikge1xuICAgIGlmIChtb2RlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX21vZGUubmV4dChtb2RlKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgb3BlbmVkKG9wZW5lZDogTWF5YmU8Ym9vbGVhbj4pIHtcbiAgICBpZiAob3BlbmVkICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX29wZW5Ub2dnbGUubmV4dChvcGVuZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBoYXNDb250ZW50KGhhc0NvbnRlbnQ6IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgaWYgKGhhc0NvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fZm9yY2VIYXNDb250ZW50Lm5leHQoaGFzQ29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRyYXdlckNvbG9yKGNvbG9yOiBNYXliZTxEYnhUaGVtZUNvbG9yPikge1xuICAgIHRoaXMuX2NvbG9yLm5leHQoY29sb3IpO1xuICB9XG5cbiAgb25SZXNpemVkKGV2ZW50OiBSZXNpemVkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNpemVkLm5leHQoZXZlbnQpO1xuICB9XG59XG4iLCI8bWF0LWRyYXdlci1jb250YWluZXIgI2NvbnRhaW5lckVsZW1lbnQgY2xhc3M9XCJkYngtbWFwYm94LWxheW91dC1jb250YWluZXJcIiBbbmdDbGFzc109XCIoZHJhd2VyQ2xhc3NlcyQgfCBhc3luYykgfHwgJydcIiBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIj5cbiAgPG1hdC1kcmF3ZXIgY2xhc3M9XCJkYngtbWFwYm94LWxheW91dC1kcmF3ZXJcIiAjZHJhd2VyIFtvcGVuZWRdPVwib3BlbmVkJCB8IGFzeW5jXCIgW21vZGVdPVwiKG1vZGUkIHwgYXN5bmMpIHx8ICdzaWRlJ1wiIFtwb3NpdGlvbl09XCIocG9zaXRpb24kIHwgYXN5bmMpIHx8ICdlbmQnXCI+XG4gICAgPGRpdiBjbGFzcz1cImRieC1tYXBib3gtbGF5b3V0LWRyYXdlci1jb250ZW50XCIgW25nQ2xhc3NdPVwiKGRyYXdlckJ1dHRvbkNsYXNzZXMkIHwgYXN5bmMpIHx8ICcnXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZHJhd2VyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDxkYngtbWFwYm94LWxheW91dC1kcmF3ZXI+PC9kYngtbWFwYm94LWxheW91dC1kcmF3ZXI+XG4gICAgPC9kaXY+XG4gIDwvbWF0LWRyYXdlcj5cbiAgPG1hdC1kcmF3ZXItY29udGVudCAjY29udGVudCBjbGFzcz1cImRieC1tYXBib3gtbGF5b3V0LWNvbnRlbnRcIiAocmVzaXplZCk9XCJvblJlc2l6ZWQoJGV2ZW50KVwiPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVEcmF3ZXIoKVwiIGNsYXNzPVwiZGJ4LW1hcGJveC1sYXlvdXQtZHJhd2VyLWJ1dHRvblwiIFtuZ0NsYXNzXT1cIihkcmF3ZXJCdXR0b25DbGFzc2VzJCB8IGFzeW5jKSB8fCAnJ1wiPlxuICAgICAgPG1hdC1pY29uPnt7IGJ1dHRvbkljb24kIHwgYXN5bmMgfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9tYXQtZHJhd2VyLWNvbnRlbnQ+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { shareReplay, map, distinctUntilChanged } from 'rxjs';
|
|
2
|
+
import { Directive, Host } from '@angular/core';
|
|
3
|
+
import { isSameVector } from '@dereekb/util';
|
|
4
|
+
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
5
|
+
import { DbxMapboxLayoutComponent } from './mapbox.layout.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./mapbox.layout.component";
|
|
8
|
+
/**
|
|
9
|
+
* Directive that synchronizes a map's virtual size with the size of the element.
|
|
10
|
+
*/
|
|
11
|
+
export class DbxMapboxLayoutVirtualResizeSyncComponent extends SubscriptionObject {
|
|
12
|
+
constructor(dbxMapboxLayoutComponent) {
|
|
13
|
+
super();
|
|
14
|
+
this.dbxMapboxLayoutComponent = dbxMapboxLayoutComponent;
|
|
15
|
+
this.resizedVector$ = this.dbxMapboxLayoutComponent.resized$.pipe(map(() => {
|
|
16
|
+
const element = this.dbxMapboxLayoutComponent.containerElement.nativeElement;
|
|
17
|
+
const { clientWidth, clientHeight } = element;
|
|
18
|
+
return {
|
|
19
|
+
x: clientWidth,
|
|
20
|
+
y: clientHeight
|
|
21
|
+
};
|
|
22
|
+
}), distinctUntilChanged(isSameVector), shareReplay(1));
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.dbxMapboxLayoutComponent.dbxMapboxMapStore.setMinimumVirtualViewportSize(this.resizedVector$);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
DbxMapboxLayoutVirtualResizeSyncComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxMapboxLayoutVirtualResizeSyncComponent, deps: [{ token: i1.DbxMapboxLayoutComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
29
|
+
DbxMapboxLayoutVirtualResizeSyncComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DbxMapboxLayoutVirtualResizeSyncComponent, selector: "[dbxMapboxLayoutVirtualResizeSync]", usesInheritance: true, ngImport: i0 });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxMapboxLayoutVirtualResizeSyncComponent, decorators: [{
|
|
31
|
+
type: Directive,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: '[dbxMapboxLayoutVirtualResizeSync]'
|
|
34
|
+
}]
|
|
35
|
+
}], ctorParameters: function () { return [{ type: i1.DbxMapboxLayoutComponent, decorators: [{
|
|
36
|
+
type: Host
|
|
37
|
+
}] }]; } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmxheW91dC5yZXNpemUuc3luYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL21hcGJveC5sYXlvdXQucmVzaXplLnN5bmMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFckU7O0dBRUc7QUFJSCxNQUFNLE9BQU8seUNBQTBDLFNBQVEsa0JBQWtCO0lBYy9FLFlBQTZCLHdCQUFrRDtRQUM3RSxLQUFLLEVBQUUsQ0FBQztRQURtQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBYnRFLG1CQUFjLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ25FLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUMsYUFBNEIsQ0FBQztZQUM1RixNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUM5QyxPQUFPO2dCQUNMLENBQUMsRUFBRSxXQUFXO2dCQUNkLENBQUMsRUFBRSxZQUFZO2FBQ2hCLENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFDbEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckcsQ0FBQzs7dUlBcEJVLHlDQUF5QzsySEFBekMseUNBQXlDOzRGQUF6Qyx5Q0FBeUM7a0JBSHJELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9DQUFvQztpQkFDL0M7OzBCQWVjLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFyZVJlcGxheSwgbWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzU2FtZVZlY3RvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhNYXBib3hMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL21hcGJveC5sYXlvdXQuY29tcG9uZW50JztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBzeW5jaHJvbml6ZXMgYSBtYXAncyB2aXJ0dWFsIHNpemUgd2l0aCB0aGUgc2l6ZSBvZiB0aGUgZWxlbWVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieE1hcGJveExheW91dFZpcnR1YWxSZXNpemVTeW5jXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TWFwYm94TGF5b3V0VmlydHVhbFJlc2l6ZVN5bmNDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25PYmplY3QgaW1wbGVtZW50cyBPbkluaXQge1xuICByZWFkb25seSByZXNpemVkVmVjdG9yJCA9IHRoaXMuZGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50LnJlc2l6ZWQkLnBpcGUoXG4gICAgbWFwKCgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRieE1hcGJveExheW91dENvbXBvbmVudC5jb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiBjbGllbnRXaWR0aCxcbiAgICAgICAgeTogY2xpZW50SGVpZ2h0XG4gICAgICB9O1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGlzU2FtZVZlY3RvciksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHJlYWRvbmx5IGRieE1hcGJveExheW91dENvbXBvbmVudDogRGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50LmRieE1hcGJveE1hcFN0b3JlLnNldE1pbmltdW1WaXJ0dWFsVmlld3BvcnRTaXplKHRoaXMucmVzaXplZFZlY3RvciQpO1xuICB9XG59XG4iXX0=
|
|
@@ -16,9 +16,11 @@ import { NgxMapboxGLModule } from 'ngx-mapbox-gl';
|
|
|
16
16
|
import { DbxRouterAnchorModule } from '@dereekb/dbx-web';
|
|
17
17
|
import { DbxMapboxMarkersComponent } from './mapbox.markers.component';
|
|
18
18
|
import { DbxMapboxInjectionComponent } from './mapbox.injection.component';
|
|
19
|
+
import { DbxMapboxLayoutVirtualResizeSyncComponent } from './mapbox.layout.resize.sync.directive';
|
|
19
20
|
import * as i0 from "@angular/core";
|
|
20
21
|
const declarations = [
|
|
21
22
|
//
|
|
23
|
+
DbxMapboxLayoutVirtualResizeSyncComponent,
|
|
22
24
|
DbxMapboxMapDirective,
|
|
23
25
|
DbxMapboxLayoutComponent,
|
|
24
26
|
DbxMapboxLayoutDrawerComponent,
|
|
@@ -44,6 +46,7 @@ export class DbxMapboxModule {
|
|
|
44
46
|
DbxMapboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxMapboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
45
47
|
DbxMapboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxMapboxModule, declarations: [
|
|
46
48
|
//
|
|
49
|
+
DbxMapboxLayoutVirtualResizeSyncComponent,
|
|
47
50
|
DbxMapboxMapDirective,
|
|
48
51
|
DbxMapboxLayoutComponent,
|
|
49
52
|
DbxMapboxLayoutDrawerComponent,
|
|
@@ -62,6 +65,7 @@ DbxMapboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
62
65
|
DbxRouterAnchorModule,
|
|
63
66
|
NgxMapboxGLModule], exports: [
|
|
64
67
|
//
|
|
68
|
+
DbxMapboxLayoutVirtualResizeSyncComponent,
|
|
65
69
|
DbxMapboxMapDirective,
|
|
66
70
|
DbxMapboxLayoutComponent,
|
|
67
71
|
DbxMapboxLayoutDrawerComponent,
|
|
@@ -98,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
98
102
|
exports: declarations
|
|
99
103
|
}]
|
|
100
104
|
}] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvbWFwYm94L3NyYy9saWIvbWFwYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUVsRyxNQUFNLFlBQVksR0FBRztJQUNuQixFQUFFO0lBQ0YseUNBQXlDO0lBQ3pDLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQixzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6Qix3Q0FBd0M7Q0FDekMsQ0FBQztBQWlCRixNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQXVCO1FBQ3BDLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzZHQVhVLGVBQWU7OEdBQWYsZUFBZTtRQTNCMUIsRUFBRTtRQUNGLHlDQUF5QztRQUN6QyxxQkFBcUI7UUFDckIsd0JBQXdCO1FBQ3hCLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0Isc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsd0NBQXdDO1FBS3RDLEVBQUU7UUFDRixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLDJCQUEyQjtRQUMzQixlQUFlO1FBQ2YsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsaUJBQWlCO1FBdEJuQixFQUFFO1FBQ0YseUNBQXlDO1FBQ3pDLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsOEJBQThCO1FBQzlCLDJCQUEyQjtRQUMzQixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6Qix3Q0FBd0M7OEdBa0I3QixlQUFlO1FBYnhCLEVBQUU7UUFDRixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLDJCQUEyQjtRQUMzQixlQUFlO1FBQ2YsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsaUJBQWlCOzRGQUtSLGVBQWU7a0JBZjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLEVBQUU7d0JBQ0YsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLDJCQUEyQjt3QkFDM0IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixpQkFBaUI7cUJBQ2xCO29CQUNELFlBQVk7b0JBQ1osT0FBTyxFQUFFLFlBQVk7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYnhNYXBib3hNYXBEaXJlY3RpdmUgfSBmcm9tICcuL21hcGJveC5zdG9yZS5tYXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IERieE1hcGJveENvbmZpZyB9IGZyb20gJy4vbWFwYm94LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9tYXBib3gubGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBEYnhNYXBib3hMYXlvdXREcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcGJveC5sYXlvdXQuZHJhd2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQW5ndWxhclJlc2l6ZUV2ZW50TW9kdWxlIH0gZnJvbSAnYW5ndWxhci1yZXNpemUtZXZlbnQnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TWVudUNvbXBvbmVudCB9IGZyb20gJy4vbWFwYm94Lm1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IERieE1hcGJveE1hcFN0b3JlSW5qZWN0aW9uQmxvY2tEaXJlY3RpdmUgfSBmcm9tICcuL21hcGJveC5zdG9yZS5wcm92aWRlJztcbmltcG9ydCB7IERieE1hcGJveE1hcmtlckNvbXBvbmVudCB9IGZyb20gJy4vbWFwYm94Lm1hcmtlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd4TWFwYm94R0xNb2R1bGUgfSBmcm9tICduZ3gtbWFwYm94LWdsJztcbmltcG9ydCB7IERieFJvdXRlckFuY2hvck1vZHVsZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgRGJ4TWFwYm94TWFya2Vyc0NvbXBvbmVudCB9IGZyb20gJy4vbWFwYm94Lm1hcmtlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IERieE1hcGJveEluamVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbWFwYm94LmluamVjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TGF5b3V0VmlydHVhbFJlc2l6ZVN5bmNDb21wb25lbnQgfSBmcm9tICcuL21hcGJveC5sYXlvdXQucmVzaXplLnN5bmMuZGlyZWN0aXZlJztcblxuY29uc3QgZGVjbGFyYXRpb25zID0gW1xuICAvL1xuICBEYnhNYXBib3hMYXlvdXRWaXJ0dWFsUmVzaXplU3luY0NvbXBvbmVudCxcbiAgRGJ4TWFwYm94TWFwRGlyZWN0aXZlLFxuICBEYnhNYXBib3hMYXlvdXRDb21wb25lbnQsXG4gIERieE1hcGJveExheW91dERyYXdlckNvbXBvbmVudCxcbiAgRGJ4TWFwYm94SW5qZWN0aW9uQ29tcG9uZW50LFxuICBEYnhNYXBib3hNZW51Q29tcG9uZW50LFxuICBEYnhNYXBib3hNYXJrZXJDb21wb25lbnQsXG4gIERieE1hcGJveE1hcmtlcnNDb21wb25lbnQsXG4gIERieE1hcGJveE1hcFN0b3JlSW5qZWN0aW9uQmxvY2tEaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICAvL1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgIERieEluamVjdGlvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBBbmd1bGFyUmVzaXplRXZlbnRNb2R1bGUsXG4gICAgRGJ4Um91dGVyQW5jaG9yTW9kdWxlLFxuICAgIE5neE1hcGJveEdMTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9ucyxcbiAgZXhwb3J0czogZGVjbGFyYXRpb25zXG59KVxuZXhwb3J0IGNsYXNzIERieE1hcGJveE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogRGJ4TWFwYm94Q29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhNYXBib3hNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieE1hcGJveE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogRGJ4TWFwYm94Q29uZmlnLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|