@myclub_se/data-access 3.7.8 → 3.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/api-models/api-booking-calendar-slot-session.mjs +1 -1
- package/esm2022/lib/models/booking-calendar-slot-session.mjs +4 -2
- package/esm2022/lib/models/booking-calendar.mjs +3 -3
- package/esm2022/lib/services/booking-calendar.service.mjs +15 -1
- package/esm2022/lib/services/factories/booking-calendar-slot-session-factory.mjs +2 -2
- package/esm2022/lib/store/effects/auth.effects.mjs +10 -2
- package/esm2022/lib/store/effects/team.effects.mjs +7 -3
- package/fesm2022/myclub_se-data-access.mjs +34 -6
- package/fesm2022/myclub_se-data-access.mjs.map +1 -1
- package/lib/api-models/api-booking-calendar-slot-session.d.ts +1 -0
- package/lib/models/booking-calendar-slot-session.d.ts +2 -1
- package/lib/services/booking-calendar.service.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { BookingCalendarSlotSession } from "../../models";
|
|
2
|
-
export const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.calendar_id);
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.split_batch_id, apiBookingSlotSession.calendar_id);
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZy1jYWxlbmRhci1zbG90LXNlc3Npb24tZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvZmFjdG9yaWVzL2Jvb2tpbmctY2FsZW5kYXItc2xvdC1zZXNzaW9uLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMscUJBQW9ELEVBQUUsRUFBRSxDQUN4RyxJQUFJLDBCQUEwQixDQUM1QixxQkFBcUIsQ0FBQyxFQUFFLEVBQ3hCLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxPQUFPLEVBQzdCLHFCQUFxQixDQUFDLEtBQUssRUFDM0IscUJBQXFCLENBQUMsUUFBUSxFQUM5QixxQkFBcUIsQ0FBQyxZQUFZLEVBQ2xDLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsU0FBUyxFQUMvQixxQkFBcUIsQ0FBQyxhQUFhLEVBQ25DLHFCQUFxQixDQUFDLG1CQUFtQixFQUN6QyxxQkFBcUIsQ0FBQyxJQUFJLEVBQzFCLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxHQUFHLEVBQ3pCLHFCQUFxQixDQUFDLGdCQUFnQixFQUN0QyxxQkFBcUIsQ0FBQyxLQUFLLEVBQzNCLElBQUksRUFDSixxQkFBcUIsQ0FBQyxvQkFBb0IsRUFDMUMscUJBQXFCLENBQUMsNEJBQTRCLEVBQ2xELHFCQUFxQixDQUFDLGdCQUFnQixFQUN0QyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFDeEMscUJBQXFCLENBQUMsYUFBYSxFQUNuQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQ2pDLHFCQUFxQixDQUFDLFNBQVMsRUFDL0IscUJBQXFCLENBQUMsV0FBVyxFQUNqQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQ2xDLHFCQUFxQixDQUFDLEtBQUssRUFDM0IscUJBQXFCLENBQUMsZ0JBQWdCLEVBQ3RDLHFCQUFxQixDQUFDLFNBQVMsRUFDL0IscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxRQUFRLEVBQzlCLHFCQUFxQixDQUFDLGNBQWMsRUFDcEMscUJBQXFCLENBQUMsV0FBVyxDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb24gfSBmcm9tIFwiLi4vLi4vYXBpLW1vZGVsc1wiO1xuaW1wb3J0IHsgQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBjb25zdCBib29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbkZhY3RvcnkgPSAoYXBpQm9va2luZ1Nsb3RTZXNzaW9uOiBBcGlCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbikgPT5cbiAgbmV3IEJvb2tpbmdDYWxlbmRhclNsb3RTZXNzaW9uKFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2VjdGlvbl9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2xvdF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udGVhbV9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udGl0bGUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmVuZF90aW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5zZWN0aW9uX25hbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnN0YXJ0X3RpbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnRlYW1fbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uaXNfb3ZlcmJvb2tlZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubGFzdF9yZXBlYXRpbmdfZGF0ZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udHlwZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2xvdF9pbmRleCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uY29tbWVudCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uZGF5LFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5hY3Rpdml0eV90eXBlX2lkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5jb2xvcixcbiAgICBudWxsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV96b25lc190YWtlbixcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfem9uZXNfdGFrZW5fZGlzcGxheSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfcGFydF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfcGFydF9uYW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV9uYW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubWVtYmVyX2lkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5tZW1iZXJfbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubWVtYmVyX2VtYWlsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5wcmljZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ucGF5bWVudF9vcmRlcl9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ucGF5X3VudGlsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5pc19wYWlkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ncm91cF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc3BsaXRfYmF0Y2hfaWQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmNhbGVuZGFyX2lkLFxuICApO1xuIl19
|
|
@@ -97,7 +97,15 @@ export class AuthEffects {
|
|
|
97
97
|
.pipe(mergeMap((oldAuth) => {
|
|
98
98
|
return this.storageService.setAsObservable(STORAGE_SELECTED_AUTH, payload)
|
|
99
99
|
.pipe(mergeMap((newAuth) => {
|
|
100
|
-
|
|
100
|
+
// Same context only when both are member contexts (a team pick always has
|
|
101
|
+
// members: [], so an empty-length match must not count — it made every
|
|
102
|
+
// team→team switch within a club skip the store clear and leak the previous
|
|
103
|
+
// team's data, e.g. leader notifications) or both point at the same team.
|
|
104
|
+
const sameMemberContext = !!(newAuth.members && newAuth.members.length > 0 &&
|
|
105
|
+
newAuth.members.length === oldAuth?.members?.length);
|
|
106
|
+
const sameTeamContext = !!(newAuth.teams && newAuth.teams.length > 0 &&
|
|
107
|
+
oldAuth?.teams?.length === newAuth.teams.length && newAuth.teams[0].id === oldAuth.teams[0].id);
|
|
108
|
+
if (oldAuth && newAuth.id === oldAuth.id && (sameMemberContext || sameTeamContext)) {
|
|
101
109
|
return [
|
|
102
110
|
getCurrentAuthSuccessAction({ payload: newAuth })
|
|
103
111
|
];
|
|
@@ -131,4 +139,4 @@ export class AuthEffects {
|
|
|
131
139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AuthEffects, decorators: [{
|
|
132
140
|
type: Injectable
|
|
133
141
|
}] });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2F1dGguZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixjQUFjLEVBQ2QsV0FBVyxFQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDL0IsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlC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aUJBQWlCLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUM7YUFDOUMsQ0FBQztTQUFDLENBQUM7SUFDTixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsOEJBQThCLENBQUMsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQzNGLENBQ0YsQ0FDRixDQUNGLENBQUE7dUdBdE5VLFdBQVc7MkdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIEF1dGhTZXJ2aWNlLFxuICBTVE9SQUdFX1NFTEVDVEVEX0FVVEgsXG4gIFNUT1JBR0VfU0VMRUNURURfTUVNQkVSUyxcbiAgU1RPUkFHRV9UT0tFTixcbiAgU3RvcmFnZVNlcnZpY2UsXG4gIFRlYW1TZXJ2aWNlXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIGNsZWFyQXV0aGVudGljYXRpb25BY3Rpb24sXG4gIGNsZWFyQXV0aGVudGljYXRpb25TdWNjZXNzQWN0aW9uLFxuICBjbGVhckN1cnJlbnRBdXRoQWN0aW9uLFxuICBjbGVhckN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbixcbiAgY2xlYXJTdG9yZUFjdGlvbixcbiAgZ2V0Q3VycmVudEF1dGhBY3Rpb24sXG4gIGdldEN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEF1dGhBY3Rpb24sXG4gIGxpc3RBdXRoRmFpbHVyZUFjdGlvbixcbiAgbGlzdEF1dGhTdWNjZXNzQWN0aW9uLFxuICBsaXN0QXV0aFRlYW1zQWN0aW9uLFxuICBsaXN0QXV0aFRlYW1zRmFpbHVyZUFjdGlvbixcbiAgbGlzdEF1dGhUZWFtc1N1Y2Nlc3NBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc0FjdGlvbixcbiAgcmVmcmVzaEF1dGhzRmFpbHVyZUFjdGlvbixcbiAgcmVmcmVzaEF1dGhzU3VjY2Vzc0FjdGlvbixcbiAgcmVtb3ZlTWVtYmVyQXV0aEFjdGlvbixcbiAgcmVtb3ZlTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhTdWNjZXNzQWN0aW9uLFxuICByZW1vdmVUZWFtQXV0aEFjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhGYWlsdXJlQWN0aW9uLFxuICByZW1vdmVUZWFtQXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIHNldEN1cnJlbnRBdXRoQWN0aW9uLFxuICB1bmJsb2NrTWVtYmVyQXV0aEFjdGlvbixcbiAgdW5ibG9ja01lbWJlckF1dGhGYWlsdXJlQWN0aW9uLFxuICB1bmJsb2NrTWVtYmVyQXV0aFN1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmb3JrSm9pbiwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aCwgQXV0aFRlYW0sIENvbGxlY3Rpb24sIFNlYXJjaFRlYW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVtb3ZlTWVtYmVyQXV0aEludGVyZmFjZSwgUmVtb3ZlVGVhbUF1dGhJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGhlbnRpY2F0aW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2UgPSBpbmplY3QoQXV0aGVudGljYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoU3RvcmFnZVNlcnZpY2UpO1xuICBwcml2YXRlIHRlYW1TZXJ2aWNlID0gaW5qZWN0KFRlYW1TZXJ2aWNlKTtcblxuICBjbGVhckF1dGhlbnRpY2F0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+XG4gICAgICAgIGZvcmtKb2luKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRva2VuUmVtb3ZhbDogdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVBc09ic2VydmFibGUoU1RPUkFHRV9UT0tFTiksXG4gICAgICAgICAgICBzZWxlY3RlZEF1dGhSZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpLFxuICAgICAgICAgICAgc2VsZWN0ZWRNZW1iZXJzUmVtb3ZhbDogdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9NRU1CRVJTKSxcbiAgICAgICAgICB9XG4gICAgICAgICkucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jbGVhckF1dGhlbnRpY2F0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICBjbGVhclN0b3JlQWN0aW9uKCksXG4gICAgICAgICAgICAgIGNsZWFyQXV0aGVudGljYXRpb25TdWNjZXNzQWN0aW9uKClcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNsZWFyQ3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGNsZWFyQ3VycmVudEF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiBjbGVhckN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbigpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGdldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShnZXRDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0QXNPYnNlcnZhYmxlKFNUT1JBR0VfU0VMRUNURURfQVVUSClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChhdXRoOiBBdXRoIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgaWYgKGF1dGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBudWxsfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0QXV0aCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RBdXRoQWN0aW9uKSxcbiAgICAgIHN3aXRjaE1hcCgoe3BheWxvYWR9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhzKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYXV0aHM6IENvbGxlY3Rpb248QXV0aD4pID0+IGxpc3RBdXRoU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYXV0aHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0QXV0aFRlYW1zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhUZWFtc0FjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoe3BheWxvYWR9KSA9PiB7XG4gICAgICAgIGlmIChwYXlsb2FkLmNsdWJBZG1pbikge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlYW1TZXJ2aWNlLmdldENsdWJUZWFtcyhwYXlsb2FkLmlkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoc2VhcmNoVGVhbXM6IENvbGxlY3Rpb248U2VhcmNoVGVhbT4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdXRoID0ge1xuICAgICAgICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICAgICAgICAgIHRlYW1zOiBzZWFyY2hUZWFtcy50b0FycmF5KClcbiAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGE6IFNlYXJjaFRlYW0sIGI6IFNlYXJjaFRlYW0pID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0QXV0aFRlYW1zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYXV0aH0pO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0QXV0aFRlYW1zRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHNlY3Rpb25zVGVhbXMkOiBBcnJheTxPYnNlcnZhYmxlPENvbGxlY3Rpb248U2VhcmNoVGVhbT4+PiA9IHBheWxvYWQuc2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PlxuICAgICAgICAgICAgdGhpcy50ZWFtU2VydmljZS5nZXRTZWN0aW9uVGVhbXMoc2VjdGlvbi5pZClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIGZvcmtKb2luKHNlY3Rpb25zVGVhbXMkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXN1bHRzOiBBcnJheTxDb2xsZWN0aW9uPFNlYXJjaFRlYW0+PikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzZWN0aW9uVGVhbXM6IEFycmF5PFNlYXJjaFRlYW0+ID0gcmVzdWx0c1xuICAgICAgICAgICAgICAgIC5mbGF0TWFwKChyZXN1bHQ6IENvbGxlY3Rpb248U2VhcmNoVGVhbT4pID0+IHJlc3VsdC50b0FycmF5KCkpO1xuICAgICAgICAgICAgICAvLyBVbmlvbiB0aGUgZmV0Y2hlZCBzZWN0aW9uIHRlYW1zIHdpdGggYW55IHRlYW1zIGFscmVhZHkgb24gdGhlIGF1dGggKGUuZy4gYSB0ZWFtIHRoZVxuICAgICAgICAgICAgICAvLyB1c2VyIGFkbWlucyBvdXRzaWRlIHRoZSBzZWN0aW9ucyB0aGV5IGFkbWluaXN0ZXIpLCBrZXllZCBieSBpZC4gRmV0Y2hlZCBTZWFyY2hUZWFtc1xuICAgICAgICAgICAgICAvLyB3aW4gb24gZHVwbGljYXRlcyBzbyB0aGUgcmljaGVyIHNlY3Rpb25fbmFtZSBpcyBrZXB0LlxuICAgICAgICAgICAgICBjb25zdCB0ZWFtc0J5SWQgPSBuZXcgTWFwPHN0cmluZywgQXV0aFRlYW0gfCBTZWFyY2hUZWFtPigpO1xuICAgICAgICAgICAgICBbLi4ucGF5bG9hZC50ZWFtcywgLi4uc2VjdGlvblRlYW1zXS5mb3JFYWNoKCh0ZWFtKSA9PiB0ZWFtc0J5SWQuc2V0KHRlYW0uaWQsIHRlYW0pKTtcbiAgICAgICAgICAgICAgY29uc3QgbWVyZ2VkVGVhbXMgPSBbLi4udGVhbXNCeUlkLnZhbHVlcygpXS5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcbiAgICAgICAgICAgICAgY29uc3QgYXV0aCA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgIC8vIHRlYW1zIGlzIHR5cGVkIGFzIEF1dGhUZWFtW10gfCBTZWFyY2hUZWFtW107IHRoZSBtZXJnZWQgbGlzdCBtYXkgbWl4IGJvdGggc2hhcGVzLFxuICAgICAgICAgICAgICAgIC8vIHdoaWNoIGNvbnN1bWVycyBhbHJlYWR5IGhhbmRsZSAodGhleSByZWFkIGlkL25hbWUvc2VjdGlvbl9uYW1lIHwgc2VjdGlvbj8ubmFtZSkuXG4gICAgICAgICAgICAgICAgdGVhbXM6IG1lcmdlZFRlYW1zIGFzIFNlYXJjaFRlYW1bXSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHJlZnJlc2gkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZWZyZXNoQXV0aHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZU1lbWJlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICByZWZyZXNoQXV0aHNTdWNjZXNzQWN0aW9uKCksXG4gICAgICAgICAgICAgICAgbGlzdEF1dGhBY3Rpb24oKVxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZWZyZXNoQXV0aHNGYWlsdXJlQWN0aW9uKCkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJlbW92ZU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJlbW92ZU1lbWJlckF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlTWVtYmVyQXV0aEludGVyZmFjZVxuICAgICAgICB9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnJlbW92ZU1lbWJlckF1dGgocGF5bG9hZC5hdXRoSWQsIHBheWxvYWQubWVtYmVySWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZU1lbWJlckF1dGhTdWNjZXNzQWN0aW9uKCkgOiByZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YocmVtb3ZlTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24oKSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZW1vdmVUZWFtJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmVtb3ZlVGVhbUF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlVGVhbUF1dGhJbnRlcmZhY2VcbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoU2VydmljZS5yZW1vdmVUZWFtQXV0aChwYXlsb2FkLmF1dGhJZCwgcGF5bG9hZC50ZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZVRlYW1BdXRoU3VjY2Vzc0FjdGlvbigpIDogcmVtb3ZlVGVhbUF1dGhGYWlsdXJlQWN0aW9uKCkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZXRDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogQXV0aCB9KSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChvbGRBdXRoOiBBdXRoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5zZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRILCBwYXlsb2FkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgobmV3QXV0aDogQXV0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKG9sZEF1dGggJiYgbmV3QXV0aC5pZCA9PT0gb2xkQXV0aC5pZCAmJiAoKG5ld0F1dGgubWVtYmVycyAmJiBuZXdBdXRoLm1lbWJlcnMubGVuZ3RoID09PSBvbGRBdXRoLm1lbWJlcnMubGVuZ3RoKSB8fCAobmV3QXV0aC50ZWFtcyAmJiBuZXdBdXRoLnRlYW1zLmxlbmd0aCA9PT0gb2xkQXV0aC50ZWFtcy5sZW5ndGggJiYgbmV3QXV0aC50ZWFtc1swXS5pZCA9PT0gb2xkQXV0aC50ZWFtc1swXS5pZCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBuZXdBdXRofSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld0F1dGh9KSxcbiAgICAgICAgICAgICAgICAgICAgICBjbGVhclN0b3JlQWN0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHVuYmxvY2tNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZSh1bmJsb2NrTWVtYmVyQXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7dXNlcklkOiBzdHJpbmcsIGNsdWJJZDogc3RyaW5nLCBtZW1iZXJJZDogc3RyaW5nfX0pID0+IHRoaXMuYXV0aFNlcnZpY2UudW5ibG9ja01lbWJlcihwYXlsb2FkLnVzZXJJZCwgcGF5bG9hZC5jbHViSWQsIHBheWxvYWQubWVtYmVySWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChzdWNjZXNzOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHVuYmxvY2tNZW1iZXJBdXRoU3VjY2Vzc0FjdGlvbigpLFxuICAgICAgICAgICAgICAgIHJlZnJlc2hBdXRoc0FjdGlvbigpXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICB1bmJsb2NrTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24oe1xuICAgICAgICAgICAgICBwYXlsb2FkOiBuZXcgSHR0cEVycm9yUmVzcG9uc2Uoe3N0YXR1czogNDAwfSlcbiAgICAgICAgICAgIH0pXTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih1bmJsb2NrTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxufVxuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2F1dGguZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixjQUFjLEVBQ2QsV0FBVyxFQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDL0IsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlC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QyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUN0SyxJQUFJLENBQ0gsUUFBUSxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQzVCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPO2dCQUNMLDhCQUE4QixFQUFFO2dCQUNoQyxrQkFBa0IsRUFBRTthQUNyQixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU87WUFDTCw4QkFBOEIsQ0FBQztnQkFDL0IsT0FBTyxFQUFFLElBQUksaUJBQWlCLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUM7YUFDOUMsQ0FBQztTQUFDLENBQUM7SUFDTixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsOEJBQThCLENBQUMsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQzNGLENBQ0YsQ0FDRixDQUNGLENBQUE7dUdBOU5VLFdBQVc7MkdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIEF1dGhTZXJ2aWNlLFxuICBTVE9SQUdFX1NFTEVDVEVEX0FVVEgsXG4gIFNUT1JBR0VfU0VMRUNURURfTUVNQkVSUyxcbiAgU1RPUkFHRV9UT0tFTixcbiAgU3RvcmFnZVNlcnZpY2UsXG4gIFRlYW1TZXJ2aWNlXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIGNsZWFyQXV0aGVudGljYXRpb25BY3Rpb24sXG4gIGNsZWFyQXV0aGVudGljYXRpb25TdWNjZXNzQWN0aW9uLFxuICBjbGVhckN1cnJlbnRBdXRoQWN0aW9uLFxuICBjbGVhckN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbixcbiAgY2xlYXJTdG9yZUFjdGlvbixcbiAgZ2V0Q3VycmVudEF1dGhBY3Rpb24sXG4gIGdldEN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEF1dGhBY3Rpb24sXG4gIGxpc3RBdXRoRmFpbHVyZUFjdGlvbixcbiAgbGlzdEF1dGhTdWNjZXNzQWN0aW9uLFxuICBsaXN0QXV0aFRlYW1zQWN0aW9uLFxuICBsaXN0QXV0aFRlYW1zRmFpbHVyZUFjdGlvbixcbiAgbGlzdEF1dGhUZWFtc1N1Y2Nlc3NBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc0FjdGlvbixcbiAgcmVmcmVzaEF1dGhzRmFpbHVyZUFjdGlvbixcbiAgcmVmcmVzaEF1dGhzU3VjY2Vzc0FjdGlvbixcbiAgcmVtb3ZlTWVtYmVyQXV0aEFjdGlvbixcbiAgcmVtb3ZlTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhTdWNjZXNzQWN0aW9uLFxuICByZW1vdmVUZWFtQXV0aEFjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhGYWlsdXJlQWN0aW9uLFxuICByZW1vdmVUZWFtQXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIHNldEN1cnJlbnRBdXRoQWN0aW9uLFxuICB1bmJsb2NrTWVtYmVyQXV0aEFjdGlvbixcbiAgdW5ibG9ja01lbWJlckF1dGhGYWlsdXJlQWN0aW9uLFxuICB1bmJsb2NrTWVtYmVyQXV0aFN1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmb3JrSm9pbiwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aCwgQXV0aFRlYW0sIENvbGxlY3Rpb24sIFNlYXJjaFRlYW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVtb3ZlTWVtYmVyQXV0aEludGVyZmFjZSwgUmVtb3ZlVGVhbUF1dGhJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGhlbnRpY2F0aW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2UgPSBpbmplY3QoQXV0aGVudGljYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoU3RvcmFnZVNlcnZpY2UpO1xuICBwcml2YXRlIHRlYW1TZXJ2aWNlID0gaW5qZWN0KFRlYW1TZXJ2aWNlKTtcblxuICBjbGVhckF1dGhlbnRpY2F0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+XG4gICAgICAgIGZvcmtKb2luKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRva2VuUmVtb3ZhbDogdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVBc09ic2VydmFibGUoU1RPUkFHRV9UT0tFTiksXG4gICAgICAgICAgICBzZWxlY3RlZEF1dGhSZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpLFxuICAgICAgICAgICAgc2VsZWN0ZWRNZW1iZXJzUmVtb3ZhbDogdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9NRU1CRVJTKSxcbiAgICAgICAgICB9XG4gICAgICAgICkucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jbGVhckF1dGhlbnRpY2F0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICBjbGVhclN0b3JlQWN0aW9uKCksXG4gICAgICAgICAgICAgIGNsZWFyQXV0aGVudGljYXRpb25TdWNjZXNzQWN0aW9uKClcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNsZWFyQ3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGNsZWFyQ3VycmVudEF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiBjbGVhckN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbigpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGdldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShnZXRDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0QXNPYnNlcnZhYmxlKFNUT1JBR0VfU0VMRUNURURfQVVUSClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChhdXRoOiBBdXRoIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgaWYgKGF1dGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBudWxsfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0QXV0aCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RBdXRoQWN0aW9uKSxcbiAgICAgIHN3aXRjaE1hcCgoe3BheWxvYWR9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhzKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYXV0aHM6IENvbGxlY3Rpb248QXV0aD4pID0+IGxpc3RBdXRoU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYXV0aHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0QXV0aFRlYW1zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhUZWFtc0FjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoe3BheWxvYWR9KSA9PiB7XG4gICAgICAgIGlmIChwYXlsb2FkLmNsdWJBZG1pbikge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRlYW1TZXJ2aWNlLmdldENsdWJUZWFtcyhwYXlsb2FkLmlkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoc2VhcmNoVGVhbXM6IENvbGxlY3Rpb248U2VhcmNoVGVhbT4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdXRoID0ge1xuICAgICAgICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICAgICAgICAgIHRlYW1zOiBzZWFyY2hUZWFtcy50b0FycmF5KClcbiAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGE6IFNlYXJjaFRlYW0sIGI6IFNlYXJjaFRlYW0pID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0QXV0aFRlYW1zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYXV0aH0pO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0QXV0aFRlYW1zRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHNlY3Rpb25zVGVhbXMkOiBBcnJheTxPYnNlcnZhYmxlPENvbGxlY3Rpb248U2VhcmNoVGVhbT4+PiA9IHBheWxvYWQuc2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PlxuICAgICAgICAgICAgdGhpcy50ZWFtU2VydmljZS5nZXRTZWN0aW9uVGVhbXMoc2VjdGlvbi5pZClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIGZvcmtKb2luKHNlY3Rpb25zVGVhbXMkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXN1bHRzOiBBcnJheTxDb2xsZWN0aW9uPFNlYXJjaFRlYW0+PikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzZWN0aW9uVGVhbXM6IEFycmF5PFNlYXJjaFRlYW0+ID0gcmVzdWx0c1xuICAgICAgICAgICAgICAgIC5mbGF0TWFwKChyZXN1bHQ6IENvbGxlY3Rpb248U2VhcmNoVGVhbT4pID0+IHJlc3VsdC50b0FycmF5KCkpO1xuICAgICAgICAgICAgICAvLyBVbmlvbiB0aGUgZmV0Y2hlZCBzZWN0aW9uIHRlYW1zIHdpdGggYW55IHRlYW1zIGFscmVhZHkgb24gdGhlIGF1dGggKGUuZy4gYSB0ZWFtIHRoZVxuICAgICAgICAgICAgICAvLyB1c2VyIGFkbWlucyBvdXRzaWRlIHRoZSBzZWN0aW9ucyB0aGV5IGFkbWluaXN0ZXIpLCBrZXllZCBieSBpZC4gRmV0Y2hlZCBTZWFyY2hUZWFtc1xuICAgICAgICAgICAgICAvLyB3aW4gb24gZHVwbGljYXRlcyBzbyB0aGUgcmljaGVyIHNlY3Rpb25fbmFtZSBpcyBrZXB0LlxuICAgICAgICAgICAgICBjb25zdCB0ZWFtc0J5SWQgPSBuZXcgTWFwPHN0cmluZywgQXV0aFRlYW0gfCBTZWFyY2hUZWFtPigpO1xuICAgICAgICAgICAgICBbLi4ucGF5bG9hZC50ZWFtcywgLi4uc2VjdGlvblRlYW1zXS5mb3JFYWNoKCh0ZWFtKSA9PiB0ZWFtc0J5SWQuc2V0KHRlYW0uaWQsIHRlYW0pKTtcbiAgICAgICAgICAgICAgY29uc3QgbWVyZ2VkVGVhbXMgPSBbLi4udGVhbXNCeUlkLnZhbHVlcygpXS5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcbiAgICAgICAgICAgICAgY29uc3QgYXV0aCA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgIC8vIHRlYW1zIGlzIHR5cGVkIGFzIEF1dGhUZWFtW10gfCBTZWFyY2hUZWFtW107IHRoZSBtZXJnZWQgbGlzdCBtYXkgbWl4IGJvdGggc2hhcGVzLFxuICAgICAgICAgICAgICAgIC8vIHdoaWNoIGNvbnN1bWVycyBhbHJlYWR5IGhhbmRsZSAodGhleSByZWFkIGlkL25hbWUvc2VjdGlvbl9uYW1lIHwgc2VjdGlvbj8ubmFtZSkuXG4gICAgICAgICAgICAgICAgdGVhbXM6IG1lcmdlZFRlYW1zIGFzIFNlYXJjaFRlYW1bXSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHJlZnJlc2gkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZWZyZXNoQXV0aHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZU1lbWJlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICByZWZyZXNoQXV0aHNTdWNjZXNzQWN0aW9uKCksXG4gICAgICAgICAgICAgICAgbGlzdEF1dGhBY3Rpb24oKVxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZWZyZXNoQXV0aHNGYWlsdXJlQWN0aW9uKCkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJlbW92ZU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJlbW92ZU1lbWJlckF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlTWVtYmVyQXV0aEludGVyZmFjZVxuICAgICAgICB9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnJlbW92ZU1lbWJlckF1dGgocGF5bG9hZC5hdXRoSWQsIHBheWxvYWQubWVtYmVySWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZU1lbWJlckF1dGhTdWNjZXNzQWN0aW9uKCkgOiByZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YocmVtb3ZlTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24oKSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZW1vdmVUZWFtJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmVtb3ZlVGVhbUF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlVGVhbUF1dGhJbnRlcmZhY2VcbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoU2VydmljZS5yZW1vdmVUZWFtQXV0aChwYXlsb2FkLmF1dGhJZCwgcGF5bG9hZC50ZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZVRlYW1BdXRoU3VjY2Vzc0FjdGlvbigpIDogcmVtb3ZlVGVhbUF1dGhGYWlsdXJlQWN0aW9uKCkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZXRDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogQXV0aCB9KSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChvbGRBdXRoOiBBdXRoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5zZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRILCBwYXlsb2FkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgobmV3QXV0aDogQXV0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gU2FtZSBjb250ZXh0IG9ubHkgd2hlbiBib3RoIGFyZSBtZW1iZXIgY29udGV4dHMgKGEgdGVhbSBwaWNrIGFsd2F5cyBoYXNcbiAgICAgICAgICAgICAgICAgIC8vIG1lbWJlcnM6IFtdLCBzbyBhbiBlbXB0eS1sZW5ndGggbWF0Y2ggbXVzdCBub3QgY291bnQg4oCUIGl0IG1hZGUgZXZlcnlcbiAgICAgICAgICAgICAgICAgIC8vIHRlYW3ihpJ0ZWFtIHN3aXRjaCB3aXRoaW4gYSBjbHViIHNraXAgdGhlIHN0b3JlIGNsZWFyIGFuZCBsZWFrIHRoZSBwcmV2aW91c1xuICAgICAgICAgICAgICAgICAgLy8gdGVhbSdzIGRhdGEsIGUuZy4gbGVhZGVyIG5vdGlmaWNhdGlvbnMpIG9yIGJvdGggcG9pbnQgYXQgdGhlIHNhbWUgdGVhbS5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNhbWVNZW1iZXJDb250ZXh0ID0gISEobmV3QXV0aC5tZW1iZXJzICYmIG5ld0F1dGgubWVtYmVycy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgICAgIG5ld0F1dGgubWVtYmVycy5sZW5ndGggPT09IG9sZEF1dGg/Lm1lbWJlcnM/Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBzYW1lVGVhbUNvbnRleHQgPSAhIShuZXdBdXRoLnRlYW1zICYmIG5ld0F1dGgudGVhbXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgICAgICBvbGRBdXRoPy50ZWFtcz8ubGVuZ3RoID09PSBuZXdBdXRoLnRlYW1zLmxlbmd0aCAmJiBuZXdBdXRoLnRlYW1zWzBdLmlkID09PSBvbGRBdXRoLnRlYW1zWzBdLmlkKTtcbiAgICAgICAgICAgICAgICAgIGlmIChvbGRBdXRoICYmIG5ld0F1dGguaWQgPT09IG9sZEF1dGguaWQgJiYgKHNhbWVNZW1iZXJDb250ZXh0IHx8IHNhbWVUZWFtQ29udGV4dCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld0F1dGh9KVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgIGdldEN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbmV3QXV0aH0pLFxuICAgICAgICAgICAgICAgICAgICAgIGNsZWFyU3RvcmVBY3Rpb24oKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgdW5ibG9ja01lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHVuYmxvY2tNZW1iZXJBdXRoQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt1c2VySWQ6IHN0cmluZywgY2x1YklkOiBzdHJpbmcsIG1lbWJlcklkOiBzdHJpbmd9fSkgPT4gdGhpcy5hdXRoU2VydmljZS51bmJsb2NrTWVtYmVyKHBheWxvYWQudXNlcklkLCBwYXlsb2FkLmNsdWJJZCwgcGF5bG9hZC5tZW1iZXJJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgdW5ibG9ja01lbWJlckF1dGhTdWNjZXNzQWN0aW9uKCksXG4gICAgICAgICAgICAgICAgcmVmcmVzaEF1dGhzQWN0aW9uKClcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIHVuYmxvY2tNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbih7XG4gICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7c3RhdHVzOiA0MDB9KVxuICAgICAgICAgICAgfSldO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHVuYmxvY2tNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApXG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { Actions, createEffect, ofType } from '@ngrx/effects';
|
|
3
3
|
import { deleteTeamLeaderMemberAction, deleteTeamLeaderMemberFailureAction, deleteTeamLeaderMemberSuccessAction, listGenerallyAvailableTeamsAction, listGenerallyAvailableTeamsFailureAction, listGenerallyAvailableTeamsSuccessAction, listLeaderNotificationsAction, listLeaderNotificationsFailureAction, listLeaderNotificationsSuccessAction, listMemberLeaderExtraMembersAction, listMemberLeaderExtraMembersFailureAction, listMemberLeaderExtraMembersSuccessAction, listMemberLeaderMembersAction, listMemberLeaderMembersFailureAction, listMemberLeaderMembersSuccessAction, listMemberTeamsAction, listMemberTeamsFailureAction, listMemberTeamsSuccessAction, listTeamLeaderExtraMembersAction, listTeamLeaderExtraMembersFailureAction, listTeamLeaderExtraMembersSuccessAction, listTeamLeaderMembersAction, listTeamLeaderMembersFailureAction, listTeamLeaderMembersSuccessAction, retrieveMemberLeaderExtraMemberAction, retrieveMemberLeaderExtraMemberFailureAction, retrieveMemberLeaderExtraMemberSuccessAction, retrieveMemberLeaderGroupAction, retrieveMemberLeaderGroupFailureAction, retrieveMemberLeaderGroupSuccessAction, retrieveMemberLeaderMemberAction, retrieveMemberLeaderMemberFailureAction, retrieveMemberLeaderMemberSuccessAction, retrieveTeamLeaderExtraMemberAction, retrieveTeamLeaderExtraMemberFailureAction, retrieveTeamLeaderExtraMemberSuccessAction, retrieveTeamLeaderGroupAction, retrieveTeamLeaderGroupFailureAction, retrieveTeamLeaderGroupSuccessAction, retrieveTeamLeaderMemberAction, retrieveTeamLeaderMemberFailureAction, retrieveTeamLeaderMemberSuccessAction, updateTeamLeaderMemberAction, updateTeamLeaderMemberFailureAction, updateTeamLeaderMemberSuccessAction } from '../actions';
|
|
4
|
-
import { exhaustMap, forkJoin, mergeMap, of } from 'rxjs';
|
|
4
|
+
import { exhaustMap, forkJoin, mergeMap, of, switchMap } from 'rxjs';
|
|
5
5
|
import { catchError, map } from 'rxjs/operators';
|
|
6
6
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
7
7
|
import { ExtraMembersMixin } from './mixins/extra-members-mixin';
|
|
@@ -25,8 +25,12 @@ export class TeamEffects extends ExtraMembersMixin {
|
|
|
25
25
|
listGenerallyAvailableTeams$ = createEffect(() => this.actions$
|
|
26
26
|
.pipe(ofType(listGenerallyAvailableTeamsAction), exhaustMap(({ payload }) => this.teamService.getGenerallyAvailableTeams(payload.clubId, payload.memberIds ?? [])
|
|
27
27
|
.pipe(map((teams) => listGenerallyAvailableTeamsSuccessAction({ payload: teams.toArray() })), catchError((error) => of(listGenerallyAvailableTeamsFailureAction({ payload: error })))))));
|
|
28
|
+
// switchMap (not exhaustMap): on a context switch a request for the PREVIOUS team
|
|
29
|
+
// can still be in flight when the new team's request is dispatched — the latest
|
|
30
|
+
// dispatch must win (and cancel the stale one), or the new context shows the old
|
|
31
|
+
// team's notifications.
|
|
28
32
|
listLeaderNotifications$ = createEffect(() => this.actions$
|
|
29
|
-
.pipe(ofType(listLeaderNotificationsAction),
|
|
33
|
+
.pipe(ofType(listLeaderNotificationsAction), switchMap(({ payload }) => this.leaderNotificationService.getLeaderNotifications(payload)
|
|
30
34
|
.pipe(map((activities) => listLeaderNotificationsSuccessAction({ payload: activities.toArray() })), catchError((error) => of(listLeaderNotificationsFailureAction({ payload: error })))))));
|
|
31
35
|
listMemberTeams$ = createEffect(() => this.actions$
|
|
32
36
|
.pipe(ofType(listMemberTeamsAction), mergeMap(({ payload }) => forkJoin(payload.map((id) => this.teamService.getMemberTeams(id)
|
|
@@ -87,4 +91,4 @@ export class TeamEffects extends ExtraMembersMixin {
|
|
|
87
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TeamEffects, decorators: [{
|
|
88
92
|
type: Injectable
|
|
89
93
|
}] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3RlYW0uZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUNqQyx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBQ3hDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLGtDQUFrQyxFQUNsQyx5Q0FBeUMsRUFDekMseUNBQXlDLEVBQ3pDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsdUNBQXVDLEVBQ3ZDLDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLHFDQUFxQyxFQUNyQyw0Q0FBNEMsRUFDNUMsNENBQTRDLEVBQzVDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFDdEMsc0NBQXNDLEVBQ3RDLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsdUNBQXVDLEVBQ3ZDLG1DQUFtQyxFQUNuQywwQ0FBMEMsRUFDMUMsMENBQTBDLEVBQzFDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLDhCQUE4QixFQUM5QixxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBQ3BC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QVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBBY3Rpdml0eUV4dHJhTWVtYmVyLCBDb2xsZWN0aW9uLCBMZWFkZXJBY3Rpdml0eSwgTWVtYmVyVGVhbSwgTWVtYmVyVGVhbVRocm91Z2gsIFNlYXJjaFRlYW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgZGVsZXRlVGVhbUxlYWRlck1lbWJlckFjdGlvbixcbiAgZGVsZXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNBY3Rpb24sXG4gIGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RMZWFkZXJOb3RpZmljYXRpb25zQWN0aW9uLFxuICBsaXN0TGVhZGVyTm90aWZpY2F0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RMZWFkZXJOb3RpZmljYXRpb25zU3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc0FjdGlvbixcbiAgbGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0FjdGlvbixcbiAgbGlzdE1lbWJlckxlYWRlck1lbWJlcnNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJUZWFtc0FjdGlvbixcbiAgbGlzdE1lbWJlclRlYW1zRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlclRlYW1zU3VjY2Vzc0FjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNBY3Rpb24sXG4gIGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0VGVhbUxlYWRlck1lbWJlcnNBY3Rpb24sXG4gIGxpc3RUZWFtTGVhZGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RUZWFtTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cEFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cEZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlckdyb3VwRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXJBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24sXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJBY3Rpb24sXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZvcmtKb2luLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXh0cmFNZW1iZXJzTWl4aW4gfSBmcm9tICcuL21peGlucy9leHRyYS1tZW1iZXJzLW1peGluJztcbmltcG9ydCB7IExlYWRlck5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRlYW1FZmZlY3RzIGV4dGVuZHMgRXh0cmFNZW1iZXJzTWl4aW4ge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGxlYWRlck5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoTGVhZGVyTm90aWZpY2F0aW9uU2VydmljZSk7XG5cbiAgZGVsZXRlVGVhbU1lbWJlciQgID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShkZWxldGVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmRlbGV0ZVRlYW1MZWFkZXJUZWFtTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBkZWxldGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDoge3RlYW1JZDogcGF5bG9hZC50ZWFtSWQsIGlkOiBwYXlsb2FkLmlkfX0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiBuZXcgSHR0cEVycm9yUmVzcG9uc2Uoe3N0YXR1czogNDAwfSlcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge2NsdWJJZDogc3RyaW5nLCBtZW1iZXJJZHM/OiBBcnJheTxzdHJpbmc+fX0pID0+XG4gICAgICAgIHRoaXMudGVhbVNlcnZpY2UuZ2V0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXMocGF5bG9hZC5jbHViSWQsIHBheWxvYWQubWVtYmVySWRzID8/IFtdKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKCh0ZWFtczogQ29sbGVjdGlvbjxTZWFyY2hUZWFtPikgPT4gbGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdGVhbXMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RMZWFkZXJOb3RpZmljYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdExlYWRlck5vdGlmaWNhdGlvbnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDogc3RyaW5nfSkgPT5cbiAgICAgICAgdGhpcy5sZWFkZXJOb3RpZmljYXRpb25TZXJ2aWNlLmdldExlYWRlck5vdGlmaWNhdGlvbnMocGF5bG9hZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoYWN0aXZpdGllczogQ29sbGVjdGlvbjxMZWFkZXJBY3Rpdml0eT4pID0+IGxpc3RMZWFkZXJOb3RpZmljYXRpb25zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYWN0aXZpdGllcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RMZWFkZXJOb3RpZmljYXRpb25zRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyVGVhbXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyVGVhbXNBY3Rpb24pLFxuICAgICAgbWVyZ2VNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IEFycmF5PHN0cmluZz59KSA9PlxuICAgICAgICBmb3JrSm9pbihwYXlsb2FkLm1hcCgoaWQ6IHN0cmluZykgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtcyhpZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgodGVhbXM6IENvbGxlY3Rpb248U2VhcmNoVGVhbT4pID0+ICh7aWQsIHRlYW1zOiB0ZWFtcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHtpZCwgZXJyb3J9KSlcbiAgICAgICAgICApXG4gICAgICAgICkpLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKHJlc3VsdHM6IEFycmF5PHtpZDogc3RyaW5nLCBlcnJvcj86IEh0dHBFcnJvclJlc3BvbnNlLCB0ZWFtcz86IEFycmF5PFNlYXJjaFRlYW0+fT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcnJheTxTZWFyY2hUZWFtPj4oKTtcbiAgICAgICAgICAgIGNvbnN0IGVycm9ycyA9IHJlc3VsdHMuZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQuZXJyb3IpO1xuICAgICAgICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKGxpc3RNZW1iZXJUZWFtc0ZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBlcnJvcnNbMF0uZXJyb3IgYXMgSHR0cEVycm9yUmVzcG9uc2UgfSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXN1bHRzLmZvckVhY2gocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdC50ZWFtcykge1xuICAgICAgICAgICAgICAgIHJlc3VsdE1hcC5zZXQocmVzdWx0LmlkLCByZXN1bHQudGVhbXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG9mKGxpc3RNZW1iZXJUZWFtc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHJlc3VsdE1hcH0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHsgcGF5bG9hZCB9OiB7IHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgaWQ6IHN0cmluZywgcTogc3RyaW5nIH0gfSkgPT5cbiAgICAgICAgdGhpcy5tZW1iZXJMZWFkZXJHZXRBbGxFeHRyYU1lbWJlcnMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChleHRyYU1lbWJlcnM6IEFycmF5PEFjdGl2aXR5RXh0cmFNZW1iZXI+KSA9PiBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2Vzc0FjdGlvbih7IHBheWxvYWQ6IGV4dHJhTWVtYmVycyB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNGYWlsdXJlQWN0aW9uKHsgcGF5bG9hZDogZXJyb3IgfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlckxlYWRlck1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaWQ6IHN0cmluZywgcTogc3RyaW5nfX0pID0+XG4gICAgICAgIHRoaXMubWVtYmVyTGVhZGVyR2V0YUFsbE1lbWJlcnMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZW1iZXJzOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4pID0+IGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyc30pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlckxlYWRlck1lbWJlcnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtTGVhZGVyR2V0QWxsRXh0cmFNZW1iZXJzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLnEpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGV4dHJhTWVtYmVyczogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4pID0+IGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2Vzc0FjdGlvbih7XG4gICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICB0ZWFtSWQ6IHBheWxvYWQudGVhbUlkLFxuICAgICAgICAgICAgICAgIHJlc3VsdHM6IGV4dHJhTWVtYmVyc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0VGVhbUxlYWRlck1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0VGVhbUxlYWRlck1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtTGVhZGVyR2V0QWxsTWVtYmVycyhwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZW1iZXJzOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4pID0+IGxpc3RUZWFtTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcnN9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtTGVhZGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBpZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGdyb3VwOiBNZW1iZXJUZWFtKSA9PiByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogZ3JvdXB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCB0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldE1lbWJlclRlYW1FeHRyYU1lbWJlcihwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5pZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IEFjdGl2aXR5RXh0cmFNZW1iZXIpID0+IHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJ9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9fSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtTWVtYmVyKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlcjogTWVtYmVyVGVhbVRocm91Z2gpID0+IHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbUxlYWRlckdyb3VwQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBzdHJpbmcgfSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRUZWFtTGVhZGVyVGVhbShwYXlsb2FkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGdyb3VwOiBNZW1iZXJUZWFtKSA9PiByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGdyb3VwfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVUZWFtTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldFRlYW1MZWFkZXJUZWFtRXh0cmFNZW1iZXIocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQuaWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyOiBBY3Rpdml0eUV4dHJhTWVtYmVyKSA9PiByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldFRlYW1MZWFkZXJUZWFtTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlcjogTWVtYmVyVGVhbVRocm91Z2gpID0+IHJldHJpZXZlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZSh1cGRhdGVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZywgbWVtYmVyOiBNZW1iZXJUZWFtVGhyb3VnaH19KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLnVwZGF0ZVRlYW1MZWFkZXJUZWFtTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkLCBwYXlsb2FkLm1lbWJlcilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IE1lbWJlclRlYW1UaHJvdWdoKSA9PiB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YodXBkYXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3RlYW0uZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUNqQyx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBQ3hDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLGtDQUFrQyxFQUNsQyx5Q0FBeUMsRUFDekMseUNBQXlDLEVBQ3pDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsdUNBQXVDLEVBQ3ZDLDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLHFDQUFxQyxFQUNyQyw0Q0FBNEMsRUFDNUMsNENBQTRDLEVBQzVDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFDdEMsc0NBQXNDLEVBQ3RDLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsdUNBQXVDLEVBQ3ZDLG1DQUFtQyxFQUNuQywwQ0FBMEMsRUFDMUMsMENBQTBDLEVBQzFDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLDhCQUE4QixFQUM5QixxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBQ3BC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Q0YsQ0FDRixDQUNGLENBQUM7dUdBbk9TLFdBQVc7MkdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEFjdGl2aXR5RXh0cmFNZW1iZXIsIENvbGxlY3Rpb24sIExlYWRlckFjdGl2aXR5LCBNZW1iZXJUZWFtLCBNZW1iZXJUZWFtVGhyb3VnaCwgU2VhcmNoVGVhbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBkZWxldGVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uLFxuICBkZWxldGVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbixcbiAgZGVsZXRlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc0FjdGlvbixcbiAgbGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zRmFpbHVyZUFjdGlvbixcbiAgbGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zU3VjY2Vzc0FjdGlvbixcbiAgbGlzdExlYWRlck5vdGlmaWNhdGlvbnNBY3Rpb24sXG4gIGxpc3RMZWFkZXJOb3RpZmljYXRpb25zRmFpbHVyZUFjdGlvbixcbiAgbGlzdExlYWRlck5vdGlmaWNhdGlvbnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlclRlYW1zQWN0aW9uLFxuICBsaXN0TWVtYmVyVGVhbXNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyVGVhbXNTdWNjZXNzQWN0aW9uLFxuICBsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc0FjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNGYWlsdXJlQWN0aW9uLFxuICBsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RUZWFtTGVhZGVyTWVtYmVyc0FjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlckFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cFN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXJBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cEFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cFN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlck1lbWJlckFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgdXBkYXRlVGVhbUxlYWRlck1lbWJlckFjdGlvbixcbiAgdXBkYXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgZm9ya0pvaW4sIG1lcmdlTWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV4dHJhTWVtYmVyc01peGluIH0gZnJvbSAnLi9taXhpbnMvZXh0cmEtbWVtYmVycy1taXhpbic7XG5pbXBvcnQgeyBMZWFkZXJOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZWFtRWZmZWN0cyBleHRlbmRzIEV4dHJhTWVtYmVyc01peGluIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBsZWFkZXJOb3RpZmljYXRpb25TZXJ2aWNlID0gaW5qZWN0KExlYWRlck5vdGlmaWNhdGlvblNlcnZpY2UpO1xuXG4gIGRlbGV0ZVRlYW1NZW1iZXIkICA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoZGVsZXRlVGVhbUxlYWRlck1lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7dGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9fSkgPT4gdGhpcy50ZWFtU2VydmljZS5kZWxldGVUZWFtTGVhZGVyVGVhbU1lbWJlcihwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5pZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChzdWNjZXNzOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgICAgICByZXR1cm4gZGVsZXRlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHt0ZWFtSWQ6IHBheWxvYWQudGVhbUlkLCBpZDogcGF5bG9hZC5pZH19KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBkZWxldGVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbih7XG4gICAgICAgICAgICAgICAgcGF5bG9hZDogbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtzdGF0dXM6IDQwMH0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihkZWxldGVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtjbHViSWQ6IHN0cmluZywgbWVtYmVySWRzPzogQXJyYXk8c3RyaW5nPn19KSA9PlxuICAgICAgICB0aGlzLnRlYW1TZXJ2aWNlLmdldEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zKHBheWxvYWQuY2x1YklkLCBwYXlsb2FkLm1lbWJlcklkcyA/PyBbXSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgodGVhbXM6IENvbGxlY3Rpb248U2VhcmNoVGVhbT4pID0+IGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRlYW1zLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICAvLyBzd2l0Y2hNYXAgKG5vdCBleGhhdXN0TWFwKTogb24gYSBjb250ZXh0IHN3aXRjaCBhIHJlcXVlc3QgZm9yIHRoZSBQUkVWSU9VUyB0ZWFtXG4gIC8vIGNhbiBzdGlsbCBiZSBpbiBmbGlnaHQgd2hlbiB0aGUgbmV3IHRlYW0ncyByZXF1ZXN0IGlzIGRpc3BhdGNoZWQg4oCUIHRoZSBsYXRlc3RcbiAgLy8gZGlzcGF0Y2ggbXVzdCB3aW4gKGFuZCBjYW5jZWwgdGhlIHN0YWxlIG9uZSksIG9yIHRoZSBuZXcgY29udGV4dCBzaG93cyB0aGUgb2xkXG4gIC8vIHRlYW0ncyBub3RpZmljYXRpb25zLlxuICBsaXN0TGVhZGVyTm90aWZpY2F0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RMZWFkZXJOb3RpZmljYXRpb25zQWN0aW9uKSxcbiAgICAgIHN3aXRjaE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDogc3RyaW5nfSkgPT5cbiAgICAgICAgdGhpcy5sZWFkZXJOb3RpZmljYXRpb25TZXJ2aWNlLmdldExlYWRlck5vdGlmaWNhdGlvbnMocGF5bG9hZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoYWN0aXZpdGllczogQ29sbGVjdGlvbjxMZWFkZXJBY3Rpdml0eT4pID0+IGxpc3RMZWFkZXJOb3RpZmljYXRpb25zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYWN0aXZpdGllcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RMZWFkZXJOb3RpZmljYXRpb25zRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyVGVhbXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyVGVhbXNBY3Rpb24pLFxuICAgICAgbWVyZ2VNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IEFycmF5PHN0cmluZz59KSA9PlxuICAgICAgICBmb3JrSm9pbihwYXlsb2FkLm1hcCgoaWQ6IHN0cmluZykgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtcyhpZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgodGVhbXM6IENvbGxlY3Rpb248U2VhcmNoVGVhbT4pID0+ICh7aWQsIHRlYW1zOiB0ZWFtcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHtpZCwgZXJyb3J9KSlcbiAgICAgICAgICApXG4gICAgICAgICkpLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKHJlc3VsdHM6IEFycmF5PHtpZDogc3RyaW5nLCBlcnJvcj86IEh0dHBFcnJvclJlc3BvbnNlLCB0ZWFtcz86IEFycmF5PFNlYXJjaFRlYW0+fT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcnJheTxTZWFyY2hUZWFtPj4oKTtcbiAgICAgICAgICAgIGNvbnN0IGVycm9ycyA9IHJlc3VsdHMuZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQuZXJyb3IpO1xuICAgICAgICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKGxpc3RNZW1iZXJUZWFtc0ZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBlcnJvcnNbMF0uZXJyb3IgYXMgSHR0cEVycm9yUmVzcG9uc2UgfSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXN1bHRzLmZvckVhY2gocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdC50ZWFtcykge1xuICAgICAgICAgICAgICAgIHJlc3VsdE1hcC5zZXQocmVzdWx0LmlkLCByZXN1bHQudGVhbXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG9mKGxpc3RNZW1iZXJUZWFtc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHJlc3VsdE1hcH0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHsgcGF5bG9hZCB9OiB7IHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgaWQ6IHN0cmluZywgcTogc3RyaW5nIH0gfSkgPT5cbiAgICAgICAgdGhpcy5tZW1iZXJMZWFkZXJHZXRBbGxFeHRyYU1lbWJlcnMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChleHRyYU1lbWJlcnM6IEFycmF5PEFjdGl2aXR5RXh0cmFNZW1iZXI+KSA9PiBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2Vzc0FjdGlvbih7IHBheWxvYWQ6IGV4dHJhTWVtYmVycyB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNGYWlsdXJlQWN0aW9uKHsgcGF5bG9hZDogZXJyb3IgfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlckxlYWRlck1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaWQ6IHN0cmluZywgcTogc3RyaW5nfX0pID0+XG4gICAgICAgIHRoaXMubWVtYmVyTGVhZGVyR2V0YUFsbE1lbWJlcnMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZW1iZXJzOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4pID0+IGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyc30pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlckxlYWRlck1lbWJlcnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtTGVhZGVyR2V0QWxsRXh0cmFNZW1iZXJzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLnEpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGV4dHJhTWVtYmVyczogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4pID0+IGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2Vzc0FjdGlvbih7XG4gICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICB0ZWFtSWQ6IHBheWxvYWQudGVhbUlkLFxuICAgICAgICAgICAgICAgIHJlc3VsdHM6IGV4dHJhTWVtYmVyc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0VGVhbUxlYWRlck1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0VGVhbUxlYWRlck1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtTGVhZGVyR2V0QWxsTWVtYmVycyhwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZW1iZXJzOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4pID0+IGxpc3RUZWFtTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcnN9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtTGVhZGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBpZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGdyb3VwOiBNZW1iZXJUZWFtKSA9PiByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogZ3JvdXB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCB0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldE1lbWJlclRlYW1FeHRyYU1lbWJlcihwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5pZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IEFjdGl2aXR5RXh0cmFNZW1iZXIpID0+IHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJ9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9fSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtTWVtYmVyKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlcjogTWVtYmVyVGVhbVRocm91Z2gpID0+IHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbUxlYWRlckdyb3VwQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBzdHJpbmcgfSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRUZWFtTGVhZGVyVGVhbShwYXlsb2FkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGdyb3VwOiBNZW1iZXJUZWFtKSA9PiByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGdyb3VwfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVUZWFtTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldFRlYW1MZWFkZXJUZWFtRXh0cmFNZW1iZXIocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQuaWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyOiBBY3Rpdml0eUV4dHJhTWVtYmVyKSA9PiByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldFRlYW1MZWFkZXJUZWFtTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlcjogTWVtYmVyVGVhbVRocm91Z2gpID0+IHJldHJpZXZlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZSh1cGRhdGVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZywgbWVtYmVyOiBNZW1iZXJUZWFtVGhyb3VnaH19KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLnVwZGF0ZVRlYW1MZWFkZXJUZWFtTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkLCBwYXlsb2FkLm1lbWJlcilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IE1lbWJlclRlYW1UaHJvdWdoKSA9PiB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YodXBkYXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
|
|
@@ -2209,7 +2209,7 @@ const bookingCalendarFactory = (apiBookingCalendar) => new BookingCalendar(apiBo
|
|
|
2209
2209
|
|
|
2210
2210
|
const bookingCalendarApplicationTimeFactory = (apiBookingApplicationTime) => new BookingCalendarApplicationTime(apiBookingApplicationTime.id, apiBookingApplicationTime.section_id, apiBookingApplicationTime.slot_id, apiBookingApplicationTime.team_id, apiBookingApplicationTime.title, apiBookingApplicationTime.end_time, apiBookingApplicationTime.section_name, apiBookingApplicationTime.start_time, apiBookingApplicationTime.team_name, apiBookingApplicationTime.applicant_comment, apiBookingApplicationTime.reviewer_comment, apiBookingApplicationTime.status, apiBookingApplicationTime.repeat, apiBookingApplicationTime.activity_type_id, apiBookingApplicationTime.color, apiBookingApplicationTime.slot_start_time, apiBookingApplicationTime.slot_end_time, apiBookingApplicationTime.slot_day, apiBookingApplicationTime.slot_number_of_available_sessions, apiBookingApplicationTime.slot_last_repeating_date, apiBookingApplicationTime.created, apiBookingApplicationTime.bookable_zones_taken, apiBookingApplicationTime.bookable_zones_taken_display, apiBookingApplicationTime.bookable_part_id, apiBookingApplicationTime.bookable_part_name, apiBookingApplicationTime.bookable_id, apiBookingApplicationTime.bookable_name, apiBookingApplicationTime.member_id, apiBookingApplicationTime.member_name, apiBookingApplicationTime.member_email, apiBookingApplicationTime.price, false);
|
|
2211
2211
|
|
|
2212
|
-
const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.calendar_id);
|
|
2212
|
+
const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.split_batch_id, apiBookingSlotSession.calendar_id);
|
|
2213
2213
|
|
|
2214
2214
|
const bookingCalendarSlotFactory = (apiBookingSlot) => new BookingCalendarSlot(apiBookingSlot.id, apiBookingSlot.calendar_id, apiBookingSlot.calendar_status, apiBookingSlot.color, apiBookingSlot.day, apiBookingSlot.end_time, apiBookingSlot.group_id, apiBookingSlot.number_of_available_sessions, apiBookingSlot.sessions && apiBookingSlot.sessions.length ? apiBookingSlot.sessions.map((apiBookingSlotSession) => bookingCalendarSlotSessionFactory(apiBookingSlotSession)) : [], apiBookingSlot.open_sessions && apiBookingSlot.open_sessions.length ? apiBookingSlot.open_sessions.map((apiBookingSlotSession) => bookingCalendarSlotSessionFactory(apiBookingSlotSession)) : [], apiBookingSlot.start_time, apiBookingSlot.type, 'none', null, false, 6, format(new Date(), 'yyyy-MM-dd'), 'repeat_until', apiBookingSlot.reserved_time, apiBookingSlot.reserved_time_position, apiBookingSlot.application_times && apiBookingSlot.application_times.length ? apiBookingSlot.application_times.map((apiBookingApplicationTime) => bookingCalendarApplicationTimeFactory(apiBookingApplicationTime)) : [], apiBookingSlot.last_repeating_date, apiBookingSlot.bookable_name, apiBookingSlot.bookable_id, apiBookingSlot.price);
|
|
2215
2215
|
|
|
@@ -3293,8 +3293,8 @@ class BookingCalendar {
|
|
|
3293
3293
|
}
|
|
3294
3294
|
constructor(id, club_id, section_id, team_id, club_name, name, section_name, team_name, status, max_application_number, allow_team_export, allow_repeated_bookings, is_default, payment_limit_in_minutes = 0, price_per_slot = 0, send_team_application_created = true, send_team_application_updated = true, send_admin_team_booking_created = true, send_team_booking_created = true, send_team_booking_deleted = true, send_member_booking_created = true, send_member_booking_deleted = true, available_for_teams, bookable_items, type, type_display, member_fee_id, service_fee_id, info_email, saved_search_id,
|
|
3295
3295
|
// Read-only server-computed flags used to gate the fee UI:
|
|
3296
|
-
// can_use_fees - false when the calendar's section may not use invoices
|
|
3297
|
-
// club_has_direct_payments - false when the club has no direct-payment method
|
|
3296
|
+
// can_use_fees - false when the calendar's section may not use invoices
|
|
3297
|
+
// club_has_direct_payments - false when the club has no direct-payment method
|
|
3298
3298
|
// Default permissive so manually-constructed (new) calendars don't gate before the
|
|
3299
3299
|
// server response is available.
|
|
3300
3300
|
can_use_fees = true, club_has_direct_payments = true) {
|
|
@@ -3535,6 +3535,7 @@ class BookingCalendarSlotSession {
|
|
|
3535
3535
|
pay_until;
|
|
3536
3536
|
is_paid;
|
|
3537
3537
|
group_id;
|
|
3538
|
+
split_batch_id;
|
|
3538
3539
|
calendar_id;
|
|
3539
3540
|
static asFormGroup(session) {
|
|
3540
3541
|
return new FormGroup({
|
|
@@ -3558,7 +3559,7 @@ class BookingCalendarSlotSession {
|
|
|
3558
3559
|
member_id: new FormControl(session?.member_id || '')
|
|
3559
3560
|
});
|
|
3560
3561
|
}
|
|
3561
|
-
constructor(id, section_id, slot_id, team_id, title, end_time, section_name, start_time, team_name, is_overbooked, last_repeating_date, type, slot_index, comment, day, activity_type_id, color = null, update_dates = null, bookable_zones_taken, bookable_zones_taken_display, bookable_part_id, bookable_part_name, bookable_name, bookable_id, member_id, member_name, member_email, price = 0, payment_order_id, pay_until, is_paid, group_id, calendar_id) {
|
|
3562
|
+
constructor(id, section_id, slot_id, team_id, title, end_time, section_name, start_time, team_name, is_overbooked, last_repeating_date, type, slot_index, comment, day, activity_type_id, color = null, update_dates = null, bookable_zones_taken, bookable_zones_taken_display, bookable_part_id, bookable_part_name, bookable_name, bookable_id, member_id, member_name, member_email, price = 0, payment_order_id, pay_until, is_paid, group_id, split_batch_id, calendar_id) {
|
|
3562
3563
|
this.id = id;
|
|
3563
3564
|
this.section_id = section_id;
|
|
3564
3565
|
this.slot_id = slot_id;
|
|
@@ -3591,6 +3592,7 @@ class BookingCalendarSlotSession {
|
|
|
3591
3592
|
this.pay_until = pay_until;
|
|
3592
3593
|
this.is_paid = is_paid;
|
|
3593
3594
|
this.group_id = group_id;
|
|
3595
|
+
this.split_batch_id = split_batch_id;
|
|
3594
3596
|
this.calendar_id = calendar_id;
|
|
3595
3597
|
}
|
|
3596
3598
|
}
|
|
@@ -6576,6 +6578,7 @@ const MEMBER_BOOKING_CALENDAR_SLOT_SESSION_PATH = ':memberId/activities/sessions
|
|
|
6576
6578
|
const MEMBER_BOOKING_CALENDAR_SLOT_PATH = ':memberId/activities/slots/:id/';
|
|
6577
6579
|
const MEMBER_BOOKING_CALENDAR_SLOT_GROUP_PATH = ':memberId/activities/slots/:id/group/';
|
|
6578
6580
|
const MEMBER_BOOKING_CALENDAR_SESSION_GROUP_PATH = ':memberId/activities/sessions/:id/group/';
|
|
6581
|
+
const MEMBER_BOOKING_CALENDAR_SESSION_SPLIT_BATCH_PATH = ':memberId/activities/sessions/:id/split-batch/';
|
|
6579
6582
|
const MEMBER_BOOKING_CALENDAR_APPLICATION_TIMES_PATH = ':memberId/activities/application-times/';
|
|
6580
6583
|
const MEMBER_BOOKING_CALENDAR_APPLICATION_TIME_PATH = ':memberId/activities/application-times/:id/';
|
|
6581
6584
|
const MEMBER_BOOKING_CALENDAR_BOOKABLE_SLOTS_PATH = ':memberId/activities/bookables/:bookableId/slots/';
|
|
@@ -7404,6 +7407,19 @@ class BookingCalendarService {
|
|
|
7404
7407
|
getMemberSessionGroupItems(memberId, id) {
|
|
7405
7408
|
return this.apiService.getCollection(bookingCalendarSlotSessionGroupItemFactory, Role.MemberAdmin, MEMBER_BOOKING_CALENDAR_SESSION_GROUP_PATH, { memberId, id });
|
|
7406
7409
|
}
|
|
7410
|
+
// Cancel every session booked together with the given session (its split batch).
|
|
7411
|
+
// Only supported for members; other roles use the repeatable-delete flow.
|
|
7412
|
+
deleteSplitBatch(role, itemId, id, sendNotification = false) {
|
|
7413
|
+
switch (role) {
|
|
7414
|
+
case Role.MemberAdmin:
|
|
7415
|
+
return this.deleteMemberSplitBatch(itemId, id, sendNotification);
|
|
7416
|
+
default:
|
|
7417
|
+
throw invalidRoleError;
|
|
7418
|
+
}
|
|
7419
|
+
}
|
|
7420
|
+
deleteMemberSplitBatch(memberId, id, sendNotification = false) {
|
|
7421
|
+
return this.apiService.deleteResourceWithBody(Role.MemberAdmin, MEMBER_BOOKING_CALENDAR_SESSION_SPLIT_BATCH_PATH, { memberId, id }, { body: { send_notification: sendNotification } });
|
|
7422
|
+
}
|
|
7407
7423
|
// endregion
|
|
7408
7424
|
// region Booking Setting
|
|
7409
7425
|
getBookingSettings(role, itemId) {
|
|
@@ -9462,7 +9478,15 @@ class AuthEffects {
|
|
|
9462
9478
|
.pipe(mergeMap((oldAuth) => {
|
|
9463
9479
|
return this.storageService.setAsObservable(STORAGE_SELECTED_AUTH, payload)
|
|
9464
9480
|
.pipe(mergeMap((newAuth) => {
|
|
9465
|
-
|
|
9481
|
+
// Same context only when both are member contexts (a team pick always has
|
|
9482
|
+
// members: [], so an empty-length match must not count — it made every
|
|
9483
|
+
// team→team switch within a club skip the store clear and leak the previous
|
|
9484
|
+
// team's data, e.g. leader notifications) or both point at the same team.
|
|
9485
|
+
const sameMemberContext = !!(newAuth.members && newAuth.members.length > 0 &&
|
|
9486
|
+
newAuth.members.length === oldAuth?.members?.length);
|
|
9487
|
+
const sameTeamContext = !!(newAuth.teams && newAuth.teams.length > 0 &&
|
|
9488
|
+
oldAuth?.teams?.length === newAuth.teams.length && newAuth.teams[0].id === oldAuth.teams[0].id);
|
|
9489
|
+
if (oldAuth && newAuth.id === oldAuth.id && (sameMemberContext || sameTeamContext)) {
|
|
9466
9490
|
return [
|
|
9467
9491
|
getCurrentAuthSuccessAction({ payload: newAuth })
|
|
9468
9492
|
];
|
|
@@ -10652,8 +10676,12 @@ class TeamEffects extends ExtraMembersMixin {
|
|
|
10652
10676
|
listGenerallyAvailableTeams$ = createEffect(() => this.actions$
|
|
10653
10677
|
.pipe(ofType(listGenerallyAvailableTeamsAction), exhaustMap(({ payload }) => this.teamService.getGenerallyAvailableTeams(payload.clubId, payload.memberIds ?? [])
|
|
10654
10678
|
.pipe(map((teams) => listGenerallyAvailableTeamsSuccessAction({ payload: teams.toArray() })), catchError((error) => of(listGenerallyAvailableTeamsFailureAction({ payload: error })))))));
|
|
10679
|
+
// switchMap (not exhaustMap): on a context switch a request for the PREVIOUS team
|
|
10680
|
+
// can still be in flight when the new team's request is dispatched — the latest
|
|
10681
|
+
// dispatch must win (and cancel the stale one), or the new context shows the old
|
|
10682
|
+
// team's notifications.
|
|
10655
10683
|
listLeaderNotifications$ = createEffect(() => this.actions$
|
|
10656
|
-
.pipe(ofType(listLeaderNotificationsAction),
|
|
10684
|
+
.pipe(ofType(listLeaderNotificationsAction), switchMap$1(({ payload }) => this.leaderNotificationService.getLeaderNotifications(payload)
|
|
10657
10685
|
.pipe(map((activities) => listLeaderNotificationsSuccessAction({ payload: activities.toArray() })), catchError((error) => of(listLeaderNotificationsFailureAction({ payload: error })))))));
|
|
10658
10686
|
listMemberTeams$ = createEffect(() => this.actions$
|
|
10659
10687
|
.pipe(ofType(listMemberTeamsAction), mergeMap(({ payload }) => forkJoin(payload.map((id) => this.teamService.getMemberTeams(id)
|